diff --git a/favicon.ico b/favicon.ico index 6b3998d7f..cc6cd7522 100644 Binary files a/favicon.ico and b/favicon.ico differ diff --git a/index.html b/index.html index 55812a0d7..f86f38d5f 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Webpack App
+Webpack App
\ No newline at end of file diff --git a/main.js b/main.js new file mode 100644 index 000000000..b0fa7b132 --- /dev/null +++ b/main.js @@ -0,0 +1,5249 @@ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ 418: +/***/ ((module) => { + +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + + +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + + +/***/ }), + +/***/ 448: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +var __webpack_unused_export__; +/** @license React v17.0.2 + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/* + Modernizr 3.0.0pre (Custom Build) | MIT +*/ +var aa=__webpack_require__(294),m=__webpack_require__(418),r=__webpack_require__(840);function y(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={}; +"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)}); +["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)}); +["checked","multiple","muted","selected"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()} +"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(oa, +pa);D[b]=new B(b,1,!1,a,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)}); +D.xlinkHref=new B("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)}); +function qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return"\n"+e[g].replace(" at new "," at ");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:"")?Na(a):""} +function Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na("Lazy");case 13:return Na("Suspense");case 19:return Na("SuspenseList");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return""}} +function Ra(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case ua:return"Fragment";case ta:return"Portal";case xa:return"Profiler";case wa:return"StrictMode";case Ba:return"Suspense";case Ca:return"SuspenseList"}if("object"===typeof a)switch(a.$$typeof){case za:return(a.displayName||"Context")+".Consumer";case ya:return(a._context.displayName||"Context")+".Provider";case Aa:var b=a.render;b=b.displayName||b.name||""; +return a.displayName||(""!==b?"ForwardRef("+b+")":"ForwardRef");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case "boolean":case "number":case "object":case "string":case "undefined":return a;default:return""}}function Ta(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b)} +function Ua(a){var b=Ta(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker= +null;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=Ta(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}} +function Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,"checked",b,!1)} +function ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if("number"===d){if(0===c&&""===a.value||a.value!=c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);else if("submit"===d||"reset"===d){a.removeAttribute("value");return}b.hasOwnProperty("value")?bb(a,b.type,c):b.hasOwnProperty("defaultValue")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)} +function cb(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=b.type;if(!("submit"!==d&&"reset"!==d||void 0!==b.value&&null!==b.value))return;b=""+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;""!==c&&(a.name="");a.defaultChecked=!!a._wrapperState.initialChecked;""!==c&&(a.name=c)} +function bb(a,b,c){if("number"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c)}function db(a){var b="";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a} +function fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b="");c=b}a._wrapperState={initialValue:Sa(c)}} +function ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=""+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&""!==b&&null!==b&&(a.value=b)}var kb={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"}; +function lb(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function mb(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?lb(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":a} +var nb,ob=function(a){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||"innerHTML"in a)a.innerHTML=b;else{nb=nb||document.createElement("div");nb.innerHTML=""+b.valueOf().toString()+"";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}}); +function pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b} +var qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0, +floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=["Webkit","ms","Moz","O"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||"boolean"===typeof b||""===b?"":c||"number"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(""+b).trim():b+"px"} +function tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf("--"),e=sb(c,b[c],d);"float"===c&&(c="cssFloat");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}); +function vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!("object"===typeof b.dangerouslySetInnerHTML&&"__html"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&"object"!==typeof b.style)throw Error(y(62));}} +function wb(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;switch(a){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null; +function Bb(a){if(a=Cb(a)){if("function"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b} +function $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))} +function hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1; +function ge(a,b){switch(a){case "keyup":return-1!==$d.indexOf(b.keyCode);case "keydown":return 229!==b.keyCode;case "keypress":case "mousedown":case "focusout":return!0;default:return!1}}function he(a){a=a.detail;return"object"===typeof a&&"data"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case "compositionend":return he(b);case "keypress":if(32!==b.which)return null;fe=!0;return ee;case "textInput":return a=b.data,a===ee&&fe?null:a;default:return null}} +function ke(a,b){if(ie)return"compositionend"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case "paste":return null;case "keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1} +function Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c="string"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)} +var Pe=fa&&"documentMode"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1; +function Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,"selectionStart"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,"onSelect"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf; +function Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)} +function If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||"Unknown",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)} +var Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg}; +function eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()} +function jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null=== +n.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&& +u.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k="object"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l="object"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling); +d=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d= +Wg(f,a.mode,h);d.return=a;a=d}return g(a)}if("string"===typeof f||"number"===typeof f)return f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if("undefined"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||"Component"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g); +function dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,"");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0); +function ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||"$?"===c.data||"$!"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1; +function mh(a,b){var c=nh(5,null,null,0);c.elementType="DELETED";c.type="DELETED";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=""===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}} +function ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a} +function rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||"head"!==b&&"body"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if("/$"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else"$"!==c&&"$!"!==c&&"$?"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0} +function sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T} +function Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return"function"===typeof b?b(a):b} +function Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer, +eagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]} +function Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]} +function Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));} +function Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d= +e.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\x3c/script>",a=a.removeChild(a.firstChild)):"string"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),"select"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case "dialog":G("cancel",a);G("close",a); +e=d;break;case "iframe":case "object":case "embed":G("load",a);e=d;break;case "video":case "audio":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&"hidden"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|= +64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&"unstable-defer-without-hiding"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));} +function Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}} +function Mi(a,b){try{var c="",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e="\nError generating stack: "+f.message+"\n"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi="function"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c} +function Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){"function"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:""})});return c}var Ui="function"===typeof WeakSet?WeakSet:Set; +function Vi(a){var b=a.ref;if(null!==b)if("function"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));} +function Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d, +b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c)))); +return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));} +function aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,"function"===typeof d.setProperty?d.setProperty("display","none","important"):d.display="none";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty("display")?e.display:null;d.style.display=sb("display",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?"":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c=== +a)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}} +function bj(a,b){if(Mf&&"function"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if("function"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b, +f)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag} +function fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,""),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null=== +c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)} +function gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling} +function hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling} +function cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode, +8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}} +function ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;"input"===a&&"radio"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320> +c?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.")}5!==V&&(V=2);k=Mi(k,h);p= +g;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&("function"===typeof K.getDerivedStateFromError||null!==Q&&"function"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)} +function Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null} +function Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});"function"===typeof t.focus&&t.focus();for(t= +0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck; +ck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!== +b?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if("object"=== +typeof e&&null!==e&&"function"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;"function"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2); +a=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,""));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282)); +d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e { + + + +function checkDCE() { + /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ + if ( + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function' + ) { + return; + } + if (false) {} + try { + // Verify that the code above has been dead code eliminated (DCE'd). + __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); + } catch (err) { + // DevTools shouldn't crash React, no matter what. + // We should still report in case we break this code. + console.error(err); + } +} + +if (true) { + // DCE check should happen before ReactDOM bundle executes so that + // DevTools can report bad minification during injection. + checkDCE(); + module.exports = __webpack_require__(448); +} else {} + + +/***/ }), + +/***/ 251: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +var __webpack_unused_export__; +/** @license React v17.0.2 + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +__webpack_require__(418);var f=__webpack_require__(294),g=60103;__webpack_unused_export__=60107;if("function"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h("react.element");__webpack_unused_export__=h("react.fragment")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0}; +function q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=""+k);void 0!==a.key&&(e=""+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q; + + +/***/ }), + +/***/ 408: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +/** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var l=__webpack_require__(418),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116; +if("function"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w("react.element");p=w("react.portal");exports.Fragment=w("react.fragment");exports.StrictMode=w("react.strict_mode");exports.Profiler=w("react.profiler");q=w("react.provider");r=w("react.context");t=w("react.forward_ref");exports.Suspense=w("react.suspense");u=w("react.memo");v=w("react.lazy")}var x="function"===typeof Symbol&&Symbol.iterator; +function y(a){if(null===a||"object"!==typeof a)return null;a=x&&a[x]||a["@@iterator"];return"function"===typeof a?a:null}function z(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c { + + + +if (true) { + module.exports = __webpack_require__(408); +} else {} + + +/***/ }), + +/***/ 893: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + + +if (true) { + module.exports = __webpack_require__(251); +} else {} + + +/***/ }), + +/***/ 53: +/***/ ((__unused_webpack_module, exports) => { + +/** @license React v0.20.2 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var f,g,h,k;if("object"===typeof performance&&"function"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}} +if("undefined"===typeof window||"function"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if("undefined"!==typeof console){var z= +window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");"function"!==typeof z&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>= +E};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1; +function T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}} +function V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if("function"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();"function"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5; +exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)}; +exports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}}; +exports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();"object"===typeof c&&null!==c?(c=c.delay,c="number"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a}; +exports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}}; + + +/***/ }), + +/***/ 840: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + + +if (true) { + module.exports = __webpack_require__(53); +} else {} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { + +// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js +var jsx_runtime = __webpack_require__(893); +// EXTERNAL MODULE: ./node_modules/react-dom/index.js +var react_dom = __webpack_require__(935); +// EXTERNAL MODULE: ./node_modules/react/index.js +var react = __webpack_require__(294); +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +function objectWithoutPropertiesLoose_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/extends.js +function extends_extends() { + 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_extends.apply(this, arguments); +} +;// 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 */ const dist_module = (isBrowser); + +;// 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_createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; +} +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + _setPrototypeOf(subClass, 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 ? 0 : 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 JSS array value to a CSS 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;` + */ + + +var toCssValue = 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; +}; + +function getWhitespaceSymbols(options) { + if (options && options.format === false) { + return { + linebreak: '', + space: '' + }; + } + + return { + linebreak: '\n', + space: ' ' + }; +} + +/** + * 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 (options.format === false) { + indent = -Infinity; + } + + var _getWhitespaceSymbols = getWhitespaceSymbols(options), + linebreak = _getWhitespaceSymbols.linebreak, + space = _getWhitespaceSymbols.space; + + 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 += linebreak; + result += indentStr(prop + ":" + space + toCssValue(value) + ";", indent); + } + } + } + } else { + // Object syntax {fallbacks: {prop: value}} + for (var _prop in fallbacks) { + var _value = fallbacks[_prop]; + + if (_value != null) { + if (result) result += linebreak; + result += indentStr(_prop + ":" + space + toCssValue(_value) + ";", indent); + } + } + } + } + + for (var _prop2 in style) { + var _value2 = style[_prop2]; + + if (_value2 != null && _prop2 !== 'fallbacks') { + if (result) result += linebreak; + result += indentStr(_prop2 + ":" + space + 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 = "" + linebreak + result + linebreak; + return indentStr("" + selector + space + "{" + 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.isProcessed = false; + 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 ? 0 : void 0; + } + + return this; + }; + + return BaseStyleRule; +}(); +var StyleRule = +/*#__PURE__*/ +function (_BaseStyleRule) { + _inheritsLoose(StyleRule, _BaseStyleRule); + + function StyleRule(key, style, options) { + var _this; + + _this = _BaseStyleRule.call(this, key, style, options) || this; + 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_extends({}, options, { + allowEmpty: true + }) : options; + return toCss(this.selectorText, this.style, opts); + }; + + createClass_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(key, style, options) { + if (key[0] === '@' || options.parent && options.parent.type === 'keyframes') { + return null; + } + + return new StyleRule(key, style, options); + } +}; + +var defaultToStringOptions = { + indent: 1, + children: true +}; +var atRegExp = /@([\w-]+)/; +/** + * Conditional rule for @media, @supports + */ + +var ConditionalRule = +/*#__PURE__*/ +function () { + function ConditionalRule(key, styles, options) { + this.type = 'conditional'; + this.isProcessed = false; + this.key = key; + var atMatch = key.match(atRegExp); + this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate. + + this.query = options.name || "@" + this.at; + this.options = options; + this.rules = new RuleList(extends_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; + } + /** + * Replace rule, run plugins. + */ + ; + + _proto.replaceRule = function replaceRule(name, style, options) { + var newRule = this.rules.replace(name, style, options); + if (newRule) this.options.jss.plugins.onProcessRule(newRule); + return newRule; + } + /** + * Generates a CSS string. + */ + ; + + _proto.toString = function toString(options) { + if (options === void 0) { + options = defaultToStringOptions; + } + + var _getWhitespaceSymbols = getWhitespaceSymbols(options), + linebreak = _getWhitespaceSymbols.linebreak; + + if (options.indent == null) options.indent = defaultToStringOptions.indent; + if (options.children == null) options.children = defaultToStringOptions.children; + + if (options.children === false) { + return this.query + " {}"; + } + + var children = this.rules.toString(options); + return children ? this.query + " {" + linebreak + children + linebreak + "}" : ''; + }; + + return ConditionalRule; +}(); +var keyRegExp = /@media|@supports\s+/; +var pluginConditionalRule = { + onCreateRule: function onCreateRule(key, styles, options) { + return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null; + } +}; + +var defaultToStringOptions$1 = { + indent: 1, + children: true +}; +var nameRegExp = /@keyframes\s+([\w-]+)/; +/** + * Rule for @keyframes + */ + +var KeyframesRule = +/*#__PURE__*/ +function () { + function KeyframesRule(key, frames, options) { + this.type = 'keyframes'; + this.at = '@keyframes'; + this.isProcessed = false; + var nameMatch = key.match(nameRegExp); + + if (nameMatch && nameMatch[1]) { + this.name = nameMatch[1]; + } else { + this.name = 'noname'; + false ? 0 : 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 RuleList(extends_extends({}, options, { + parent: this + })); + + for (var name in frames) { + this.rules.add(name, frames[name], extends_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; + } + + var _getWhitespaceSymbols = getWhitespaceSymbols(options), + linebreak = _getWhitespaceSymbols.linebreak; + + 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 = "" + linebreak + children + linebreak; + 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 ? 0 : void 0; + return match; + }); + } + + return val; +}; +/** + * Replace the reference for a animation name. + */ + + +var replaceRef = function replaceRef(style, prop, keyframes) { + var value = style[prop]; + var refKeyframe = findReferencedKeyframe(value, keyframes); + + if (refKeyframe !== value) { + style[prop] = refKeyframe; + } +}; + +var pluginKeyframesRule = { + onCreateRule: function onCreateRule(key, frames, options) { + return typeof key === 'string' && keyRegExp$1.test(key) ? new 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) replaceRef(style, 'animation-name', sheet.keyframes); + if ('animation' in style) 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 KeyframeRule = +/*#__PURE__*/ +function (_BaseStyleRule) { + _inheritsLoose(KeyframeRule, _BaseStyleRule); + + function KeyframeRule() { + return _BaseStyleRule.apply(this, arguments) || 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_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 KeyframeRule(key, style, options); + } + + return null; + } +}; + +var FontFaceRule = +/*#__PURE__*/ +function () { + function FontFaceRule(key, style, options) { + this.type = 'font-face'; + this.at = '@font-face'; + this.isProcessed = false; + this.key = key; + this.style = style; + this.options = options; + } + /** + * Generates a CSS string. + */ + + + var _proto = FontFaceRule.prototype; + + _proto.toString = function toString(options) { + var _getWhitespaceSymbols = getWhitespaceSymbols(options), + linebreak = _getWhitespaceSymbols.linebreak; + + if (Array.isArray(this.style)) { + var str = ''; + + for (var index = 0; index < this.style.length; index++) { + str += toCss(this.at, this.style[index]); + if (this.style[index + 1]) str += linebreak; + } + + return str; + } + + return toCss(this.at, this.style, options); + }; + + return FontFaceRule; +}(); +var keyRegExp$2 = /@font-face/; +var pluginFontFaceRule = { + onCreateRule: function onCreateRule(key, style, options) { + return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null; + } +}; + +var ViewportRule = +/*#__PURE__*/ +function () { + function ViewportRule(key, style, options) { + this.type = 'viewport'; + this.at = '@viewport'; + this.isProcessed = false; + 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.isProcessed = false; + 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, pluginKeyframesRule, 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 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.counter = 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(name, 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_extends({ + classes: this.classes, + parent: parent, + sheet: sheet, + jss: jss, + Renderer: Renderer, + generateId: generateId, + scoped: scoped, + name: name, + keyframes: this.keyframes, + selector: undefined + }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but + // `sheet.addRule()` opens the door for any duplicate rule name. When this happens + // we need to make the key unique within this RuleList instance scope. + + + var key = name; + + if (name in this.raw) { + key = name + "-d" + this.counter++; + } // 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) { + // 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; + } + /** + * Replace rule. + * Create a new rule and remove old one instead of overwriting + * because we want to invoke onCreateRule hook to make plugins work. + */ + ; + + _proto.replace = function replace(name, decl, ruleOptions) { + var oldRule = this.get(name); + var oldIndex = this.index.indexOf(oldRule); + + if (oldRule) { + this.remove(oldRule); + } + + var options = ruleOptions; + if (oldIndex !== -1) options = extends_extends({}, ruleOptions, { + index: oldIndex + }); + return this.add(name, decl, options); + } + /** + * Get a rule by name or selector. + */ + ; + + _proto.get = function get(nameOrSelector) { + return this.map[nameOrSelector]; + } + /** + * Delete a rule. + */ + ; + + _proto.remove = function remove(rule) { + this.unregister(rule); + delete this.raw[rule.key]; + this.index.splice(this.index.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 = 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.onProcessRule, plugins); + } + /** + * Register a rule in `.map`, `.classes` and `.keyframes` maps. + */ + ; + + _proto.register = function register(rule) { + this.map[rule.key] = rule; + + if (rule instanceof StyleRule) { + this.map[rule.selector] = rule; + if (rule.id) this.classes[rule.key] = rule.id; + } else if (rule instanceof 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 StyleRule) { + delete this.map[rule.selector]; + delete this.classes[rule.key]; + } else if (rule instanceof 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]; + data = arguments.length <= 1 ? undefined : arguments[1]; + options = arguments.length <= 2 ? undefined : arguments[2]; + } else { + data = arguments.length <= 0 ? undefined : arguments[0]; + options = arguments.length <= 1 ? undefined : arguments[1]; + name = null; + } + + if (name) { + this.updateOne(this.get(name), data, options); + } else { + for (var index = 0; index < this.index.length; index++) { + this.updateOne(this.index[index], data, options); + } + } + } + /** + * Execute plugins, update rule props. + */ + ; + + _proto.updateOne = function updateOne(rule, data, options) { + if (options === void 0) { + options = defaultUpdateOptions; + } + + var _this$options2 = this.options, + plugins = _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 style = rule.style; + plugins.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 !== rule.style) { + // We need to run the plugins in case new `style` relies on syntax plugins. + plugins.onProcessStyle(rule.style, rule, sheet); // Update and add props. + + for (var prop in rule.style) { + var nextValue = rule.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) { + rule.prop(prop, nextValue, forceUpdateOptions); + } + } // Remove props. + + + for (var _prop in style) { + var _nextValue = rule.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) { + rule.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; + + var _getWhitespaceSymbols = getWhitespaceSymbols(options), + linebreak = _getWhitespaceSymbols.linebreak; + + 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 += linebreak; + str += css; + } + + return str; + }; + + return RuleList; +}(); + +var StyleSheet = +/*#__PURE__*/ +function () { + function StyleSheet(styles, options) { + this.attached = false; + this.deployed = false; + this.classes = {}; + this.keyframes = {}; + this.options = extends_extends({}, options, { + sheet: this, + parent: this, + classes: this.classes, + keyframes: this.keyframes + }); + + if (options.Renderer) { + this.renderer = new options.Renderer(this); + } + + this.rules = new 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; + } + /** + * Replace a rule in the current stylesheet. + */ + ; + + _proto.replaceRule = function replaceRule(nameOrSelector, decl, options) { + var oldRule = this.rules.get(nameOrSelector); + if (!oldRule) return this.addRule(nameOrSelector, decl, options); + var newRule = this.rules.replace(nameOrSelector, decl, options); + + if (newRule) { + this.options.jss.plugins.onProcessRule(newRule); + } + + if (this.attached) { + if (!this.deployed) return newRule; // Don't replace / delete rule directly if there is no stringified version yet. + // It will be inserted all together when .attach is called. + + if (this.renderer) { + if (!newRule) { + this.renderer.deleteRule(oldRule); + } else if (oldRule.renderable) { + this.renderer.replaceRule(oldRule.renderable, newRule); + } + } + + return newRule; + } // We can't replace rules to a detached style node. + // We will redeploy the sheet once user will attach it. + + + this.deployed = false; + return newRule; + } + /** + * 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 or selector. + */ + ; + + _proto.getRule = function getRule(nameOrSelector) { + return this.rules.get(nameOrSelector); + } + /** + * Delete a rule by name. + * Returns `true`: if rule has been deleted from the DOM. + */ + ; + + _proto.deleteRule = function deleteRule(name) { + var rule = typeof name === 'object' ? name : this.rules.get(name); + + if (!rule || // Style sheet was created without link: true and attached, in this case we + // won't be able to remove the CSS rule from the DOM. + this.attached && !rule.renderable) { + 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; + } + /** + * Updates a single rule. + */ + ; + + _proto.updateOne = function updateOne(rule, data, options) { + this.rules.updateOne(rule, data, options); + 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 = {}; + } + + 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++) { + 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 ? 0 : void 0; + } + } + + return registry; + }, { + onCreateRule: [], + onProcessRule: [], + onProcessStyle: [], + onProcessSheet: [], + onChangeValue: [], + onUpdate: [] + }); + }; + + return PluginsRegistry; +}(); + +/** + * Sheets registry to access all instances in one place. + */ + +var 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_objectWithoutPropertiesLoose(_ref, ["attached"]); + + var _getWhitespaceSymbols = getWhitespaceSymbols(options), + linebreak = _getWhitespaceSymbols.linebreak; + + 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 += linebreak; + css += sheet.toString(options); + } + + return css; + }; + + createClass_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 SheetsRegistry(); + +/* eslint-disable */ + +/** + * Now that `globalThis` is available on most platforms + * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility) + * we check for `globalThis` first. `globalThis` is necessary for jss + * to run in Agoric's secure version of JavaScript (SES). Under SES, + * `globalThis` exists, but `window`, `self`, and `Function('return + * this')()` are all undefined for security reasons. + * + * https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 + */ +var globalThis$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' && window.Math === Math ? window : typeof self !== 'undefined' && self.Math === Math ? self : Function('return this')(); + +var ns = '2f1acc6c3a606b082e5eef5e54414ffb'; +if (globalThis$1[ns] == null) globalThis$1[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$1[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; + + var generateId = function generateId(rule, sheet) { + ruleCounter += 1; + + if (ruleCounter > maxRules) { + false ? 0 : 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; + }; + + return generateId; +}; + +/** + * 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. + */ + + +var getPropertyValue = 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. + */ + + +var setProperty = 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. + */ + + +var removeProperty = function removeProperty(cssRule, prop) { + try { + // Support CSSTOM. + if (cssRule.attributeStyleMap) { + cssRule.attributeStyleMap.delete(prop); + } else { + cssRule.style.removeProperty(prop); + } + } catch (err) { + false ? 0 : void 0; + } +}; +/** + * Set the selector. + */ + + +var setSelector = 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 ? 0 : 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') { + var insertionPointElement = insertionPoint; + var parentNode = insertionPointElement.parentNode; + if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else false ? 0 : 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) { + try { + if ('insertRule' in container) { + container.insertRule(rule, index); + } // Keyframes rule. + else if ('appendRule' in container) { + container.appendRule(rule); + } + } catch (err) { + false ? 0 : void 0; + return false; + } + + return container.cssRules[index]; +}; + +var getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, 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 + return maxIndex; + } + + return 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 () { + // Will be empty if link: true option is not set, because + // it is only for use together with insertRule API. + function DomRenderer(sheet) { + this.getPropertyValue = getPropertyValue; + this.setProperty = setProperty; + this.removeProperty = removeProperty; + this.setSelector = setSelector; + this.hasInsertedRules = false; + this.cssRules = []; + // 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() { + if (!this.sheet) return; + var parentNode = this.element.parentNode; + if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed. + // Though IE will keep them and we need a consistent behavior. + + if (this.sheet.options.link) { + this.cssRules = []; + this.element.textContent = '\n'; + } + } + /** + * 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') { + var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first. + + + latestNativeParent = _insertRule(nativeParent, parent.toString({ + children: false + }), _insertionIndex); + + if (latestNativeParent === false) { + return false; + } + + this.refCssRule(rule, _insertionIndex, latestNativeParent); + } + + this.insertRules(parent.rules, latestNativeParent); + return latestNativeParent; + } + + var ruleStr = rule.toString(); + if (!ruleStr) return false; + var insertionIndex = getValidRuleInsertionIndex(nativeParent, index); + + var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex); + + if (nativeRule === false) { + return false; + } + + this.hasInsertedRules = true; + this.refCssRule(rule, insertionIndex, nativeRule); + return nativeRule; + }; + + _proto.refCssRule = function refCssRule(rule, index, cssRule) { + rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules + // like rules inside media queries or keyframes + + if (rule.options.parent instanceof StyleSheet) { + this.cssRules.splice(index, 0, cssRule); + } + } + /** + * 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); + this.cssRules.splice(index, 1); + return true; + } + /** + * Get index of a CSS Rule. + */ + ; + + _proto.indexOf = function indexOf(cssRule) { + return this.cssRules.indexOf(cssRule); + } + /** + * Generate a new CSS rule and replace the existing one. + */ + ; + + _proto.replaceRule = function replaceRule(cssRule, rule) { + var index = this.indexOf(cssRule); + if (index === -1) return false; + this.element.sheet.deleteRule(index); + this.cssRules.splice(index, 1); + 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 = +/*#__PURE__*/ +function () { + function Jss(options) { + this.id = instanceCounter++; + this.version = "10.9.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_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 StyleSheet(styles, extends_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. + * [Deprecated] will be removed in the next major version. + */ + ; + + _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_extends({}, options, { + name: name, + 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 = new Array(_len), _key = 0; _key < _len; _key++) { + plugins[_key] = arguments[_key]; + } + + plugins.forEach(function (plugin) { + _this.plugins.use(plugin); + }); + return this; + }; + + return Jss; +}(); + +var createJss = function createJss(options) { + return new Jss(options); +}; + +/** + * SheetsManager is like a WeakMap which is designed to count StyleSheet + * instances and attach/detach automatically. + * Used in react-jss. + */ + +var SheetsManager = +/*#__PURE__*/ +(/* unused pure expression or super */ null && (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; + } + + warning(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 { + warning(false, "SheetsManager: can't find sheet to unmanage"); + } + }; + + _createClass(SheetsManager, [{ + key: "size", + get: function get() { + return this.length; + } + }]); + + return SheetsManager; +}())); + +/** +* Export a constant indicating if this browser has CSSTOM support. +* https://developers.google.com/web/updates/2018/03/cssom +*/ +var hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS; + +/** + * 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; +} + +/** + * A better abstraction over CSS. + * + * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present + * @website https://github.com/cssinjs/jss + * @license MIT + */ +var index = createJss(); + +/* harmony default export */ const jss_esm = ((/* unused pure expression or super */ null && (index))); + + +;// CONCATENATED MODULE: ./node_modules/@mui/styles/mergeClasses/mergeClasses.js + + +function mergeClasses(options = {}) { + const { + baseClasses, + newClasses, + Component + } = options; + + if (!newClasses) { + return baseClasses; + } + + const nextClasses = extends_extends({}, baseClasses); + + if (false) {} + + Object.keys(newClasses).forEach(key => { + if (false) {} + + if (newClasses[key]) { + nextClasses[key] = `${baseClasses[key]} ${newClasses[key]}`; + } + }); + return nextClasses; +} +;// CONCATENATED MODULE: ./node_modules/@mui/styles/makeStyles/multiKeyStore.js +// Used https://github.com/thinkloop/multi-key-cache as inspiration +const multiKeyStore = { + set: (cache, key1, key2, value) => { + let subCache = cache.get(key1); + + if (!subCache) { + subCache = new Map(); + cache.set(key1, subCache); + } + + subCache.set(key2, value); + }, + get: (cache, key1, key2) => { + const subCache = cache.get(key1); + return subCache ? subCache.get(key2) : undefined; + }, + delete: (cache, key1, key2) => { + const subCache = cache.get(key1); + subCache.delete(key2); + } +}; +/* harmony default export */ const makeStyles_multiKeyStore = (multiKeyStore); +;// CONCATENATED MODULE: ./node_modules/@mui/private-theming/useTheme/ThemeContext.js + +const ThemeContext = /*#__PURE__*/react.createContext(null); + +if (false) {} + +/* harmony default export */ const useTheme_ThemeContext = (ThemeContext); +;// CONCATENATED MODULE: ./node_modules/@mui/private-theming/useTheme/useTheme.js + + +function useTheme() { + const theme = react.useContext(useTheme_ThemeContext); + + if (false) {} + + return theme; +} +;// CONCATENATED MODULE: ./node_modules/@mui/private-theming/ThemeProvider/nested.js +const hasSymbol = typeof Symbol === 'function' && Symbol.for; +/* harmony default export */ const nested = (hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__'); +;// CONCATENATED MODULE: ./node_modules/@mui/styles/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 defined styles as well as + * being untouched by simple user overrides. + */ + +const stateClasses = ['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(options = {}) { + const { + disableGlobal = false, + productionPrefix = 'jss', + seed = '' + } = options; + const seedPrefix = seed === '' ? '' : `${seed}-`; + let ruleCounter = 0; + + const getNextCounterId = () => { + ruleCounter += 1; + + if (false) {} + + return ruleCounter; + }; + + return (rule, styleSheet) => { + const 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 (stateClasses.indexOf(rule.key) !== -1) { + return `Mui-${rule.key}`; + } + + const prefix = `${seedPrefix}${name}-${rule.key}`; + + if (!styleSheet.options.theme[nested] || seed !== '') { + return prefix; + } + + return `${prefix}-${getNextCounterId()}`; + } + + if (true) { + return `${seedPrefix}${productionPrefix}${getNextCounterId()}`; + } + + const suffix = `${rule.key}-${getNextCounterId()}`; // Help with debuggability. + + if (styleSheet.options.classNamePrefix) { + return `${seedPrefix}${styleSheet.options.classNamePrefix}-${suffix}`; + } + + return `${seedPrefix}${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; + +var functionPlugin = 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; + } + + 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) || {}; + + if (false) { var prop; } + } + + 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 */ const 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 GlobalContainerRule = +/*#__PURE__*/ +function () { + function GlobalContainerRule(key, styles, options) { + this.type = 'global'; + this.at = at; + this.isProcessed = false; + this.key = key; + this.options = options; + this.rules = new RuleList(extends_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); + if (rule) this.options.jss.plugins.onProcessRule(rule); + return rule; + } + /** + * Replace rule, run plugins. + */ + ; + + _proto.replaceRule = function replaceRule(name, style, options) { + var newRule = this.rules.replace(name, style, options); + if (newRule) this.options.jss.plugins.onProcessRule(newRule); + return newRule; + } + /** + * Get index of a rule. + */ + ; + + _proto.indexOf = function indexOf(rule) { + return this.rules.indexOf(rule); + } + /** + * Generates a CSS string. + */ + ; + + _proto.toString = function toString(options) { + return this.rules.toString(options); + }; + + return GlobalContainerRule; +}(); + +var GlobalPrefixedRule = +/*#__PURE__*/ +function () { + function GlobalPrefixedRule(key, style, options) { + this.type = 'global'; + this.at = at; + this.isProcessed = false; + this.key = key; + this.options = options; + var selector = key.substr(atPrefix.length); + this.rule = options.jss.createRule(selector, style, extends_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, sheet) { + var options = rule.options, + style = rule.style; + var rules = style ? style[at] : null; + if (!rules) return; + + for (var name in rules) { + sheet.addRule(name, rules[name], extends_extends({}, options, { + selector: addScope(name, rule.selector) + })); + } + + delete style[at]; +} + +function handlePrefixedGlobalRule(rule, sheet) { + 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); + sheet.addRule(selector, style[prop], extends_extends({}, options, { + selector: selector + })); + delete style[prop]; + } +} +/** + * Convert nested rules to separate, remove them from original styles. + */ + + +function jssGlobal() { + function onCreateRule(name, styles, options) { + if (!name) return null; + + if (name === at) { + return new GlobalContainerRule(name, styles, options); + } + + if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) { + return new 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.selector && options.scoped === false) { + options.selector = name; + } + + return null; + } + + function onProcessRule(rule, sheet) { + if (rule.type !== 'style' || !sheet) return; + handleNestedGlobalContainerRule(rule, sheet); + handlePrefixedGlobalRule(rule, sheet); + } + + return { + onCreateRule: onCreateRule, + onProcessRule: onProcessRule + }; +} + +/* harmony default export */ const 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. + */ + +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) { + return rule.selector; + } + + false ? 0 : 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, prevOptions) { + // Options has been already created, now we only increase index. + if (prevOptions) return extends_extends({}, prevOptions, { + index: prevOptions.index + 1 + }); + var nestingLevel = rule.options.nestingLevel; + nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1; + + var options = extends_extends({}, rule.options, { + nestingLevel: nestingLevel, + index: container.indexOf(rule) + 1 // We don't need the parent name to be set options for chlid. + + }); + + delete options.name; + return options; + } + + 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); + var name = styleRule.key + "-" + prop; + + if ('replaceRule' in container) { + // for backward compatibility + container.replaceRule(name, style[prop], extends_extends({}, options, { + selector: selector + })); + } else { + container.addRule(name, style[prop], extends_extends({}, options, { + selector: selector + })); + } + } else if (isNestedConditional) { + // Place conditional right after the parent rule to ensure right ordering. + container.addRule(prop, {}, options).addRule(styleRule.key, style[prop], { + selector: styleRule.selector + }); + } + + delete style[prop]; + } + + return style; + } + + return { + onProcessStyle: onProcessStyle + }; +} + +/* harmony default export */ const 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 */ const 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. + */ + +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. + */ + + +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 */ const 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 + */ + +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, + 'border-block': px, + 'border-block-end': px, + 'border-block-end-width': px, + 'border-block-start': px, + 'border-block-start-width': px, + 'border-block-width': px, + 'border-inline': px, + 'border-inline-end': px, + 'border-inline-end-width': px, + 'border-inline-start': px, + 'border-inline-start-width': px, + 'border-inline-width': px, + 'border-start-start-radius': px, + 'border-start-end-radius': px, + 'border-end-start-radius': px, + 'border-end-end-radius': px, + // Margin properties + margin: px, + 'margin-bottom': px, + 'margin-left': px, + 'margin-right': px, + 'margin-top': px, + 'margin-block': px, + 'margin-block-end': px, + 'margin-block-start': px, + 'margin-inline': px, + 'margin-inline-end': px, + 'margin-inline-start': px, + // Padding properties + padding: px, + 'padding-bottom': px, + 'padding-left': px, + 'padding-right': px, + 'padding-top': px, + 'padding-block': px, + 'padding-block-end': px, + 'padding-block-start': px, + 'padding-inline': px, + 'padding-inline-end': px, + 'padding-inline-start': 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, + inset: px, + 'inset-block': px, + 'inset-block-end': px, + 'inset-block-start': px, + 'inset-inline': px, + 'inset-inline-end': px, + 'inset-inline-start': 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-decoration-thickness': 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, + gap: px, + // Grid properties + grid: px, + 'grid-gap': px, + 'row-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 == null) 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); + } + } // eslint-disable-next-line no-restricted-globals + + } else if (typeof value === 'number' && isNaN(value) === false) { + var unit = options[prop] || units[prop]; // Add the unit if available, except for the special case of 0px. + + if (unit && !(value === 0 && unit === px)) { + return typeof unit === 'function' ? unit(value).toString() : "" + value + unit; + } + + 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 */ const jss_plugin_default_unit_esm = (defaultUnit); + +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); +} +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); +} +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + + + + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(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 = ''; +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'), + style = _document$createEleme.style; + + var testProp = 'Transform'; + + for (var key in jsCssMap) { + if (key + testProp in style) { + js = key; + css = jsCssMap[key]; + break; + } + } // Correctly detect the Edge browser. + + + if (js === 'Webkit' && 'msHyphens' in style) { + js = 'ms'; + css = jsCssMap.ms; + browser = 'edge'; + } // Correctly detect the Safari browser. + + + if (js === 'Webkit' && '-apple-trailing-word' in style) { + vendor = 'apple'; + } +} +/** + * Vendor prefix string for the current browser. + * + * @type {{js: String, css: String, vendor: String, browser: String}} + * @api public + */ + + +var prefix = { + js: js, + css: 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 (prefix.js === 'ms') return key; + return "@" + 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 (prefix.js === 'ms') return "-webkit-" + prop; + return 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 (prefix.js === 'Webkit') return 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 (prefix.js === 'Webkit') { + var longhand = 'mask-image'; + + if (camelize(longhand) in style) { + return prop; + } + + if (prefix.js + pascalize(longhand) in style) { + return 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 (prefix.vendor === 'apple' && !prefix.isTouch) { + return 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 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 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 (prefix.js === 'Webkit' || prefix.js === 'ms' && prefix.browser !== 'edge') { + return 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 (prefix.js === 'Moz' || prefix.js === 'ms' || prefix.vendor === 'apple') { + return 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 (prefix.js === 'Webkit') { + var jsProp = "WebkitColumn" + pascalize(prop); + return jsProp in style ? prefix.css + "column-" + prop : false; + } + + if (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 (prefix.js === 'Moz') return prop; + var newProp = prop.replace('-inline', ''); + return prefix.js + pascalize(newProp) in style ? 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 (prefix.js + pascalized in style) return prefix.css + prop; // Try webkit fallback. + + if (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 (prefix.js === 'ms') { + return "" + prefix.css + prop; + } + + return prop; + } +}; + +// https://caniuse.com/#search=overscroll-behavior + +var overscrollBehavior = { + supportedProperty: function supportedProperty(prop) { + if (prop !== 'overscroll-behavior') return false; + + if (prefix.js === 'ms') { + return 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 prefix.js + pascalize(newProp) in style ? 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 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 prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false; + } + + if (!multiple) return false; + + for (var i = 0; i < newProp.length; i++) { + if (!(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 = 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. + */ + +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 */ const 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 */ const jss_plugin_props_sort_esm = (jssPropsSort); + +;// CONCATENATED MODULE: ./node_modules/@mui/styles/jssPreset/jssPreset.js + + + + + + + // Subset of jss-preset-default with only the plugins the MUI components are using. + +function jssPreset_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()] + }; +} +;// CONCATENATED MODULE: ./node_modules/@mui/styles/StylesProvider/StylesProvider.js + + +const _excluded = (/* unused pure expression or super */ null && (["children", "injectFirst", "disableGeneration"])); + + + + + + // Default JSS instance. + + +const jss = createJss(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. + +const generateClassName = createGenerateClassName(); // Exported for test purposes + +const sheetsManager = new Map(); +const defaultOptions = { + disableGeneration: false, + generateClassName, + jss, + sheetsCache: null, + sheetsManager, + sheetsRegistry: null +}; +const StylesContext = /*#__PURE__*/react.createContext(defaultOptions); + +if (false) {} + +let injectFirstNode; +function StylesProvider(props) { + const { + children, + injectFirst = false, + disableGeneration = false + } = props, + localOptions = _objectWithoutPropertiesLoose(props, _excluded); + + const outerOptions = React.useContext(StylesContext); + + const context = _extends({}, outerOptions, { + disableGeneration + }, localOptions); + + if (false) {} + + if (false) {} + + if (false) {} + + if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') { + if (!injectFirstNode) { + const head = document.head; + injectFirstNode = document.createComment('mui-inject-first'); + head.insertBefore(injectFirstNode, head.firstChild); + } + + context.jss = create({ + plugins: jssPreset().plugins, + insertionPoint: injectFirstNode + }); + } + + return /*#__PURE__*/_jsx(StylesContext.Provider, { + value: context, + children: children + }); +} + false ? 0 : void 0; + +if (false) {} +;// CONCATENATED MODULE: ./node_modules/@mui/styles/makeStyles/indexCounter.js +/* eslint-disable import/prefer-default-export */ +// Global index counter to preserve source order. +// We create the style sheet during 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. +let indexCounter = -1e9; +function increment() { + indexCounter += 1; + + if (false) {} + + return indexCounter; +} +;// CONCATENATED MODULE: ./node_modules/@mui/utils/esm/deepmerge.js + +function isPlainObject(item) { + return item !== null && typeof item === 'object' && item.constructor === Object; +} +function deepmerge(target, source, options = { + clone: true +}) { + const output = options.clone ? extends_extends({}, target) : target; + + if (isPlainObject(target) && isPlainObject(source)) { + Object.keys(source).forEach(key => { + // Avoid prototype pollution + if (key === '__proto__') { + return; + } + + if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) { + // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type. + output[key] = deepmerge(target[key], source[key], options); + } else { + output[key] = source[key]; + } + }); + } + + return output; +} +;// CONCATENATED MODULE: ./node_modules/@mui/utils/esm/formatMuiErrorMessage.js +/** + * WARNING: Don't import this directly. + * Use `MuiError` from `@mui/utils/macros/MuiError.macro` instead. + * @param {number} code + */ +function formatMuiErrorMessage(code) { + // Apply babel-plugin-transform-template-literals in loose mode + // loose mode is safe iff we're concatenating primitives + // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose + + /* eslint-disable prefer-template */ + let url = 'https://mui.com/production-error/?code=' + code; + + for (let i = 1; i < arguments.length; i += 1) { + // rest params over-transpile for this case + // eslint-disable-next-line prefer-rest-params + url += '&args[]=' + encodeURIComponent(arguments[i]); + } + + return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.'; + /* eslint-enable prefer-template */ +} +;// CONCATENATED MODULE: ./node_modules/@mui/utils/esm/capitalize.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 in the sentence. +// We only handle the first word. +function capitalize(string) { + if (typeof string !== 'string') { + throw new Error( false ? 0 : formatMuiErrorMessage(7)); + } + + return string.charAt(0).toUpperCase() + string.slice(1); +} +;// CONCATENATED MODULE: ./node_modules/@mui/styles/propsToClassKey/propsToClassKey.js + +const propsToClassKey_excluded = ["variant"]; + + +function isEmpty(string) { + return string.length === 0; +} +/** + * Generates string classKey based on the properties provided. It starts with the + * variant if defined, and then it appends all other properties in alphabetical order. + * @param {object} props - the properties for which the classKey should be created + */ + + +function propsToClassKey(props) { + const { + variant + } = props, + other = objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(props, propsToClassKey_excluded); + + let classKey = variant || ''; + Object.keys(other).sort().forEach(key => { + if (key === 'color') { + classKey += isEmpty(classKey) ? props[key] : capitalize(props[key]); + } else { + classKey += `${isEmpty(classKey) ? key : capitalize(key)}${capitalize(props[key].toString())}`; + } + }); + return classKey; +} +;// CONCATENATED MODULE: ./node_modules/@mui/styles/getStylesCreator/getStylesCreator.js + + + + +function getStylesCreator(stylesOrCreator) { + const themingEnabled = typeof stylesOrCreator === 'function'; + + if (false) {} + + return { + create: (theme, name) => { + let styles; + + try { + styles = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator; + } catch (err) { + if (false) {} + + throw err; + } + + if (!name || !theme.components || !theme.components[name] || !theme.components[name].styleOverrides && !theme.components[name].variants) { + return styles; + } + + const overrides = theme.components[name].styleOverrides || {}; + const variants = theme.components[name].variants || []; + + const stylesWithOverrides = extends_extends({}, styles); + + Object.keys(overrides).forEach(key => { + if (false) {} + + stylesWithOverrides[key] = deepmerge(stylesWithOverrides[key] || {}, overrides[key]); + }); + variants.forEach(definition => { + const classKey = propsToClassKey(definition.props); + stylesWithOverrides[classKey] = deepmerge(stylesWithOverrides[classKey] || {}, definition.style); + }); + return stylesWithOverrides; + }, + options: {} + }; +} +;// CONCATENATED MODULE: ./node_modules/@mui/styles/getStylesCreator/noopTheme.js +// We use the same empty object to ref count the styles that don't need a theme object. +const noopTheme = {}; +/* harmony default export */ const getStylesCreator_noopTheme = (noopTheme); +;// CONCATENATED MODULE: ./node_modules/@mui/styles/makeStyles/makeStyles.js + + +const makeStyles_excluded = ["name", "classNamePrefix", "Component", "defaultTheme"]; + + + + + + + + + + +function getClasses({ + state, + stylesOptions +}, classes, Component) { + 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. + + + let 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({ + baseClasses: state.cacheClasses.lastJSS, + newClasses: classes, + Component + }); + } + + return state.cacheClasses.value; +} + +function attach({ + state, + theme, + stylesOptions, + stylesCreator, + name +}, props) { + if (stylesOptions.disableGeneration) { + return; + } + + let 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); + } + + const options = extends_extends({}, stylesCreator.options, stylesOptions, { + theme, + flip: typeof stylesOptions.flip === 'boolean' ? stylesOptions.flip : theme.direction === 'rtl' + }); + + options.generateId = options.serverGenerateClassName || options.generateClassName; + const sheetsRegistry = stylesOptions.sheetsRegistry; + + if (sheetManager.refs === 0) { + let staticSheet; + + if (stylesOptions.sheetsCache) { + staticSheet = makeStyles_multiKeyStore.get(stylesOptions.sheetsCache, stylesCreator, theme); + } + + const styles = stylesCreator.create(theme, name); + + if (!staticSheet) { + staticSheet = stylesOptions.jss.createStyleSheet(styles, extends_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) { + const dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, extends_extends({ + link: true + }, options)); + dynamicSheet.update(props); + dynamicSheet.attach(); + state.dynamicSheet = dynamicSheet; + state.classes = mergeClasses({ + baseClasses: sheetManager.staticSheet.classes, + newClasses: dynamicSheet.classes + }); + + if (sheetsRegistry) { + sheetsRegistry.add(dynamicSheet); + } + } else { + state.classes = sheetManager.staticSheet.classes; + } + + sheetManager.refs += 1; +} + +function update({ + state +}, props) { + if (state.dynamicSheet) { + state.dynamicSheet.update(props); + } +} + +function detach({ + state, + theme, + stylesOptions, + stylesCreator +}) { + if (stylesOptions.disableGeneration) { + return; + } + + const sheetManager = makeStyles_multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme); + sheetManager.refs -= 1; + const 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) { + const key = react.useRef([]); + let output; // Store "generation" key. Just returns a new object every time + + const currentKey = react.useMemo(() => ({}), 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(); + } + + react.useEffect(() => () => { + if (output) { + output(); + } + }, [currentKey] // eslint-disable-line react-hooks/exhaustive-deps + ); +} + +function makeStyles(stylesOrCreator, options = {}) { + const { + // alias for classNamePrefix, if provided will listen to theme (required for theme.components[name].styleOverrides) + name, + // Help with debuggability. + classNamePrefix: classNamePrefixOption, + Component, + defaultTheme = getStylesCreator_noopTheme + } = options, + stylesOptions2 = objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(options, makeStyles_excluded); + + const stylesCreator = getStylesCreator(stylesOrCreator); + const classNamePrefix = name || classNamePrefixOption || 'makeStyles'; + stylesCreator.options = { + index: increment(), + name, + meta: classNamePrefix, + classNamePrefix + }; + + const useStyles = (props = {}) => { + const theme = useTheme() || defaultTheme; + + const stylesOptions = extends_extends({}, react.useContext(StylesContext), stylesOptions2); + + const instance = react.useRef(); + const shouldUpdate = react.useRef(); + useSynchronousEffect(() => { + const current = { + name, + state: {}, + stylesCreator, + stylesOptions, + theme + }; + attach(current, props); + shouldUpdate.current = false; + instance.current = current; + return () => { + detach(current); + }; + }, [theme, stylesCreator]); + react.useEffect(() => { + if (shouldUpdate.current) { + update(instance.current, props); + } + + shouldUpdate.current = true; + }); + const classes = getClasses(instance.current, props.classes, Component); + + if (false) {} + + if (false) {} + + return classes; + }; + + return useStyles; +} +;// CONCATENATED MODULE: ./src/components/MapPosition.tsx +var __assign = (undefined && undefined.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +/** + * Create a container that renders the map position after the mouse + * drag on the map has ended + * + * @returns {JSX.Element} the map position container + */ +var MapPosition = function () { + // get a reference to the windows object + var w = window; + // get a reference to the geoview api + var cgpv = w['cgpv']; + // import exported modules from the viewer + var api = cgpv.api, react = cgpv.react, ui = cgpv.ui, useTranslation = cgpv.useTranslation; + /** use react hooks, these hooks uses the viewer's context, importing them from the + * importing them from the react module at the top will not work + */ + var useState = react.useState, useEffect = react.useEffect; + // import another hook used by material ui, again if you import it directly it won't work + var makeStyles = ui.makeStyles; + // state used to store latitude and longtitude after map drag end + var _a = useState(0), lat = _a[0], setLat = _a[1]; + var _b = useState(0), lng = _b[0], setLng = _b[1]; + var t = useTranslation().t; + /** + * style the position container + */ + var useStyles = makeStyles(function (theme) { return ({ + positionContainer: { + backgroundColor: theme.palette.primary.light, + padding: 10, + height: 180, + overflow: 'auto', + pointerEvents: 'initial', + }, + }); }); + var classes = useStyles(); + useEffect(function () { + // listen to map drag move end event + api.on(api.eventNames.MAP.EVENT_MAP_MOVE_END, function (res) { + // if the event came from the loaded map + if (res.handlerName === 'mapWM') { + // get the returned position + var position = res.lnglat; + // update the state + if (position) { + setLng(position[0]); + setLat(position[1]); + } + } + }, 'mapWM'); + }, []); + return ((0,jsx_runtime.jsxs)("div", __assign({ className: classes.positionContainer }, { children: [(0,jsx_runtime.jsx)("p", { children: (0,jsx_runtime.jsxs)("strong", { children: [t('custom.mapPosition'), " from External Package:"] }) }), (0,jsx_runtime.jsxs)("p", { children: ["Longitude: ", lng] }), (0,jsx_runtime.jsxs)("p", { children: ["Latitude: ", lat] })] }))); +}; + +;// CONCATENATED MODULE: ./src/components/PanelContent.tsx +var PanelContent_assign = (undefined && undefined.__assign) || function () { + PanelContent_assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return PanelContent_assign.apply(this, arguments); +}; + +var w = window; +var cgpv = w['cgpv']; +var NewPanelContent = function (props) { + return (0,jsx_runtime.jsx)("div", { children: "New Content" }); +}; +/** + * Create a new panel content + * + * @param {PanelContentProps} props panel content properties + * @returns {JSX.Element} the new create panel content + */ +var PanelContent = function (props) { + var buttonPanel = props.buttonPanel; + var ui = cgpv.ui; + var Button = ui.elements.Button; + return ((0,jsx_runtime.jsxs)("div", { children: [(0,jsx_runtime.jsx)("div", { children: "Test content" }), (0,jsx_runtime.jsx)("p", { children: (0,jsx_runtime.jsx)(Button, PanelContent_assign({ variant: "contained", tooltip: "Change Content", tooltipPlacement: "right", type: "text", onClick: function () { + var _a, _b; + (_a = buttonPanel === null || buttonPanel === void 0 ? void 0 : buttonPanel.panel) === null || _a === void 0 ? void 0 : _a.addActionButton('testButton', 'Test', 'arrow_back', function () { + var _a, _b; + (_a = buttonPanel === null || buttonPanel === void 0 ? void 0 : buttonPanel.panel) === null || _a === void 0 ? void 0 : _a.removeActionButton('testButton'); + (_b = buttonPanel === null || buttonPanel === void 0 ? void 0 : buttonPanel.panel) === null || _b === void 0 ? void 0 : _b.changeContent((0,jsx_runtime.jsx)(PanelContent, PanelContent_assign({}, props))); + }); + (_b = buttonPanel === null || buttonPanel === void 0 ? void 0 : buttonPanel.panel) === null || _b === void 0 ? void 0 : _b.changeContent((0,jsx_runtime.jsx)(NewPanelContent, PanelContent_assign({}, props))); + } }, { children: "Change Content" })) })] })); +}; + +;// CONCATENATED MODULE: ./src/components/App.tsx +var App_assign = (undefined && undefined.__assign) || function () { + App_assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return App_assign.apply(this, arguments); +}; + + + + + +/** + * main container and map styling + */ +var useStyles = makeStyles(function (theme) { return ({ + container: { + height: '100%', + }, +}); }); +// get reference to window object +var App_w = window; +// get reference to geoview apis +var App_cgpv = App_w['cgpv']; +var ui = App_cgpv.ui; +/** + * Create a container containing a map using the GeoView viewer + * + * @returns {JSX.Elemet} the element that creates the container and the map + */ +var App = function () { + var classes = useStyles(); + /** + * initialize the map after it has been loaded + */ + (0,react.useEffect)(function () { + App_cgpv.init(function () { + var _a; + /** + * translations object to inject to the viewer translations + */ + var translations = { + 'en-CA': { + panel: 'Test', + nothing_found: 'Nothing found', + action_back: 'Back', + custom: { + mapPosition: 'Map Position', + }, + }, + 'fr-CA': { + panel: 'Test', + nothing_found: 'Aucun résultat', + action_back: 'Retour', + custom: { + mapPosition: 'Localisation sur la carte', + }, + }, + }; + // create a new component on the map after it has been rendered + /** + * First parameter is the id of that new component + * the id can be used to remove the added component using the .removeComponent(id) function + * + * Second parameter is the component to add, this can be a react component written in JSX + * or HTML created using React.createElement + */ + App_cgpv.api.map('mapWM').addComponent('text', (0,jsx_runtime.jsx)(MapPosition, {})); + // get map instance + var mapInstance = App_cgpv.api.map('mapWM'); + // add custom languages + mapInstance.i18nInstance.addResourceBundle('en-CA', 'translation', translations['en-CA'], true, false); + mapInstance.i18nInstance.addResourceBundle('fr-CA', 'translation', translations['fr-CA'], true, false); + // get language + var language = mapInstance.language; + // get home icon from ui + var HomeIcon = ui.elements.HomeIcon; + // button props + var button = { + // set ID to testPanelButton so that it can be accessed from the core viewer + id: 'testPanelButton', + tooltip: translations[language].panel, + tooltipPlacement: 'right', + children: (0,jsx_runtime.jsx)(HomeIcon, {}), + visible: true, + }; + // panel props + var panel = { + title: translations[language].panel, + icon: (0,jsx_runtime.jsx)(HomeIcon, {}), + width: 300, + }; + // create a new button panel on the appbar + var buttonPanel = App_cgpv.api + .map('mapWM') + .appBarButtons.createAppbarPanel(button, panel, null); + // set panel content + (_a = buttonPanel === null || buttonPanel === void 0 ? void 0 : buttonPanel.panel) === null || _a === void 0 ? void 0 : _a.changeContent((0,jsx_runtime.jsx)(PanelContent, { buttonPanel: buttonPanel, mapId: 'mapWM' })); + }); + }, []); + return ((0,jsx_runtime.jsxs)("div", App_assign({ className: classes.container }, { children: [(0,jsx_runtime.jsx)("div", { children: "Test loading map from an external package" }), (0,jsx_runtime.jsx)("div", { id: "mapWM", className: "llwp-map ".concat(classes.container), style: { + height: '100vh', + zIndex: 0, + }, "data-lang": "en-CA", "data-config": "{\r\n 'map': {\r\n 'interaction': 'dynamic',\r\n 'view': {\r\n 'zoom': 4,\r\n 'center': [-100, 60],\r\n 'projection': 3857\r\n },\r\n 'basemapOptions': {\r\n 'id': 'transport',\r\n 'shaded': false,\r\n 'labeled': true\r\n },\r\n 'layers': []\r\n },\r\n 'theme': 'dark',\r\n 'languages': ['en-CA']\r\n }" })] }))); +}; +/* harmony default export */ const components_App = (App); + +;// CONCATENATED MODULE: ./src/index.tsx + + + +var container = document.getElementById('root'); +(0,react_dom.render)((0,jsx_runtime.jsx)(components_App, {}), container); + +})(); + +/******/ })() +; \ No newline at end of file