{"version":3,"file":"static/js/454_82485584104737226f0a.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/freeze.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/element.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/global.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/process.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/scheduler.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObservation.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@juggle+resize-observer@3.4.0/node_modules/@juggle/resize-observer/lib/ResizeObserver.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/jss@10.10.0/node_modules/jss/dist/jss.esm.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/jwt-decode@3.1.2/node_modules/jwt-decode/build/jwt-decode.esm.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/keyborg@2.5.0/node_modules/keyborg/dist/esm/index.js"],"sourcesContent":["var resizeObservers = [];\nexport { resizeObservers };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","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","function e(e){this.message=e}e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\";var r=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,\"\");if(t.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,a=0,i=0,c=\"\";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","// src/WeakRefInstance.ts\nvar _canUseWeakRef = typeof WeakRef !== \"undefined\";\nvar WeakRefInstance = class {\n constructor(instance) {\n if (_canUseWeakRef && typeof instance === \"object\") {\n this._weakRef = new WeakRef(instance);\n } else {\n this._instance = instance;\n }\n }\n /**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakRef/deref}\n */\n deref() {\n var _a, _b;\n let instance;\n if (this._weakRef) {\n instance = (_a = this._weakRef) == null ? void 0 : _a.deref();\n if (!instance) {\n delete this._weakRef;\n }\n } else {\n instance = this._instance;\n if ((_b = instance == null ? void 0 : instance.isDisposed) == null ? void 0 : _b.call(instance)) {\n delete this._instance;\n }\n }\n return instance;\n }\n};\n\n// src/FocusEvent.ts\nvar KEYBORG_FOCUSIN = \"keyborg:focusin\";\nvar KEYBORG_FOCUSOUT = \"keyborg:focusout\";\nfunction canOverrideNativeFocus(win) {\n const HTMLElement = win.HTMLElement;\n const origFocus = HTMLElement.prototype.focus;\n let isCustomFocusCalled = false;\n HTMLElement.prototype.focus = function focus() {\n isCustomFocusCalled = true;\n };\n const btn = win.document.createElement(\"button\");\n btn.focus();\n HTMLElement.prototype.focus = origFocus;\n return isCustomFocusCalled;\n}\nvar _canOverrideNativeFocus = false;\nfunction nativeFocus(element) {\n const focus = element.focus;\n if (focus.__keyborgNativeFocus) {\n focus.__keyborgNativeFocus.call(element);\n } else {\n element.focus();\n }\n}\nfunction setupFocusEvent(win) {\n const kwin = win;\n if (!_canOverrideNativeFocus) {\n _canOverrideNativeFocus = canOverrideNativeFocus(kwin);\n }\n const origFocus = kwin.HTMLElement.prototype.focus;\n if (origFocus.__keyborgNativeFocus) {\n return;\n }\n kwin.HTMLElement.prototype.focus = focus;\n const shadowTargets = /* @__PURE__ */ new Set();\n const focusOutHandler = (e) => {\n const target = e.target;\n if (!target) {\n return;\n }\n const event = new CustomEvent(KEYBORG_FOCUSOUT, {\n cancelable: true,\n bubbles: true,\n // Allows the event to bubble past an open shadow root\n composed: true,\n detail: {\n originalEvent: e\n }\n });\n target.dispatchEvent(event);\n };\n const focusInHandler = (e) => {\n const target = e.target;\n if (!target) {\n return;\n }\n let node = e.composedPath()[0];\n const currentShadows = /* @__PURE__ */ new Set();\n while (node) {\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n currentShadows.add(node);\n node = node.host;\n } else {\n node = node.parentNode;\n }\n }\n for (const shadowRootWeakRef of shadowTargets) {\n const shadowRoot = shadowRootWeakRef.deref();\n if (!shadowRoot || !currentShadows.has(shadowRoot)) {\n shadowTargets.delete(shadowRootWeakRef);\n if (shadowRoot) {\n shadowRoot.removeEventListener(\"focusin\", focusInHandler, true);\n shadowRoot.removeEventListener(\"focusout\", focusOutHandler, true);\n }\n }\n }\n onFocusIn(target, e.relatedTarget || void 0);\n };\n const onFocusIn = (target, relatedTarget, originalEvent) => {\n var _a;\n const shadowRoot = target.shadowRoot;\n if (shadowRoot) {\n for (const shadowRootWeakRef of shadowTargets) {\n if (shadowRootWeakRef.deref() === shadowRoot) {\n return;\n }\n }\n shadowRoot.addEventListener(\"focusin\", focusInHandler, true);\n shadowRoot.addEventListener(\"focusout\", focusOutHandler, true);\n shadowTargets.add(new WeakRefInstance(shadowRoot));\n return;\n }\n const details = {\n relatedTarget,\n originalEvent\n };\n const event = new CustomEvent(KEYBORG_FOCUSIN, {\n cancelable: true,\n bubbles: true,\n // Allows the event to bubble past an open shadow root\n composed: true,\n detail: details\n });\n event.details = details;\n if (_canOverrideNativeFocus || data.lastFocusedProgrammatically) {\n details.isFocusedProgrammatically = target === ((_a = data.lastFocusedProgrammatically) == null ? void 0 : _a.deref());\n data.lastFocusedProgrammatically = void 0;\n }\n target.dispatchEvent(event);\n };\n const data = kwin.__keyborgData = {\n focusInHandler,\n focusOutHandler,\n shadowTargets\n };\n kwin.document.addEventListener(\n \"focusin\",\n kwin.__keyborgData.focusInHandler,\n true\n );\n kwin.document.addEventListener(\n \"focusout\",\n kwin.__keyborgData.focusOutHandler,\n true\n );\n function focus() {\n const keyborgNativeFocusEvent = kwin.__keyborgData;\n if (keyborgNativeFocusEvent) {\n keyborgNativeFocusEvent.lastFocusedProgrammatically = new WeakRefInstance(\n this\n );\n }\n return origFocus.apply(this, arguments);\n }\n let activeElement = kwin.document.activeElement;\n while (activeElement && activeElement.shadowRoot) {\n onFocusIn(activeElement);\n activeElement = activeElement.shadowRoot.activeElement;\n }\n focus.__keyborgNativeFocus = origFocus;\n}\nfunction disposeFocusEvent(win) {\n const kwin = win;\n const proto = kwin.HTMLElement.prototype;\n const origFocus = proto.focus.__keyborgNativeFocus;\n const keyborgNativeFocusEvent = kwin.__keyborgData;\n if (keyborgNativeFocusEvent) {\n kwin.document.removeEventListener(\n \"focusin\",\n keyborgNativeFocusEvent.focusInHandler,\n true\n );\n kwin.document.removeEventListener(\n \"focusout\",\n keyborgNativeFocusEvent.focusOutHandler,\n true\n );\n for (const shadowRootWeakRef of keyborgNativeFocusEvent.shadowTargets) {\n const shadowRoot = shadowRootWeakRef.deref();\n if (shadowRoot) {\n shadowRoot.removeEventListener(\n \"focusin\",\n keyborgNativeFocusEvent.focusInHandler,\n true\n );\n shadowRoot.removeEventListener(\n \"focusout\",\n keyborgNativeFocusEvent.focusOutHandler,\n true\n );\n }\n }\n keyborgNativeFocusEvent.shadowTargets.clear();\n delete kwin.__keyborgData;\n }\n if (origFocus) {\n proto.focus = origFocus;\n }\n}\nfunction getLastFocusedProgrammatically(win) {\n var _a;\n const keyborgNativeFocusEvent = win.__keyborgData;\n return keyborgNativeFocusEvent ? ((_a = keyborgNativeFocusEvent.lastFocusedProgrammatically) == null ? void 0 : _a.deref()) || null : void 0;\n}\n\n// src/Keyborg.ts\nvar _dismissTimeout = 500;\nvar _lastId = 0;\nvar KeyborgCore = class {\n constructor(win, props) {\n this._isNavigatingWithKeyboard_DO_NOT_USE = false;\n this._onFocusIn = (e) => {\n if (this._isMouseUsedTimer) {\n return;\n }\n if (this.isNavigatingWithKeyboard) {\n return;\n }\n const details = e.detail;\n if (!details.relatedTarget) {\n return;\n }\n if (details.isFocusedProgrammatically || details.isFocusedProgrammatically === void 0) {\n return;\n }\n this.isNavigatingWithKeyboard = true;\n };\n this._onMouseDown = (e) => {\n if (e.buttons === 0 || e.clientX === 0 && e.clientY === 0 && e.screenX === 0 && e.screenY === 0) {\n return;\n }\n const win = this._win;\n if (win) {\n if (this._isMouseUsedTimer) {\n win.clearTimeout(this._isMouseUsedTimer);\n }\n this._isMouseUsedTimer = win.setTimeout(() => {\n delete this._isMouseUsedTimer;\n }, 1e3);\n }\n this.isNavigatingWithKeyboard = false;\n };\n this._onKeyDown = (e) => {\n const isNavigatingWithKeyboard = this.isNavigatingWithKeyboard;\n if (isNavigatingWithKeyboard) {\n if (this._shouldDismissKeyboardNavigation(e)) {\n this._scheduleDismiss();\n }\n } else {\n if (this._shouldTriggerKeyboardNavigation(e)) {\n this.isNavigatingWithKeyboard = true;\n }\n }\n };\n this.id = \"c\" + ++_lastId;\n this._win = win;\n const doc = win.document;\n if (props) {\n const triggerKeys = props.triggerKeys;\n const dismissKeys = props.dismissKeys;\n if (triggerKeys == null ? void 0 : triggerKeys.length) {\n this._triggerKeys = new Set(triggerKeys);\n }\n if (dismissKeys == null ? void 0 : dismissKeys.length) {\n this._dismissKeys = new Set(dismissKeys);\n }\n }\n doc.addEventListener(KEYBORG_FOCUSIN, this._onFocusIn, true);\n doc.addEventListener(\"mousedown\", this._onMouseDown, true);\n win.addEventListener(\"keydown\", this._onKeyDown, true);\n setupFocusEvent(win);\n }\n get isNavigatingWithKeyboard() {\n return this._isNavigatingWithKeyboard_DO_NOT_USE;\n }\n set isNavigatingWithKeyboard(val) {\n if (this._isNavigatingWithKeyboard_DO_NOT_USE !== val) {\n this._isNavigatingWithKeyboard_DO_NOT_USE = val;\n this.update();\n }\n }\n dispose() {\n const win = this._win;\n if (win) {\n if (this._isMouseUsedTimer) {\n win.clearTimeout(this._isMouseUsedTimer);\n this._isMouseUsedTimer = void 0;\n }\n if (this._dismissTimer) {\n win.clearTimeout(this._dismissTimer);\n this._dismissTimer = void 0;\n }\n disposeFocusEvent(win);\n const doc = win.document;\n doc.removeEventListener(KEYBORG_FOCUSIN, this._onFocusIn, true);\n doc.removeEventListener(\"mousedown\", this._onMouseDown, true);\n win.removeEventListener(\"keydown\", this._onKeyDown, true);\n delete this._win;\n }\n }\n isDisposed() {\n return !!this._win;\n }\n /**\n * Updates all keyborg instances with the keyboard navigation state\n */\n update() {\n var _a, _b;\n const keyborgs = (_b = (_a = this._win) == null ? void 0 : _a.__keyborg) == null ? void 0 : _b.refs;\n if (keyborgs) {\n for (const id of Object.keys(keyborgs)) {\n Keyborg.update(keyborgs[id], this.isNavigatingWithKeyboard);\n }\n }\n }\n /**\n * @returns whether the keyboard event should trigger keyboard navigation mode\n */\n _shouldTriggerKeyboardNavigation(e) {\n var _a;\n if (e.key === \"Tab\") {\n return true;\n }\n const activeElement = (_a = this._win) == null ? void 0 : _a.document.activeElement;\n const isTriggerKey = !this._triggerKeys || this._triggerKeys.has(e.keyCode);\n const isEditable = activeElement && (activeElement.tagName === \"INPUT\" || activeElement.tagName === \"TEXTAREA\" || activeElement.isContentEditable);\n return isTriggerKey && !isEditable;\n }\n /**\n * @returns whether the keyboard event should dismiss keyboard navigation mode\n */\n _shouldDismissKeyboardNavigation(e) {\n var _a;\n return (_a = this._dismissKeys) == null ? void 0 : _a.has(e.keyCode);\n }\n _scheduleDismiss() {\n const win = this._win;\n if (win) {\n if (this._dismissTimer) {\n win.clearTimeout(this._dismissTimer);\n this._dismissTimer = void 0;\n }\n const was = win.document.activeElement;\n this._dismissTimer = win.setTimeout(() => {\n this._dismissTimer = void 0;\n const cur = win.document.activeElement;\n if (was && cur && was === cur) {\n this.isNavigatingWithKeyboard = false;\n }\n }, _dismissTimeout);\n }\n }\n};\nvar Keyborg = class _Keyborg {\n constructor(win, props) {\n this._cb = [];\n this._id = \"k\" + ++_lastId;\n this._win = win;\n const current = win.__keyborg;\n if (current) {\n this._core = current.core;\n current.refs[this._id] = this;\n } else {\n this._core = new KeyborgCore(win, props);\n win.__keyborg = {\n core: this._core,\n refs: { [this._id]: this }\n };\n }\n }\n static create(win, props) {\n return new _Keyborg(win, props);\n }\n static dispose(instance) {\n instance.dispose();\n }\n /**\n * Updates all subscribed callbacks with the keyboard navigation state\n */\n static update(instance, isNavigatingWithKeyboard) {\n instance._cb.forEach((callback) => callback(isNavigatingWithKeyboard));\n }\n dispose() {\n var _a;\n const current = (_a = this._win) == null ? void 0 : _a.__keyborg;\n if (current == null ? void 0 : current.refs[this._id]) {\n delete current.refs[this._id];\n if (Object.keys(current.refs).length === 0) {\n current.core.dispose();\n delete this._win.__keyborg;\n }\n } else if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Keyborg instance ${this._id} is being disposed incorrectly.`\n );\n }\n this._cb = [];\n delete this._core;\n delete this._win;\n }\n /**\n * @returns Whether the user is navigating with keyboard\n */\n isNavigatingWithKeyboard() {\n var _a;\n return !!((_a = this._core) == null ? void 0 : _a.isNavigatingWithKeyboard);\n }\n /**\n * @param callback - Called when the keyboard navigation state changes\n */\n subscribe(callback) {\n this._cb.push(callback);\n }\n /**\n * @param callback - Registered with subscribe\n */\n unsubscribe(callback) {\n const index = this._cb.indexOf(callback);\n if (index >= 0) {\n this._cb.splice(index, 1);\n }\n }\n /**\n * Manually set the keyboard navigtion state\n */\n setVal(isNavigatingWithKeyboard) {\n if (this._core) {\n this._core.isNavigatingWithKeyboard = isNavigatingWithKeyboard;\n }\n }\n};\nfunction createKeyborg(win, props) {\n return Keyborg.create(win, props);\n}\nfunction disposeKeyborg(instance) {\n Keyborg.dispose(instance);\n}\n\n// src/index.ts\nvar version = \"2.5.0\";\nexport {\n KEYBORG_FOCUSIN,\n KEYBORG_FOCUSOUT,\n createKeyborg,\n disposeKeyborg,\n getLastFocusedProgrammatically,\n nativeFocus,\n version\n};\n/*!\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n//# sourceMappingURL=index.js.map"],"names":["ResizeObserverBoxOptions","resizeObservers","msg","trigger","freeze","obj","Object","ResizeObserverSize","inlineSize","blockSize","this","DOMRectReadOnly","x","y","width","height","top","left","bottom","right","prototype","toJSON","_a","fromRect","rectangle","isSVG","target","SVGElement","isHidden","getBBox","_b","offsetWidth","offsetHeight","getClientRects","length","isElement","Element","scope","ownerDocument","defaultView","global","window","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","navigator","userAgent","parseDimension","pixel","parseFloat","size","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","horizontalPadding","verticalPadding","horizontalBorderArea","borderLeftWidth","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","Math","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","ro","activeTargets","entries","ot","entry","targetDepth","push","lastReportedSize","callback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","isActive","process","event","some","ErrorEvent","message","document","createEvent","initEvent","dispatchEvent","queueMicroTask","toggle_1","el_1","createTextNode","MutationObserver","cb","observe","characterData","textContent","concat","watching","observerConfig","attributes","childList","subtree","events","time","timeout","Date","now","scheduled","scheduler","Scheduler","_this","stopped","listener","schedule","run","until","elementsHaveResized","start","requestAnimationFrame","stop","body","addEventListener","name","disconnect","removeEventListener","updateCount","n","ResizeObservation","CONTENT_BOX","tagName","type","isReplacedElement","display","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","ResizeObserver","arguments","TypeError","toString","plainObjectConstrurctor","constructor","cloneStyle","style","Array","isArray","map","newStyle","createRule","decl","jss","declCopy","rule","plugins","onCreateRule","join","value","by","result","toCssValue","cssValue","getWhitespaceSymbols","format","linebreak","space","indentStr","str","indent","toCss","selector","_options$indent","fallbacks","_getWhitespaceSymbols","fallback","prop","_prop","_value","_prop2","_value2","allowEmpty","escapeRegex","nativeEscape","CSS","escape","replace","BaseStyleRule","key","isProcessed","sheet","Renderer","renderer","undefined","force","newValue","onChangeValue","isEmpty","isDefined","remove","renderable","removeProperty","setProperty","attached","StyleRule","_BaseStyleRule","scoped","generateId","selectorText","id","_proto2","applyTo","json","opts","link","setSelector","replaceRule","pluginStyleRule","defaultToStringOptions","children","atRegExp","ConditionalRule","styles","atMatch","match","at","query","rules","RuleList","add","_proto","getRule","addRule","onProcessRule","newRule","keyRegExp","pluginConditionalRule","defaultToStringOptions$1","nameRegExp","KeyframesRule","frames","nameMatch","keyRegExp$1","refRegExp","findReferencedKeyframe","val","keyframes","replaceRef","refKeyframe","pluginKeyframesRule","onProcessStyle","KeyframeRule","apply","pluginKeyframeRule","FontFaceRule","keyRegExp$2","pluginFontFaceRule","ViewportRule","pluginViewportRule","SimpleRule","keysMap","defaultUpdateOptions","forceUpdateOptions","raw","counter","classes","ruleOptions","_this$options","register","oldRule","oldIndex","nameOrSelector","unregister","update","data","updateOne","_this$options2","onUpdate","nextValue","_nextValue","_prevValue","css","StyleSheet","deployed","attach","deploy","detach","queue","insertRule","deleteRule","addRules","added","_this$rules","PluginsRegistry","internal","external","registry","onProcessSheet","processedValue","use","newPlugin","reduce","plugin","SheetsRegistry","reset","_temp","_ref","sheets","globalThis$1","globalThis","self","Function","ns","moduleId","createGenerateId","ruleCounter","jssId","prefix","classNamePrefix","String","minify","memoize","fn","getPropertyValue","cssRule","attributeStyleMap","err","indexOfImportantFlag","cssValueWithoutImportantFlag","substr","delete","getHead","querySelector","findPrevNode","insertionPoint","findHigherSheet","element","findHighestSheet","nextSibling","comment","text","head","childNodes","nodeType","nodeValue","trim","findCommentNode","getNonce","getAttribute","_insertRule","container","appendRule","cssRules","getValidRuleInsertionIndex","maxIndex","DomRenderer","hasInsertedRules","el","media","meta","createElement","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","SheetsManager","refs","manage","unmanage","hasCSSTOMSupport","getDynamicStyles","to","extracted","e","Error","r","atob","bind","t","o","a","c","charAt","fromCharCode","decodeURIComponent","charCodeAt","toUpperCase","header","JSON","parse","split","_canUseWeakRef","WeakRef","WeakRefInstance","instance","_weakRef","_instance","deref","isDisposed","KEYBORG_FOCUSIN","KEYBORG_FOCUSOUT","_canOverrideNativeFocus","nativeFocus","focus","__keyborgNativeFocus","_lastId","KeyborgCore","win","props","_isNavigatingWithKeyboard_DO_NOT_USE","_onFocusIn","_isMouseUsedTimer","isNavigatingWithKeyboard","details","relatedTarget","isFocusedProgrammatically","_onMouseDown","buttons","clientX","clientY","screenX","screenY","_win","clearTimeout","setTimeout","_onKeyDown","_shouldDismissKeyboardNavigation","_scheduleDismiss","_shouldTriggerKeyboardNavigation","doc","triggerKeys","dismissKeys","_triggerKeys","Set","_dismissKeys","kwin","HTMLElement","origFocus","isCustomFocusCalled","canOverrideNativeFocus","shadowTargets","focusOutHandler","CustomEvent","cancelable","bubbles","composed","originalEvent","focusInHandler","composedPath","currentShadows","Node","DOCUMENT_FRAGMENT_NODE","host","shadowRootWeakRef","shadowRoot","onFocusIn","lastFocusedProgrammatically","__keyborgData","keyborgNativeFocusEvent","activeElement","setupFocusEvent","dispose","_dismissTimer","proto","clear","disposeFocusEvent","keyborgs","__keyborg","keys","Keyborg","isTriggerKey","keyCode","isEditable","isContentEditable","was","cur","_Keyborg","_cb","_id","current","_core","core","create","subscribe","unsubscribe","setVal","createKeyborg","disposeKeyborg"],"sourceRoot":""}