{"version":3,"sources":["webpack:///../src/node_modules/jss/dist/jss.esm.js"],"names":["plainObjectConstrurctor","constructor","cloneStyle","style","Array","isArray","map","newStyle","name","createRule","decl","options","jss","declCopy","rule","plugins","onCreateRule","join","value","by","result","i","length","toCssValue","cssValue","getWhitespaceSymbols","format","linebreak","space","indentStr","str","indent","index","toCss","selector","_options$indent","fallbacks","Infinity","_getWhitespaceSymbols","fallback","prop","_prop","_value","_prop2","_value2","allowEmpty","escapeRegex","nativeEscape","CSS","escape","replace","BaseStyleRule","key","this","type","isProcessed","sheet","Renderer","renderer","prototype","undefined","force","newValue","process","onChangeValue","isEmpty","isDefined","remove","renderable","removeProperty","setProperty","attached","StyleRule","_BaseStyleRule","_this","call","scoped","generateId","selectorText","id","_proto2","applyTo","json","toJSON","toString","opts","link","set","setSelector","replaceRule","get","pluginStyleRule","parent","defaultToStringOptions","children","atRegExp","ConditionalRule","styles","atMatch","match","at","query","rules","RuleList","add","_proto","getRule","indexOf","addRule","onProcessRule","newRule","keyRegExp","pluginConditionalRule","test","defaultToStringOptions$1","nameRegExp","KeyframesRule","frames","nameMatch","keyRegExp$1","refRegExp","findReferencedKeyframe","val","keyframes","replaceRef","refKeyframe","pluginKeyframesRule","onProcessStyle","KeyframeRule","apply","arguments","pluginKeyframeRule","FontFaceRule","keyRegExp$2","pluginFontFaceRule","ViewportRule","pluginViewportRule","SimpleRule","keysMap","defaultUpdateOptions","forceUpdateOptions","raw","counter","classes","ruleOptions","_this$options","register","splice","oldRule","oldIndex","nameOrSelector","unregister","slice","forEach","update","data","updateOne","_this$options2","onUpdate","nextValue","_nextValue","_prevValue","css","StyleSheet","deployed","attach","deploy","detach","queue","push","insertRule","deleteRule","addRules","added","_this$rules","PluginsRegistry","internal","external","registry","onProcessSheet","processedValue","use","newPlugin","concat","reduce","plugin","SheetsRegistry","reset","_temp","_ref","sheets","globalThis$1","globalThis","window","Math","self","Function","ns","moduleId","createGenerateId","ruleCounter","jssId","prefix","classNamePrefix","String","minify","memoize","fn","getPropertyValue","cssRule","attributeStyleMap","err","indexOfImportantFlag","cssValueWithoutImportantFlag","substr","delete","getHead","document","querySelector","findPrevNode","insertionPoint","findHigherSheet","element","parentNode","node","findHighestSheet","nextSibling","comment","text","head","childNodes","nodeType","nodeValue","trim","findCommentNode","getNonce","getAttribute","_insertRule","container","appendRule","cssRules","getValidRuleInsertionIndex","maxIndex","DomRenderer","hasInsertedRules","el","media","meta","createElement","textContent","setAttribute","nonce","nextNode","insertBefore","insertionPointElement","appendChild","insertStyle","Boolean","removeChild","insertRules","nativeParent","latestNativeParent","_insertionIndex","refCssRule","ruleStr","insertionIndex","nativeRule","getRules","instanceCounter","Jss","version","setup","createStyleSheet","removeStyleSheet","_len","_key","createJss","hasCSSTOMSupport","getDynamicStyles","to","extracted"],"mappings":"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","file":"npm.jss.js","sourcesContent":["import _extends from '@babel/runtime/helpers/esm/extends';\nimport isInBrowser from 'is-in-browser';\nimport warning from 'tiny-warning';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\nvar plainObjectConstrurctor = {}.constructor;\nfunction cloneStyle(style) {\n if (style == null || typeof style !== 'object') return style;\n if (Array.isArray(style)) return style.map(cloneStyle);\n if (style.constructor !== plainObjectConstrurctor) return style;\n var newStyle = {};\n\n for (var name in style) {\n newStyle[name] = cloneStyle(style[name]);\n }\n\n return newStyle;\n}\n\n/**\n * Create a rule instance.\n */\n\nfunction createRule(name, decl, options) {\n if (name === void 0) {\n name = 'unnamed';\n }\n\n var jss = options.jss;\n var declCopy = cloneStyle(decl);\n var rule = jss.plugins.onCreateRule(name, declCopy, options);\n if (rule) return rule; // It is an at-rule and it has no instance.\n\n if (name[0] === '@') {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown rule \" + name) : void 0;\n }\n\n return null;\n}\n\nvar join = function join(value, by) {\n var result = '';\n\n for (var i = 0; i < value.length; i++) {\n // Remove !important from the value, it will be readded later.\n if (value[i] === '!important') break;\n if (result) result += by;\n result += value[i];\n }\n\n return result;\n};\n/**\n * Converts JSS array value to a CSS string.\n *\n * `margin: [['5px', '10px']]` > `margin: 5px 10px;`\n * `border: ['1px', '2px']` > `border: 1px, 2px;`\n * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`\n * `color: ['red', !important]` > `color: red !important;`\n */\n\n\nvar toCssValue = function toCssValue(value) {\n if (!Array.isArray(value)) return value;\n var cssValue = ''; // Support space separated values via `[['5px', '10px']]`.\n\n if (Array.isArray(value[0])) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === '!important') break;\n if (cssValue) cssValue += ', ';\n cssValue += join(value[i], ' ');\n }\n } else cssValue = join(value, ', '); // Add !important, because it was ignored.\n\n\n if (value[value.length - 1] === '!important') {\n cssValue += ' !important';\n }\n\n return cssValue;\n};\n\nfunction getWhitespaceSymbols(options) {\n if (options && options.format === false) {\n return {\n linebreak: '',\n space: ''\n };\n }\n\n return {\n linebreak: '\\n',\n space: ' '\n };\n}\n\n/**\n * Indent a string.\n * http://jsperf.com/array-join-vs-for\n */\n\nfunction indentStr(str, indent) {\n var result = '';\n\n for (var index = 0; index < indent; index++) {\n result += ' ';\n }\n\n return result + str;\n}\n/**\n * Converts a Rule to CSS string.\n */\n\n\nfunction toCss(selector, style, options) {\n if (options === void 0) {\n options = {};\n }\n\n var result = '';\n if (!style) return result;\n var _options = options,\n _options$indent = _options.indent,\n indent = _options$indent === void 0 ? 0 : _options$indent;\n var fallbacks = style.fallbacks;\n\n if (options.format === false) {\n indent = -Infinity;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak,\n space = _getWhitespaceSymbols.space;\n\n if (selector) indent++; // Apply fallbacks first.\n\n if (fallbacks) {\n // Array syntax {fallbacks: [{prop: value}]}\n if (Array.isArray(fallbacks)) {\n for (var index = 0; index < fallbacks.length; index++) {\n var fallback = fallbacks[index];\n\n for (var prop in fallback) {\n var value = fallback[prop];\n\n if (value != null) {\n if (result) result += linebreak;\n result += indentStr(prop + \":\" + space + toCssValue(value) + \";\", indent);\n }\n }\n }\n } else {\n // Object syntax {fallbacks: {prop: value}}\n for (var _prop in fallbacks) {\n var _value = fallbacks[_prop];\n\n if (_value != null) {\n if (result) result += linebreak;\n result += indentStr(_prop + \":\" + space + toCssValue(_value) + \";\", indent);\n }\n }\n }\n }\n\n for (var _prop2 in style) {\n var _value2 = style[_prop2];\n\n if (_value2 != null && _prop2 !== 'fallbacks') {\n if (result) result += linebreak;\n result += indentStr(_prop2 + \":\" + space + toCssValue(_value2) + \";\", indent);\n }\n } // Allow empty style in this case, because properties will be added dynamically.\n\n\n if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined.\n\n if (!selector) return result;\n indent--;\n if (result) result = \"\" + linebreak + result + linebreak;\n return indentStr(\"\" + selector + space + \"{\" + result, indent) + indentStr('}', indent);\n}\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`\\s])/g;\nvar nativeEscape = typeof CSS !== 'undefined' && CSS.escape;\nvar escape = (function (str) {\n return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\\\$1');\n});\n\nvar BaseStyleRule =\n/*#__PURE__*/\nfunction () {\n function BaseStyleRule(key, style, options) {\n this.type = 'style';\n this.isProcessed = false;\n var sheet = options.sheet,\n Renderer = options.Renderer;\n this.key = key;\n this.options = options;\n this.style = style;\n if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer();\n }\n /**\n * Get or set a style property.\n */\n\n\n var _proto = BaseStyleRule.prototype;\n\n _proto.prop = function prop(name, value, options) {\n // It's a getter.\n if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed.\n\n var force = options ? options.force : false;\n if (!force && this.style[name] === value) return this;\n var newValue = value;\n\n if (!options || options.process !== false) {\n newValue = this.options.jss.plugins.onChangeValue(value, name, this);\n }\n\n var isEmpty = newValue == null || newValue === false;\n var isDefined = name in this.style; // Value is empty and wasn't defined before.\n\n if (isEmpty && !isDefined && !force) return this; // We are going to remove this value.\n\n var remove = isEmpty && isDefined;\n if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true.\n\n if (this.renderable && this.renderer) {\n if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue);\n return this;\n }\n\n var sheet = this.options.sheet;\n\n if (sheet && sheet.attached) {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Rule is not linked. Missing sheet option \"link: true\".') : void 0;\n }\n\n return this;\n };\n\n return BaseStyleRule;\n}();\nvar StyleRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(StyleRule, _BaseStyleRule);\n\n function StyleRule(key, style, options) {\n var _this;\n\n _this = _BaseStyleRule.call(this, key, style, options) || this;\n var selector = options.selector,\n scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n\n if (selector) {\n _this.selectorText = selector;\n } else if (scoped !== false) {\n _this.id = generateId(_assertThisInitialized(_assertThisInitialized(_this)), sheet);\n _this.selectorText = \".\" + escape(_this.id);\n }\n\n return _this;\n }\n /**\n * Set selector string.\n * Attention: use this with caution. Most browsers didn't implement\n * selectorText setter, so this may result in rerendering of entire Style Sheet.\n */\n\n\n var _proto2 = StyleRule.prototype;\n\n /**\n * Apply rule to an element inline.\n */\n _proto2.applyTo = function applyTo(renderable) {\n var renderer = this.renderer;\n\n if (renderer) {\n var json = this.toJSON();\n\n for (var prop in json) {\n renderer.setProperty(renderable, prop, json[prop]);\n }\n }\n\n return this;\n }\n /**\n * Returns JSON representation of the rule.\n * Fallbacks are not supported.\n * Useful for inline styles.\n */\n ;\n\n _proto2.toJSON = function toJSON() {\n var json = {};\n\n for (var prop in this.style) {\n var value = this.style[prop];\n if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value);\n }\n\n return json;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto2.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.selectorText, this.style, opts);\n };\n\n _createClass(StyleRule, [{\n key: \"selector\",\n set: function set(selector) {\n if (selector === this.selectorText) return;\n this.selectorText = selector;\n var renderer = this.renderer,\n renderable = this.renderable;\n if (!renderable || !renderer) return;\n var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule.\n\n if (!hasChanged) {\n renderer.replaceRule(renderable, this);\n }\n }\n /**\n * Get selector string.\n */\n ,\n get: function get() {\n return this.selectorText;\n }\n }]);\n\n return StyleRule;\n}(BaseStyleRule);\nvar pluginStyleRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (key[0] === '@' || options.parent && options.parent.type === 'keyframes') {\n return null;\n }\n\n return new StyleRule(key, style, options);\n }\n};\n\nvar defaultToStringOptions = {\n indent: 1,\n children: true\n};\nvar atRegExp = /@([\\w-]+)/;\n/**\n * Conditional rule for @media, @supports\n */\n\nvar ConditionalRule =\n/*#__PURE__*/\nfunction () {\n function ConditionalRule(key, styles, options) {\n this.type = 'conditional';\n this.isProcessed = false;\n this.key = key;\n var atMatch = key.match(atRegExp);\n this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate.\n\n this.query = options.name || \"@\" + this.at;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = ConditionalRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions.indent;\n if (options.children == null) options.children = defaultToStringOptions.children;\n\n if (options.children === false) {\n return this.query + \" {}\";\n }\n\n var children = this.rules.toString(options);\n return children ? this.query + \" {\" + linebreak + children + linebreak + \"}\" : '';\n };\n\n return ConditionalRule;\n}();\nvar keyRegExp = /@container|@media|@supports\\s+/;\nvar pluginConditionalRule = {\n onCreateRule: function onCreateRule(key, styles, options) {\n return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null;\n }\n};\n\nvar defaultToStringOptions$1 = {\n indent: 1,\n children: true\n};\nvar nameRegExp = /@keyframes\\s+([\\w-]+)/;\n/**\n * Rule for @keyframes\n */\n\nvar KeyframesRule =\n/*#__PURE__*/\nfunction () {\n function KeyframesRule(key, frames, options) {\n this.type = 'keyframes';\n this.at = '@keyframes';\n this.isProcessed = false;\n var nameMatch = key.match(nameRegExp);\n\n if (nameMatch && nameMatch[1]) {\n this.name = nameMatch[1];\n } else {\n this.name = 'noname';\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Bad keyframes name \" + key) : void 0;\n }\n\n this.key = this.type + \"-\" + this.name;\n this.options = options;\n var scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n this.id = scoped === false ? this.name : escape(generateId(this, sheet));\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, options, {\n parent: this\n }));\n }\n\n this.rules.process();\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = KeyframesRule.prototype;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions$1;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions$1.indent;\n if (options.children == null) options.children = defaultToStringOptions$1.children;\n\n if (options.children === false) {\n return this.at + \" \" + this.id + \" {}\";\n }\n\n var children = this.rules.toString(options);\n if (children) children = \"\" + linebreak + children + linebreak;\n return this.at + \" \" + this.id + \" {\" + children + \"}\";\n };\n\n return KeyframesRule;\n}();\nvar keyRegExp$1 = /@keyframes\\s+/;\nvar refRegExp = /\\$([\\w-]+)/g;\n\nvar findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) {\n if (typeof val === 'string') {\n return val.replace(refRegExp, function (match, name) {\n if (name in keyframes) {\n return keyframes[name];\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Referenced keyframes rule \\\"\" + name + \"\\\" is not defined.\") : void 0;\n return match;\n });\n }\n\n return val;\n};\n/**\n * Replace the reference for a animation name.\n */\n\n\nvar replaceRef = function replaceRef(style, prop, keyframes) {\n var value = style[prop];\n var refKeyframe = findReferencedKeyframe(value, keyframes);\n\n if (refKeyframe !== value) {\n style[prop] = refKeyframe;\n }\n};\n\nvar pluginKeyframesRule = {\n onCreateRule: function onCreateRule(key, frames, options) {\n return typeof key === 'string' && keyRegExp$1.test(key) ? new KeyframesRule(key, frames, options) : null;\n },\n // Animation name ref replacer.\n onProcessStyle: function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style' || !sheet) return style;\n if ('animation-name' in style) replaceRef(style, 'animation-name', sheet.keyframes);\n if ('animation' in style) replaceRef(style, 'animation', sheet.keyframes);\n return style;\n },\n onChangeValue: function onChangeValue(val, prop, rule) {\n var sheet = rule.options.sheet;\n\n if (!sheet) {\n return val;\n }\n\n switch (prop) {\n case 'animation':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n case 'animation-name':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n default:\n return val;\n }\n }\n};\n\nvar KeyframeRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(KeyframeRule, _BaseStyleRule);\n\n function KeyframeRule() {\n return _BaseStyleRule.apply(this, arguments) || this;\n }\n\n var _proto = KeyframeRule.prototype;\n\n /**\n * Generates a CSS string.\n */\n _proto.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.key, this.style, opts);\n };\n\n return KeyframeRule;\n}(BaseStyleRule);\nvar pluginKeyframeRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (options.parent && options.parent.type === 'keyframes') {\n return new KeyframeRule(key, style, options);\n }\n\n return null;\n }\n};\n\nvar FontFaceRule =\n/*#__PURE__*/\nfunction () {\n function FontFaceRule(key, style, options) {\n this.type = 'font-face';\n this.at = '@font-face';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = FontFaceRule.prototype;\n\n _proto.toString = function toString(options) {\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (Array.isArray(this.style)) {\n var str = '';\n\n for (var index = 0; index < this.style.length; index++) {\n str += toCss(this.at, this.style[index]);\n if (this.style[index + 1]) str += linebreak;\n }\n\n return str;\n }\n\n return toCss(this.at, this.style, options);\n };\n\n return FontFaceRule;\n}();\nvar keyRegExp$2 = /@font-face/;\nvar pluginFontFaceRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null;\n }\n};\n\nvar ViewportRule =\n/*#__PURE__*/\nfunction () {\n function ViewportRule(key, style, options) {\n this.type = 'viewport';\n this.at = '@viewport';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = ViewportRule.prototype;\n\n _proto.toString = function toString(options) {\n return toCss(this.key, this.style, options);\n };\n\n return ViewportRule;\n}();\nvar pluginViewportRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null;\n }\n};\n\nvar SimpleRule =\n/*#__PURE__*/\nfunction () {\n function SimpleRule(key, value, options) {\n this.type = 'simple';\n this.isProcessed = false;\n this.key = key;\n this.value = value;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n var _proto = SimpleRule.prototype;\n\n _proto.toString = function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + \" \" + this.value[index] + \";\";\n if (this.value[index + 1]) str += '\\n';\n }\n\n return str;\n }\n\n return this.key + \" \" + this.value + \";\";\n };\n\n return SimpleRule;\n}();\nvar keysMap = {\n '@charset': true,\n '@import': true,\n '@namespace': true\n};\nvar pluginSimpleRule = {\n onCreateRule: function onCreateRule(key, value, options) {\n return key in keysMap ? new SimpleRule(key, value, options) : null;\n }\n};\n\nvar plugins = [pluginStyleRule, pluginConditionalRule, pluginKeyframesRule, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule];\n\nvar defaultUpdateOptions = {\n process: true\n};\nvar forceUpdateOptions = {\n force: true,\n process: true\n /**\n * Contains rules objects and allows adding/removing etc.\n * Is used for e.g. by `StyleSheet` or `ConditionalRule`.\n */\n\n};\n\nvar RuleList =\n/*#__PURE__*/\nfunction () {\n // Rules registry for access by .get() method.\n // It contains the same rule registered by name and by selector.\n // Original styles object.\n // Used to ensure correct rules order.\n function RuleList(options) {\n this.map = {};\n this.raw = {};\n this.index = [];\n this.counter = 0;\n this.options = options;\n this.classes = options.classes;\n this.keyframes = options.keyframes;\n }\n /**\n * Create and register rule.\n *\n * Will not render after Style Sheet was rendered the first time.\n */\n\n\n var _proto = RuleList.prototype;\n\n _proto.add = function add(name, decl, ruleOptions) {\n var _this$options = this.options,\n parent = _this$options.parent,\n sheet = _this$options.sheet,\n jss = _this$options.jss,\n Renderer = _this$options.Renderer,\n generateId = _this$options.generateId,\n scoped = _this$options.scoped;\n\n var options = _extends({\n classes: this.classes,\n parent: parent,\n sheet: sheet,\n jss: jss,\n Renderer: Renderer,\n generateId: generateId,\n scoped: scoped,\n name: name,\n keyframes: this.keyframes,\n selector: undefined\n }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but\n // `sheet.addRule()` opens the door for any duplicate rule name. When this happens\n // we need to make the key unique within this RuleList instance scope.\n\n\n var key = name;\n\n if (name in this.raw) {\n key = name + \"-d\" + this.counter++;\n } // We need to save the original decl before creating the rule\n // because cache plugin needs to use it as a key to return a cached rule.\n\n\n this.raw[key] = decl;\n\n if (key in this.classes) {\n // E.g. rules inside of @media container\n options.selector = \".\" + escape(this.classes[key]);\n }\n\n var rule = createRule(key, decl, options);\n if (!rule) return null;\n this.register(rule);\n var index = options.index === undefined ? this.index.length : options.index;\n this.index.splice(index, 0, rule);\n return rule;\n }\n /**\n * Replace rule.\n * Create a new rule and remove old one instead of overwriting\n * because we want to invoke onCreateRule hook to make plugins work.\n */\n ;\n\n _proto.replace = function replace(name, decl, ruleOptions) {\n var oldRule = this.get(name);\n var oldIndex = this.index.indexOf(oldRule);\n\n if (oldRule) {\n this.remove(oldRule);\n }\n\n var options = ruleOptions;\n if (oldIndex !== -1) options = _extends({}, ruleOptions, {\n index: oldIndex\n });\n return this.add(name, decl, options);\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.get = function get(nameOrSelector) {\n return this.map[nameOrSelector];\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.remove = function remove(rule) {\n this.unregister(rule);\n delete this.raw[rule.key];\n this.index.splice(this.index.indexOf(rule), 1);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.index.indexOf(rule);\n }\n /**\n * Run `onProcessRule()` plugins on every rule.\n */\n ;\n\n _proto.process = function process() {\n var plugins = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop\n // we end up with very hard-to-track-down side effects.\n\n this.index.slice(0).forEach(plugins.onProcessRule, plugins);\n }\n /**\n * Register a rule in `.map`, `.classes` and `.keyframes` maps.\n */\n ;\n\n _proto.register = function register(rule) {\n this.map[rule.key] = rule;\n\n if (rule instanceof StyleRule) {\n this.map[rule.selector] = rule;\n if (rule.id) this.classes[rule.key] = rule.id;\n } else if (rule instanceof KeyframesRule && this.keyframes) {\n this.keyframes[rule.name] = rule.id;\n }\n }\n /**\n * Unregister a rule.\n */\n ;\n\n _proto.unregister = function unregister(rule) {\n delete this.map[rule.key];\n\n if (rule instanceof StyleRule) {\n delete this.map[rule.selector];\n delete this.classes[rule.key];\n } else if (rule instanceof KeyframesRule) {\n delete this.keyframes[rule.name];\n }\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var name;\n var data;\n var options;\n\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n name = arguments.length <= 0 ? undefined : arguments[0];\n data = arguments.length <= 1 ? undefined : arguments[1];\n options = arguments.length <= 2 ? undefined : arguments[2];\n } else {\n data = arguments.length <= 0 ? undefined : arguments[0];\n options = arguments.length <= 1 ? undefined : arguments[1];\n name = null;\n }\n\n if (name) {\n this.updateOne(this.get(name), data, options);\n } else {\n for (var index = 0; index < this.index.length; index++) {\n this.updateOne(this.index[index], data, options);\n }\n }\n }\n /**\n * Execute plugins, update rule props.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n if (options === void 0) {\n options = defaultUpdateOptions;\n }\n\n var _this$options2 = this.options,\n plugins = _this$options2.jss.plugins,\n sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule.\n\n if (rule.rules instanceof RuleList) {\n rule.rules.update(data, options);\n return;\n }\n\n var style = rule.style;\n plugins.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook.\n\n if (options.process && style && style !== rule.style) {\n // We need to run the plugins in case new `style` relies on syntax plugins.\n plugins.onProcessStyle(rule.style, rule, sheet); // Update and add props.\n\n for (var prop in rule.style) {\n var nextValue = rule.style[prop];\n 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.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (nextValue !== prevValue) {\n rule.prop(prop, nextValue, forceUpdateOptions);\n }\n } // Remove props.\n\n\n for (var _prop in style) {\n var _nextValue = rule.style[_prop];\n 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.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (_nextValue == null && _nextValue !== _prevValue) {\n rule.prop(_prop, null, forceUpdateOptions);\n }\n }\n }\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n var str = '';\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n for (var index = 0; index < this.index.length; index++) {\n var rule = this.index[index];\n var css = rule.toString(options); // No need to render an empty rule.\n\n if (!css && !link) continue;\n if (str) str += linebreak;\n str += css;\n }\n\n return str;\n };\n\n return RuleList;\n}();\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(styles, options) {\n this.attached = false;\n this.deployed = false;\n this.classes = {};\n this.keyframes = {};\n this.options = _extends({}, options, {\n sheet: this,\n parent: this,\n classes: this.classes,\n keyframes: this.keyframes\n });\n\n if (options.Renderer) {\n this.renderer = new options.Renderer(this);\n }\n\n this.rules = new RuleList(this.options);\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Attach renderable to the render tree.\n */\n\n\n var _proto = StyleSheet.prototype;\n\n _proto.attach = function attach() {\n if (this.attached) return this;\n if (this.renderer) this.renderer.attach();\n this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached.\n\n if (!this.deployed) this.deploy();\n return this;\n }\n /**\n * Remove renderable from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.attached) return this;\n if (this.renderer) this.renderer.detach();\n this.attached = false;\n return this;\n }\n /**\n * Add a rule to the current stylesheet.\n * Will insert a rule also after the stylesheet has been rendered first time.\n */\n ;\n\n _proto.addRule = function addRule(name, decl, options) {\n var queue = this.queue; // Plugins can create rules.\n // In order to preserve the right order, we need to queue all `.addRule` calls,\n // which happen after the first `rules.add()` call.\n\n if (this.attached && !queue) this.queue = [];\n var rule = this.rules.add(name, decl, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n\n if (this.attached) {\n if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (queue) queue.push(rule);else {\n this.insertRule(rule);\n\n if (this.queue) {\n this.queue.forEach(this.insertRule, this);\n this.queue = undefined;\n }\n }\n return rule;\n } // We can't add rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return rule;\n }\n /**\n * Replace a rule in the current stylesheet.\n */\n ;\n\n _proto.replaceRule = function replaceRule(nameOrSelector, decl, options) {\n var oldRule = this.rules.get(nameOrSelector);\n if (!oldRule) return this.addRule(nameOrSelector, decl, options);\n var newRule = this.rules.replace(nameOrSelector, decl, options);\n\n if (newRule) {\n this.options.jss.plugins.onProcessRule(newRule);\n }\n\n if (this.attached) {\n if (!this.deployed) return newRule; // Don't replace / delete rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (this.renderer) {\n if (!newRule) {\n this.renderer.deleteRule(oldRule);\n } else if (oldRule.renderable) {\n this.renderer.replaceRule(oldRule.renderable, newRule);\n }\n }\n\n return newRule;\n } // We can't replace rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return newRule;\n }\n /**\n * Insert rule into the StyleSheet\n */\n ;\n\n _proto.insertRule = function insertRule(rule) {\n if (this.renderer) {\n this.renderer.insertRule(rule);\n }\n }\n /**\n * Create and add rules.\n * Will render also after Style Sheet was rendered the first time.\n */\n ;\n\n _proto.addRules = function addRules(styles, options) {\n var added = [];\n\n for (var name in styles) {\n var rule = this.addRule(name, styles[name], options);\n if (rule) added.push(rule);\n }\n\n return added;\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.getRule = function getRule(nameOrSelector) {\n return this.rules.get(nameOrSelector);\n }\n /**\n * Delete a rule by name.\n * Returns `true`: if rule has been deleted from the DOM.\n */\n ;\n\n _proto.deleteRule = function deleteRule(name) {\n var rule = typeof name === 'object' ? name : this.rules.get(name);\n\n if (!rule || // Style sheet was created without link: true and attached, in this case we\n // won't be able to remove the CSS rule from the DOM.\n this.attached && !rule.renderable) {\n return false;\n }\n\n this.rules.remove(rule);\n\n if (this.attached && rule.renderable && this.renderer) {\n return this.renderer.deleteRule(rule.renderable);\n }\n\n return true;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Deploy pure CSS string to a renderable.\n */\n ;\n\n _proto.deploy = function deploy() {\n if (this.renderer) this.renderer.deploy();\n this.deployed = true;\n return this;\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var _this$rules;\n\n (_this$rules = this.rules).update.apply(_this$rules, arguments);\n\n return this;\n }\n /**\n * Updates a single rule.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n this.rules.updateOne(rule, data, options);\n return this;\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return StyleSheet;\n}();\n\nvar PluginsRegistry =\n/*#__PURE__*/\nfunction () {\n function PluginsRegistry() {\n this.plugins = {\n internal: [],\n external: []\n };\n this.registry = {};\n }\n\n var _proto = PluginsRegistry.prototype;\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n _proto.onCreateRule = function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.registry.onCreateRule.length; i++) {\n var rule = this.registry.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n\n return null;\n }\n /**\n * Call `onProcessRule` hooks.\n */\n ;\n\n _proto.onProcessRule = function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.registry.onProcessRule.length; i++) {\n this.registry.onProcessRule[i](rule, sheet);\n }\n\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n rule.isProcessed = true;\n }\n /**\n * Call `onProcessStyle` hooks.\n */\n ;\n\n _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) {\n for (var i = 0; i < this.registry.onProcessStyle.length; i++) {\n rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet);\n }\n }\n /**\n * Call `onProcessSheet` hooks.\n */\n ;\n\n _proto.onProcessSheet = function onProcessSheet(sheet) {\n for (var i = 0; i < this.registry.onProcessSheet.length; i++) {\n this.registry.onProcessSheet[i](sheet);\n }\n }\n /**\n * Call `onUpdate` hooks.\n */\n ;\n\n _proto.onUpdate = function onUpdate(data, rule, sheet, options) {\n for (var i = 0; i < this.registry.onUpdate.length; i++) {\n this.registry.onUpdate[i](data, rule, sheet, options);\n }\n }\n /**\n * Call `onChangeValue` hooks.\n */\n ;\n\n _proto.onChangeValue = function onChangeValue(value, prop, rule) {\n var processedValue = value;\n\n for (var i = 0; i < this.registry.onChangeValue.length; i++) {\n processedValue = this.registry.onChangeValue[i](processedValue, prop, rule);\n }\n\n return processedValue;\n }\n /**\n * Register a plugin.\n */\n ;\n\n _proto.use = function use(newPlugin, options) {\n if (options === void 0) {\n options = {\n queue: 'external'\n };\n }\n\n var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref.\n\n if (plugins.indexOf(newPlugin) !== -1) {\n return;\n }\n\n plugins.push(newPlugin);\n this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) {\n for (var name in plugin) {\n if (name in registry) {\n registry[name].push(plugin[name]);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown hook \\\"\" + name + \"\\\".\") : void 0;\n }\n }\n\n return registry;\n }, {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n });\n };\n\n return PluginsRegistry;\n}();\n\n/**\n * Sheets registry to access all instances in one place.\n */\n\nvar SheetsRegistry =\n/*#__PURE__*/\nfunction () {\n function SheetsRegistry() {\n this.registry = [];\n }\n\n var _proto = SheetsRegistry.prototype;\n\n /**\n * Register a Style Sheet.\n */\n _proto.add = function add(sheet) {\n var registry = this.registry;\n var index = sheet.options.index;\n if (registry.indexOf(sheet) !== -1) return;\n\n if (registry.length === 0 || index >= this.index) {\n registry.push(sheet);\n return;\n } // Find a position.\n\n\n for (var i = 0; i < registry.length; i++) {\n if (registry[i].options.index > index) {\n registry.splice(i, 0, sheet);\n return;\n }\n }\n }\n /**\n * Reset the registry.\n */\n ;\n\n _proto.reset = function reset() {\n this.registry = [];\n }\n /**\n * Remove a Style Sheet.\n */\n ;\n\n _proto.remove = function remove(sheet) {\n var index = this.registry.indexOf(sheet);\n this.registry.splice(index, 1);\n }\n /**\n * Convert all attached sheets to a CSS string.\n */\n ;\n\n _proto.toString = function toString(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n attached = _ref.attached,\n options = _objectWithoutPropertiesLoose(_ref, [\"attached\"]);\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n var css = '';\n\n for (var i = 0; i < this.registry.length; i++) {\n var sheet = this.registry[i];\n\n if (attached != null && sheet.attached !== attached) {\n continue;\n }\n\n if (css) css += linebreak;\n css += sheet.toString(options);\n }\n\n return css;\n };\n\n _createClass(SheetsRegistry, [{\n key: \"index\",\n\n /**\n * Current highest index number.\n */\n get: function get() {\n return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;\n }\n }]);\n\n return SheetsRegistry;\n}();\n\n/**\n * This is a global sheets registry. Only DomRenderer will add sheets to it.\n * On the server one should use an own SheetsRegistry instance and add the\n * sheets to it, because you need to make sure to create a new registry for\n * each request in order to not leak sheets across requests.\n */\n\nvar sheets = new SheetsRegistry();\n\n/* eslint-disable */\n\n/**\n * Now that `globalThis` is available on most platforms\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility)\n * we check for `globalThis` first. `globalThis` is necessary for jss\n * to run in Agoric's secure version of JavaScript (SES). Under SES,\n * `globalThis` exists, but `window`, `self`, and `Function('return\n * this')()` are all undefined for security reasons.\n *\n * https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\nvar globalThis$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' && window.Math === Math ? window : typeof self !== 'undefined' && self.Math === Math ? self : Function('return this')();\n\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (globalThis$1[ns] == null) globalThis$1[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\n\nvar moduleId = globalThis$1[ns]++;\n\nvar maxRules = 1e10;\n/**\n * Returns a function which generates unique class names based on counters.\n * When new generator function is created, rule counter is reseted.\n * We need to reset the rule counter for SSR for each request.\n */\n\nvar createGenerateId = function createGenerateId(options) {\n if (options === void 0) {\n options = {};\n }\n\n var ruleCounter = 0;\n\n var generateId = function generateId(rule, sheet) {\n ruleCounter += 1;\n\n if (ruleCounter > maxRules) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] You might have a memory leak. Rule counter is at \" + ruleCounter + \".\") : void 0;\n }\n\n var jssId = '';\n var prefix = '';\n\n if (sheet) {\n if (sheet.options.classNamePrefix) {\n prefix = sheet.options.classNamePrefix;\n }\n\n if (sheet.options.jss.id != null) {\n jssId = String(sheet.options.jss.id);\n }\n }\n\n if (options.minify) {\n // Using \"c\" because a number can't be the first char in a class name.\n return \"\" + (prefix || 'c') + moduleId + jssId + ruleCounter;\n }\n\n return prefix + rule.key + \"-\" + moduleId + (jssId ? \"-\" + jssId : '') + \"-\" + ruleCounter;\n };\n\n return generateId;\n};\n\n/**\n * Cache the value from the first time a function is called.\n */\n\nvar memoize = function memoize(fn) {\n var value;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n/**\n * Get a style property value.\n */\n\n\nvar getPropertyValue = function getPropertyValue(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n return cssRule.attributeStyleMap.get(prop);\n }\n\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n};\n/**\n * Set a style property.\n */\n\n\nvar setProperty = function setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = toCssValue(value);\n } // Support CSSTOM.\n\n\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.set(prop, cssValue);\n } else {\n var indexOfImportantFlag = cssValue ? cssValue.indexOf('!important') : -1;\n var cssValueWithoutImportantFlag = indexOfImportantFlag > -1 ? cssValue.substr(0, indexOfImportantFlag - 1) : cssValue;\n cssRule.style.setProperty(prop, cssValueWithoutImportantFlag, indexOfImportantFlag > -1 ? 'important' : '');\n }\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n\n return true;\n};\n/**\n * Remove a style property.\n */\n\n\nvar removeProperty = function removeProperty(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.delete(prop);\n } else {\n cssRule.style.removeProperty(prop);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] DOMException \\\"\" + err.message + \"\\\" was thrown. Tried to remove property \\\"\" + prop + \"\\\".\") : void 0;\n }\n};\n/**\n * Set the selector.\n */\n\n\nvar setSelector = function setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText; // Return false if setter was not successful.\n // Currently works in chrome only.\n\n return cssRule.selectorText === selectorText;\n};\n/**\n * Gets the `head` element upon the first call and caches it.\n * We assume it can't be null.\n */\n\n\nvar getHead = memoize(function () {\n return document.querySelector('head');\n});\n/**\n * Find attached sheet with an index higher than the passed one.\n */\n\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find attached sheet with the highest index.\n */\n\n\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find a comment with \"jss\" inside.\n */\n\n\nfunction findCommentNode(text) {\n var head = getHead();\n\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n\n return null;\n}\n/**\n * Find a node before which we can insert the sheet.\n */\n\n\nfunction findPrevNode(options) {\n var registry = sheets.registry;\n\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element\n };\n } // Otherwise insert after the last attached.\n\n\n sheet = findHighestSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element.nextSibling\n };\n }\n } // Try to find a comment placeholder if registry is empty.\n\n\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n\n if (comment) {\n return {\n parent: comment.parentNode,\n node: comment.nextSibling\n };\n } // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Insertion point \\\"\" + insertionPoint + \"\\\" not found.\") : void 0;\n }\n\n return false;\n}\n/**\n * Insert style element into the DOM.\n */\n\n\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n var nextNode = findPrevNode(options);\n\n if (nextNode !== false && nextNode.parent) {\n nextNode.parent.insertBefore(style, nextNode.node);\n return;\n } // Works with iframes and any node types.\n\n\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n var insertionPointElement = insertionPoint;\n var parentNode = insertionPointElement.parentNode;\n if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Insertion point is not in the DOM.') : void 0;\n return;\n }\n\n getHead().appendChild(style);\n}\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\n\n\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar _insertRule = function insertRule(container, rule, index) {\n try {\n if ('insertRule' in container) {\n container.insertRule(rule, index);\n } // Keyframes rule.\n else if ('appendRule' in container) {\n container.appendRule(rule);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] \" + err.message) : void 0;\n return false;\n }\n\n return container.cssRules[index];\n};\n\nvar getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, index) {\n var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong\n\n if (index === undefined || index > maxIndex) {\n // eslint-disable-next-line no-param-reassign\n return maxIndex;\n }\n\n return index;\n};\n\nvar createStyle = function createStyle() {\n var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we\n // insert rules after we insert the style tag.\n // It seems to kick-off the source order specificity algorithm.\n\n el.textContent = '\\n';\n return el;\n};\n\nvar DomRenderer =\n/*#__PURE__*/\nfunction () {\n // Will be empty if link: true option is not set, because\n // it is only for use together with insertRule API.\n function DomRenderer(sheet) {\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.hasInsertedRules = false;\n this.cssRules = [];\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) sheets.add(sheet);\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || createStyle();\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n /**\n * Insert style element into render tree.\n */\n\n\n var _proto = DomRenderer.prototype;\n\n _proto.attach = function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // most browsers create a new CSSStyleSheet, except of all IEs.\n\n var deployed = Boolean(this.sheet && this.sheet.deployed);\n\n if (this.hasInsertedRules && deployed) {\n this.hasInsertedRules = false;\n this.deploy();\n }\n }\n /**\n * Remove style element from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.sheet) return;\n var parentNode = this.element.parentNode;\n if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed.\n // Though IE will keep them and we need a consistent behavior.\n\n if (this.sheet.options.link) {\n this.cssRules = [];\n this.element.textContent = '\\n';\n }\n }\n /**\n * Inject CSS string into element.\n */\n ;\n\n _proto.deploy = function deploy() {\n var sheet = this.sheet;\n if (!sheet) return;\n\n if (sheet.options.link) {\n this.insertRules(sheet.rules);\n return;\n }\n\n this.element.textContent = \"\\n\" + sheet.toString() + \"\\n\";\n }\n /**\n * Insert RuleList into an element.\n */\n ;\n\n _proto.insertRules = function insertRules(rules, nativeParent) {\n for (var i = 0; i < rules.index.length; i++) {\n this.insertRule(rules.index[i], i, nativeParent);\n }\n }\n /**\n * Insert a rule into element.\n */\n ;\n\n _proto.insertRule = function insertRule(rule, index, nativeParent) {\n if (nativeParent === void 0) {\n nativeParent = this.element.sheet;\n }\n\n if (rule.rules) {\n var parent = rule;\n var latestNativeParent = nativeParent;\n\n if (rule.type === 'conditional' || rule.type === 'keyframes') {\n var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first.\n\n\n latestNativeParent = _insertRule(nativeParent, parent.toString({\n children: false\n }), _insertionIndex);\n\n if (latestNativeParent === false) {\n return false;\n }\n\n this.refCssRule(rule, _insertionIndex, latestNativeParent);\n }\n\n this.insertRules(parent.rules, latestNativeParent);\n return latestNativeParent;\n }\n\n var ruleStr = rule.toString();\n if (!ruleStr) return false;\n var insertionIndex = getValidRuleInsertionIndex(nativeParent, index);\n\n var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex);\n\n if (nativeRule === false) {\n return false;\n }\n\n this.hasInsertedRules = true;\n this.refCssRule(rule, insertionIndex, nativeRule);\n return nativeRule;\n };\n\n _proto.refCssRule = function refCssRule(rule, index, cssRule) {\n rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules\n // like rules inside media queries or keyframes\n\n if (rule.options.parent instanceof StyleSheet) {\n this.cssRules.splice(index, 0, cssRule);\n }\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.deleteRule = function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return true;\n }\n /**\n * Get index of a CSS Rule.\n */\n ;\n\n _proto.indexOf = function indexOf(cssRule) {\n return this.cssRules.indexOf(cssRule);\n }\n /**\n * Generate a new CSS rule and replace the existing one.\n */\n ;\n\n _proto.replaceRule = function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n this.element.sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return this.insertRule(rule, index);\n }\n /**\n * Get all rules elements.\n */\n ;\n\n _proto.getRules = function getRules() {\n return this.element.sheet.cssRules;\n };\n\n return DomRenderer;\n}();\n\nvar instanceCounter = 0;\n\nvar Jss =\n/*#__PURE__*/\nfunction () {\n function Jss(options) {\n this.id = instanceCounter++;\n this.version = \"10.10.0\";\n this.plugins = new PluginsRegistry();\n this.options = {\n id: {\n minify: false\n },\n createGenerateId: createGenerateId,\n Renderer: isInBrowser ? DomRenderer : null,\n plugins: []\n };\n this.generateId = createGenerateId({\n minify: false\n });\n\n for (var i = 0; i < plugins.length; i++) {\n this.plugins.use(plugins[i], {\n queue: 'internal'\n });\n }\n\n this.setup(options);\n }\n /**\n * Prepares various options, applies plugins.\n * Should not be used twice on the same instance, because there is no plugins\n * deduplication logic.\n */\n\n\n var _proto = Jss.prototype;\n\n _proto.setup = function setup(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (options.createGenerateId) {\n this.options.createGenerateId = options.createGenerateId;\n }\n\n if (options.id) {\n this.options.id = _extends({}, this.options.id, options.id);\n }\n\n if (options.createGenerateId || options.id) {\n this.generateId = this.options.createGenerateId(this.options.id);\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n\n if ('Renderer' in options) {\n this.options.Renderer = options.Renderer;\n } // eslint-disable-next-line prefer-spread\n\n\n if (options.plugins) this.use.apply(this, options.plugins);\n return this;\n }\n /**\n * Create a Style Sheet.\n */\n ;\n\n _proto.createStyleSheet = function createStyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n index = _options.index;\n\n if (typeof index !== 'number') {\n index = sheets.index === 0 ? 0 : sheets.index + 1;\n }\n\n var sheet = new StyleSheet(styles, _extends({}, options, {\n jss: this,\n generateId: options.generateId || this.generateId,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n return sheet;\n }\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n ;\n\n _proto.removeStyleSheet = function removeStyleSheet(sheet) {\n sheet.detach();\n sheets.remove(sheet);\n return this;\n }\n /**\n * Create a rule without a Style Sheet.\n * [Deprecated] will be removed in the next major version.\n */\n ;\n\n _proto.createRule = function createRule$1(name, style, options) {\n if (style === void 0) {\n style = {};\n }\n\n if (options === void 0) {\n options = {};\n }\n\n // Enable rule without name for inline styles.\n if (typeof name === 'object') {\n return this.createRule(undefined, name, style);\n }\n\n var ruleOptions = _extends({}, options, {\n name: name,\n jss: this,\n Renderer: this.options.Renderer\n });\n\n if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n if (!ruleOptions.keyframes) ruleOptions.keyframes = {};\n\n var rule = createRule(name, style, ruleOptions);\n\n if (rule) this.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n ;\n\n _proto.use = function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n _this.plugins.use(plugin);\n });\n return this;\n };\n\n return Jss;\n}();\n\nvar createJss = function createJss(options) {\n return new Jss(options);\n};\n\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n * Used in react-jss.\n */\n\nvar SheetsManager =\n/*#__PURE__*/\nfunction () {\n function SheetsManager() {\n this.length = 0;\n this.sheets = new WeakMap();\n }\n\n var _proto = SheetsManager.prototype;\n\n _proto.get = function get(key) {\n var entry = this.sheets.get(key);\n return entry && entry.sheet;\n };\n\n _proto.add = function add(key, sheet) {\n if (this.sheets.has(key)) return;\n this.length++;\n this.sheets.set(key, {\n sheet: sheet,\n refs: 0\n });\n };\n\n _proto.manage = function manage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs === 0) {\n entry.sheet.attach();\n }\n\n entry.refs++;\n return entry.sheet;\n }\n\n warning(false, \"[JSS] SheetsManager: can't find sheet to manage\");\n return undefined;\n };\n\n _proto.unmanage = function unmanage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs > 0) {\n entry.refs--;\n if (entry.refs === 0) entry.sheet.detach();\n }\n } else {\n warning(false, \"SheetsManager: can't find sheet to unmanage\");\n }\n };\n\n _createClass(SheetsManager, [{\n key: \"size\",\n get: function get() {\n return this.length;\n }\n }]);\n\n return SheetsManager;\n}();\n\n/**\n* Export a constant indicating if this browser has CSSTOM support.\n* https://developers.google.com/web/updates/2018/03/cssom\n*/\nvar hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS;\n\n/**\n * Extracts a styles object with only props that contain function values.\n */\nfunction getDynamicStyles(styles) {\n var to = null;\n\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value;\n\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n\n return to;\n}\n\n/**\n * A better abstraction over CSS.\n *\n * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present\n * @website https://github.com/cssinjs/jss\n * @license MIT\n */\nvar index = createJss();\n\nexport default index;\nexport { RuleList, SheetsManager, SheetsRegistry, createJss as create, createGenerateId, createRule, getDynamicStyles, hasCSSTOMSupport, sheets, toCssValue };\n"],"sourceRoot":""}