-
Notifications
You must be signed in to change notification settings - Fork 0
/
17.bundle.f05e2584224717c8790a.js.map
1 lines (1 loc) · 102 KB
/
17.bundle.f05e2584224717c8790a.js.map
1
{"version":3,"sources":["webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash.debounce/index.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/_freeGlobal.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/raf-schd/dist/raf-schd.esm.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/isObject.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/_root.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/now.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/_Symbol.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/_getRawTag.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/_objectToString.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/_baseGetTag.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/isObjectLike.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/isSymbol.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/toNumber.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/debounce.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/lodash-es/throttle.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/react-resize-detector/lib/esm/lib/utils.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/react-resize-detector/lib/esm/components/ChildWrapper.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/react-resize-detector/lib/esm/components/ResizeDetector.js","webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/node_modules/react-resize-detector/lib/esm/index.js"],"names":["FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","arguments","this","leadingEdge","cancel","clearTimeout","flush","MapShim","Map","getIndex","arr","key","some","entry","index","class_1","__entries__","defineProperty","get","length","enumerable","configurable","set","push","delete","entries","splice","has","clear","forEach","callback","ctx","_i","_a","isBrowser","window","document","global$1","requestAnimationFrame$1","requestAnimationFrame","bind","trailingTimeout","REFRESH_DELAY","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","target","props","keys","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","reduce","size","position","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","width","height","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","create","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","_this","observation","map","WeakMap","ResizeObserver","method","fn","frameId","wrapperFn","_len","Array","_key","cancelAnimationFrame","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","toStringTag","isOwn","tag","unmasked","e","nullTag","undefinedTag","timeWaiting","listHandle","debounce","getHandle","isFunction","isSSR","isDOMElement","element","HTMLDocument","_typeof","obj","iterator","constructor","_defineProperties","i","descriptor","_possibleConstructorReturn","ReferenceError","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","_PureComponent","ChildWrapper","instance","Constructor","_classCallCheck","protoProps","staticProps","subClass","superClass","_inherits","children","_defineProperty","ResizeDetector","resizeHandler","raf","getElement","resizeObserver","_this$props","querySelector","targetDomEl","currentElement","parentElement","rafClean","_ref","onResize","setState","_this$state","state","widthCurrent","heightCurrent","_this$props2","handleWidth","handleHeight","updater","createUpdater","_ref2","isSizeChanged","skipOnMount","el","_this$props3","render","isArray","_this$props4","nodeType","_this$state2","childProps","getRenderType","refreshMode","refreshRate","refreshOptions","unmounted","handle","createResizeHandler","toggleObserver","cancelHandler","createElement","ref","onRef","getTargetComponent","propTypes","defaultProps"],"mappings":"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","file":"17.bundle.f05e2584224717c8790a.js","sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\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<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<ResizeObserverSPI>}\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 <html> 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 (<html>).\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<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\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","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","var rafSchd = function rafSchd(fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(void 0, lastArgs);\n });\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n return wrapperFn;\n};\n\nexport default rafSchd;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;\n","import debounce from \"lodash-es/debounce\";\nimport throttle from \"lodash-es/throttle\";\nexport var listHandle = {\n debounce: debounce,\n throttle: throttle\n};\nexport var getHandle = function getHandle(type) {\n return listHandle[type];\n};\nexport var isFunction = function isFunction(fn) {\n return typeof fn === 'function';\n};\nexport var isSSR = function isSSR() {\n return typeof window === 'undefined';\n};\nexport var isDOMElement = function isDOMElement(element) {\n return element instanceof Element || element instanceof HTMLDocument;\n};","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport { PureComponent } from 'react';\n\nvar ChildWrapper =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(ChildWrapper, _PureComponent);\n\n function ChildWrapper() {\n _classCallCheck(this, ChildWrapper);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ChildWrapper).apply(this, arguments));\n }\n\n _createClass(ChildWrapper, [{\n key: \"render\",\n value: function render() {\n // eslint-disable-next-line react/prop-types\n return this.props.children;\n }\n }]);\n\n return ChildWrapper;\n}(PureComponent);\n\nexport default ChildWrapper;","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { PureComponent, isValidElement, cloneElement, createElement } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport rafSchd from 'raf-schd';\nimport { bool, number, string, shape, func, any, node } from 'prop-types';\nimport { getHandle, isFunction, isSSR, isDOMElement } from \"../lib/utils\";\nimport ChildWrapper from \"./ChildWrapper\";\n\nvar ResizeDetector =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(ResizeDetector, _PureComponent);\n\n function ResizeDetector(props) {\n var _this;\n\n _classCallCheck(this, ResizeDetector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResizeDetector).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"cancelHandler\", function () {\n if (_this.resizeHandler && _this.resizeHandler.cancel) {\n // cancel debounced handler\n _this.resizeHandler.cancel();\n\n _this.resizeHandler = null;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"rafClean\", function () {\n if (_this.raf && _this.raf.cancel) {\n _this.raf.cancel();\n\n _this.raf = null;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"toggleObserver\", function (type) {\n var element = _this.getElement();\n\n if (!element || !_this.resizeObserver[type]) return;\n\n _this.resizeObserver[type](element);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getElement\", function () {\n var _this$props = _this.props,\n querySelector = _this$props.querySelector,\n targetDomEl = _this$props.targetDomEl;\n if (isSSR()) return undefined;\n if (querySelector) return document.querySelector(querySelector);\n if (targetDomEl && isDOMElement(targetDomEl)) return targetDomEl; // eslint-disable-next-line react/no-find-dom-node\n\n var currentElement = _this.element && findDOMNode(_this.element);\n if (!currentElement) return undefined;\n return currentElement.parentElement;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"createUpdater\", function () {\n _this.rafClean();\n\n _this.raf = rafSchd(function (_ref) {\n var width = _ref.width,\n height = _ref.height;\n var onResize = _this.props.onResize;\n\n if (isFunction(onResize)) {\n onResize(width, height);\n }\n\n _this.setState({\n width: width,\n height: height\n });\n });\n return _this.raf;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"createResizeHandler\", function (entries) {\n var _this$state = _this.state,\n widthCurrent = _this$state.width,\n heightCurrent = _this$state.height;\n var _this$props2 = _this.props,\n handleWidth = _this$props2.handleWidth,\n handleHeight = _this$props2.handleHeight;\n if (!handleWidth && !handleHeight) return;\n\n var updater = _this.createUpdater();\n\n entries.forEach(function (entry) {\n var _ref2 = entry && entry.contentRect || {},\n width = _ref2.width,\n height = _ref2.height;\n\n var isWidthChanged = handleWidth && widthCurrent !== width;\n var isHeightChanged = handleHeight && heightCurrent !== height;\n var isSizeChanged = isWidthChanged || isHeightChanged;\n var shouldSetSize = !_this.skipOnMount && isSizeChanged && !isSSR();\n\n if (shouldSetSize) {\n updater({\n width: width,\n height: height\n });\n }\n\n _this.skipOnMount = false;\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRef\", function (el) {\n _this.element = el;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getRenderType\", function () {\n var _this$props3 = _this.props,\n render = _this$props3.render,\n children = _this$props3.children;\n\n if (isFunction(render)) {\n return 'renderProp';\n }\n\n if (isFunction(children)) {\n return 'childFunction';\n }\n\n if (isValidElement(children)) {\n return 'child';\n }\n\n if (Array.isArray(children)) {\n return 'childArray';\n }\n\n return 'parent';\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getTargetComponent\", function () {\n var _this$props4 = _this.props,\n render = _this$props4.render,\n children = _this$props4.children,\n nodeType = _this$props4.nodeType;\n var _this$state2 = _this.state,\n width = _this$state2.width,\n height = _this$state2.height;\n var childProps = {\n width: width,\n height: height\n };\n\n var renderType = _this.getRenderType();\n\n switch (renderType) {\n case 'renderProp':\n return cloneElement(render(childProps), {\n key: 'resize-detector'\n });\n\n case 'childFunction':\n return cloneElement(children(childProps));\n\n case 'child':\n return cloneElement(children, childProps);\n\n case 'childArray':\n return children.map(function (el) {\n return !!el && cloneElement(el, childProps);\n });\n\n default:\n return createElement(nodeType);\n }\n });\n\n var skipOnMount = props.skipOnMount,\n refreshMode = props.refreshMode,\n refreshRate = props.refreshRate,\n refreshOptions = props.refreshOptions;\n _this.state = {\n width: undefined,\n height: undefined\n };\n _this.skipOnMount = skipOnMount;\n _this.raf = null;\n _this.element = null;\n _this.unmounted = false;\n var handle = getHandle(refreshMode);\n _this.resizeHandler = handle ? handle(_this.createResizeHandler, refreshRate, refreshOptions) : _this.createResizeHandler;\n _this.resizeObserver = new ResizeObserver(_this.resizeHandler);\n return _this;\n }\n\n _createClass(ResizeDetector, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.toggleObserver('observe');\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.toggleObserver('unobserve');\n this.rafClean();\n this.cancelHandler();\n this.unmounted = true;\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(ChildWrapper, {\n ref: this.onRef\n }, this.getTargetComponent());\n }\n }]);\n\n return ResizeDetector;\n}(PureComponent);\n\nResizeDetector.propTypes = {\n handleWidth: bool,\n handleHeight: bool,\n skipOnMount: bool,\n refreshRate: number,\n refreshMode: string,\n refreshOptions: shape({\n leading: bool,\n trailing: bool\n }),\n querySelector: string,\n targetDomEl: any,\n // eslint-disable-line react/forbid-prop-types\n onResize: func,\n render: func,\n children: any,\n // eslint-disable-line react/forbid-prop-types\n nodeType: node\n};\nResizeDetector.defaultProps = {\n handleWidth: false,\n handleHeight: false,\n skipOnMount: false,\n refreshRate: 1000,\n refreshMode: undefined,\n refreshOptions: undefined,\n querySelector: null,\n targetDomEl: null,\n onResize: null,\n render: undefined,\n children: null,\n nodeType: 'div'\n};\nexport default ResizeDetector;","import ResizeDetector from \"./components/ResizeDetector\";\nimport withResizeDetector from \"./hoc/withResizeDetector\";\nexport { withResizeDetector };\nexport default ResizeDetector;"],"sourceRoot":""}