{"version":3,"sources":["webpack:///./node_modules/react-measure/dist/index.esm.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js"],"names":["types","getTypes","props","allowedTypes","forEach","type","push","getContentRect","node","calculations","indexOf","client","top","clientTop","left","clientLeft","width","clientWidth","height","clientHeight","offset","offsetTop","offsetLeft","offsetWidth","offsetHeight","scroll","scrollTop","scrollLeft","scrollWidth","scrollHeight","rect","getBoundingClientRect","bounds","right","bottom","styles","getComputedStyle","margin","parseInt","marginTop","marginRight","marginBottom","marginLeft","getWindowOf","target","ownerDocument","defaultView","window","Measure","WrappedComponent","_class","_temp","_Component","WithContentRect","_this","_len","arguments","length","args","Array","_key","call","apply","this","concat","state","contentRect","entry","_animationFrameID","_resizeObserver","_node","_window","measure","entries","requestAnimationFrame","setState","onResize","_handleRef","unobserve","innerRef","current","observe","_proto","prototype","componentDidMount","ResizeObserver","componentWillUnmount","cancelAnimationFrame","disconnect","render","_this$props","measureRef","propTypes","bool","oneOfType","object","func","withContentRect","_ref","children","displayName","MapShim","Map","getIndex","arr","key","result","some","index","class_1","__entries__","Object","defineProperty","get","enumerable","configurable","set","value","delete","splice","has","clear","callback","ctx","_i","_a","isBrowser","document","global$1","global","Math","self","Function","requestAnimationFrame$1","bind","setTimeout","Date","now","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","attributes","childList","characterData","subtree","removeEventListener","_b","propertyName","getInstance","instance_","defineConfigurable","keys","writable","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","positions","reduce","size","position","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","bbox","getSVGContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","create","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","clearActive","observation","map","WeakMap","method"],"mappings":"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","file":"static/scripts/0-76ded260ecf339de10e2.js","sourcesContent":["import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { Component, createElement } from 'react';\nimport PropTypes from 'prop-types';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nvar types = ['client', 'offset', 'scroll', 'bounds', 'margin'];\nfunction getTypes(props) {\n var allowedTypes = [];\n types.forEach(function (type) {\n if (props[type]) {\n allowedTypes.push(type);\n }\n });\n return allowedTypes;\n}\n\nfunction getContentRect(node, types) {\n var calculations = {};\n\n if (types.indexOf('client') > -1) {\n calculations.client = {\n top: node.clientTop,\n left: node.clientLeft,\n width: node.clientWidth,\n height: node.clientHeight\n };\n }\n\n if (types.indexOf('offset') > -1) {\n calculations.offset = {\n top: node.offsetTop,\n left: node.offsetLeft,\n width: node.offsetWidth,\n height: node.offsetHeight\n };\n }\n\n if (types.indexOf('scroll') > -1) {\n calculations.scroll = {\n top: node.scrollTop,\n left: node.scrollLeft,\n width: node.scrollWidth,\n height: node.scrollHeight\n };\n }\n\n if (types.indexOf('bounds') > -1) {\n var rect = node.getBoundingClientRect();\n calculations.bounds = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.width,\n height: rect.height\n };\n }\n\n if (types.indexOf('margin') > -1) {\n var styles = getComputedStyle(node);\n calculations.margin = {\n top: styles ? parseInt(styles.marginTop) : 0,\n right: styles ? parseInt(styles.marginRight) : 0,\n bottom: styles ? parseInt(styles.marginBottom) : 0,\n left: styles ? parseInt(styles.marginLeft) : 0\n };\n }\n\n return calculations;\n}\n\n/**\n * Returns the global window object associated with provided element.\n */\nfunction getWindowOf(target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView; // Return the local window object if it's not possible extract one from\n // provided element.\n\n return ownerGlobal || window;\n}\n\nfunction withContentRect(types) {\n return function (WrappedComponent) {\n var _class, _temp;\n\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(WithContentRect, _Component);\n\n function WithContentRect() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.state = {\n contentRect: {\n entry: {},\n client: {},\n offset: {},\n scroll: {},\n bounds: {},\n margin: {}\n }\n };\n _this._animationFrameID = null;\n _this._resizeObserver = null;\n _this._node = null;\n _this._window = null;\n\n _this.measure = function (entries) {\n var contentRect = getContentRect(_this._node, types || getTypes(_this.props));\n\n if (entries) {\n contentRect.entry = entries[0].contentRect;\n }\n\n _this._animationFrameID = _this._window.requestAnimationFrame(function () {\n if (_this._resizeObserver !== null) {\n _this.setState({\n contentRect: contentRect\n });\n\n if (typeof _this.props.onResize === 'function') {\n _this.props.onResize(contentRect);\n }\n }\n });\n };\n\n _this._handleRef = function (node) {\n if (_this._resizeObserver !== null && _this._node !== null) {\n _this._resizeObserver.unobserve(_this._node);\n }\n\n _this._node = node;\n _this._window = getWindowOf(_this._node);\n var innerRef = _this.props.innerRef;\n\n if (innerRef) {\n if (typeof innerRef === 'function') {\n innerRef(_this._node);\n } else {\n innerRef.current = _this._node;\n }\n }\n\n if (_this._resizeObserver !== null && _this._node !== null) {\n _this._resizeObserver.observe(_this._node);\n }\n };\n\n return _this;\n }\n\n var _proto = WithContentRect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._resizeObserver = this._window !== null && this._window.ResizeObserver ? new this._window.ResizeObserver(this.measure) : new ResizeObserver(this.measure);\n\n if (this._node !== null) {\n this._resizeObserver.observe(this._node);\n\n if (typeof this.props.onResize === 'function') {\n this.props.onResize(getContentRect(this._node, types || getTypes(this.props)));\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._window !== null) {\n this._window.cancelAnimationFrame(this._animationFrameID);\n }\n\n if (this._resizeObserver !== null) {\n this._resizeObserver.disconnect();\n\n this._resizeObserver = null;\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n innerRef = _this$props.innerRef,\n onResize = _this$props.onResize,\n props = _objectWithoutPropertiesLoose(_this$props, [\"innerRef\", \"onResize\"]);\n\n return createElement(WrappedComponent, _extends({}, props, {\n measureRef: this._handleRef,\n measure: this.measure,\n contentRect: this.state.contentRect\n }));\n };\n\n return WithContentRect;\n }(Component), _class.propTypes = {\n client: PropTypes.bool,\n offset: PropTypes.bool,\n scroll: PropTypes.bool,\n bounds: PropTypes.bool,\n margin: PropTypes.bool,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n onResize: PropTypes.func\n }, _temp;\n };\n}\n\nvar Measure = withContentRect()(function (_ref) {\n var measure = _ref.measure,\n measureRef = _ref.measureRef,\n contentRect = _ref.contentRect,\n children = _ref.children;\n return children({\n measure: measure,\n measureRef: measureRef,\n contentRect: contentRect\n });\n});\nMeasure.displayName = 'Measure';\nMeasure.propTypes.children = PropTypes.func;\n\nexport default Measure;\nexport { withContentRect };\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n"],"sourceRoot":""}