UNPKG

tac-play

Version:

My Webpack tac-play

7,459 lines (6,124 loc) 222 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react"), require("react-dom")); else if(typeof define === 'function' && define.amd) define(["react", "react-dom"], factory); else if(typeof exports === 'object') exports["MyWebpackWidget"] = factory(require("react"), require("react-dom")); else root["MyWebpackWidget"] = factory(root["React"], root["ReactDOM"]); })(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__4__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 11); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__0__; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (false) { var throwOnDirectAccess, ReactIs; } else { // By explicitly using `prop-types` you are opting into new production behavior. // http://fb.me/prop-types-in-prod module.exports = __webpack_require__(7)(); } /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var isMergeableObject = function isMergeableObject(value) { return isNonNullObject(value) && !isSpecial(value) }; function isNonNullObject(value) { return !!value && typeof value === 'object' } function isSpecial(value) { var stringValue = Object.prototype.toString.call(value); return stringValue === '[object RegExp]' || stringValue === '[object Date]' || isReactElement(value) } // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 var canUseSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; function isReactElement(value) { return value.$$typeof === REACT_ELEMENT_TYPE } function emptyTarget(val) { return Array.isArray(val) ? [] : {} } function cloneUnlessOtherwiseSpecified(value, options) { return (options.clone !== false && options.isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, options) : value } function defaultArrayMerge(target, source, options) { return target.concat(source).map(function(element) { return cloneUnlessOtherwiseSpecified(element, options) }) } function getMergeFunction(key, options) { if (!options.customMerge) { return deepmerge } var customMerge = options.customMerge(key); return typeof customMerge === 'function' ? customMerge : deepmerge } function getEnumerableOwnPropertySymbols(target) { return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) { return target.propertyIsEnumerable(symbol) }) : [] } function getKeys(target) { return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)) } function mergeObject(target, source, options) { var destination = {}; if (options.isMergeableObject(target)) { getKeys(target).forEach(function(key) { destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); }); } getKeys(source).forEach(function(key) { if (!options.isMergeableObject(source[key]) || !target[key]) { destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); } else { destination[key] = getMergeFunction(key, options)(target[key], source[key], options); } }); return destination } function deepmerge(target, source, options) { options = Object.assign({ arrayMerge: defaultArrayMerge, isMergeableObject: isMergeableObject }, options, { cloneUnlessOtherwiseSpecified: cloneUnlessOtherwiseSpecified }); var sourceIsArray = Array.isArray(source); var targetIsArray = Array.isArray(target); var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; if (!sourceAndTargetTypesMatch) { return cloneUnlessOtherwiseSpecified(source, options) } else if (sourceIsArray) { return options.arrayMerge(target, source, options) } else { return mergeObject(target, source, options) } } deepmerge.all = function deepmergeAll(array, options) { if (!Array.isArray(array)) { throw new Error('first argument should be an array') } return array.reduce(function(prev, next) { return deepmerge(prev, next, options) }, {}) }; var deepmerge_1 = deepmerge; module.exports = deepmerge_1; /***/ }), /* 3 */, /* 4 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__4__; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var ReactIs = __webpack_require__(9); var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; 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.ForwardRef] = FORWARD_REF_STATICS; function getStatics(component) { if (ReactIs.isMemo(component)) { return MEMO_STATICS; } return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { // Avoid failures from read-only properties defineProperty(targetComponent, key, descriptor); } catch (e) {} } } return targetComponent; } return targetComponent; } module.exports = hoistNonReactStatics; /***/ }), /* 6 */, /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = __webpack_require__(8); function emptyFunction() {} function emptyFunctionWithReset() {} emptyFunctionWithReset.resetWarningCache = emptyFunction; module.exports = function() { function shim(props, propName, componentName, location, propFullName, secret) { if (secret === ReactPropTypesSecret) { // It is still safe when called from React. return; } var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); err.name = 'Invariant Violation'; throw err; }; shim.isRequired = shim; function getShim() { return shim; }; // Important! // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. var ReactPropTypes = { array: shim, bool: shim, func: shim, number: shim, object: shim, string: shim, symbol: shim, any: shim, arrayOf: getShim, element: shim, elementType: shim, instanceOf: getShim, node: shim, objectOf: getShim, oneOf: getShim, oneOfType: getShim, shape: getShim, exact: getShim, checkPropTypes: emptyFunctionWithReset, resetWarningCache: emptyFunction }; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; if (true) { module.exports = __webpack_require__(10); } else {} /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** @license React v16.10.2 * 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. */ Object.defineProperty(exports,"__esModule",{value:!0}); var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"): 60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.fundamental"):60117,w=b?Symbol.for("react.responder"):60118,x=b?Symbol.for("react.scope"):60119;function y(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case t:case r:case d:return u}}}function z(a){return y(a)===m} exports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p; exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h}; exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p}; /***/ }), /* 11 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js 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; } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js function _extends() { _extends = Object.assign || 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.apply(this, arguments); } // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react","amd":"react","root":"React"} var external_commonjs_react_commonjs2_react_amd_react_root_React_ = __webpack_require__(0); var external_commonjs_react_commonjs2_react_amd_react_root_React_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_amd_react_root_React_); // EXTERNAL MODULE: ./node_modules/prop-types/index.js var prop_types = __webpack_require__(1); // CONCATENATED MODULE: ./node_modules/clsx/dist/clsx.m.js function toVal(mix) { var k, y, str=''; if (mix) { if (typeof mix === 'object') { if (!!mix.push) { for (k=0; k < mix.length; k++) { if (mix[k] && (y = toVal(mix[k]))) { str && (str += ' '); str += y; } } } else { for (k in mix) { if (mix[k] && (y = toVal(k))) { str && (str += ' '); str += y; } } } } else if (typeof mix !== 'boolean' && !mix.call) { str && (str += ' '); str += mix; } } return str; } /* harmony default export */ var clsx_m = (function () { var i=0, x, str=''; while (i < arguments.length) { if (x = toVal(arguments[i++])) { str && (str += ' '); str += x } } return str; }); // EXTERNAL MODULE: ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js var hoist_non_react_statics_cjs = __webpack_require__(5); var hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs); // CONCATENATED MODULE: ./node_modules/is-in-browser/dist/module.js var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var isBrowser = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' && document.nodeType === 9; /* harmony default export */ var dist_module = (isBrowser); // CONCATENATED MODULE: ./node_modules/tiny-warning/dist/tiny-warning.esm.js var isProduction = "production" === 'production'; function warning(condition, message) { if (!isProduction) { if (condition) { return; } var text = "Warning: " + message; if (typeof console !== 'undefined') { console.warn(text); } try { throw Error(text); } catch (x) {} } } /* harmony default export */ var tiny_warning_esm = (warning); // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } // CONCATENATED MODULE: ./node_modules/jss/dist/jss.esm.js var plainObjectConstrurctor = {}.constructor; function cloneStyle(style) { if (style == null || typeof style !== 'object') return style; if (Array.isArray(style)) return style.map(cloneStyle); if (style.constructor !== plainObjectConstrurctor) return style; var newStyle = {}; for (var name in style) { newStyle[name] = cloneStyle(style[name]); } return newStyle; } /** * Create a rule instance. */ function createRule(name, decl, options) { if (name === void 0) { name = 'unnamed'; } var jss = options.jss; var declCopy = cloneStyle(decl); var rule = jss.plugins.onCreateRule(name, declCopy, options); if (rule) return rule; // It is an at-rule and it has no instance. if (name[0] === '@') { false ? undefined : void 0; } return null; } var join = function join(value, by) { var result = ''; for (var i = 0; i < value.length; i++) { // Remove !important from the value, it will be readded later. if (value[i] === '!important') break; if (result) result += by; result += value[i]; } return result; }; /** * Converts array values to string. * * `margin: [['5px', '10px']]` > `margin: 5px 10px;` * `border: ['1px', '2px']` > `border: 1px, 2px;` * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;` * `color: ['red', !important]` > `color: red !important;` */ function toCssValue(value, ignoreImportant) { if (ignoreImportant === void 0) { ignoreImportant = false; } if (!Array.isArray(value)) return value; var cssValue = ''; // Support space separated values via `[['5px', '10px']]`. if (Array.isArray(value[0])) { for (var i = 0; i < value.length; i++) { if (value[i] === '!important') break; if (cssValue) cssValue += ', '; cssValue += join(value[i], ' '); } } else cssValue = join(value, ', '); // Add !important, because it was ignored. if (!ignoreImportant && value[value.length - 1] === '!important') { cssValue += ' !important'; } return cssValue; } /** * Indent a string. * http://jsperf.com/array-join-vs-for */ function indentStr(str, indent) { var result = ''; for (var index = 0; index < indent; index++) { result += ' '; } return result + str; } /** * Converts a Rule to CSS string. */ function toCss(selector, style, options) { if (options === void 0) { options = {}; } var result = ''; if (!style) return result; var _options = options, _options$indent = _options.indent, indent = _options$indent === void 0 ? 0 : _options$indent; var fallbacks = style.fallbacks; if (selector) indent++; // Apply fallbacks first. if (fallbacks) { // Array syntax {fallbacks: [{prop: value}]} if (Array.isArray(fallbacks)) { for (var index = 0; index < fallbacks.length; index++) { var fallback = fallbacks[index]; for (var prop in fallback) { var value = fallback[prop]; if (value != null) { if (result) result += '\n'; result += "" + indentStr(prop + ": " + toCssValue(value) + ";", indent); } } } } else { // Object syntax {fallbacks: {prop: value}} for (var _prop in fallbacks) { var _value = fallbacks[_prop]; if (_value != null) { if (result) result += '\n'; result += "" + indentStr(_prop + ": " + toCssValue(_value) + ";", indent); } } } } for (var _prop2 in style) { var _value2 = style[_prop2]; if (_value2 != null && _prop2 !== 'fallbacks') { if (result) result += '\n'; result += "" + indentStr(_prop2 + ": " + toCssValue(_value2) + ";", indent); } } // Allow empty style in this case, because properties will be added dynamically. if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined. if (!selector) return result; indent--; if (result) result = "\n" + result + "\n"; return indentStr(selector + " {" + result, indent) + indentStr('}', indent); } var escapeRegex = /([[\].#*$><+~=|^:(),"'`\s])/g; var nativeEscape = typeof CSS !== 'undefined' && CSS.escape; var jss_esm_escape = (function (str) { return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\$1'); }); var BaseStyleRule = /*#__PURE__*/ function () { function BaseStyleRule(key, style, options) { this.type = 'style'; this.key = void 0; this.isProcessed = false; this.style = void 0; this.renderer = void 0; this.renderable = void 0; this.options = void 0; var sheet = options.sheet, Renderer = options.Renderer; this.key = key; this.options = options; this.style = style; if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer(); } /** * Get or set a style property. */ var _proto = BaseStyleRule.prototype; _proto.prop = function prop(name, value, options) { // It's a getter. if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed. var force = options ? options.force : false; if (!force && this.style[name] === value) return this; var newValue = value; if (!options || options.process !== false) { newValue = this.options.jss.plugins.onChangeValue(value, name, this); } var isEmpty = newValue == null || newValue === false; var isDefined = name in this.style; // Value is empty and wasn't defined before. if (isEmpty && !isDefined && !force) return this; // We are going to remove this value. var remove = isEmpty && isDefined; if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true. if (this.renderable && this.renderer) { if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue); return this; } var sheet = this.options.sheet; if (sheet && sheet.attached) { false ? undefined : void 0; } return this; }; return BaseStyleRule; }(); var jss_esm_StyleRule = /*#__PURE__*/ function (_BaseStyleRule) { _inheritsLoose(StyleRule, _BaseStyleRule); function StyleRule(key, style, options) { var _this; _this = _BaseStyleRule.call(this, key, style, options) || this; _this.selectorText = void 0; _this.id = void 0; _this.renderable = void 0; var selector = options.selector, scoped = options.scoped, sheet = options.sheet, generateId = options.generateId; if (selector) { _this.selectorText = selector; } else if (scoped !== false) { _this.id = generateId(_assertThisInitialized(_assertThisInitialized(_this)), sheet); _this.selectorText = "." + jss_esm_escape(_this.id); } return _this; } /** * Set selector string. * Attention: use this with caution. Most browsers didn't implement * selectorText setter, so this may result in rerendering of entire Style Sheet. */ var _proto2 = StyleRule.prototype; /** * Apply rule to an element inline. */ _proto2.applyTo = function applyTo(renderable) { var renderer = this.renderer; if (renderer) { var json = this.toJSON(); for (var prop in json) { renderer.setProperty(renderable, prop, json[prop]); } } return this; } /** * Returns JSON representation of the rule. * Fallbacks are not supported. * Useful for inline styles. */ ; _proto2.toJSON = function toJSON() { var json = {}; for (var prop in this.style) { var value = this.style[prop]; if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value); } return json; } /** * Generates a CSS string. */ ; _proto2.toString = function toString(options) { var sheet = this.options.sheet; var link = sheet ? sheet.options.link : false; var opts = link ? _extends({}, options, { allowEmpty: true }) : options; return toCss(this.selectorText, this.style, opts); }; _createClass(StyleRule, [{ key: "selector", set: function set(selector) { if (selector === this.selectorText) return; this.selectorText = selector; var renderer = this.renderer, renderable = this.renderable; if (!renderable || !renderer) return; var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule. if (!hasChanged) { renderer.replaceRule(renderable, this); } } /** * Get selector string. */ , get: function get() { return this.selectorText; } }]); return StyleRule; }(BaseStyleRule); var pluginStyleRule = { onCreateRule: function onCreateRule(name, style, options) { if (name[0] === '@' || options.parent && options.parent.type === 'keyframes') { return null; } return new jss_esm_StyleRule(name, style, options); } }; var defaultToStringOptions = { indent: 1, children: true }; var atRegExp = /@([\w-]+)/; /** * Conditional rule for @media, @supports */ var jss_esm_ConditionalRule = /*#__PURE__*/ function () { function ConditionalRule(key, styles, options) { this.type = 'conditional'; this.at = void 0; this.key = void 0; this.rules = void 0; this.options = void 0; this.isProcessed = false; this.renderable = void 0; this.key = key; var atMatch = key.match(atRegExp); this.at = atMatch ? atMatch[1] : 'unknown'; this.options = options; this.rules = new jss_esm_RuleList(_extends({}, options, { parent: this })); for (var name in styles) { this.rules.add(name, styles[name]); } this.rules.process(); } /** * Get a rule. */ var _proto = ConditionalRule.prototype; _proto.getRule = function getRule(name) { return this.rules.get(name); } /** * Get index of a rule. */ ; _proto.indexOf = function indexOf(rule) { return this.rules.indexOf(rule); } /** * Create and register rule, run plugins. */ ; _proto.addRule = function addRule(name, style, options) { var rule = this.rules.add(name, style, options); if (!rule) return null; this.options.jss.plugins.onProcessRule(rule); return rule; } /** * Generates a CSS string. */ ; _proto.toString = function toString(options) { if (options === void 0) { options = defaultToStringOptions; } if (options.indent == null) options.indent = defaultToStringOptions.indent; if (options.children == null) options.children = defaultToStringOptions.children; if (options.children === false) { return this.key + " {}"; } var children = this.rules.toString(options); return children ? this.key + " {\n" + children + "\n}" : ''; }; return ConditionalRule; }(); var keyRegExp = /@media|@supports\s+/; var pluginConditionalRule = { onCreateRule: function onCreateRule(key, styles, options) { return keyRegExp.test(key) ? new jss_esm_ConditionalRule(key, styles, options) : null; } }; var defaultToStringOptions$1 = { indent: 1, children: true }; var nameRegExp = /@keyframes\s+([\w-]+)/; /** * Rule for @keyframes */ var jss_esm_KeyframesRule = /*#__PURE__*/ function () { function KeyframesRule(key, frames, options) { this.type = 'keyframes'; this.at = '@keyframes'; this.key = void 0; this.name = void 0; this.id = void 0; this.rules = void 0; this.options = void 0; this.isProcessed = false; this.renderable = void 0; var nameMatch = key.match(nameRegExp); if (nameMatch && nameMatch[1]) { this.name = nameMatch[1]; } else { this.name = 'noname'; false ? undefined : void 0; } this.key = this.type + "-" + this.name; this.options = options; var scoped = options.scoped, sheet = options.sheet, generateId = options.generateId; this.id = scoped === false ? this.name : jss_esm_escape(generateId(this, sheet)); this.rules = new jss_esm_RuleList(_extends({}, options, { parent: this })); for (var name in frames) { this.rules.add(name, frames[name], _extends({}, options, { parent: this })); } this.rules.process(); } /** * Generates a CSS string. */ var _proto = KeyframesRule.prototype; _proto.toString = function toString(options) { if (options === void 0) { options = defaultToStringOptions$1; } if (options.indent == null) options.indent = defaultToStringOptions$1.indent; if (options.children == null) options.children = defaultToStringOptions$1.children; if (options.children === false) { return this.at + " " + this.id + " {}"; } var children = this.rules.toString(options); if (children) children = "\n" + children + "\n"; return this.at + " " + this.id + " {" + children + "}"; }; return KeyframesRule; }(); var keyRegExp$1 = /@keyframes\s+/; var refRegExp = /\$([\w-]+)/g; var findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) { if (typeof val === 'string') { return val.replace(refRegExp, function (match, name) { if (name in keyframes) { return keyframes[name]; } false ? undefined : void 0; return match; }); } return val; }; /** * Replace the reference for a animation name. */ var jss_esm_replaceRef = function replaceRef(style, prop, keyframes) { var value = style[prop]; var refKeyframe = findReferencedKeyframe(value, keyframes); if (refKeyframe !== value) { style[prop] = refKeyframe; } }; var jss_esm_plugin = { onCreateRule: function onCreateRule(key, frames, options) { return typeof key === 'string' && keyRegExp$1.test(key) ? new jss_esm_KeyframesRule(key, frames, options) : null; }, // Animation name ref replacer. onProcessStyle: function onProcessStyle(style, rule, sheet) { if (rule.type !== 'style' || !sheet) return style; if ('animation-name' in style) jss_esm_replaceRef(style, 'animation-name', sheet.keyframes); if ('animation' in style) jss_esm_replaceRef(style, 'animation', sheet.keyframes); return style; }, onChangeValue: function onChangeValue(val, prop, rule) { var sheet = rule.options.sheet; if (!sheet) { return val; } switch (prop) { case 'animation': return findReferencedKeyframe(val, sheet.keyframes); case 'animation-name': return findReferencedKeyframe(val, sheet.keyframes); default: return val; } } }; var jss_esm_KeyframeRule = /*#__PURE__*/ function (_BaseStyleRule) { _inheritsLoose(KeyframeRule, _BaseStyleRule); function KeyframeRule() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _BaseStyleRule.call.apply(_BaseStyleRule, [this].concat(args)) || this; _this.renderable = void 0; return _this; } var _proto = KeyframeRule.prototype; /** * Generates a CSS string. */ _proto.toString = function toString(options) { var sheet = this.options.sheet; var link = sheet ? sheet.options.link : false; var opts = link ? _extends({}, options, { allowEmpty: true }) : options; return toCss(this.key, this.style, opts); }; return KeyframeRule; }(BaseStyleRule); var pluginKeyframeRule = { onCreateRule: function onCreateRule(key, style, options) { if (options.parent && options.parent.type === 'keyframes') { return new jss_esm_KeyframeRule(key, style, options); } return null; } }; var FontFaceRule = /*#__PURE__*/ function () { function FontFaceRule(key, style, options) { this.type = 'font-face'; this.at = '@font-face'; this.key = void 0; this.style = void 0; this.options = void 0; this.isProcessed = false; this.renderable = void 0; this.key = key; this.style = style; this.options = options; } /** * Generates a CSS string. */ var _proto = FontFaceRule.prototype; _proto.toString = function toString(options) { if (Array.isArray(this.style)) { var str = ''; for (var index = 0; index < this.style.length; index++) { str += toCss(this.key, this.style[index]); if (this.style[index + 1]) str += '\n'; } return str; } return toCss(this.key, this.style, options); }; return FontFaceRule; }(); var pluginFontFaceRule = { onCreateRule: function onCreateRule(key, style, options) { return key === '@font-face' ? new FontFaceRule(key, style, options) : null; } }; var ViewportRule = /*#__PURE__*/ function () { function ViewportRule(key, style, options) { this.type = 'viewport'; this.at = '@viewport'; this.key = void 0; this.style = void 0; this.options = void 0; this.isProcessed = false; this.renderable = void 0; this.key = key; this.style = style; this.options = options; } /** * Generates a CSS string. */ var _proto = ViewportRule.prototype; _proto.toString = function toString(options) { return toCss(this.key, this.style, options); }; return ViewportRule; }(); var pluginViewportRule = { onCreateRule: function onCreateRule(key, style, options) { return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null; } }; var SimpleRule = /*#__PURE__*/ function () { function SimpleRule(key, value, options) { this.type = 'simple'; this.key = void 0; this.value = void 0; this.options = void 0; this.isProcessed = false; this.renderable = void 0; this.key = key; this.value = value; this.options = options; } /** * Generates a CSS string. */ // eslint-disable-next-line no-unused-vars var _proto = SimpleRule.prototype; _proto.toString = function toString(options) { if (Array.isArray(this.value)) { var str = ''; for (var index = 0; index < this.value.length; index++) { str += this.key + " " + this.value[index] + ";"; if (this.value[index + 1]) str += '\n'; } return str; } return this.key + " " + this.value + ";"; }; return SimpleRule; }(); var keysMap = { '@charset': true, '@import': true, '@namespace': true }; var pluginSimpleRule = { onCreateRule: function onCreateRule(key, value, options) { return key in keysMap ? new SimpleRule(key, value, options) : null; } }; var plugins = [pluginStyleRule, pluginConditionalRule, jss_esm_plugin, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule]; var defaultUpdateOptions = { process: true }; var forceUpdateOptions = { force: true, process: true /** * Contains rules objects and allows adding/removing etc. * Is used for e.g. by `StyleSheet` or `ConditionalRule`. */ }; var jss_esm_RuleList = /*#__PURE__*/ function () { // Rules registry for access by .get() method. // It contains the same rule registered by name and by selector. // Original styles object. // Used to ensure correct rules order. function RuleList(options) { this.map = {}; this.raw = {}; this.index = []; this.options = void 0; this.classes = void 0; this.keyframes = void 0; this.options = options; this.classes = options.classes; this.keyframes = options.keyframes; } /** * Create and register rule. * * Will not render after Style Sheet was rendered the first time. */ var _proto = RuleList.prototype; _proto.add = function add(key, decl, ruleOptions) { var _this$options = this.options, parent = _this$options.parent, sheet = _this$options.sheet, jss = _this$options.jss, Renderer = _this$options.Renderer, generateId = _this$options.generateId, scoped = _this$options.scoped; var options = _extends({ classes: this.classes, parent: parent, sheet: sheet, jss: jss, Renderer: Renderer, generateId: generateId, scoped: scoped }, ruleOptions); // We need to save the original decl before creating the rule // because cache plugin needs to use it as a key to return a cached rule. this.raw[key] = decl; if (key in this.classes) { // For e.g. rules inside of @media container options.selector = "." + jss_esm_escape(this.classes[key]); } var rule = createRule(key, decl, options); if (!rule) return null; this.register(rule); var index = options.index === undefined ? this.index.length : options.index; this.index.splice(index, 0, rule); return rule; } /** * Get a rule. */ ; _proto.get = function get(name) { return this.map[name]; } /** * Delete a rule. */ ; _proto.remove = function remove(rule) { this.unregister(rule); delete this.raw[rule.key]; this.index.splice(this.indexOf(rule), 1); } /** * Get index of a rule. */ ; _proto.indexOf = function indexOf(rule) { return this.index.indexOf(rule); } /** * Run `onProcessRule()` plugins on every rule. */ ; _proto.process = function process() { var plugins$$1 = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop // we end up with very hard-to-track-down side effects. this.index.slice(0).forEach(plugins$$1.onProcessRule, plugins$$1); } /** * Register a rule in `.map` and `.classes` maps. */ ; _proto.register = function register(rule) { this.map[rule.key] = rule; if (rule instanceof jss_esm_StyleRule) { this.map[rule.selector] = rule; if (rule.id) this.classes[rule.key] = rule.id; } else if (rule instanceof jss_esm_KeyframesRule && this.keyframes) { this.keyframes[rule.name] = rule.id; } } /** * Unregister a rule. */ ; _proto.unregister = function unregister(rule) { delete this.map[rule.key]; if (rule instanceof jss_esm_StyleRule) { delete this.map[rule.selector]; delete this.classes[rule.key]; } else if (rule instanceof jss_esm_KeyframesRule) { delete this.keyframes[rule.name]; } } /** * Update the function values with a new data. */ ; _proto.update = function update() { var name; var data; var options; if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') { name = arguments.length <= 0 ? undefined : arguments[0]; // $FlowFixMe data = arguments.length <= 1 ? undefined : arguments[1]; // $FlowFixMe options = arguments.length <= 2 ? undefined : arguments[2]; } else { data = arguments.length <= 0 ? undefined : arguments[0]; // $FlowFixMe options = arguments.length <= 1 ? undefined : arguments[1]; name = null; } if (name) { this.onUpdate(data, this.get(name), options); } else { for (var index = 0; index < this.index.length; index++) { this.onUpdate(data, this.index[index], options); } } } /** * Execute plugins, update rule props. */ ; _proto.onUpdate = function onUpdate(data, rule, options) { if (options === void 0) { options = defaultUpdateOptions; } var _this$options2 = this.options, plugins$$1 = _this$options2.jss.plugins, sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule. if (rule.rules instanceof RuleList) { rule.rules.update(data, options); return; } var styleRule = rule; var style = styleRule.style; plugins$$1.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook. if (options.process && style && style !== styleRule.style) { // We need to run the plugins in case new `style` relies on syntax plugins. plugins$$1.onProcessStyle(styleRule.style, styleRule, sheet); // Update and add props. for (var prop in styleRule.style) { var nextValue = styleRule.style[prop]; var prevValue = style[prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule. // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here. if (nextValue !== prevValue) { styleRule.prop(prop, nextValue, forceUpdateOptions); } } // Remove props. for (var _prop in style) { var _nextValue = styleRule.style[_prop]; var _prevValue = style[_prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule. // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here. if (_nextValue == null && _nextValue !== _prevValue) { styleRule.prop(_prop, null, forceUpdateOptions); } } } } /** * Convert rules to a CSS string. */ ; _proto.toString = function toString(options) { var str = ''; var sheet = this.options.sheet; var link = sheet ? sheet.options.link : false; for (var index = 0; index < this.index.length; index++) { var rule = this.index[index]; var css = rule.toString(options); // No need to render an empty rule. if (!css && !link) continue; if (str) str += '\n'; str += css; } return str; }; return RuleList; }(); var jss_esm_StyleSheet = /*#__PURE__*/ function () { function StyleSheet(styles, options) { this.options = void 0; this.deployed = void 0; this.attached = void 0; this.rules = void 0; this.renderer = void 0; this.classes = void 0; this.keyframes = void 0; this.queue = void 0; this.attached = false; this.deployed = false; this.classes = {}; this.keyframes = {}; this.options = _extends({}, options, { sheet: this, parent: this, classes: this.classes, keyframes: this.keyframes }); if (options.Renderer) { this.renderer = new options.Renderer(this); } this.rules = new jss_esm_RuleList(this.options); for (var name in styles) { this.rules.add(name, styles[name]); } this.rules.process(); } /** * Attach renderable to the render tree. */ var _proto = StyleSheet.prototype; _proto.attach = function attach() { if (this.attached) return this; if (this.renderer) this.renderer.attach(); this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached. if (!this.deployed) this.deploy(); return this; } /** * Remove renderable from render tree. */ ; _proto.detach = function detach() { if (!this.attached) return this; if (this.renderer) this.renderer.detach(); this.attached = false; return this; } /** * Add a rule to the current stylesheet. * Will insert a rule also after the stylesheet has been rendered first time. */ ; _proto.addRule = function addRule(name, decl, options) { var queue = this.queue; // Plugins can create rules. // In order to preserve the right order, we need to queue all `.addRule` calls, // which happen after the first `rules.add()` call. if (this.attached && !queue) this.queue = []; var rule = this.rules.add(name, decl, options); if (!rule) return null; this.options.jss.plugins.onProcessRule(rule); if (this.attached) { if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet. // It will be inserted all together when .attach is called. if (queue) queue.push(rule);else { this.insertRule(rule); if (this.queue) { this.queue.forEach(this.insertRule, this); this.queue = undefined; } } return rule; } // We can't add rules to a detached style node. // We will redeploy the sheet once user will attach it. this.deployed = false; return rule; } /** * Insert rule into the StyleSheet */ ; _proto.insertRule = function insertRule(rule) { if (this.renderer) { this.renderer.insertRule(rule); } } /** * Create and add rules. * Will render also after Style Sheet was rendered the first time. */ ; _proto.addRules = function addRules(styles, options) { var added = []; for (var name in styles) { var rule = this.addRule(name, styles[name], options); if (rule) added.push(rule); } return added; } /** * Get a rule by name. */ ; _proto.getRule = function getRule(name) { return this.rules.get(name); } /** * Delete a rule by name. * Returns `true`: if rule has been deleted from the DOM. */ ; _proto.deleteRule = function deleteRule(name) { var rule = this.rules.get(name); if (!rule) return false; this.rules.remove(rule); if (this.attached && rule.renderable && this.renderer) { return this.renderer.deleteRule(rule.renderable); } return true; } /** * Get index of a rule. */ ; _proto.indexOf = function indexOf(rule) { return this.rules.indexOf(rule); } /** * Deploy pure CSS string to a renderable. */ ; _proto.deploy = function deploy() { if (this.renderer) this.renderer.deploy(); this.deployed = true; return this; } /** * Update the function values with a new data. */ ; _proto.update = function update() { var _this$rules; (_this$rules = this.rules).update.apply(_this$rules, arguments); return this; } /** * Convert rules to a CSS string. */ ; _proto.toString = function toString(options) { return this.rules.toString(options); }; return StyleSheet; }(); var PluginsRegistry = /*#__PURE__*/ function () { function PluginsRegistry() { this.plugins = { internal: [], external: [] }; this.registry = void 0; } var _proto = PluginsRegistry.prototype; /** * Call `onCreateRule` hooks and return an object if returned by a hook. */ _proto.onCreateRule = function onCreateRule(name, decl, options) { for (var i = 0; i < this.registry.onCreateRule.length; i++) { var rule = this.registry.onCreateRule[i](name, decl, options); if (rule) return rule; } return null; } /** * Call `onProcessRule` hooks. */ ; _proto.onProcessRule = function onProcessRule(rule) { if (rule.isProcessed) return; var sheet = rule.options.sheet; for (var i = 0; i < this.registry.onProcessRule.length; i++) { this.registry.onProcessRule[i](rule, sheet); } if (rule.style) this.onProcessStyle(rule.style, rule, sheet); rule.isProcessed = true; } /** * Call `onProcessStyle` hooks. */ ; _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) { for (var i = 0; i < this.registry.onProcessStyle.length; i++) { // $FlowFixMe rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet); } } /** * Call `onProcessSheet` hooks. */ ; _proto.onProcessSheet = function onProcessSheet(sheet) { for (var i = 0; i < this.registry.onProcessSheet.length; i++) { this.registry.onProcessSheet[i](sheet); } } /** * Call `onUpdate` hooks. */ ; _proto.onUpdate = function onUpdate(data, rule, sheet, options) { for (var i = 0; i < this.registry.onUpdate.length; i++) { this.registry.onUpdate[i](data, rule, sheet, options); } } /** * Call `onChangeValue` hooks. */ ; _proto.onChangeValue = function onChangeValue(value, prop, rule) { var processedValue = value; for (var i = 0; i < this.registry.onChangeValue.length; i++) { processedValue = this.registry.onChangeValue[i](processedValue, prop, rule); } return processedValue; } /** * Register a plugin. */ ; _proto.use = function use(newPlugin, options) { if (options === void 0) { options = { queue: 'external' }; } var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref. if (plugins.indexOf(newPlugin) !== -1) { return; } plugins.push(newPlugin); this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) { for (var name in plugin) { if (name in registry) { registry[name].push(plugin[name]); } else { false ? undefined : void 0; } } return registry; }, { onCreateRule: [], onProcessRule: [], onProcessStyle: [], onProcessSheet: [], onChangeValue: [], onUpdate: [] }); }; return PluginsRegistry; }(); /** * Sheets registry to access them all at one place. */ var jss_esm_SheetsRegistry = /*#__PURE__*/ function () { function SheetsRegistry() { this.registry = []; } var _proto = SheetsRegistry.prototype; /** * Register a Style Sheet. */ _proto.add = function add(sheet) { var registry = this.registry; var index = sheet.options.index; if (registry.indexOf(sheet) !== -1) return; if (registry.length === 0 || index >= this.index) { registry.push(sheet); return; } // Find a position. for (var i = 0; i < registry.length; i++) { if (registry[i].options.index > index) { registry.splice(i, 0, sheet); return; } } } /** * Reset the registry. */ ; _proto.reset = function reset() { this.registry = []; } /** * Remove a Style Sheet. */ ; _proto.remove = function remove(sheet) { var index = this.registry.indexOf(sheet); this.registry.splice(index, 1); } /** * Convert all attached sheets to a CSS string. */ ; _proto.toString = function toString(_temp) { var _ref = _temp === void 0 ? {} : _temp, attached = _ref.attached, options = _objectWithoutPropertiesLoose(_ref, ["attached"]); var css = ''; for (var i = 0; i < this.registry.length; i++) { var sheet = this.registry[i]; if (attached != null && sheet.attached !== attached) { continue; } if (css) css += '\n'; css += sheet.toString(options); } return css; }; _createClass(SheetsRegistry, [{ key: "index", /** * Current highest index number. */ get: function get() { return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index; } }]); return SheetsRegistry; }(); /** * This is a global sheets registry. Only DomRenderer will add sheets to it. * On the server one should use an own SheetsRegistry instance and add the * sheets to it, because you need to make sure to create a new registry for * each request in order to not leak sheets across requests. */ var sheets = new jss_esm_SheetsRegistry(); /* eslint-disable */ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var globalThis = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); var ns = '2f1acc6c3a606b082e5eef5e54414ffb'; if (globalThis[ns] == null) globalThis[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify // the current version with just one short number and use it for classes generation // we use a counter. Also it is more accurate, because user can manually reevaluate // the module. var moduleId = globalThis[ns]++; var maxRules = 1e10; /** * Returns a function which generates unique class names based on counters. * When new generator function is created, rule counter is reseted. * We need to reset the rule counter for SSR for each request. */ var createGenerateId = function createGenerateId(options) { if (options === void 0) { options = {}; } var ruleCounter = 0; return function (rule, sheet) { ruleCounter += 1; if (ruleCounter > maxRules) { false ? undefined : void 0; } var jssId = ''; var prefix = ''; if (sheet) { if (sheet.options.classNamePrefix) { prefix = sheet.options.classNamePrefix; } if (sheet.options.jss.id != null) { jssId = String(sheet.options.jss.id); } } if (options.minify) { // Using "c" because a number can't be the first char in a class name. return "" + (prefix || 'c') + moduleId + jssId + ruleCounter; } return prefix + rule.key + "-" + moduleId + (jssId ? "-" + jssId : '') + "-" + ruleCounter; }; }; /** * Cache the value from the first time a function is called. */ var memoize = function memoize(fn) { var value; return function () { if (!value) value = fn(); return value; }; }; /** * Get a style property value. */ function getPropertyValue(cssRule, prop) { try { // Support CSSTOM. if (cssRule.attributeStyleMap) { return cssRule.attributeStyleMap.get(prop); } return cssRule.style.getPropertyValue(prop); } catch (err) { // IE may throw if property is unknown. return ''; } } /** * Set a style property. */ function setProperty(cssRule, prop, value) { try { var cssValue = value; if (Array.isArray(value)) { cssValue = toCssValue(value, true); if (value[value.length - 1] === '!important') { cssRule.style.setProperty(prop, cssValue, 'important'); return true; } } // Support CSSTOM. if (cssRule.attributeStyleMap) { cssRule.attributeStyleMap.set(prop, cssValue); } else { cssRule.style.setProperty(prop, cssValue); } } catch (err) { // IE may throw if property is unknown. return false; } return true; } /** * Remove a style property. */ function removeProperty(cssRule, prop) { try { // Support CSSTOM. if (cssRule.attributeStyleMap) { cssRule.attributeStyleMap.delete(prop); } else { cssRule.style.removeProperty(prop); } } catch (err) { false ? undefined : void 0; } } /** * Set the selector. */ function setSelector(cssRule, selectorText) { cssRule.selectorText = selectorText; // Return false if setter was not successful. // Currently works in chrome only. return cssRule.selectorText === selectorText; } /** * Gets the `head` element upon the first call and caches it. * We assume it can't be null. */ var getHead = memoize(function () { return document.querySelector('head'); }); /** * Find attached sheet with an index higher than the passed one. */ function findHigherSheet(registry, options) { for (var i = 0; i < registry.length; i++) { var sheet = registry[i]; if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) { return sheet; } } return null; } /** * Find attached sheet with the highest index. */ function findHighestSheet(registry, options) { for (var i = registry.length - 1; i >= 0; i--) { var sheet = registry[i]; if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) { return sheet; } } return null; } /** * Find a comment with "jss" inside. */ function findCommentNode(text) { var head = getHead(); for (var i = 0; i < head.childNodes.length; i++) { var node = head.childNodes[i]; if (node.nodeType === 8 && node.nodeValue.trim() === text) { return node; } } return null; } /** * Find a node before which we can insert the sheet. */ function findPrevNode(options) { var registry = sheets.registry; if (registry.length > 0) { // Try to insert before the next higher sheet. var sheet = findHigherSheet(registry, options); if (sheet && sheet.renderer) { return { parent: sheet.renderer.element.parentNode, node: sheet.renderer.element }; } // Otherwise insert after the last attached. sheet = findHighestSheet(registry, options); if (sheet && sheet.renderer) { return { parent: sheet.renderer.element.parentNode, node: sheet.renderer.element.nextSibling }; } } // Try to find a comment placeholder if registry is empty. var insertionPoint = options.insertionPoint; if (insertionPoint && typeof insertionPoint === 'string') { var comment = findCommentNode(insertionPoint); if (comment) { return { parent: comment.parentNode, node: comment.nextSibling }; } // If user specifies an insertion point and it can't be found in the document - // bad specificity issues may appear. false ? undefined : void 0; } return false; } /** * Insert style element into the DOM. */ function insertStyle(style, options) { var insertionPoint = options.insertionPoint; var nextNode = findPrevNode(options); if (nextNode !== false && nextNode.parent) { nextNode.parent.insertBefore(style, nextNode.node); return; } // Works with iframes and any node types. if (insertionPoint && typeof insertionPoint.nodeType === 'number') { // https://stackoverflow.com/questions/41328728/force-casting-in-flow var insertionPointElement = insertionPoint; var parentNode = insertionPointElement.parentNode; if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else false ? undefined : void 0; return; } getHead().appendChild(style); } /** * Read jss nonce setting from the page if the user has set it. */ var getNonce = memoize(function () { var node = document.querySelector('meta[property="csp-nonce"]'); return node ? node.getAttribute('content') : null; }); var _insertRule = function insertRule(container, rule, index) { var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong if (index === undefined || index > maxIndex) { // eslint-disable-next-line no-param-reassign index = maxIndex; } try { if ('insertRule' in container) { var c = container; c.insertRule(rule, index); } // Keyframes rule. else if ('appendRule' in container) { var _c = container; _c.appendRule(rule); } } catch (err) { false ? undefined : void 0; return false; } return container.cssRules[index]; }; var createStyle = function createStyle() { var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we // insert rules after we insert the style tag. // It seems to kick-off the source order specificity algorithm. el.textContent = '\n'; return el; }; var DomRenderer = /*#__PURE__*/ function () { // HTMLStyleElement needs fixing https://github.com/facebook/flow/issues/2696 function DomRenderer(sheet) { this.getPropertyValue = getPropertyValue; this.setProperty = setProperty; this.removeProperty = removeProperty; this.setSelector = setSelector; this.element = void 0; this.sheet = void 0; this.hasInsertedRules = false; // There is no sheet when the renderer is used from a standalone StyleRule. if (sheet) sheets.add(sheet); this.sheet = sheet; var _ref = this.sheet ? this.sheet.options : {}, media = _ref.media, meta = _ref.meta, element = _ref.element; this.element = element || createStyle(); this.element.setAttribute('data-jss', ''); if (media) this.element.setAttribute('media', media); if (meta) this.element.setAttribute('data-meta', meta); var nonce = getNonce(); if (nonce) this.element.setAttribute('nonce', nonce); } /** * Insert style element into render tree. */ var _proto = DomRenderer.prototype; _proto.attach = function attach() { // In the case the element node is external and it is already in the DOM. if (this.element.parentNode || !this.sheet) return; insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()` // most browsers create a new CSSStyleSheet, except of all IEs. var deployed = Boolean(this.sheet && this.sheet.deployed); if (this.hasInsertedRules && deployed) { this.hasInsertedRules = false; this.deploy(); } } /** * Remove style element from render tree. */ ; _proto.detach = function detach() { var parentNode = this.element.parentNode; if (parentNode) parentNode.removeChild(this.element); } /** * Inject CSS string into element. */ ; _proto.deploy = function deploy() { var sheet = this.sheet; if (!sheet) return; if (sheet.options.link) { this.insertRules(sheet.rules); return; } this.element.textContent = "\n" + sheet.toString() + "\n"; } /** * Insert RuleList into an element. */ ; _proto.insertRules = function insertRules(rules, nativeParent) { for (var i = 0; i < rules.index.length; i++) { this.insertRule(rules.index[i], i, nativeParent); } } /** * Insert a rule into element. */ ; _proto.insertRule = function insertRule(rule, index, nativeParent) { if (nativeParent === void 0) { nativeParent = this.element.sheet; } if (rule.rules) { var parent = rule; var latestNativeParent = nativeParent; if (rule.type === 'conditional' || rule.type === 'keyframes') { // We need to render the container without children first. latestNativeParent = _insertRule(nativeParent, parent.toString({ children: false }), index); if (latestNativeParent === false) { return false; } } this.insertRules(parent.rules, latestNativeParent); return latestNativeParent; } // IE keeps the CSSStyleSheet after style node has been reattached, // so we need to check if the `renderable` reference the right style sheet and not // rerender those rules. if (rule.renderable && rule.renderable.parentStyleSheet === this.element.sheet) { return rule.renderable; } var ruleStr = rule.toString(); if (!ruleStr) return false; var nativeRule = _insertRule(nativeParent, ruleStr, index); if (nativeRule === false) { return false; } this.hasInsertedRules = true; rule.renderable = nativeRule; return nativeRule; } /** * Delete a rule. */ ; _proto.deleteRule = function deleteRule(cssRule) { var sheet = this.element.sheet; var index = this.indexOf(cssRule); if (index === -1) return false; sheet.deleteRule(index); return true; } /** * Get index of a CSS Rule. */ ; _proto.indexOf = function indexOf(cssRule) { var cssRules = this.element.sheet.cssRules; for (var index = 0; index < cssRules.length; index++) { if (cssRule === cssRules[index]) return index; } return -1; } /** * Generate a new CSS rule and replace the existing one. * * Only used for some old browsers because they can't set a selector. */ ; _proto.replaceRule = function replaceRule(cssRule, rule) { var index = this.indexOf(cssRule); if (index === -1) return false; this.element.sheet.deleteRule(index); return this.insertRule(rule, index); } /** * Get all rules elements. */ ; _proto.getRules = function getRules() { return this.element.sheet.cssRules; }; return DomRenderer; }(); var instanceCounter = 0; var jss_esm_Jss = /*#__PURE__*/ function () { function Jss(options) { this.id = instanceCounter++; this.version = "10.0.0"; this.plugins = new PluginsRegistry(); this.options = { id: { minify: false }, createGenerateId: createGenerateId, Renderer: dist_module ? DomRenderer : null, plugins: [] }; this.generateId = createGenerateId({ minify: false }); for (var i = 0; i < plugins.length; i++) { this.plugins.use(plugins[i], { queue: 'internal' }); } this.setup(options); } /** * Prepares various options, applies plugins. * Should not be used twice on the same instance, because there is no plugins * deduplication logic. */ var _proto = Jss.prototype; _proto.setup = function setup(options) { if (options === void 0) { options = {}; } if (options.createGenerateId) { this.options.createGenerateId = options.createGenerateId; } if (options.id) { this.options.id = _extends({}, this.options.id, options.id); } if (options.createGenerateId || options.id) { this.generateId = this.options.createGenerateId(this.options.id); } if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint; if ('Renderer' in options) { this.options.Renderer = options.Renderer; } // eslint-disable-next-line prefer-spread if (options.plugins) this.use.apply(this, options.plugins); return this; } /** * Create a Style Sheet. */ ; _proto.createStyleSheet = function createStyleSheet(styles, options) { if (options === void 0) { options = {}; } var _options = options, index = _options.index; if (typeof index !== 'number') { index = sheets.index === 0 ? 0 : sheets.index + 1; } var sheet = new jss_esm_StyleSheet(styles, _extends({}, options, { jss: this, generateId: options.generateId || this.generateId, insertionPoint: this.options.insertionPoint, Renderer: this.options.Renderer, index: index })); this.plugins.onProcessSheet(sheet); return sheet; } /** * Detach the Style Sheet and remove it from the registry. */ ; _proto.removeStyleSheet = function removeStyleSheet(sheet) { sheet.detach(); sheets.remove(sheet); return this; } /** * Create a rule without a Style Sheet. */ ; _proto.createRule = function createRule$$1(name, style, options) { if (style === void 0) { style = {}; } if (options === void 0) { options = {}; } // Enable rule without name for inline styles. if (typeof name === 'object') { return this.createRule(undefined, name, style); } var ruleOptions = _extends({}, options, { jss: this, Renderer: this.options.Renderer }); if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId; if (!ruleOptions.classes) ruleOptions.classes = {}; if (!ruleOptions.keyframes) ruleOptions.keyframes = {}; var rule = createRule(name, style, ruleOptions); if (rule) this.plugins.onProcessRule(rule); return rule; } /** * Register plugin. Passed function will be invoked with a rule instance. */ ; _proto.use = function use() { var _this = this; for (var _len = arguments.length, plugins$$1 = new Array(_len), _key = 0; _key < _len; _key++) { plugins$$1[_key] = arguments[_key]; } plugins$$1.forEach(function (plugin) { _this.plugins.use(plugin); }); return this; }; return Jss; }(); /** * Extracts a styles object with only props that contain function values. */ function getDynamicStyles(styles) { var to = null; for (var key in styles) { var value = styles[key]; var type = typeof value; if (type === 'function') { if (!to) to = {}; to[key] = value; } else if (type === 'object' && value !== null && !Array.isArray(value)) { var extracted = getDynamicStyles(value); if (extracted) { if (!to) to = {}; to[key] = extracted; } } } return to; } /** * SheetsManager is like a WeakMap which is designed to count StyleSheet * instances and attach/detach automatically. */ var jss_esm_SheetsManager = /*#__PURE__*/ function () { function SheetsManager() { this.length = 0; this.sheets = new WeakMap(); } var _proto = SheetsManager.prototype; _proto.get = function get(key) { var entry = this.sheets.get(key); return entry && entry.sheet; }; _proto.add = function add(key, sheet) { if (this.sheets.has(key)) return; this.length++; this.sheets.set(key, { sheet: sheet, refs: 0 }); }; _proto.manage = function manage(key) { var entry = this.sheets.get(key); if (entry) { if (entry.refs === 0) { entry.sheet.attach(); } entry.refs++; return entry.sheet; } tiny_warning_esm(false, "[JSS] SheetsManager: can't find sheet to manage"); return undefined; }; _proto.unmanage = function unmanage(key) { var entry = this.sheets.get(key); if (entry) { if (entry.refs > 0) { entry.refs--; if (entry.refs === 0) entry.sheet.detach(); } } else { tiny_warning_esm(false, "SheetsManager: can't find sheet to unmanage"); } }; _createClass(SheetsManager, [{ key: "size", get: function get() { return this.length; } }]); return SheetsManager; }(); /** * A better abstraction over CSS. * * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present * @website https://github.com/cssinjs/jss * @license MIT */ /** * Export a constant indicating if this browser has CSSTOM support. * https://developers.google.com/web/updates/2018/03/cssom */ var hasCSSTOMSupport = typeof CSS !== 'undefined' && CSS && 'number' in CSS; /** * Creates a new instance of Jss. */ var jss_esm_create = function create(options) { return new jss_esm_Jss(options); }; /** * A global Jss instance. */ var jss_esm_index = jss_esm_create(); /* harmony default export */ var jss_esm = (jss_esm_index); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/mergeClasses/mergeClasses.js function mergeClasses() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var baseClasses = options.baseClasses, newClasses = options.newClasses, Component = options.Component; if (!newClasses) { return baseClasses; } var nextClasses = _extends({}, baseClasses); if (false) {} Object.keys(newClasses).forEach(function (key) { if (false) {} if (newClasses[key]) { nextClasses[key] = "".concat(baseClasses[key], " ").concat(newClasses[key]); } }); return nextClasses; } /* harmony default export */ var mergeClasses_mergeClasses = (mergeClasses); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/makeStyles/multiKeyStore.js // Used https://github.com/thinkloop/multi-key-cache as inspiration var multiKeyStore = { set: function set(cache, key1, key2, value) { var subCache = cache.get(key1); if (!subCache) { subCache = new Map(); cache.set(key1, subCache); } subCache.set(key2, value); }, get: function get(cache, key1, key2) { var subCache = cache.get(key1); return subCache ? subCache.get(key2) : undefined; }, delete: function _delete(cache, key1, key2) { var subCache = cache.get(key1); subCache.delete(key2); } }; /* harmony default export */ var makeStyles_multiKeyStore = (multiKeyStore); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/useTheme/ThemeContext.js var ThemeContext = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createContext(null); /* harmony default export */ var useTheme_ThemeContext = (ThemeContext); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/useTheme/useTheme.js function useTheme() { return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useContext(useTheme_ThemeContext); } // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/ThemeProvider/nested.js var hasSymbol = typeof Symbol === 'function' && Symbol.for; /* harmony default export */ var nested = (hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__'); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js /** * This is the list of the style rule name we use as drop in replacement for the built-in * pseudo classes (:checked, :disabled, :focused, etc.). * * Why do they exist in the first place? * These classes are used at a specificity of 2. * It allows them to override previously definied styles as well as * being untouched by simple user overrides. */ var createGenerateClassName_pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected']; // Returns a function which generates unique class names based on counters. // When new generator function is created, rule counter is reset. // We need to reset the rule counter for SSR for each request. // // It's inspired by // https://github.com/cssinjs/jss/blob/4e6a05dd3f7b6572fdd3ab216861d9e446c20331/src/utils/createGenerateClassName.js function createGenerateClassName() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var _options$disableGloba = options.disableGlobal, disableGlobal = _options$disableGloba === void 0 ? false : _options$disableGloba, _options$productionPr = options.productionPrefix, productionPrefix = _options$productionPr === void 0 ? 'jss' : _options$productionPr, _options$seed = options.seed, seed = _options$seed === void 0 ? '' : _options$seed; var seedPrefix = seed === '' ? '' : "".concat(seed, "-"); var ruleCounter = 0; return function (rule, styleSheet) { ruleCounter += 1; if (false) {} var name = styleSheet.options.name; // Is a global static MUI style? if (name && name.indexOf('Mui') === 0 && !styleSheet.options.link && !disableGlobal) { // We can use a shorthand class name, we never use the keys to style the components. if (createGenerateClassName_pseudoClasses.indexOf(rule.key) !== -1) { return "Mui-".concat(rule.key); } var prefix = "".concat(seedPrefix).concat(name, "-").concat(rule.key); if (!styleSheet.options.theme[nested] || seed !== '') { return prefix; } return "".concat(prefix, "-").concat(ruleCounter); } if (true) { return "".concat(seedPrefix).concat(productionPrefix).concat(ruleCounter); } var suffix = "".concat(rule.key, "-").concat(ruleCounter); // Help with debuggability. if (styleSheet.options.classNamePrefix) { return "".concat(seedPrefix).concat(styleSheet.options.classNamePrefix, "-").concat(suffix); } return "".concat(seedPrefix).concat(suffix); }; } // CONCATENATED MODULE: ./node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js var now = Date.now(); var fnValuesNs = "fnValues" + now; var fnRuleNs = "fnStyle" + ++now; function functionPlugin() { return { onCreateRule: function onCreateRule(name, decl, options) { if (typeof decl !== 'function') return null; var rule = createRule(name, {}, options); rule[fnRuleNs] = decl; return rule; }, onProcessStyle: function onProcessStyle(style, rule) { // We need to extract function values from the declaration, so that we can keep core unaware of them. // We need to do that only once. // We don't need to extract functions on each style update, since this can happen only once. // We don't support function values inside of function rules. if (fnValuesNs in rule || fnRuleNs in rule) return style; var fnValues = {}; for (var prop in style) { var value = style[prop]; if (typeof value !== 'function') continue; delete style[prop]; fnValues[prop] = value; } // $FlowFixMe rule[fnValuesNs] = fnValues; return style; }, onUpdate: function onUpdate(data, rule, sheet, options) { var styleRule = rule; var fnRule = styleRule[fnRuleNs]; // If we have a style function, the entire rule is dynamic and style object // will be returned from that function. if (fnRule) { // Empty object will remove all currently defined props // in case function rule returns a falsy value. styleRule.style = fnRule(data) || {}; } var fnValues = styleRule[fnValuesNs]; // If we have a fn values map, it is a rule with function values. if (fnValues) { for (var prop in fnValues) { styleRule.prop(prop, fnValues[prop](data), options); } } } }; } /* harmony default export */ var jss_plugin_rule_value_function_esm = (functionPlugin); // CONCATENATED MODULE: ./node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js var at = '@global'; var atPrefix = '@global '; var jss_plugin_global_esm_GlobalContainerRule = /*#__PURE__*/ function () { function GlobalContainerRule(key, styles, options) { this.type = 'global'; this.at = at; this.rules = void 0; this.options = void 0; this.key = void 0; this.isProcessed = false; this.key = key; this.options = options; this.rules = new jss_esm_RuleList(_extends({}, options, { parent: this })); for (var selector in styles) { this.rules.add(selector, styles[selector]); } this.rules.process(); } /** * Get a rule. */ var _proto = GlobalContainerRule.prototype; _proto.getRule = function getRule(name) { return this.rules.get(name); } /** * Create and register rule, run plugins. */ ; _proto.addRule = function addRule(name, style, options) { var rule = this.rules.add(name, style, options); this.options.jss.plugins.onProcessRule(rule); return rule; } /** * Get index of a rule. */ ; _proto.indexOf = function indexOf(rule) { return this.rules.indexOf(rule); } /** * Generates a CSS string. */ ; _proto.toString = function toString() { return this.rules.toString(); }; return GlobalContainerRule; }(); var jss_plugin_global_esm_GlobalPrefixedRule = /*#__PURE__*/ function () { function GlobalPrefixedRule(key, style, options) { this.type = 'global'; this.at = at; this.options = void 0; this.rule = void 0; this.isProcessed = false; this.key = void 0; this.key = key; this.options = options; var selector = key.substr(atPrefix.length); this.rule = options.jss.createRule(selector, style, _extends({}, options, { parent: this })); } var _proto2 = GlobalPrefixedRule.prototype; _proto2.toString = function toString(options) { return this.rule ? this.rule.toString(options) : ''; }; return GlobalPrefixedRule; }(); var separatorRegExp = /\s*,\s*/g; function addScope(selector, scope) { var parts = selector.split(separatorRegExp); var scoped = ''; for (var i = 0; i < parts.length; i++) { scoped += scope + " " + parts[i].trim(); if (parts[i + 1]) scoped += ', '; } return scoped; } function handleNestedGlobalContainerRule(rule) { var options = rule.options, style = rule.style; var rules = style ? style[at] : null; if (!rules) return; for (var name in rules) { options.sheet.addRule(name, rules[name], _extends({}, options, { selector: addScope(name, rule.selector) })); } delete style[at]; } function handlePrefixedGlobalRule(rule) { var options = rule.options, style = rule.style; for (var prop in style) { if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue; var selector = addScope(prop.substr(at.length), rule.selector); options.sheet.addRule(selector, style[prop], _extends({}, options, { selector: selector })); delete style[prop]; } } /** * Convert nested rules to separate, remove them from original styles. * * @param {Rule} rule * @api public */ function jssGlobal() { function onCreateRule(name, styles, options) { if (!name) return null; if (name === at) { return new jss_plugin_global_esm_GlobalContainerRule(name, styles, options); } if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) { return new jss_plugin_global_esm_GlobalPrefixedRule(name, styles, options); } var parent = options.parent; if (parent) { if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') { options.scoped = false; } } if (options.scoped === false) { options.selector = name; } return null; } function onProcessRule(rule) { if (rule.type !== 'style') return; handleNestedGlobalContainerRule(rule); handlePrefixedGlobalRule(rule); } return { onCreateRule: onCreateRule, onProcessRule: onProcessRule }; } /* harmony default export */ var jss_plugin_global_esm = (jssGlobal); // CONCATENATED MODULE: ./node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js var jss_plugin_nested_esm_separatorRegExp = /\s*,\s*/g; var parentRegExp = /&/g; var jss_plugin_nested_esm_refRegExp = /\$([\w-]+)/g; /** * Convert nested rules to separate, remove them from original styles. * * @param {Rule} rule * @api public */ function jssNested() { // Get a function to be used for $ref replacement. function getReplaceRef(container, sheet) { return function (match, key) { var rule = container.getRule(key) || sheet && sheet.getRule(key); if (rule) { rule = rule; return rule.selector; } false ? undefined : void 0; return key; }; } function replaceParentRefs(nestedProp, parentProp) { var parentSelectors = parentProp.split(jss_plugin_nested_esm_separatorRegExp); var nestedSelectors = nestedProp.split(jss_plugin_nested_esm_separatorRegExp); var result = ''; for (var i = 0; i < parentSelectors.length; i++) { var parent = parentSelectors[i]; for (var j = 0; j < nestedSelectors.length; j++) { var nested = nestedSelectors[j]; if (result) result += ', '; // Replace all & by the parent or prefix & with the parent. result += nested.indexOf('&') !== -1 ? nested.replace(parentRegExp, parent) : parent + " " + nested; } } return result; } function getOptions(rule, container, options) { // Options has been already created, now we only increase index. if (options) return _extends({}, options, { index: options.index + 1 }); var nestingLevel = rule.options.nestingLevel; nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1; return _extends({}, rule.options, { nestingLevel: nestingLevel, index: container.indexOf(rule) + 1 }); } function onProcessStyle(style, rule, sheet) { if (rule.type !== 'style') return style; var styleRule = rule; var container = styleRule.options.parent; var options; var replaceRef; for (var prop in style) { var isNested = prop.indexOf('&') !== -1; var isNestedConditional = prop[0] === '@'; if (!isNested && !isNestedConditional) continue; options = getOptions(styleRule, container, options); if (isNested) { var selector = replaceParentRefs(prop, styleRule.selector); // Lazily create the ref replacer function just once for // all nested rules within the sheet. if (!replaceRef) replaceRef = getReplaceRef(container, sheet); // Replace all $refs. selector = selector.replace(jss_plugin_nested_esm_refRegExp, replaceRef); container.addRule(selector, style[prop], _extends({}, options, { selector: selector })); } else if (isNestedConditional) { // Place conditional right after the parent rule to ensure right ordering. container.addRule(prop, {}, options) // Flow expects more options but they aren't required // And flow doesn't know this will always be a StyleRule which has the addRule method // $FlowFixMe .addRule(styleRule.key, style[prop], { selector: styleRule.selector }); } delete style[prop]; } return style; } return { onProcessStyle: onProcessStyle }; } /* harmony default export */ var jss_plugin_nested_esm = (jssNested); // CONCATENATED MODULE: ./node_modules/hyphenate-style-name/index.js /* eslint-disable no-var, prefer-template */ var uppercasePattern = /[A-Z]/g var msPattern = /^ms-/ var cache = {} function toHyphenLower(match) { return '-' + match.toLowerCase() } function hyphenateStyleName(name) { if (cache.hasOwnProperty(name)) { return cache[name] } var hName = name.replace(uppercasePattern, toHyphenLower) return (cache[name] = msPattern.test(hName) ? '-' + hName : hName) } /* harmony default export */ var hyphenate_style_name = (hyphenateStyleName); // CONCATENATED MODULE: ./node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js /** * Convert camel cased property names to dash separated. * * @param {Object} style * @return {Object} */ function convertCase(style) { var converted = {}; for (var prop in style) { var key = prop.indexOf('--') === 0 ? prop : hyphenate_style_name(prop); converted[key] = style[prop]; } if (style.fallbacks) { if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks); } return converted; } /** * Allow camel cased property names by converting them back to dasherized. * * @param {Rule} rule */ function camelCase() { function onProcessStyle(style) { if (Array.isArray(style)) { // Handle rules like @font-face, which can have multiple styles in an array for (var index = 0; index < style.length; index++) { style[index] = convertCase(style[index]); } return style; } return convertCase(style); } function onChangeValue(value, prop, rule) { if (prop.indexOf('--') === 0) { return value; } var hyphenatedProp = hyphenate_style_name(prop); // There was no camel case in place if (prop === hyphenatedProp) return value; rule.prop(hyphenatedProp, value); // Core will ignore that property value we set the proper one above. return null; } return { onProcessStyle: onProcessStyle, onChangeValue: onChangeValue }; } /* harmony default export */ var jss_plugin_camel_case_esm = (camelCase); // CONCATENATED MODULE: ./node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js var px = hasCSSTOMSupport && CSS ? CSS.px : 'px'; var ms = hasCSSTOMSupport && CSS ? CSS.ms : 'ms'; var percent = hasCSSTOMSupport && CSS ? CSS.percent : '%'; /** * Generated jss-plugin-default-unit CSS property units * * @type object */ var defaultUnits = { // Animation properties 'animation-delay': ms, 'animation-duration': ms, // Background properties 'background-position': px, 'background-position-x': px, 'background-position-y': px, 'background-size': px, // Border Properties border: px, 'border-bottom': px, 'border-bottom-left-radius': px, 'border-bottom-right-radius': px, 'border-bottom-width': px, 'border-left': px, 'border-left-width': px, 'border-radius': px, 'border-right': px, 'border-right-width': px, 'border-top': px, 'border-top-left-radius': px, 'border-top-right-radius': px, 'border-top-width': px, 'border-width': px, // Margin properties margin: px, 'margin-bottom': px, 'margin-left': px, 'margin-right': px, 'margin-top': px, // Padding properties padding: px, 'padding-bottom': px, 'padding-left': px, 'padding-right': px, 'padding-top': px, // Mask properties 'mask-position-x': px, 'mask-position-y': px, 'mask-size': px, // Width and height properties height: px, width: px, 'min-height': px, 'max-height': px, 'min-width': px, 'max-width': px, // Position properties bottom: px, left: px, top: px, right: px, // Shadow properties 'box-shadow': px, 'text-shadow': px, // Column properties 'column-gap': px, 'column-rule': px, 'column-rule-width': px, 'column-width': px, // Font and text properties 'font-size': px, 'font-size-delta': px, 'letter-spacing': px, 'text-indent': px, 'text-stroke': px, 'text-stroke-width': px, 'word-spacing': px, // Motion properties motion: px, 'motion-offset': px, // Outline properties outline: px, 'outline-offset': px, 'outline-width': px, // Perspective properties perspective: px, 'perspective-origin-x': percent, 'perspective-origin-y': percent, // Transform properties 'transform-origin': percent, 'transform-origin-x': percent, 'transform-origin-y': percent, 'transform-origin-z': percent, // Transition properties 'transition-delay': ms, 'transition-duration': ms, // Alignment properties 'vertical-align': px, 'flex-basis': px, // Some random properties 'shape-margin': px, size: px, // Grid properties grid: px, 'grid-gap': px, 'grid-row-gap': px, 'grid-column-gap': px, 'grid-template-rows': px, 'grid-template-columns': px, 'grid-auto-rows': px, 'grid-auto-columns': px, // Not existing properties. // Used to avoid issues with jss-plugin-expand integration. 'box-shadow-x': px, 'box-shadow-y': px, 'box-shadow-blur': px, 'box-shadow-spread': px, 'font-line-height': px, 'text-shadow-x': px, 'text-shadow-y': px, 'text-shadow-blur': px }; /** * Clones the object and adds a camel cased property version. */ function addCamelCasedVersion(obj) { var regExp = /(-[a-z])/g; var replace = function replace(str) { return str[1].toUpperCase(); }; var newObj = {}; for (var _key in obj) { newObj[_key] = obj[_key]; newObj[_key.replace(regExp, replace)] = obj[_key]; } return newObj; } var units = addCamelCasedVersion(defaultUnits); /** * Recursive deep style passing function */ function iterate(prop, value, options) { if (!value) return value; if (Array.isArray(value)) { for (var i = 0; i < value.length; i++) { value[i] = iterate(prop, value[i], options); } } else if (typeof value === 'object') { if (prop === 'fallbacks') { for (var innerProp in value) { value[innerProp] = iterate(innerProp, value[innerProp], options); } } else { for (var _innerProp in value) { value[_innerProp] = iterate(prop + "-" + _innerProp, value[_innerProp], options); } } } else if (typeof value === 'number') { if (options[prop]) { return "" + value + options[prop]; } if (units[prop]) { return typeof units[prop] === 'function' ? units[prop](value).toString() : "" + value + units[prop]; } return value.toString(); } return value; } /** * Add unit to numeric values. */ function defaultUnit(options) { if (options === void 0) { options = {}; } var camelCasedOptions = addCamelCasedVersion(options); function onProcessStyle(style, rule) { if (rule.type !== 'style') return style; for (var prop in style) { style[prop] = iterate(prop, style[prop], camelCasedOptions); } return style; } function onChangeValue(value, prop) { return iterate(prop, value, camelCasedOptions); } return { onProcessStyle: onProcessStyle, onChangeValue: onChangeValue }; } /* harmony default export */ var jss_plugin_default_unit_esm = (defaultUnit); // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } // CONCATENATED MODULE: ./node_modules/css-vendor/dist/css-vendor.esm.js // Export javascript style and css style vendor prefixes. var js = ''; var css_vendor_esm_css = ''; var vendor = ''; var browser = ''; var isTouch = dist_module && 'ontouchstart' in document.documentElement; // We should not do anything if required serverside. if (dist_module) { // Order matters. We need to check Webkit the last one because // other vendors use to add Webkit prefixes to some properties var jsCssMap = { Moz: '-moz-', ms: '-ms-', O: '-o-', Webkit: '-webkit-' }; var _document$createEleme = document.createElement('p'), css_vendor_esm_style = _document$createEleme.style; var testProp = 'Transform'; for (var css_vendor_esm_key in jsCssMap) { if (css_vendor_esm_key + testProp in css_vendor_esm_style) { js = css_vendor_esm_key; css_vendor_esm_css = jsCssMap[css_vendor_esm_key]; break; } } // Correctly detect the Edge browser. if (js === 'Webkit' && 'msHyphens' in css_vendor_esm_style) { js = 'ms'; css_vendor_esm_css = jsCssMap.ms; browser = 'edge'; } // Correctly detect the Safari browser. if (js === 'Webkit' && '-apple-trailing-word' in css_vendor_esm_style) { vendor = 'apple'; } } /** * Vendor prefix string for the current browser. * * @type {{js: String, css: String, vendor: String, browser: String}} * @api public */ var css_vendor_esm_prefix = { js: js, css: css_vendor_esm_css, vendor: vendor, browser: browser, isTouch: isTouch }; /** * Test if a keyframe at-rule should be prefixed or not * * @param {String} vendor prefix string for the current browser. * @return {String} * @api public */ function supportedKeyframes(key) { // Keyframes is already prefixed. e.g. key = '@-webkit-keyframes a' if (key[1] === '-') return key; // No need to prefix IE/Edge. Older browsers will ignore unsupported rules. // https://caniuse.com/#search=keyframes if (css_vendor_esm_prefix.js === 'ms') return key; return "@" + css_vendor_esm_prefix.css + "keyframes" + key.substr(10); } // https://caniuse.com/#search=appearance var appearence = { noPrefill: ['appearance'], supportedProperty: function supportedProperty(prop) { if (prop !== 'appearance') return false; if (css_vendor_esm_prefix.js === 'ms') return "-webkit-" + prop; return css_vendor_esm_prefix.css + prop; } }; // https://caniuse.com/#search=color-adjust var colorAdjust = { noPrefill: ['color-adjust'], supportedProperty: function supportedProperty(prop) { if (prop !== 'color-adjust') return false; if (css_vendor_esm_prefix.js === 'Webkit') return css_vendor_esm_prefix.css + "print-" + prop; return prop; } }; var regExp = /[-\s]+(.)?/g; /** * Replaces the letter with the capital letter * * @param {String} match * @param {String} c * @return {String} * @api private */ function toUpper(match, c) { return c ? c.toUpperCase() : ''; } /** * Convert dash separated strings to camel-cased. * * @param {String} str * @return {String} * @api private */ function camelize(str) { return str.replace(regExp, toUpper); } /** * Convert dash separated strings to pascal cased. * * @param {String} str * @return {String} * @api private */ function pascalize(str) { return camelize("-" + str); } // but we can use a longhand property instead. // https://caniuse.com/#search=mask var mask = { noPrefill: ['mask'], supportedProperty: function supportedProperty(prop, style) { if (!/^mask/.test(prop)) return false; if (css_vendor_esm_prefix.js === 'Webkit') { var longhand = 'mask-image'; if (camelize(longhand) in style) { return prop; } if (css_vendor_esm_prefix.js + pascalize(longhand) in style) { return css_vendor_esm_prefix.css + prop; } } return prop; } }; // https://caniuse.com/#search=text-orientation var textOrientation = { noPrefill: ['text-orientation'], supportedProperty: function supportedProperty(prop) { if (prop !== 'text-orientation') return false; if (css_vendor_esm_prefix.vendor === 'apple' && !css_vendor_esm_prefix.isTouch) { return css_vendor_esm_prefix.css + prop; } return prop; } }; // https://caniuse.com/#search=transform var transform = { noPrefill: ['transform'], supportedProperty: function supportedProperty(prop, style, options) { if (prop !== 'transform') return false; if (options.transform) { return prop; } return css_vendor_esm_prefix.css + prop; } }; // https://caniuse.com/#search=transition var transition = { noPrefill: ['transition'], supportedProperty: function supportedProperty(prop, style, options) { if (prop !== 'transition') return false; if (options.transition) { return prop; } return css_vendor_esm_prefix.css + prop; } }; // https://caniuse.com/#search=writing-mode var writingMode = { noPrefill: ['writing-mode'], supportedProperty: function supportedProperty(prop) { if (prop !== 'writing-mode') return false; if (css_vendor_esm_prefix.js === 'Webkit' || css_vendor_esm_prefix.js === 'ms') { return css_vendor_esm_prefix.css + prop; } return prop; } }; // https://caniuse.com/#search=user-select var userSelect = { noPrefill: ['user-select'], supportedProperty: function supportedProperty(prop) { if (prop !== 'user-select') return false; if (css_vendor_esm_prefix.js === 'Moz' || css_vendor_esm_prefix.js === 'ms' || css_vendor_esm_prefix.vendor === 'apple') { return css_vendor_esm_prefix.css + prop; } return prop; } }; // https://caniuse.com/#search=multicolumn // https://github.com/postcss/autoprefixer/issues/491 // https://github.com/postcss/autoprefixer/issues/177 var breakPropsOld = { supportedProperty: function supportedProperty(prop, style) { if (!/^break-/.test(prop)) return false; if (css_vendor_esm_prefix.js === 'Webkit') { var jsProp = "WebkitColumn" + pascalize(prop); return jsProp in style ? css_vendor_esm_prefix.css + "column-" + prop : false; } if (css_vendor_esm_prefix.js === 'Moz') { var _jsProp = "page" + pascalize(prop); return _jsProp in style ? "page-" + prop : false; } return false; } }; // See https://github.com/postcss/autoprefixer/issues/324. var inlineLogicalOld = { supportedProperty: function supportedProperty(prop, style) { if (!/^(border|margin|padding)-inline/.test(prop)) return false; if (css_vendor_esm_prefix.js === 'Moz') return prop; var newProp = prop.replace('-inline', ''); return css_vendor_esm_prefix.js + pascalize(newProp) in style ? css_vendor_esm_prefix.css + newProp : false; } }; // Camelization is required because we can't test using. // CSS syntax for e.g. in FF. var unprefixed = { supportedProperty: function supportedProperty(prop, style) { return camelize(prop) in style ? prop : false; } }; var prefixed = { supportedProperty: function supportedProperty(prop, style) { var pascalized = pascalize(prop); // Return custom CSS variable without prefixing. if (prop[0] === '-') return prop; // Return already prefixed value without prefixing. if (prop[0] === '-' && prop[1] === '-') return prop; if (css_vendor_esm_prefix.js + pascalized in style) return css_vendor_esm_prefix.css + prop; // Try webkit fallback. if (css_vendor_esm_prefix.js !== 'Webkit' && "Webkit" + pascalized in style) return "-webkit-" + prop; return false; } }; // https://caniuse.com/#search=scroll-snap var scrollSnap = { supportedProperty: function supportedProperty(prop) { if (prop.substring(0, 11) !== 'scroll-snap') return false; if (css_vendor_esm_prefix.js === 'ms') { return "" + css_vendor_esm_prefix.css + prop; } return prop; } }; // https://caniuse.com/#search=overscroll-behavior var overscrollBehavior = { supportedProperty: function supportedProperty(prop) { if (prop !== 'overscroll-behavior') return false; if (css_vendor_esm_prefix.js === 'ms') { return css_vendor_esm_prefix.css + "scroll-chaining"; } return prop; } }; var propMap = { 'flex-grow': 'flex-positive', 'flex-shrink': 'flex-negative', 'flex-basis': 'flex-preferred-size', 'justify-content': 'flex-pack', order: 'flex-order', 'align-items': 'flex-align', 'align-content': 'flex-line-pack' // 'align-self' is handled by 'align-self' plugin. }; // Support old flex spec from 2012. var flex2012 = { supportedProperty: function supportedProperty(prop, style) { var newProp = propMap[prop]; if (!newProp) return false; return css_vendor_esm_prefix.js + pascalize(newProp) in style ? css_vendor_esm_prefix.css + newProp : false; } }; var propMap$1 = { flex: 'box-flex', 'flex-grow': 'box-flex', 'flex-direction': ['box-orient', 'box-direction'], order: 'box-ordinal-group', 'align-items': 'box-align', 'flex-flow': ['box-orient', 'box-direction'], 'justify-content': 'box-pack' }; var propKeys = Object.keys(propMap$1); var prefixCss = function prefixCss(p) { return css_vendor_esm_prefix.css + p; }; // Support old flex spec from 2009. var flex2009 = { supportedProperty: function supportedProperty(prop, style, _ref) { var multiple = _ref.multiple; if (propKeys.indexOf(prop) > -1) { var newProp = propMap$1[prop]; if (!Array.isArray(newProp)) { return css_vendor_esm_prefix.js + pascalize(newProp) in style ? css_vendor_esm_prefix.css + newProp : false; } if (!multiple) return false; for (var i = 0; i < newProp.length; i++) { if (!(css_vendor_esm_prefix.js + pascalize(newProp[0]) in style)) { return false; } } return newProp.map(prefixCss); } return false; } }; // plugins = [ // ...plugins, // breakPropsOld, // inlineLogicalOld, // unprefixed, // prefixed, // scrollSnap, // flex2012, // flex2009 // ] // Plugins without 'noPrefill' value, going last. // 'flex-*' plugins should be at the bottom. // 'flex2009' going after 'flex2012'. // 'prefixed' going after 'unprefixed' var css_vendor_esm_plugins = [appearence, colorAdjust, mask, textOrientation, transform, transition, writingMode, userSelect, breakPropsOld, inlineLogicalOld, unprefixed, prefixed, scrollSnap, overscrollBehavior, flex2012, flex2009]; var propertyDetectors = css_vendor_esm_plugins.filter(function (p) { return p.supportedProperty; }).map(function (p) { return p.supportedProperty; }); var noPrefill = css_vendor_esm_plugins.filter(function (p) { return p.noPrefill; }).reduce(function (a, p) { a.push.apply(a, _toConsumableArray(p.noPrefill)); return a; }, []); var el; var css_vendor_esm_cache = {}; if (dist_module) { el = document.createElement('p'); // We test every property on vendor prefix requirement. // Once tested, result is cached. It gives us up to 70% perf boost. // http://jsperf.com/element-style-object-access-vs-plain-object // // Prefill cache with known css properties to reduce amount of // properties we need to feature test at runtime. // http://davidwalsh.name/vendor-prefix var computed = window.getComputedStyle(document.documentElement, ''); for (var key$1 in computed) { // eslint-disable-next-line no-restricted-globals if (!isNaN(key$1)) css_vendor_esm_cache[computed[key$1]] = computed[key$1]; } // Properties that cannot be correctly detected using the // cache prefill method. noPrefill.forEach(function (x) { return delete css_vendor_esm_cache[x]; }); } /** * Test if a property is supported, returns supported property with vendor * prefix if required. Returns `false` if not supported. * * @param {String} prop dash separated * @param {Object} [options] * @return {String|Boolean} * @api public */ function supportedProperty(prop, options) { if (options === void 0) { options = {}; } // For server-side rendering. if (!el) return prop; // Remove cache for benchmark tests or return property from the cache. if ( true && css_vendor_esm_cache[prop] != null) { return css_vendor_esm_cache[prop]; } // Check if 'transition' or 'transform' natively supported in browser. if (prop === 'transition' || prop === 'transform') { options[prop] = prop in el.style; } // Find a plugin for current prefix property. for (var i = 0; i < propertyDetectors.length; i++) { css_vendor_esm_cache[prop] = propertyDetectors[i](prop, el.style, options); // Break loop, if value found. if (css_vendor_esm_cache[prop]) break; } // Reset styles for current property. // Firefox can even throw an error for invalid properties, e.g., "0". try { el.style[prop] = ''; } catch (err) { return false; } return css_vendor_esm_cache[prop]; } var cache$1 = {}; var transitionProperties = { transition: 1, 'transition-property': 1, '-webkit-transition': 1, '-webkit-transition-property': 1 }; var transPropsRegExp = /(^\s*[\w-]+)|, (\s*[\w-]+)(?![^()]*\))/g; var el$1; /** * Returns prefixed value transition/transform if needed. * * @param {String} match * @param {String} p1 * @param {String} p2 * @return {String} * @api private */ function prefixTransitionCallback(match, p1, p2) { if (p1 === 'var') return 'var'; if (p1 === 'all') return 'all'; if (p2 === 'all') return ', all'; var prefixedValue = p1 ? supportedProperty(p1) : ", " + supportedProperty(p2); if (!prefixedValue) return p1 || p2; return prefixedValue; } if (dist_module) el$1 = document.createElement('p'); /** * Returns prefixed value if needed. Returns `false` if value is not supported. * * @param {String} property * @param {String} value * @return {String|Boolean} * @api public */ function supportedValue(property, value) { // For server-side rendering. var prefixedValue = value; if (!el$1 || property === 'content') return value; // It is a string or a number as a string like '1'. // We want only prefixable values here. // eslint-disable-next-line no-restricted-globals if (typeof prefixedValue !== 'string' || !isNaN(parseInt(prefixedValue, 10))) { return prefixedValue; } // Create cache key for current value. var cacheKey = property + prefixedValue; // Remove cache for benchmark tests or return value from cache. if ( true && cache$1[cacheKey] != null) { return cache$1[cacheKey]; } // IE can even throw an error in some cases, for e.g. style.content = 'bar'. try { // Test value as it is. el$1.style[property] = prefixedValue; } catch (err) { // Return false if value not supported. cache$1[cacheKey] = false; return false; } // If 'transition' or 'transition-property' property. if (transitionProperties[property]) { prefixedValue = prefixedValue.replace(transPropsRegExp, prefixTransitionCallback); } else if (el$1.style[property] === '') { // Value with a vendor prefix. prefixedValue = css_vendor_esm_prefix.css + prefixedValue; // Hardcode test to convert "flex" to "-ms-flexbox" for IE10. if (prefixedValue === '-ms-flex') el$1.style[property] = '-ms-flexbox'; // Test prefixed value. el$1.style[property] = prefixedValue; // Return false if value not supported. if (el$1.style[property] === '') { cache$1[cacheKey] = false; return false; } } // Reset styles for current property. el$1.style[property] = ''; // Write current value to cache. cache$1[cacheKey] = prefixedValue; return cache$1[cacheKey]; } // CONCATENATED MODULE: ./node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js /** * Add vendor prefix to a property name when needed. * * @api public */ function jssVendorPrefixer() { function onProcessRule(rule) { if (rule.type === 'keyframes') { var atRule = rule; atRule.at = supportedKeyframes(atRule.at); } } function prefixStyle(style) { for (var prop in style) { var value = style[prop]; if (prop === 'fallbacks' && Array.isArray(value)) { style[prop] = value.map(prefixStyle); continue; } var changeProp = false; var supportedProp = supportedProperty(prop); if (supportedProp && supportedProp !== prop) changeProp = true; var changeValue = false; var supportedValue$$1 = supportedValue(supportedProp, toCssValue(value)); if (supportedValue$$1 && supportedValue$$1 !== value) changeValue = true; if (changeProp || changeValue) { if (changeProp) delete style[prop]; style[supportedProp || prop] = supportedValue$$1 || value; } } return style; } function onProcessStyle(style, rule) { if (rule.type !== 'style') return style; return prefixStyle(style); } function onChangeValue(value, prop) { return supportedValue(prop, toCssValue(value)) || value; } return { onProcessRule: onProcessRule, onProcessStyle: onProcessStyle, onChangeValue: onChangeValue }; } /* harmony default export */ var jss_plugin_vendor_prefixer_esm = (jssVendorPrefixer); // CONCATENATED MODULE: ./node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js /** * Sort props by length. */ function jssPropsSort() { var sort = function sort(prop0, prop1) { if (prop0.length === prop1.length) { return prop0 > prop1 ? 1 : -1; } return prop0.length - prop1.length; }; return { onProcessStyle: function onProcessStyle(style, rule) { if (rule.type !== 'style') return style; var newStyle = {}; var props = Object.keys(style).sort(sort); for (var i = 0; i < props.length; i++) { newStyle[props[i]] = style[props[i]]; } return newStyle; } }; } /* harmony default export */ var jss_plugin_props_sort_esm = (jssPropsSort); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js // Subset of jss-preset-default with only the plugins the Material-UI components are using. function jssPreset() { return { plugins: [jss_plugin_rule_value_function_esm(), jss_plugin_global_esm(), jss_plugin_nested_esm(), jss_plugin_camel_case_esm(), jss_plugin_default_unit_esm(), // Disable the vendor prefixer server-side, it does nothing. // This way, we can get a performance boost. // In the documentation, we are using `autoprefixer` to solve this problem. typeof window === 'undefined' ? null : jss_plugin_vendor_prefixer_esm(), jss_plugin_props_sort_esm()] }; } /* harmony default export */ var jssPreset_jssPreset = (jssPreset); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js // Default JSS instance. var StylesProvider_jss = jss_esm_create(jssPreset_jssPreset()); // Use a singleton or the provided one by the context. // // The counter-based approach doesn't tolerate any mistake. // It's much safer to use the same counter everywhere. var generateClassName = createGenerateClassName(); // Exported for test purposes var sheetsManager = new Map(); var defaultOptions = { disableGeneration: false, generateClassName: generateClassName, jss: StylesProvider_jss, sheetsCache: null, sheetsManager: sheetsManager, sheetsRegistry: null }; var StylesContext = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createContext(defaultOptions); var injectFirstNode; function StylesProvider(props) { var children = props.children, _props$injectFirst = props.injectFirst, injectFirst = _props$injectFirst === void 0 ? false : _props$injectFirst, _props$disableGenerat = props.disableGeneration, disableGeneration = _props$disableGenerat === void 0 ? false : _props$disableGenerat, localOptions = _objectWithoutProperties(props, ["children", "injectFirst", "disableGeneration"]); var outerOptions = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useContext(StylesContext); var context = _extends({}, outerOptions, { disableGeneration: disableGeneration }, localOptions); if (false) {} if (false) {} if (false) {} if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') { if (!injectFirstNode) { var head = document.head; injectFirstNode = document.createComment('mui-inject-first'); head.insertBefore(injectFirstNode, head.firstChild); } context.jss = jss_esm_create({ plugins: jssPreset_jssPreset().plugins, insertionPoint: injectFirstNode }); } return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(StylesContext.Provider, { value: context }, children); } false ? undefined : void 0; if (false) {} /* harmony default export */ var StylesProvider_StylesProvider = (StylesProvider); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/makeStyles/indexCounter.js /* eslint-disable import/prefer-default-export */ // Global index counter to preserve source order. // We create the style sheet during at the creation of the component, // children are handled after the parents, so the order of style elements would be parent->child. // It is a problem though when a parent passes a className // which needs to override any child's styles. // StyleSheet of the child has a higher specificity, because of the source order. // So our solution is to render sheets them in the reverse order child->sheet, so // that parent has a higher specificity. var indexCounter = -1e9; function increment() { indexCounter += 1; if (false) {} return indexCounter; } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } function typeof_typeof(obj) { if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { typeof_typeof = function _typeof(obj) { return _typeof2(obj); }; } else { typeof_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); }; } return typeof_typeof(obj); } // EXTERNAL MODULE: ./node_modules/deepmerge/dist/cjs.js var cjs = __webpack_require__(2); var cjs_default = /*#__PURE__*/__webpack_require__.n(cjs); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/getStylesCreator/getStylesCreator.js // < 1kb payload overhead when lodash/merge is > 3kb. // Support for the jss-expand plugin. function arrayMerge(destination, source) { return source; } function getStylesCreator(stylesOrCreator) { var themingEnabled = typeof stylesOrCreator === 'function'; if (false) {} return { create: function create(theme, name) { var styles; try { styles = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator; } catch (err) { if (false) {} throw err; } if (!name || !theme.overrides || !theme.overrides[name]) { return styles; } var overrides = theme.overrides[name]; var stylesWithOverrides = _extends({}, styles); Object.keys(overrides).forEach(function (key) { if (false) {} stylesWithOverrides[key] = cjs_default()(stylesWithOverrides[key], overrides[key], { arrayMerge: arrayMerge }); }); return stylesWithOverrides; }, options: {} }; } /* harmony default export */ var getStylesCreator_getStylesCreator = (getStylesCreator); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/getStylesCreator/noopTheme.js // We use the same empty object to ref count the styles that don't need a theme object. var noopTheme = {}; /* harmony default export */ var getStylesCreator_noopTheme = (noopTheme); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js function getClasses(_ref, classes, Component) { var state = _ref.state, stylesOptions = _ref.stylesOptions; if (stylesOptions.disableGeneration) { return classes || {}; } if (!state.cacheClasses) { state.cacheClasses = { // Cache for the finalized classes value. value: null, // Cache for the last used classes prop pointer. lastProp: null, // Cache for the last used rendered classes pointer. lastJSS: {} }; } // Tracks if either the rendered classes or classes prop has changed, // requiring the generation of a new finalized classes object. var generate = false; if (state.classes !== state.cacheClasses.lastJSS) { state.cacheClasses.lastJSS = state.classes; generate = true; } if (classes !== state.cacheClasses.lastProp) { state.cacheClasses.lastProp = classes; generate = true; } if (generate) { state.cacheClasses.value = mergeClasses_mergeClasses({ baseClasses: state.cacheClasses.lastJSS, newClasses: classes, Component: Component }); } return state.cacheClasses.value; } function attach(_ref2, props) { var state = _ref2.state, theme = _ref2.theme, stylesOptions = _ref2.stylesOptions, stylesCreator = _ref2.stylesCreator, name = _ref2.name; if (stylesOptions.disableGeneration) { return; } var sheetManager = makeStyles_multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme); if (!sheetManager) { sheetManager = { refs: 0, staticSheet: null, dynamicStyles: null }; makeStyles_multiKeyStore.set(stylesOptions.sheetsManager, stylesCreator, theme, sheetManager); } var options = _extends({}, stylesCreator.options, {}, stylesOptions, { theme: theme, flip: typeof stylesOptions.flip === 'boolean' ? stylesOptions.flip : theme.direction === 'rtl' }); options.generateId = options.serverGenerateClassName || options.generateClassName; var sheetsRegistry = stylesOptions.sheetsRegistry; if (sheetManager.refs === 0) { var staticSheet; if (stylesOptions.sheetsCache) { staticSheet = makeStyles_multiKeyStore.get(stylesOptions.sheetsCache, stylesCreator, theme); } var styles = stylesCreator.create(theme, name); if (!staticSheet) { staticSheet = stylesOptions.jss.createStyleSheet(styles, _extends({ link: false }, options)); staticSheet.attach(); if (stylesOptions.sheetsCache) { makeStyles_multiKeyStore.set(stylesOptions.sheetsCache, stylesCreator, theme, staticSheet); } } if (sheetsRegistry) { sheetsRegistry.add(staticSheet); } sheetManager.staticSheet = staticSheet; sheetManager.dynamicStyles = getDynamicStyles(styles); } if (sheetManager.dynamicStyles) { var dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, _extends({ link: true }, options)); dynamicSheet.update(props).attach(); state.dynamicSheet = dynamicSheet; state.classes = mergeClasses_mergeClasses({ baseClasses: sheetManager.staticSheet.classes, newClasses: dynamicSheet.classes }); if (sheetsRegistry) { sheetsRegistry.add(dynamicSheet); } } else { state.classes = sheetManager.staticSheet.classes; } sheetManager.refs += 1; } function update(_ref3, props) { var state = _ref3.state; if (state.dynamicSheet) { state.dynamicSheet.update(props); } } function detach(_ref4) { var state = _ref4.state, theme = _ref4.theme, stylesOptions = _ref4.stylesOptions, stylesCreator = _ref4.stylesCreator; if (stylesOptions.disableGeneration) { return; } var sheetManager = makeStyles_multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme); sheetManager.refs -= 1; var sheetsRegistry = stylesOptions.sheetsRegistry; if (sheetManager.refs === 0) { makeStyles_multiKeyStore.delete(stylesOptions.sheetsManager, stylesCreator, theme); stylesOptions.jss.removeStyleSheet(sheetManager.staticSheet); if (sheetsRegistry) { sheetsRegistry.remove(sheetManager.staticSheet); } } if (state.dynamicSheet) { stylesOptions.jss.removeStyleSheet(state.dynamicSheet); if (sheetsRegistry) { sheetsRegistry.remove(state.dynamicSheet); } } } function useSynchronousEffect(func, values) { var key = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef([]); var output; // Store "generation" key. Just returns a new object every time var currentKey = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useMemo(function () { return {}; }, values); // eslint-disable-line react-hooks/exhaustive-deps // "the first render", or "memo dropped the value" if (key.current !== currentKey) { key.current = currentKey; output = func(); } external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useEffect(function () { return function () { if (output) { output(); } }; }, [currentKey] // eslint-disable-line react-hooks/exhaustive-deps ); } function makeStyles(stylesOrCreator) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var name = options.name, classNamePrefixOption = options.classNamePrefix, Component = options.Component, _options$defaultTheme = options.defaultTheme, defaultTheme = _options$defaultTheme === void 0 ? getStylesCreator_noopTheme : _options$defaultTheme, stylesOptions2 = _objectWithoutProperties(options, ["name", "classNamePrefix", "Component", "defaultTheme"]); var stylesCreator = getStylesCreator_getStylesCreator(stylesOrCreator); var classNamePrefix = name || classNamePrefixOption || 'makeStyles'; stylesCreator.options = { index: increment(), name: name, meta: classNamePrefix, classNamePrefix: classNamePrefix }; return function () { var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var theme = useTheme() || defaultTheme; var stylesOptions = _extends({}, external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useContext(StylesContext), {}, stylesOptions2); var instance = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(); var shouldUpdate = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(); useSynchronousEffect(function () { var current = { name: name, state: {}, stylesCreator: stylesCreator, stylesOptions: stylesOptions, theme: theme }; attach(current, props); shouldUpdate.current = false; instance.current = current; return function () { detach(current); }; }, [theme, stylesCreator]); external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useEffect(function () { if (shouldUpdate.current) { update(instance.current, props); } shouldUpdate.current = true; }); return getClasses(instance.current, props.classes, Component); }; } /* harmony default export */ var makeStyles_makeStyles = (makeStyles); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js /* eslint-disable no-restricted-syntax */ function getThemeProps(params) { var theme = params.theme, name = params.name, props = params.props; if (!theme || !theme.props || !theme.props[name]) { return props; } // Resolve default props, code borrow from React source. // https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221 var defaultProps = theme.props[name]; var propName; for (propName in defaultProps) { if (props[propName] === undefined) { props[propName] = defaultProps[propName]; } } return props; } /* harmony default export */ var getThemeProps_getThemeProps = (getThemeProps); // CONCATENATED MODULE: ./node_modules/@material-ui/styles/esm/withStyles/withStyles.js // Link a style sheet with a component. // It does not modify the component passed to it; // instead, it returns a new component, with a `classes` property. var withStyles_withStyles = function withStyles(stylesOrCreator) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return function (Component) { var defaultTheme = options.defaultTheme, _options$withTheme = options.withTheme, withTheme = _options$withTheme === void 0 ? false : _options$withTheme, name = options.name, stylesOptions = _objectWithoutProperties(options, ["defaultTheme", "withTheme", "name"]); if (false) {} var classNamePrefix = name; if (false) { var displayName; } var useStyles = makeStyles_makeStyles(stylesOrCreator, _extends({ defaultTheme: defaultTheme, Component: Component, name: name || Component.displayName, classNamePrefix: classNamePrefix }, stylesOptions)); var WithStyles = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.forwardRef(function WithStyles(props, ref) { var classesProp = props.classes, innerRef = props.innerRef, other = _objectWithoutProperties(props, ["classes", "innerRef"]); var classes = useStyles(props); var theme; var more = other; if (typeof name === 'string' || withTheme) { // name and withTheme are invariant in the outer scope // eslint-disable-next-line react-hooks/rules-of-hooks theme = useTheme() || defaultTheme; if (name) { more = getThemeProps_getThemeProps({ theme: theme, name: name, props: other }); } // Provide the theme to the wrapped component. // So we don't have to use the `withTheme()` Higher-order Component. if (withTheme && !more.theme) { more.theme = theme; } } return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(Component, _extends({ ref: innerRef || ref, classes: classes }, more)); }); false ? undefined : void 0; if (false) {} hoist_non_react_statics_cjs_default()(WithStyles, Component); if (false) {} return WithStyles; }; }; /* harmony default export */ var esm_withStyles_withStyles = (withStyles_withStyles); // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } // CONCATENATED MODULE: ./node_modules/@material-ui/core/node_modules/isobject/index.js /*! * isobject <https://github.com/jonschlinkert/isobject> * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. */ function isObject(val) { return val != null && typeof val === 'object' && Array.isArray(val) === false; }; // CONCATENATED MODULE: ./node_modules/@material-ui/core/node_modules/is-plain-object/index.js /*! * is-plain-object <https://github.com/jonschlinkert/is-plain-object> * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. */ function isObjectObject(o) { return isObject(o) === true && Object.prototype.toString.call(o) === '[object Object]'; } function isPlainObject(o) { var ctor,prot; if (isObjectObject(o) === false) return false; // If has modified constructor ctor = o.constructor; if (typeof ctor !== 'function') return false; // If has modified prototype prot = ctor.prototype; if (isObjectObject(prot) === false) return false; // If constructor does not have an Object-specific method if (prot.hasOwnProperty('isPrototypeOf') === false) { return false; } // Most likely a plain Object return true; }; // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/createBreakpoints.js // Sorted ASC by size. That's important. // It can't be configured as it's used statically for propTypes. var keys = ['xs', 'sm', 'md', 'lg', 'xl']; // Keep in mind that @media is inclusive by the CSS specification. function createBreakpoints(breakpoints) { var _breakpoints$values = breakpoints.values, values = _breakpoints$values === void 0 ? { xs: 0, sm: 600, md: 960, lg: 1280, xl: 1920 } : _breakpoints$values, _breakpoints$unit = breakpoints.unit, unit = _breakpoints$unit === void 0 ? 'px' : _breakpoints$unit, _breakpoints$step = breakpoints.step, step = _breakpoints$step === void 0 ? 5 : _breakpoints$step, other = _objectWithoutProperties(breakpoints, ["values", "unit", "step"]); function up(key) { var value = typeof values[key] === 'number' ? values[key] : key; return "@media (min-width:".concat(value).concat(unit, ")"); } function down(key) { var endIndex = keys.indexOf(key) + 1; var upperbound = values[keys[endIndex]]; if (endIndex === keys.length) { // xl down applies to all sizes return up('xs'); } var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key; return "@media (max-width:".concat(value - step / 100).concat(unit, ")"); } function between(start, end) { var endIndex = keys.indexOf(end) + 1; if (endIndex === keys.length) { return up(start); } return "@media (min-width:".concat(values[start]).concat(unit, ") and ") + "(max-width:".concat(values[keys[endIndex]] - step / 100).concat(unit, ")"); } function only(key) { return between(key, key); } function width(key) { return values[key]; } return _extends({ keys: keys, values: values, up: up, down: down, between: between, only: only, width: width }, other); } // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/createMixins.js function createMixins(breakpoints, spacing, mixins) { var _toolbar; return _extends({ gutters: function gutters() { var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; // To deprecate in v4.1 // warning( // false, // [ // 'Material-UI: theme.mixins.gutters() is deprecated.', // 'You can use the source of the mixin directly:', // ` // paddingLeft: theme.spacing(2), // paddingRight: theme.spacing(2), // [theme.breakpoints.up('sm')]: { // paddingLeft: theme.spacing(3), // paddingRight: theme.spacing(3), // }, // `, // ].join('\n'), // ); return _extends({ paddingLeft: spacing(2), paddingRight: spacing(2) }, styles, _defineProperty({}, breakpoints.up('sm'), _extends({ paddingLeft: spacing(3), paddingRight: spacing(3) }, styles[breakpoints.up('sm')]))); }, toolbar: (_toolbar = { minHeight: 56 }, _defineProperty(_toolbar, "".concat(breakpoints.up('xs'), " and (orientation: landscape)"), { minHeight: 48 }), _defineProperty(_toolbar, breakpoints.up('sm'), { minHeight: 64 }), _toolbar) }, mixins); } // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/colors/indigo.js var indigo = { 50: '#e8eaf6', 100: '#c5cae9', 200: '#9fa8da', 300: '#7986cb', 400: '#5c6bc0', 500: '#3f51b5', 600: '#3949ab', 700: '#303f9f', 800: '#283593', 900: '#1a237e', A100: '#8c9eff', A200: '#536dfe', A400: '#3d5afe', A700: '#304ffe' }; /* harmony default export */ var colors_indigo = (indigo); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/colors/pink.js var pink = { 50: '#fce4ec', 100: '#f8bbd0', 200: '#f48fb1', 300: '#f06292', 400: '#ec407a', 500: '#e91e63', 600: '#d81b60', 700: '#c2185b', 800: '#ad1457', 900: '#880e4f', A100: '#ff80ab', A200: '#ff4081', A400: '#f50057', A700: '#c51162' }; /* harmony default export */ var colors_pink = (pink); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/colors/grey.js var grey = { 50: '#fafafa', 100: '#f5f5f5', 200: '#eeeeee', 300: '#e0e0e0', 400: '#bdbdbd', 500: '#9e9e9e', 600: '#757575', 700: '#616161', 800: '#424242', 900: '#212121', A100: '#d5d5d5', A200: '#aaaaaa', A400: '#303030', A700: '#616161' }; /* harmony default export */ var colors_grey = (grey); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/colors/red.js var 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' }; /* harmony default export */ var colors_red = (red); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/colors/common.js var common = { black: '#000', white: '#fff' }; /* harmony default export */ var colors_common = (common); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/colorManipulator.js /* eslint-disable no-use-before-define */ /** * Returns a number whose value is limited to the given range. * * @param {number} value The value to be clamped * @param {number} min The lower boundary of the output range * @param {number} max The upper boundary of the output range * @returns {number} A number in the range [min, max] */ function clamp(value) { var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; if (false) {} if (value < min) { return min; } if (value > max) { return max; } return value; } /** * Converts a color from CSS hex format to CSS rgb format. * * @param {string} color - Hex color, i.e. #nnn or #nnnnnn * @returns {string} A CSS rgb color string */ function hexToRgb(color) { color = color.substr(1); var re = new RegExp(".{1,".concat(color.length / 3, "}"), 'g'); var colors = color.match(re); if (colors && colors[0].length === 1) { colors = colors.map(function (n) { return n + n; }); } return colors ? "rgb(".concat(colors.map(function (n) { return parseInt(n, 16); }).join(', '), ")") : ''; } function intToHex(int) { var hex = int.toString(16); return hex.length === 1 ? "0".concat(hex) : hex; } /** * Converts a color from CSS rgb format to CSS hex format. * * @param {string} color - RGB color, i.e. rgb(n, n, n) * @returns {string} A CSS rgb color string, i.e. #nnnnnn */ function rgbToHex(color) { // Idempotent if (color.indexOf('#') === 0) { return color; } var _decomposeColor = decomposeColor(color), values = _decomposeColor.values; return "#".concat(values.map(function (n) { return intToHex(n); }).join('')); } /** * Converts a color from hsl format to rgb format. * * @param {string} color - HSL color values * @returns {string} rgb color values */ function hslToRgb(color) { color = decomposeColor(color); var _color = color, values = _color.values; var h = values[0]; var s = values[1] / 100; var l = values[2] / 100; var a = s * Math.min(l, 1 - l); var f = function f(n) { var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12; return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1); }; var type = 'rgb'; var rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)]; if (color.type === 'hsla') { type += 'a'; rgb.push(values[3]); } return recomposeColor({ type: type, values: rgb }); } /** * Returns an object with the type and values of a color. * * Note: Does not support rgb % values. * * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @returns {object} - A MUI color object: {type: string, values: number[]} */ function decomposeColor(color) { // Idempotent if (color.type) { return color; } if (color.charAt(0) === '#') { return decomposeColor(hexToRgb(color)); } var marker = color.indexOf('('); var type = color.substring(0, marker); if (['rgb', 'rgba', 'hsl', 'hsla'].indexOf(type) === -1) { throw new Error(["Material-UI: unsupported `".concat(color, "` color."), 'We support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla().'].join('\n')); } var values = color.substring(marker + 1, color.length - 1).split(','); values = values.map(function (value) { return parseFloat(value); }); return { type: type, values: values }; } /** * Converts a color object with type and values to a string. * * @param {object} color - Decomposed color * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla' * @param {array} color.values - [n,n,n] or [n,n,n,n] * @returns {string} A CSS color string */ function recomposeColor(color) { var type = color.type; var values = color.values; if (type.indexOf('rgb') !== -1) { // Only convert the first 3 values to int (i.e. not alpha) values = values.map(function (n, i) { return i < 3 ? parseInt(n, 10) : n; }); } else if (type.indexOf('hsl') !== -1) { values[1] = "".concat(values[1], "%"); values[2] = "".concat(values[2], "%"); } return "".concat(type, "(").concat(values.join(', '), ")"); } /** * Calculates the contrast ratio between two colors. * * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests * * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @returns {number} A contrast ratio value in the range 0 - 21. */ function getContrastRatio(foreground, background) { var lumA = getLuminance(foreground); var lumB = getLuminance(background); return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05); } /** * The relative brightness of any point in a color space, * normalized to 0 for darkest black and 1 for lightest white. * * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests * * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @returns {number} The relative brightness of the color in the range 0 - 1 */ function getLuminance(color) { color = decomposeColor(color); var rgb = color.type === 'hsl' ? decomposeColor(hslToRgb(color)).values : color.values; rgb = rgb.map(function (val) { val /= 255; // normalized return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4); }); // Truncate at 3 digits return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3)); } /** * Darken or lighten a color, depending on its luminance. * Light colors are darkened, dark colors are lightened. * * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @param {number} coefficient=0.15 - multiplier in the range 0 - 1 * @returns {string} A CSS color string. Hex input values are returned as rgb */ function emphasize(color) { var coefficient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15; return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient); } /** * Set the absolute transparency of a color. * Any existing alpha values are overwritten. * * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @param {number} value - value to set the alpha channel to in the range 0 -1 * @returns {string} A CSS color string. Hex input values are returned as rgb */ function fade(color, value) { color = decomposeColor(color); value = clamp(value); if (color.type === 'rgb' || color.type === 'hsl') { color.type += 'a'; } color.values[3] = value; return recomposeColor(color); } /** * Darkens a color. * * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @param {number} coefficient - multiplier in the range 0 - 1 * @returns {string} A CSS color string. Hex input values are returned as rgb */ function darken(color, coefficient) { color = decomposeColor(color); coefficient = clamp(coefficient); if (color.type.indexOf('hsl') !== -1) { color.values[2] *= 1 - coefficient; } else if (color.type.indexOf('rgb') !== -1) { for (var i = 0; i < 3; i += 1) { color.values[i] *= 1 - coefficient; } } return recomposeColor(color); } /** * Lightens a color. * * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla() * @param {number} coefficient - multiplier in the range 0 - 1 * @returns {string} A CSS color string. Hex input values are returned as rgb */ function lighten(color, coefficient) { color = decomposeColor(color); coefficient = clamp(coefficient); if (color.type.indexOf('hsl') !== -1) { color.values[2] += (100 - color.values[2]) * coefficient; } else if (color.type.indexOf('rgb') !== -1) { for (var i = 0; i < 3; i += 1) { color.values[i] += (255 - color.values[i]) * coefficient; } } return recomposeColor(color); } // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/createPalette.js // < 1kb payload overhead when lodash/merge is > 3kb. var 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.54)', // Disabled text have even lower visual prominence. disabled: 'rgba(0, 0, 0, 0.38)', // Text hints. hint: '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: colors_common.white, default: colors_grey[50] }, // 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.08)', hoverOpacity: 0.08, // The color of a selected action. selected: 'rgba(0, 0, 0, 0.14)', // 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)' } }; var dark = { text: { primary: colors_common.white, secondary: 'rgba(255, 255, 255, 0.7)', disabled: 'rgba(255, 255, 255, 0.5)', hint: 'rgba(255, 255, 255, 0.5)', icon: 'rgba(255, 255, 255, 0.5)' }, divider: 'rgba(255, 255, 255, 0.12)', background: { paper: colors_grey[800], default: '#303030' }, action: { active: colors_common.white, hover: 'rgba(255, 255, 255, 0.1)', hoverOpacity: 0.1, selected: 'rgba(255, 255, 255, 0.2)', disabled: 'rgba(255, 255, 255, 0.3)', disabledBackground: 'rgba(255, 255, 255, 0.12)' } }; function addLightOrDark(intent, direction, shade, tonalOffset) { if (!intent[direction]) { if (intent.hasOwnProperty(shade)) { intent[direction] = intent[shade]; } else if (direction === 'light') { intent.light = lighten(intent.main, tonalOffset); } else if (direction === 'dark') { intent.dark = darken(intent.main, tonalOffset * 1.5); } } } function createPalette(palette) { var _palette$primary = palette.primary, primary = _palette$primary === void 0 ? { light: colors_indigo[300], main: colors_indigo[500], dark: colors_indigo[700] } : _palette$primary, _palette$secondary = palette.secondary, secondary = _palette$secondary === void 0 ? { light: colors_pink.A200, main: colors_pink.A400, dark: colors_pink.A700 } : _palette$secondary, _palette$error = palette.error, error = _palette$error === void 0 ? { light: colors_red[300], main: colors_red[500], dark: colors_red[700] } : _palette$error, _palette$type = palette.type, type = _palette$type === void 0 ? 'light' : _palette$type, _palette$contrastThre = palette.contrastThreshold, contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre, _palette$tonalOffset = palette.tonalOffset, tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset, other = _objectWithoutProperties(palette, ["primary", "secondary", "error", "type", "contrastThreshold", "tonalOffset"]); // Use the same logic as // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59 // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54 function getContrastText(background) { if (false) {} var contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary; if (false) { var contrast; } return contrastText; } function augmentColor(color) { var mainShade = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500; var lightShade = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300; var darkShade = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 700; color = _extends({}, color); if (!color.main && color[mainShade]) { color.main = color[mainShade]; } if (false) {} addLightOrDark(color, 'light', lightShade, tonalOffset); addLightOrDark(color, 'dark', darkShade, tonalOffset); if (!color.contrastText) { color.contrastText = getContrastText(color.main); } return color; } var types = { dark: dark, light: light }; if (false) {} var paletteOutput = cjs_default()(_extends({ // A collection of common colors. common: colors_common, // The palette type, can be light or dark. type: type, // The colors used to represent primary interface elements for a user. primary: augmentColor(primary), // The colors used to represent secondary interface elements for a user. secondary: augmentColor(secondary, 'A400', 'A200', 'A700'), // The colors used to represent interface elements that the user should be made aware of. error: augmentColor(error), // The grey colors. grey: colors_grey, // Used by `getContrastText()` to maximize the contrast between the background and // the text. contrastThreshold: contrastThreshold, // Take a background color and return the color of the text to maximize the contrast. getContrastText: getContrastText, // Generate a rich color object. augmentColor: 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: tonalOffset }, types[type]), other, { clone: false // No need to clone deep }); return paletteOutput; } // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/createTypography.js // < 1kb payload overhead when lodash/merge is > 3kb. function round(value) { return Math.round(value * 1e5) / 1e5; } var caseAllCaps = { textTransform: 'uppercase' }; var defaultFontFamily = '"Roboto", "Helvetica", "Arial", sans-serif'; /** * @see @link{https://material.io/design/typography/the-type-system.html} * @see @link{https://material.io/design/typography/understanding-typography.html} */ function createTypography(palette, typography) { var _ref = typeof typography === 'function' ? typography(palette) : typography, _ref$fontFamily = _ref.fontFamily, fontFamily = _ref$fontFamily === void 0 ? defaultFontFamily : _ref$fontFamily, _ref$fontSize = _ref.fontSize, fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize, _ref$fontWeightLight = _ref.fontWeightLight, fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight, _ref$fontWeightRegula = _ref.fontWeightRegular, fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula, _ref$fontWeightMedium = _ref.fontWeightMedium, fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium, _ref$fontWeightBold = _ref.fontWeightBold, fontWeightBold = _ref$fontWeightBold === void 0 ? 700 : _ref$fontWeightBold, _ref$htmlFontSize = _ref.htmlFontSize, htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize, allVariants = _ref.allVariants, pxToRem2 = _ref.pxToRem, other = _objectWithoutProperties(_ref, ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"]); if (false) {} var coef = fontSize / 14; var pxToRem = pxToRem2 || function (size) { return "".concat(size / htmlFontSize * coef, "rem"); }; var buildVariant = function buildVariant(fontWeight, size, lineHeight, letterSpacing, casing) { return _extends({ fontFamily: fontFamily, fontWeight: fontWeight, fontSize: pxToRem(size), // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/ lineHeight: lineHeight }, fontFamily === defaultFontFamily ? { letterSpacing: "".concat(round(letterSpacing / size), "em") } : {}, {}, casing, {}, allVariants); }; var variants = { h1: buildVariant(fontWeightLight, 96, 1, -1.5), h2: buildVariant(fontWeightLight, 60, 1, -0.5), h3: buildVariant(fontWeightRegular, 48, 1.04, 0), h4: buildVariant(fontWeightRegular, 34, 1.17, 0.25), h5: buildVariant(fontWeightRegular, 24, 1.33, 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) }; return cjs_default()(_extends({ htmlFontSize: htmlFontSize, pxToRem: pxToRem, round: round, // TODO To remove in v5? fontFamily: fontFamily, fontSize: fontSize, fontWeightLight: fontWeightLight, fontWeightRegular: fontWeightRegular, fontWeightMedium: fontWeightMedium, fontWeightBold: fontWeightBold }, variants), other, { clone: false // No need to clone deep }); } // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/shadows.js var shadowKeyUmbraOpacity = 0.2; var shadowKeyPenumbraOpacity = 0.14; var shadowAmbientShadowOpacity = 0.12; function createShadow() { return ["".concat(arguments.length <= 0 ? undefined : arguments[0], "px ").concat(arguments.length <= 1 ? undefined : arguments[1], "px ").concat(arguments.length <= 2 ? undefined : arguments[2], "px ").concat(arguments.length <= 3 ? undefined : arguments[3], "px rgba(0,0,0,").concat(shadowKeyUmbraOpacity, ")"), "".concat(arguments.length <= 4 ? undefined : arguments[4], "px ").concat(arguments.length <= 5 ? undefined : arguments[5], "px ").concat(arguments.length <= 6 ? undefined : arguments[6], "px ").concat(arguments.length <= 7 ? undefined : arguments[7], "px rgba(0,0,0,").concat(shadowKeyPenumbraOpacity, ")"), "".concat(arguments.length <= 8 ? undefined : arguments[8], "px ").concat(arguments.length <= 9 ? undefined : arguments[9], "px ").concat(arguments.length <= 10 ? undefined : arguments[10], "px ").concat(arguments.length <= 11 ? undefined : arguments[11], "px rgba(0,0,0,").concat(shadowAmbientShadowOpacity, ")")].join(','); } var shadows = ['none', createShadow(0, 1, 3, 0, 0, 1, 1, 0, 0, 2, 1, -1), createShadow(0, 1, 5, 0, 0, 2, 2, 0, 0, 3, 1, -2), createShadow(0, 1, 8, 0, 0, 3, 4, 0, 0, 3, 3, -2), 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)]; /* harmony default export */ var styles_shadows = (shadows); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/shape.js var shape = { borderRadius: 4 }; /* harmony default export */ var styles_shape = (shape); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/createSpacing.js var warnOnce; function createSpacing() { var spacingInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 8; // Already transformed. if (spacingInput.mui) { return spacingInput; } // All components align to an 8dp square baseline grid for mobile, tablet, and desktop. // https://material.io/design/layout/understanding-layout.html#pixel-density var transform; if (typeof spacingInput === 'function') { transform = spacingInput; } else { if (false) {} transform = function transform(factor) { if (false) {} return spacingInput * factor; }; } var spacing = function spacing() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } if (false) {} if (args.length === 0) { return transform(1); } if (args.length === 1) { return transform(args[0]); } return args.map(function (factor) { var output = transform(factor); return typeof output === 'number' ? "".concat(output, "px") : output; }).join(' '); }; // Backward compatibility, to remove in v5. Object.defineProperty(spacing, 'unit', { get: function get() { if (false) {} return spacingInput; } }); spacing.mui = true; return spacing; } // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/transitions.js /* eslint-disable no-restricted-globals */ // Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves // to learn the context in which each easing should be used. var 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)' }; // Follow https://material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations // to learn when use what timing var 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 }; var formatMs = function formatMs(milliseconds) { return "".concat(Math.round(milliseconds), "ms"); }; var isString = function isString(value) { return typeof value === 'string'; }; var isNumber = function isNumber(value) { return !isNaN(parseFloat(value)); }; /** * @param {string|Array} props * @param {object} param * @param {string} param.prop * @param {number} param.duration * @param {string} param.easing * @param {number} param.delay */ /* harmony default export */ var transitions = ({ easing: easing, duration: duration, create: function create() { var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['all']; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var _options$duration = options.duration, durationOption = _options$duration === void 0 ? duration.standard : _options$duration, _options$easing = options.easing, easingOption = _options$easing === void 0 ? easing.easeInOut : _options$easing, _options$delay = options.delay, delay = _options$delay === void 0 ? 0 : _options$delay, other = _objectWithoutProperties(options, ["duration", "easing", "delay"]); if (false) {} return (Array.isArray(props) ? props : [props]).map(function (animatedProp) { return "".concat(animatedProp, " ").concat(typeof durationOption === 'string' ? durationOption : formatMs(durationOption), " ").concat(easingOption, " ").concat(typeof delay === 'string' ? delay : formatMs(delay)); }).join(','); }, getAutoHeightDuration: function getAutoHeightDuration(height) { if (!height) { return 0; } var constant = height / 36; // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10 return Math.round((4 + 15 * Math.pow(constant, 0.25) + constant / 5) * 10); } }); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/zIndex.js // We need to centralize the zIndex definitions as they work // like global values in the browser. var zIndex = { mobileStepper: 1000, speedDial: 1050, appBar: 1100, drawer: 1200, modal: 1300, snackbar: 1400, tooltip: 1500 }; /* harmony default export */ var styles_zIndex = (zIndex); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/createMuiTheme.js // < 1kb payload overhead when lodash/merge is > 3kb. function createMuiTheme() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var _options$breakpoints = options.breakpoints, breakpointsInput = _options$breakpoints === void 0 ? {} : _options$breakpoints, _options$mixins = options.mixins, mixinsInput = _options$mixins === void 0 ? {} : _options$mixins, _options$palette = options.palette, paletteInput = _options$palette === void 0 ? {} : _options$palette, shadowsInput = options.shadows, spacingInput = options.spacing, _options$typography = options.typography, typographyInput = _options$typography === void 0 ? {} : _options$typography, other = _objectWithoutProperties(options, ["breakpoints", "mixins", "palette", "shadows", "spacing", "typography"]); var palette = createPalette(paletteInput); var breakpoints = createBreakpoints(breakpointsInput); var spacing = createSpacing(spacingInput); var muiTheme = _extends({ breakpoints: breakpoints, direction: 'ltr', mixins: createMixins(breakpoints, spacing, mixinsInput), overrides: {}, // Inject custom styles palette: palette, props: {}, // Inject custom props shadows: shadowsInput || styles_shadows, typography: createTypography(palette, typographyInput), spacing: spacing }, cjs_default()({ shape: styles_shape, transitions: transitions, zIndex: styles_zIndex }, other, { isMergeableObject: isPlainObject })); if (false) { var traverse, pseudoClasses; } return muiTheme; } /* harmony default export */ var styles_createMuiTheme = (createMuiTheme); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/defaultTheme.js var defaultTheme_defaultTheme = styles_createMuiTheme(); /* harmony default export */ var styles_defaultTheme = (defaultTheme_defaultTheme); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/styles/withStyles.js function styles_withStyles_withStyles(stylesOrCreator, options) { return esm_withStyles_withStyles(stylesOrCreator, _extends({ defaultTheme: styles_defaultTheme }, options)); } /* harmony default export */ var styles_withStyles = (styles_withStyles_withStyles); // EXTERNAL MODULE: external {"commonjs":"react-dom","commonjs2":"react-dom","amd":"react-dom","root":"ReactDOM"} var external_commonjs_react_dom_commonjs2_react_dom_amd_react_dom_root_ReactDOM_ = __webpack_require__(4); var external_commonjs_react_dom_commonjs2_react_dom_amd_react_dom_root_ReactDOM_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_dom_commonjs2_react_dom_amd_react_dom_root_ReactDOM_); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/utils/reactHelpers.js function isMuiElement(element, muiNames) { return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1; } // TODO: Make it private only in v5 function setRef(ref, value) { if (typeof ref === 'function') { ref(value); } else if (ref) { ref.current = value; } } function useForkRef(refA, refB) { /** * This will create a new function if the ref props change and are defined. * This means react will call the old forkRef with `null` and the new forkRef * with the ref. Cleanup naturally emerges from this behavior */ return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useMemo(function () { if (refA == null && refB == null) { return null; } return function (refValue) { setRef(refA, refValue); setRef(refB, refValue); }; }, [refA, refB]); } // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/utils/useEventCallback.js var useEnhancedEffect = typeof window !== 'undefined' ? external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useLayoutEffect : external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useEffect; /** * https://github.com/facebook/react/issues/14099#issuecomment-440013892 * * @param {function} fn */ function useEventCallback(fn) { var ref = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(fn); useEnhancedEffect(function () { ref.current = fn; }); return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useCallback(function (event) { return (0, ref.current)(event); }, []); } // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/NoSsr/NoSsr.js var NoSsr_useEnhancedEffect = typeof window !== 'undefined' && "production" !== 'test' ? external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useLayoutEffect : external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useEffect; /** * NoSsr purposely removes components from the subject of Server Side Rendering (SSR). * * This component can be useful in a variety of situations: * - Escape hatch for broken dependencies not supporting SSR. * - Improve the time-to-first paint on the client by only rendering above the fold. * - Reduce the rendering time on the server. * - Under too heavy server load, you can turn on service degradation. */ function NoSsr(props) { var children = props.children, _props$defer = props.defer, defer = _props$defer === void 0 ? false : _props$defer, _props$fallback = props.fallback, fallback = _props$fallback === void 0 ? null : _props$fallback; var _React$useState = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useState(false), mountedState = _React$useState[0], setMountedState = _React$useState[1]; NoSsr_useEnhancedEffect(function () { if (!defer) { setMountedState(true); } }, [defer]); external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useEffect(function () { if (defer) { setMountedState(true); } }, [defer]); // We need the Fragment here to force react-docgen to recognise NoSsr as a component. return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.Fragment, null, mountedState ? children : fallback); } false ? undefined : void 0; if (false) {} /* harmony default export */ var NoSsr_NoSsr = (NoSsr); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/utils/focusVisible.js // based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js var hadKeyboardEvent = true; var hadFocusVisibleRecently = false; var hadFocusVisibleRecentlyTimeout = null; var 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 }; /** * Computes whether the given element should automatically trigger the * `focus-visible` class being added, i.e. whether it should always match * `:focus-visible` when focused. * @param {Element} node * @return {boolean} */ function focusTriggersKeyboardModality(node) { var type = node.type, tagName = node.tagName; if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) { return true; } if (tagName === 'TEXTAREA' && !node.readOnly) { return true; } if (node.isContentEditable) { return true; } return false; } function focusVisible_handleKeyDown() { hadKeyboardEvent = true; } /** * If at any point a user clicks with a pointing device, ensure that we change * the modality away from keyboard. * This avoids the situation where a user presses a key on an already focused * element, and then clicks on a different element, focusing it with a * pointing device, while we still think we're in keyboard modality. * @param {Event} e */ function handlePointerDown() { hadKeyboardEvent = false; } function handleVisibilityChange() { if (this.visibilityState === 'hidden') { // If the tab becomes active again, the browser will handle calling focus // on the element (Safari actually calls it twice). // If this tab change caused a blur on an element with focus-visible, // re-apply the class when the user switches back to the tab. if (hadFocusVisibleRecently) { hadKeyboardEvent = true; } } } function prepare(ownerDocument) { ownerDocument.addEventListener('keydown', focusVisible_handleKeyDown, true); ownerDocument.addEventListener('mousedown', handlePointerDown, true); ownerDocument.addEventListener('pointerdown', handlePointerDown, true); ownerDocument.addEventListener('touchstart', handlePointerDown, true); ownerDocument.addEventListener('visibilitychange', handleVisibilityChange, true); } function teardown(ownerDocument) { ownerDocument.removeEventListener('keydown', focusVisible_handleKeyDown, true); ownerDocument.removeEventListener('mousedown', handlePointerDown, true); ownerDocument.removeEventListener('pointerdown', handlePointerDown, true); ownerDocument.removeEventListener('touchstart', handlePointerDown, true); ownerDocument.removeEventListener('visibilitychange', handleVisibilityChange, true); } function focusVisible_isFocusVisible(event) { var target = event.target; try { return target.matches(':focus-visible'); } catch (error) {} // browsers not implementing :focus-visible will throw a SyntaxError // we use our own heuristic for those browsers // rethrow might be better if it's not the expected error but do we really // want to crash if focus-visible malfunctioned? // no need for validFocusTarget check. the user does that by attaching it to // focusable events only return hadKeyboardEvent || focusTriggersKeyboardModality(target); } /** * Should be called if a blur event is fired on a focus-visible element */ function handleBlurVisible() { // To detect a tab/window switch, we look for a blur event followed // rapidly by a visibility change. // If we don't see a visibility change within 100ms, it's probably a // regular focus change. hadFocusVisibleRecently = true; window.clearTimeout(hadFocusVisibleRecentlyTimeout); hadFocusVisibleRecentlyTimeout = window.setTimeout(function () { hadFocusVisibleRecently = false; window.clearTimeout(hadFocusVisibleRecentlyTimeout); }, 100); } function useIsFocusVisible() { var ref = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useCallback(function (instance) { var node = external_commonjs_react_dom_commonjs2_react_dom_amd_react_dom_root_ReactDOM_default.a.findDOMNode(instance); if (node != null) { prepare(node.ownerDocument); } }, []); return { isFocusVisible: focusVisible_isFocusVisible, onBlurVisible: handleBlurVisible, ref: ref }; } // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/TransitionGroupContext.js /* harmony default export */ var TransitionGroupContext = (external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createContext(null)); // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/utils/ChildMapping.js /** * Given `this.props.children`, return an object mapping key to child. * * @param {*} children `this.props.children` * @return {object} Mapping of key to child */ function getChildMapping(children, mapFn) { var mapper = function mapper(child) { return mapFn && Object(external_commonjs_react_commonjs2_react_amd_react_root_React_["isValidElement"])(child) ? mapFn(child) : child; }; var result = Object.create(null); if (children) external_commonjs_react_commonjs2_react_amd_react_root_React_["Children"].map(children, function (c) { return c; }).forEach(function (child) { // run the map function here instead so that the key is the computed one result[child.key] = mapper(child); }); return result; } /** * When you're adding or removing children some may be added or removed in the * same render pass. We want to show *both* since we want to simultaneously * animate elements in and out. This function takes a previous set of keys * and a new set of keys and merges them with its best guess of the correct * ordering. In the future we may expose some of the utilities in * ReactMultiChild to make this easy, but for now React itself does not * directly have this concept of the union of prevChildren and nextChildren * so we implement it here. * * @param {object} prev prev children as returned from * `ReactTransitionChildMapping.getChildMapping()`. * @param {object} next next children as returned from * `ReactTransitionChildMapping.getChildMapping()`. * @return {object} a key set that contains all keys in `prev` and all keys * in `next` in a reasonable order. */ function mergeChildMappings(prev, next) { prev = prev || {}; next = next || {}; function getValueForKey(key) { return key in next ? next[key] : prev[key]; } // For each key of `next`, the list of keys to insert before that key in // the combined list var nextKeysPending = Object.create(null); var pendingKeys = []; for (var prevKey in prev) { if (prevKey in next) { if (pendingKeys.length) { nextKeysPending[prevKey] = pendingKeys; pendingKeys = []; } } else { pendingKeys.push(prevKey); } } var i; var childMapping = {}; for (var nextKey in next) { 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); } // Finally, add the keys which didn't appear before any key in `next` 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 Object(external_commonjs_react_commonjs2_react_amd_react_root_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 (!Object(external_commonjs_react_commonjs2_react_amd_react_root_React_["isValidElement"])(child)) return; var hasPrev = key in prevChildMapping; var hasNext = key in nextChildMapping; var prevChild = prevChildMapping[key]; var isLeaving = Object(external_commonjs_react_commonjs2_react_amd_react_root_React_["isValidElement"])(prevChild) && !prevChild.props.in; // item is new (entering) if (hasNext && (!hasPrev || isLeaving)) { // console.log('entering', key) children[key] = Object(external_commonjs_react_commonjs2_react_amd_react_root_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) { // item is old (exiting) // console.log('leaving', key) children[key] = Object(external_commonjs_react_commonjs2_react_amd_react_root_React_["cloneElement"])(child, { in: false }); } else if (hasNext && hasPrev && Object(external_commonjs_react_commonjs2_react_amd_react_root_React_["isValidElement"])(prevChild)) { // item hasn't changed transition states // copy over the last transition props; // console.log('unchanged', key) children[key] = Object(external_commonjs_react_commonjs2_react_amd_react_root_React_["cloneElement"])(child, { onExited: onExited.bind(null, child), in: prevChild.props.in, exit: getProp(child, 'exit', nextProps), enter: getProp(child, 'enter', nextProps) }); } }); return children; } // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/TransitionGroup.js var TransitionGroup_values = Object.values || function (obj) { return Object.keys(obj).map(function (k) { return obj[k]; }); }; var defaultProps = { component: 'div', childFactory: function childFactory(child) { return child; } /** * The `<TransitionGroup>` component manages a set of transition components * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition * components, `<TransitionGroup>` is a state machine for managing the mounting * and unmounting of components over time. * * Consider the example below. As items are removed or added to the TodoList the * `in` prop is toggled automatically by the `<TransitionGroup>`. * * Note that `<TransitionGroup>` does not define any animation behavior! * Exactly _how_ a list item animates is up to the individual transition * component. This means you can mix and match animations across different list * items. */ }; var TransitionGroup_TransitionGroup = /*#__PURE__*/ function (_React$Component) { _inheritsLoose(TransitionGroup, _React$Component); function TransitionGroup(props, context) { var _this; _this = _React$Component.call(this, props, context) || this; var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear _this.state = { contextValue: { isMounting: true }, handleExited: handleExited, firstRender: true }; return _this; } var _proto = TransitionGroup.prototype; _proto.componentDidMount = function componentDidMount() { this.mounted = true; this.setState({ contextValue: { isMounting: false } }); }; _proto.componentWillUnmount = function componentWillUnmount() { this.mounted = false; }; TransitionGroup.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, node) { var currentChildMapping = getChildMapping(this.props.children); if (child.key in currentChildMapping) return; if (child.props.onExited) { child.props.onExited(node); } if (this.mounted) { this.setState(function (state) { var children = _extends({}, state.children); delete children[child.key]; return { children: children }; }); } }; _proto.render = function render() { var _this$props = this.props, Component = _this$props.component, childFactory = _this$props.childFactory, props = _objectWithoutPropertiesLoose(_this$props, ["component", "childFactory"]); var contextValue = this.state.contextValue; var children = TransitionGroup_values(this.state.children).map(childFactory); delete props.appear; delete props.enter; delete props.exit; if (Component === null) { return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(TransitionGroupContext.Provider, { value: contextValue }, children); } return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(TransitionGroupContext.Provider, { value: contextValue }, external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(Component, props, children)); }; return TransitionGroup; }(external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.Component); TransitionGroup_TransitionGroup.propTypes = false ? undefined : {}; TransitionGroup_TransitionGroup.defaultProps = defaultProps; /* harmony default export */ var esm_TransitionGroup = (TransitionGroup_TransitionGroup); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js var Ripple_useEnhancedEffect = typeof window === 'undefined' ? external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useEffect : external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useLayoutEffect; /** * @ignore - internal component. */ function Ripple(props) { var classes = props.classes, _props$pulsate = props.pulsate, pulsate = _props$pulsate === void 0 ? false : _props$pulsate, rippleX = props.rippleX, rippleY = props.rippleY, rippleSize = props.rippleSize, inProp = props.in, _props$onExited = props.onExited, onExited = _props$onExited === void 0 ? function () {} : _props$onExited, timeout = props.timeout; var _React$useState = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useState(false), leaving = _React$useState[0], setLeaving = _React$useState[1]; var rippleClassName = clsx_m(classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate); var rippleStyles = { width: rippleSize, height: rippleSize, top: -(rippleSize / 2) + rippleY, left: -(rippleSize / 2) + rippleX }; var childClassName = clsx_m(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate); var handleExited = useEventCallback(onExited); // Ripple is used for user feedback (e.g. click or press) so we want to apply styles with the highest priority Ripple_useEnhancedEffect(function () { if (!inProp) { // react-transition-group#onExit setLeaving(true); // react-transition-group#onExited var timeoutId = setTimeout(handleExited, timeout); return function () { clearTimeout(timeoutId); }; } return undefined; }, [handleExited, inProp, timeout]); return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement("span", { className: rippleClassName, style: rippleStyles }, external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement("span", { className: childClassName })); } false ? undefined : void 0; /* harmony default export */ var ButtonBase_Ripple = (Ripple); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js var DURATION = 550; var DELAY_RIPPLE = 80; var TouchRipple_styles = function styles(theme) { return { /* Styles applied to the root element. */ root: { overflow: 'hidden', pointerEvents: 'none', position: 'absolute', zIndex: 0, top: 0, right: 0, bottom: 0, left: 0, borderRadius: 'inherit' }, /* Styles applied to the internal `Ripple` components `ripple` class. */ ripple: { opacity: 0, position: 'absolute' }, /* Styles applied to the internal `Ripple` components `rippleVisible` class. */ rippleVisible: { opacity: 0.3, transform: 'scale(1)', animation: "$enter ".concat(DURATION, "ms ").concat(theme.transitions.easing.easeInOut) }, /* Styles applied to the internal `Ripple` components `ripplePulsate` class. */ ripplePulsate: { animationDuration: "".concat(theme.transitions.duration.shorter, "ms") }, /* Styles applied to the internal `Ripple` components `child` class. */ child: { opacity: 1, display: 'block', width: '100%', height: '100%', borderRadius: '50%', backgroundColor: 'currentColor' }, /* Styles applied to the internal `Ripple` components `childLeaving` class. */ childLeaving: { opacity: 0, animation: "$exit ".concat(DURATION, "ms ").concat(theme.transitions.easing.easeInOut) }, /* Styles applied to the internal `Ripple` components `childPulsate` class. */ childPulsate: { position: 'absolute', left: 0, top: 0, animation: "$pulsate 2500ms ".concat(theme.transitions.easing.easeInOut, " 200ms infinite") }, '@keyframes enter': { '0%': { transform: 'scale(0)', opacity: 0.1 }, '100%': { transform: 'scale(1)', opacity: 0.3 } }, '@keyframes exit': { '0%': { opacity: 1 }, '100%': { opacity: 0 } }, '@keyframes pulsate': { '0%': { transform: 'scale(1)' }, '50%': { transform: 'scale(0.92)' }, '100%': { transform: 'scale(1)' } } }; }; // TODO v5: Make private var TouchRipple_TouchRipple = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.forwardRef(function TouchRipple(props, ref) { var _props$center = props.center, centerProp = _props$center === void 0 ? false : _props$center, classes = props.classes, className = props.className, other = _objectWithoutProperties(props, ["center", "classes", "className"]); var _React$useState = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useState([]), ripples = _React$useState[0], setRipples = _React$useState[1]; var nextKey = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(0); var rippleCallback = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(null); external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useEffect(function () { if (rippleCallback.current) { rippleCallback.current(); rippleCallback.current = null; } }, [ripples]); // Used to filter out mouse emulated events on mobile. var ignoringMouseDown = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(false); // We use a timer in order to only show the ripples for touch "click" like events. // We don't want to display the ripple for touch scroll events. var startTimer = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(null); // This is the hook called once the previous timeout is ready. var startTimerCommit = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(null); var container = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(null); external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useEffect(function () { return function () { clearTimeout(startTimer.current); }; }, []); var startCommit = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useCallback(function (params) { var pulsate = params.pulsate, rippleX = params.rippleX, rippleY = params.rippleY, rippleSize = params.rippleSize, cb = params.cb; setRipples(function (oldRipples) { return [].concat(_toConsumableArray(oldRipples), [external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(ButtonBase_Ripple, { key: nextKey.current, classes: classes, timeout: DURATION, pulsate: pulsate, rippleX: rippleX, rippleY: rippleY, rippleSize: rippleSize })]); }); nextKey.current += 1; rippleCallback.current = cb; }, [classes]); var start = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useCallback(function () { var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var cb = arguments.length > 2 ? arguments[2] : undefined; var _options$pulsate = options.pulsate, pulsate = _options$pulsate === void 0 ? false : _options$pulsate, _options$center = options.center, center = _options$center === void 0 ? centerProp || options.pulsate : _options$center, _options$fakeElement = options.fakeElement, fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement; if (event.type === 'mousedown' && ignoringMouseDown.current) { ignoringMouseDown.current = false; return; } if (event.type === 'touchstart') { ignoringMouseDown.current = true; } var element = fakeElement ? null : container.current; var rect = element ? element.getBoundingClientRect() : { width: 0, height: 0, left: 0, top: 0 }; // Get the size of the ripple var rippleX; var rippleY; var rippleSize; if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) { rippleX = Math.round(rect.width / 2); rippleY = Math.round(rect.height / 2); } else { var clientX = event.clientX ? event.clientX : event.touches[0].clientX; var clientY = event.clientY ? event.clientY : event.touches[0].clientY; rippleX = Math.round(clientX - rect.left); rippleY = Math.round(clientY - rect.top); } if (center) { rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even. if (rippleSize % 2 === 0) { rippleSize += 1; } } else { var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2; var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2; rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2)); } // Touche devices if (event.touches) { // Prepare the ripple effect. startTimerCommit.current = function () { startCommit({ pulsate: pulsate, rippleX: rippleX, rippleY: rippleY, rippleSize: rippleSize, cb: cb }); }; // Delay the execution of the ripple effect. startTimer.current = setTimeout(function () { if (startTimerCommit.current) { startTimerCommit.current(); startTimerCommit.current = null; } }, DELAY_RIPPLE); // We have to make a tradeoff with this value. } else { startCommit({ pulsate: pulsate, rippleX: rippleX, rippleY: rippleY, rippleSize: rippleSize, cb: cb }); } }, [centerProp, startCommit]); var pulsate = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useCallback(function () { start({}, { pulsate: true }); }, [start]); var stop = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useCallback(function (event, cb) { clearTimeout(startTimer.current); // The touch interaction occurs too quickly. // We still want to show ripple effect. if (event.type === 'touchend' && startTimerCommit.current) { event.persist(); startTimerCommit.current(); startTimerCommit.current = null; startTimer.current = setTimeout(function () { stop(event, cb); }); return; } startTimerCommit.current = null; setRipples(function (oldRipples) { if (oldRipples.length > 0) { return oldRipples.slice(1); } return oldRipples; }); rippleCallback.current = cb; }, []); external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useImperativeHandle(ref, function () { return { pulsate: pulsate, start: start, stop: stop }; }, [pulsate, start, stop]); return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement("span", _extends({ className: clsx_m(classes.root, className), ref: container }, other), external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(esm_TransitionGroup, { component: null, exit: true }, ripples)); }); // TODO cleanup after https://github.com/reactjs/react-docgen/pull/378 is released function withMuiName(Component) { Component.muiName = 'MuiTouchRipple'; return Component; } false ? undefined : void 0; /* harmony default export */ var ButtonBase_TouchRipple = (styles_withStyles(TouchRipple_styles, { flip: false, name: 'MuiTouchRipple' })(withMuiName(external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.memo(TouchRipple_TouchRipple)))); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js var ButtonBase_styles = { /* Styles applied to the root element. */ root: { display: 'inline-flex', alignItems: 'center', justifyContent: 'center', position: 'relative', // Remove grey highlight 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', '-moz-appearance': 'none', // Reset '-webkit-appearance': '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. }, '&$disabled': { pointerEvents: 'none', // Disable link interactions cursor: 'default' } }, /* Pseudo-class applied to the root element if `disabled={true}`. */ disabled: {}, /* Pseudo-class applied to the root element if keyboard focused. */ focusVisible: {} }; /** * `ButtonBase` contains as few styles as possible. * It aims to be a simple building block for creating a button. * It contains a load of style reset and some focus/ripple logic. */ var ButtonBase_ButtonBase = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.forwardRef(function ButtonBase(props, ref) { var action = props.action, buttonRefProp = props.buttonRef, _props$centerRipple = props.centerRipple, centerRipple = _props$centerRipple === void 0 ? false : _props$centerRipple, children = props.children, classes = props.classes, className = props.className, _props$component = props.component, component = _props$component === void 0 ? 'button' : _props$component, _props$disabled = props.disabled, disabled = _props$disabled === void 0 ? false : _props$disabled, _props$disableRipple = props.disableRipple, disableRipple = _props$disableRipple === void 0 ? false : _props$disableRipple, _props$disableTouchRi = props.disableTouchRipple, disableTouchRipple = _props$disableTouchRi === void 0 ? false : _props$disableTouchRi, _props$focusRipple = props.focusRipple, focusRipple = _props$focusRipple === void 0 ? false : _props$focusRipple, focusVisibleClassName = props.focusVisibleClassName, onBlur = props.onBlur, onClick = props.onClick, onFocus = props.onFocus, onFocusVisible = props.onFocusVisible, onKeyDown = props.onKeyDown, onKeyUp = props.onKeyUp, onMouseDown = props.onMouseDown, onMouseLeave = props.onMouseLeave, onMouseUp = props.onMouseUp, onTouchEnd = props.onTouchEnd, onTouchMove = props.onTouchMove, onTouchStart = props.onTouchStart, onDragLeave = props.onDragLeave, _props$tabIndex = props.tabIndex, tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex, TouchRippleProps = props.TouchRippleProps, _props$type = props.type, type = _props$type === void 0 ? 'button' : _props$type, other = _objectWithoutProperties(props, ["action", "buttonRef", "centerRipple", "children", "classes", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "onBlur", "onClick", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "onDragLeave", "tabIndex", "TouchRippleProps", "type"]); var buttonRef = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(null); function getButtonNode() { // #StrictMode ready return external_commonjs_react_dom_commonjs2_react_dom_amd_react_dom_root_ReactDOM_default.a.findDOMNode(buttonRef.current); } var rippleRef = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(null); var _React$useState = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useState(false), focusVisible = _React$useState[0], setFocusVisible = _React$useState[1]; if (disabled && focusVisible) { setFocusVisible(false); } var _useIsFocusVisible = useIsFocusVisible(), isFocusVisible = _useIsFocusVisible.isFocusVisible, onBlurVisible = _useIsFocusVisible.onBlurVisible, focusVisibleRef = _useIsFocusVisible.ref; external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useImperativeHandle(action, function () { return { focusVisible: function focusVisible() { setFocusVisible(true); buttonRef.current.focus(); } }; }, []); external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useEffect(function () { if (focusVisible && focusRipple && !disableRipple) { rippleRef.current.pulsate(); } }, [disableRipple, focusRipple, focusVisible]); function useRippleHandler(rippleAction, eventCallback) { var skipRippleAction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : disableTouchRipple; return useEventCallback(function (event) { if (eventCallback) { eventCallback(event); } var ignore = event.defaultPrevented || skipRippleAction; if (!ignore && rippleRef.current) { rippleRef.current[rippleAction](event); } return true; }); } var handleMouseDown = useRippleHandler('start', onMouseDown); var handleDragLeave = useRippleHandler('stop', onDragLeave); var handleMouseUp = useRippleHandler('stop', onMouseUp); var handleMouseLeave = useRippleHandler('stop', function (event) { if (focusVisible) { event.preventDefault(); } if (onMouseLeave) { onMouseLeave(event); } }); var handleTouchStart = useRippleHandler('start', onTouchStart); var handleTouchEnd = useRippleHandler('stop', onTouchEnd); var handleTouchMove = useRippleHandler('stop', onTouchMove); var handleBlur = useRippleHandler('stop', function (event) { if (focusVisible) { onBlurVisible(event); setFocusVisible(false); } if (onBlur) { onBlur(event); } }, false); var handleFocus = useEventCallback(function (event) { if (disabled) { return; } // Fix for https://github.com/facebook/react/issues/7769 if (!buttonRef.current) { buttonRef.current = event.currentTarget; } if (isFocusVisible(event)) { setFocusVisible(true); if (onFocusVisible) { onFocusVisible(event); } } if (onFocus) { onFocus(event); } }); /** * IE 11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat */ var keydownRef = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.useRef(false); var handleKeyDown = useEventCallback(function (event) { // Check if key is already down to avoid repeats being counted as multiple activations if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') { keydownRef.current = true; event.persist(); rippleRef.current.stop(event, function () { rippleRef.current.start(event); }); } if (onKeyDown) { onKeyDown(event); } var button = getButtonNode(); // Keyboard accessibility for non interactive elements if (event.target === event.currentTarget && component && component !== 'button' && (event.key === ' ' || event.key === 'Enter') && !(button.tagName === 'A' && button.href)) { event.preventDefault(); if (onClick) { onClick(event); } } }); var handleKeyUp = useEventCallback(function (event) { if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible) { keydownRef.current = false; event.persist(); rippleRef.current.stop(event, function () { rippleRef.current.pulsate(event); }); } if (onKeyUp) { onKeyUp(event); } }); var ComponentProp = component; if (ComponentProp === 'button' && other.href) { ComponentProp = 'a'; } var buttonProps = {}; if (ComponentProp === 'button') { buttonProps.type = type; buttonProps.disabled = disabled; } else { if (ComponentProp !== 'a' || !other.href) { buttonProps.role = 'button'; } buttonProps['aria-disabled'] = disabled; } var handleUserRef = useForkRef(buttonRefProp, ref); var handleOwnRef = useForkRef(focusVisibleRef, buttonRef); var handleRef = useForkRef(handleUserRef, handleOwnRef); return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(ComponentProp, _extends({ className: clsx_m(classes.root, className, focusVisible && [classes.focusVisible, focusVisibleClassName], disabled && classes.disabled), onBlur: handleBlur, onClick: onClick, onFocus: handleFocus, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, onMouseDown: handleMouseDown, onMouseLeave: handleMouseLeave, onMouseUp: handleMouseUp, onDragLeave: handleDragLeave, onTouchEnd: handleTouchEnd, onTouchMove: handleTouchMove, onTouchStart: handleTouchStart, ref: handleRef, tabIndex: disabled ? -1 : tabIndex }, buttonProps, other), children, !disableRipple && !disabled ? external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(NoSsr_NoSsr, null, external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(ButtonBase_TouchRipple, _extends({ ref: rippleRef, center: centerRipple }, TouchRippleProps))) : null); }); false ? undefined : void 0; /* harmony default export */ var esm_ButtonBase_ButtonBase = (styles_withStyles(ButtonBase_styles, { name: 'MuiButtonBase' })(ButtonBase_ButtonBase)); // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/utils/helpers.js // It should to be noted that this function isn't equivalent to `text-transform: capitalize`. // // A strict capitalization should uppercase the first letter of each word a the sentence. // We only handle the first word. function capitalize(string) { if (false) {} return string.charAt(0).toUpperCase() + string.slice(1); } /** * Safe chained function * * Will only create a new function if needed, * otherwise will pass back existing functions or null. * * @param {function} functions to chain * @returns {function|null} */ function createChainedFunction() { for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } return funcs.reduce(function (acc, func) { if (func == null) { return acc; } if (false) {} return function chainedFunction() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } acc.apply(this, args); func.apply(this, args); }; }, function () {}); } // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/Button/Button.js var Button_styles = function styles(theme) { return { /* Styles applied to the root element. */ root: _extends({}, theme.typography.button, { boxSizing: 'border-box', minWidth: 64, padding: '6px 16px', borderRadius: theme.shape.borderRadius, color: theme.palette.text.primary, transition: theme.transitions.create(['background-color', 'box-shadow', 'border'], { duration: theme.transitions.duration.short }), '&:hover': { textDecoration: 'none', backgroundColor: fade(theme.palette.text.primary, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' }, '&$disabled': { backgroundColor: 'transparent' } }, '&$disabled': { color: theme.palette.action.disabled } }), /* Styles applied to the span element that wraps the children. */ label: { width: '100%', // Ensure the correct width for iOS Safari display: 'inherit', alignItems: 'inherit', justifyContent: 'inherit' }, /* Styles applied to the root element if `variant="text"`. */ text: { padding: '6px 8px' }, /* Styles applied to the root element if `variant="text"` and `color="primary"`. */ textPrimary: { color: theme.palette.primary.main, '&:hover': { backgroundColor: fade(theme.palette.primary.main, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } } }, /* Styles applied to the root element if `variant="text"` and `color="secondary"`. */ textSecondary: { color: theme.palette.secondary.main, '&:hover': { backgroundColor: fade(theme.palette.secondary.main, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } } }, /* Styles applied to the root element if `variant="outlined"`. */ outlined: { padding: '5px 15px', border: "1px solid ".concat(theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'), '&$disabled': { border: "1px solid ".concat(theme.palette.action.disabled) } }, /* Styles applied to the root element if `variant="outlined"` and `color="primary"`. */ outlinedPrimary: { color: theme.palette.primary.main, border: "1px solid ".concat(fade(theme.palette.primary.main, 0.5)), '&:hover': { border: "1px solid ".concat(theme.palette.primary.main), backgroundColor: fade(theme.palette.primary.main, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } } }, /* Styles applied to the root element if `variant="outlined"` and `color="secondary"`. */ outlinedSecondary: { color: theme.palette.secondary.main, border: "1px solid ".concat(fade(theme.palette.secondary.main, 0.5)), '&:hover': { border: "1px solid ".concat(theme.palette.secondary.main), backgroundColor: fade(theme.palette.secondary.main, theme.palette.action.hoverOpacity), // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: 'transparent' } }, '&$disabled': { border: "1px solid ".concat(theme.palette.action.disabled) } }, /* Styles applied to the root element if `variant="contained"`. */ contained: { color: theme.palette.getContrastText(theme.palette.grey[300]), backgroundColor: theme.palette.grey[300], boxShadow: theme.shadows[2], '&:hover': { backgroundColor: theme.palette.grey.A100, boxShadow: theme.shadows[4], // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { boxShadow: theme.shadows[2], backgroundColor: theme.palette.grey[300] }, '&$disabled': { backgroundColor: theme.palette.action.disabledBackground } }, '&$focusVisible': { boxShadow: theme.shadows[6] }, '&:active': { boxShadow: theme.shadows[8] }, '&$disabled': { color: theme.palette.action.disabled, boxShadow: theme.shadows[0], backgroundColor: theme.palette.action.disabledBackground } }, /* Styles applied to the root element if `variant="contained"` and `color="primary"`. */ containedPrimary: { color: theme.palette.primary.contrastText, backgroundColor: theme.palette.primary.main, '&:hover': { backgroundColor: theme.palette.primary.dark, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: theme.palette.primary.main } } }, /* Styles applied to the root element if `variant="contained"` and `color="secondary"`. */ containedSecondary: { color: theme.palette.secondary.contrastText, backgroundColor: theme.palette.secondary.main, '&:hover': { backgroundColor: theme.palette.secondary.dark, // Reset on touch devices, it doesn't add specificity '@media (hover: none)': { backgroundColor: theme.palette.secondary.main } } }, /* Pseudo-class applied to the ButtonBase root element if the button is keyboard focused. */ focusVisible: {}, /* Pseudo-class applied to the root element if `disabled={true}`. */ disabled: {}, /* Styles applied to the root element if `color="inherit"`. */ colorInherit: { color: 'inherit', borderColor: 'currentColor' }, /* Styles applied to the root element if `size="small"` and `variant="text"`. */ textSizeSmall: { padding: '4px 5px', fontSize: theme.typography.pxToRem(13) }, /* Styles applied to the root element if `size="large"` and `variant="text"`. */ textSizeLarge: { padding: '8px 11px', fontSize: theme.typography.pxToRem(15) }, /* Styles applied to the root element if `size="small"` and `variant="outlined"`. */ outlinedSizeSmall: { padding: '3px 9px', fontSize: theme.typography.pxToRem(13) }, /* Styles applied to the root element if `size="large" && variant="outlined"`. */ outlinedSizeLarge: { padding: '7px 21px', fontSize: theme.typography.pxToRem(15) }, /* Styles applied to the root element if `size="small" && variant="contained"`. */ containedSizeSmall: { padding: '4px 10px', fontSize: theme.typography.pxToRem(13) }, /* Styles applied to the root element if `size="large" && && variant="contained"`. */ containedSizeLarge: { padding: '8px 22px', fontSize: theme.typography.pxToRem(15) }, /* Styles applied to the root element if `size="small"`. */ sizeSmall: {}, /* Styles applied to the root element if `size="large"`. */ sizeLarge: {}, /* Styles applied to the root element if `fullWidth={true}`. */ fullWidth: { width: '100%' }, /* Styles applied to the startIcon element if supplied. */ startIcon: { display: 'inherit', marginRight: 8, marginLeft: -4 }, /* Styles applied to the endIcon element if supplied. */ endIcon: { display: 'inherit', marginRight: -4, marginLeft: 8 }, /* Styles applied to the icon element if supplied and `size="small"`. */ iconSizeSmall: { '& > *:first-child': { fontSize: 18 } }, /* Styles applied to the icon element if supplied and `size="medium"`. */ iconSizeMedium: { '& > *:first-child': { fontSize: 20 } }, /* Styles applied to the icon element if supplied and `size="large"`. */ iconSizeLarge: { '& > *:first-child': { fontSize: 22 } } }; }; var Button_Button = external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.forwardRef(function Button(props, ref) { var children = props.children, classes = props.classes, className = props.className, _props$color = props.color, color = _props$color === void 0 ? 'default' : _props$color, _props$component = props.component, component = _props$component === void 0 ? 'button' : _props$component, _props$disabled = props.disabled, disabled = _props$disabled === void 0 ? false : _props$disabled, _props$disableFocusRi = props.disableFocusRipple, disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi, endIconProp = props.endIcon, focusVisibleClassName = props.focusVisibleClassName, _props$fullWidth = props.fullWidth, fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth, _props$size = props.size, size = _props$size === void 0 ? 'medium' : _props$size, startIconProp = props.startIcon, _props$type = props.type, type = _props$type === void 0 ? 'button' : _props$type, _props$variant = props.variant, variant = _props$variant === void 0 ? 'text' : _props$variant, other = _objectWithoutProperties(props, ["children", "classes", "className", "color", "component", "disabled", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"]); var startIcon = startIconProp && external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement("span", { className: clsx_m(classes.startIcon, classes["iconSize".concat(capitalize(size))]) }, startIconProp); var endIcon = endIconProp && external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement("span", { className: clsx_m(classes.endIcon, classes["iconSize".concat(capitalize(size))]) }, endIconProp); return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(esm_ButtonBase_ButtonBase, _extends({ className: clsx_m(classes.root, classes[variant], classes["".concat(variant).concat(color !== 'default' && color !== 'inherit' ? capitalize(color) : '')], className, size !== 'medium' && [classes["".concat(variant, "Size").concat(capitalize(size))], classes["size".concat(capitalize(size))]], disabled && classes.disabled, fullWidth && classes.fullWidth, { inherit: classes.colorInherit }[color]), component: component, disabled: disabled, focusRipple: !disableFocusRipple, focusVisibleClassName: clsx_m(classes.focusVisible, focusVisibleClassName), ref: ref, type: type }, other), external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement("span", { className: classes.label }, startIcon, children, endIcon)); }); false ? undefined : void 0; /* harmony default export */ var esm_Button_Button = (styles_withStyles(Button_styles, { name: 'MuiButton' })(Button_Button)); // CONCATENATED MODULE: ./src/components/TacButton/TacButton.js function TacButton_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = TacButton_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function TacButton_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 TacButton(_ref) { var children = _ref.children, rest = TacButton_objectWithoutProperties(_ref, ["children"]); return external_commonjs_react_commonjs2_react_amd_react_root_React_default.a.createElement(esm_Button_Button, rest, children); } // CONCATENATED MODULE: ./src/components/TacButton/index.js // CONCATENATED MODULE: ./src/index.js /* concated harmony reexport TacButton */__webpack_require__.d(__webpack_exports__, "TacButton", function() { return TacButton; }); /***/ }) /******/ ]); });