您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
一个呼吸顺畅的 linux.do 论坛
当前为
- // ==UserScript==
- // @name linuxdo-next
- // @namespace linuxdo-next
- // @version 0.1.0
- // @author delph1s
- // @description 一个呼吸顺畅的 linux.do 论坛
- // @license GPLv2
- // @iconURL https://cdn.linux.do/uploads/default/original/1X/3a18b4b0da3e8cf96f7eea15241c3d251f28a39b.png
- // @homepageURL https://github.com/delph1s/linuxdo-next
- // @match *://linux.do/
- // @match *://linux.do/*
- // @require https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.production.min.js
- // @require https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.production.min.js
- // @grant GM_addStyle
- // @run-at document-end
- // ==/UserScript==
- (n=>{if(typeof GM_addStyle=="function"){GM_addStyle(n);return}const t=document.createElement("style");t.textContent=n,document.head.append(t)})(' :export{appName:"linuxdo-next";pluginContainer:linuxdo-next-container;pandoraButton:linuxdo-next-pandora-next}#linuxdo-next-container{left:0;font-size:12px}.linuxdo-next-pandora-next{position:fixed;right:1rem;bottom:1rem;z-index:9999} ');
- (function (React, ReactDOM__default) {
- 'use strict';
- function _interopNamespaceDefault(e) {
- const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
- if (e) {
- for (const k in e) {
- if (k !== 'default') {
- const d = Object.getOwnPropertyDescriptor(e, k);
- Object.defineProperty(n, k, d.get ? d : {
- enumerable: true,
- get: () => e[k]
- });
- }
- }
- }
- n.default = e;
- return Object.freeze(n);
- }
- const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
- const ReactDOM__default__namespace = /*#__PURE__*/_interopNamespaceDefault(ReactDOM__default);
- var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
- function getDefaultExportFromCjs(x2) {
- return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
- }
- function getAugmentedNamespace(n2) {
- if (n2.__esModule)
- return n2;
- var f2 = n2.default;
- if (typeof f2 == "function") {
- var a = function a2() {
- if (this instanceof a2) {
- return Reflect.construct(f2, arguments, this.constructor);
- }
- return f2.apply(this, arguments);
- };
- a.prototype = f2.prototype;
- } else
- a = {};
- Object.defineProperty(a, "__esModule", { value: true });
- Object.keys(n2).forEach(function(k2) {
- var d2 = Object.getOwnPropertyDescriptor(n2, k2);
- Object.defineProperty(a, k2, d2.get ? d2 : {
- enumerable: true,
- get: function() {
- return n2[k2];
- }
- });
- });
- return a;
- }
- var jsxRuntime = { exports: {} };
- var reactJsxRuntime_production_min = {};
- /**
- * @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 f$2 = React, k$2 = Symbol.for("react.element"), l$2 = Symbol.for("react.fragment"), m$3 = Object.prototype.hasOwnProperty, n$2 = f$2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p$2 = { key: true, ref: true, __self: true, __source: true };
- function q$2(c2, a, g2) {
- var b2, d2 = {}, e2 = null, h2 = null;
- void 0 !== g2 && (e2 = "" + g2);
- void 0 !== a.key && (e2 = "" + a.key);
- void 0 !== a.ref && (h2 = a.ref);
- for (b2 in a)
- m$3.call(a, b2) && !p$2.hasOwnProperty(b2) && (d2[b2] = a[b2]);
- if (c2 && c2.defaultProps)
- for (b2 in a = c2.defaultProps, a)
- void 0 === d2[b2] && (d2[b2] = a[b2]);
- return { $$typeof: k$2, type: c2, key: e2, ref: h2, props: d2, _owner: n$2.current };
- }
- reactJsxRuntime_production_min.Fragment = l$2;
- reactJsxRuntime_production_min.jsx = q$2;
- reactJsxRuntime_production_min.jsxs = q$2;
- {
- jsxRuntime.exports = reactJsxRuntime_production_min;
- }
- var jsxRuntimeExports = jsxRuntime.exports;
- const appName = '"linuxdo-next"';
- const pluginContainer = "linuxdo-next-container";
- const pandoraButton = "linuxdo-next-pandora-next";
- const styles$1 = {
- appName,
- pluginContainer,
- pandoraButton
- };
- var client = {};
- var m$2 = ReactDOM__default;
- {
- client.createRoot = m$2.createRoot;
- client.hydrateRoot = m$2.hydrateRoot;
- }
- const uiConfig = {
- pandoraDrawerWidth: "280px",
- pandoraDrawerMinHeight: "50%",
- pandoraDrawerMaxHeight: "70%"
- };
- const filterForwardProps = (targetProp, excludeProps) => excludeProps.indexOf(targetProp) === -1;
- function _objectWithoutPropertiesLoose(source, excluded) {
- if (source == null)
- return {};
- var target = {};
- var sourceKeys = Object.keys(source);
- var key, i;
- for (i = 0; i < sourceKeys.length; i++) {
- key = sourceKeys[i];
- if (excluded.indexOf(key) >= 0)
- continue;
- target[key] = source[key];
- }
- return target;
- }
- function _extends$1() {
- _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
- }
- return target;
- };
- return _extends$1.apply(this, arguments);
- }
- function r$1(e2) {
- var t2, f2, n2 = "";
- if ("string" == typeof e2 || "number" == typeof e2)
- n2 += e2;
- else if ("object" == typeof e2)
- if (Array.isArray(e2)) {
- var o = e2.length;
- for (t2 = 0; t2 < o; t2++)
- e2[t2] && (f2 = r$1(e2[t2])) && (n2 && (n2 += " "), n2 += f2);
- } else
- for (f2 in e2)
- e2[f2] && (n2 && (n2 += " "), n2 += f2);
- return n2;
- }
- function clsx() {
- for (var e2, t2, f2 = 0, n2 = "", o = arguments.length; f2 < o; f2++)
- (e2 = arguments[f2]) && (t2 = r$1(e2)) && (n2 && (n2 += " "), n2 += t2);
- return n2;
- }
- function resolveProps(defaultProps2, props) {
- const output = _extends$1({}, props);
- Object.keys(defaultProps2).forEach((propName) => {
- if (propName.toString().match(/^(components|slots)$/)) {
- output[propName] = _extends$1({}, defaultProps2[propName], output[propName]);
- } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {
- const defaultSlotProps = defaultProps2[propName] || {};
- const slotProps = props[propName];
- output[propName] = {};
- if (!slotProps || !Object.keys(slotProps)) {
- output[propName] = defaultSlotProps;
- } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {
- output[propName] = slotProps;
- } else {
- output[propName] = _extends$1({}, slotProps);
- Object.keys(defaultSlotProps).forEach((slotPropName) => {
- output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);
- });
- }
- } else if (output[propName] === void 0) {
- output[propName] = defaultProps2[propName];
- }
- });
- return output;
- }
- function composeClasses(slots, getUtilityClass, classes = void 0) {
- const output = {};
- Object.keys(slots).forEach(
- // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.
- // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208
- (slot) => {
- output[slot] = slots[slot].reduce((acc, key) => {
- if (key) {
- const utilityClass = getUtilityClass(key);
- if (utilityClass !== "") {
- acc.push(utilityClass);
- }
- if (classes && classes[key]) {
- acc.push(classes[key]);
- }
- }
- return acc;
- }, []).join(" ");
- }
- );
- return output;
- }
- var colorManipulator = {};
- var interopRequireDefault = { exports: {} };
- (function(module) {
- function _interopRequireDefault2(obj) {
- return obj && obj.__esModule ? obj : {
- "default": obj
- };
- }
- module.exports = _interopRequireDefault2, module.exports.__esModule = true, module.exports["default"] = module.exports;
- })(interopRequireDefault);
- var interopRequireDefaultExports = interopRequireDefault.exports;
- function formatMuiErrorMessage$1(code) {
- let url = "https://mui.com/production-error/?code=" + code;
- for (let i = 1; i < arguments.length; i += 1) {
- url += "&args[]=" + encodeURIComponent(arguments[i]);
- }
- return "Minified MUI error #" + code + "; visit " + url + " for the full message.";
- }
- const formatMuiErrorMessage = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
- __proto__: null,
- default: formatMuiErrorMessage$1
- }, Symbol.toStringTag, { value: "Module" }));
- const require$$1$1 = /* @__PURE__ */ getAugmentedNamespace(formatMuiErrorMessage);
- function clamp$1(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
- return Math.max(min, Math.min(val, max));
- }
- const clamp = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
- __proto__: null,
- default: clamp$1
- }, Symbol.toStringTag, { value: "Module" }));
- const require$$2 = /* @__PURE__ */ getAugmentedNamespace(clamp);
- var _interopRequireDefault$1 = interopRequireDefaultExports;
- Object.defineProperty(colorManipulator, "__esModule", {
- value: true
- });
- var alpha_1 = colorManipulator.alpha = alpha;
- colorManipulator.blend = blend;
- colorManipulator.colorChannel = void 0;
- var darken_1 = colorManipulator.darken = darken;
- colorManipulator.decomposeColor = decomposeColor;
- colorManipulator.emphasize = emphasize;
- var getContrastRatio_1 = colorManipulator.getContrastRatio = getContrastRatio;
- colorManipulator.getLuminance = getLuminance;
- colorManipulator.hexToRgb = hexToRgb;
- colorManipulator.hslToRgb = hslToRgb;
- var lighten_1 = colorManipulator.lighten = lighten;
- colorManipulator.private_safeAlpha = private_safeAlpha;
- colorManipulator.private_safeColorChannel = void 0;
- colorManipulator.private_safeDarken = private_safeDarken;
- colorManipulator.private_safeEmphasize = private_safeEmphasize;
- colorManipulator.private_safeLighten = private_safeLighten;
- colorManipulator.recomposeColor = recomposeColor;
- colorManipulator.rgbToHex = rgbToHex;
- var _formatMuiErrorMessage2 = _interopRequireDefault$1(require$$1$1);
- var _clamp = _interopRequireDefault$1(require$$2);
- function clampWrapper(value, min = 0, max = 1) {
- return (0, _clamp.default)(value, min, max);
- }
- function hexToRgb(color2) {
- color2 = color2.slice(1);
- const re = new RegExp(`.{1,${color2.length >= 6 ? 2 : 1}}`, "g");
- let colors = color2.match(re);
- if (colors && colors[0].length === 1) {
- colors = colors.map((n2) => n2 + n2);
- }
- return colors ? `rgb${colors.length === 4 ? "a" : ""}(${colors.map((n2, index) => {
- return index < 3 ? parseInt(n2, 16) : Math.round(parseInt(n2, 16) / 255 * 1e3) / 1e3;
- }).join(", ")})` : "";
- }
- function intToHex(int) {
- const hex = int.toString(16);
- return hex.length === 1 ? `0${hex}` : hex;
- }
- function decomposeColor(color2) {
- if (color2.type) {
- return color2;
- }
- if (color2.charAt(0) === "#") {
- return decomposeColor(hexToRgb(color2));
- }
- const marker = color2.indexOf("(");
- const type = color2.substring(0, marker);
- if (["rgb", "rgba", "hsl", "hsla", "color"].indexOf(type) === -1) {
- throw new Error((0, _formatMuiErrorMessage2.default)(9, color2));
- }
- let values2 = color2.substring(marker + 1, color2.length - 1);
- let colorSpace;
- if (type === "color") {
- values2 = values2.split(" ");
- colorSpace = values2.shift();
- if (values2.length === 4 && values2[3].charAt(0) === "/") {
- values2[3] = values2[3].slice(1);
- }
- if (["srgb", "display-p3", "a98-rgb", "prophoto-rgb", "rec-2020"].indexOf(colorSpace) === -1) {
- throw new Error((0, _formatMuiErrorMessage2.default)(10, colorSpace));
- }
- } else {
- values2 = values2.split(",");
- }
- values2 = values2.map((value) => parseFloat(value));
- return {
- type,
- values: values2,
- colorSpace
- };
- }
- const colorChannel = (color2) => {
- const decomposedColor = decomposeColor(color2);
- return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf("hsl") !== -1 && idx !== 0 ? `${val}%` : val).join(" ");
- };
- colorManipulator.colorChannel = colorChannel;
- const private_safeColorChannel = (color2, warning) => {
- try {
- return colorChannel(color2);
- } catch (error) {
- if (warning && false) {
- console.warn(warning);
- }
- return color2;
- }
- };
- colorManipulator.private_safeColorChannel = private_safeColorChannel;
- function recomposeColor(color2) {
- const {
- type,
- colorSpace
- } = color2;
- let {
- values: values2
- } = color2;
- if (type.indexOf("rgb") !== -1) {
- values2 = values2.map((n2, i) => i < 3 ? parseInt(n2, 10) : n2);
- } else if (type.indexOf("hsl") !== -1) {
- values2[1] = `${values2[1]}%`;
- values2[2] = `${values2[2]}%`;
- }
- if (type.indexOf("color") !== -1) {
- values2 = `${colorSpace} ${values2.join(" ")}`;
- } else {
- values2 = `${values2.join(", ")}`;
- }
- return `${type}(${values2})`;
- }
- function rgbToHex(color2) {
- if (color2.indexOf("#") === 0) {
- return color2;
- }
- const {
- values: values2
- } = decomposeColor(color2);
- return `#${values2.map((n2, i) => intToHex(i === 3 ? Math.round(255 * n2) : n2)).join("")}`;
- }
- function hslToRgb(color2) {
- color2 = decomposeColor(color2);
- const {
- values: values2
- } = color2;
- const h2 = values2[0];
- const s = values2[1] / 100;
- const l2 = values2[2] / 100;
- const a = s * Math.min(l2, 1 - l2);
- const f2 = (n2, k2 = (n2 + h2 / 30) % 12) => l2 - a * Math.max(Math.min(k2 - 3, 9 - k2, 1), -1);
- let type = "rgb";
- const rgb = [Math.round(f2(0) * 255), Math.round(f2(8) * 255), Math.round(f2(4) * 255)];
- if (color2.type === "hsla") {
- type += "a";
- rgb.push(values2[3]);
- }
- return recomposeColor({
- type,
- values: rgb
- });
- }
- function getLuminance(color2) {
- color2 = decomposeColor(color2);
- let rgb = color2.type === "hsl" || color2.type === "hsla" ? decomposeColor(hslToRgb(color2)).values : color2.values;
- rgb = rgb.map((val) => {
- if (color2.type !== "color") {
- val /= 255;
- }
- return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;
- });
- return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));
- }
- function getContrastRatio(foreground, background) {
- const lumA = getLuminance(foreground);
- const lumB = getLuminance(background);
- return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);
- }
- function alpha(color2, value) {
- color2 = decomposeColor(color2);
- value = clampWrapper(value);
- if (color2.type === "rgb" || color2.type === "hsl") {
- color2.type += "a";
- }
- if (color2.type === "color") {
- color2.values[3] = `/${value}`;
- } else {
- color2.values[3] = value;
- }
- return recomposeColor(color2);
- }
- function private_safeAlpha(color2, value, warning) {
- try {
- return alpha(color2, value);
- } catch (error) {
- if (warning && false) {
- console.warn(warning);
- }
- return color2;
- }
- }
- function darken(color2, coefficient) {
- color2 = decomposeColor(color2);
- coefficient = clampWrapper(coefficient);
- if (color2.type.indexOf("hsl") !== -1) {
- color2.values[2] *= 1 - coefficient;
- } else if (color2.type.indexOf("rgb") !== -1 || color2.type.indexOf("color") !== -1) {
- for (let i = 0; i < 3; i += 1) {
- color2.values[i] *= 1 - coefficient;
- }
- }
- return recomposeColor(color2);
- }
- function private_safeDarken(color2, coefficient, warning) {
- try {
- return darken(color2, coefficient);
- } catch (error) {
- if (warning && false) {
- console.warn(warning);
- }
- return color2;
- }
- }
- function lighten(color2, coefficient) {
- color2 = decomposeColor(color2);
- coefficient = clampWrapper(coefficient);
- if (color2.type.indexOf("hsl") !== -1) {
- color2.values[2] += (100 - color2.values[2]) * coefficient;
- } else if (color2.type.indexOf("rgb") !== -1) {
- for (let i = 0; i < 3; i += 1) {
- color2.values[i] += (255 - color2.values[i]) * coefficient;
- }
- } else if (color2.type.indexOf("color") !== -1) {
- for (let i = 0; i < 3; i += 1) {
- color2.values[i] += (1 - color2.values[i]) * coefficient;
- }
- }
- return recomposeColor(color2);
- }
- function private_safeLighten(color2, coefficient, warning) {
- try {
- return lighten(color2, coefficient);
- } catch (error) {
- if (warning && false) {
- console.warn(warning);
- }
- return color2;
- }
- }
- function emphasize(color2, coefficient = 0.15) {
- return getLuminance(color2) > 0.5 ? darken(color2, coefficient) : lighten(color2, coefficient);
- }
- function private_safeEmphasize(color2, coefficient, warning) {
- try {
- return private_safeEmphasize(color2, coefficient);
- } catch (error) {
- if (warning && false) {
- console.warn(warning);
- }
- return color2;
- }
- }
- function blend(background, overlay, opacity, gamma = 1) {
- const blendChannel = (b2, o) => Math.round((b2 ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);
- const backgroundColor2 = decomposeColor(background);
- const overlayColor = decomposeColor(overlay);
- const rgb = [blendChannel(backgroundColor2.values[0], overlayColor.values[0]), blendChannel(backgroundColor2.values[1], overlayColor.values[1]), blendChannel(backgroundColor2.values[2], overlayColor.values[2])];
- return recomposeColor({
- type: "rgb",
- values: rgb
- });
- }
- var createStyled$2 = {};
- var _extends = { exports: {} };
- var hasRequired_extends;
- function require_extends() {
- if (hasRequired_extends)
- return _extends.exports;
- hasRequired_extends = 1;
- (function(module) {
- function _extends3() {
- module.exports = _extends3 = Object.assign ? Object.assign.bind() : function(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
- }
- return target;
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
- return _extends3.apply(this, arguments);
- }
- module.exports = _extends3, module.exports.__esModule = true, module.exports["default"] = module.exports;
- })(_extends);
- return _extends.exports;
- }
- var objectWithoutPropertiesLoose = { exports: {} };
- var hasRequiredObjectWithoutPropertiesLoose;
- function requireObjectWithoutPropertiesLoose() {
- if (hasRequiredObjectWithoutPropertiesLoose)
- return objectWithoutPropertiesLoose.exports;
- hasRequiredObjectWithoutPropertiesLoose = 1;
- (function(module) {
- function _objectWithoutPropertiesLoose3(source, excluded) {
- if (source == null)
- return {};
- var target = {};
- var sourceKeys = Object.keys(source);
- var key, i;
- for (i = 0; i < sourceKeys.length; i++) {
- key = sourceKeys[i];
- if (excluded.indexOf(key) >= 0)
- continue;
- target[key] = source[key];
- }
- return target;
- }
- module.exports = _objectWithoutPropertiesLoose3, module.exports.__esModule = true, module.exports["default"] = module.exports;
- })(objectWithoutPropertiesLoose);
- return objectWithoutPropertiesLoose.exports;
- }
- function memoize$1(fn) {
- var cache2 = /* @__PURE__ */ Object.create(null);
- return function(arg) {
- if (cache2[arg] === void 0)
- cache2[arg] = fn(arg);
- return cache2[arg];
- };
- }
- var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
- var isPropValid = /* @__PURE__ */ memoize$1(
- function(prop) {
- return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
- }
- /* Z+1 */
- );
- function sheetForTag(tag) {
- if (tag.sheet) {
- return tag.sheet;
- }
- for (var i = 0; i < document.styleSheets.length; i++) {
- if (document.styleSheets[i].ownerNode === tag) {
- return document.styleSheets[i];
- }
- }
- }
- function createStyleElement(options) {
- var tag = document.createElement("style");
- tag.setAttribute("data-emotion", options.key);
- if (options.nonce !== void 0) {
- tag.setAttribute("nonce", options.nonce);
- }
- tag.appendChild(document.createTextNode(""));
- tag.setAttribute("data-s", "");
- return tag;
- }
- var StyleSheet = /* @__PURE__ */ function() {
- function StyleSheet2(options) {
- var _this = this;
- this._insertTag = function(tag) {
- var before;
- if (_this.tags.length === 0) {
- if (_this.insertionPoint) {
- before = _this.insertionPoint.nextSibling;
- } else if (_this.prepend) {
- before = _this.container.firstChild;
- } else {
- before = _this.before;
- }
- } else {
- before = _this.tags[_this.tags.length - 1].nextSibling;
- }
- _this.container.insertBefore(tag, before);
- _this.tags.push(tag);
- };
- this.isSpeedy = options.speedy === void 0 ? true : options.speedy;
- this.tags = [];
- this.ctr = 0;
- this.nonce = options.nonce;
- this.key = options.key;
- this.container = options.container;
- this.prepend = options.prepend;
- this.insertionPoint = options.insertionPoint;
- this.before = null;
- }
- var _proto = StyleSheet2.prototype;
- _proto.hydrate = function hydrate(nodes) {
- nodes.forEach(this._insertTag);
- };
- _proto.insert = function insert(rule) {
- if (this.ctr % (this.isSpeedy ? 65e3 : 1) === 0) {
- this._insertTag(createStyleElement(this));
- }
- var tag = this.tags[this.tags.length - 1];
- if (this.isSpeedy) {
- var sheet = sheetForTag(tag);
- try {
- sheet.insertRule(rule, sheet.cssRules.length);
- } catch (e2) {
- }
- } else {
- tag.appendChild(document.createTextNode(rule));
- }
- this.ctr++;
- };
- _proto.flush = function flush() {
- this.tags.forEach(function(tag) {
- return tag.parentNode && tag.parentNode.removeChild(tag);
- });
- this.tags = [];
- this.ctr = 0;
- };
- return StyleSheet2;
- }();
- var MS = "-ms-";
- var MOZ = "-moz-";
- var WEBKIT = "-webkit-";
- var COMMENT = "comm";
- var RULESET = "rule";
- var DECLARATION = "decl";
- var IMPORT = "@import";
- var KEYFRAMES = "@keyframes";
- var LAYER = "@layer";
- var abs = Math.abs;
- var from = String.fromCharCode;
- var assign = Object.assign;
- function hash(value, length2) {
- return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0;
- }
- function trim(value) {
- return value.trim();
- }
- function match(value, pattern) {
- return (value = pattern.exec(value)) ? value[0] : value;
- }
- function replace(value, pattern, replacement) {
- return value.replace(pattern, replacement);
- }
- function indexof(value, search) {
- return value.indexOf(search);
- }
- function charat(value, index) {
- return value.charCodeAt(index) | 0;
- }
- function substr(value, begin, end) {
- return value.slice(begin, end);
- }
- function strlen(value) {
- return value.length;
- }
- function sizeof(value) {
- return value.length;
- }
- function append(value, array) {
- return array.push(value), value;
- }
- function combine(array, callback) {
- return array.map(callback).join("");
- }
- var line = 1;
- var column = 1;
- var length = 0;
- var position = 0;
- var character = 0;
- var characters = "";
- function node(value, root2, parent, type, props, children, length2) {
- return { value, root: root2, parent, type, props, children, line, column, length: length2, return: "" };
- }
- function copy(root2, props) {
- return assign(node("", null, null, "", null, null, 0), root2, { length: -root2.length }, props);
- }
- function char() {
- return character;
- }
- function prev() {
- character = position > 0 ? charat(characters, --position) : 0;
- if (column--, character === 10)
- column = 1, line--;
- return character;
- }
- function next() {
- character = position < length ? charat(characters, position++) : 0;
- if (column++, character === 10)
- column = 1, line++;
- return character;
- }
- function peek() {
- return charat(characters, position);
- }
- function caret() {
- return position;
- }
- function slice(begin, end) {
- return substr(characters, begin, end);
- }
- function token(type) {
- switch (type) {
- 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 alloc(value) {
- return line = column = 1, length = strlen(characters = value), position = 0, [];
- }
- function dealloc(value) {
- return characters = "", value;
- }
- function delimit(type) {
- return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)));
- }
- function whitespace(type) {
- while (character = peek())
- if (character < 33)
- next();
- else
- break;
- return token(type) > 2 || token(character) > 3 ? "" : " ";
- }
- function escaping(index, count) {
- while (--count && next())
- if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)
- break;
- return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32));
- }
- function delimiter(type) {
- while (next())
- switch (character) {
- case type:
- return position;
- case 34:
- case 39:
- if (type !== 34 && type !== 39)
- delimiter(character);
- break;
- case 40:
- if (type === 41)
- delimiter(type);
- break;
- case 92:
- next();
- break;
- }
- return position;
- }
- function commenter(type, index) {
- while (next())
- if (type + character === 47 + 10)
- break;
- else if (type + character === 42 + 42 && peek() === 47)
- break;
- return "/*" + slice(index, position - 1) + "*" + from(type === 47 ? type : next());
- }
- function identifier(index) {
- while (!token(peek()))
- next();
- return slice(index, position);
- }
- function compile(value) {
- return dealloc(parse("", null, null, null, [""], value = alloc(value), 0, [0], value));
- }
- function parse(value, root2, parent, rule, rules, rulesets, pseudo, points, declarations) {
- var index = 0;
- var offset = 0;
- var length2 = pseudo;
- var atrule = 0;
- var property = 0;
- var previous = 0;
- var variable = 1;
- var scanning = 1;
- var ampersand = 1;
- var character2 = 0;
- var type = "";
- var props = rules;
- var children = rulesets;
- var reference = rule;
- var characters2 = type;
- while (scanning)
- switch (previous = character2, character2 = next()) {
- case 40:
- if (previous != 108 && charat(characters2, length2 - 1) == 58) {
- if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f") != -1)
- ampersand = -1;
- break;
- }
- case 34:
- case 39:
- case 91:
- characters2 += delimit(character2);
- break;
- case 9:
- case 10:
- case 13:
- case 32:
- characters2 += whitespace(previous);
- break;
- case 92:
- characters2 += escaping(caret() - 1, 7);
- continue;
- case 47:
- switch (peek()) {
- case 42:
- case 47:
- append(comment(commenter(next(), caret()), root2, parent), declarations);
- break;
- default:
- characters2 += "/";
- }
- break;
- case 123 * variable:
- points[index++] = strlen(characters2) * ampersand;
- case 125 * variable:
- case 59:
- case 0:
- switch (character2) {
- case 0:
- case 125:
- scanning = 0;
- case 59 + offset:
- if (ampersand == -1)
- characters2 = replace(characters2, /\f/g, "");
- if (property > 0 && strlen(characters2) - length2)
- append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2), declarations);
- break;
- case 59:
- characters2 += ";";
- default:
- append(reference = ruleset(characters2, root2, parent, index, offset, rules, points, type, props = [], children = [], length2), rulesets);
- if (character2 === 123)
- if (offset === 0)
- parse(characters2, root2, reference, reference, props, rulesets, length2, points, children);
- else
- switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {
- case 100:
- case 108:
- case 109:
- case 115:
- parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length2), children), rules, children, length2, points, rule ? props : children);
- break;
- default:
- parse(characters2, reference, reference, reference, [""], children, 0, points, children);
- }
- }
- index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo;
- break;
- case 58:
- length2 = 1 + strlen(characters2), property = previous;
- default:
- if (variable < 1) {
- if (character2 == 123)
- --variable;
- else if (character2 == 125 && variable++ == 0 && prev() == 125)
- continue;
- }
- switch (characters2 += from(character2), character2 * variable) {
- case 38:
- ampersand = offset > 0 ? 1 : (characters2 += "\f", -1);
- break;
- case 44:
- points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
- break;
- case 64:
- if (peek() === 45)
- characters2 += delimit(next());
- atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++;
- break;
- case 45:
- if (previous === 45 && strlen(characters2) == 2)
- variable = 0;
- }
- }
- return rulesets;
- }
- function ruleset(value, root2, parent, index, offset, rules, points, type, props, children, length2) {
- var post = offset - 1;
- var rule = offset === 0 ? rules : [""];
- var size = sizeof(rule);
- for (var i = 0, j = 0, k2 = 0; i < index; ++i)
- for (var x2 = 0, y2 = substr(value, post + 1, post = abs(j = points[i])), z2 = value; x2 < size; ++x2)
- if (z2 = trim(j > 0 ? rule[x2] + " " + y2 : replace(y2, /&\f/g, rule[x2])))
- props[k2++] = z2;
- return node(value, root2, parent, offset === 0 ? RULESET : type, props, children, length2);
- }
- function comment(value, root2, parent) {
- return node(value, root2, parent, COMMENT, from(char()), substr(value, 2, -2), 0);
- }
- function declaration(value, root2, parent, length2) {
- return node(value, root2, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2);
- }
- function serialize(children, callback) {
- var output = "";
- var length2 = sizeof(children);
- for (var i = 0; i < length2; i++)
- output += callback(children[i], i, children, callback) || "";
- return output;
- }
- function stringify(element, index, children, callback) {
- switch (element.type) {
- case LAYER:
- if (element.children.length)
- break;
- case IMPORT:
- case DECLARATION:
- return element.return = element.return || element.value;
- case COMMENT:
- return "";
- case KEYFRAMES:
- return element.return = element.value + "{" + serialize(element.children, callback) + "}";
- case RULESET:
- element.value = element.props.join(",");
- }
- return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
- }
- function middleware(collection) {
- var length2 = sizeof(collection);
- return function(element, index, children, callback) {
- var output = "";
- for (var i = 0; i < length2; i++)
- output += collection[i](element, index, children, callback) || "";
- return output;
- };
- }
- function rulesheet(callback) {
- return function(element) {
- if (!element.root) {
- if (element = element.return)
- callback(element);
- }
- };
- }
- var identifierWithPointTracking = function identifierWithPointTracking2(begin, points, index) {
- var previous = 0;
- var character2 = 0;
- while (true) {
- previous = character2;
- character2 = peek();
- if (previous === 38 && character2 === 12) {
- points[index] = 1;
- }
- if (token(character2)) {
- break;
- }
- next();
- }
- return slice(begin, position);
- };
- var toRules = function toRules2(parsed, points) {
- var index = -1;
- var character2 = 44;
- do {
- switch (token(character2)) {
- case 0:
- if (character2 === 38 && peek() === 12) {
- points[index] = 1;
- }
- parsed[index] += identifierWithPointTracking(position - 1, points, index);
- break;
- case 2:
- parsed[index] += delimit(character2);
- break;
- case 4:
- if (character2 === 44) {
- parsed[++index] = peek() === 58 ? "&\f" : "";
- points[index] = parsed[index].length;
- break;
- }
- default:
- parsed[index] += from(character2);
- }
- } while (character2 = next());
- return parsed;
- };
- var getRules = function getRules2(value, points) {
- return dealloc(toRules(alloc(value), points));
- };
- var fixedElements = /* @__PURE__ */ new WeakMap();
- var compat = function compat2(element) {
- if (element.type !== "rule" || !element.parent || // positive .length indicates that this rule contains pseudo
- // negative .length indicates that this rule has been already prefixed
- element.length < 1) {
- return;
- }
- var value = element.value, parent = element.parent;
- var isImplicitRule = element.column === parent.column && element.line === parent.line;
- while (parent.type !== "rule") {
- parent = parent.parent;
- if (!parent)
- return;
- }
- if (element.props.length === 1 && value.charCodeAt(0) !== 58 && !fixedElements.get(parent)) {
- return;
- }
- if (isImplicitRule) {
- return;
- }
- fixedElements.set(element, true);
- var points = [];
- var rules = getRules(value, points);
- var parentRules = parent.props;
- for (var i = 0, k2 = 0; i < rules.length; i++) {
- for (var j = 0; j < parentRules.length; j++, k2++) {
- element.props[k2] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i];
- }
- }
- };
- var removeLabel = function removeLabel2(element) {
- if (element.type === "decl") {
- var value = element.value;
- if (
- // charcode for l
- value.charCodeAt(0) === 108 && // charcode for b
- value.charCodeAt(2) === 98
- ) {
- element["return"] = "";
- element.value = "";
- }
- }
- };
- function prefix(value, length2) {
- switch (hash(value, length2)) {
- case 5103:
- return WEBKIT + "print-" + value + value;
- 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 WEBKIT + value + value;
- case 5349:
- case 4246:
- case 4810:
- case 6968:
- case 2756:
- return WEBKIT + value + MOZ + value + MS + value + value;
- case 6828:
- case 4268:
- return WEBKIT + value + MS + value + value;
- case 6165:
- return WEBKIT + value + MS + "flex-" + value + value;
- case 5187:
- return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
- case 5443:
- return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/, "") + value;
- case 4675:
- return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/, "") + value;
- case 5548:
- return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
- case 5292:
- return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
- case 6060:
- return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
- case 4554:
- return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
- case 6187:
- return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
- case 5495:
- case 3959:
- return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
- case 4968:
- return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value;
- case 4095:
- case 3583:
- case 4068:
- case 2532:
- return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
- 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 (strlen(value) - 1 - length2 > 6)
- switch (charat(value, length2 + 1)) {
- case 109:
- if (charat(value, length2 + 4) !== 45)
- break;
- case 102:
- return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
- case 115:
- return ~indexof(value, "stretch") ? prefix(replace(value, "stretch", "fill-available"), length2) + value : value;
- }
- break;
- case 4949:
- if (charat(value, length2 + 1) !== 115)
- break;
- case 6444:
- switch (charat(value, strlen(value) - 3 - (~indexof(value, "!important") && 10))) {
- case 107:
- return replace(value, ":", ":" + WEBKIT) + value;
- case 101:
- return replace(value, /(.+:)([^;!]+)(;|!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
- }
- break;
- case 5936:
- switch (charat(value, length2 + 11)) {
- case 114:
- return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
- case 108:
- return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
- case 45:
- return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
- }
- return WEBKIT + value + MS + value + value;
- }
- return value;
- }
- var prefixer = function prefixer2(element, index, children, callback) {
- if (element.length > -1) {
- if (!element["return"])
- switch (element.type) {
- case DECLARATION:
- element["return"] = prefix(element.value, element.length);
- break;
- case KEYFRAMES:
- return serialize([copy(element, {
- value: replace(element.value, "@", "@" + WEBKIT)
- })], callback);
- case RULESET:
- if (element.length)
- return combine(element.props, function(value) {
- switch (match(value, /(::plac\w+|:read-\w+)/)) {
- case ":read-only":
- case ":read-write":
- return serialize([copy(element, {
- props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")]
- })], callback);
- case "::placeholder":
- return serialize([copy(element, {
- props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")]
- }), copy(element, {
- props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")]
- }), copy(element, {
- props: [replace(value, /:(plac\w+)/, MS + "input-$1")]
- })], callback);
- }
- return "";
- });
- }
- }
- };
- var defaultStylisPlugins = [prefixer];
- var createCache = function createCache2(options) {
- var key = options.key;
- if (key === "css") {
- var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])");
- Array.prototype.forEach.call(ssrStyles, function(node2) {
- var dataEmotionAttribute = node2.getAttribute("data-emotion");
- if (dataEmotionAttribute.indexOf(" ") === -1) {
- return;
- }
- document.head.appendChild(node2);
- node2.setAttribute("data-s", "");
- });
- }
- var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;
- var inserted = {};
- var container;
- var nodesToHydrate = [];
- {
- container = options.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^="' + key + ' "]'),
- function(node2) {
- var attrib = node2.getAttribute("data-emotion").split(" ");
- for (var i = 1; i < attrib.length; i++) {
- inserted[attrib[i]] = true;
- }
- nodesToHydrate.push(node2);
- }
- );
- }
- var _insert;
- var omnipresentPlugins = [compat, removeLabel];
- {
- var currentSheet;
- var finalizingPlugins = [stringify, rulesheet(function(rule) {
- currentSheet.insert(rule);
- })];
- var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
- var stylis = function stylis2(styles2) {
- return serialize(compile(styles2), serializer);
- };
- _insert = function insert(selector, serialized, sheet, shouldCache) {
- currentSheet = sheet;
- stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
- if (shouldCache) {
- cache2.inserted[serialized.name] = true;
- }
- };
- }
- var cache2 = {
- key,
- sheet: new StyleSheet({
- key,
- container,
- nonce: options.nonce,
- speedy: options.speedy,
- prepend: options.prepend,
- insertionPoint: options.insertionPoint
- }),
- nonce: options.nonce,
- inserted,
- registered: {},
- insert: _insert
- };
- cache2.sheet.hydrate(nodesToHydrate);
- return cache2;
- };
- var reactIs$2 = { exports: {} };
- var reactIs_production_min$1 = {};
- /** @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 b$1 = "function" === typeof Symbol && Symbol.for, c$1 = b$1 ? Symbol.for("react.element") : 60103, d$1 = b$1 ? Symbol.for("react.portal") : 60106, e$1 = b$1 ? Symbol.for("react.fragment") : 60107, f$1 = b$1 ? Symbol.for("react.strict_mode") : 60108, g$1 = b$1 ? Symbol.for("react.profiler") : 60114, h$1 = b$1 ? Symbol.for("react.provider") : 60109, k$1 = b$1 ? Symbol.for("react.context") : 60110, l$1 = b$1 ? Symbol.for("react.async_mode") : 60111, m$1 = b$1 ? Symbol.for("react.concurrent_mode") : 60111, n$1 = b$1 ? Symbol.for("react.forward_ref") : 60112, p$1 = b$1 ? Symbol.for("react.suspense") : 60113, q$1 = b$1 ? Symbol.for("react.suspense_list") : 60120, r = b$1 ? Symbol.for("react.memo") : 60115, t$1 = b$1 ? Symbol.for("react.lazy") : 60116, v$1 = b$1 ? Symbol.for("react.block") : 60121, w = b$1 ? Symbol.for("react.fundamental") : 60117, x = b$1 ? Symbol.for("react.responder") : 60118, y = b$1 ? Symbol.for("react.scope") : 60119;
- function z(a) {
- if ("object" === typeof a && null !== a) {
- var u2 = a.$$typeof;
- switch (u2) {
- case c$1:
- switch (a = a.type, a) {
- case l$1:
- case m$1:
- case e$1:
- case g$1:
- case f$1:
- case p$1:
- return a;
- default:
- switch (a = a && a.$$typeof, a) {
- case k$1:
- case n$1:
- case t$1:
- case r:
- case h$1:
- return a;
- default:
- return u2;
- }
- }
- case d$1:
- return u2;
- }
- }
- }
- function A(a) {
- return z(a) === m$1;
- }
- reactIs_production_min$1.AsyncMode = l$1;
- reactIs_production_min$1.ConcurrentMode = m$1;
- reactIs_production_min$1.ContextConsumer = k$1;
- reactIs_production_min$1.ContextProvider = h$1;
- reactIs_production_min$1.Element = c$1;
- reactIs_production_min$1.ForwardRef = n$1;
- reactIs_production_min$1.Fragment = e$1;
- reactIs_production_min$1.Lazy = t$1;
- reactIs_production_min$1.Memo = r;
- reactIs_production_min$1.Portal = d$1;
- reactIs_production_min$1.Profiler = g$1;
- reactIs_production_min$1.StrictMode = f$1;
- reactIs_production_min$1.Suspense = p$1;
- reactIs_production_min$1.isAsyncMode = function(a) {
- return A(a) || z(a) === l$1;
- };
- reactIs_production_min$1.isConcurrentMode = A;
- reactIs_production_min$1.isContextConsumer = function(a) {
- return z(a) === k$1;
- };
- reactIs_production_min$1.isContextProvider = function(a) {
- return z(a) === h$1;
- };
- reactIs_production_min$1.isElement = function(a) {
- return "object" === typeof a && null !== a && a.$$typeof === c$1;
- };
- reactIs_production_min$1.isForwardRef = function(a) {
- return z(a) === n$1;
- };
- reactIs_production_min$1.isFragment = function(a) {
- return z(a) === e$1;
- };
- reactIs_production_min$1.isLazy = function(a) {
- return z(a) === t$1;
- };
- reactIs_production_min$1.isMemo = function(a) {
- return z(a) === r;
- };
- reactIs_production_min$1.isPortal = function(a) {
- return z(a) === d$1;
- };
- reactIs_production_min$1.isProfiler = function(a) {
- return z(a) === g$1;
- };
- reactIs_production_min$1.isStrictMode = function(a) {
- return z(a) === f$1;
- };
- reactIs_production_min$1.isSuspense = function(a) {
- return z(a) === p$1;
- };
- reactIs_production_min$1.isValidElementType = function(a) {
- return "string" === typeof a || "function" === typeof a || a === e$1 || a === m$1 || a === g$1 || a === f$1 || a === p$1 || a === q$1 || "object" === typeof a && null !== a && (a.$$typeof === t$1 || a.$$typeof === r || a.$$typeof === h$1 || a.$$typeof === k$1 || a.$$typeof === n$1 || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v$1);
- };
- reactIs_production_min$1.typeOf = z;
- {
- reactIs$2.exports = reactIs_production_min$1;
- }
- var reactIsExports$1 = reactIs$2.exports;
- var reactIs$1 = reactIsExports$1;
- var FORWARD_REF_STATICS = {
- "$$typeof": true,
- render: true,
- defaultProps: true,
- displayName: true,
- propTypes: true
- };
- var MEMO_STATICS = {
- "$$typeof": true,
- compare: true,
- defaultProps: true,
- displayName: true,
- propTypes: true,
- type: true
- };
- var TYPE_STATICS = {};
- TYPE_STATICS[reactIs$1.ForwardRef] = FORWARD_REF_STATICS;
- TYPE_STATICS[reactIs$1.Memo] = MEMO_STATICS;
- var isBrowser = true;
- function getRegisteredStyles(registered, registeredStyles, classNames) {
- var rawClassName = "";
- classNames.split(" ").forEach(function(className) {
- if (registered[className] !== void 0) {
- registeredStyles.push(registered[className] + ";");
- } else {
- rawClassName += className + " ";
- }
- });
- return rawClassName;
- }
- var registerStyles = function registerStyles2(cache2, serialized, isStringTag2) {
- var className = cache2.key + "-" + serialized.name;
- if (
- // 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
- (isStringTag2 === false || // 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
- isBrowser === false) && cache2.registered[className] === void 0
- ) {
- cache2.registered[className] = serialized.styles;
- }
- };
- var insertStyles = function insertStyles2(cache2, serialized, isStringTag2) {
- registerStyles(cache2, serialized, isStringTag2);
- var className = cache2.key + "-" + serialized.name;
- if (cache2.inserted[serialized.name] === void 0) {
- var current = serialized;
- do {
- cache2.insert(serialized === current ? "." + className : "", current, cache2.sheet, true);
- current = current.next;
- } while (current !== void 0);
- }
- };
- function murmur2(str) {
- var h2 = 0;
- var k2, i = 0, len = str.length;
- for (; len >= 4; ++i, len -= 4) {
- k2 = str.charCodeAt(i) & 255 | (str.charCodeAt(++i) & 255) << 8 | (str.charCodeAt(++i) & 255) << 16 | (str.charCodeAt(++i) & 255) << 24;
- k2 = /* Math.imul(k, m): */
- (k2 & 65535) * 1540483477 + ((k2 >>> 16) * 59797 << 16);
- k2 ^= /* k >>> r: */
- k2 >>> 24;
- h2 = /* Math.imul(k, m): */
- (k2 & 65535) * 1540483477 + ((k2 >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
- (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16);
- }
- switch (len) {
- case 3:
- h2 ^= (str.charCodeAt(i + 2) & 255) << 16;
- case 2:
- h2 ^= (str.charCodeAt(i + 1) & 255) << 8;
- case 1:
- h2 ^= str.charCodeAt(i) & 255;
- h2 = /* Math.imul(h, m): */
- (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16);
- }
- h2 ^= h2 >>> 13;
- h2 = /* Math.imul(h, m): */
- (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16);
- return ((h2 ^ h2 >>> 15) >>> 0).toString(36);
- }
- var unitlessKeys = {
- animationIterationCount: 1,
- aspectRatio: 1,
- borderImageOutset: 1,
- borderImageSlice: 1,
- borderImageWidth: 1,
- boxFlex: 1,
- boxFlexGroup: 1,
- boxOrdinalGroup: 1,
- columnCount: 1,
- columns: 1,
- flex: 1,
- flexGrow: 1,
- flexPositive: 1,
- flexShrink: 1,
- flexNegative: 1,
- flexOrder: 1,
- gridRow: 1,
- gridRowEnd: 1,
- gridRowSpan: 1,
- gridRowStart: 1,
- gridColumn: 1,
- gridColumnEnd: 1,
- gridColumnSpan: 1,
- gridColumnStart: 1,
- msGridRow: 1,
- msGridRowSpan: 1,
- msGridColumn: 1,
- msGridColumnSpan: 1,
- fontWeight: 1,
- lineHeight: 1,
- opacity: 1,
- order: 1,
- orphans: 1,
- tabSize: 1,
- widows: 1,
- zIndex: 1,
- zoom: 1,
- WebkitLineClamp: 1,
- // SVG-related properties
- fillOpacity: 1,
- floodOpacity: 1,
- stopOpacity: 1,
- strokeDasharray: 1,
- strokeDashoffset: 1,
- strokeMiterlimit: 1,
- strokeOpacity: 1,
- strokeWidth: 1
- };
- var hyphenateRegex = /[A-Z]|^ms/g;
- var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
- var isCustomProperty = function isCustomProperty2(property) {
- return property.charCodeAt(1) === 45;
- };
- var isProcessableValue = function isProcessableValue2(value) {
- return value != null && typeof value !== "boolean";
- };
- var processStyleName = /* @__PURE__ */ memoize$1(function(styleName) {
- return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, "-$&").toLowerCase();
- });
- var processStyleValue = function processStyleValue2(key, value) {
- switch (key) {
- case "animation":
- case "animationName": {
- if (typeof value === "string") {
- return value.replace(animationRegex, function(match2, p1, p2) {
- cursor = {
- name: p1,
- styles: p2,
- next: cursor
- };
- return p1;
- });
- }
- }
- }
- if (unitlessKeys[key] !== 1 && !isCustomProperty(key) && typeof value === "number" && value !== 0) {
- return value + "px";
- }
- return value;
- };
- var noComponentSelectorMessage = "Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";
- function handleInterpolation(mergedProps, registered, interpolation) {
- if (interpolation == null) {
- return "";
- }
- if (interpolation.__emotion_styles !== void 0) {
- return interpolation;
- }
- switch (typeof interpolation) {
- case "boolean": {
- return "";
- }
- case "object": {
- if (interpolation.anim === 1) {
- cursor = {
- name: interpolation.name,
- styles: interpolation.styles,
- next: cursor
- };
- return interpolation.name;
- }
- if (interpolation.styles !== void 0) {
- var next2 = interpolation.next;
- if (next2 !== void 0) {
- while (next2 !== void 0) {
- cursor = {
- name: next2.name,
- styles: next2.styles,
- next: cursor
- };
- next2 = next2.next;
- }
- }
- var styles2 = interpolation.styles + ";";
- return styles2;
- }
- return createStringFromObject(mergedProps, registered, interpolation);
- }
- case "function": {
- if (mergedProps !== void 0) {
- var previousCursor = cursor;
- var result = interpolation(mergedProps);
- cursor = previousCursor;
- return handleInterpolation(mergedProps, registered, result);
- }
- break;
- }
- }
- if (registered == null) {
- return interpolation;
- }
- var cached = registered[interpolation];
- return cached !== void 0 ? cached : interpolation;
- }
- function createStringFromObject(mergedProps, registered, obj) {
- var string = "";
- if (Array.isArray(obj)) {
- for (var i = 0; i < obj.length; i++) {
- string += handleInterpolation(mergedProps, registered, obj[i]) + ";";
- }
- } else {
- for (var _key in obj) {
- var value = obj[_key];
- if (typeof value !== "object") {
- if (registered != null && registered[value] !== void 0) {
- string += _key + "{" + registered[value] + "}";
- } else if (isProcessableValue(value)) {
- string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";";
- }
- } else {
- if (_key === "NO_COMPONENT_SELECTOR" && false) {
- throw new Error(noComponentSelectorMessage);
- }
- if (Array.isArray(value) && typeof value[0] === "string" && (registered == null || registered[value[0]] === void 0)) {
- for (var _i = 0; _i < value.length; _i++) {
- if (isProcessableValue(value[_i])) {
- string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";";
- }
- }
- } else {
- var interpolated = handleInterpolation(mergedProps, registered, value);
- switch (_key) {
- case "animation":
- case "animationName": {
- string += processStyleName(_key) + ":" + interpolated + ";";
- break;
- }
- default: {
- string += _key + "{" + interpolated + "}";
- }
- }
- }
- }
- }
- }
- return string;
- }
- var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g;
- var cursor;
- var serializeStyles = function serializeStyles2(args, registered, mergedProps) {
- if (args.length === 1 && typeof args[0] === "object" && args[0] !== null && args[0].styles !== void 0) {
- return args[0];
- }
- var stringMode = true;
- var styles2 = "";
- cursor = void 0;
- var strings = args[0];
- if (strings == null || strings.raw === void 0) {
- stringMode = false;
- styles2 += handleInterpolation(mergedProps, registered, strings);
- } else {
- styles2 += strings[0];
- }
- for (var i = 1; i < args.length; i++) {
- styles2 += handleInterpolation(mergedProps, registered, args[i]);
- if (stringMode) {
- styles2 += strings[i];
- }
- }
- labelPattern.lastIndex = 0;
- var identifierName = "";
- var match2;
- while ((match2 = labelPattern.exec(styles2)) !== null) {
- identifierName += "-" + // $FlowFixMe we know it's not null
- match2[1];
- }
- var name = murmur2(styles2) + identifierName;
- return {
- name,
- styles: styles2,
- next: cursor
- };
- };
- var syncFallback = function syncFallback2(create) {
- return create();
- };
- var useInsertionEffect = React__namespace["useInsertionEffect"] ? React__namespace["useInsertionEffect"] : false;
- var useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;
- var useInsertionEffectWithLayoutFallback = useInsertionEffect || React__namespace.useLayoutEffect;
- var EmotionCacheContext = /* @__PURE__ */ React__namespace.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 !== "undefined" ? /* @__PURE__ */ createCache({
- key: "css"
- }) : null
- );
- var CacheProvider = EmotionCacheContext.Provider;
- var withEmotionCache = function withEmotionCache2(func) {
- return /* @__PURE__ */ React.forwardRef(function(props, ref) {
- var cache2 = React.useContext(EmotionCacheContext);
- return func(props, cache2, ref);
- });
- };
- var ThemeContext$2 = /* @__PURE__ */ React__namespace.createContext({});
- var Global = /* @__PURE__ */ withEmotionCache(function(props, cache2) {
- var styles2 = props.styles;
- var serialized = serializeStyles([styles2], void 0, React__namespace.useContext(ThemeContext$2));
- var sheetRef = React__namespace.useRef();
- useInsertionEffectWithLayoutFallback(function() {
- var key = cache2.key + "-global";
- var sheet = new cache2.sheet.constructor({
- key,
- nonce: cache2.sheet.nonce,
- container: cache2.sheet.container,
- speedy: cache2.sheet.isSpeedy
- });
- var rehydrating = false;
- var node2 = document.querySelector('style[data-emotion="' + key + " " + serialized.name + '"]');
- if (cache2.sheet.tags.length) {
- sheet.before = cache2.sheet.tags[0];
- }
- if (node2 !== null) {
- rehydrating = true;
- node2.setAttribute("data-emotion", key);
- sheet.hydrate([node2]);
- }
- sheetRef.current = [sheet, rehydrating];
- return function() {
- sheet.flush();
- };
- }, [cache2]);
- useInsertionEffectWithLayoutFallback(function() {
- var sheetRefCurrent = sheetRef.current;
- var sheet = sheetRefCurrent[0], rehydrating = sheetRefCurrent[1];
- if (rehydrating) {
- sheetRefCurrent[1] = false;
- return;
- }
- if (serialized.next !== void 0) {
- insertStyles(cache2, serialized.next, true);
- }
- if (sheet.tags.length) {
- var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;
- sheet.before = element;
- sheet.flush();
- }
- cache2.insert("", serialized, sheet, false);
- }, [cache2, serialized.name]);
- return null;
- });
- function css() {
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
- return serializeStyles(args);
- }
- var keyframes = function keyframes2() {
- var insertable = css.apply(void 0, arguments);
- var name = "animation-" + insertable.name;
- return {
- name,
- styles: "@keyframes " + name + "{" + insertable.styles + "}",
- anim: 1,
- toString: function toString() {
- return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
- }
- };
- };
- var testOmitPropsOnStringTag = isPropValid;
- var testOmitPropsOnComponent = function testOmitPropsOnComponent2(key) {
- return key !== "theme";
- };
- var getDefaultShouldForwardProp = function getDefaultShouldForwardProp2(tag) {
- return typeof tag === "string" && // 96 is one less than the char code
- // for "a" so this is checking that
- // it's a lowercase character
- tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;
- };
- var composeShouldForwardProps = function composeShouldForwardProps2(tag, options, isReal) {
- var shouldForwardProp2;
- if (options) {
- var optionsShouldForwardProp = options.shouldForwardProp;
- shouldForwardProp2 = tag.__emotion_forwardProp && optionsShouldForwardProp ? function(propName) {
- return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);
- } : optionsShouldForwardProp;
- }
- if (typeof shouldForwardProp2 !== "function" && isReal) {
- shouldForwardProp2 = tag.__emotion_forwardProp;
- }
- return shouldForwardProp2;
- };
- var Insertion = function Insertion2(_ref) {
- var cache2 = _ref.cache, serialized = _ref.serialized, isStringTag2 = _ref.isStringTag;
- registerStyles(cache2, serialized, isStringTag2);
- useInsertionEffectAlwaysWithSyncFallback(function() {
- return insertStyles(cache2, serialized, isStringTag2);
- });
- return null;
- };
- var createStyled$1 = function createStyled2(tag, options) {
- var isReal = tag.__emotion_real === tag;
- var baseTag = isReal && tag.__emotion_base || tag;
- var identifierName;
- var targetClassName;
- if (options !== void 0) {
- identifierName = options.label;
- targetClassName = options.target;
- }
- var shouldForwardProp2 = composeShouldForwardProps(tag, options, isReal);
- var defaultShouldForwardProp = shouldForwardProp2 || getDefaultShouldForwardProp(baseTag);
- var shouldUseAs = !defaultShouldForwardProp("as");
- return function() {
- var args = arguments;
- var styles2 = isReal && tag.__emotion_styles !== void 0 ? tag.__emotion_styles.slice(0) : [];
- if (identifierName !== void 0) {
- styles2.push("label:" + identifierName + ";");
- }
- if (args[0] == null || args[0].raw === void 0) {
- styles2.push.apply(styles2, args);
- } else {
- styles2.push(args[0][0]);
- var len = args.length;
- var i = 1;
- for (; i < len; i++) {
- styles2.push(args[i], args[0][i]);
- }
- }
- var Styled = withEmotionCache(function(props, cache2, ref) {
- var FinalTag = shouldUseAs && props.as || baseTag;
- var className = "";
- var classInterpolations = [];
- var mergedProps = props;
- if (props.theme == null) {
- mergedProps = {};
- for (var key in props) {
- mergedProps[key] = props[key];
- }
- mergedProps.theme = React__namespace.useContext(ThemeContext$2);
- }
- if (typeof props.className === "string") {
- className = getRegisteredStyles(cache2.registered, classInterpolations, props.className);
- } else if (props.className != null) {
- className = props.className + " ";
- }
- var serialized = serializeStyles(styles2.concat(classInterpolations), cache2.registered, mergedProps);
- className += cache2.key + "-" + serialized.name;
- if (targetClassName !== void 0) {
- className += " " + targetClassName;
- }
- var finalShouldForwardProp = shouldUseAs && shouldForwardProp2 === void 0 ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;
- var newProps = {};
- for (var _key in props) {
- if (shouldUseAs && _key === "as")
- continue;
- if (
- // $FlowFixMe
- finalShouldForwardProp(_key)
- ) {
- newProps[_key] = props[_key];
- }
- }
- newProps.className = className;
- newProps.ref = ref;
- return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(Insertion, {
- cache: cache2,
- serialized,
- isStringTag: typeof FinalTag === "string"
- }), /* @__PURE__ */ React__namespace.createElement(FinalTag, newProps));
- });
- Styled.displayName = identifierName !== void 0 ? identifierName : "Styled(" + (typeof baseTag === "string" ? baseTag : baseTag.displayName || baseTag.name || "Component") + ")";
- Styled.defaultProps = tag.defaultProps;
- Styled.__emotion_real = Styled;
- Styled.__emotion_base = baseTag;
- Styled.__emotion_styles = styles2;
- Styled.__emotion_forwardProp = shouldForwardProp2;
- Object.defineProperty(Styled, "toString", {
- value: function value() {
- if (targetClassName === void 0 && false) {
- return "NO_COMPONENT_SELECTOR";
- }
- return "." + targetClassName;
- }
- });
- Styled.withComponent = function(nextTag, nextOptions) {
- return createStyled2(nextTag, _extends$1({}, options, nextOptions, {
- shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)
- })).apply(void 0, styles2);
- };
- return Styled;
- };
- };
- var tags = [
- "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"
- ];
- var newStyled = createStyled$1.bind();
- tags.forEach(function(tagName) {
- newStyled[tagName] = newStyled(tagName);
- });
- let cache;
- if (typeof document === "object") {
- cache = createCache({
- key: "css",
- prepend: true
- });
- }
- function StyledEngineProvider(props) {
- const {
- injectFirst,
- children
- } = props;
- return injectFirst && cache ? /* @__PURE__ */ jsxRuntimeExports.jsx(CacheProvider, {
- value: cache,
- children
- }) : children;
- }
- function isEmpty$1(obj) {
- return obj === void 0 || obj === null || Object.keys(obj).length === 0;
- }
- function GlobalStyles(props) {
- const {
- styles: styles2,
- defaultTheme: defaultTheme2 = {}
- } = props;
- const globalStyles = typeof styles2 === "function" ? (themeInput) => styles2(isEmpty$1(themeInput) ? defaultTheme2 : themeInput) : styles2;
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Global, {
- styles: globalStyles
- });
- }
- function styled$1(tag, options) {
- const stylesFactory = newStyled(tag, options);
- return stylesFactory;
- }
- const internal_processStyles = (tag, processor) => {
- if (Array.isArray(tag.__emotion_styles)) {
- tag.__emotion_styles = processor(tag.__emotion_styles);
- }
- };
- const styledEngine = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
- __proto__: null,
- GlobalStyles,
- StyledEngineProvider,
- ThemeContext: ThemeContext$2,
- css,
- default: styled$1,
- internal_processStyles,
- keyframes
- }, Symbol.toStringTag, { value: "Module" }));
- const require$$1 = /* @__PURE__ */ getAugmentedNamespace(styledEngine);
- function isPlainObject(item) {
- if (typeof item !== "object" || item === null) {
- return false;
- }
- const prototype = Object.getPrototypeOf(item);
- return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);
- }
- function deepClone(source) {
- if (!isPlainObject(source)) {
- return source;
- }
- const output = {};
- Object.keys(source).forEach((key) => {
- output[key] = deepClone(source[key]);
- });
- return output;
- }
- function deepmerge$1(target, source, options = {
- clone: true
- }) {
- const output = options.clone ? _extends$1({}, target) : target;
- if (isPlainObject(target) && isPlainObject(source)) {
- Object.keys(source).forEach((key) => {
- if (key === "__proto__") {
- return;
- }
- if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {
- output[key] = deepmerge$1(target[key], source[key], options);
- } else if (options.clone) {
- output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];
- } else {
- output[key] = source[key];
- }
- });
- }
- return output;
- }
- const deepmerge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
- __proto__: null,
- default: deepmerge$1,
- isPlainObject
- }, Symbol.toStringTag, { value: "Module" }));
- const require$$4 = /* @__PURE__ */ getAugmentedNamespace(deepmerge);
- function capitalize$1(string) {
- if (typeof string !== "string") {
- throw new Error(formatMuiErrorMessage$1(7));
- }
- return string.charAt(0).toUpperCase() + string.slice(1);
- }
- const capitalize = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
- __proto__: null,
- default: capitalize$1
- }, Symbol.toStringTag, { value: "Module" }));
- const require$$5 = /* @__PURE__ */ getAugmentedNamespace(capitalize);
- var reactIs = { exports: {} };
- var reactIs_production_min = {};
- /**
- * @license React
- * 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 b = Symbol.for("react.element"), c = Symbol.for("react.portal"), d = Symbol.for("react.fragment"), e = Symbol.for("react.strict_mode"), f = Symbol.for("react.profiler"), g = Symbol.for("react.provider"), h = Symbol.for("react.context"), k = Symbol.for("react.server_context"), l = Symbol.for("react.forward_ref"), m = Symbol.for("react.suspense"), n = Symbol.for("react.suspense_list"), p = Symbol.for("react.memo"), q = Symbol.for("react.lazy"), t = Symbol.for("react.offscreen"), u;
- u = Symbol.for("react.module.reference");
- function v(a) {
- if ("object" === typeof a && null !== a) {
- var r2 = a.$$typeof;
- switch (r2) {
- case b:
- switch (a = a.type, a) {
- case d:
- case f:
- case e:
- case m:
- case n:
- return a;
- default:
- switch (a = a && a.$$typeof, a) {
- case k:
- case h:
- case l:
- case q:
- case p:
- case g:
- return a;
- default:
- return r2;
- }
- }
- case c:
- return r2;
- }
- }
- }
- reactIs_production_min.ContextConsumer = h;
- reactIs_production_min.ContextProvider = g;
- reactIs_production_min.Element = b;
- reactIs_production_min.ForwardRef = l;
- reactIs_production_min.Fragment = d;
- reactIs_production_min.Lazy = q;
- reactIs_production_min.Memo = p;
- reactIs_production_min.Portal = c;
- reactIs_production_min.Profiler = f;
- reactIs_production_min.StrictMode = e;
- reactIs_production_min.Suspense = m;
- reactIs_production_min.SuspenseList = n;
- reactIs_production_min.isAsyncMode = function() {
- return false;
- };
- reactIs_production_min.isConcurrentMode = function() {
- return false;
- };
- reactIs_production_min.isContextConsumer = function(a) {
- return v(a) === h;
- };
- reactIs_production_min.isContextProvider = function(a) {
- return v(a) === g;
- };
- reactIs_production_min.isElement = function(a) {
- return "object" === typeof a && null !== a && a.$$typeof === b;
- };
- reactIs_production_min.isForwardRef = function(a) {
- return v(a) === l;
- };
- reactIs_production_min.isFragment = function(a) {
- return v(a) === d;
- };
- reactIs_production_min.isLazy = function(a) {
- return v(a) === q;
- };
- reactIs_production_min.isMemo = function(a) {
- return v(a) === p;
- };
- reactIs_production_min.isPortal = function(a) {
- return v(a) === c;
- };
- reactIs_production_min.isProfiler = function(a) {
- return v(a) === f;
- };
- reactIs_production_min.isStrictMode = function(a) {
- return v(a) === e;
- };
- reactIs_production_min.isSuspense = function(a) {
- return v(a) === m;
- };
- reactIs_production_min.isSuspenseList = function(a) {
- return v(a) === n;
- };
- reactIs_production_min.isValidElementType = function(a) {
- return "string" === typeof a || "function" === typeof a || a === d || a === f || a === e || a === m || a === n || a === t || "object" === typeof a && null !== a && (a.$$typeof === q || a.$$typeof === p || a.$$typeof === g || a.$$typeof === h || a.$$typeof === l || a.$$typeof === u || void 0 !== a.getModuleId) ? true : false;
- };
- reactIs_production_min.typeOf = v;
- {
- reactIs.exports = reactIs_production_min;
- }
- var reactIsExports = reactIs.exports;
- const fnNameMatchRegex = /^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;
- function getFunctionName(fn) {
- const match2 = `${fn}`.match(fnNameMatchRegex);
- const name = match2 && match2[1];
- return name || "";
- }
- function getFunctionComponentName(Component, fallback = "") {
- return Component.displayName || Component.name || getFunctionName(Component) || fallback;
- }
- function getWrappedName(outerType, innerType, wrapperName) {
- const functionName = getFunctionComponentName(innerType);
- return outerType.displayName || (functionName !== "" ? `${wrapperName}(${functionName})` : wrapperName);
- }
- function getDisplayName$1(Component) {
- if (Component == null) {
- return void 0;
- }
- if (typeof Component === "string") {
- return Component;
- }
- if (typeof Component === "function") {
- return getFunctionComponentName(Component, "Component");
- }
- if (typeof Component === "object") {
- switch (Component.$$typeof) {
- case reactIsExports.ForwardRef:
- return getWrappedName(Component, Component.render, "ForwardRef");
- case reactIsExports.Memo:
- return getWrappedName(Component, Component.type, "memo");
- default:
- return void 0;
- }
- }
- return void 0;
- }
- const getDisplayName = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
- __proto__: null,
- default: getDisplayName$1,
- getFunctionName
- }, Symbol.toStringTag, { value: "Module" }));
- const require$$6 = /* @__PURE__ */ getAugmentedNamespace(getDisplayName);
- const _excluded$j = ["values", "unit", "step"];
- const sortBreakpointsValues = (values2) => {
- const breakpointsAsArray = Object.keys(values2).map((key) => ({
- key,
- val: values2[key]
- })) || [];
- breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);
- return breakpointsAsArray.reduce((acc, obj) => {
- return _extends$1({}, acc, {
- [obj.key]: obj.val
- });
- }, {});
- };
- function createBreakpoints(breakpoints) {
- const {
- // The breakpoint **start** at this value.
- // For instance with the first breakpoint xs: [xs, sm).
- values: values2 = {
- xs: 0,
- // phone
- sm: 600,
- // tablet
- md: 900,
- // small laptop
- lg: 1200,
- // desktop
- xl: 1536
- // large screen
- },
- unit = "px",
- step = 5
- } = breakpoints, other = _objectWithoutPropertiesLoose(breakpoints, _excluded$j);
- const sortedValues = sortBreakpointsValues(values2);
- const keys2 = Object.keys(sortedValues);
- function up(key) {
- const value = typeof values2[key] === "number" ? values2[key] : key;
- return `@media (min-width:${value}${unit})`;
- }
- function down(key) {
- const value = typeof values2[key] === "number" ? values2[key] : key;
- return `@media (max-width:${value - step / 100}${unit})`;
- }
- function between(start, end) {
- const endIndex = keys2.indexOf(end);
- return `@media (min-width:${typeof values2[start] === "number" ? values2[start] : start}${unit}) and (max-width:${(endIndex !== -1 && typeof values2[keys2[endIndex]] === "number" ? values2[keys2[endIndex]] : end) - step / 100}${unit})`;
- }
- function only(key) {
- if (keys2.indexOf(key) + 1 < keys2.length) {
- return between(key, keys2[keys2.indexOf(key) + 1]);
- }
- return up(key);
- }
- function not(key) {
- const keyIndex = keys2.indexOf(key);
- if (keyIndex === 0) {
- return up(keys2[1]);
- }
- if (keyIndex === keys2.length - 1) {
- return down(keys2[keyIndex]);
- }
- return between(key, keys2[keys2.indexOf(key) + 1]).replace("@media", "@media not all and");
- }
- return _extends$1({
- keys: keys2,
- values: sortedValues,
- up,
- down,
- between,
- only,
- not,
- unit
- }, other);
- }
- const shape = {
- borderRadius: 4
- };
- const shape$1 = shape;
- function merge(acc, item) {
- if (!item) {
- return acc;
- }
- return deepmerge$1(acc, item, {
- clone: false
- // No need to clone deep, it's way faster.
- });
- }
- const values$1 = {
- xs: 0,
- // phone
- sm: 600,
- // tablet
- md: 900,
- // small laptop
- lg: 1200,
- // desktop
- xl: 1536
- // large screen
- };
- const defaultBreakpoints = {
- // Sorted ASC by size. That's important.
- // It can't be configured as it's used statically for propTypes.
- keys: ["xs", "sm", "md", "lg", "xl"],
- up: (key) => `@media (min-width:${values$1[key]}px)`
- };
- function handleBreakpoints(props, propValue, styleFromPropValue) {
- const theme = props.theme || {};
- if (Array.isArray(propValue)) {
- const themeBreakpoints = theme.breakpoints || defaultBreakpoints;
- return propValue.reduce((acc, item, index) => {
- acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);
- return acc;
- }, {});
- }
- if (typeof propValue === "object") {
- const themeBreakpoints = theme.breakpoints || defaultBreakpoints;
- return Object.keys(propValue).reduce((acc, breakpoint) => {
- if (Object.keys(themeBreakpoints.values || values$1).indexOf(breakpoint) !== -1) {
- const mediaKey = themeBreakpoints.up(breakpoint);
- acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);
- } else {
- const cssKey = breakpoint;
- acc[cssKey] = propValue[cssKey];
- }
- return acc;
- }, {});
- }
- const output = styleFromPropValue(propValue);
- return output;
- }
- function createEmptyBreakpointObject(breakpointsInput = {}) {
- var _breakpointsInput$key;
- const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {
- const breakpointStyleKey = breakpointsInput.up(key);
- acc[breakpointStyleKey] = {};
- return acc;
- }, {});
- return breakpointsInOrder || {};
- }
- function removeUnusedBreakpoints(breakpointKeys, style2) {
- return breakpointKeys.reduce((acc, key) => {
- const breakpointOutput = acc[key];
- const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;
- if (isBreakpointUnused) {
- delete acc[key];
- }
- return acc;
- }, style2);
- }
- function getPath(obj, path, checkVars = true) {
- if (!path || typeof path !== "string") {
- return null;
- }
- if (obj && obj.vars && checkVars) {
- const val = `vars.${path}`.split(".").reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);
- if (val != null) {
- return val;
- }
- }
- return path.split(".").reduce((acc, item) => {
- if (acc && acc[item] != null) {
- return acc[item];
- }
- return null;
- }, obj);
- }
- function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {
- let value;
- if (typeof themeMapping === "function") {
- value = themeMapping(propValueFinal);
- } else if (Array.isArray(themeMapping)) {
- value = themeMapping[propValueFinal] || userValue;
- } else {
- value = getPath(themeMapping, propValueFinal) || userValue;
- }
- if (transform) {
- value = transform(value, userValue, themeMapping);
- }
- return value;
- }
- function style$1(options) {
- const {
- prop,
- cssProperty = options.prop,
- themeKey,
- transform
- } = options;
- const fn = (props) => {
- if (props[prop] == null) {
- return null;
- }
- const propValue = props[prop];
- const theme = props.theme;
- const themeMapping = getPath(theme, themeKey) || {};
- const styleFromPropValue = (propValueFinal) => {
- let value = getStyleValue(themeMapping, transform, propValueFinal);
- if (propValueFinal === value && typeof propValueFinal === "string") {
- value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === "default" ? "" : capitalize$1(propValueFinal)}`, propValueFinal);
- }
- if (cssProperty === false) {
- return value;
- }
- return {
- [cssProperty]: value
- };
- };
- return handleBreakpoints(props, propValue, styleFromPropValue);
- };
- fn.propTypes = {};
- fn.filterProps = [prop];
- return fn;
- }
- function memoize(fn) {
- const cache2 = {};
- return (arg) => {
- if (cache2[arg] === void 0) {
- cache2[arg] = fn(arg);
- }
- return cache2[arg];
- };
- }
- const properties = {
- m: "margin",
- p: "padding"
- };
- const directions = {
- t: "Top",
- r: "Right",
- b: "Bottom",
- l: "Left",
- x: ["Left", "Right"],
- y: ["Top", "Bottom"]
- };
- const aliases = {
- marginX: "mx",
- marginY: "my",
- paddingX: "px",
- paddingY: "py"
- };
- const getCssProperties = memoize((prop) => {
- if (prop.length > 2) {
- if (aliases[prop]) {
- prop = aliases[prop];
- } else {
- return [prop];
- }
- }
- const [a, b2] = prop.split("");
- const property = properties[a];
- const direction = directions[b2] || "";
- return Array.isArray(direction) ? direction.map((dir) => property + dir) : [property + direction];
- });
- const marginKeys = ["m", "mt", "mr", "mb", "ml", "mx", "my", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginX", "marginY", "marginInline", "marginInlineStart", "marginInlineEnd", "marginBlock", "marginBlockStart", "marginBlockEnd"];
- const paddingKeys = ["p", "pt", "pr", "pb", "pl", "px", "py", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingX", "paddingY", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "paddingBlock", "paddingBlockStart", "paddingBlockEnd"];
- [...marginKeys, ...paddingKeys];
- function createUnaryUnit(theme, themeKey, defaultValue, propName) {
- var _getPath;
- const themeSpacing = (_getPath = getPath(theme, themeKey, false)) != null ? _getPath : defaultValue;
- if (typeof themeSpacing === "number") {
- return (abs2) => {
- if (typeof abs2 === "string") {
- return abs2;
- }
- return themeSpacing * abs2;
- };
- }
- if (Array.isArray(themeSpacing)) {
- return (abs2) => {
- if (typeof abs2 === "string") {
- return abs2;
- }
- return themeSpacing[abs2];
- };
- }
- if (typeof themeSpacing === "function") {
- return themeSpacing;
- }
- return () => void 0;
- }
- function createUnarySpacing(theme) {
- return createUnaryUnit(theme, "spacing", 8);
- }
- function getValue$2(transformer, propValue) {
- if (typeof propValue === "string" || propValue == null) {
- return propValue;
- }
- const abs2 = Math.abs(propValue);
- const transformed = transformer(abs2);
- if (propValue >= 0) {
- return transformed;
- }
- if (typeof transformed === "number") {
- return -transformed;
- }
- return `-${transformed}`;
- }
- function getStyleFromPropValue(cssProperties, transformer) {
- return (propValue) => cssProperties.reduce((acc, cssProperty) => {
- acc[cssProperty] = getValue$2(transformer, propValue);
- return acc;
- }, {});
- }
- function resolveCssProperty(props, keys2, prop, transformer) {
- if (keys2.indexOf(prop) === -1) {
- return null;
- }
- const cssProperties = getCssProperties(prop);
- const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);
- const propValue = props[prop];
- return handleBreakpoints(props, propValue, styleFromPropValue);
- }
- function style(props, keys2) {
- const transformer = createUnarySpacing(props.theme);
- return Object.keys(props).map((prop) => resolveCssProperty(props, keys2, prop, transformer)).reduce(merge, {});
- }
- function margin(props) {
- return style(props, marginKeys);
- }
- margin.propTypes = {};
- margin.filterProps = marginKeys;
- function padding(props) {
- return style(props, paddingKeys);
- }
- padding.propTypes = {};
- padding.filterProps = paddingKeys;
- function createSpacing(spacingInput = 8) {
- if (spacingInput.mui) {
- return spacingInput;
- }
- const transform = createUnarySpacing({
- spacing: spacingInput
- });
- const spacing = (...argsInput) => {
- const args = argsInput.length === 0 ? [1] : argsInput;
- return args.map((argument) => {
- const output = transform(argument);
- return typeof output === "number" ? `${output}px` : output;
- }).join(" ");
- };
- spacing.mui = true;
- return spacing;
- }
- function compose(...styles2) {
- const handlers = styles2.reduce((acc, style2) => {
- style2.filterProps.forEach((prop) => {
- acc[prop] = style2;
- });
- return acc;
- }, {});
- const fn = (props) => {
- return Object.keys(props).reduce((acc, prop) => {
- if (handlers[prop]) {
- return merge(acc, handlers[prop](props));
- }
- return acc;
- }, {});
- };
- fn.propTypes = {};
- fn.filterProps = styles2.reduce((acc, style2) => acc.concat(style2.filterProps), []);
- return fn;
- }
- function borderTransform(value) {
- if (typeof value !== "number") {
- return value;
- }
- return `${value}px solid`;
- }
- function createBorderStyle(prop, transform) {
- return style$1({
- prop,
- themeKey: "borders",
- transform
- });
- }
- const border = createBorderStyle("border", borderTransform);
- const borderTop = createBorderStyle("borderTop", borderTransform);
- const borderRight = createBorderStyle("borderRight", borderTransform);
- const borderBottom = createBorderStyle("borderBottom", borderTransform);
- const borderLeft = createBorderStyle("borderLeft", borderTransform);
- const borderColor = createBorderStyle("borderColor");
- const borderTopColor = createBorderStyle("borderTopColor");
- const borderRightColor = createBorderStyle("borderRightColor");
- const borderBottomColor = createBorderStyle("borderBottomColor");
- const borderLeftColor = createBorderStyle("borderLeftColor");
- const outline = createBorderStyle("outline", borderTransform);
- const outlineColor = createBorderStyle("outlineColor");
- const borderRadius = (props) => {
- if (props.borderRadius !== void 0 && props.borderRadius !== null) {
- const transformer = createUnaryUnit(props.theme, "shape.borderRadius", 4);
- const styleFromPropValue = (propValue) => ({
- borderRadius: getValue$2(transformer, propValue)
- });
- return handleBreakpoints(props, props.borderRadius, styleFromPropValue);
- }
- return null;
- };
- borderRadius.propTypes = {};
- borderRadius.filterProps = ["borderRadius"];
- compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);
- const gap = (props) => {
- if (props.gap !== void 0 && props.gap !== null) {
- const transformer = createUnaryUnit(props.theme, "spacing", 8);
- const styleFromPropValue = (propValue) => ({
- gap: getValue$2(transformer, propValue)
- });
- return handleBreakpoints(props, props.gap, styleFromPropValue);
- }
- return null;
- };
- gap.propTypes = {};
- gap.filterProps = ["gap"];
- const columnGap = (props) => {
- if (props.columnGap !== void 0 && props.columnGap !== null) {
- const transformer = createUnaryUnit(props.theme, "spacing", 8);
- const styleFromPropValue = (propValue) => ({
- columnGap: getValue$2(transformer, propValue)
- });
- return handleBreakpoints(props, props.columnGap, styleFromPropValue);
- }
- return null;
- };
- columnGap.propTypes = {};
- columnGap.filterProps = ["columnGap"];
- const rowGap = (props) => {
- if (props.rowGap !== void 0 && props.rowGap !== null) {
- const transformer = createUnaryUnit(props.theme, "spacing", 8);
- const styleFromPropValue = (propValue) => ({
- rowGap: getValue$2(transformer, propValue)
- });
- return handleBreakpoints(props, props.rowGap, styleFromPropValue);
- }
- return null;
- };
- rowGap.propTypes = {};
- rowGap.filterProps = ["rowGap"];
- const gridColumn = style$1({
- prop: "gridColumn"
- });
- const gridRow = style$1({
- prop: "gridRow"
- });
- const gridAutoFlow = style$1({
- prop: "gridAutoFlow"
- });
- const gridAutoColumns = style$1({
- prop: "gridAutoColumns"
- });
- const gridAutoRows = style$1({
- prop: "gridAutoRows"
- });
- const gridTemplateColumns = style$1({
- prop: "gridTemplateColumns"
- });
- const gridTemplateRows = style$1({
- prop: "gridTemplateRows"
- });
- const gridTemplateAreas = style$1({
- prop: "gridTemplateAreas"
- });
- const gridArea = style$1({
- prop: "gridArea"
- });
- compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);
- function paletteTransform(value, userValue) {
- if (userValue === "grey") {
- return userValue;
- }
- return value;
- }
- const color = style$1({
- prop: "color",
- themeKey: "palette",
- transform: paletteTransform
- });
- const bgcolor = style$1({
- prop: "bgcolor",
- cssProperty: "backgroundColor",
- themeKey: "palette",
- transform: paletteTransform
- });
- const backgroundColor = style$1({
- prop: "backgroundColor",
- themeKey: "palette",
- transform: paletteTransform
- });
- compose(color, bgcolor, backgroundColor);
- function sizingTransform(value) {
- return value <= 1 && value !== 0 ? `${value * 100}%` : value;
- }
- const width = style$1({
- prop: "width",
- transform: sizingTransform
- });
- const maxWidth = (props) => {
- if (props.maxWidth !== void 0 && props.maxWidth !== null) {
- const styleFromPropValue = (propValue) => {
- var _props$theme, _props$theme2;
- const breakpoint = ((_props$theme = props.theme) == null || (_props$theme = _props$theme.breakpoints) == null || (_props$theme = _props$theme.values) == null ? void 0 : _props$theme[propValue]) || values$1[propValue];
- if (!breakpoint) {
- return {
- maxWidth: sizingTransform(propValue)
- };
- }
- if (((_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.breakpoints) == null ? void 0 : _props$theme2.unit) !== "px") {
- return {
- maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`
- };
- }
- return {
- maxWidth: breakpoint
- };
- };
- return handleBreakpoints(props, props.maxWidth, styleFromPropValue);
- }
- return null;
- };
- maxWidth.filterProps = ["maxWidth"];
- const minWidth = style$1({
- prop: "minWidth",
- transform: sizingTransform
- });
- const height = style$1({
- prop: "height",
- transform: sizingTransform
- });
- const maxHeight = style$1({
- prop: "maxHeight",
- transform: sizingTransform
- });
- const minHeight = style$1({
- prop: "minHeight",
- transform: sizingTransform
- });
- style$1({
- prop: "size",
- cssProperty: "width",
- transform: sizingTransform
- });
- style$1({
- prop: "size",
- cssProperty: "height",
- transform: sizingTransform
- });
- const boxSizing = style$1({
- prop: "boxSizing"
- });
- compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);
- const defaultSxConfig = {
- // borders
- border: {
- themeKey: "borders",
- transform: borderTransform
- },
- borderTop: {
- themeKey: "borders",
- transform: borderTransform
- },
- borderRight: {
- themeKey: "borders",
- transform: borderTransform
- },
- borderBottom: {
- themeKey: "borders",
- transform: borderTransform
- },
- borderLeft: {
- themeKey: "borders",
- transform: borderTransform
- },
- borderColor: {
- themeKey: "palette"
- },
- borderTopColor: {
- themeKey: "palette"
- },
- borderRightColor: {
- themeKey: "palette"
- },
- borderBottomColor: {
- themeKey: "palette"
- },
- borderLeftColor: {
- themeKey: "palette"
- },
- outline: {
- themeKey: "borders",
- transform: borderTransform
- },
- outlineColor: {
- themeKey: "palette"
- },
- borderRadius: {
- themeKey: "shape.borderRadius",
- style: borderRadius
- },
- // palette
- color: {
- themeKey: "palette",
- transform: paletteTransform
- },
- bgcolor: {
- themeKey: "palette",
- cssProperty: "backgroundColor",
- transform: paletteTransform
- },
- backgroundColor: {
- themeKey: "palette",
- transform: paletteTransform
- },
- // spacing
- p: {
- style: padding
- },
- pt: {
- style: padding
- },
- pr: {
- style: padding
- },
- pb: {
- style: padding
- },
- pl: {
- style: padding
- },
- px: {
- style: padding
- },
- py: {
- style: padding
- },
- padding: {
- style: padding
- },
- paddingTop: {
- style: padding
- },
- paddingRight: {
- style: padding
- },
- paddingBottom: {
- style: padding
- },
- paddingLeft: {
- style: padding
- },
- paddingX: {
- style: padding
- },
- paddingY: {
- style: padding
- },
- paddingInline: {
- style: padding
- },
- paddingInlineStart: {
- style: padding
- },
- paddingInlineEnd: {
- style: padding
- },
- paddingBlock: {
- style: padding
- },
- paddingBlockStart: {
- style: padding
- },
- paddingBlockEnd: {
- style: padding
- },
- m: {
- style: margin
- },
- mt: {
- style: margin
- },
- mr: {
- style: margin
- },
- mb: {
- style: margin
- },
- ml: {
- style: margin
- },
- mx: {
- style: margin
- },
- my: {
- style: margin
- },
- margin: {
- style: margin
- },
- marginTop: {
- style: margin
- },
- marginRight: {
- style: margin
- },
- marginBottom: {
- style: margin
- },
- marginLeft: {
- style: margin
- },
- marginX: {
- style: margin
- },
- marginY: {
- style: margin
- },
- marginInline: {
- style: margin
- },
- marginInlineStart: {
- style: margin
- },
- marginInlineEnd: {
- style: margin
- },
- marginBlock: {
- style: margin
- },
- marginBlockStart: {
- style: margin
- },
- marginBlockEnd: {
- style: margin
- },
- // display
- displayPrint: {
- cssProperty: false,
- transform: (value) => ({
- "@media print": {
- display: value
- }
- })
- },
- display: {},
- overflow: {},
- textOverflow: {},
- visibility: {},
- whiteSpace: {},
- // flexbox
- flexBasis: {},
- flexDirection: {},
- flexWrap: {},
- justifyContent: {},
- alignItems: {},
- alignContent: {},
- order: {},
- flex: {},
- flexGrow: {},
- flexShrink: {},
- alignSelf: {},
- justifyItems: {},
- justifySelf: {},
- // grid
- gap: {
- style: gap
- },
- rowGap: {
- style: rowGap
- },
- columnGap: {
- style: columnGap
- },
- gridColumn: {},
- gridRow: {},
- gridAutoFlow: {},
- gridAutoColumns: {},
- gridAutoRows: {},
- gridTemplateColumns: {},
- gridTemplateRows: {},
- gridTemplateAreas: {},
- gridArea: {},
- // positions
- position: {},
- zIndex: {
- themeKey: "zIndex"
- },
- top: {},
- right: {},
- bottom: {},
- left: {},
- // shadows
- boxShadow: {
- themeKey: "shadows"
- },
- // sizing
- width: {
- transform: sizingTransform
- },
- maxWidth: {
- style: maxWidth
- },
- minWidth: {
- transform: sizingTransform
- },
- height: {
- transform: sizingTransform
- },
- maxHeight: {
- transform: sizingTransform
- },
- minHeight: {
- transform: sizingTransform
- },
- boxSizing: {},
- // typography
- fontFamily: {
- themeKey: "typography"
- },
- fontSize: {
- themeKey: "typography"
- },
- fontStyle: {
- themeKey: "typography"
- },
- fontWeight: {
- themeKey: "typography"
- },
- letterSpacing: {},
- textTransform: {},
- lineHeight: {},
- textAlign: {},
- typography: {
- cssProperty: false,
- themeKey: "typography"
- }
- };
- const defaultSxConfig$1 = defaultSxConfig;
- function objectsHaveSameKeys(...objects) {
- const allKeys = objects.reduce((keys2, object) => keys2.concat(Object.keys(object)), []);
- const union = new Set(allKeys);
- return objects.every((object) => union.size === Object.keys(object).length);
- }
- function callIfFn(maybeFn, arg) {
- return typeof maybeFn === "function" ? maybeFn(arg) : maybeFn;
- }
- function unstable_createStyleFunctionSx() {
- function getThemeValue(prop, val, theme, config2) {
- const props = {
- [prop]: val,
- theme
- };
- const options = config2[prop];
- if (!options) {
- return {
- [prop]: val
- };
- }
- const {
- cssProperty = prop,
- themeKey,
- transform,
- style: style2
- } = options;
- if (val == null) {
- return null;
- }
- if (themeKey === "typography" && val === "inherit") {
- return {
- [prop]: val
- };
- }
- const themeMapping = getPath(theme, themeKey) || {};
- if (style2) {
- return style2(props);
- }
- const styleFromPropValue = (propValueFinal) => {
- let value = getStyleValue(themeMapping, transform, propValueFinal);
- if (propValueFinal === value && typeof propValueFinal === "string") {
- value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === "default" ? "" : capitalize$1(propValueFinal)}`, propValueFinal);
- }
- if (cssProperty === false) {
- return value;
- }
- return {
- [cssProperty]: value
- };
- };
- return handleBreakpoints(props, val, styleFromPropValue);
- }
- function styleFunctionSx2(props) {
- var _theme$unstable_sxCon;
- const {
- sx,
- theme = {}
- } = props || {};
- if (!sx) {
- return null;
- }
- const config2 = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : defaultSxConfig$1;
- function traverse(sxInput) {
- let sxObject = sxInput;
- if (typeof sxInput === "function") {
- sxObject = sxInput(theme);
- } else if (typeof sxInput !== "object") {
- return sxInput;
- }
- if (!sxObject) {
- return null;
- }
- const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);
- const breakpointsKeys = Object.keys(emptyBreakpoints);
- let css2 = emptyBreakpoints;
- Object.keys(sxObject).forEach((styleKey) => {
- const value = callIfFn(sxObject[styleKey], theme);
- if (value !== null && value !== void 0) {
- if (typeof value === "object") {
- if (config2[styleKey]) {
- css2 = merge(css2, getThemeValue(styleKey, value, theme, config2));
- } else {
- const breakpointsValues = handleBreakpoints({
- theme
- }, value, (x2) => ({
- [styleKey]: x2
- }));
- if (objectsHaveSameKeys(breakpointsValues, value)) {
- css2[styleKey] = styleFunctionSx2({
- sx: value,
- theme
- });
- } else {
- css2 = merge(css2, breakpointsValues);
- }
- }
- } else {
- css2 = merge(css2, getThemeValue(styleKey, value, theme, config2));
- }
- }
- });
- return removeUnusedBreakpoints(breakpointsKeys, css2);
- }
- return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);
- }
- return styleFunctionSx2;
- }
- const styleFunctionSx$1 = unstable_createStyleFunctionSx();
- styleFunctionSx$1.filterProps = ["sx"];
- function applyStyles(key, styles2) {
- const theme = this;
- if (theme.vars && typeof theme.getColorSchemeSelector === "function") {
- const selector = theme.getColorSchemeSelector(key).replace(/(\[[^\]]+\])/, "*:where($1)");
- return {
- [selector]: styles2
- };
- }
- if (theme.palette.mode === key) {
- return styles2;
- }
- return {};
- }
- const _excluded$i = ["breakpoints", "palette", "spacing", "shape"];
- function createTheme$2(options = {}, ...args) {
- const {
- breakpoints: breakpointsInput = {},
- palette: paletteInput = {},
- spacing: spacingInput,
- shape: shapeInput = {}
- } = options, other = _objectWithoutPropertiesLoose(options, _excluded$i);
- const breakpoints = createBreakpoints(breakpointsInput);
- const spacing = createSpacing(spacingInput);
- let muiTheme = deepmerge$1({
- breakpoints,
- direction: "ltr",
- components: {},
- // Inject component definitions.
- palette: _extends$1({
- mode: "light"
- }, paletteInput),
- spacing,
- shape: _extends$1({}, shape$1, shapeInput)
- }, other);
- muiTheme.applyStyles = applyStyles;
- muiTheme = args.reduce((acc, argument) => deepmerge$1(acc, argument), muiTheme);
- muiTheme.unstable_sxConfig = _extends$1({}, defaultSxConfig$1, other == null ? void 0 : other.unstable_sxConfig);
- muiTheme.unstable_sx = function sx(props) {
- return styleFunctionSx$1({
- sx: props,
- theme: this
- });
- };
- return muiTheme;
- }
- const createTheme$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
- __proto__: null,
- default: createTheme$2,
- private_createBreakpoints: createBreakpoints,
- unstable_applyStyles: applyStyles
- }, Symbol.toStringTag, { value: "Module" }));
- const require$$7 = /* @__PURE__ */ getAugmentedNamespace(createTheme$1);
- const _excluded$h = ["sx"];
- const splitProps = (props) => {
- var _props$theme$unstable, _props$theme;
- const result = {
- systemProps: {},
- otherProps: {}
- };
- const config2 = (_props$theme$unstable = props == null || (_props$theme = props.theme) == null ? void 0 : _props$theme.unstable_sxConfig) != null ? _props$theme$unstable : defaultSxConfig$1;
- Object.keys(props).forEach((prop) => {
- if (config2[prop]) {
- result.systemProps[prop] = props[prop];
- } else {
- result.otherProps[prop] = props[prop];
- }
- });
- return result;
- };
- function extendSxProp(props) {
- const {
- sx: inSx
- } = props, other = _objectWithoutPropertiesLoose(props, _excluded$h);
- const {
- systemProps,
- otherProps
- } = splitProps(other);
- let finalSx;
- if (Array.isArray(inSx)) {
- finalSx = [systemProps, ...inSx];
- } else if (typeof inSx === "function") {
- finalSx = (...args) => {
- const result = inSx(...args);
- if (!isPlainObject(result)) {
- return systemProps;
- }
- return _extends$1({}, systemProps, result);
- };
- } else {
- finalSx = _extends$1({}, systemProps, inSx);
- }
- return _extends$1({}, otherProps, {
- sx: finalSx
- });
- }
- const styleFunctionSx = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
- __proto__: null,
- default: styleFunctionSx$1,
- extendSxProp,
- unstable_createStyleFunctionSx,
- unstable_defaultSxConfig: defaultSxConfig$1
- }, Symbol.toStringTag, { value: "Module" }));
- const require$$8 = /* @__PURE__ */ getAugmentedNamespace(styleFunctionSx);
- var _interopRequireDefault = interopRequireDefaultExports;
- Object.defineProperty(createStyled$2, "__esModule", {
- value: true
- });
- var _default = createStyled$2.default = createStyled;
- var shouldForwardProp_1 = createStyled$2.shouldForwardProp = shouldForwardProp;
- createStyled$2.systemDefaultTheme = void 0;
- var _extends2 = _interopRequireDefault(require_extends());
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(requireObjectWithoutPropertiesLoose());
- var _styledEngine = _interopRequireWildcard(require$$1);
- var _deepmerge = require$$4;
- _interopRequireDefault(require$$5);
- _interopRequireDefault(require$$6);
- var _createTheme = _interopRequireDefault(require$$7);
- var _styleFunctionSx = _interopRequireDefault(require$$8);
- const _excluded$g = ["ownerState"], _excluded2$1 = ["variants"], _excluded3 = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
- function _getRequireWildcardCache(e2) {
- if ("function" != typeof WeakMap)
- return null;
- var r2 = /* @__PURE__ */ new WeakMap(), t2 = /* @__PURE__ */ new WeakMap();
- return (_getRequireWildcardCache = function(e22) {
- return e22 ? t2 : r2;
- })(e2);
- }
- function _interopRequireWildcard(e2, r2) {
- if (!r2 && e2 && e2.__esModule)
- return e2;
- if (null === e2 || "object" != typeof e2 && "function" != typeof e2)
- return { default: e2 };
- var t2 = _getRequireWildcardCache(r2);
- if (t2 && t2.has(e2))
- return t2.get(e2);
- var n2 = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
- for (var u2 in e2)
- if ("default" !== u2 && Object.prototype.hasOwnProperty.call(e2, u2)) {
- var i = a ? Object.getOwnPropertyDescriptor(e2, u2) : null;
- i && (i.get || i.set) ? Object.defineProperty(n2, u2, i) : n2[u2] = e2[u2];
- }
- return n2.default = e2, t2 && t2.set(e2, n2), n2;
- }
- function isEmpty(obj) {
- return Object.keys(obj).length === 0;
- }
- function isStringTag(tag) {
- return typeof tag === "string" && // 96 is one less than the char code
- // for "a" so this is checking that
- // it's a lowercase character
- tag.charCodeAt(0) > 96;
- }
- function shouldForwardProp(prop) {
- return prop !== "ownerState" && prop !== "theme" && prop !== "sx" && prop !== "as";
- }
- const systemDefaultTheme$1 = createStyled$2.systemDefaultTheme = (0, _createTheme.default)();
- const lowercaseFirstLetter = (string) => {
- if (!string) {
- return string;
- }
- return string.charAt(0).toLowerCase() + string.slice(1);
- };
- function resolveTheme({
- defaultTheme: defaultTheme2,
- theme,
- themeId
- }) {
- return isEmpty(theme) ? defaultTheme2 : theme[themeId] || theme;
- }
- function defaultOverridesResolver(slot) {
- if (!slot) {
- return null;
- }
- return (props, styles2) => styles2[slot];
- }
- function processStyleArg(callableStyle, _ref) {
- let {
- ownerState
- } = _ref, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded$g);
- const resolvedStylesArg = typeof callableStyle === "function" ? callableStyle((0, _extends2.default)({
- ownerState
- }, props)) : callableStyle;
- if (Array.isArray(resolvedStylesArg)) {
- return resolvedStylesArg.flatMap((resolvedStyle) => processStyleArg(resolvedStyle, (0, _extends2.default)({
- ownerState
- }, props)));
- }
- if (!!resolvedStylesArg && typeof resolvedStylesArg === "object" && Array.isArray(resolvedStylesArg.variants)) {
- const {
- variants = []
- } = resolvedStylesArg, otherStyles = (0, _objectWithoutPropertiesLoose2.default)(resolvedStylesArg, _excluded2$1);
- let result = otherStyles;
- variants.forEach((variant) => {
- let isMatch = true;
- if (typeof variant.props === "function") {
- isMatch = variant.props((0, _extends2.default)({
- ownerState
- }, props, ownerState));
- } else {
- Object.keys(variant.props).forEach((key) => {
- if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {
- isMatch = false;
- }
- });
- }
- if (isMatch) {
- if (!Array.isArray(result)) {
- result = [result];
- }
- result.push(typeof variant.style === "function" ? variant.style((0, _extends2.default)({
- ownerState
- }, props, ownerState)) : variant.style);
- }
- });
- return result;
- }
- return resolvedStylesArg;
- }
- function createStyled(input = {}) {
- const {
- themeId,
- defaultTheme: defaultTheme2 = systemDefaultTheme$1,
- rootShouldForwardProp: rootShouldForwardProp2 = shouldForwardProp,
- slotShouldForwardProp = shouldForwardProp
- } = input;
- const systemSx = (props) => {
- return (0, _styleFunctionSx.default)((0, _extends2.default)({}, props, {
- theme: resolveTheme((0, _extends2.default)({}, props, {
- defaultTheme: defaultTheme2,
- themeId
- }))
- }));
- };
- systemSx.__mui_systemSx = true;
- return (tag, inputOptions = {}) => {
- (0, _styledEngine.internal_processStyles)(tag, (styles2) => styles2.filter((style2) => !(style2 != null && style2.__mui_systemSx)));
- const {
- name: componentName,
- slot: componentSlot,
- skipVariantsResolver: inputSkipVariantsResolver,
- skipSx: inputSkipSx,
- // TODO v6: remove `lowercaseFirstLetter()` in the next major release
- // For more details: https://github.com/mui/material-ui/pull/37908
- overridesResolver: overridesResolver2 = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))
- } = inputOptions, options = (0, _objectWithoutPropertiesLoose2.default)(inputOptions, _excluded3);
- const skipVariantsResolver = inputSkipVariantsResolver !== void 0 ? inputSkipVariantsResolver : (
- // TODO v6: remove `Root` in the next major release
- // For more details: https://github.com/mui/material-ui/pull/37908
- componentSlot && componentSlot !== "Root" && componentSlot !== "root" || false
- );
- const skipSx = inputSkipSx || false;
- let label;
- let shouldForwardPropOption = shouldForwardProp;
- if (componentSlot === "Root" || componentSlot === "root") {
- shouldForwardPropOption = rootShouldForwardProp2;
- } else if (componentSlot) {
- shouldForwardPropOption = slotShouldForwardProp;
- } else if (isStringTag(tag)) {
- shouldForwardPropOption = void 0;
- }
- const defaultStyledResolver = (0, _styledEngine.default)(tag, (0, _extends2.default)({
- shouldForwardProp: shouldForwardPropOption,
- label
- }, options));
- const transformStyleArg = (stylesArg) => {
- if (typeof stylesArg === "function" && stylesArg.__emotion_real !== stylesArg || (0, _deepmerge.isPlainObject)(stylesArg)) {
- return (props) => processStyleArg(stylesArg, (0, _extends2.default)({}, props, {
- theme: resolveTheme({
- theme: props.theme,
- defaultTheme: defaultTheme2,
- themeId
- })
- }));
- }
- return stylesArg;
- };
- const muiStyledResolver = (styleArg, ...expressions) => {
- let transformedStyleArg = transformStyleArg(styleArg);
- const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];
- if (componentName && overridesResolver2) {
- expressionsWithDefaultTheme.push((props) => {
- const theme = resolveTheme((0, _extends2.default)({}, props, {
- defaultTheme: defaultTheme2,
- themeId
- }));
- if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {
- return null;
- }
- const styleOverrides = theme.components[componentName].styleOverrides;
- const resolvedStyleOverrides = {};
- Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {
- resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, (0, _extends2.default)({}, props, {
- theme
- }));
- });
- return overridesResolver2(props, resolvedStyleOverrides);
- });
- }
- if (componentName && !skipVariantsResolver) {
- expressionsWithDefaultTheme.push((props) => {
- var _theme$components;
- const theme = resolveTheme((0, _extends2.default)({}, props, {
- defaultTheme: defaultTheme2,
- themeId
- }));
- const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;
- return processStyleArg({
- variants: themeVariants
- }, (0, _extends2.default)({}, props, {
- theme
- }));
- });
- }
- if (!skipSx) {
- expressionsWithDefaultTheme.push(systemSx);
- }
- const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;
- if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {
- const placeholders = new Array(numOfCustomFnsApplied).fill("");
- transformedStyleArg = [...styleArg, ...placeholders];
- transformedStyleArg.raw = [...styleArg.raw, ...placeholders];
- }
- const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);
- if (tag.muiName) {
- Component.muiName = tag.muiName;
- }
- return Component;
- };
- if (defaultStyledResolver.withConfig) {
- muiStyledResolver.withConfig = defaultStyledResolver.withConfig;
- }
- return muiStyledResolver;
- };
- }
- const defaultGenerator = (componentName) => componentName;
- const createClassNameGenerator = () => {
- let generate = defaultGenerator;
- return {
- configure(generator) {
- generate = generator;
- },
- generate(componentName) {
- return generate(componentName);
- },
- reset() {
- generate = defaultGenerator;
- }
- };
- };
- const ClassNameGenerator = createClassNameGenerator();
- const globalStateClasses = {
- active: "active",
- checked: "checked",
- completed: "completed",
- disabled: "disabled",
- error: "error",
- expanded: "expanded",
- focused: "focused",
- focusVisible: "focusVisible",
- open: "open",
- readOnly: "readOnly",
- required: "required",
- selected: "selected"
- };
- function generateUtilityClass(componentName, slot, globalStatePrefix = "Mui") {
- const globalStateClass = globalStateClasses[slot];
- return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;
- }
- function createMixins(breakpoints, mixins) {
- return _extends$1({
- toolbar: {
- minHeight: 56,
- [breakpoints.up("xs")]: {
- "@media (orientation: landscape)": {
- minHeight: 48
- }
- },
- [breakpoints.up("sm")]: {
- minHeight: 64
- }
- }
- }, mixins);
- }
- const common = {
- black: "#000",
- white: "#fff"
- };
- const common$1 = common;
- const grey = {
- 50: "#fafafa",
- 100: "#f5f5f5",
- 200: "#eeeeee",
- 300: "#e0e0e0",
- 400: "#bdbdbd",
- 500: "#9e9e9e",
- 600: "#757575",
- 700: "#616161",
- 800: "#424242",
- 900: "#212121",
- A100: "#f5f5f5",
- A200: "#eeeeee",
- A400: "#bdbdbd",
- A700: "#616161"
- };
- const grey$1 = grey;
- const purple = {
- 50: "#f3e5f5",
- 100: "#e1bee7",
- 200: "#ce93d8",
- 300: "#ba68c8",
- 400: "#ab47bc",
- 500: "#9c27b0",
- 600: "#8e24aa",
- 700: "#7b1fa2",
- 800: "#6a1b9a",
- 900: "#4a148c",
- A100: "#ea80fc",
- A200: "#e040fb",
- A400: "#d500f9",
- A700: "#aa00ff"
- };
- const purple$1 = purple;
- const red = {
- 50: "#ffebee",
- 100: "#ffcdd2",
- 200: "#ef9a9a",
- 300: "#e57373",
- 400: "#ef5350",
- 500: "#f44336",
- 600: "#e53935",
- 700: "#d32f2f",
- 800: "#c62828",
- 900: "#b71c1c",
- A100: "#ff8a80",
- A200: "#ff5252",
- A400: "#ff1744",
- A700: "#d50000"
- };
- const red$1 = red;
- const orange = {
- 50: "#fff3e0",
- 100: "#ffe0b2",
- 200: "#ffcc80",
- 300: "#ffb74d",
- 400: "#ffa726",
- 500: "#ff9800",
- 600: "#fb8c00",
- 700: "#f57c00",
- 800: "#ef6c00",
- 900: "#e65100",
- A100: "#ffd180",
- A200: "#ffab40",
- A400: "#ff9100",
- A700: "#ff6d00"
- };
- const orange$1 = orange;
- const blue = {
- 50: "#e3f2fd",
- 100: "#bbdefb",
- 200: "#90caf9",
- 300: "#64b5f6",
- 400: "#42a5f5",
- 500: "#2196f3",
- 600: "#1e88e5",
- 700: "#1976d2",
- 800: "#1565c0",
- 900: "#0d47a1",
- A100: "#82b1ff",
- A200: "#448aff",
- A400: "#2979ff",
- A700: "#2962ff"
- };
- const blue$1 = blue;
- const lightBlue = {
- 50: "#e1f5fe",
- 100: "#b3e5fc",
- 200: "#81d4fa",
- 300: "#4fc3f7",
- 400: "#29b6f6",
- 500: "#03a9f4",
- 600: "#039be5",
- 700: "#0288d1",
- 800: "#0277bd",
- 900: "#01579b",
- A100: "#80d8ff",
- A200: "#40c4ff",
- A400: "#00b0ff",
- A700: "#0091ea"
- };
- const lightBlue$1 = lightBlue;
- const green = {
- 50: "#e8f5e9",
- 100: "#c8e6c9",
- 200: "#a5d6a7",
- 300: "#81c784",
- 400: "#66bb6a",
- 500: "#4caf50",
- 600: "#43a047",
- 700: "#388e3c",
- 800: "#2e7d32",
- 900: "#1b5e20",
- A100: "#b9f6ca",
- A200: "#69f0ae",
- A400: "#00e676",
- A700: "#00c853"
- };
- const green$1 = green;
- const _excluded$f = ["mode", "contrastThreshold", "tonalOffset"];
- const light = {
- // The colors used to style the text.
- text: {
- // The most important text.
- primary: "rgba(0, 0, 0, 0.87)",
- // Secondary text.
- secondary: "rgba(0, 0, 0, 0.6)",
- // Disabled text have even lower visual prominence.
- disabled: "rgba(0, 0, 0, 0.38)"
- },
- // The color used to divide different elements.
- divider: "rgba(0, 0, 0, 0.12)",
- // The background colors used to style the surfaces.
- // Consistency between these values is important.
- background: {
- paper: common$1.white,
- default: common$1.white
- },
- // The colors used to style the action elements.
- action: {
- // The color of an active action like an icon button.
- active: "rgba(0, 0, 0, 0.54)",
- // The color of an hovered action.
- hover: "rgba(0, 0, 0, 0.04)",
- hoverOpacity: 0.04,
- // The color of a selected action.
- selected: "rgba(0, 0, 0, 0.08)",
- selectedOpacity: 0.08,
- // The color of a disabled action.
- disabled: "rgba(0, 0, 0, 0.26)",
- // The background color of a disabled action.
- disabledBackground: "rgba(0, 0, 0, 0.12)",
- disabledOpacity: 0.38,
- focus: "rgba(0, 0, 0, 0.12)",
- focusOpacity: 0.12,
- activatedOpacity: 0.12
- }
- };
- const dark = {
- text: {
- primary: common$1.white,
- secondary: "rgba(255, 255, 255, 0.7)",
- disabled: "rgba(255, 255, 255, 0.5)",
- icon: "rgba(255, 255, 255, 0.5)"
- },
- divider: "rgba(255, 255, 255, 0.12)",
- background: {
- paper: "#121212",
- default: "#121212"
- },
- action: {
- active: common$1.white,
- hover: "rgba(255, 255, 255, 0.08)",
- hoverOpacity: 0.08,
- selected: "rgba(255, 255, 255, 0.16)",
- selectedOpacity: 0.16,
- disabled: "rgba(255, 255, 255, 0.3)",
- disabledBackground: "rgba(255, 255, 255, 0.12)",
- disabledOpacity: 0.38,
- focus: "rgba(255, 255, 255, 0.12)",
- focusOpacity: 0.12,
- activatedOpacity: 0.24
- }
- };
- function addLightOrDark(intent, direction, shade, tonalOffset) {
- const tonalOffsetLight = tonalOffset.light || tonalOffset;
- const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;
- if (!intent[direction]) {
- if (intent.hasOwnProperty(shade)) {
- intent[direction] = intent[shade];
- } else if (direction === "light") {
- intent.light = lighten_1(intent.main, tonalOffsetLight);
- } else if (direction === "dark") {
- intent.dark = darken_1(intent.main, tonalOffsetDark);
- }
- }
- }
- function getDefaultPrimary(mode = "light") {
- if (mode === "dark") {
- return {
- main: blue$1[200],
- light: blue$1[50],
- dark: blue$1[400]
- };
- }
- return {
- main: blue$1[700],
- light: blue$1[400],
- dark: blue$1[800]
- };
- }
- function getDefaultSecondary(mode = "light") {
- if (mode === "dark") {
- return {
- main: purple$1[200],
- light: purple$1[50],
- dark: purple$1[400]
- };
- }
- return {
- main: purple$1[500],
- light: purple$1[300],
- dark: purple$1[700]
- };
- }
- function getDefaultError(mode = "light") {
- if (mode === "dark") {
- return {
- main: red$1[500],
- light: red$1[300],
- dark: red$1[700]
- };
- }
- return {
- main: red$1[700],
- light: red$1[400],
- dark: red$1[800]
- };
- }
- function getDefaultInfo(mode = "light") {
- if (mode === "dark") {
- return {
- main: lightBlue$1[400],
- light: lightBlue$1[300],
- dark: lightBlue$1[700]
- };
- }
- return {
- main: lightBlue$1[700],
- light: lightBlue$1[500],
- dark: lightBlue$1[900]
- };
- }
- function getDefaultSuccess(mode = "light") {
- if (mode === "dark") {
- return {
- main: green$1[400],
- light: green$1[300],
- dark: green$1[700]
- };
- }
- return {
- main: green$1[800],
- light: green$1[500],
- dark: green$1[900]
- };
- }
- function getDefaultWarning(mode = "light") {
- if (mode === "dark") {
- return {
- main: orange$1[400],
- light: orange$1[300],
- dark: orange$1[700]
- };
- }
- return {
- main: "#ed6c02",
- // closest to orange[800] that pass 3:1.
- light: orange$1[500],
- dark: orange$1[900]
- };
- }
- function createPalette(palette) {
- const {
- mode = "light",
- contrastThreshold = 3,
- tonalOffset = 0.2
- } = palette, other = _objectWithoutPropertiesLoose(palette, _excluded$f);
- const primary = palette.primary || getDefaultPrimary(mode);
- const secondary = palette.secondary || getDefaultSecondary(mode);
- const error = palette.error || getDefaultError(mode);
- const info = palette.info || getDefaultInfo(mode);
- const success = palette.success || getDefaultSuccess(mode);
- const warning = palette.warning || getDefaultWarning(mode);
- function getContrastText(background) {
- const contrastText = getContrastRatio_1(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;
- return contrastText;
- }
- const augmentColor = ({
- color: color2,
- name,
- mainShade = 500,
- lightShade = 300,
- darkShade = 700
- }) => {
- color2 = _extends$1({}, color2);
- if (!color2.main && color2[mainShade]) {
- color2.main = color2[mainShade];
- }
- if (!color2.hasOwnProperty("main")) {
- throw new Error(formatMuiErrorMessage$1(11, name ? ` (${name})` : "", mainShade));
- }
- if (typeof color2.main !== "string") {
- throw new Error(formatMuiErrorMessage$1(12, name ? ` (${name})` : "", JSON.stringify(color2.main)));
- }
- addLightOrDark(color2, "light", lightShade, tonalOffset);
- addLightOrDark(color2, "dark", darkShade, tonalOffset);
- if (!color2.contrastText) {
- color2.contrastText = getContrastText(color2.main);
- }
- return color2;
- };
- const modes = {
- dark,
- light
- };
- const paletteOutput = deepmerge$1(_extends$1({
- // A collection of common colors.
- common: _extends$1({}, common$1),
- // prevent mutable object.
- // The palette mode, can be light or dark.
- mode,
- // The colors used to represent primary interface elements for a user.
- primary: augmentColor({
- color: primary,
- name: "primary"
- }),
- // The colors used to represent secondary interface elements for a user.
- secondary: augmentColor({
- color: secondary,
- name: "secondary",
- mainShade: "A400",
- lightShade: "A200",
- darkShade: "A700"
- }),
- // The colors used to represent interface elements that the user should be made aware of.
- error: augmentColor({
- color: error,
- name: "error"
- }),
- // The colors used to represent potentially dangerous actions or important messages.
- warning: augmentColor({
- color: warning,
- name: "warning"
- }),
- // The colors used to present information to the user that is neutral and not necessarily important.
- info: augmentColor({
- color: info,
- name: "info"
- }),
- // The colors used to indicate the successful completion of an action that user triggered.
- success: augmentColor({
- color: success,
- name: "success"
- }),
- // The grey colors.
- grey: grey$1,
- // Used by `getContrastText()` to maximize the contrast between
- // the background and the text.
- contrastThreshold,
- // Takes a background color and returns the text color that maximizes the contrast.
- getContrastText,
- // Generate a rich color object.
- augmentColor,
- // Used by the functions below to shift a color's luminance by approximately
- // two indexes within its tonal palette.
- // E.g., shift from Red 500 to Red 300 or Red 700.
- tonalOffset
- }, modes[mode]), other);
- return paletteOutput;
- }
- const _excluded$e = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
- function round(value) {
- return Math.round(value * 1e5) / 1e5;
- }
- const caseAllCaps = {
- textTransform: "uppercase"
- };
- const defaultFontFamily = '"Roboto", "Helvetica", "Arial", sans-serif';
- function createTypography(palette, typography) {
- const _ref = typeof typography === "function" ? typography(palette) : typography, {
- fontFamily = defaultFontFamily,
- // The default font size of the Material Specification.
- fontSize = 14,
- // px
- fontWeightLight = 300,
- fontWeightRegular = 400,
- fontWeightMedium = 500,
- fontWeightBold = 700,
- // Tell MUI what's the font-size on the html element.
- // 16px is the default font-size used by browsers.
- htmlFontSize = 16,
- // Apply the CSS properties to all the variants.
- allVariants,
- pxToRem: pxToRem2
- } = _ref, other = _objectWithoutPropertiesLoose(_ref, _excluded$e);
- const coef = fontSize / 14;
- const pxToRem = pxToRem2 || ((size) => `${size / htmlFontSize * coef}rem`);
- const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends$1({
- fontFamily,
- fontWeight,
- fontSize: pxToRem(size),
- // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/
- lineHeight
- }, fontFamily === defaultFontFamily ? {
- letterSpacing: `${round(letterSpacing / size)}em`
- } : {}, casing, allVariants);
- const variants = {
- h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),
- h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),
- h3: buildVariant(fontWeightRegular, 48, 1.167, 0),
- h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),
- h5: buildVariant(fontWeightRegular, 24, 1.334, 0),
- h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),
- subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),
- subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),
- body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),
- body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),
- button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),
- caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),
- overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),
- // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.
- inherit: {
- fontFamily: "inherit",
- fontWeight: "inherit",
- fontSize: "inherit",
- lineHeight: "inherit",
- letterSpacing: "inherit"
- }
- };
- return deepmerge$1(_extends$1({
- htmlFontSize,
- pxToRem,
- fontFamily,
- fontSize,
- fontWeightLight,
- fontWeightRegular,
- fontWeightMedium,
- fontWeightBold
- }, variants), other, {
- clone: false
- // No need to clone deep
- });
- }
- const shadowKeyUmbraOpacity = 0.2;
- const shadowKeyPenumbraOpacity = 0.14;
- const shadowAmbientShadowOpacity = 0.12;
- function createShadow(...px) {
- return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(",");
- }
- const shadows = ["none", createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];
- const _excluded$d = ["duration", "easing", "delay"];
- const easing = {
- // This is the most common easing curve.
- easeInOut: "cubic-bezier(0.4, 0, 0.2, 1)",
- // Objects enter the screen at full velocity from off-screen and
- // slowly decelerate to a resting point.
- easeOut: "cubic-bezier(0.0, 0, 0.2, 1)",
- // Objects leave the screen at full velocity. They do not decelerate when off-screen.
- easeIn: "cubic-bezier(0.4, 0, 1, 1)",
- // The sharp curve is used by objects that may return to the screen at any time.
- sharp: "cubic-bezier(0.4, 0, 0.6, 1)"
- };
- const duration = {
- shortest: 150,
- shorter: 200,
- short: 250,
- // most basic recommended timing
- standard: 300,
- // this is to be used in complex animations
- complex: 375,
- // recommended when something is entering screen
- enteringScreen: 225,
- // recommended when something is leaving screen
- leavingScreen: 195
- };
- function formatMs(milliseconds) {
- return `${Math.round(milliseconds)}ms`;
- }
- function getAutoHeightDuration(height2) {
- if (!height2) {
- return 0;
- }
- const constant = height2 / 36;
- return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);
- }
- function createTransitions(inputTransitions) {
- const mergedEasing = _extends$1({}, easing, inputTransitions.easing);
- const mergedDuration = _extends$1({}, duration, inputTransitions.duration);
- const create = (props = ["all"], options = {}) => {
- const {
- duration: durationOption = mergedDuration.standard,
- easing: easingOption = mergedEasing.easeInOut,
- delay = 0
- } = options;
- _objectWithoutPropertiesLoose(options, _excluded$d);
- return (Array.isArray(props) ? props : [props]).map((animatedProp) => `${animatedProp} ${typeof durationOption === "string" ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === "string" ? delay : formatMs(delay)}`).join(",");
- };
- return _extends$1({
- getAutoHeightDuration,
- create
- }, inputTransitions, {
- easing: mergedEasing,
- duration: mergedDuration
- });
- }
- const zIndex = {
- mobileStepper: 1e3,
- fab: 1050,
- speedDial: 1050,
- appBar: 1100,
- drawer: 1200,
- modal: 1300,
- snackbar: 1400,
- tooltip: 1500
- };
- const zIndex$1 = zIndex;
- const _excluded$c = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
- function createTheme(options = {}, ...args) {
- const {
- mixins: mixinsInput = {},
- palette: paletteInput = {},
- transitions: transitionsInput = {},
- typography: typographyInput = {}
- } = options, other = _objectWithoutPropertiesLoose(options, _excluded$c);
- if (options.vars) {
- throw new Error(formatMuiErrorMessage$1(18));
- }
- const palette = createPalette(paletteInput);
- const systemTheme = createTheme$2(options);
- let muiTheme = deepmerge$1(systemTheme, {
- mixins: createMixins(systemTheme.breakpoints, mixinsInput),
- palette,
- // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.
- shadows: shadows.slice(),
- typography: createTypography(palette, typographyInput),
- transitions: createTransitions(transitionsInput),
- zIndex: _extends$1({}, zIndex$1)
- });
- muiTheme = deepmerge$1(muiTheme, other);
- muiTheme = args.reduce((acc, argument) => deepmerge$1(acc, argument), muiTheme);
- muiTheme.unstable_sxConfig = _extends$1({}, defaultSxConfig$1, other == null ? void 0 : other.unstable_sxConfig);
- muiTheme.unstable_sx = function sx(props) {
- return styleFunctionSx$1({
- sx: props,
- theme: this
- });
- };
- return muiTheme;
- }
- const defaultTheme$1 = createTheme();
- const defaultTheme$2 = defaultTheme$1;
- const THEME_ID = "$$material";
- const rootShouldForwardProp = (prop) => shouldForwardProp_1(prop) && prop !== "classes";
- const styled = _default({
- themeId: THEME_ID,
- defaultTheme: defaultTheme$2,
- rootShouldForwardProp
- });
- function getThemeProps(params) {
- const {
- theme,
- name,
- props
- } = params;
- if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {
- return props;
- }
- return resolveProps(theme.components[name].defaultProps, props);
- }
- function isObjectEmpty(obj) {
- return Object.keys(obj).length === 0;
- }
- function useTheme$3(defaultTheme2 = null) {
- const contextTheme = React__namespace.useContext(ThemeContext$2);
- return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme2 : contextTheme;
- }
- const systemDefaultTheme = createTheme$2();
- function useTheme$2(defaultTheme2 = systemDefaultTheme) {
- return useTheme$3(defaultTheme2);
- }
- function useThemeProps$1({
- props,
- name,
- defaultTheme: defaultTheme2,
- themeId
- }) {
- let theme = useTheme$2(defaultTheme2);
- if (themeId) {
- theme = theme[themeId] || theme;
- }
- const mergedProps = getThemeProps({
- theme,
- name,
- props
- });
- return mergedProps;
- }
- function useThemeProps({
- props,
- name
- }) {
- return useThemeProps$1({
- props,
- name,
- defaultTheme: defaultTheme$2,
- themeId: THEME_ID
- });
- }
- function setRef(ref, value) {
- if (typeof ref === "function") {
- ref(value);
- } else if (ref) {
- ref.current = value;
- }
- }
- function useForkRef(...refs) {
- return React__namespace.useMemo(() => {
- if (refs.every((ref) => ref == null)) {
- return null;
- }
- return (instance) => {
- refs.forEach((ref) => {
- setRef(ref, instance);
- });
- };
- }, refs);
- }
- const useEnhancedEffect = typeof window !== "undefined" ? React__namespace.useLayoutEffect : React__namespace.useEffect;
- function useEventCallback(fn) {
- const ref = React__namespace.useRef(fn);
- useEnhancedEffect(() => {
- ref.current = fn;
- });
- return React__namespace.useRef((...args) => (
- // @ts-expect-error hide `this`
- (0, ref.current)(...args)
- )).current;
- }
- const UNINITIALIZED = {};
- function useLazyRef(init, initArg) {
- const ref = React__namespace.useRef(UNINITIALIZED);
- if (ref.current === UNINITIALIZED) {
- ref.current = init(initArg);
- }
- return ref;
- }
- const EMPTY = [];
- function useOnMount(fn) {
- React__namespace.useEffect(fn, EMPTY);
- }
- class Timeout {
- constructor() {
- this.currentId = null;
- this.clear = () => {
- if (this.currentId !== null) {
- clearTimeout(this.currentId);
- this.currentId = null;
- }
- };
- this.disposeEffect = () => {
- return this.clear;
- };
- }
- static create() {
- return new Timeout();
- }
- /**
- * Executes `fn` after `delay`, clearing any previously scheduled call.
- */
- start(delay, fn) {
- this.clear();
- this.currentId = setTimeout(() => {
- this.currentId = null;
- fn();
- }, delay);
- }
- }
- function useTimeout() {
- const timeout = useLazyRef(Timeout.create).current;
- useOnMount(timeout.disposeEffect);
- return timeout;
- }
- let hadKeyboardEvent = true;
- let hadFocusVisibleRecently = false;
- const hadFocusVisibleRecentlyTimeout = new Timeout();
- const inputTypesWhitelist = {
- text: true,
- search: true,
- url: true,
- tel: true,
- email: true,
- password: true,
- number: true,
- date: true,
- month: true,
- week: true,
- time: true,
- datetime: true,
- "datetime-local": true
- };
- function focusTriggersKeyboardModality(node2) {
- const {
- type,
- tagName
- } = node2;
- if (tagName === "INPUT" && inputTypesWhitelist[type] && !node2.readOnly) {
- return true;
- }
- if (tagName === "TEXTAREA" && !node2.readOnly) {
- return true;
- }
- if (node2.isContentEditable) {
- return true;
- }
- return false;
- }
- function handleKeyDown(event) {
- if (event.metaKey || event.altKey || event.ctrlKey) {
- return;
- }
- hadKeyboardEvent = true;
- }
- function handlePointerDown() {
- hadKeyboardEvent = false;
- }
- function handleVisibilityChange() {
- if (this.visibilityState === "hidden") {
- if (hadFocusVisibleRecently) {
- hadKeyboardEvent = true;
- }
- }
- }
- function prepare(doc) {
- doc.addEventListener("keydown", handleKeyDown, true);
- doc.addEventListener("mousedown", handlePointerDown, true);
- doc.addEventListener("pointerdown", handlePointerDown, true);
- doc.addEventListener("touchstart", handlePointerDown, true);
- doc.addEventListener("visibilitychange", handleVisibilityChange, true);
- }
- function isFocusVisible(event) {
- const {
- target
- } = event;
- try {
- return target.matches(":focus-visible");
- } catch (error) {
- }
- return hadKeyboardEvent || focusTriggersKeyboardModality(target);
- }
- function useIsFocusVisible() {
- const ref = React__namespace.useCallback((node2) => {
- if (node2 != null) {
- prepare(node2.ownerDocument);
- }
- }, []);
- const isFocusVisibleRef = React__namespace.useRef(false);
- function handleBlurVisible() {
- if (isFocusVisibleRef.current) {
- hadFocusVisibleRecently = true;
- hadFocusVisibleRecentlyTimeout.start(100, () => {
- hadFocusVisibleRecently = false;
- });
- isFocusVisibleRef.current = false;
- return true;
- }
- return false;
- }
- function handleFocusVisible(event) {
- if (isFocusVisible(event)) {
- isFocusVisibleRef.current = true;
- return true;
- }
- return false;
- }
- return {
- isFocusVisibleRef,
- onFocus: handleFocusVisible,
- onBlur: handleBlurVisible,
- ref
- };
- }
- function _setPrototypeOf(o, p2) {
- _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf2(o2, p3) {
- o2.__proto__ = p3;
- return o2;
- };
- return _setPrototypeOf(o, p2);
- }
- function _inheritsLoose(subClass, superClass) {
- subClass.prototype = Object.create(superClass.prototype);
- subClass.prototype.constructor = subClass;
- _setPrototypeOf(subClass, superClass);
- }
- const config = {
- disabled: false
- };
- const TransitionGroupContext = React.createContext(null);
- var forceReflow = function forceReflow2(node2) {
- return node2.scrollTop;
- };
- var UNMOUNTED = "unmounted";
- var EXITED = "exited";
- var ENTERING = "entering";
- var ENTERED = "entered";
- var EXITING = "exiting";
- var Transition = /* @__PURE__ */ function(_React$Component) {
- _inheritsLoose(Transition2, _React$Component);
- function Transition2(props, context) {
- var _this;
- _this = _React$Component.call(this, props, context) || this;
- var parentGroup = context;
- var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
- var initialStatus;
- _this.appearStatus = null;
- if (props.in) {
- if (appear) {
- initialStatus = EXITED;
- _this.appearStatus = ENTERING;
- } else {
- initialStatus = ENTERED;
- }
- } else {
- if (props.unmountOnExit || props.mountOnEnter) {
- initialStatus = UNMOUNTED;
- } else {
- initialStatus = EXITED;
- }
- }
- _this.state = {
- status: initialStatus
- };
- _this.nextCallback = null;
- return _this;
- }
- Transition2.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
- var nextIn = _ref.in;
- if (nextIn && prevState.status === UNMOUNTED) {
- return {
- status: EXITED
- };
- }
- return null;
- };
- var _proto = Transition2.prototype;
- _proto.componentDidMount = function componentDidMount() {
- this.updateStatus(true, this.appearStatus);
- };
- _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
- var nextStatus = null;
- if (prevProps !== this.props) {
- var status = this.state.status;
- if (this.props.in) {
- if (status !== ENTERING && status !== ENTERED) {
- nextStatus = ENTERING;
- }
- } else {
- if (status === ENTERING || status === ENTERED) {
- nextStatus = EXITING;
- }
- }
- }
- this.updateStatus(false, nextStatus);
- };
- _proto.componentWillUnmount = function componentWillUnmount() {
- this.cancelNextCallback();
- };
- _proto.getTimeouts = function getTimeouts() {
- var timeout2 = this.props.timeout;
- var exit, enter, appear;
- exit = enter = appear = timeout2;
- if (timeout2 != null && typeof timeout2 !== "number") {
- exit = timeout2.exit;
- enter = timeout2.enter;
- appear = timeout2.appear !== void 0 ? timeout2.appear : enter;
- }
- return {
- exit,
- enter,
- appear
- };
- };
- _proto.updateStatus = function updateStatus(mounting, nextStatus) {
- if (mounting === void 0) {
- mounting = false;
- }
- if (nextStatus !== null) {
- this.cancelNextCallback();
- if (nextStatus === ENTERING) {
- if (this.props.unmountOnExit || this.props.mountOnEnter) {
- var node2 = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM__default.findDOMNode(this);
- if (node2)
- forceReflow(node2);
- }
- this.performEnter(mounting);
- } else {
- this.performExit();
- }
- } else if (this.props.unmountOnExit && this.state.status === EXITED) {
- this.setState({
- status: UNMOUNTED
- });
- }
- };
- _proto.performEnter = function performEnter(mounting) {
- var _this2 = this;
- var enter = this.props.enter;
- var appearing = this.context ? this.context.isMounting : mounting;
- var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM__default.findDOMNode(this), appearing], maybeNode = _ref2[0], maybeAppearing = _ref2[1];
- var timeouts = this.getTimeouts();
- var enterTimeout = appearing ? timeouts.appear : timeouts.enter;
- if (!mounting && !enter || config.disabled) {
- this.safeSetState({
- status: ENTERED
- }, function() {
- _this2.props.onEntered(maybeNode);
- });
- return;
- }
- this.props.onEnter(maybeNode, maybeAppearing);
- this.safeSetState({
- status: ENTERING
- }, function() {
- _this2.props.onEntering(maybeNode, maybeAppearing);
- _this2.onTransitionEnd(enterTimeout, function() {
- _this2.safeSetState({
- status: ENTERED
- }, function() {
- _this2.props.onEntered(maybeNode, maybeAppearing);
- });
- });
- });
- };
- _proto.performExit = function performExit() {
- var _this3 = this;
- var exit = this.props.exit;
- var timeouts = this.getTimeouts();
- var maybeNode = this.props.nodeRef ? void 0 : ReactDOM__default.findDOMNode(this);
- if (!exit || config.disabled) {
- this.safeSetState({
- status: EXITED
- }, function() {
- _this3.props.onExited(maybeNode);
- });
- return;
- }
- this.props.onExit(maybeNode);
- this.safeSetState({
- status: EXITING
- }, function() {
- _this3.props.onExiting(maybeNode);
- _this3.onTransitionEnd(timeouts.exit, function() {
- _this3.safeSetState({
- status: EXITED
- }, function() {
- _this3.props.onExited(maybeNode);
- });
- });
- });
- };
- _proto.cancelNextCallback = function cancelNextCallback() {
- if (this.nextCallback !== null) {
- this.nextCallback.cancel();
- this.nextCallback = null;
- }
- };
- _proto.safeSetState = function safeSetState(nextState, callback) {
- callback = this.setNextCallback(callback);
- this.setState(nextState, callback);
- };
- _proto.setNextCallback = function setNextCallback(callback) {
- var _this4 = this;
- var active = true;
- this.nextCallback = function(event) {
- if (active) {
- active = false;
- _this4.nextCallback = null;
- callback(event);
- }
- };
- this.nextCallback.cancel = function() {
- active = false;
- };
- return this.nextCallback;
- };
- _proto.onTransitionEnd = function onTransitionEnd(timeout2, handler) {
- this.setNextCallback(handler);
- var node2 = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM__default.findDOMNode(this);
- var doesNotHaveTimeoutOrListener = timeout2 == null && !this.props.addEndListener;
- if (!node2 || doesNotHaveTimeoutOrListener) {
- setTimeout(this.nextCallback, 0);
- return;
- }
- if (this.props.addEndListener) {
- var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node2, this.nextCallback], maybeNode = _ref3[0], maybeNextCallback = _ref3[1];
- this.props.addEndListener(maybeNode, maybeNextCallback);
- }
- if (timeout2 != null) {
- setTimeout(this.nextCallback, timeout2);
- }
- };
- _proto.render = function render() {
- var status = this.state.status;
- if (status === UNMOUNTED) {
- return null;
- }
- var _this$props = this.props, children = _this$props.children;
- _this$props.in;
- _this$props.mountOnEnter;
- _this$props.unmountOnExit;
- _this$props.appear;
- _this$props.enter;
- _this$props.exit;
- _this$props.timeout;
- _this$props.addEndListener;
- _this$props.onEnter;
- _this$props.onEntering;
- _this$props.onEntered;
- _this$props.onExit;
- _this$props.onExiting;
- _this$props.onExited;
- _this$props.nodeRef;
- var childProps = _objectWithoutPropertiesLoose(_this$props, ["children", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]);
- return (
- // allows for nested Transitions
- /* @__PURE__ */ React.createElement(TransitionGroupContext.Provider, {
- value: null
- }, typeof children === "function" ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))
- );
- };
- return Transition2;
- }(React.Component);
- Transition.contextType = TransitionGroupContext;
- Transition.propTypes = {};
- function noop() {
- }
- Transition.defaultProps = {
- in: false,
- mountOnEnter: false,
- unmountOnExit: false,
- appear: false,
- enter: true,
- exit: true,
- onEnter: noop,
- onEntering: noop,
- onEntered: noop,
- onExit: noop,
- onExiting: noop,
- onExited: noop
- };
- Transition.UNMOUNTED = UNMOUNTED;
- Transition.EXITED = EXITED;
- Transition.ENTERING = ENTERING;
- Transition.ENTERED = ENTERED;
- Transition.EXITING = EXITING;
- const Transition$1 = Transition;
- function _assertThisInitialized(self2) {
- if (self2 === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return self2;
- }
- function getChildMapping(children, mapFn) {
- var mapper = function mapper2(child) {
- return mapFn && React.isValidElement(child) ? mapFn(child) : child;
- };
- var result = /* @__PURE__ */ Object.create(null);
- if (children)
- React.Children.map(children, function(c2) {
- return c2;
- }).forEach(function(child) {
- result[child.key] = mapper(child);
- });
- return result;
- }
- function mergeChildMappings(prev2, next2) {
- prev2 = prev2 || {};
- next2 = next2 || {};
- function getValueForKey(key) {
- return key in next2 ? next2[key] : prev2[key];
- }
- var nextKeysPending = /* @__PURE__ */ Object.create(null);
- var pendingKeys = [];
- for (var prevKey in prev2) {
- if (prevKey in next2) {
- if (pendingKeys.length) {
- nextKeysPending[prevKey] = pendingKeys;
- pendingKeys = [];
- }
- } else {
- pendingKeys.push(prevKey);
- }
- }
- var i;
- var childMapping = {};
- for (var nextKey in next2) {
- if (nextKeysPending[nextKey]) {
- for (i = 0; i < nextKeysPending[nextKey].length; i++) {
- var pendingNextKey = nextKeysPending[nextKey][i];
- childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);
- }
- }
- childMapping[nextKey] = getValueForKey(nextKey);
- }
- for (i = 0; i < pendingKeys.length; i++) {
- childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);
- }
- return childMapping;
- }
- function getProp(child, prop, props) {
- return props[prop] != null ? props[prop] : child.props[prop];
- }
- function getInitialChildMapping(props, onExited) {
- return getChildMapping(props.children, function(child) {
- return React.cloneElement(child, {
- onExited: onExited.bind(null, child),
- in: true,
- appear: getProp(child, "appear", props),
- enter: getProp(child, "enter", props),
- exit: getProp(child, "exit", props)
- });
- });
- }
- function getNextChildMapping(nextProps, prevChildMapping, onExited) {
- var nextChildMapping = getChildMapping(nextProps.children);
- var children = mergeChildMappings(prevChildMapping, nextChildMapping);
- Object.keys(children).forEach(function(key) {
- var child = children[key];
- if (!React.isValidElement(child))
- return;
- var hasPrev = key in prevChildMapping;
- var hasNext = key in nextChildMapping;
- var prevChild = prevChildMapping[key];
- var isLeaving = React.isValidElement(prevChild) && !prevChild.props.in;
- if (hasNext && (!hasPrev || isLeaving)) {
- children[key] = React.cloneElement(child, {
- onExited: onExited.bind(null, child),
- in: true,
- exit: getProp(child, "exit", nextProps),
- enter: getProp(child, "enter", nextProps)
- });
- } else if (!hasNext && hasPrev && !isLeaving) {
- children[key] = React.cloneElement(child, {
- in: false
- });
- } else if (hasNext && hasPrev && React.isValidElement(prevChild)) {
- children[key] = React.cloneElement(child, {
- onExited: onExited.bind(null, child),
- in: prevChild.props.in,
- exit: getProp(child, "exit", nextProps),
- enter: getProp(child, "enter", nextProps)
- });
- }
- });
- return children;
- }
- var values = Object.values || function(obj) {
- return Object.keys(obj).map(function(k2) {
- return obj[k2];
- });
- };
- var defaultProps = {
- component: "div",
- childFactory: function childFactory(child) {
- return child;
- }
- };
- var TransitionGroup = /* @__PURE__ */ function(_React$Component) {
- _inheritsLoose(TransitionGroup2, _React$Component);
- function TransitionGroup2(props, context) {
- var _this;
- _this = _React$Component.call(this, props, context) || this;
- var handleExited = _this.handleExited.bind(_assertThisInitialized(_this));
- _this.state = {
- contextValue: {
- isMounting: true
- },
- handleExited,
- firstRender: true
- };
- return _this;
- }
- var _proto = TransitionGroup2.prototype;
- _proto.componentDidMount = function componentDidMount() {
- this.mounted = true;
- this.setState({
- contextValue: {
- isMounting: false
- }
- });
- };
- _proto.componentWillUnmount = function componentWillUnmount() {
- this.mounted = false;
- };
- TransitionGroup2.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {
- var prevChildMapping = _ref.children, handleExited = _ref.handleExited, firstRender = _ref.firstRender;
- return {
- children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),
- firstRender: false
- };
- };
- _proto.handleExited = function handleExited(child, node2) {
- var currentChildMapping = getChildMapping(this.props.children);
- if (child.key in currentChildMapping)
- return;
- if (child.props.onExited) {
- child.props.onExited(node2);
- }
- if (this.mounted) {
- this.setState(function(state) {
- var children = _extends$1({}, state.children);
- delete children[child.key];
- return {
- children
- };
- });
- }
- };
- _proto.render = function render() {
- var _this$props = this.props, Component = _this$props.component, childFactory2 = _this$props.childFactory, props = _objectWithoutPropertiesLoose(_this$props, ["component", "childFactory"]);
- var contextValue = this.state.contextValue;
- var children = values(this.state.children).map(childFactory2);
- delete props.appear;
- delete props.enter;
- delete props.exit;
- if (Component === null) {
- return /* @__PURE__ */ React.createElement(TransitionGroupContext.Provider, {
- value: contextValue
- }, children);
- }
- return /* @__PURE__ */ React.createElement(TransitionGroupContext.Provider, {
- value: contextValue
- }, /* @__PURE__ */ React.createElement(Component, props, children));
- };
- return TransitionGroup2;
- }(React.Component);
- TransitionGroup.propTypes = {};
- TransitionGroup.defaultProps = defaultProps;
- const TransitionGroup$1 = TransitionGroup;
- const _excluded$b = ["className", "component"];
- function createBox(options = {}) {
- const {
- themeId,
- defaultTheme: defaultTheme2,
- defaultClassName = "MuiBox-root",
- generateClassName
- } = options;
- const BoxRoot = styled$1("div", {
- shouldForwardProp: (prop) => prop !== "theme" && prop !== "sx" && prop !== "as"
- })(styleFunctionSx$1);
- const Box2 = /* @__PURE__ */ React__namespace.forwardRef(function Box3(inProps, ref) {
- const theme = useTheme$2(defaultTheme2);
- const _extendSxProp = extendSxProp(inProps), {
- className,
- component = "div"
- } = _extendSxProp, other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$b);
- return /* @__PURE__ */ jsxRuntimeExports.jsx(BoxRoot, _extends$1({
- as: component,
- ref,
- className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),
- theme: themeId ? theme[themeId] || theme : theme
- }, other));
- });
- return Box2;
- }
- function generateUtilityClasses(componentName, slots, globalStatePrefix = "Mui") {
- const result = {};
- slots.forEach((slot) => {
- result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);
- });
- return result;
- }
- function useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {
- const [match2, setMatch] = React__namespace.useState(() => {
- if (noSsr && matchMedia) {
- return matchMedia(query).matches;
- }
- if (ssrMatchMedia) {
- return ssrMatchMedia(query).matches;
- }
- return defaultMatches;
- });
- useEnhancedEffect(() => {
- let active = true;
- if (!matchMedia) {
- return void 0;
- }
- const queryList = matchMedia(query);
- const updateMatch = () => {
- if (active) {
- setMatch(queryList.matches);
- }
- };
- updateMatch();
- queryList.addListener(updateMatch);
- return () => {
- active = false;
- queryList.removeListener(updateMatch);
- };
- }, [query, matchMedia]);
- return match2;
- }
- const maybeReactUseSyncExternalStore = React__namespace["useSyncExternalStore"];
- function useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {
- const getDefaultSnapshot = React__namespace.useCallback(() => defaultMatches, [defaultMatches]);
- const getServerSnapshot = React__namespace.useMemo(() => {
- if (noSsr && matchMedia) {
- return () => matchMedia(query).matches;
- }
- if (ssrMatchMedia !== null) {
- const {
- matches
- } = ssrMatchMedia(query);
- return () => matches;
- }
- return getDefaultSnapshot;
- }, [getDefaultSnapshot, query, ssrMatchMedia, noSsr, matchMedia]);
- const [getSnapshot, subscribe] = React__namespace.useMemo(() => {
- if (matchMedia === null) {
- return [getDefaultSnapshot, () => () => {
- }];
- }
- const mediaQueryList = matchMedia(query);
- return [() => mediaQueryList.matches, (notify) => {
- mediaQueryList.addListener(notify);
- return () => {
- mediaQueryList.removeListener(notify);
- };
- }];
- }, [getDefaultSnapshot, matchMedia, query]);
- const match2 = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
- return match2;
- }
- function useMediaQuery(queryInput, options = {}) {
- const theme = useTheme$3();
- const supportMatchMedia = typeof window !== "undefined" && typeof window.matchMedia !== "undefined";
- const {
- defaultMatches = false,
- matchMedia = supportMatchMedia ? window.matchMedia : null,
- ssrMatchMedia = null,
- noSsr = false
- } = getThemeProps({
- name: "MuiUseMediaQuery",
- props: options,
- theme
- });
- let query = typeof queryInput === "function" ? queryInput(theme) : queryInput;
- query = query.replace(/^@media( ?)/m, "");
- const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== void 0 ? useMediaQueryNew : useMediaQueryOld;
- const match2 = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);
- return match2;
- }
- function createChainedFunction(...funcs) {
- return funcs.reduce((acc, func) => {
- if (func == null) {
- return acc;
- }
- return function chainedFunction(...args) {
- acc.apply(this, args);
- func.apply(this, args);
- };
- }, () => {
- });
- }
- function debounce(func, wait = 166) {
- let timeout;
- function debounced(...args) {
- const later = () => {
- func.apply(this, args);
- };
- clearTimeout(timeout);
- timeout = setTimeout(later, wait);
- }
- debounced.clear = () => {
- clearTimeout(timeout);
- };
- return debounced;
- }
- function ownerDocument(node2) {
- return node2 && node2.ownerDocument || document;
- }
- function ownerWindow(node2) {
- const doc = ownerDocument(node2);
- return doc.defaultView || window;
- }
- function getScrollbarSize(doc) {
- const documentWidth = doc.documentElement.clientWidth;
- return Math.abs(window.innerWidth - documentWidth);
- }
- const ThemeContext = /* @__PURE__ */ React__namespace.createContext(null);
- const ThemeContext$1 = ThemeContext;
- function useTheme$1() {
- const theme = React__namespace.useContext(ThemeContext$1);
- return theme;
- }
- const hasSymbol = typeof Symbol === "function" && Symbol.for;
- const nested = hasSymbol ? Symbol.for("mui.nested") : "__THEME_NESTED__";
- function mergeOuterLocalTheme(outerTheme, localTheme) {
- if (typeof localTheme === "function") {
- const mergedTheme = localTheme(outerTheme);
- return mergedTheme;
- }
- return _extends$1({}, outerTheme, localTheme);
- }
- function ThemeProvider$3(props) {
- const {
- children,
- theme: localTheme
- } = props;
- const outerTheme = useTheme$1();
- const theme = React__namespace.useMemo(() => {
- const output = outerTheme === null ? localTheme : mergeOuterLocalTheme(outerTheme, localTheme);
- if (output != null) {
- output[nested] = outerTheme !== null;
- }
- return output;
- }, [localTheme, outerTheme]);
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeContext$1.Provider, {
- value: theme,
- children
- });
- }
- const EMPTY_THEME = {};
- function useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {
- return React__namespace.useMemo(() => {
- const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;
- if (typeof localTheme === "function") {
- const mergedTheme = localTheme(resolvedTheme);
- const result = themeId ? _extends$1({}, upperTheme, {
- [themeId]: mergedTheme
- }) : mergedTheme;
- if (isPrivate) {
- return () => result;
- }
- return result;
- }
- return themeId ? _extends$1({}, upperTheme, {
- [themeId]: localTheme
- }) : _extends$1({}, upperTheme, localTheme);
- }, [themeId, upperTheme, localTheme, isPrivate]);
- }
- function ThemeProvider$2(props) {
- const {
- children,
- theme: localTheme,
- themeId
- } = props;
- const upperTheme = useTheme$3(EMPTY_THEME);
- const upperPrivateTheme = useTheme$1() || EMPTY_THEME;
- const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);
- const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeProvider$3, {
- theme: privateTheme,
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeContext$2.Provider, {
- value: engineTheme,
- children
- })
- });
- }
- function Ripple(props) {
- const {
- className,
- classes,
- pulsate = false,
- rippleX,
- rippleY,
- rippleSize,
- in: inProp,
- onExited,
- timeout
- } = props;
- const [leaving, setLeaving] = React__namespace.useState(false);
- const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);
- const rippleStyles = {
- width: rippleSize,
- height: rippleSize,
- top: -(rippleSize / 2) + rippleY,
- left: -(rippleSize / 2) + rippleX
- };
- const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);
- if (!inProp && !leaving) {
- setLeaving(true);
- }
- React__namespace.useEffect(() => {
- if (!inProp && onExited != null) {
- const timeoutId = setTimeout(onExited, timeout);
- return () => {
- clearTimeout(timeoutId);
- };
- }
- return void 0;
- }, [onExited, inProp, timeout]);
- return /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
- className: rippleClassName,
- style: rippleStyles,
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
- className: childClassName
- })
- });
- }
- const touchRippleClasses = generateUtilityClasses("MuiTouchRipple", ["root", "ripple", "rippleVisible", "ripplePulsate", "child", "childLeaving", "childPulsate"]);
- const _excluded$a = ["center", "classes", "className"];
- let _ = (t2) => t2, _t, _t2, _t3, _t4;
- const DURATION = 550;
- const DELAY_RIPPLE = 80;
- const enterKeyframe = keyframes(_t || (_t = _`
- 0% {
- transform: scale(0);
- opacity: 0.1;
- }
- 100% {
- transform: scale(1);
- opacity: 0.3;
- }
- `));
- const exitKeyframe = keyframes(_t2 || (_t2 = _`
- 0% {
- opacity: 1;
- }
- 100% {
- opacity: 0;
- }
- `));
- const pulsateKeyframe = keyframes(_t3 || (_t3 = _`
- 0% {
- transform: scale(1);
- }
- 50% {
- transform: scale(0.92);
- }
- 100% {
- transform: scale(1);
- }
- `));
- const TouchRippleRoot = styled("span", {
- name: "MuiTouchRipple",
- slot: "Root"
- })({
- overflow: "hidden",
- pointerEvents: "none",
- position: "absolute",
- zIndex: 0,
- top: 0,
- right: 0,
- bottom: 0,
- left: 0,
- borderRadius: "inherit"
- });
- const TouchRippleRipple = styled(Ripple, {
- name: "MuiTouchRipple",
- slot: "Ripple"
- })(_t4 || (_t4 = _`
- opacity: 0;
- position: absolute;
- &.${0} {
- opacity: 0.3;
- transform: scale(1);
- animation-name: ${0};
- animation-duration: ${0}ms;
- animation-timing-function: ${0};
- }
- &.${0} {
- animation-duration: ${0}ms;
- }
- & .${0} {
- opacity: 1;
- display: block;
- width: 100%;
- height: 100%;
- border-radius: 50%;
- background-color: currentColor;
- }
- & .${0} {
- opacity: 0;
- animation-name: ${0};
- animation-duration: ${0}ms;
- animation-timing-function: ${0};
- }
- & .${0} {
- position: absolute;
- /* @noflip */
- left: 0px;
- top: 0;
- animation-name: ${0};
- animation-duration: 2500ms;
- animation-timing-function: ${0};
- animation-iteration-count: infinite;
- animation-delay: 200ms;
- }
- `), touchRippleClasses.rippleVisible, enterKeyframe, DURATION, ({
- theme
- }) => theme.transitions.easing.easeInOut, touchRippleClasses.ripplePulsate, ({
- theme
- }) => theme.transitions.duration.shorter, touchRippleClasses.child, touchRippleClasses.childLeaving, exitKeyframe, DURATION, ({
- theme
- }) => theme.transitions.easing.easeInOut, touchRippleClasses.childPulsate, pulsateKeyframe, ({
- theme
- }) => theme.transitions.easing.easeInOut);
- const TouchRipple = /* @__PURE__ */ React__namespace.forwardRef(function TouchRipple2(inProps, ref) {
- const props = useThemeProps({
- props: inProps,
- name: "MuiTouchRipple"
- });
- const {
- center: centerProp = false,
- classes = {},
- className
- } = props, other = _objectWithoutPropertiesLoose(props, _excluded$a);
- const [ripples, setRipples] = React__namespace.useState([]);
- const nextKey = React__namespace.useRef(0);
- const rippleCallback = React__namespace.useRef(null);
- React__namespace.useEffect(() => {
- if (rippleCallback.current) {
- rippleCallback.current();
- rippleCallback.current = null;
- }
- }, [ripples]);
- const ignoringMouseDown = React__namespace.useRef(false);
- const startTimer = useTimeout();
- const startTimerCommit = React__namespace.useRef(null);
- const container = React__namespace.useRef(null);
- const startCommit = React__namespace.useCallback((params) => {
- const {
- pulsate: pulsate2,
- rippleX,
- rippleY,
- rippleSize,
- cb
- } = params;
- setRipples((oldRipples) => [...oldRipples, /* @__PURE__ */ jsxRuntimeExports.jsx(TouchRippleRipple, {
- classes: {
- ripple: clsx(classes.ripple, touchRippleClasses.ripple),
- rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),
- ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),
- child: clsx(classes.child, touchRippleClasses.child),
- childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),
- childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)
- },
- timeout: DURATION,
- pulsate: pulsate2,
- rippleX,
- rippleY,
- rippleSize
- }, nextKey.current)]);
- nextKey.current += 1;
- rippleCallback.current = cb;
- }, [classes]);
- const start = React__namespace.useCallback((event = {}, options = {}, cb = () => {
- }) => {
- const {
- pulsate: pulsate2 = false,
- center = centerProp || options.pulsate,
- fakeElement = false
- // For test purposes
- } = options;
- if ((event == null ? void 0 : event.type) === "mousedown" && ignoringMouseDown.current) {
- ignoringMouseDown.current = false;
- return;
- }
- if ((event == null ? void 0 : event.type) === "touchstart") {
- ignoringMouseDown.current = true;
- }
- const element = fakeElement ? null : container.current;
- const rect = element ? element.getBoundingClientRect() : {
- width: 0,
- height: 0,
- left: 0,
- top: 0
- };
- let rippleX;
- let rippleY;
- let rippleSize;
- if (center || event === void 0 || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {
- rippleX = Math.round(rect.width / 2);
- rippleY = Math.round(rect.height / 2);
- } else {
- const {
- clientX,
- clientY
- } = event.touches && event.touches.length > 0 ? event.touches[0] : event;
- rippleX = Math.round(clientX - rect.left);
- rippleY = Math.round(clientY - rect.top);
- }
- if (center) {
- rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);
- if (rippleSize % 2 === 0) {
- rippleSize += 1;
- }
- } else {
- const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;
- const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;
- rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);
- }
- if (event != null && event.touches) {
- if (startTimerCommit.current === null) {
- startTimerCommit.current = () => {
- startCommit({
- pulsate: pulsate2,
- rippleX,
- rippleY,
- rippleSize,
- cb
- });
- };
- startTimer.start(DELAY_RIPPLE, () => {
- if (startTimerCommit.current) {
- startTimerCommit.current();
- startTimerCommit.current = null;
- }
- });
- }
- } else {
- startCommit({
- pulsate: pulsate2,
- rippleX,
- rippleY,
- rippleSize,
- cb
- });
- }
- }, [centerProp, startCommit, startTimer]);
- const pulsate = React__namespace.useCallback(() => {
- start({}, {
- pulsate: true
- });
- }, [start]);
- const stop = React__namespace.useCallback((event, cb) => {
- startTimer.clear();
- if ((event == null ? void 0 : event.type) === "touchend" && startTimerCommit.current) {
- startTimerCommit.current();
- startTimerCommit.current = null;
- startTimer.start(0, () => {
- stop(event, cb);
- });
- return;
- }
- startTimerCommit.current = null;
- setRipples((oldRipples) => {
- if (oldRipples.length > 0) {
- return oldRipples.slice(1);
- }
- return oldRipples;
- });
- rippleCallback.current = cb;
- }, [startTimer]);
- React__namespace.useImperativeHandle(ref, () => ({
- pulsate,
- start,
- stop
- }), [pulsate, start, stop]);
- return /* @__PURE__ */ jsxRuntimeExports.jsx(TouchRippleRoot, _extends$1({
- className: clsx(touchRippleClasses.root, classes.root, className),
- ref: container
- }, other, {
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(TransitionGroup$1, {
- component: null,
- exit: true,
- children: ripples
- })
- }));
- });
- const TouchRipple$1 = TouchRipple;
- function getButtonBaseUtilityClass(slot) {
- return generateUtilityClass("MuiButtonBase", slot);
- }
- const buttonBaseClasses = generateUtilityClasses("MuiButtonBase", ["root", "disabled", "focusVisible"]);
- const _excluded$9 = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"];
- const useUtilityClasses$5 = (ownerState) => {
- const {
- disabled,
- focusVisible,
- focusVisibleClassName,
- classes
- } = ownerState;
- const slots = {
- root: ["root", disabled && "disabled", focusVisible && "focusVisible"]
- };
- const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);
- if (focusVisible && focusVisibleClassName) {
- composedClasses.root += ` ${focusVisibleClassName}`;
- }
- return composedClasses;
- };
- const ButtonBaseRoot = styled("button", {
- name: "MuiButtonBase",
- slot: "Root",
- overridesResolver: (props, styles2) => styles2.root
- })({
- display: "inline-flex",
- alignItems: "center",
- justifyContent: "center",
- position: "relative",
- boxSizing: "border-box",
- WebkitTapHighlightColor: "transparent",
- backgroundColor: "transparent",
- // Reset default value
- // We disable the focus ring for mouse, touch and keyboard users.
- outline: 0,
- border: 0,
- margin: 0,
- // Remove the margin in Safari
- borderRadius: 0,
- padding: 0,
- // Remove the padding in Firefox
- cursor: "pointer",
- userSelect: "none",
- verticalAlign: "middle",
- MozAppearance: "none",
- // Reset
- WebkitAppearance: "none",
- // Reset
- textDecoration: "none",
- // So we take precedent over the style of a native <a /> element.
- color: "inherit",
- "&::-moz-focus-inner": {
- borderStyle: "none"
- // Remove Firefox dotted outline.
- },
- [`&.${buttonBaseClasses.disabled}`]: {
- pointerEvents: "none",
- // Disable link interactions
- cursor: "default"
- },
- "@media print": {
- colorAdjust: "exact"
- }
- });
- const ButtonBase = /* @__PURE__ */ React__namespace.forwardRef(function ButtonBase2(inProps, ref) {
- const props = useThemeProps({
- props: inProps,
- name: "MuiButtonBase"
- });
- const {
- action,
- centerRipple = false,
- children,
- className,
- component = "button",
- disabled = false,
- disableRipple = false,
- disableTouchRipple = false,
- focusRipple = false,
- LinkComponent = "a",
- onBlur,
- onClick,
- onContextMenu,
- onDragLeave,
- onFocus,
- onFocusVisible,
- onKeyDown,
- onKeyUp,
- onMouseDown,
- onMouseLeave,
- onMouseUp,
- onTouchEnd,
- onTouchMove,
- onTouchStart,
- tabIndex = 0,
- TouchRippleProps,
- touchRippleRef,
- type
- } = props, other = _objectWithoutPropertiesLoose(props, _excluded$9);
- const buttonRef = React__namespace.useRef(null);
- const rippleRef = React__namespace.useRef(null);
- const handleRippleRef = useForkRef(rippleRef, touchRippleRef);
- const {
- isFocusVisibleRef,
- onFocus: handleFocusVisible,
- onBlur: handleBlurVisible,
- ref: focusVisibleRef
- } = useIsFocusVisible();
- const [focusVisible, setFocusVisible] = React__namespace.useState(false);
- if (disabled && focusVisible) {
- setFocusVisible(false);
- }
- React__namespace.useImperativeHandle(action, () => ({
- focusVisible: () => {
- setFocusVisible(true);
- buttonRef.current.focus();
- }
- }), []);
- const [mountedState, setMountedState] = React__namespace.useState(false);
- React__namespace.useEffect(() => {
- setMountedState(true);
- }, []);
- const enableTouchRipple = mountedState && !disableRipple && !disabled;
- React__namespace.useEffect(() => {
- if (focusVisible && focusRipple && !disableRipple && mountedState) {
- rippleRef.current.pulsate();
- }
- }, [disableRipple, focusRipple, focusVisible, mountedState]);
- function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {
- return useEventCallback((event) => {
- if (eventCallback) {
- eventCallback(event);
- }
- const ignore = skipRippleAction;
- if (!ignore && rippleRef.current) {
- rippleRef.current[rippleAction](event);
- }
- return true;
- });
- }
- const handleMouseDown = useRippleHandler("start", onMouseDown);
- const handleContextMenu = useRippleHandler("stop", onContextMenu);
- const handleDragLeave = useRippleHandler("stop", onDragLeave);
- const handleMouseUp = useRippleHandler("stop", onMouseUp);
- const handleMouseLeave = useRippleHandler("stop", (event) => {
- if (focusVisible) {
- event.preventDefault();
- }
- if (onMouseLeave) {
- onMouseLeave(event);
- }
- });
- const handleTouchStart = useRippleHandler("start", onTouchStart);
- const handleTouchEnd = useRippleHandler("stop", onTouchEnd);
- const handleTouchMove = useRippleHandler("stop", onTouchMove);
- const handleBlur = useRippleHandler("stop", (event) => {
- handleBlurVisible(event);
- if (isFocusVisibleRef.current === false) {
- setFocusVisible(false);
- }
- if (onBlur) {
- onBlur(event);
- }
- }, false);
- const handleFocus = useEventCallback((event) => {
- if (!buttonRef.current) {
- buttonRef.current = event.currentTarget;
- }
- handleFocusVisible(event);
- if (isFocusVisibleRef.current === true) {
- setFocusVisible(true);
- if (onFocusVisible) {
- onFocusVisible(event);
- }
- }
- if (onFocus) {
- onFocus(event);
- }
- });
- const isNonNativeButton = () => {
- const button = buttonRef.current;
- return component && component !== "button" && !(button.tagName === "A" && button.href);
- };
- const keydownRef = React__namespace.useRef(false);
- const handleKeyDown2 = useEventCallback((event) => {
- if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === " ") {
- keydownRef.current = true;
- rippleRef.current.stop(event, () => {
- rippleRef.current.start(event);
- });
- }
- if (event.target === event.currentTarget && isNonNativeButton() && event.key === " ") {
- event.preventDefault();
- }
- if (onKeyDown) {
- onKeyDown(event);
- }
- if (event.target === event.currentTarget && isNonNativeButton() && event.key === "Enter" && !disabled) {
- event.preventDefault();
- if (onClick) {
- onClick(event);
- }
- }
- });
- const handleKeyUp = useEventCallback((event) => {
- if (focusRipple && event.key === " " && rippleRef.current && focusVisible && !event.defaultPrevented) {
- keydownRef.current = false;
- rippleRef.current.stop(event, () => {
- rippleRef.current.pulsate(event);
- });
- }
- if (onKeyUp) {
- onKeyUp(event);
- }
- if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === " " && !event.defaultPrevented) {
- onClick(event);
- }
- });
- let ComponentProp = component;
- if (ComponentProp === "button" && (other.href || other.to)) {
- ComponentProp = LinkComponent;
- }
- const buttonProps = {};
- if (ComponentProp === "button") {
- buttonProps.type = type === void 0 ? "button" : type;
- buttonProps.disabled = disabled;
- } else {
- if (!other.href && !other.to) {
- buttonProps.role = "button";
- }
- if (disabled) {
- buttonProps["aria-disabled"] = disabled;
- }
- }
- const handleRef = useForkRef(ref, focusVisibleRef, buttonRef);
- const ownerState = _extends$1({}, props, {
- centerRipple,
- component,
- disabled,
- disableRipple,
- disableTouchRipple,
- focusRipple,
- tabIndex,
- focusVisible
- });
- const classes = useUtilityClasses$5(ownerState);
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(ButtonBaseRoot, _extends$1({
- as: ComponentProp,
- className: clsx(classes.root, className),
- ownerState,
- onBlur: handleBlur,
- onClick,
- onContextMenu: handleContextMenu,
- onFocus: handleFocus,
- onKeyDown: handleKeyDown2,
- onKeyUp: handleKeyUp,
- onMouseDown: handleMouseDown,
- onMouseLeave: handleMouseLeave,
- onMouseUp: handleMouseUp,
- onDragLeave: handleDragLeave,
- onTouchEnd: handleTouchEnd,
- onTouchMove: handleTouchMove,
- onTouchStart: handleTouchStart,
- ref: handleRef,
- tabIndex: disabled ? -1 : tabIndex,
- type
- }, buttonProps, other, {
- children: [children, enableTouchRipple ? (
- /* TouchRipple is only needed client-side, x2 boost on the server. */
- /* @__PURE__ */ jsxRuntimeExports.jsx(TouchRipple$1, _extends$1({
- ref: handleRippleRef,
- center: centerRipple
- }, TouchRippleProps))
- ) : null]
- }));
- });
- const ButtonBase$1 = ButtonBase;
- function getButtonUtilityClass(slot) {
- return generateUtilityClass("MuiButton", slot);
- }
- const buttonClasses = generateUtilityClasses("MuiButton", ["root", "text", "textInherit", "textPrimary", "textSecondary", "textSuccess", "textError", "textInfo", "textWarning", "outlined", "outlinedInherit", "outlinedPrimary", "outlinedSecondary", "outlinedSuccess", "outlinedError", "outlinedInfo", "outlinedWarning", "contained", "containedInherit", "containedPrimary", "containedSecondary", "containedSuccess", "containedError", "containedInfo", "containedWarning", "disableElevation", "focusVisible", "disabled", "colorInherit", "colorPrimary", "colorSecondary", "colorSuccess", "colorError", "colorInfo", "colorWarning", "textSizeSmall", "textSizeMedium", "textSizeLarge", "outlinedSizeSmall", "outlinedSizeMedium", "outlinedSizeLarge", "containedSizeSmall", "containedSizeMedium", "containedSizeLarge", "sizeMedium", "sizeSmall", "sizeLarge", "fullWidth", "startIcon", "endIcon", "icon", "iconSizeSmall", "iconSizeMedium", "iconSizeLarge"]);
- const buttonClasses$1 = buttonClasses;
- const ButtonGroupContext = /* @__PURE__ */ React__namespace.createContext({});
- const ButtonGroupContext$1 = ButtonGroupContext;
- const ButtonGroupButtonContext = /* @__PURE__ */ React__namespace.createContext(void 0);
- const ButtonGroupButtonContext$1 = ButtonGroupButtonContext;
- const _excluded$8 = ["children", "color", "component", "className", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"];
- const useUtilityClasses$4 = (ownerState) => {
- const {
- color: color2,
- disableElevation,
- fullWidth,
- size,
- variant,
- classes
- } = ownerState;
- const slots = {
- root: ["root", variant, `${variant}${capitalize$1(color2)}`, `size${capitalize$1(size)}`, `${variant}Size${capitalize$1(size)}`, `color${capitalize$1(color2)}`, disableElevation && "disableElevation", fullWidth && "fullWidth"],
- label: ["label"],
- startIcon: ["icon", "startIcon", `iconSize${capitalize$1(size)}`],
- endIcon: ["icon", "endIcon", `iconSize${capitalize$1(size)}`]
- };
- const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);
- return _extends$1({}, classes, composedClasses);
- };
- const commonIconStyles = (ownerState) => _extends$1({}, ownerState.size === "small" && {
- "& > *:nth-of-type(1)": {
- fontSize: 18
- }
- }, ownerState.size === "medium" && {
- "& > *:nth-of-type(1)": {
- fontSize: 20
- }
- }, ownerState.size === "large" && {
- "& > *:nth-of-type(1)": {
- fontSize: 22
- }
- });
- const ButtonRoot = styled(ButtonBase$1, {
- shouldForwardProp: (prop) => rootShouldForwardProp(prop) || prop === "classes",
- name: "MuiButton",
- slot: "Root",
- overridesResolver: (props, styles2) => {
- const {
- ownerState
- } = props;
- return [styles2.root, styles2[ownerState.variant], styles2[`${ownerState.variant}${capitalize$1(ownerState.color)}`], styles2[`size${capitalize$1(ownerState.size)}`], styles2[`${ownerState.variant}Size${capitalize$1(ownerState.size)}`], ownerState.color === "inherit" && styles2.colorInherit, ownerState.disableElevation && styles2.disableElevation, ownerState.fullWidth && styles2.fullWidth];
- }
- })(({
- theme,
- ownerState
- }) => {
- var _theme$palette$getCon, _theme$palette;
- const inheritContainedBackgroundColor = theme.palette.mode === "light" ? theme.palette.grey[300] : theme.palette.grey[800];
- const inheritContainedHoverBackgroundColor = theme.palette.mode === "light" ? theme.palette.grey.A100 : theme.palette.grey[700];
- return _extends$1({}, theme.typography.button, {
- minWidth: 64,
- padding: "6px 16px",
- borderRadius: (theme.vars || theme).shape.borderRadius,
- transition: theme.transitions.create(["background-color", "box-shadow", "border-color", "color"], {
- duration: theme.transitions.duration.short
- }),
- "&:hover": _extends$1({
- textDecoration: "none",
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(theme.palette.text.primary, theme.palette.action.hoverOpacity),
- // Reset on touch devices, it doesn't add specificity
- "@media (hover: none)": {
- backgroundColor: "transparent"
- }
- }, ownerState.variant === "text" && ownerState.color !== "inherit" && {
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
- // Reset on touch devices, it doesn't add specificity
- "@media (hover: none)": {
- backgroundColor: "transparent"
- }
- }, ownerState.variant === "outlined" && ownerState.color !== "inherit" && {
- border: `1px solid ${(theme.vars || theme).palette[ownerState.color].main}`,
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
- // Reset on touch devices, it doesn't add specificity
- "@media (hover: none)": {
- backgroundColor: "transparent"
- }
- }, ownerState.variant === "contained" && {
- backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedHoverBg : inheritContainedHoverBackgroundColor,
- boxShadow: (theme.vars || theme).shadows[4],
- // Reset on touch devices, it doesn't add specificity
- "@media (hover: none)": {
- boxShadow: (theme.vars || theme).shadows[2],
- backgroundColor: (theme.vars || theme).palette.grey[300]
- }
- }, ownerState.variant === "contained" && ownerState.color !== "inherit" && {
- backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,
- // Reset on touch devices, it doesn't add specificity
- "@media (hover: none)": {
- backgroundColor: (theme.vars || theme).palette[ownerState.color].main
- }
- }),
- "&:active": _extends$1({}, ownerState.variant === "contained" && {
- boxShadow: (theme.vars || theme).shadows[8]
- }),
- [`&.${buttonClasses$1.focusVisible}`]: _extends$1({}, ownerState.variant === "contained" && {
- boxShadow: (theme.vars || theme).shadows[6]
- }),
- [`&.${buttonClasses$1.disabled}`]: _extends$1({
- color: (theme.vars || theme).palette.action.disabled
- }, ownerState.variant === "outlined" && {
- border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`
- }, ownerState.variant === "contained" && {
- color: (theme.vars || theme).palette.action.disabled,
- boxShadow: (theme.vars || theme).shadows[0],
- backgroundColor: (theme.vars || theme).palette.action.disabledBackground
- })
- }, ownerState.variant === "text" && {
- padding: "6px 8px"
- }, ownerState.variant === "text" && ownerState.color !== "inherit" && {
- color: (theme.vars || theme).palette[ownerState.color].main
- }, ownerState.variant === "outlined" && {
- padding: "5px 15px",
- border: "1px solid currentColor"
- }, ownerState.variant === "outlined" && ownerState.color !== "inherit" && {
- color: (theme.vars || theme).palette[ownerState.color].main,
- border: theme.vars ? `1px solid rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : `1px solid ${alpha_1(theme.palette[ownerState.color].main, 0.5)}`
- }, ownerState.variant === "contained" && {
- color: theme.vars ? (
- // this is safe because grey does not change between default light/dark mode
- theme.vars.palette.text.primary
- ) : (_theme$palette$getCon = (_theme$palette = theme.palette).getContrastText) == null ? void 0 : _theme$palette$getCon.call(_theme$palette, theme.palette.grey[300]),
- backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedBg : inheritContainedBackgroundColor,
- boxShadow: (theme.vars || theme).shadows[2]
- }, ownerState.variant === "contained" && ownerState.color !== "inherit" && {
- color: (theme.vars || theme).palette[ownerState.color].contrastText,
- backgroundColor: (theme.vars || theme).palette[ownerState.color].main
- }, ownerState.color === "inherit" && {
- color: "inherit",
- borderColor: "currentColor"
- }, ownerState.size === "small" && ownerState.variant === "text" && {
- padding: "4px 5px",
- fontSize: theme.typography.pxToRem(13)
- }, ownerState.size === "large" && ownerState.variant === "text" && {
- padding: "8px 11px",
- fontSize: theme.typography.pxToRem(15)
- }, ownerState.size === "small" && ownerState.variant === "outlined" && {
- padding: "3px 9px",
- fontSize: theme.typography.pxToRem(13)
- }, ownerState.size === "large" && ownerState.variant === "outlined" && {
- padding: "7px 21px",
- fontSize: theme.typography.pxToRem(15)
- }, ownerState.size === "small" && ownerState.variant === "contained" && {
- padding: "4px 10px",
- fontSize: theme.typography.pxToRem(13)
- }, ownerState.size === "large" && ownerState.variant === "contained" && {
- padding: "8px 22px",
- fontSize: theme.typography.pxToRem(15)
- }, ownerState.fullWidth && {
- width: "100%"
- });
- }, ({
- ownerState
- }) => ownerState.disableElevation && {
- boxShadow: "none",
- "&:hover": {
- boxShadow: "none"
- },
- [`&.${buttonClasses$1.focusVisible}`]: {
- boxShadow: "none"
- },
- "&:active": {
- boxShadow: "none"
- },
- [`&.${buttonClasses$1.disabled}`]: {
- boxShadow: "none"
- }
- });
- const ButtonStartIcon = styled("span", {
- name: "MuiButton",
- slot: "StartIcon",
- overridesResolver: (props, styles2) => {
- const {
- ownerState
- } = props;
- return [styles2.startIcon, styles2[`iconSize${capitalize$1(ownerState.size)}`]];
- }
- })(({
- ownerState
- }) => _extends$1({
- display: "inherit",
- marginRight: 8,
- marginLeft: -4
- }, ownerState.size === "small" && {
- marginLeft: -2
- }, commonIconStyles(ownerState)));
- const ButtonEndIcon = styled("span", {
- name: "MuiButton",
- slot: "EndIcon",
- overridesResolver: (props, styles2) => {
- const {
- ownerState
- } = props;
- return [styles2.endIcon, styles2[`iconSize${capitalize$1(ownerState.size)}`]];
- }
- })(({
- ownerState
- }) => _extends$1({
- display: "inherit",
- marginRight: -4,
- marginLeft: 8
- }, ownerState.size === "small" && {
- marginRight: -2
- }, commonIconStyles(ownerState)));
- const Button = /* @__PURE__ */ React__namespace.forwardRef(function Button2(inProps, ref) {
- const contextProps = React__namespace.useContext(ButtonGroupContext$1);
- const buttonGroupButtonContextPositionClassName = React__namespace.useContext(ButtonGroupButtonContext$1);
- const resolvedProps = resolveProps(contextProps, inProps);
- const props = useThemeProps({
- props: resolvedProps,
- name: "MuiButton"
- });
- const {
- children,
- color: color2 = "primary",
- component = "button",
- className,
- disabled = false,
- disableElevation = false,
- disableFocusRipple = false,
- endIcon: endIconProp,
- focusVisibleClassName,
- fullWidth = false,
- size = "medium",
- startIcon: startIconProp,
- type,
- variant = "text"
- } = props, other = _objectWithoutPropertiesLoose(props, _excluded$8);
- const ownerState = _extends$1({}, props, {
- color: color2,
- component,
- disabled,
- disableElevation,
- disableFocusRipple,
- fullWidth,
- size,
- type,
- variant
- });
- const classes = useUtilityClasses$4(ownerState);
- const startIcon = startIconProp && /* @__PURE__ */ jsxRuntimeExports.jsx(ButtonStartIcon, {
- className: classes.startIcon,
- ownerState,
- children: startIconProp
- });
- const endIcon = endIconProp && /* @__PURE__ */ jsxRuntimeExports.jsx(ButtonEndIcon, {
- className: classes.endIcon,
- ownerState,
- children: endIconProp
- });
- const positionClassName = buttonGroupButtonContextPositionClassName || "";
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(ButtonRoot, _extends$1({
- ownerState,
- className: clsx(contextProps.className, classes.root, className, positionClassName),
- component,
- disabled,
- focusRipple: !disableFocusRipple,
- focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),
- ref,
- type
- }, other, {
- classes,
- children: [startIcon, children, endIcon]
- }));
- });
- const Button$1 = Button;
- function useTheme() {
- const theme = useTheme$2(defaultTheme$2);
- return theme[THEME_ID] || theme;
- }
- const _excluded$7 = ["theme"];
- function ThemeProvider$1(_ref) {
- let {
- theme: themeInput
- } = _ref, props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
- const scopedTheme = themeInput[THEME_ID];
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeProvider$2, _extends$1({}, props, {
- themeId: scopedTheme ? THEME_ID : void 0,
- theme: scopedTheme || themeInput
- }));
- }
- const getOverlayAlpha = (elevation) => {
- let alphaValue;
- if (elevation < 1) {
- alphaValue = 5.11916 * elevation ** 2;
- } else {
- alphaValue = 4.5 * Math.log(elevation + 1) + 2;
- }
- return (alphaValue / 100).toFixed(2);
- };
- const StyledPandoraButton = styled(Button$1, {
- shouldForwardProp: (fieldName) => filterForwardProps(fieldName, ["openPandora", "buttonVisible", "buttonPosition"])
- })(
- ({ buttonPosition = "right", openPandora = false, buttonVisible = false, theme }) => {
- const { transitions } = theme;
- const baseStyle = {
- position: "fixed"
- };
- switch (buttonPosition) {
- case "top":
- return {
- ...baseStyle,
- left: "50%",
- top: 0,
- transition: transitions.create(["top"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.shorter
- }),
- ...openPandora && {
- top: uiConfig.pandoraDrawerWidth,
- transition: transitions.create(["top"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.enteringScreen
- })
- }
- };
- case "right":
- return {
- ...baseStyle,
- top: "50%",
- right: 0,
- transform: "translateX(60%) rotate(-90deg)",
- transition: transitions.create(["right", "transform"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.shorter
- }),
- ...buttonVisible && {
- transform: "translateX(28%) rotate(-90deg)",
- transition: transitions.create(["right", "transform"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.enteringScreen
- })
- },
- ...openPandora && {
- right: uiConfig.pandoraDrawerWidth,
- transform: "translateX(28%) rotate(-90deg)",
- transition: transitions.create(["right", "transform"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.enteringScreen
- })
- }
- };
- case "bottom":
- return {
- ...baseStyle,
- left: "50%",
- bottom: 0,
- transition: transitions.create(["bottom"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.shorter
- }),
- ...openPandora && {
- left: uiConfig.pandoraDrawerWidth,
- transition: transitions.create(["bottom"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.enteringScreen
- })
- }
- };
- case "left":
- return {
- ...baseStyle,
- top: "50%",
- left: 0,
- transition: transitions.create(["left"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.shorter
- }),
- ...openPandora && {
- left: uiConfig.pandoraDrawerWidth,
- transition: transitions.create(["left"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.enteringScreen
- })
- }
- };
- default:
- return {
- ...baseStyle,
- top: "50%",
- right: 0,
- transition: transitions.create(["right"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.shorter
- }),
- ...openPandora && {
- right: uiConfig.pandoraDrawerWidth,
- transition: transitions.create(["right"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.enteringScreen
- })
- }
- };
- }
- }
- );
- function PandoraButton({ openPandora = false, pandoraButtonPosition = "right", ...restProps }) {
- const visibleTimeout = React.useRef();
- const [visible, setVisible] = React.useState(false);
- const handleMouseEnter = () => {
- clearTimeout(visibleTimeout.current);
- setVisible(true);
- };
- const handleMouseLeave = () => {
- visibleTimeout.current = setTimeout(() => setVisible(false), 1500);
- };
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
- StyledPandoraButton,
- {
- variant: "contained",
- openPandora,
- buttonPosition: pandoraButtonPosition,
- buttonVisible: visible,
- onMouseEnter: handleMouseEnter,
- onMouseLeave: handleMouseLeave,
- ...restProps,
- children: openPandora ? "关闭助手" : "打开助手"
- }
- );
- }
- const qsFilter = (selector) => {
- return selector;
- };
- const qsOne = (selectorOrElement, scopedSelector) => {
- if (!scopedSelector) {
- return document.querySelector(qsFilter(selectorOrElement));
- }
- return selectorOrElement.querySelector(qsFilter(scopedSelector));
- };
- const getCsrfToken = () => {
- const csrfTokenMetaDom = qsOne('meta[name="csrf-token"]');
- if (csrfTokenMetaDom) {
- return csrfTokenMetaDom.getAttribute("content");
- }
- return null;
- };
- const getPreloadedData = () => {
- const preloadedDataDom = qsOne("#data-preloaded");
- if (preloadedDataDom) {
- const preloadedStringData = preloadedDataDom.getAttribute("data-preloaded");
- if (preloadedStringData) {
- try {
- const preloadedRawData = JSON.parse(preloadedStringData);
- const preloadedData = {
- currentUser: null,
- topicTrackingStates: null
- };
- try {
- preloadedData.currentUser = JSON.parse(preloadedRawData.currentUser);
- } catch {
- }
- try {
- preloadedData.topicTrackingStates = JSON.parse(preloadedRawData.topicTrackingStates);
- } catch {
- }
- return preloadedData;
- } catch {
- return null;
- }
- }
- return null;
- }
- return null;
- };
- const getPreloadedUsername = () => {
- const preloadedData = getPreloadedData();
- if (preloadedData && preloadedData.currentUser) {
- const { username } = preloadedData.currentUser;
- return username;
- }
- return null;
- };
- const reflow = (node2) => node2.scrollTop;
- function getTransitionProps(props, options) {
- var _style$transitionDura, _style$transitionTimi;
- const {
- timeout,
- easing: easing2,
- style: style2 = {}
- } = props;
- return {
- duration: (_style$transitionDura = style2.transitionDuration) != null ? _style$transitionDura : typeof timeout === "number" ? timeout : timeout[options.mode] || 0,
- easing: (_style$transitionTimi = style2.transitionTimingFunction) != null ? _style$transitionTimi : typeof easing2 === "object" ? easing2[options.mode] : easing2,
- delay: style2.transitionDelay
- };
- }
- function getPaperUtilityClass(slot) {
- return generateUtilityClass("MuiPaper", slot);
- }
- generateUtilityClasses("MuiPaper", ["root", "rounded", "outlined", "elevation", "elevation0", "elevation1", "elevation2", "elevation3", "elevation4", "elevation5", "elevation6", "elevation7", "elevation8", "elevation9", "elevation10", "elevation11", "elevation12", "elevation13", "elevation14", "elevation15", "elevation16", "elevation17", "elevation18", "elevation19", "elevation20", "elevation21", "elevation22", "elevation23", "elevation24"]);
- const _excluded$6 = ["className", "component", "elevation", "square", "variant"];
- const useUtilityClasses$3 = (ownerState) => {
- const {
- square,
- elevation,
- variant,
- classes
- } = ownerState;
- const slots = {
- root: ["root", variant, !square && "rounded", variant === "elevation" && `elevation${elevation}`]
- };
- return composeClasses(slots, getPaperUtilityClass, classes);
- };
- const PaperRoot = styled("div", {
- name: "MuiPaper",
- slot: "Root",
- overridesResolver: (props, styles2) => {
- const {
- ownerState
- } = props;
- return [styles2.root, styles2[ownerState.variant], !ownerState.square && styles2.rounded, ownerState.variant === "elevation" && styles2[`elevation${ownerState.elevation}`]];
- }
- })(({
- theme,
- ownerState
- }) => {
- var _theme$vars$overlays;
- return _extends$1({
- backgroundColor: (theme.vars || theme).palette.background.paper,
- color: (theme.vars || theme).palette.text.primary,
- transition: theme.transitions.create("box-shadow")
- }, !ownerState.square && {
- borderRadius: theme.shape.borderRadius
- }, ownerState.variant === "outlined" && {
- border: `1px solid ${(theme.vars || theme).palette.divider}`
- }, ownerState.variant === "elevation" && _extends$1({
- boxShadow: (theme.vars || theme).shadows[ownerState.elevation]
- }, !theme.vars && theme.palette.mode === "dark" && {
- backgroundImage: `linear-gradient(${alpha_1("#fff", getOverlayAlpha(ownerState.elevation))}, ${alpha_1("#fff", getOverlayAlpha(ownerState.elevation))})`
- }, theme.vars && {
- backgroundImage: (_theme$vars$overlays = theme.vars.overlays) == null ? void 0 : _theme$vars$overlays[ownerState.elevation]
- }));
- });
- const Paper = /* @__PURE__ */ React__namespace.forwardRef(function Paper2(inProps, ref) {
- const props = useThemeProps({
- props: inProps,
- name: "MuiPaper"
- });
- const {
- className,
- component = "div",
- elevation = 1,
- square = false,
- variant = "elevation"
- } = props, other = _objectWithoutPropertiesLoose(props, _excluded$6);
- const ownerState = _extends$1({}, props, {
- component,
- elevation,
- square,
- variant
- });
- const classes = useUtilityClasses$3(ownerState);
- return /* @__PURE__ */ jsxRuntimeExports.jsx(PaperRoot, _extends$1({
- as: component,
- ownerState,
- className: clsx(classes.root, className),
- ref
- }, other));
- });
- const Paper$1 = Paper;
- function isHostComponent(element) {
- return typeof element === "string";
- }
- function appendOwnerState(elementType, otherProps, ownerState) {
- if (elementType === void 0 || isHostComponent(elementType)) {
- return otherProps;
- }
- return _extends$1({}, otherProps, {
- ownerState: _extends$1({}, otherProps.ownerState, ownerState)
- });
- }
- function extractEventHandlers(object, excludeKeys = []) {
- if (object === void 0) {
- return {};
- }
- const result = {};
- Object.keys(object).filter((prop) => prop.match(/^on[A-Z]/) && typeof object[prop] === "function" && !excludeKeys.includes(prop)).forEach((prop) => {
- result[prop] = object[prop];
- });
- return result;
- }
- function resolveComponentProps(componentProps, ownerState, slotState) {
- if (typeof componentProps === "function") {
- return componentProps(ownerState, slotState);
- }
- return componentProps;
- }
- function omitEventHandlers(object) {
- if (object === void 0) {
- return {};
- }
- const result = {};
- Object.keys(object).filter((prop) => !(prop.match(/^on[A-Z]/) && typeof object[prop] === "function")).forEach((prop) => {
- result[prop] = object[prop];
- });
- return result;
- }
- function mergeSlotProps(parameters) {
- const {
- getSlotProps,
- additionalProps,
- externalSlotProps,
- externalForwardedProps,
- className
- } = parameters;
- if (!getSlotProps) {
- const joinedClasses2 = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);
- const mergedStyle2 = _extends$1({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);
- const props2 = _extends$1({}, additionalProps, externalForwardedProps, externalSlotProps);
- if (joinedClasses2.length > 0) {
- props2.className = joinedClasses2;
- }
- if (Object.keys(mergedStyle2).length > 0) {
- props2.style = mergedStyle2;
- }
- return {
- props: props2,
- internalRef: void 0
- };
- }
- const eventHandlers = extractEventHandlers(_extends$1({}, externalForwardedProps, externalSlotProps));
- const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);
- const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);
- const internalSlotProps = getSlotProps(eventHandlers);
- const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);
- const mergedStyle = _extends$1({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);
- const props = _extends$1({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);
- if (joinedClasses.length > 0) {
- props.className = joinedClasses;
- }
- if (Object.keys(mergedStyle).length > 0) {
- props.style = mergedStyle;
- }
- return {
- props,
- internalRef: internalSlotProps.ref
- };
- }
- const _excluded$5 = ["elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps"];
- function useSlotProps(parameters) {
- var _parameters$additiona;
- const {
- elementType,
- externalSlotProps,
- ownerState,
- skipResolvingSlotProps = false
- } = parameters, rest = _objectWithoutPropertiesLoose(parameters, _excluded$5);
- const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);
- const {
- props: mergedProps,
- internalRef
- } = mergeSlotProps(_extends$1({}, rest, {
- externalSlotProps: resolvedComponentsProps
- }));
- const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);
- const props = appendOwnerState(elementType, _extends$1({}, mergedProps, {
- ref
- }), ownerState);
- return props;
- }
- const candidatesSelector = ["input", "select", "textarea", "a[href]", "button", "[tabindex]", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])'].join(",");
- function getTabIndex(node2) {
- const tabindexAttr = parseInt(node2.getAttribute("tabindex") || "", 10);
- if (!Number.isNaN(tabindexAttr)) {
- return tabindexAttr;
- }
- if (node2.contentEditable === "true" || (node2.nodeName === "AUDIO" || node2.nodeName === "VIDEO" || node2.nodeName === "DETAILS") && node2.getAttribute("tabindex") === null) {
- return 0;
- }
- return node2.tabIndex;
- }
- function isNonTabbableRadio(node2) {
- if (node2.tagName !== "INPUT" || node2.type !== "radio") {
- return false;
- }
- if (!node2.name) {
- return false;
- }
- const getRadio = (selector) => node2.ownerDocument.querySelector(`input[type="radio"]${selector}`);
- let roving = getRadio(`[name="${node2.name}"]:checked`);
- if (!roving) {
- roving = getRadio(`[name="${node2.name}"]`);
- }
- return roving !== node2;
- }
- function isNodeMatchingSelectorFocusable(node2) {
- if (node2.disabled || node2.tagName === "INPUT" && node2.type === "hidden" || isNonTabbableRadio(node2)) {
- return false;
- }
- return true;
- }
- function defaultGetTabbable(root2) {
- const regularTabNodes = [];
- const orderedTabNodes = [];
- Array.from(root2.querySelectorAll(candidatesSelector)).forEach((node2, i) => {
- const nodeTabIndex = getTabIndex(node2);
- if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node2)) {
- return;
- }
- if (nodeTabIndex === 0) {
- regularTabNodes.push(node2);
- } else {
- orderedTabNodes.push({
- documentOrder: i,
- tabIndex: nodeTabIndex,
- node: node2
- });
- }
- });
- return orderedTabNodes.sort((a, b2) => a.tabIndex === b2.tabIndex ? a.documentOrder - b2.documentOrder : a.tabIndex - b2.tabIndex).map((a) => a.node).concat(regularTabNodes);
- }
- function defaultIsEnabled() {
- return true;
- }
- function FocusTrap(props) {
- const {
- children,
- disableAutoFocus = false,
- disableEnforceFocus = false,
- disableRestoreFocus = false,
- getTabbable = defaultGetTabbable,
- isEnabled = defaultIsEnabled,
- open
- } = props;
- const ignoreNextEnforceFocus = React__namespace.useRef(false);
- const sentinelStart = React__namespace.useRef(null);
- const sentinelEnd = React__namespace.useRef(null);
- const nodeToRestore = React__namespace.useRef(null);
- const reactFocusEventTarget = React__namespace.useRef(null);
- const activated = React__namespace.useRef(false);
- const rootRef = React__namespace.useRef(null);
- const handleRef = useForkRef(children.ref, rootRef);
- const lastKeydown = React__namespace.useRef(null);
- React__namespace.useEffect(() => {
- if (!open || !rootRef.current) {
- return;
- }
- activated.current = !disableAutoFocus;
- }, [disableAutoFocus, open]);
- React__namespace.useEffect(() => {
- if (!open || !rootRef.current) {
- return;
- }
- const doc = ownerDocument(rootRef.current);
- if (!rootRef.current.contains(doc.activeElement)) {
- if (!rootRef.current.hasAttribute("tabIndex")) {
- rootRef.current.setAttribute("tabIndex", "-1");
- }
- if (activated.current) {
- rootRef.current.focus();
- }
- }
- return () => {
- if (!disableRestoreFocus) {
- if (nodeToRestore.current && nodeToRestore.current.focus) {
- ignoreNextEnforceFocus.current = true;
- nodeToRestore.current.focus();
- }
- nodeToRestore.current = null;
- }
- };
- }, [open]);
- React__namespace.useEffect(() => {
- if (!open || !rootRef.current) {
- return;
- }
- const doc = ownerDocument(rootRef.current);
- const loopFocus = (nativeEvent) => {
- lastKeydown.current = nativeEvent;
- if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== "Tab") {
- return;
- }
- if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {
- ignoreNextEnforceFocus.current = true;
- if (sentinelEnd.current) {
- sentinelEnd.current.focus();
- }
- }
- };
- const contain = () => {
- const rootElement = rootRef.current;
- if (rootElement === null) {
- return;
- }
- if (!doc.hasFocus() || !isEnabled() || ignoreNextEnforceFocus.current) {
- ignoreNextEnforceFocus.current = false;
- return;
- }
- if (rootElement.contains(doc.activeElement)) {
- return;
- }
- if (disableEnforceFocus && doc.activeElement !== sentinelStart.current && doc.activeElement !== sentinelEnd.current) {
- return;
- }
- if (doc.activeElement !== reactFocusEventTarget.current) {
- reactFocusEventTarget.current = null;
- } else if (reactFocusEventTarget.current !== null) {
- return;
- }
- if (!activated.current) {
- return;
- }
- let tabbable = [];
- if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {
- tabbable = getTabbable(rootRef.current);
- }
- if (tabbable.length > 0) {
- var _lastKeydown$current, _lastKeydown$current2;
- const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === "Tab");
- const focusNext = tabbable[0];
- const focusPrevious = tabbable[tabbable.length - 1];
- if (typeof focusNext !== "string" && typeof focusPrevious !== "string") {
- if (isShiftTab) {
- focusPrevious.focus();
- } else {
- focusNext.focus();
- }
- }
- } else {
- rootElement.focus();
- }
- };
- doc.addEventListener("focusin", contain);
- doc.addEventListener("keydown", loopFocus, true);
- const interval = setInterval(() => {
- if (doc.activeElement && doc.activeElement.tagName === "BODY") {
- contain();
- }
- }, 50);
- return () => {
- clearInterval(interval);
- doc.removeEventListener("focusin", contain);
- doc.removeEventListener("keydown", loopFocus, true);
- };
- }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]);
- const onFocus = (event) => {
- if (nodeToRestore.current === null) {
- nodeToRestore.current = event.relatedTarget;
- }
- activated.current = true;
- reactFocusEventTarget.current = event.target;
- const childrenPropsHandler = children.props.onFocus;
- if (childrenPropsHandler) {
- childrenPropsHandler(event);
- }
- };
- const handleFocusSentinel = (event) => {
- if (nodeToRestore.current === null) {
- nodeToRestore.current = event.relatedTarget;
- }
- activated.current = true;
- };
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(React__namespace.Fragment, {
- children: [/* @__PURE__ */ jsxRuntimeExports.jsx("div", {
- tabIndex: open ? 0 : -1,
- onFocus: handleFocusSentinel,
- ref: sentinelStart,
- "data-testid": "sentinelStart"
- }), /* @__PURE__ */ React__namespace.cloneElement(children, {
- ref: handleRef,
- onFocus
- }), /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
- tabIndex: open ? 0 : -1,
- onFocus: handleFocusSentinel,
- ref: sentinelEnd,
- "data-testid": "sentinelEnd"
- })]
- });
- }
- function getContainer$1(container) {
- return typeof container === "function" ? container() : container;
- }
- const Portal = /* @__PURE__ */ React__namespace.forwardRef(function Portal2(props, forwardedRef) {
- const {
- children,
- container,
- disablePortal = false
- } = props;
- const [mountNode, setMountNode] = React__namespace.useState(null);
- const handleRef = useForkRef(/* @__PURE__ */ React__namespace.isValidElement(children) ? children.ref : null, forwardedRef);
- useEnhancedEffect(() => {
- if (!disablePortal) {
- setMountNode(getContainer$1(container) || document.body);
- }
- }, [container, disablePortal]);
- useEnhancedEffect(() => {
- if (mountNode && !disablePortal) {
- setRef(forwardedRef, mountNode);
- return () => {
- setRef(forwardedRef, null);
- };
- }
- return void 0;
- }, [forwardedRef, mountNode, disablePortal]);
- if (disablePortal) {
- if (/* @__PURE__ */ React__namespace.isValidElement(children)) {
- const newProps = {
- ref: handleRef
- };
- return /* @__PURE__ */ React__namespace.cloneElement(children, newProps);
- }
- return /* @__PURE__ */ jsxRuntimeExports.jsx(React__namespace.Fragment, {
- children
- });
- }
- return /* @__PURE__ */ jsxRuntimeExports.jsx(React__namespace.Fragment, {
- children: mountNode ? /* @__PURE__ */ ReactDOM__default__namespace.createPortal(children, mountNode) : mountNode
- });
- });
- function isOverflowing(container) {
- const doc = ownerDocument(container);
- if (doc.body === container) {
- return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;
- }
- return container.scrollHeight > container.clientHeight;
- }
- function ariaHidden(element, show) {
- if (show) {
- element.setAttribute("aria-hidden", "true");
- } else {
- element.removeAttribute("aria-hidden");
- }
- }
- function getPaddingRight(element) {
- return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;
- }
- function isAriaHiddenForbiddenOnElement(element) {
- const forbiddenTagNames = ["TEMPLATE", "SCRIPT", "STYLE", "LINK", "MAP", "META", "NOSCRIPT", "PICTURE", "COL", "COLGROUP", "PARAM", "SLOT", "SOURCE", "TRACK"];
- const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;
- const isInputHidden = element.tagName === "INPUT" && element.getAttribute("type") === "hidden";
- return isForbiddenTagName || isInputHidden;
- }
- function ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {
- const blacklist = [mountElement, currentElement, ...elementsToExclude];
- [].forEach.call(container.children, (element) => {
- const isNotExcludedElement = blacklist.indexOf(element) === -1;
- const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);
- if (isNotExcludedElement && isNotForbiddenElement) {
- ariaHidden(element, show);
- }
- });
- }
- function findIndexOf(items, callback) {
- let idx = -1;
- items.some((item, index) => {
- if (callback(item)) {
- idx = index;
- return true;
- }
- return false;
- });
- return idx;
- }
- function handleContainer(containerInfo, props) {
- const restoreStyle = [];
- const container = containerInfo.container;
- if (!props.disableScrollLock) {
- if (isOverflowing(container)) {
- const scrollbarSize = getScrollbarSize(ownerDocument(container));
- restoreStyle.push({
- value: container.style.paddingRight,
- property: "padding-right",
- el: container
- });
- container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`;
- const fixedElements2 = ownerDocument(container).querySelectorAll(".mui-fixed");
- [].forEach.call(fixedElements2, (element) => {
- restoreStyle.push({
- value: element.style.paddingRight,
- property: "padding-right",
- el: element
- });
- element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`;
- });
- }
- let scrollContainer;
- if (container.parentNode instanceof DocumentFragment) {
- scrollContainer = ownerDocument(container).body;
- } else {
- const parent = container.parentElement;
- const containerWindow = ownerWindow(container);
- scrollContainer = (parent == null ? void 0 : parent.nodeName) === "HTML" && containerWindow.getComputedStyle(parent).overflowY === "scroll" ? parent : container;
- }
- restoreStyle.push({
- value: scrollContainer.style.overflow,
- property: "overflow",
- el: scrollContainer
- }, {
- value: scrollContainer.style.overflowX,
- property: "overflow-x",
- el: scrollContainer
- }, {
- value: scrollContainer.style.overflowY,
- property: "overflow-y",
- el: scrollContainer
- });
- scrollContainer.style.overflow = "hidden";
- }
- const restore = () => {
- restoreStyle.forEach(({
- value,
- el,
- property
- }) => {
- if (value) {
- el.style.setProperty(property, value);
- } else {
- el.style.removeProperty(property);
- }
- });
- };
- return restore;
- }
- function getHiddenSiblings(container) {
- const hiddenSiblings = [];
- [].forEach.call(container.children, (element) => {
- if (element.getAttribute("aria-hidden") === "true") {
- hiddenSiblings.push(element);
- }
- });
- return hiddenSiblings;
- }
- class ModalManager {
- constructor() {
- this.containers = void 0;
- this.modals = void 0;
- this.modals = [];
- this.containers = [];
- }
- add(modal, container) {
- let modalIndex = this.modals.indexOf(modal);
- if (modalIndex !== -1) {
- return modalIndex;
- }
- modalIndex = this.modals.length;
- this.modals.push(modal);
- if (modal.modalRef) {
- ariaHidden(modal.modalRef, false);
- }
- const hiddenSiblings = getHiddenSiblings(container);
- ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);
- const containerIndex = findIndexOf(this.containers, (item) => item.container === container);
- if (containerIndex !== -1) {
- this.containers[containerIndex].modals.push(modal);
- return modalIndex;
- }
- this.containers.push({
- modals: [modal],
- container,
- restore: null,
- hiddenSiblings
- });
- return modalIndex;
- }
- mount(modal, props) {
- const containerIndex = findIndexOf(this.containers, (item) => item.modals.indexOf(modal) !== -1);
- const containerInfo = this.containers[containerIndex];
- if (!containerInfo.restore) {
- containerInfo.restore = handleContainer(containerInfo, props);
- }
- }
- remove(modal, ariaHiddenState = true) {
- const modalIndex = this.modals.indexOf(modal);
- if (modalIndex === -1) {
- return modalIndex;
- }
- const containerIndex = findIndexOf(this.containers, (item) => item.modals.indexOf(modal) !== -1);
- const containerInfo = this.containers[containerIndex];
- containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);
- this.modals.splice(modalIndex, 1);
- if (containerInfo.modals.length === 0) {
- if (containerInfo.restore) {
- containerInfo.restore();
- }
- if (modal.modalRef) {
- ariaHidden(modal.modalRef, ariaHiddenState);
- }
- ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);
- this.containers.splice(containerIndex, 1);
- } else {
- const nextTop = containerInfo.modals[containerInfo.modals.length - 1];
- if (nextTop.modalRef) {
- ariaHidden(nextTop.modalRef, false);
- }
- }
- return modalIndex;
- }
- isTopModal(modal) {
- return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;
- }
- }
- function getContainer(container) {
- return typeof container === "function" ? container() : container;
- }
- function getHasTransition(children) {
- return children ? children.props.hasOwnProperty("in") : false;
- }
- const defaultManager = new ModalManager();
- function useModal(parameters) {
- const {
- container,
- disableEscapeKeyDown = false,
- disableScrollLock = false,
- // @ts-ignore internal logic - Base UI supports the manager as a prop too
- manager = defaultManager,
- closeAfterTransition = false,
- onTransitionEnter,
- onTransitionExited,
- children,
- onClose,
- open,
- rootRef
- } = parameters;
- const modal = React__namespace.useRef({});
- const mountNodeRef = React__namespace.useRef(null);
- const modalRef = React__namespace.useRef(null);
- const handleRef = useForkRef(modalRef, rootRef);
- const [exited, setExited] = React__namespace.useState(!open);
- const hasTransition = getHasTransition(children);
- let ariaHiddenProp = true;
- if (parameters["aria-hidden"] === "false" || parameters["aria-hidden"] === false) {
- ariaHiddenProp = false;
- }
- const getDoc = () => ownerDocument(mountNodeRef.current);
- const getModal = () => {
- modal.current.modalRef = modalRef.current;
- modal.current.mount = mountNodeRef.current;
- return modal.current;
- };
- const handleMounted = () => {
- manager.mount(getModal(), {
- disableScrollLock
- });
- if (modalRef.current) {
- modalRef.current.scrollTop = 0;
- }
- };
- const handleOpen = useEventCallback(() => {
- const resolvedContainer = getContainer(container) || getDoc().body;
- manager.add(getModal(), resolvedContainer);
- if (modalRef.current) {
- handleMounted();
- }
- });
- const isTopModal = React__namespace.useCallback(() => manager.isTopModal(getModal()), [manager]);
- const handlePortalRef = useEventCallback((node2) => {
- mountNodeRef.current = node2;
- if (!node2) {
- return;
- }
- if (open && isTopModal()) {
- handleMounted();
- } else if (modalRef.current) {
- ariaHidden(modalRef.current, ariaHiddenProp);
- }
- });
- const handleClose = React__namespace.useCallback(() => {
- manager.remove(getModal(), ariaHiddenProp);
- }, [ariaHiddenProp, manager]);
- React__namespace.useEffect(() => {
- return () => {
- handleClose();
- };
- }, [handleClose]);
- React__namespace.useEffect(() => {
- if (open) {
- handleOpen();
- } else if (!hasTransition || !closeAfterTransition) {
- handleClose();
- }
- }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]);
- const createHandleKeyDown = (otherHandlers) => (event) => {
- var _otherHandlers$onKeyD;
- (_otherHandlers$onKeyD = otherHandlers.onKeyDown) == null || _otherHandlers$onKeyD.call(otherHandlers, event);
- if (event.key !== "Escape" || event.which === 229 || // Wait until IME is settled.
- !isTopModal()) {
- return;
- }
- if (!disableEscapeKeyDown) {
- event.stopPropagation();
- if (onClose) {
- onClose(event, "escapeKeyDown");
- }
- }
- };
- const createHandleBackdropClick = (otherHandlers) => (event) => {
- var _otherHandlers$onClic;
- (_otherHandlers$onClic = otherHandlers.onClick) == null || _otherHandlers$onClic.call(otherHandlers, event);
- if (event.target !== event.currentTarget) {
- return;
- }
- if (onClose) {
- onClose(event, "backdropClick");
- }
- };
- const getRootProps = (otherHandlers = {}) => {
- const propsEventHandlers = extractEventHandlers(parameters);
- delete propsEventHandlers.onTransitionEnter;
- delete propsEventHandlers.onTransitionExited;
- const externalEventHandlers = _extends$1({}, propsEventHandlers, otherHandlers);
- return _extends$1({
- role: "presentation"
- }, externalEventHandlers, {
- onKeyDown: createHandleKeyDown(externalEventHandlers),
- ref: handleRef
- });
- };
- const getBackdropProps = (otherHandlers = {}) => {
- const externalEventHandlers = otherHandlers;
- return _extends$1({
- "aria-hidden": true
- }, externalEventHandlers, {
- onClick: createHandleBackdropClick(externalEventHandlers),
- open
- });
- };
- const getTransitionProps2 = () => {
- const handleEnter = () => {
- setExited(false);
- if (onTransitionEnter) {
- onTransitionEnter();
- }
- };
- const handleExited = () => {
- setExited(true);
- if (onTransitionExited) {
- onTransitionExited();
- }
- if (closeAfterTransition) {
- handleClose();
- }
- };
- return {
- onEnter: createChainedFunction(handleEnter, children == null ? void 0 : children.props.onEnter),
- onExited: createChainedFunction(handleExited, children == null ? void 0 : children.props.onExited)
- };
- };
- return {
- getRootProps,
- getBackdropProps,
- getTransitionProps: getTransitionProps2,
- rootRef: handleRef,
- portalRef: handlePortalRef,
- isTopModal,
- exited,
- hasTransition
- };
- }
- const _excluded$4 = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
- const styles = {
- entering: {
- opacity: 1
- },
- entered: {
- opacity: 1
- }
- };
- const Fade = /* @__PURE__ */ React__namespace.forwardRef(function Fade2(props, ref) {
- const theme = useTheme();
- const defaultTimeout = {
- enter: theme.transitions.duration.enteringScreen,
- exit: theme.transitions.duration.leavingScreen
- };
- const {
- addEndListener,
- appear = true,
- children,
- easing: easing2,
- in: inProp,
- onEnter,
- onEntered,
- onEntering,
- onExit,
- onExited,
- onExiting,
- style: style2,
- timeout = defaultTimeout,
- // eslint-disable-next-line react/prop-types
- TransitionComponent = Transition$1
- } = props, other = _objectWithoutPropertiesLoose(props, _excluded$4);
- const nodeRef = React__namespace.useRef(null);
- const handleRef = useForkRef(nodeRef, children.ref, ref);
- const normalizedTransitionCallback = (callback) => (maybeIsAppearing) => {
- if (callback) {
- const node2 = nodeRef.current;
- if (maybeIsAppearing === void 0) {
- callback(node2);
- } else {
- callback(node2, maybeIsAppearing);
- }
- }
- };
- const handleEntering = normalizedTransitionCallback(onEntering);
- const handleEnter = normalizedTransitionCallback((node2, isAppearing) => {
- reflow(node2);
- const transitionProps = getTransitionProps({
- style: style2,
- timeout,
- easing: easing2
- }, {
- mode: "enter"
- });
- node2.style.webkitTransition = theme.transitions.create("opacity", transitionProps);
- node2.style.transition = theme.transitions.create("opacity", transitionProps);
- if (onEnter) {
- onEnter(node2, isAppearing);
- }
- });
- const handleEntered = normalizedTransitionCallback(onEntered);
- const handleExiting = normalizedTransitionCallback(onExiting);
- const handleExit = normalizedTransitionCallback((node2) => {
- const transitionProps = getTransitionProps({
- style: style2,
- timeout,
- easing: easing2
- }, {
- mode: "exit"
- });
- node2.style.webkitTransition = theme.transitions.create("opacity", transitionProps);
- node2.style.transition = theme.transitions.create("opacity", transitionProps);
- if (onExit) {
- onExit(node2);
- }
- });
- const handleExited = normalizedTransitionCallback(onExited);
- const handleAddEndListener = (next2) => {
- if (addEndListener) {
- addEndListener(nodeRef.current, next2);
- }
- };
- return /* @__PURE__ */ jsxRuntimeExports.jsx(TransitionComponent, _extends$1({
- appear,
- in: inProp,
- nodeRef,
- onEnter: handleEnter,
- onEntered: handleEntered,
- onEntering: handleEntering,
- onExit: handleExit,
- onExited: handleExited,
- onExiting: handleExiting,
- addEndListener: handleAddEndListener,
- timeout
- }, other, {
- children: (state, childProps) => {
- return /* @__PURE__ */ React__namespace.cloneElement(children, _extends$1({
- style: _extends$1({
- opacity: 0,
- visibility: state === "exited" && !inProp ? "hidden" : void 0
- }, styles[state], style2, children.props.style),
- ref: handleRef
- }, childProps));
- }
- }));
- });
- const Fade$1 = Fade;
- function getBackdropUtilityClass(slot) {
- return generateUtilityClass("MuiBackdrop", slot);
- }
- generateUtilityClasses("MuiBackdrop", ["root", "invisible"]);
- const _excluded$3 = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
- const useUtilityClasses$2 = (ownerState) => {
- const {
- classes,
- invisible
- } = ownerState;
- const slots = {
- root: ["root", invisible && "invisible"]
- };
- return composeClasses(slots, getBackdropUtilityClass, classes);
- };
- const BackdropRoot = styled("div", {
- name: "MuiBackdrop",
- slot: "Root",
- overridesResolver: (props, styles2) => {
- const {
- ownerState
- } = props;
- return [styles2.root, ownerState.invisible && styles2.invisible];
- }
- })(({
- ownerState
- }) => _extends$1({
- position: "fixed",
- display: "flex",
- alignItems: "center",
- justifyContent: "center",
- right: 0,
- bottom: 0,
- top: 0,
- left: 0,
- backgroundColor: "rgba(0, 0, 0, 0.5)",
- WebkitTapHighlightColor: "transparent"
- }, ownerState.invisible && {
- backgroundColor: "transparent"
- }));
- const Backdrop = /* @__PURE__ */ React__namespace.forwardRef(function Backdrop2(inProps, ref) {
- var _slotProps$root, _ref, _slots$root;
- const props = useThemeProps({
- props: inProps,
- name: "MuiBackdrop"
- });
- const {
- children,
- className,
- component = "div",
- components = {},
- componentsProps = {},
- invisible = false,
- open,
- slotProps = {},
- slots = {},
- TransitionComponent = Fade$1,
- transitionDuration
- } = props, other = _objectWithoutPropertiesLoose(props, _excluded$3);
- const ownerState = _extends$1({}, props, {
- component,
- invisible
- });
- const classes = useUtilityClasses$2(ownerState);
- const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;
- return /* @__PURE__ */ jsxRuntimeExports.jsx(TransitionComponent, _extends$1({
- in: open,
- timeout: transitionDuration
- }, other, {
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(BackdropRoot, _extends$1({
- "aria-hidden": true
- }, rootSlotProps, {
- as: (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : component,
- className: clsx(classes.root, className, rootSlotProps == null ? void 0 : rootSlotProps.className),
- ownerState: _extends$1({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState),
- classes,
- ref,
- children
- }))
- }));
- });
- const Backdrop$1 = Backdrop;
- const boxClasses = generateUtilityClasses("MuiBox", ["root"]);
- const boxClasses$1 = boxClasses;
- const defaultTheme = createTheme();
- const Box = createBox({
- themeId: THEME_ID,
- defaultTheme,
- defaultClassName: boxClasses$1.root,
- generateClassName: ClassNameGenerator.generate
- });
- const Box$1 = Box;
- function getModalUtilityClass(slot) {
- return generateUtilityClass("MuiModal", slot);
- }
- generateUtilityClasses("MuiModal", ["root", "hidden", "backdrop"]);
- const _excluded$2 = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "onTransitionEnter", "onTransitionExited", "open", "slotProps", "slots", "theme"];
- const useUtilityClasses$1 = (ownerState) => {
- const {
- open,
- exited,
- classes
- } = ownerState;
- const slots = {
- root: ["root", !open && exited && "hidden"],
- backdrop: ["backdrop"]
- };
- return composeClasses(slots, getModalUtilityClass, classes);
- };
- const ModalRoot = styled("div", {
- name: "MuiModal",
- slot: "Root",
- overridesResolver: (props, styles2) => {
- const {
- ownerState
- } = props;
- return [styles2.root, !ownerState.open && ownerState.exited && styles2.hidden];
- }
- })(({
- theme,
- ownerState
- }) => _extends$1({
- position: "fixed",
- zIndex: (theme.vars || theme).zIndex.modal,
- right: 0,
- bottom: 0,
- top: 0,
- left: 0
- }, !ownerState.open && ownerState.exited && {
- visibility: "hidden"
- }));
- const ModalBackdrop = styled(Backdrop$1, {
- name: "MuiModal",
- slot: "Backdrop",
- overridesResolver: (props, styles2) => {
- return styles2.backdrop;
- }
- })({
- zIndex: -1
- });
- const Modal = /* @__PURE__ */ React__namespace.forwardRef(function Modal2(inProps, ref) {
- var _ref, _slots$root, _ref2, _slots$backdrop, _slotProps$root, _slotProps$backdrop;
- const props = useThemeProps({
- name: "MuiModal",
- props: inProps
- });
- const {
- BackdropComponent = ModalBackdrop,
- BackdropProps,
- className,
- closeAfterTransition = false,
- children,
- container,
- component,
- components = {},
- componentsProps = {},
- disableAutoFocus = false,
- disableEnforceFocus = false,
- disableEscapeKeyDown = false,
- disablePortal = false,
- disableRestoreFocus = false,
- disableScrollLock = false,
- hideBackdrop = false,
- keepMounted = false,
- onBackdropClick,
- open,
- slotProps,
- slots
- // eslint-disable-next-line react/prop-types
- } = props, other = _objectWithoutPropertiesLoose(props, _excluded$2);
- const propsWithDefaults = _extends$1({}, props, {
- closeAfterTransition,
- disableAutoFocus,
- disableEnforceFocus,
- disableEscapeKeyDown,
- disablePortal,
- disableRestoreFocus,
- disableScrollLock,
- hideBackdrop,
- keepMounted
- });
- const {
- getRootProps,
- getBackdropProps,
- getTransitionProps: getTransitionProps2,
- portalRef,
- isTopModal,
- exited,
- hasTransition
- } = useModal(_extends$1({}, propsWithDefaults, {
- rootRef: ref
- }));
- const ownerState = _extends$1({}, propsWithDefaults, {
- exited
- });
- const classes = useUtilityClasses$1(ownerState);
- const childProps = {};
- if (children.props.tabIndex === void 0) {
- childProps.tabIndex = "-1";
- }
- if (hasTransition) {
- const {
- onEnter,
- onExited
- } = getTransitionProps2();
- childProps.onEnter = onEnter;
- childProps.onExited = onExited;
- }
- const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : ModalRoot;
- const BackdropSlot = (_ref2 = (_slots$backdrop = slots == null ? void 0 : slots.backdrop) != null ? _slots$backdrop : components.Backdrop) != null ? _ref2 : BackdropComponent;
- const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;
- const backdropSlotProps = (_slotProps$backdrop = slotProps == null ? void 0 : slotProps.backdrop) != null ? _slotProps$backdrop : componentsProps.backdrop;
- const rootProps = useSlotProps({
- elementType: RootSlot,
- externalSlotProps: rootSlotProps,
- externalForwardedProps: other,
- getSlotProps: getRootProps,
- additionalProps: {
- ref,
- as: component
- },
- ownerState,
- className: clsx(className, rootSlotProps == null ? void 0 : rootSlotProps.className, classes == null ? void 0 : classes.root, !ownerState.open && ownerState.exited && (classes == null ? void 0 : classes.hidden))
- });
- const backdropProps = useSlotProps({
- elementType: BackdropSlot,
- externalSlotProps: backdropSlotProps,
- additionalProps: BackdropProps,
- getSlotProps: (otherHandlers) => {
- return getBackdropProps(_extends$1({}, otherHandlers, {
- onClick: (e2) => {
- if (onBackdropClick) {
- onBackdropClick(e2);
- }
- if (otherHandlers != null && otherHandlers.onClick) {
- otherHandlers.onClick(e2);
- }
- }
- }));
- },
- className: clsx(backdropSlotProps == null ? void 0 : backdropSlotProps.className, BackdropProps == null ? void 0 : BackdropProps.className, classes == null ? void 0 : classes.backdrop),
- ownerState
- });
- if (!keepMounted && !open && (!hasTransition || exited)) {
- return null;
- }
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Portal, {
- ref: portalRef,
- container,
- disablePortal,
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs(RootSlot, _extends$1({}, rootProps, {
- children: [!hideBackdrop && BackdropComponent ? /* @__PURE__ */ jsxRuntimeExports.jsx(BackdropSlot, _extends$1({}, backdropProps)) : null, /* @__PURE__ */ jsxRuntimeExports.jsx(FocusTrap, {
- disableEnforceFocus,
- disableAutoFocus,
- disableRestoreFocus,
- isEnabled: isTopModal,
- open,
- children: /* @__PURE__ */ React__namespace.cloneElement(children, childProps)
- })]
- }))
- });
- });
- const Modal$1 = Modal;
- const _excluded$1 = ["addEndListener", "appear", "children", "container", "direction", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
- function getTranslateValue(direction, node2, resolvedContainer) {
- const rect = node2.getBoundingClientRect();
- const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect();
- const containerWindow = ownerWindow(node2);
- let transform;
- if (node2.fakeTransform) {
- transform = node2.fakeTransform;
- } else {
- const computedStyle = containerWindow.getComputedStyle(node2);
- transform = computedStyle.getPropertyValue("-webkit-transform") || computedStyle.getPropertyValue("transform");
- }
- let offsetX = 0;
- let offsetY = 0;
- if (transform && transform !== "none" && typeof transform === "string") {
- const transformValues = transform.split("(")[1].split(")")[0].split(",");
- offsetX = parseInt(transformValues[4], 10);
- offsetY = parseInt(transformValues[5], 10);
- }
- if (direction === "left") {
- if (containerRect) {
- return `translateX(${containerRect.right + offsetX - rect.left}px)`;
- }
- return `translateX(${containerWindow.innerWidth + offsetX - rect.left}px)`;
- }
- if (direction === "right") {
- if (containerRect) {
- return `translateX(-${rect.right - containerRect.left - offsetX}px)`;
- }
- return `translateX(-${rect.left + rect.width - offsetX}px)`;
- }
- if (direction === "up") {
- if (containerRect) {
- return `translateY(${containerRect.bottom + offsetY - rect.top}px)`;
- }
- return `translateY(${containerWindow.innerHeight + offsetY - rect.top}px)`;
- }
- if (containerRect) {
- return `translateY(-${rect.top - containerRect.top + rect.height - offsetY}px)`;
- }
- return `translateY(-${rect.top + rect.height - offsetY}px)`;
- }
- function resolveContainer(containerPropProp) {
- return typeof containerPropProp === "function" ? containerPropProp() : containerPropProp;
- }
- function setTranslateValue(direction, node2, containerProp) {
- const resolvedContainer = resolveContainer(containerProp);
- const transform = getTranslateValue(direction, node2, resolvedContainer);
- if (transform) {
- node2.style.webkitTransform = transform;
- node2.style.transform = transform;
- }
- }
- const Slide = /* @__PURE__ */ React__namespace.forwardRef(function Slide2(props, ref) {
- const theme = useTheme();
- const defaultEasing = {
- enter: theme.transitions.easing.easeOut,
- exit: theme.transitions.easing.sharp
- };
- const defaultTimeout = {
- enter: theme.transitions.duration.enteringScreen,
- exit: theme.transitions.duration.leavingScreen
- };
- const {
- addEndListener,
- appear = true,
- children,
- container: containerProp,
- direction = "down",
- easing: easingProp = defaultEasing,
- in: inProp,
- onEnter,
- onEntered,
- onEntering,
- onExit,
- onExited,
- onExiting,
- style: style2,
- timeout = defaultTimeout,
- // eslint-disable-next-line react/prop-types
- TransitionComponent = Transition$1
- } = props, other = _objectWithoutPropertiesLoose(props, _excluded$1);
- const childrenRef = React__namespace.useRef(null);
- const handleRef = useForkRef(children.ref, childrenRef, ref);
- const normalizedTransitionCallback = (callback) => (isAppearing) => {
- if (callback) {
- if (isAppearing === void 0) {
- callback(childrenRef.current);
- } else {
- callback(childrenRef.current, isAppearing);
- }
- }
- };
- const handleEnter = normalizedTransitionCallback((node2, isAppearing) => {
- setTranslateValue(direction, node2, containerProp);
- reflow(node2);
- if (onEnter) {
- onEnter(node2, isAppearing);
- }
- });
- const handleEntering = normalizedTransitionCallback((node2, isAppearing) => {
- const transitionProps = getTransitionProps({
- timeout,
- style: style2,
- easing: easingProp
- }, {
- mode: "enter"
- });
- node2.style.webkitTransition = theme.transitions.create("-webkit-transform", _extends$1({}, transitionProps));
- node2.style.transition = theme.transitions.create("transform", _extends$1({}, transitionProps));
- node2.style.webkitTransform = "none";
- node2.style.transform = "none";
- if (onEntering) {
- onEntering(node2, isAppearing);
- }
- });
- const handleEntered = normalizedTransitionCallback(onEntered);
- const handleExiting = normalizedTransitionCallback(onExiting);
- const handleExit = normalizedTransitionCallback((node2) => {
- const transitionProps = getTransitionProps({
- timeout,
- style: style2,
- easing: easingProp
- }, {
- mode: "exit"
- });
- node2.style.webkitTransition = theme.transitions.create("-webkit-transform", transitionProps);
- node2.style.transition = theme.transitions.create("transform", transitionProps);
- setTranslateValue(direction, node2, containerProp);
- if (onExit) {
- onExit(node2);
- }
- });
- const handleExited = normalizedTransitionCallback((node2) => {
- node2.style.webkitTransition = "";
- node2.style.transition = "";
- if (onExited) {
- onExited(node2);
- }
- });
- const handleAddEndListener = (next2) => {
- if (addEndListener) {
- addEndListener(childrenRef.current, next2);
- }
- };
- const updatePosition = React__namespace.useCallback(() => {
- if (childrenRef.current) {
- setTranslateValue(direction, childrenRef.current, containerProp);
- }
- }, [direction, containerProp]);
- React__namespace.useEffect(() => {
- if (inProp || direction === "down" || direction === "right") {
- return void 0;
- }
- const handleResize = debounce(() => {
- if (childrenRef.current) {
- setTranslateValue(direction, childrenRef.current, containerProp);
- }
- });
- const containerWindow = ownerWindow(childrenRef.current);
- containerWindow.addEventListener("resize", handleResize);
- return () => {
- handleResize.clear();
- containerWindow.removeEventListener("resize", handleResize);
- };
- }, [direction, inProp, containerProp]);
- React__namespace.useEffect(() => {
- if (!inProp) {
- updatePosition();
- }
- }, [inProp, updatePosition]);
- return /* @__PURE__ */ jsxRuntimeExports.jsx(TransitionComponent, _extends$1({
- nodeRef: childrenRef,
- onEnter: handleEnter,
- onEntered: handleEntered,
- onEntering: handleEntering,
- onExit: handleExit,
- onExited: handleExited,
- onExiting: handleExiting,
- addEndListener: handleAddEndListener,
- appear,
- in: inProp,
- timeout
- }, other, {
- children: (state, childProps) => {
- return /* @__PURE__ */ React__namespace.cloneElement(children, _extends$1({
- ref: handleRef,
- style: _extends$1({
- visibility: state === "exited" && !inProp ? "hidden" : void 0
- }, style2, children.props.style)
- }, childProps));
- }
- }));
- });
- const Slide$1 = Slide;
- function getDrawerUtilityClass(slot) {
- return generateUtilityClass("MuiDrawer", slot);
- }
- const drawerClasses = generateUtilityClasses("MuiDrawer", ["root", "docked", "paper", "paperAnchorLeft", "paperAnchorRight", "paperAnchorTop", "paperAnchorBottom", "paperAnchorDockedLeft", "paperAnchorDockedRight", "paperAnchorDockedTop", "paperAnchorDockedBottom", "modal"]);
- const drawerClasses$1 = drawerClasses;
- const _excluded = ["BackdropProps"], _excluded2 = ["anchor", "BackdropProps", "children", "className", "elevation", "hideBackdrop", "ModalProps", "onClose", "open", "PaperProps", "SlideProps", "TransitionComponent", "transitionDuration", "variant"];
- const overridesResolver = (props, styles2) => {
- const {
- ownerState
- } = props;
- return [styles2.root, (ownerState.variant === "permanent" || ownerState.variant === "persistent") && styles2.docked, styles2.modal];
- };
- const useUtilityClasses = (ownerState) => {
- const {
- classes,
- anchor,
- variant
- } = ownerState;
- const slots = {
- root: ["root"],
- docked: [(variant === "permanent" || variant === "persistent") && "docked"],
- modal: ["modal"],
- paper: ["paper", `paperAnchor${capitalize$1(anchor)}`, variant !== "temporary" && `paperAnchorDocked${capitalize$1(anchor)}`]
- };
- return composeClasses(slots, getDrawerUtilityClass, classes);
- };
- const DrawerRoot = styled(Modal$1, {
- name: "MuiDrawer",
- slot: "Root",
- overridesResolver
- })(({
- theme
- }) => ({
- zIndex: (theme.vars || theme).zIndex.drawer
- }));
- const DrawerDockedRoot = styled("div", {
- shouldForwardProp: rootShouldForwardProp,
- name: "MuiDrawer",
- slot: "Docked",
- skipVariantsResolver: false,
- overridesResolver
- })({
- flex: "0 0 auto"
- });
- const DrawerPaper = styled(Paper$1, {
- name: "MuiDrawer",
- slot: "Paper",
- overridesResolver: (props, styles2) => {
- const {
- ownerState
- } = props;
- return [styles2.paper, styles2[`paperAnchor${capitalize$1(ownerState.anchor)}`], ownerState.variant !== "temporary" && styles2[`paperAnchorDocked${capitalize$1(ownerState.anchor)}`]];
- }
- })(({
- theme,
- ownerState
- }) => _extends$1({
- overflowY: "auto",
- display: "flex",
- flexDirection: "column",
- height: "100%",
- flex: "1 0 auto",
- zIndex: (theme.vars || theme).zIndex.drawer,
- // Add iOS momentum scrolling for iOS < 13.0
- WebkitOverflowScrolling: "touch",
- // temporary style
- position: "fixed",
- top: 0,
- // We disable the focus ring for mouse, touch and keyboard users.
- // At some point, it would be better to keep it for keyboard users.
- // :focus-ring CSS pseudo-class will help.
- outline: 0
- }, ownerState.anchor === "left" && {
- left: 0
- }, ownerState.anchor === "top" && {
- top: 0,
- left: 0,
- right: 0,
- height: "auto",
- maxHeight: "100%"
- }, ownerState.anchor === "right" && {
- right: 0
- }, ownerState.anchor === "bottom" && {
- top: "auto",
- left: 0,
- bottom: 0,
- right: 0,
- height: "auto",
- maxHeight: "100%"
- }, ownerState.anchor === "left" && ownerState.variant !== "temporary" && {
- borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
- }, ownerState.anchor === "top" && ownerState.variant !== "temporary" && {
- borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
- }, ownerState.anchor === "right" && ownerState.variant !== "temporary" && {
- borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`
- }, ownerState.anchor === "bottom" && ownerState.variant !== "temporary" && {
- borderTop: `1px solid ${(theme.vars || theme).palette.divider}`
- }));
- const oppositeDirection = {
- left: "right",
- right: "left",
- top: "down",
- bottom: "up"
- };
- function isHorizontal(anchor) {
- return ["left", "right"].indexOf(anchor) !== -1;
- }
- function getAnchor(theme, anchor) {
- return theme.direction === "rtl" && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;
- }
- const Drawer = /* @__PURE__ */ React__namespace.forwardRef(function Drawer2(inProps, ref) {
- const props = useThemeProps({
- props: inProps,
- name: "MuiDrawer"
- });
- const theme = useTheme();
- const defaultTransitionDuration = {
- enter: theme.transitions.duration.enteringScreen,
- exit: theme.transitions.duration.leavingScreen
- };
- const {
- anchor: anchorProp = "left",
- BackdropProps,
- children,
- className,
- elevation = 16,
- hideBackdrop = false,
- ModalProps: {
- BackdropProps: BackdropPropsProp
- } = {},
- onClose,
- open = false,
- PaperProps = {},
- SlideProps,
- // eslint-disable-next-line react/prop-types
- TransitionComponent = Slide$1,
- transitionDuration = defaultTransitionDuration,
- variant = "temporary"
- } = props, ModalProps = _objectWithoutPropertiesLoose(props.ModalProps, _excluded), other = _objectWithoutPropertiesLoose(props, _excluded2);
- const mounted = React__namespace.useRef(false);
- React__namespace.useEffect(() => {
- mounted.current = true;
- }, []);
- const anchorInvariant = getAnchor(theme, anchorProp);
- const anchor = anchorProp;
- const ownerState = _extends$1({}, props, {
- anchor,
- elevation,
- open,
- variant
- }, other);
- const classes = useUtilityClasses(ownerState);
- const drawer = /* @__PURE__ */ jsxRuntimeExports.jsx(DrawerPaper, _extends$1({
- elevation: variant === "temporary" ? elevation : 0,
- square: true
- }, PaperProps, {
- className: clsx(classes.paper, PaperProps.className),
- ownerState,
- children
- }));
- if (variant === "permanent") {
- return /* @__PURE__ */ jsxRuntimeExports.jsx(DrawerDockedRoot, _extends$1({
- className: clsx(classes.root, classes.docked, className),
- ownerState,
- ref
- }, other, {
- children: drawer
- }));
- }
- const slidingDrawer = /* @__PURE__ */ jsxRuntimeExports.jsx(TransitionComponent, _extends$1({
- in: open,
- direction: oppositeDirection[anchorInvariant],
- timeout: transitionDuration,
- appear: mounted.current
- }, SlideProps, {
- children: drawer
- }));
- if (variant === "persistent") {
- return /* @__PURE__ */ jsxRuntimeExports.jsx(DrawerDockedRoot, _extends$1({
- className: clsx(classes.root, classes.docked, className),
- ownerState,
- ref
- }, other, {
- children: slidingDrawer
- }));
- }
- return /* @__PURE__ */ jsxRuntimeExports.jsx(DrawerRoot, _extends$1({
- BackdropProps: _extends$1({}, BackdropProps, BackdropPropsProp, {
- transitionDuration
- }),
- className: clsx(classes.root, classes.modal, className),
- open,
- ownerState,
- onClose,
- hideBackdrop,
- ref
- }, other, ModalProps, {
- children: slidingDrawer
- }));
- });
- const Drawer$1 = Drawer;
- const appConfig = {
- domain: "https://linux.do"
- };
- const fetchGetInvites = (username, csrfToken, filter = "pending", offset = 0) => {
- return fetch(`${appConfig.domain}/u/${username}/invited.json?filter=${filter}&offset=${offset}`, {
- headers: {
- accept: "application/json, text/javascript, */*; q=0.01",
- "accept-language": "zh-CN,zh;q=0.9,en;q=0.8",
- "discourse-logged-in": "true",
- "discourse-present": "true",
- "discourse-track-view": "true",
- "x-csrf-token": csrfToken,
- "x-requested-with": "XMLHttpRequest"
- },
- body: null,
- method: "GET",
- mode: "cors",
- credentials: "include"
- }).then((serverPromise) => {
- return serverPromise.json().then((res) => {
- return res;
- }).catch((err) => {
- console.error(err);
- return null;
- });
- }).catch((err) => {
- console.error(err);
- return null;
- });
- };
- const fetchUpdateInvite = (inviteID, csrfToken, maxRedemptionsAllowed = 10, expiresAt = "2099-12-31+23%3A59%2B08%3A00") => {
- return fetch(`${appConfig.domain}/invites/${inviteID}`, {
- headers: {
- accept: "*/*",
- "accept-language": "zh-CN,zh;q=0.9,en;q=0.8",
- "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
- "discourse-logged-in": "true",
- "discourse-present": "true",
- "x-csrf-token": csrfToken,
- "x-requested-with": "XMLHttpRequest"
- },
- body: `max_redemptions_allowed=${maxRedemptionsAllowed}&expires_at=${expiresAt}`,
- method: "PUT",
- mode: "cors",
- credentials: "include"
- }).then((serverPromise) => {
- return serverPromise.json().then((res) => {
- return res;
- }).catch((err) => {
- console.error(err);
- return null;
- });
- }).catch((err) => {
- console.error(err);
- return null;
- });
- };
- function eq$2(value, other) {
- return value === other || value !== value && other !== other;
- }
- var eq_1 = eq$2;
- var freeGlobal$1 = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
- var _freeGlobal = freeGlobal$1;
- var freeGlobal = _freeGlobal;
- var freeSelf = typeof self == "object" && self && self.Object === Object && self;
- var root$8 = freeGlobal || freeSelf || Function("return this")();
- var _root = root$8;
- var root$7 = _root;
- var Symbol$4 = root$7.Symbol;
- var _Symbol = Symbol$4;
- var Symbol$3 = _Symbol;
- var objectProto$c = Object.prototype;
- var hasOwnProperty$9 = objectProto$c.hasOwnProperty;
- var nativeObjectToString$1 = objectProto$c.toString;
- var symToStringTag$1 = Symbol$3 ? Symbol$3.toStringTag : void 0;
- function getRawTag$1(value) {
- var isOwn = hasOwnProperty$9.call(value, symToStringTag$1), tag = value[symToStringTag$1];
- try {
- value[symToStringTag$1] = void 0;
- var unmasked = true;
- } catch (e2) {
- }
- var result = nativeObjectToString$1.call(value);
- if (unmasked) {
- if (isOwn) {
- value[symToStringTag$1] = tag;
- } else {
- delete value[symToStringTag$1];
- }
- }
- return result;
- }
- var _getRawTag = getRawTag$1;
- var objectProto$b = Object.prototype;
- var nativeObjectToString = objectProto$b.toString;
- function objectToString$1(value) {
- return nativeObjectToString.call(value);
- }
- var _objectToString = objectToString$1;
- var Symbol$2 = _Symbol, getRawTag = _getRawTag, objectToString = _objectToString;
- var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
- var symToStringTag = Symbol$2 ? Symbol$2.toStringTag : void 0;
- function baseGetTag$4(value) {
- if (value == null) {
- return value === void 0 ? undefinedTag : nullTag;
- }
- return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
- }
- var _baseGetTag = baseGetTag$4;
- function isObject$5(value) {
- var type = typeof value;
- return value != null && (type == "object" || type == "function");
- }
- var isObject_1 = isObject$5;
- var baseGetTag$3 = _baseGetTag, isObject$4 = isObject_1;
- var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
- function isFunction$2(value) {
- if (!isObject$4(value)) {
- return false;
- }
- var tag = baseGetTag$3(value);
- return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag;
- }
- var isFunction_1 = isFunction$2;
- var MAX_SAFE_INTEGER$1 = 9007199254740991;
- function isLength$2(value) {
- return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;
- }
- var isLength_1 = isLength$2;
- var isFunction$1 = isFunction_1, isLength$1 = isLength_1;
- function isArrayLike$2(value) {
- return value != null && isLength$1(value.length) && !isFunction$1(value);
- }
- var isArrayLike_1 = isArrayLike$2;
- var MAX_SAFE_INTEGER = 9007199254740991;
- var reIsUint = /^(?:0|[1-9]\d*)$/;
- function isIndex$1(value, length2) {
- var type = typeof value;
- length2 = length2 == null ? MAX_SAFE_INTEGER : length2;
- return !!length2 && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length2);
- }
- var _isIndex = isIndex$1;
- function isObjectLike$5(value) {
- return value != null && typeof value == "object";
- }
- var isObjectLike_1 = isObjectLike$5;
- function listCacheClear$1() {
- this.__data__ = [];
- this.size = 0;
- }
- var _listCacheClear = listCacheClear$1;
- var eq$1 = eq_1;
- function assocIndexOf$4(array, key) {
- var length2 = array.length;
- while (length2--) {
- if (eq$1(array[length2][0], key)) {
- return length2;
- }
- }
- return -1;
- }
- var _assocIndexOf = assocIndexOf$4;
- var assocIndexOf$3 = _assocIndexOf;
- var arrayProto = Array.prototype;
- var splice = arrayProto.splice;
- function listCacheDelete$1(key) {
- var data = this.__data__, index = assocIndexOf$3(data, key);
- if (index < 0) {
- return false;
- }
- var lastIndex = data.length - 1;
- if (index == lastIndex) {
- data.pop();
- } else {
- splice.call(data, index, 1);
- }
- --this.size;
- return true;
- }
- var _listCacheDelete = listCacheDelete$1;
- var assocIndexOf$2 = _assocIndexOf;
- function listCacheGet$1(key) {
- var data = this.__data__, index = assocIndexOf$2(data, key);
- return index < 0 ? void 0 : data[index][1];
- }
- var _listCacheGet = listCacheGet$1;
- var assocIndexOf$1 = _assocIndexOf;
- function listCacheHas$1(key) {
- return assocIndexOf$1(this.__data__, key) > -1;
- }
- var _listCacheHas = listCacheHas$1;
- var assocIndexOf = _assocIndexOf;
- function listCacheSet$1(key, value) {
- var data = this.__data__, index = assocIndexOf(data, key);
- if (index < 0) {
- ++this.size;
- data.push([key, value]);
- } else {
- data[index][1] = value;
- }
- return this;
- }
- var _listCacheSet = listCacheSet$1;
- var listCacheClear = _listCacheClear, listCacheDelete = _listCacheDelete, listCacheGet = _listCacheGet, listCacheHas = _listCacheHas, listCacheSet = _listCacheSet;
- function ListCache$4(entries) {
- var index = -1, length2 = entries == null ? 0 : entries.length;
- this.clear();
- while (++index < length2) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- ListCache$4.prototype.clear = listCacheClear;
- ListCache$4.prototype["delete"] = listCacheDelete;
- ListCache$4.prototype.get = listCacheGet;
- ListCache$4.prototype.has = listCacheHas;
- ListCache$4.prototype.set = listCacheSet;
- var _ListCache = ListCache$4;
- var ListCache$3 = _ListCache;
- function stackClear$1() {
- this.__data__ = new ListCache$3();
- this.size = 0;
- }
- var _stackClear = stackClear$1;
- function stackDelete$1(key) {
- var data = this.__data__, result = data["delete"](key);
- this.size = data.size;
- return result;
- }
- var _stackDelete = stackDelete$1;
- function stackGet$1(key) {
- return this.__data__.get(key);
- }
- var _stackGet = stackGet$1;
- function stackHas$1(key) {
- return this.__data__.has(key);
- }
- var _stackHas = stackHas$1;
- var root$6 = _root;
- var coreJsData$1 = root$6["__core-js_shared__"];
- var _coreJsData = coreJsData$1;
- var coreJsData = _coreJsData;
- var maskSrcKey = function() {
- var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
- return uid ? "Symbol(src)_1." + uid : "";
- }();
- function isMasked$1(func) {
- return !!maskSrcKey && maskSrcKey in func;
- }
- var _isMasked = isMasked$1;
- var funcProto$1 = Function.prototype;
- var funcToString$1 = funcProto$1.toString;
- function toSource$2(func) {
- if (func != null) {
- try {
- return funcToString$1.call(func);
- } catch (e2) {
- }
- try {
- return func + "";
- } catch (e2) {
- }
- }
- return "";
- }
- var _toSource = toSource$2;
- var isFunction = isFunction_1, isMasked = _isMasked, isObject$3 = isObject_1, toSource$1 = _toSource;
- var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
- var funcProto = Function.prototype, objectProto$a = Object.prototype;
- var funcToString = funcProto.toString;
- var hasOwnProperty$8 = objectProto$a.hasOwnProperty;
- var reIsNative = RegExp(
- "^" + funcToString.call(hasOwnProperty$8).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
- );
- function baseIsNative$1(value) {
- if (!isObject$3(value) || isMasked(value)) {
- return false;
- }
- var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
- return pattern.test(toSource$1(value));
- }
- var _baseIsNative = baseIsNative$1;
- function getValue$1(object, key) {
- return object == null ? void 0 : object[key];
- }
- var _getValue = getValue$1;
- var baseIsNative = _baseIsNative, getValue = _getValue;
- function getNative$7(object, key) {
- var value = getValue(object, key);
- return baseIsNative(value) ? value : void 0;
- }
- var _getNative = getNative$7;
- var getNative$6 = _getNative, root$5 = _root;
- var Map$3 = getNative$6(root$5, "Map");
- var _Map = Map$3;
- var getNative$5 = _getNative;
- var nativeCreate$4 = getNative$5(Object, "create");
- var _nativeCreate = nativeCreate$4;
- var nativeCreate$3 = _nativeCreate;
- function hashClear$1() {
- this.__data__ = nativeCreate$3 ? nativeCreate$3(null) : {};
- this.size = 0;
- }
- var _hashClear = hashClear$1;
- function hashDelete$1(key) {
- var result = this.has(key) && delete this.__data__[key];
- this.size -= result ? 1 : 0;
- return result;
- }
- var _hashDelete = hashDelete$1;
- var nativeCreate$2 = _nativeCreate;
- var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
- var objectProto$9 = Object.prototype;
- var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
- function hashGet$1(key) {
- var data = this.__data__;
- if (nativeCreate$2) {
- var result = data[key];
- return result === HASH_UNDEFINED$1 ? void 0 : result;
- }
- return hasOwnProperty$7.call(data, key) ? data[key] : void 0;
- }
- var _hashGet = hashGet$1;
- var nativeCreate$1 = _nativeCreate;
- var objectProto$8 = Object.prototype;
- var hasOwnProperty$6 = objectProto$8.hasOwnProperty;
- function hashHas$1(key) {
- var data = this.__data__;
- return nativeCreate$1 ? data[key] !== void 0 : hasOwnProperty$6.call(data, key);
- }
- var _hashHas = hashHas$1;
- var nativeCreate = _nativeCreate;
- var HASH_UNDEFINED = "__lodash_hash_undefined__";
- function hashSet$1(key, value) {
- var data = this.__data__;
- this.size += this.has(key) ? 0 : 1;
- data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
- return this;
- }
- var _hashSet = hashSet$1;
- var hashClear = _hashClear, hashDelete = _hashDelete, hashGet = _hashGet, hashHas = _hashHas, hashSet = _hashSet;
- function Hash$1(entries) {
- var index = -1, length2 = entries == null ? 0 : entries.length;
- this.clear();
- while (++index < length2) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- Hash$1.prototype.clear = hashClear;
- Hash$1.prototype["delete"] = hashDelete;
- Hash$1.prototype.get = hashGet;
- Hash$1.prototype.has = hashHas;
- Hash$1.prototype.set = hashSet;
- var _Hash = Hash$1;
- var Hash = _Hash, ListCache$2 = _ListCache, Map$2 = _Map;
- function mapCacheClear$1() {
- this.size = 0;
- this.__data__ = {
- "hash": new Hash(),
- "map": new (Map$2 || ListCache$2)(),
- "string": new Hash()
- };
- }
- var _mapCacheClear = mapCacheClear$1;
- function isKeyable$1(value) {
- var type = typeof value;
- return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
- }
- var _isKeyable = isKeyable$1;
- var isKeyable = _isKeyable;
- function getMapData$4(map, key) {
- var data = map.__data__;
- return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
- }
- var _getMapData = getMapData$4;
- var getMapData$3 = _getMapData;
- function mapCacheDelete$1(key) {
- var result = getMapData$3(this, key)["delete"](key);
- this.size -= result ? 1 : 0;
- return result;
- }
- var _mapCacheDelete = mapCacheDelete$1;
- var getMapData$2 = _getMapData;
- function mapCacheGet$1(key) {
- return getMapData$2(this, key).get(key);
- }
- var _mapCacheGet = mapCacheGet$1;
- var getMapData$1 = _getMapData;
- function mapCacheHas$1(key) {
- return getMapData$1(this, key).has(key);
- }
- var _mapCacheHas = mapCacheHas$1;
- var getMapData = _getMapData;
- function mapCacheSet$1(key, value) {
- var data = getMapData(this, key), size = data.size;
- data.set(key, value);
- this.size += data.size == size ? 0 : 1;
- return this;
- }
- var _mapCacheSet = mapCacheSet$1;
- var mapCacheClear = _mapCacheClear, mapCacheDelete = _mapCacheDelete, mapCacheGet = _mapCacheGet, mapCacheHas = _mapCacheHas, mapCacheSet = _mapCacheSet;
- function MapCache$1(entries) {
- var index = -1, length2 = entries == null ? 0 : entries.length;
- this.clear();
- while (++index < length2) {
- var entry = entries[index];
- this.set(entry[0], entry[1]);
- }
- }
- MapCache$1.prototype.clear = mapCacheClear;
- MapCache$1.prototype["delete"] = mapCacheDelete;
- MapCache$1.prototype.get = mapCacheGet;
- MapCache$1.prototype.has = mapCacheHas;
- MapCache$1.prototype.set = mapCacheSet;
- var _MapCache = MapCache$1;
- var ListCache$1 = _ListCache, Map$1 = _Map, MapCache = _MapCache;
- var LARGE_ARRAY_SIZE = 200;
- function stackSet$1(key, value) {
- var data = this.__data__;
- if (data instanceof ListCache$1) {
- var pairs = data.__data__;
- if (!Map$1 || pairs.length < LARGE_ARRAY_SIZE - 1) {
- pairs.push([key, value]);
- this.size = ++data.size;
- return this;
- }
- data = this.__data__ = new MapCache(pairs);
- }
- data.set(key, value);
- this.size = data.size;
- return this;
- }
- var _stackSet = stackSet$1;
- var ListCache = _ListCache, stackClear = _stackClear, stackDelete = _stackDelete, stackGet = _stackGet, stackHas = _stackHas, stackSet = _stackSet;
- function Stack$1(entries) {
- var data = this.__data__ = new ListCache(entries);
- this.size = data.size;
- }
- Stack$1.prototype.clear = stackClear;
- Stack$1.prototype["delete"] = stackDelete;
- Stack$1.prototype.get = stackGet;
- Stack$1.prototype.has = stackHas;
- Stack$1.prototype.set = stackSet;
- var _Stack = Stack$1;
- function arrayEach$1(array, iteratee) {
- var index = -1, length2 = array == null ? 0 : array.length;
- while (++index < length2) {
- if (iteratee(array[index], index, array) === false) {
- break;
- }
- }
- return array;
- }
- var _arrayEach = arrayEach$1;
- var getNative$4 = _getNative;
- var defineProperty$1 = function() {
- try {
- var func = getNative$4(Object, "defineProperty");
- func({}, "", {});
- return func;
- } catch (e2) {
- }
- }();
- var _defineProperty = defineProperty$1;
- var defineProperty = _defineProperty;
- function baseAssignValue$2(object, key, value) {
- if (key == "__proto__" && defineProperty) {
- defineProperty(object, key, {
- "configurable": true,
- "enumerable": true,
- "value": value,
- "writable": true
- });
- } else {
- object[key] = value;
- }
- }
- var _baseAssignValue = baseAssignValue$2;
- var baseAssignValue$1 = _baseAssignValue, eq = eq_1;
- var objectProto$7 = Object.prototype;
- var hasOwnProperty$5 = objectProto$7.hasOwnProperty;
- function assignValue$2(object, key, value) {
- var objValue = object[key];
- if (!(hasOwnProperty$5.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {
- baseAssignValue$1(object, key, value);
- }
- }
- var _assignValue = assignValue$2;
- var assignValue$1 = _assignValue, baseAssignValue = _baseAssignValue;
- function copyObject$4(source, props, object, customizer) {
- var isNew = !object;
- object || (object = {});
- var index = -1, length2 = props.length;
- while (++index < length2) {
- var key = props[index];
- var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
- if (newValue === void 0) {
- newValue = source[key];
- }
- if (isNew) {
- baseAssignValue(object, key, newValue);
- } else {
- assignValue$1(object, key, newValue);
- }
- }
- return object;
- }
- var _copyObject = copyObject$4;
- function baseTimes$1(n2, iteratee) {
- var index = -1, result = Array(n2);
- while (++index < n2) {
- result[index] = iteratee(index);
- }
- return result;
- }
- var _baseTimes = baseTimes$1;
- var baseGetTag$2 = _baseGetTag, isObjectLike$4 = isObjectLike_1;
- var argsTag$2 = "[object Arguments]";
- function baseIsArguments$1(value) {
- return isObjectLike$4(value) && baseGetTag$2(value) == argsTag$2;
- }
- var _baseIsArguments = baseIsArguments$1;
- var baseIsArguments = _baseIsArguments, isObjectLike$3 = isObjectLike_1;
- var objectProto$6 = Object.prototype;
- var hasOwnProperty$4 = objectProto$6.hasOwnProperty;
- var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
- var isArguments$1 = baseIsArguments(/* @__PURE__ */ function() {
- return arguments;
- }()) ? baseIsArguments : function(value) {
- return isObjectLike$3(value) && hasOwnProperty$4.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
- };
- var isArguments_1 = isArguments$1;
- var isArray$3 = Array.isArray;
- var isArray_1 = isArray$3;
- var isBuffer$2 = { exports: {} };
- function stubFalse() {
- return false;
- }
- var stubFalse_1 = stubFalse;
- isBuffer$2.exports;
- (function(module, exports) {
- var root2 = _root, stubFalse2 = stubFalse_1;
- var freeExports = exports && !exports.nodeType && exports;
- var freeModule = freeExports && true && module && !module.nodeType && module;
- var moduleExports = freeModule && freeModule.exports === freeExports;
- var Buffer = moduleExports ? root2.Buffer : void 0;
- var nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0;
- var isBuffer2 = nativeIsBuffer || stubFalse2;
- module.exports = isBuffer2;
- })(isBuffer$2, isBuffer$2.exports);
- var isBufferExports = isBuffer$2.exports;
- var baseGetTag$1 = _baseGetTag, isLength = isLength_1, isObjectLike$2 = isObjectLike_1;
- var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$2 = "[object Boolean]", dateTag$2 = "[object Date]", errorTag$1 = "[object Error]", funcTag$1 = "[object Function]", mapTag$4 = "[object Map]", numberTag$2 = "[object Number]", objectTag$2 = "[object Object]", regexpTag$2 = "[object RegExp]", setTag$4 = "[object Set]", stringTag$2 = "[object String]", weakMapTag$2 = "[object WeakMap]";
- var arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$3 = "[object DataView]", float32Tag$2 = "[object Float32Array]", float64Tag$2 = "[object Float64Array]", int8Tag$2 = "[object Int8Array]", int16Tag$2 = "[object Int16Array]", int32Tag$2 = "[object Int32Array]", uint8Tag$2 = "[object Uint8Array]", uint8ClampedTag$2 = "[object Uint8ClampedArray]", uint16Tag$2 = "[object Uint16Array]", uint32Tag$2 = "[object Uint32Array]";
- var typedArrayTags = {};
- typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true;
- typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$2] = typedArrayTags[boolTag$2] = typedArrayTags[dataViewTag$3] = typedArrayTags[dateTag$2] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$4] = typedArrayTags[numberTag$2] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$2] = typedArrayTags[setTag$4] = typedArrayTags[stringTag$2] = typedArrayTags[weakMapTag$2] = false;
- function baseIsTypedArray$1(value) {
- return isObjectLike$2(value) && isLength(value.length) && !!typedArrayTags[baseGetTag$1(value)];
- }
- var _baseIsTypedArray = baseIsTypedArray$1;
- function baseUnary$3(func) {
- return function(value) {
- return func(value);
- };
- }
- var _baseUnary = baseUnary$3;
- var _nodeUtil = { exports: {} };
- _nodeUtil.exports;
- (function(module, exports) {
- var freeGlobal2 = _freeGlobal;
- var freeExports = exports && !exports.nodeType && exports;
- var freeModule = freeExports && true && module && !module.nodeType && module;
- var moduleExports = freeModule && freeModule.exports === freeExports;
- var freeProcess = moduleExports && freeGlobal2.process;
- var nodeUtil2 = function() {
- try {
- var types = freeModule && freeModule.require && freeModule.require("util").types;
- if (types) {
- return types;
- }
- return freeProcess && freeProcess.binding && freeProcess.binding("util");
- } catch (e2) {
- }
- }();
- module.exports = nodeUtil2;
- })(_nodeUtil, _nodeUtil.exports);
- var _nodeUtilExports = _nodeUtil.exports;
- var baseIsTypedArray = _baseIsTypedArray, baseUnary$2 = _baseUnary, nodeUtil$2 = _nodeUtilExports;
- var nodeIsTypedArray = nodeUtil$2 && nodeUtil$2.isTypedArray;
- var isTypedArray$1 = nodeIsTypedArray ? baseUnary$2(nodeIsTypedArray) : baseIsTypedArray;
- var isTypedArray_1 = isTypedArray$1;
- var baseTimes = _baseTimes, isArguments = isArguments_1, isArray$2 = isArray_1, isBuffer$1 = isBufferExports, isIndex = _isIndex, isTypedArray = isTypedArray_1;
- var objectProto$5 = Object.prototype;
- var hasOwnProperty$3 = objectProto$5.hasOwnProperty;
- function arrayLikeKeys$2(value, inherited) {
- var isArr = isArray$2(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer$1(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length2 = result.length;
- for (var key in value) {
- if ((inherited || hasOwnProperty$3.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
- (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
- isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
- isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
- isIndex(key, length2)))) {
- result.push(key);
- }
- }
- return result;
- }
- var _arrayLikeKeys = arrayLikeKeys$2;
- var objectProto$4 = Object.prototype;
- function isPrototype$3(value) {
- var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$4;
- return value === proto;
- }
- var _isPrototype = isPrototype$3;
- function overArg$2(func, transform) {
- return function(arg) {
- return func(transform(arg));
- };
- }
- var _overArg = overArg$2;
- var overArg$1 = _overArg;
- var nativeKeys$1 = overArg$1(Object.keys, Object);
- var _nativeKeys = nativeKeys$1;
- var isPrototype$2 = _isPrototype, nativeKeys = _nativeKeys;
- var objectProto$3 = Object.prototype;
- var hasOwnProperty$2 = objectProto$3.hasOwnProperty;
- function baseKeys$1(object) {
- if (!isPrototype$2(object)) {
- return nativeKeys(object);
- }
- var result = [];
- for (var key in Object(object)) {
- if (hasOwnProperty$2.call(object, key) && key != "constructor") {
- result.push(key);
- }
- }
- return result;
- }
- var _baseKeys = baseKeys$1;
- var arrayLikeKeys$1 = _arrayLikeKeys, baseKeys = _baseKeys, isArrayLike$1 = isArrayLike_1;
- function keys$3(object) {
- return isArrayLike$1(object) ? arrayLikeKeys$1(object) : baseKeys(object);
- }
- var keys_1 = keys$3;
- var copyObject$3 = _copyObject, keys$2 = keys_1;
- function baseAssign$1(object, source) {
- return object && copyObject$3(source, keys$2(source), object);
- }
- var _baseAssign = baseAssign$1;
- function nativeKeysIn$1(object) {
- var result = [];
- if (object != null) {
- for (var key in Object(object)) {
- result.push(key);
- }
- }
- return result;
- }
- var _nativeKeysIn = nativeKeysIn$1;
- var isObject$2 = isObject_1, isPrototype$1 = _isPrototype, nativeKeysIn = _nativeKeysIn;
- var objectProto$2 = Object.prototype;
- var hasOwnProperty$1 = objectProto$2.hasOwnProperty;
- function baseKeysIn$1(object) {
- if (!isObject$2(object)) {
- return nativeKeysIn(object);
- }
- var isProto = isPrototype$1(object), result = [];
- for (var key in object) {
- if (!(key == "constructor" && (isProto || !hasOwnProperty$1.call(object, key)))) {
- result.push(key);
- }
- }
- return result;
- }
- var _baseKeysIn = baseKeysIn$1;
- var arrayLikeKeys = _arrayLikeKeys, baseKeysIn = _baseKeysIn, isArrayLike = isArrayLike_1;
- function keysIn$3(object) {
- return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
- }
- var keysIn_1 = keysIn$3;
- var copyObject$2 = _copyObject, keysIn$2 = keysIn_1;
- function baseAssignIn$1(object, source) {
- return object && copyObject$2(source, keysIn$2(source), object);
- }
- var _baseAssignIn = baseAssignIn$1;
- var _cloneBuffer = { exports: {} };
- _cloneBuffer.exports;
- (function(module, exports) {
- var root2 = _root;
- var freeExports = exports && !exports.nodeType && exports;
- var freeModule = freeExports && true && module && !module.nodeType && module;
- var moduleExports = freeModule && freeModule.exports === freeExports;
- var Buffer = moduleExports ? root2.Buffer : void 0, allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0;
- function cloneBuffer2(buffer, isDeep) {
- if (isDeep) {
- return buffer.slice();
- }
- var length2 = buffer.length, result = allocUnsafe ? allocUnsafe(length2) : new buffer.constructor(length2);
- buffer.copy(result);
- return result;
- }
- module.exports = cloneBuffer2;
- })(_cloneBuffer, _cloneBuffer.exports);
- var _cloneBufferExports = _cloneBuffer.exports;
- function copyArray$1(source, array) {
- var index = -1, length2 = source.length;
- array || (array = Array(length2));
- while (++index < length2) {
- array[index] = source[index];
- }
- return array;
- }
- var _copyArray = copyArray$1;
- function arrayFilter$1(array, predicate) {
- var index = -1, length2 = array == null ? 0 : array.length, resIndex = 0, result = [];
- while (++index < length2) {
- var value = array[index];
- if (predicate(value, index, array)) {
- result[resIndex++] = value;
- }
- }
- return result;
- }
- var _arrayFilter = arrayFilter$1;
- function stubArray$2() {
- return [];
- }
- var stubArray_1 = stubArray$2;
- var arrayFilter = _arrayFilter, stubArray$1 = stubArray_1;
- var objectProto$1 = Object.prototype;
- var propertyIsEnumerable = objectProto$1.propertyIsEnumerable;
- var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
- var getSymbols$3 = !nativeGetSymbols$1 ? stubArray$1 : function(object) {
- if (object == null) {
- return [];
- }
- object = Object(object);
- return arrayFilter(nativeGetSymbols$1(object), function(symbol) {
- return propertyIsEnumerable.call(object, symbol);
- });
- };
- var _getSymbols = getSymbols$3;
- var copyObject$1 = _copyObject, getSymbols$2 = _getSymbols;
- function copySymbols$1(source, object) {
- return copyObject$1(source, getSymbols$2(source), object);
- }
- var _copySymbols = copySymbols$1;
- function arrayPush$2(array, values2) {
- var index = -1, length2 = values2.length, offset = array.length;
- while (++index < length2) {
- array[offset + index] = values2[index];
- }
- return array;
- }
- var _arrayPush = arrayPush$2;
- var overArg = _overArg;
- var getPrototype$2 = overArg(Object.getPrototypeOf, Object);
- var _getPrototype = getPrototype$2;
- var arrayPush$1 = _arrayPush, getPrototype$1 = _getPrototype, getSymbols$1 = _getSymbols, stubArray = stubArray_1;
- var nativeGetSymbols = Object.getOwnPropertySymbols;
- var getSymbolsIn$2 = !nativeGetSymbols ? stubArray : function(object) {
- var result = [];
- while (object) {
- arrayPush$1(result, getSymbols$1(object));
- object = getPrototype$1(object);
- }
- return result;
- };
- var _getSymbolsIn = getSymbolsIn$2;
- var copyObject = _copyObject, getSymbolsIn$1 = _getSymbolsIn;
- function copySymbolsIn$1(source, object) {
- return copyObject(source, getSymbolsIn$1(source), object);
- }
- var _copySymbolsIn = copySymbolsIn$1;
- var arrayPush = _arrayPush, isArray$1 = isArray_1;
- function baseGetAllKeys$2(object, keysFunc, symbolsFunc) {
- var result = keysFunc(object);
- return isArray$1(object) ? result : arrayPush(result, symbolsFunc(object));
- }
- var _baseGetAllKeys = baseGetAllKeys$2;
- var baseGetAllKeys$1 = _baseGetAllKeys, getSymbols = _getSymbols, keys$1 = keys_1;
- function getAllKeys$1(object) {
- return baseGetAllKeys$1(object, keys$1, getSymbols);
- }
- var _getAllKeys = getAllKeys$1;
- var baseGetAllKeys = _baseGetAllKeys, getSymbolsIn = _getSymbolsIn, keysIn$1 = keysIn_1;
- function getAllKeysIn$1(object) {
- return baseGetAllKeys(object, keysIn$1, getSymbolsIn);
- }
- var _getAllKeysIn = getAllKeysIn$1;
- var getNative$3 = _getNative, root$4 = _root;
- var DataView$1 = getNative$3(root$4, "DataView");
- var _DataView = DataView$1;
- var getNative$2 = _getNative, root$3 = _root;
- var Promise$2 = getNative$2(root$3, "Promise");
- var _Promise = Promise$2;
- var getNative$1 = _getNative, root$2 = _root;
- var Set$2 = getNative$1(root$2, "Set");
- var _Set = Set$2;
- var getNative = _getNative, root$1 = _root;
- var WeakMap$2 = getNative(root$1, "WeakMap");
- var _WeakMap = WeakMap$2;
- var DataView = _DataView, Map = _Map, Promise$1 = _Promise, Set$1 = _Set, WeakMap$1 = _WeakMap, baseGetTag = _baseGetTag, toSource = _toSource;
- var mapTag$3 = "[object Map]", objectTag$1 = "[object Object]", promiseTag = "[object Promise]", setTag$3 = "[object Set]", weakMapTag$1 = "[object WeakMap]";
- var dataViewTag$2 = "[object DataView]";
- var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set$1), weakMapCtorString = toSource(WeakMap$1);
- var getTag$3 = baseGetTag;
- if (DataView && getTag$3(new DataView(new ArrayBuffer(1))) != dataViewTag$2 || Map && getTag$3(new Map()) != mapTag$3 || Promise$1 && getTag$3(Promise$1.resolve()) != promiseTag || Set$1 && getTag$3(new Set$1()) != setTag$3 || WeakMap$1 && getTag$3(new WeakMap$1()) != weakMapTag$1) {
- getTag$3 = function(value) {
- var result = baseGetTag(value), Ctor = result == objectTag$1 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
- if (ctorString) {
- switch (ctorString) {
- case dataViewCtorString:
- return dataViewTag$2;
- case mapCtorString:
- return mapTag$3;
- case promiseCtorString:
- return promiseTag;
- case setCtorString:
- return setTag$3;
- case weakMapCtorString:
- return weakMapTag$1;
- }
- }
- return result;
- };
- }
- var _getTag = getTag$3;
- var objectProto = Object.prototype;
- var hasOwnProperty = objectProto.hasOwnProperty;
- function initCloneArray$1(array) {
- var length2 = array.length, result = new array.constructor(length2);
- if (length2 && typeof array[0] == "string" && hasOwnProperty.call(array, "index")) {
- result.index = array.index;
- result.input = array.input;
- }
- return result;
- }
- var _initCloneArray = initCloneArray$1;
- var root = _root;
- var Uint8Array$1 = root.Uint8Array;
- var _Uint8Array = Uint8Array$1;
- var Uint8Array = _Uint8Array;
- function cloneArrayBuffer$3(arrayBuffer) {
- var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
- new Uint8Array(result).set(new Uint8Array(arrayBuffer));
- return result;
- }
- var _cloneArrayBuffer = cloneArrayBuffer$3;
- var cloneArrayBuffer$2 = _cloneArrayBuffer;
- function cloneDataView$1(dataView, isDeep) {
- var buffer = isDeep ? cloneArrayBuffer$2(dataView.buffer) : dataView.buffer;
- return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
- }
- var _cloneDataView = cloneDataView$1;
- var reFlags = /\w*$/;
- function cloneRegExp$1(regexp) {
- var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
- result.lastIndex = regexp.lastIndex;
- return result;
- }
- var _cloneRegExp = cloneRegExp$1;
- var Symbol$1 = _Symbol;
- var symbolProto = Symbol$1 ? Symbol$1.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
- function cloneSymbol$1(symbol) {
- return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
- }
- var _cloneSymbol = cloneSymbol$1;
- var cloneArrayBuffer$1 = _cloneArrayBuffer;
- function cloneTypedArray$1(typedArray, isDeep) {
- var buffer = isDeep ? cloneArrayBuffer$1(typedArray.buffer) : typedArray.buffer;
- return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
- }
- var _cloneTypedArray = cloneTypedArray$1;
- var cloneArrayBuffer = _cloneArrayBuffer, cloneDataView = _cloneDataView, cloneRegExp = _cloneRegExp, cloneSymbol = _cloneSymbol, cloneTypedArray = _cloneTypedArray;
- var boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", mapTag$2 = "[object Map]", numberTag$1 = "[object Number]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$1 = "[object String]", symbolTag$1 = "[object Symbol]";
- var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]";
- function initCloneByTag$1(object, tag, isDeep) {
- var Ctor = object.constructor;
- switch (tag) {
- case arrayBufferTag$1:
- return cloneArrayBuffer(object);
- case boolTag$1:
- case dateTag$1:
- return new Ctor(+object);
- case dataViewTag$1:
- return cloneDataView(object, isDeep);
- case float32Tag$1:
- case float64Tag$1:
- case int8Tag$1:
- case int16Tag$1:
- case int32Tag$1:
- case uint8Tag$1:
- case uint8ClampedTag$1:
- case uint16Tag$1:
- case uint32Tag$1:
- return cloneTypedArray(object, isDeep);
- case mapTag$2:
- return new Ctor();
- case numberTag$1:
- case stringTag$1:
- return new Ctor(object);
- case regexpTag$1:
- return cloneRegExp(object);
- case setTag$2:
- return new Ctor();
- case symbolTag$1:
- return cloneSymbol(object);
- }
- }
- var _initCloneByTag = initCloneByTag$1;
- var isObject$1 = isObject_1;
- var objectCreate = Object.create;
- var baseCreate$1 = /* @__PURE__ */ function() {
- function object() {
- }
- return function(proto) {
- if (!isObject$1(proto)) {
- return {};
- }
- if (objectCreate) {
- return objectCreate(proto);
- }
- object.prototype = proto;
- var result = new object();
- object.prototype = void 0;
- return result;
- };
- }();
- var _baseCreate = baseCreate$1;
- var baseCreate = _baseCreate, getPrototype = _getPrototype, isPrototype = _isPrototype;
- function initCloneObject$1(object) {
- return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
- }
- var _initCloneObject = initCloneObject$1;
- var getTag$2 = _getTag, isObjectLike$1 = isObjectLike_1;
- var mapTag$1 = "[object Map]";
- function baseIsMap$1(value) {
- return isObjectLike$1(value) && getTag$2(value) == mapTag$1;
- }
- var _baseIsMap = baseIsMap$1;
- var baseIsMap = _baseIsMap, baseUnary$1 = _baseUnary, nodeUtil$1 = _nodeUtilExports;
- var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap;
- var isMap$1 = nodeIsMap ? baseUnary$1(nodeIsMap) : baseIsMap;
- var isMap_1 = isMap$1;
- var getTag$1 = _getTag, isObjectLike = isObjectLike_1;
- var setTag$1 = "[object Set]";
- function baseIsSet$1(value) {
- return isObjectLike(value) && getTag$1(value) == setTag$1;
- }
- var _baseIsSet = baseIsSet$1;
- var baseIsSet = _baseIsSet, baseUnary = _baseUnary, nodeUtil = _nodeUtilExports;
- var nodeIsSet = nodeUtil && nodeUtil.isSet;
- var isSet$1 = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
- var isSet_1 = isSet$1;
- var Stack = _Stack, arrayEach = _arrayEach, assignValue = _assignValue, baseAssign = _baseAssign, baseAssignIn = _baseAssignIn, cloneBuffer = _cloneBufferExports, copyArray = _copyArray, copySymbols = _copySymbols, copySymbolsIn = _copySymbolsIn, getAllKeys = _getAllKeys, getAllKeysIn = _getAllKeysIn, getTag = _getTag, initCloneArray = _initCloneArray, initCloneByTag = _initCloneByTag, initCloneObject = _initCloneObject, isArray = isArray_1, isBuffer = isBufferExports, isMap = isMap_1, isObject = isObject_1, isSet = isSet_1, keys = keys_1, keysIn = keysIn_1;
- var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG$1 = 4;
- var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", objectTag = "[object Object]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", weakMapTag = "[object WeakMap]";
- var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
- var cloneableTags = {};
- cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
- cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
- function baseClone$1(value, bitmask, customizer, key, object, stack) {
- var result, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG$1;
- if (customizer) {
- result = object ? customizer(value, key, object, stack) : customizer(value);
- }
- if (result !== void 0) {
- return result;
- }
- if (!isObject(value)) {
- return value;
- }
- var isArr = isArray(value);
- if (isArr) {
- result = initCloneArray(value);
- if (!isDeep) {
- return copyArray(value, result);
- }
- } else {
- var tag = getTag(value), isFunc = tag == funcTag || tag == genTag;
- if (isBuffer(value)) {
- return cloneBuffer(value, isDeep);
- }
- if (tag == objectTag || tag == argsTag || isFunc && !object) {
- result = isFlat || isFunc ? {} : initCloneObject(value);
- if (!isDeep) {
- return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
- }
- } else {
- if (!cloneableTags[tag]) {
- return object ? value : {};
- }
- result = initCloneByTag(value, tag, isDeep);
- }
- }
- stack || (stack = new Stack());
- var stacked = stack.get(value);
- if (stacked) {
- return stacked;
- }
- stack.set(value, result);
- if (isSet(value)) {
- value.forEach(function(subValue) {
- result.add(baseClone$1(subValue, bitmask, customizer, subValue, value, stack));
- });
- } else if (isMap(value)) {
- value.forEach(function(subValue, key2) {
- result.set(key2, baseClone$1(subValue, bitmask, customizer, key2, value, stack));
- });
- }
- var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
- var props = isArr ? void 0 : keysFunc(value);
- arrayEach(props || value, function(subValue, key2) {
- if (props) {
- key2 = subValue;
- subValue = value[key2];
- }
- assignValue(result, key2, baseClone$1(subValue, bitmask, customizer, key2, value, stack));
- });
- return result;
- }
- var _baseClone = baseClone$1;
- var baseClone = _baseClone;
- var CLONE_SYMBOLS_FLAG = 4;
- function clone(value) {
- return baseClone(value, CLONE_SYMBOLS_FLAG);
- }
- var clone_1 = clone;
- const lodashClone = /* @__PURE__ */ getDefaultExportFromCjs(clone_1);
- const StyledPandoraDrawer = styled(Drawer$1, {
- shouldForwardProp: (fieldName) => filterForwardProps(fieldName, ["openPandora", "drawerPosition"])
- })(
- ({ drawerPosition = "right", openPandora = false, theme }) => {
- const { breakpoints, transitions } = theme;
- const matches = useMediaQuery(breakpoints.up("sm"));
- const drawerSize = matches ? uiConfig.pandoraDrawerMaxHeight : uiConfig.pandoraDrawerMinHeight;
- const drawerSizeGap = `${50 - parseInt(drawerSize.replace("%", ""), 10) / 2}%`;
- const baseStyle = {
- borderRadius: "0.75rem"
- };
- switch (drawerPosition) {
- case "top":
- return {
- [`& .${drawerClasses$1.paper}`]: {
- height: uiConfig.pandoraDrawerWidth,
- width: `${drawerSize}`,
- left: drawerSizeGap
- }
- };
- case "right":
- return {
- [`& .${drawerClasses$1.paper}`]: {
- ...baseStyle,
- width: 0,
- height: `${drawerSize}`,
- top: drawerSizeGap,
- transition: transitions.create(["width"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.shorter
- }),
- ...openPandora && {
- width: uiConfig.pandoraDrawerWidth,
- transition: transitions.create(["width"], {
- easing: transitions.easing.sharp,
- duration: transitions.duration.enteringScreen
- })
- }
- }
- };
- case "bottom":
- return {
- [`& .${drawerClasses$1.paper}`]: {
- height: uiConfig.pandoraDrawerWidth,
- width: `${drawerSize}`,
- left: drawerSizeGap
- }
- };
- case "left":
- return {
- [`& .${drawerClasses$1.paper}`]: {
- width: uiConfig.pandoraDrawerWidth,
- height: `${drawerSize}`,
- top: drawerSizeGap
- }
- };
- default:
- return {
- [`& .${drawerClasses$1.paper}`]: {
- width: uiConfig.pandoraDrawerWidth,
- height: `${drawerSize}`,
- top: drawerSizeGap
- }
- };
- }
- }
- );
- function PandoraDrawer({
- openDrawer = false,
- handleCloseDrawer = void 0,
- drawerPosition = "right",
- ...restProps
- }) {
- const theme = useTheme();
- useMediaQuery(theme.breakpoints.up("sm"));
- const [forceStop, setForceStop] = React.useState(false);
- const drawerVariant = drawerPosition === "left" || drawerPosition === "right" ? "permanent" : "persistent";
- const handleModifyInviteExpiredTime = async (inviteIDs, csrfToken) => {
- if (forceStop) {
- setForceStop(false);
- console.warn("用户强制跳出");
- return;
- }
- if (inviteIDs.length <= 0) {
- return;
- }
- const inviteID = inviteIDs.splice(0, 1)[0];
- const modifyRes = await fetchUpdateInvite(inviteID, csrfToken);
- console.log(modifyRes);
- const randSleepTime = Math.floor(Math.random() * (2e3 - 1e3 + 1)) + 1e3;
- setTimeout(() => {
- handleModifyInviteExpiredTime(inviteIDs, csrfToken);
- }, randSleepTime);
- };
- const handleModifyInvitesExpiredTime = async () => {
- const username = getPreloadedUsername();
- const csrfToken = getCsrfToken();
- if (username && csrfToken) {
- const invitesData = await fetchGetInvites(username, csrfToken, "pending", 0);
- if (invitesData) {
- const invites = lodashClone(invitesData.invites);
- await handleModifyInviteExpiredTime(invites.map((invite) => invite.id), csrfToken);
- }
- }
- };
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
- StyledPandoraDrawer,
- {
- anchor: drawerPosition,
- variant: drawerVariant,
- open: openDrawer,
- onClose: () => handleCloseDrawer && handleCloseDrawer(),
- ModalProps: {
- keepMounted: true
- },
- openPandora: openDrawer,
- drawerPosition,
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Box$1, { component: "div", sx: { m: "0.5rem" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button$1, { variant: "contained", onClick: () => handleModifyInvitesExpiredTime(), children: "一键修改邀请时限" }) })
- }
- );
- }
- function ThemeProvider({ children, ...restProps }) {
- const theme = createTheme({});
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeProvider$1, { theme, children });
- }
- function App() {
- const [openPandora, setOpenPandora] = React.useState(false);
- const toggleOpenPandora = () => {
- setOpenPandora((prevState) => !prevState);
- };
- const handleClosePandora = () => {
- setOpenPandora(false);
- };
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$1.pandoraButton, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(ThemeProvider, { children: [
- /* @__PURE__ */ jsxRuntimeExports.jsx(PandoraButton, { openPandora, onClick: () => toggleOpenPandora() }),
- /* @__PURE__ */ jsxRuntimeExports.jsx(PandoraDrawer, { openDrawer: openPandora, handleCloseDrawer: handleClosePandora })
- ] }) });
- }
- const appendLinuxDoNext = () => {
- const app = document.createElement("div");
- app.setAttribute("id", styles$1.pluginContainer);
- document.body.append(app);
- return app;
- };
- client.createRoot(appendLinuxDoNext()).render(
- /* @__PURE__ */ jsxRuntimeExports.jsx(React.StrictMode, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(App, {}) })
- );
- })(React, ReactDOM);