UNPKG

156 kBSource Map (JSON)View Raw
1{"version":3,"file":"ProgressBar.js","sources":["../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/react-spring/hooks.js","../src/components/ProgressBar/ProgressBar.js"],"sourcesContent":["function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport React, { useRef, useState as useState$1, useImperativeHandle, useEffect, useCallback, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar bugfixes = undefined;\nvar applyAnimatedValues = undefined;\nvar colorNames = [];\nvar requestFrame = function requestFrame(cb) {\n return typeof window !== 'undefined' && window.requestAnimationFrame(cb);\n};\nvar cancelFrame = function cancelFrame(cb) {\n return typeof window !== 'undefined' && window.cancelAnimationFrame(cb);\n};\nvar interpolation = undefined;\nvar now = function now() {\n return Date.now();\n};\nvar defaultElement = undefined;\nvar createAnimatedStyle = undefined;\nvar injectApplyAnimatedValues = function injectApplyAnimatedValues(fn, transform) {\n return applyAnimatedValues = {\n fn: fn,\n transform: transform\n };\n};\nvar injectColorNames = function injectColorNames(names) {\n return colorNames = names;\n};\nvar injectBugfixes = function injectBugfixes(fn) {\n return bugfixes = fn;\n};\nvar injectInterpolation = function injectInterpolation(cls) {\n return interpolation = cls;\n};\nvar injectFrame = function injectFrame(raf, caf) {\n var _ref;\n\n return _ref = [raf, caf], requestFrame = _ref[0], cancelFrame = _ref[1], _ref;\n};\nvar injectNow = function injectNow(nowFn) {\n return now = nowFn;\n};\nvar injectDefaultElement = function injectDefaultElement(el) {\n return defaultElement = el;\n};\nvar injectCreateAnimatedStyle = function injectCreateAnimatedStyle(factory) {\n return createAnimatedStyle = factory;\n};\n\nvar Globals = /*#__PURE__*/Object.freeze({\n get bugfixes () { return bugfixes; },\n get applyAnimatedValues () { return applyAnimatedValues; },\n get colorNames () { return colorNames; },\n get requestFrame () { return requestFrame; },\n get cancelFrame () { return cancelFrame; },\n get interpolation () { return interpolation; },\n get now () { return now; },\n get defaultElement () { return defaultElement; },\n get createAnimatedStyle () { return createAnimatedStyle; },\n injectApplyAnimatedValues: injectApplyAnimatedValues,\n injectColorNames: injectColorNames,\n injectBugfixes: injectBugfixes,\n injectInterpolation: injectInterpolation,\n injectFrame: injectFrame,\n injectNow: injectNow,\n injectDefaultElement: injectDefaultElement,\n injectCreateAnimatedStyle: injectCreateAnimatedStyle\n});\n\nvar Animated =\n/*#__PURE__*/\nfunction () {\n function Animated() {}\n\n var _proto = Animated.prototype;\n\n _proto.attach = function attach() {};\n\n _proto.detach = function detach() {};\n\n _proto.getValue = function getValue() {};\n\n _proto.getAnimatedValue = function getAnimatedValue() {\n return this.getValue();\n };\n\n _proto.addChild = function addChild(child) {};\n\n _proto.removeChild = function removeChild(child) {};\n\n _proto.getChildren = function getChildren() {\n return [];\n };\n\n return Animated;\n}();\n\nvar getValues = function getValues(object) {\n return Object.keys(object).map(function (k) {\n return object[k];\n });\n};\n\nvar AnimatedWithChildren =\n/*#__PURE__*/\nfunction (_Animated) {\n _inheritsLoose(AnimatedWithChildren, _Animated);\n\n function AnimatedWithChildren() {\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 = _Animated.call.apply(_Animated, [this].concat(args)) || this;\n _this.children = [];\n\n _this.getChildren = function () {\n return _this.children;\n };\n\n _this.getPayload = function (index) {\n if (index === void 0) {\n index = undefined;\n }\n\n return index !== void 0 && _this.payload ? _this.payload[index] : _this.payload || _assertThisInitialized(_assertThisInitialized(_this));\n };\n\n return _this;\n }\n\n var _proto = AnimatedWithChildren.prototype;\n\n _proto.addChild = function addChild(child) {\n if (this.children.length === 0) this.attach();\n this.children.push(child);\n };\n\n _proto.removeChild = function removeChild(child) {\n var index = this.children.indexOf(child);\n this.children.splice(index, 1);\n if (this.children.length === 0) this.detach();\n };\n\n return AnimatedWithChildren;\n}(Animated);\nvar AnimatedArrayWithChildren =\n/*#__PURE__*/\nfunction (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedArrayWithChildren, _AnimatedWithChildren);\n\n function AnimatedArrayWithChildren() {\n var _this2;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _AnimatedWithChildren.call.apply(_AnimatedWithChildren, [this].concat(args)) || this;\n _this2.payload = [];\n\n _this2.getAnimatedValue = function () {\n return _this2.getValue();\n };\n\n _this2.attach = function () {\n return _this2.payload.forEach(function (p) {\n return p instanceof Animated && p.addChild(_assertThisInitialized(_assertThisInitialized(_this2)));\n });\n };\n\n _this2.detach = function () {\n return _this2.payload.forEach(function (p) {\n return p instanceof Animated && p.removeChild(_assertThisInitialized(_assertThisInitialized(_this2)));\n });\n };\n\n return _this2;\n }\n\n return AnimatedArrayWithChildren;\n}(AnimatedWithChildren);\nvar AnimatedObjectWithChildren =\n/*#__PURE__*/\nfunction (_AnimatedWithChildren2) {\n _inheritsLoose(AnimatedObjectWithChildren, _AnimatedWithChildren2);\n\n function AnimatedObjectWithChildren() {\n var _this3;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n _this3 = _AnimatedWithChildren2.call.apply(_AnimatedWithChildren2, [this].concat(args)) || this;\n _this3.payload = {};\n\n _this3.getAnimatedValue = function () {\n return _this3.getValue(true);\n };\n\n _this3.attach = function () {\n return getValues(_this3.payload).forEach(function (s) {\n return s instanceof Animated && s.addChild(_assertThisInitialized(_assertThisInitialized(_this3)));\n });\n };\n\n _this3.detach = function () {\n return getValues(_this3.payload).forEach(function (s) {\n return s instanceof Animated && s.removeChild(_assertThisInitialized(_assertThisInitialized(_this3)));\n });\n };\n\n return _this3;\n }\n\n var _proto2 = AnimatedObjectWithChildren.prototype;\n\n _proto2.getValue = function getValue(animated) {\n if (animated === void 0) {\n animated = false;\n }\n\n var payload = {};\n\n for (var key in this.payload) {\n var value = this.payload[key];\n if (animated && !(value instanceof Animated)) continue;\n payload[key] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;\n }\n\n return payload;\n };\n\n return AnimatedObjectWithChildren;\n}(AnimatedWithChildren);\n\nvar AnimatedStyle =\n/*#__PURE__*/\nfunction (_AnimatedObjectWithCh) {\n _inheritsLoose(AnimatedStyle, _AnimatedObjectWithCh);\n\n function AnimatedStyle(style) {\n var _this;\n\n _this = _AnimatedObjectWithCh.call(this) || this;\n style = style || {};\n if (style.transform && !(style.transform instanceof Animated)) style = applyAnimatedValues.transform(style);\n _this.payload = style;\n return _this;\n }\n\n return AnimatedStyle;\n}(AnimatedObjectWithChildren);\n\n// http://www.w3.org/TR/css3-color/#svg-color\nvar colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\nvar Interpolation =\n/*#__PURE__*/\nfunction () {\n function Interpolation() {}\n\n // Default config = config, args\n // Short config = range, output, extrapolate\n Interpolation.create = function create(config, output, extra) {\n if (typeof config === 'function') return config;else if (interpolation && config.output && typeof config.output[0] === 'string') return interpolation(config);else if (Array.isArray(config)) return Interpolation.create({\n range: config,\n output: output,\n extrapolate: extra || 'extend'\n });\n var outputRange = config.output;\n var inputRange = config.range || [0, 1];\n\n var easing = config.easing || function (t) {\n return t;\n };\n\n var extrapolateLeft = 'extend';\n var map = config.map;\n if (config.extrapolateLeft !== undefined) extrapolateLeft = config.extrapolateLeft;else if (config.extrapolate !== undefined) extrapolateLeft = config.extrapolate;\n var extrapolateRight = 'extend';\n if (config.extrapolateRight !== undefined) extrapolateRight = config.extrapolateRight;else if (config.extrapolate !== undefined) extrapolateRight = config.extrapolate;\n return function (input) {\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, map);\n };\n };\n\n return Interpolation;\n}();\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n var result = map ? map(input) : input; // Extrapolate\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range\n\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing\n\n result = easing(result); // Output Range\n\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) break;\n }\n\n return i - 1;\n}\n\n// const INTEGER = '[-+]?\\\\d+';\nvar NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nvar PERCENTAGE = NUMBER + '%';\n\nfunction call() {\n return '\\\\(\\\\s*(' + Array.prototype.slice.call(arguments).join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nvar rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nvar rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nvar hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nvar hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nvar hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nvar hex6 = /^#([0-9a-fA-F]{6})$/;\nvar hex8 = /^#([0-9a-fA-F]{8})$/;\n\n/*\nhttps://github.com/react-community/normalize-css-color\n\nBSD 3-Clause License\n\nCopyright (c) 2016, React Community\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\nfunction normalizeColor(color) {\n var match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n } // Ordered based on occurrences on Facebook codebase\n\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n if (colors.hasOwnProperty(color)) return colors[color];\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n 0x000000ff) >>> // a\n 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n parse1(match[4])) >>> // a\n 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n 'ff', // a\n 16) >>> 0;\n } // https://drafts.csswg.org/css-color-4/#hex-notation\n\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n match[4] + match[4], // a\n 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | 0x000000ff) >>> // a\n 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) | parse1(match[4])) >>> // a\n 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n var r = hue2rgb(p, q, h + 1 / 3);\n var g = hue2rgb(p, q, h);\n var b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n var int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n var int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n var num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n var int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n var int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n var r = (int32Color & 0xff000000) >>> 24;\n var g = (int32Color & 0x00ff0000) >>> 16;\n var b = (int32Color & 0x0000ff00) >>> 8;\n var a = (int32Color & 0x000000ff) / 255;\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + a + \")\";\n} // Problem: https://github.com/animatedjs/animated/pull/102\n// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662\n\n\nvar stringShapeRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g; // Covers rgb, rgba, hsl, hsla\n// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e\n\nvar colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi; // Covers color names (transparent, blue, etc.)\n\nvar colorNamesRegex = new RegExp(\"(\" + Object.keys(colors).join('|') + \")\", 'g');\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows\n */\n\nfunction createInterpolation(config) {\n // Replace colors with rgba\n var outputRange = config.output.map(function (rangeValue) {\n return rangeValue.replace(colorRegex, colorToRgba);\n }).map(function (rangeValue) {\n return rangeValue.replace(colorNamesRegex, colorToRgba);\n }); // ->\n // [\n // [0, 50],\n // [100, 150],\n // [200, 250],\n // [0, 0.5],\n // ]\n\n var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {\n return [];\n });\n outputRange.forEach(function (value) {\n value.match(stringShapeRegex).forEach(function (number, i) {\n return outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex).map(function (value, i) {\n return Interpolation.create(_extends({}, config, {\n output: outputRanges[i]\n }));\n });\n return function (input) {\n var i = 0;\n return outputRange[0] // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n .replace(stringShapeRegex, function () {\n return interpolations[i++](input);\n }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n .replace(/rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi, function (_, p1, p2, p3, p4) {\n return \"rgba(\" + Math.round(p1) + \", \" + Math.round(p2) + \", \" + Math.round(p3) + \", \" + p4 + \")\";\n });\n };\n}\n\nvar AnimatedInterpolation =\n/*#__PURE__*/\nfunction (_AnimatedArrayWithChi) {\n _inheritsLoose(AnimatedInterpolation, _AnimatedArrayWithChi);\n\n function AnimatedInterpolation(parents, _config, _arg) {\n var _this;\n\n _this = _AnimatedArrayWithChi.call(this) || this;\n\n _this.getValue = function () {\n var _this2;\n\n return (_this2 = _this).calc.apply(_this2, _this.payload.map(function (value) {\n return value.getValue();\n }));\n };\n\n _this.updateConfig = function (config, arg) {\n return _this.calc = Interpolation.create(config, arg);\n };\n\n _this.interpolate = function (config, arg) {\n return new AnimatedInterpolation(_assertThisInitialized(_assertThisInitialized(_this)), config, arg);\n };\n\n _this.payload = // AnimatedArrays should unfold, except AnimatedInterpolation which is taken as is\n parents instanceof AnimatedArrayWithChildren && !parents.updateConfig ? parents.payload : Array.isArray(parents) ? parents : [parents];\n _this.calc = Interpolation.create(_config, _arg);\n return _this;\n }\n\n return AnimatedInterpolation;\n}(AnimatedArrayWithChildren);\nvar interpolate$1 = function interpolate(parents, config, arg) {\n return parents && new AnimatedInterpolation(parents, config, arg);\n};\n\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an Animated.Value is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\n\nfunction findAnimatedStyles(node, styles) {\n if (typeof node.update === 'function') styles.add(node);else node.getChildren().forEach(function (child) {\n return findAnimatedStyles(child, styles);\n });\n}\n/**\n * Standard value for driving animations. One `Animated.Value` can drive\n * multiple properties in a synchronized fashion, but can only be driven by one\n * mechanism at a time. Using a new mechanism (e.g. starting a new animation,\n * or calling `setValue`) will stop any previous ones.\n */\n\n\nvar AnimatedValue =\n/*#__PURE__*/\nfunction (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedValue, _AnimatedWithChildren);\n\n function AnimatedValue(_value) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n\n _this.setValue = function (value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n\n _this.value = value;\n if (flush) _this.flush();\n };\n\n _this.getValue = function () {\n return _this.value;\n };\n\n _this.updateStyles = function () {\n return findAnimatedStyles(_assertThisInitialized(_assertThisInitialized(_this)), _this.animatedStyles);\n };\n\n _this.updateValue = function (value) {\n return _this.flush(_this.value = value);\n };\n\n _this.interpolate = function (config, arg) {\n return new AnimatedInterpolation(_assertThisInitialized(_assertThisInitialized(_this)), config, arg);\n };\n\n _this.value = _value;\n _this.animatedStyles = new Set();\n _this.done = false;\n _this.startPosition = _value;\n _this.lastPosition = _value;\n _this.lastVelocity = undefined;\n _this.lastTime = undefined;\n _this.controller = undefined;\n return _this;\n }\n\n var _proto = AnimatedValue.prototype;\n\n _proto.flush = function flush() {\n if (this.animatedStyles.size === 0) this.updateStyles();\n this.animatedStyles.forEach(function (animatedStyle) {\n return animatedStyle.update();\n });\n };\n\n _proto.prepare = function prepare(controller) {\n // Values stay loyal to their original controller, this is also a way to\n // detect trailing values originating from a foreign controller\n if (this.controller === undefined) this.controller = controller;\n\n if (this.controller === controller) {\n this.startPosition = this.value;\n this.lastPosition = this.value;\n this.lastVelocity = controller.isActive ? this.lastVelocity : undefined;\n this.lastTime = controller.isActive ? this.lastTime : undefined;\n this.done = false;\n this.animatedStyles.clear();\n }\n };\n\n return AnimatedValue;\n}(AnimatedWithChildren);\n\nvar AnimatedArray =\n/*#__PURE__*/\nfunction (_AnimatedArrayWithChi) {\n _inheritsLoose(AnimatedArray, _AnimatedArrayWithChi);\n\n function AnimatedArray(array) {\n var _this;\n\n _this = _AnimatedArrayWithChi.call(this) || this;\n\n _this.setValue = function (value, flush) {\n if (flush === void 0) {\n flush = true;\n }\n\n if (Array.isArray(value)) {\n if (value.length === _this.payload.length) value.forEach(function (v, i) {\n return _this.payload[i].setValue(v, flush);\n });\n } else _this.payload.forEach(function (v, i) {\n return _this.payload[i].setValue(value, flush);\n });\n };\n\n _this.getValue = function () {\n return _this.payload.map(function (v) {\n return v.getValue();\n });\n };\n\n _this.interpolate = function (config, arg) {\n return new AnimatedInterpolation(_assertThisInitialized(_assertThisInitialized(_this)), config, arg);\n };\n\n _this.payload = array.map(function (n) {\n return new AnimatedValue(n);\n });\n return _this;\n }\n\n return AnimatedArray;\n}(AnimatedArrayWithChildren);\n\nfunction withDefault(value, defaultValue) {\n return value === undefined || value === null ? defaultValue : value;\n}\nfunction toArray(a) {\n return a !== void 0 ? Array.isArray(a) ? a : [a] : [];\n}\nfunction shallowEqual(a, b) {\n if (typeof a !== typeof b) return false;\n if (typeof a === 'string' || typeof a === 'number') return a === b;\n var i;\n\n for (i in a) {\n if (!(i in b)) return false;\n }\n\n for (i in b) {\n if (a[i] !== b[i]) return false;\n }\n\n return i === void 0 ? a === b : true;\n}\nfunction callProp(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return typeof obj === 'function' ? obj.apply(void 0, args) : obj;\n}\nfunction getValues$1(object) {\n return Object.keys(object).map(function (k) {\n return object[k];\n });\n}\nfunction getForwardProps(props) {\n var to = props.to,\n from = props.from,\n config = props.config,\n native = props.native,\n onStart = props.onStart,\n onRest = props.onRest,\n onFrame = props.onFrame,\n children = props.children,\n reset = props.reset,\n reverse = props.reverse,\n force = props.force,\n immediate = props.immediate,\n impl = props.impl,\n inject = props.inject,\n delay = props.delay,\n attach = props.attach,\n destroyed = props.destroyed,\n interpolateTo = props.interpolateTo,\n autoStart = props.autoStart,\n ref = props.ref,\n forward = _objectWithoutPropertiesLoose(props, [\"to\", \"from\", \"config\", \"native\", \"onStart\", \"onRest\", \"onFrame\", \"children\", \"reset\", \"reverse\", \"force\", \"immediate\", \"impl\", \"inject\", \"delay\", \"attach\", \"destroyed\", \"interpolateTo\", \"autoStart\", \"ref\"]);\n\n return forward;\n}\nfunction interpolateTo(props) {\n var forward = getForwardProps(props);\n var rest = Object.keys(props).reduce(function (a, k) {\n var _extends2;\n\n return forward[k] !== void 0 ? a : _extends({}, a, (_extends2 = {}, _extends2[k] = props[k], _extends2));\n }, {});\n return _extends({\n to: forward\n }, rest);\n}\nfunction convertToAnimatedValue(acc, _ref) {\n var _extends3;\n\n var name = _ref[0],\n value = _ref[1];\n return _extends({}, acc, (_extends3 = {}, _extends3[name] = new (Array.isArray(value) ? AnimatedArray : AnimatedValue)(value), _extends3));\n}\nfunction convertValues(props) {\n var from = props.from,\n to = props.to,\n native = props.native;\n var allProps = Object.entries(_extends({}, from, to));\n return native ? allProps.reduce(convertToAnimatedValue, {}) : _extends({}, from, to);\n}\nfunction handleRef(ref, forward) {\n if (forward) {\n // If it's a function, assume it's a ref callback\n if (typeof forward === 'function') forward(ref);else if (typeof forward === 'object') {\n // If it's an object and has a 'current' property, assume it's a ref object\n forward.current = ref;\n }\n }\n\n return ref;\n}\n\nvar check = function check(value) {\n return value === 'auto';\n};\n\nvar overwrite = function overwrite(width, height) {\n return function (acc, _ref) {\n var _extends2;\n\n var name = _ref[0],\n value = _ref[1];\n return _extends({}, acc, (_extends2 = {}, _extends2[name] = value === 'auto' ? ~name.indexOf('height') ? height : width : value, _extends2));\n };\n};\n\nfunction fixAuto(props, callback) {\n var from = props.from,\n to = props.to,\n children = props.children; // Dry-route props back if nothing's using 'auto' in there\n // TODO: deal with \"null\"\n\n if (!(getValues$1(to).some(check) || getValues$1(from).some(check))) return; // Fetch render v-dom\n\n var element = children(convertValues(props)); // A spring can return undefined/null, check against that (#153)\n\n if (!element) return; // Or it could be an array (#346) ...\n\n if (Array.isArray(element)) element = {\n type: 'div',\n props: {\n children: element\n } // Extract styles\n\n };\n var elementStyles = element.props.style; // Return v.dom with injected ref\n\n return React.createElement(element.type, _extends({\n key: element.key ? element.key : undefined\n }, element.props, {\n style: _extends({}, elementStyles, {\n position: 'absolute',\n visibility: 'hidden'\n }),\n ref: function ref(_ref2) {\n if (_ref2) {\n // Once it's rendered out, fetch bounds (minus padding/margin/borders)\n var node = ReactDOM.findDOMNode(_ref2);\n var width, height;\n var cs = getComputedStyle(node);\n\n if (cs.boxSizing === 'border-box') {\n width = node.offsetWidth;\n height = node.offsetHeight;\n } else {\n var paddingX = parseFloat(cs.paddingLeft || 0) + parseFloat(cs.paddingRight || 0);\n var paddingY = parseFloat(cs.paddingTop || 0) + parseFloat(cs.paddingBottom || 0);\n var borderX = parseFloat(cs.borderLeftWidth || 0) + parseFloat(cs.borderRightWidth || 0);\n var borderY = parseFloat(cs.borderTopWidth || 0) + parseFloat(cs.borderBottomWidth || 0);\n width = node.offsetWidth - paddingX - borderX;\n height = node.offsetHeight - paddingY - borderY;\n }\n\n var convert = overwrite(width, height);\n callback(_extends({}, props, {\n from: Object.entries(from).reduce(convert, from),\n to: Object.entries(to).reduce(convert, to)\n }));\n }\n }\n }));\n}\n\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nvar prefixKey = function prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nvar prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {\n prefixes.forEach(function (prefix) {\n return acc[prefixKey(prefix, prop)] = acc[prop];\n });\n return acc;\n}, isUnitlessNumber);\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n\n return ('' + value).trim();\n}\n\nvar attributeCache = {};\ninjectCreateAnimatedStyle(function (style) {\n return new AnimatedStyle(style);\n});\ninjectDefaultElement('div');\ninjectInterpolation(createInterpolation);\ninjectColorNames(colors);\ninjectBugfixes(fixAuto);\ninjectApplyAnimatedValues(function (instance, props) {\n if (instance.nodeType && instance.setAttribute !== undefined) {\n var style = props.style,\n children = props.children,\n scrollTop = props.scrollTop,\n scrollLeft = props.scrollLeft,\n attributes = _objectWithoutPropertiesLoose(props, [\"style\", \"children\", \"scrollTop\", \"scrollLeft\"]);\n\n if (scrollTop !== void 0) instance.scrollTop = scrollTop;\n if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value\n\n if (children !== void 0) instance.textContent = children; // Set styles ...\n\n for (var styleName in style) {\n if (!style.hasOwnProperty(styleName)) continue;\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);\n if (styleName === 'float') styleName = 'cssFloat';\n if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;\n } // Set attributes ...\n\n\n for (var name in attributes) {\n // Attributes are written in dash case\n var dashCase = attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {\n return '-' + n.toLowerCase();\n }));\n if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);\n }\n } else return false;\n}, function (style) {\n return style;\n});\n\nvar AnimatedProps =\n/*#__PURE__*/\nfunction (_AnimatedObjectWithCh) {\n _inheritsLoose(AnimatedProps, _AnimatedObjectWithCh);\n\n function AnimatedProps(props, callback) {\n var _this;\n\n _this = _AnimatedObjectWithCh.call(this) || this;\n if (props.style) props = _extends({}, props, {\n style: createAnimatedStyle(props.style)\n });\n _this.payload = props;\n _this.update = callback;\n\n _this.attach();\n\n return _this;\n }\n\n return AnimatedProps;\n}(AnimatedObjectWithChildren);\n\nfunction createAnimatedComponent(Component) {\n var AnimatedComponent =\n /*#__PURE__*/\n function (_React$Component) {\n _inheritsLoose(AnimatedComponent, _React$Component);\n\n function AnimatedComponent(props) {\n var _this;\n\n _this = _React$Component.call(this) || this;\n\n _this.callback = function () {\n if (_this.node) {\n var didUpdate = applyAnimatedValues.fn(_this.node, _this.propsAnimated.getAnimatedValue(), _assertThisInitialized(_assertThisInitialized(_this)));\n if (didUpdate === false) _this.forceUpdate();\n }\n };\n\n _this.attachProps(props);\n\n return _this;\n }\n\n var _proto = AnimatedComponent.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.propsAnimated && this.propsAnimated.detach();\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n var didUpdate = applyAnimatedValues.fn(this.node, props, this);\n if (didUpdate === false) this.forceUpdate();\n } // The system is best designed when setNativeProps is implemented. It is\n // able to avoid re-rendering and directly set the attributes that\n // changed. However, setNativeProps can only be implemented on leaf\n // native components. If you want to animate a composite component, you\n // need to re-render it. In this case, we have a fallback that uses\n // forceUpdate.\n ;\n\n _proto.attachProps = function attachProps(_ref) {\n var forwardRef = _ref.forwardRef,\n nextProps = _objectWithoutPropertiesLoose(_ref, [\"forwardRef\"]);\n\n var oldPropsAnimated = this.propsAnimated;\n this.propsAnimated = new AnimatedProps(nextProps, this.callback); // When you call detach, it removes the element from the parent list\n // of children. If it goes to 0, then the parent also detaches itself\n // and so on.\n // An optimization is to attach the new elements and THEN detach the old\n // ones instead of detaching and THEN attaching.\n // This way the intermediate state isn't to go to 0 and trigger\n // this expensive recursive detaching to then re-attach everything on\n // the very next operation.\n\n oldPropsAnimated && oldPropsAnimated.detach();\n };\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(props) {\n var style = props.style,\n nextProps = _objectWithoutPropertiesLoose(props, [\"style\"]);\n\n var _this$props = this.props,\n currentStyle = _this$props.style,\n currentProps = _objectWithoutPropertiesLoose(_this$props, [\"style\"]);\n\n if (!shallowEqual(currentProps, nextProps) || !shallowEqual(currentStyle, style)) {\n this.attachProps(props);\n return true;\n }\n\n return false;\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$propsAnimated$g = this.propsAnimated.getValue(),\n scrollTop = _this$propsAnimated$g.scrollTop,\n scrollLeft = _this$propsAnimated$g.scrollLeft,\n animatedProps = _objectWithoutPropertiesLoose(_this$propsAnimated$g, [\"scrollTop\", \"scrollLeft\"]);\n\n return React.createElement(Component, _extends({}, animatedProps, {\n ref: function ref(node) {\n return _this2.node = handleRef(node, _this2.props.forwardRef);\n }\n }));\n };\n\n return AnimatedComponent;\n }(React.Component);\n\n return React.forwardRef(function (props, ref) {\n return React.createElement(AnimatedComponent, _extends({}, props, {\n forwardRef: ref\n }));\n });\n}\n\nvar config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\n\nvar active = false;\nvar controllers = new Set();\n\nvar frameLoop = function frameLoop() {\n var time = now();\n\n for (var _iterator = controllers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var controller = _ref;\n var isDone = true;\n var noChange = true;\n\n for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) {\n var config = controller.configs[configIdx];\n var endOfAnimation = void 0,\n lastTime = void 0;\n\n for (var valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {\n var animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude\n\n if (animation.done) continue;\n var from = config.fromValues[valIdx];\n var to = config.toValues[valIdx];\n var position = animation.lastPosition;\n var isAnimated = to instanceof Animated;\n\n var _velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;\n\n if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state\n\n if (config.immediate || !isAnimated && !config.decay && from === to) {\n animation.updateValue(to);\n animation.done = true;\n continue;\n } // Doing delay here instead of setTimeout is one async worry less\n\n\n if (config.delay && time - controller.startTime < config.delay) {\n isDone = false;\n continue;\n } // Flag change\n\n\n noChange = false; // Break animation when string values are involved\n\n if (typeof from === 'string' || typeof to === 'string') {\n animation.updateValue(to);\n animation.done = true;\n continue;\n }\n\n if (config.duration !== void 0) {\n /** Duration easing */\n position = from + config.easing((time - controller.startTime - config.delay) / config.duration) * (to - from);\n endOfAnimation = time >= controller.startTime + config.delay + config.duration;\n } else if (config.decay) {\n /** Decay easing */\n position = from + _velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - controller.startTime)));\n endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;\n if (endOfAnimation) to = position;\n } else {\n /** Spring easing */\n lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;\n _velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.\n\n if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/\n\n var numSteps = Math.floor(time - lastTime);\n\n for (var i = 0; i < numSteps; ++i) {\n var force = -config.tension * (position - to);\n var damping = -config.friction * _velocity;\n var acceleration = (force + damping) / config.mass;\n _velocity = _velocity + acceleration * 1 / 1000;\n position = position + _velocity * 1 / 1000;\n } // Conditions for stopping the spring animation\n\n\n var isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;\n var isVelocity = Math.abs(_velocity) <= config.precision;\n var isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;\n endOfAnimation = isOvershooting || isVelocity && isDisplacement;\n animation.lastVelocity = _velocity;\n animation.lastTime = time;\n } // Trails aren't done until their parents conclude\n\n\n if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;\n\n if (endOfAnimation) {\n // Ensure that we end up with a round value\n if (animation.value !== to) position = to;\n animation.done = true;\n } else isDone = false;\n\n animation.updateValue(position);\n animation.lastPosition = position;\n } // Keep track of updated values only when necessary\n\n\n if (controller.props.onFrame || !controller.props.native) controller.animatedProps[config.name] = config.interpolation.getValue();\n } // Update callbacks in the end of the frame\n\n\n if (controller.props.onFrame || !controller.props.native) {\n if (!controller.props.native && controller.onUpdate) controller.onUpdate();\n if (controller.props.onFrame) controller.props.onFrame(controller.animatedProps);\n } // Either call onEnd or next frame\n\n\n if (isDone) {\n controllers.delete(controller);\n controller.debouncedOnEnd({\n finished: true,\n noChange: noChange\n });\n }\n } // Loop over as long as there are controllers ...\n\n\n if (controllers.size) requestFrame(frameLoop);else active = false;\n};\n\nvar addController = function addController(controller) {\n if (!controllers.has(controller)) {\n controllers.add(controller);\n if (!active) requestFrame(frameLoop);\n active = true;\n }\n};\n\nvar removeController = function removeController(controller) {\n if (controllers.has(controller)) {\n controllers.delete(controller);\n }\n};\n\nvar Controller =\n/*#__PURE__*/\nfunction () {\n function Controller(props, config) {\n var _this = this;\n\n if (config === void 0) {\n config = {\n native: true,\n interpolateTo: true,\n autoStart: true\n };\n }\n\n this.getValues = function () {\n return _this.props.native ? _this.interpolations : _this.animatedProps;\n };\n\n this.dependents = new Set();\n this.isActive = false;\n this.hasChanged = false;\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.animatedProps = {};\n this.configs = [];\n this.frame = undefined;\n this.startTime = undefined;\n this.lastTime = undefined;\n this.update(_extends({}, props, config));\n }\n\n var _proto = Controller.prototype;\n\n _proto.update = function update(props) {\n var _this2 = this;\n\n this.props = _extends({}, this.props, props);\n\n var _ref = this.props.interpolateTo ? interpolateTo(this.props) : this.props,\n _ref$from = _ref.from,\n from = _ref$from === void 0 ? {} : _ref$from,\n _ref$to = _ref.to,\n to = _ref$to === void 0 ? {} : _ref$to,\n _ref$config = _ref.config,\n config = _ref$config === void 0 ? {} : _ref$config,\n _ref$delay = _ref.delay,\n delay = _ref$delay === void 0 ? 0 : _ref$delay,\n reverse = _ref.reverse,\n attach = _ref.attach,\n reset = _ref.reset,\n immediate = _ref.immediate,\n autoStart = _ref.autoStart,\n ref = _ref.ref; // Reverse values when requested\n\n\n if (reverse) {\n var _ref2 = [to, from];\n from = _ref2[0];\n to = _ref2[1];\n }\n\n this.hasChanged = false; // Attachment handling, trailed springs can \"attach\" themselves to a previous spring\n\n var target = attach && attach(this); // Reset merged props when necessary\n\n var extra = reset ? {} : this.merged; // This will collect all props that were ever set\n\n this.merged = _extends({}, from, extra, to); // Reduces input { name: value } pairs into animated values\n\n this.animations = Object.entries(this.merged).reduce(function (acc, _ref3, i) {\n var name = _ref3[0],\n value = _ref3[1];\n // Issue cached entries, except on reset\n var entry = !reset && acc[name] || {}; // Figure out what the value is supposed to be\n\n var isNumber = typeof value === 'number';\n var isString = typeof value === 'string' && !value.startsWith('#') && !/\\d/.test(value) && !colorNames[value];\n var isArray = !isNumber && !isString && Array.isArray(value);\n var fromValue = from[name] !== undefined ? from[name] : value;\n var toValue = isNumber || isArray ? value : isString ? value : 1;\n var toConfig = callProp(config, name);\n if (target) toValue = target.animations[name].parent; // Detect changes, animated values will be checked in the raf-loop\n\n if (toConfig.decay !== void 0 || !shallowEqual(entry.changes, value)) {\n var _extends2;\n\n _this2.hasChanged = true;\n var parent, interpolation$$1;\n if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedArray(fromValue);else {\n var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);\n\n if (entry.parent) {\n parent = entry.parent;\n parent.setValue(0, false);\n } else parent = new AnimatedValue(0);\n\n var range = {\n output: [prev !== void 0 ? prev : fromValue, value]\n };\n\n if (entry.interpolation) {\n interpolation$$1 = entry.interpolation;\n entry.interpolation.updateConfig(range);\n } else interpolation$$1 = parent.interpolate(range);\n } // Set immediate values\n\n if (callProp(immediate, name)) parent.setValue(value, false); // Reset animated values\n\n var animatedValues = toArray(parent.getPayload());\n animatedValues.forEach(function (value) {\n return value.prepare(_this2);\n });\n return _extends({}, acc, (_extends2 = {}, _extends2[name] = _extends({}, entry, {\n name: name,\n parent: parent,\n interpolation: interpolation$$1,\n animatedValues: animatedValues,\n changes: value,\n fromValues: toArray(parent.getValue()),\n toValues: toArray(target ? toValue.getPayload() : toValue),\n immediate: callProp(immediate, name),\n delay: withDefault(toConfig.delay, delay || 0),\n initialVelocity: withDefault(toConfig.velocity, 0),\n clamp: withDefault(toConfig.clamp, false),\n precision: withDefault(toConfig.precision, 0.01),\n tension: withDefault(toConfig.tension, 170),\n friction: withDefault(toConfig.friction, 26),\n mass: withDefault(toConfig.mass, 1),\n duration: toConfig.duration,\n easing: withDefault(toConfig.easing, function (t) {\n return t;\n }),\n decay: toConfig.decay\n }), _extends2));\n } else return acc;\n }, this.animations);\n\n if (this.hasChanged) {\n this.configs = getValues$1(this.animations);\n this.animatedProps = {};\n this.interpolations = {};\n\n for (var key in this.animations) {\n this.interpolations[key] = this.animations[key].interpolation;\n this.animatedProps[key] = this.animations[key].interpolation.getValue();\n }\n } // TODO: clean up ref in controller\n\n\n for (var _len = arguments.length, start = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n start[_key - 1] = arguments[_key];\n }\n\n if (!ref && (autoStart || start.length)) this.start.apply(this, start);\n var onEnd = start[0],\n onUpdate = start[1];\n this.onEnd = typeof onEnd === 'function' && onEnd;\n this.onUpdate = onUpdate;\n return this.getValues();\n };\n\n _proto.start = function start(onEnd, onUpdate) {\n var _this3 = this;\n\n this.startTime = now();\n if (this.isActive) this.stop();\n this.isActive = true;\n this.onEnd = typeof onEnd === 'function' && onEnd;\n this.onUpdate = onUpdate;\n if (this.props.onStart) this.props.onStart();\n addController(this);\n return new Promise(function (res) {\n return _this3.resolve = res;\n });\n };\n\n _proto.stop = function stop(finished) {\n if (finished === void 0) {\n finished = false;\n }\n\n // Reset collected changes since the animation has been stopped cold turkey\n if (finished) getValues$1(this.animations).forEach(function (a) {\n return a.changes = undefined;\n });\n this.debouncedOnEnd({\n finished: finished\n });\n };\n\n _proto.destroy = function destroy() {\n removeController(this);\n this.props = {};\n this.merged = {};\n this.animations = {};\n this.interpolations = {};\n this.animatedProps = {};\n this.configs = [];\n };\n\n _proto.debouncedOnEnd = function debouncedOnEnd(result) {\n removeController(this);\n this.isActive = false;\n var onEnd = this.onEnd;\n this.onEnd = null;\n if (onEnd) onEnd(result);\n if (this.resolve) this.resolve();\n this.resolve = null;\n };\n\n return Controller;\n}();\n\nvar KeyframeController =\n/*#__PURE__*/\nfunction () {\n function KeyframeController(_props) {\n var _this = this;\n\n this.frameId = 0;\n\n this.next = function (props, localFrameId, last, index) {\n if (last === void 0) {\n last = true;\n }\n\n if (index === void 0) {\n index = 0;\n }\n\n // this.last = last\n // this.running = true\n // config passed to props can overwrite global config passed in\n // controller instantiation i.e. globalConfig\n var config = props.config ? props.config : Array.isArray(_this.globalConfig) ? _this.globalConfig[index] : _this.globalConfig;\n _this.onFrameRest = props.onRest;\n return new Promise(function (resolve) {\n // if ref is passed to internal controller, then it ignore onEnd call back\n _this.instance.update(_extends({}, _this.globalProps, props, {\n config: config\n }), _this.onEnd(_this.onFrameRest, localFrameId, last, resolve)); // start needs to be called here if ref is present to activate the anim\n\n\n if (_this.ref) {\n _this.instance.start(_this.onEnd(_this.onFrameRest, localFrameId, last, resolve));\n } // hacky solution to force the parent to be updated any time\n // the child controller is reset\n\n\n _this.instance.props.reset && _this.instance.props.native && _this.parentForceUpdate && requestFrame(_this.parentForceUpdate);\n });\n };\n\n this.start = function (onEnd) {\n _this.globalOnEnd = onEnd;\n\n if (_this.currSlots) {\n var _ret = function () {\n var localFrameId = ++_this.frameId;\n\n if (Array.isArray(_this.currSlots)) {\n var q = Promise.resolve();\n\n var _loop = function _loop(i) {\n var index = i;\n var slot = _this.currSlots[index];\n var last = index === _this.currSlots.length - 1;\n q = q.then(function () {\n return localFrameId === _this.frameId && _this.next(slot, localFrameId, last, index);\n });\n };\n\n for (var i = 0; i < _this.currSlots.length; i++) {\n _loop(i);\n }\n } else if (typeof _this.currSlots === 'function') {\n var index = 0;\n\n _this.currSlots( // next\n function (props, last) {\n if (last === void 0) {\n last = false;\n }\n\n return localFrameId === _this.frameId && _this.next(props, localFrameId, last, index++);\n }, // cancel\n function () {\n return requestFrame(function () {\n return _this.instance.isActive && _this.instance.stop(true);\n });\n });\n } else _this.next(_this.currSlots, localFrameId);\n\n _this.prevSlots = _this.currSlots;\n return {\n v: new Promise(function (resolve) {\n return _this.keyFrameEndResolver = resolve;\n })\n };\n }();\n\n if (typeof _ret === \"object\") return _ret.v;\n }\n };\n\n this.stop = function (finished) {\n if (finished === void 0) {\n finished = false;\n }\n\n ++_this.frameId;\n if (_this.instance.isActive) _this.instance.stop(finished);\n };\n\n this.onEnd = function (onFrameRest, localFrameId, last, resolve) {\n return function (args) {\n if (localFrameId === _this.frameId) {\n if (resolve) resolve();\n if (onFrameRest) onFrameRest(_this.merged);\n if (last && _this.globalOnEnd) _this.globalOnEnd(args);\n if (last && _this.keyFrameEndResolver) _this.keyFrameEndResolver();\n\n if (args.finished && last && _this.globalOnRest) {\n _this.globalOnRest(_this.merged);\n }\n }\n };\n };\n\n this.updateWithForceUpdate = function (forceUpdate) {\n // needed to forceUpdate when the controller is reset\n // for native controllers\n _this.parentForceUpdate = forceUpdate;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this.update.apply(_this, args);\n };\n\n this.update = function (args) {\n var isFnOrArray = typeof args === 'function' || Array.isArray(args);\n\n if (isFnOrArray) {\n _this.currSlots = args;\n !_this.ref && _this.start();\n } else {\n var slots = args.slots,\n rest = _objectWithoutPropertiesLoose(args, [\"slots\"]);\n\n _this.currSlots = slots;\n !_this.ref && _this.start.apply(_this, rest);\n }\n };\n\n this.getValues = function () {\n return _this.instance.getValues();\n };\n\n this.destroy = function () {\n return _this.instance.destroy();\n };\n\n var _config = _props.config,\n onRest = _props.onRest,\n initialProps = _objectWithoutPropertiesLoose(_props, [\"config\", \"onRest\"]);\n\n this.globalProps = function (_ref) {\n var native = _ref.native,\n onStart = _ref.onStart,\n onFrame = _ref.onFrame,\n children = _ref.children,\n reset = _ref.reset,\n delay = _ref.delay,\n destroyed = _ref.destroyed;\n return {\n native: native,\n onStart: onStart,\n reset: reset,\n onFrame: onFrame,\n children: children,\n delay: delay,\n destroyed: destroyed\n };\n }(_props);\n\n this.globalConfig = _props.config;\n this.globalOnRest = _props.onRest;\n this.ref = _props.ref;\n this.prevSlots = {};\n this.currSlots = null;\n this.instance = new Controller(_extends({}, initialProps, {\n native: true\n }));\n }\n\n _createClass(KeyframeController, [{\n key: \"isActive\",\n get: function get() {\n return this.instance.isActive;\n }\n }, {\n key: \"config\",\n set: function set(config) {\n this.globalConfig = config;\n }\n }, {\n key: \"globals\",\n set: function set(props) {\n this.globalProps = _extends({}, this.globalProps, props);\n }\n }, {\n key: \"merged\",\n get: function get() {\n return this.instance.merged;\n }\n }, {\n key: \"props\",\n get: function get() {\n return this.instance.props;\n }\n }]);\n\n return KeyframeController;\n}();\n\nvar useSpringImpl = function useSpringImpl(type) {\n if (type === void 0) {\n type = 'default';\n }\n\n return function (args) {\n var _useState = useState$1(),\n f = _useState[1];\n\n var forceUpdate = function forceUpdate() {\n return f(function (v) {\n return !v;\n });\n }; // Extract animation props and hook-specific props, can be a function or an obj\n\n\n var isFn = typeof args === 'function';\n\n var _callProp = callProp(args),\n onRest = _callProp.onRest,\n onKeyframesHalt = _callProp.onKeyframesHalt,\n props = _objectWithoutPropertiesLoose(_callProp, [\"onRest\", \"onKeyframesHalt\"]); // The controller maintains the animation values, starts and tops animations\n\n\n var _useState2 = useState$1(function () {\n return type === 'keyframe' ? new KeyframeController(props) : new Controller(props);\n }),\n ctrl = _useState2[0]; // Destroy controller on unmount\n\n\n useEffect(function () {\n return function () {\n return ctrl.destroy();\n };\n }, []);\n\n var onHalt = function onHalt(_ref) {\n var finished = _ref.finished;\n return finished && onRest && onRest(ctrl.merged);\n }; // The hooks explcit API gets defined here ...\n\n\n useImperativeHandle(props.ref, function () {\n return {\n start: function start() {\n return ctrl.start(onHalt);\n },\n\n get isActive() {\n return ctrl.isActive;\n },\n\n stop: function stop(finished) {\n if (finished === void 0) {\n finished = false;\n }\n\n if (ctrl.isActive) ctrl.stop(finished);\n }\n };\n }); // Defines the hooks setter, which updates the controller\n\n var updateCtrl = useCallback(function (updateProps) {\n type === 'keyframe' ? ctrl.updateWithForceUpdate(forceUpdate, updateProps) : ctrl.update(updateProps);\n if (!ctrl.props.ref) ctrl.start(onHalt);\n if (ctrl.props.reset && type === 'default') requestFrame(forceUpdate);\n }, [onRest, ctrl.props.ref]); // Update next frame is props aren't functional\n\n useEffect(function () {\n return void (!isFn && updateCtrl(props));\n }); // Return animated props, or, anim-props + the update-setter above\n\n var propValues = ctrl.getValues();\n return isFn ? [propValues, updateCtrl, function (finished) {\n if (finished === void 0) {\n finished = false;\n }\n\n return ctrl.stop(finished);\n }] : propValues;\n };\n};\nvar useSpring = useSpringImpl();\n\nvar useSpringsImpl = function useSpringsImpl(type, trail) {\n if (type === void 0) {\n type = 'default';\n }\n\n if (trail === void 0) {\n trail = false;\n }\n\n return function (length, props, initialProps) {\n if (initialProps === void 0) {\n initialProps = {};\n }\n\n var isFn = typeof props === 'function';\n\n var _useState = useState$1(),\n f = _useState[1];\n\n var forceUpdate = function forceUpdate() {\n return f(function (v) {\n return !v;\n });\n };\n\n var args = trail ? callProp(props) : initialProps;\n\n var reverse = args.reverse,\n onKeyframesHalt = args.onKeyframesHalt,\n onRest = args.onRest,\n rest = _objectWithoutPropertiesLoose(args, [\"reverse\", \"onKeyframesHalt\", \"onRest\"]); // The controller maintains the animation values, starts and tops animations\n\n\n var instances = useMemo(function () {\n var instances = [];\n\n var _loop = function _loop(i) {\n var initProps = trail ? _extends({}, rest, {\n config: callProp(rest.config, i),\n attach: i > 0 && function () {\n return instances[i - 1];\n }\n }) : _extends({}, rest, isFn ? callProp(props, i) : props[i]);\n instances.push(type === 'keyframe' ? new KeyframeController(initProps) : new Controller(initProps));\n };\n\n for (var i = 0; i < length; i++) {\n _loop(i);\n }\n\n return instances;\n }, [length]); // Destroy controllers on unmount\n\n var instancesRef = useRef();\n instancesRef.current = instances;\n useEffect(function () {\n return function () {\n return instancesRef.current.forEach(function (i) {\n return i.destroy();\n });\n };\n }, []); // Define onEnd callbacks and resolvers\n\n var onHalt = onKeyframesHalt ? function (ctrl) {\n return function (_ref) {\n var finished = _ref.finished;\n return finished && onRest && onRest(ctrl.merged);\n };\n } : onKeyframesHalt || function () {\n return null;\n }; // The hooks explcit API gets defined here ...\n\n useImperativeHandle(rest.ref, function () {\n return {\n start: function start() {\n return Promise.all(Array.from(instancesRef.current).map(function (_ref2, i) {\n var ctrl = _ref2[1];\n return (reverse ? i === 0 : instancesRef.current.size - 1) && onHalt(ctrl);\n }));\n },\n\n get isActive() {\n Array.from(instancesRef.current).some(function (_ref3) {\n var ctrl = _ref3[1];\n return ctrl.isActive;\n });\n },\n\n stop: function stop(finished) {\n if (finished === void 0) {\n finished = false;\n }\n\n return instancesRef.current.forEach(function (_ref4) {\n var ctrl = _ref4[1];\n return ctrl.stop(finished);\n });\n }\n };\n }); // Defines the hooks setter, which updates the controller\n\n var updateCtrl = useCallback(function (props) {\n instances.forEach(function (ctrl, i) {\n var last = reverse ? i === 0 : instances.length - 1 === i;\n var attachIdx = reverse ? i + 1 : i - 1;\n var attachController = instances[attachIdx];\n var updateProps = trail ? _extends({}, props, {\n config: callProp(props.config || rest.config, i),\n attach: attachController && function () {\n return attachController;\n }\n }) : _extends({}, isFn ? callProp(props, i) : props[i]);\n type === 'keyframe' && last ? ctrl.updateWithForceUpdate(forceUpdate, updateProps) : ctrl.update(updateProps);\n if (!ctrl.props.ref) ctrl.start(last && onHalt(ctrl));\n if (last && ctrl.props.reset) requestFrame(forceUpdate);\n });\n }, [instances, onRest, onKeyframesHalt, rest.ref, reverse]); // Update next frame is props aren't functional\n\n useEffect(function () {\n return void (!isFn && updateCtrl(props));\n }); // Return animated props, or, anim-props + the update-setter above\n\n var propValues = instances.map(function (v) {\n return v.getValues();\n });\n return isFn ? [propValues, updateCtrl, function (finished) {\n if (finished === void 0) {\n finished = false;\n }\n\n return instances.forEach(function (ctrl) {\n return ctrl.stop(finished);\n });\n }] : propValues;\n };\n};\nvar useSprings = useSpringsImpl();\n\nvar useTrail = useSpringsImpl('default', true);\n\nvar guid = 0;\n\nvar mapKeys = function mapKeys(items, keys) {\n return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);\n};\n\nvar get = function get(props) {\n var items = props.items,\n _props$keys = props.keys,\n keys = _props$keys === void 0 ? function (states) {\n return states;\n } : _props$keys,\n rest = _objectWithoutPropertiesLoose(props, [\"items\", \"keys\"]);\n\n items = toArray(items !== void 0 ? items : null);\n return _extends({\n items: items,\n keys: mapKeys(items, keys)\n }, rest);\n};\n\nfunction calculateDiffInItems(_ref, props) {\n var prevProps = _ref.prevProps,\n state = _objectWithoutPropertiesLoose(_ref, [\"prevProps\"]);\n\n var _get = get(prevProps || {}),\n _keys = _get.keys;\n\n var _get2 = get(props),\n keys = _get2.keys,\n items = _get2.items,\n unique = _get2.unique,\n _get2$trail = _get2.trail,\n trail = _get2$trail === void 0 ? 0 : _get2$trail,\n update = _get2.update,\n enter = _get2.enter,\n leave = _get2.leave,\n config = _get2.config;\n\n var currSet = new Set(keys);\n var prevSet = new Set(_keys);\n var deleted = [].concat(state.deleted);\n\n var current = _extends({}, state.current);\n\n var removed = state.transitions.filter(function (_ref2) {\n var destroyed = _ref2.destroyed,\n originalKey = _ref2.originalKey;\n return !destroyed && !currSet.has(originalKey);\n });\n var added = keys.filter(function (key) {\n return !prevSet.has(key);\n });\n\n var updated = _keys.filter(function (key) {\n return currSet.has(key);\n }); // if n\n\n\n var delay = !trail && props.delay || 0; // Make sure trailed transitions start at 0\n\n if (trail) delay -= trail;\n added.forEach(function (key) {\n var keyIndex = keys.indexOf(key);\n var item = items[keyIndex];\n var state = 'enter';\n\n if (unique && deleted.find(function (d) {\n return d.originalKey === key;\n })) {\n deleted = deleted.filter(function (t) {\n return t.originalKey !== key;\n });\n }\n\n current[key] = {\n item: item,\n state: state,\n trail: delay = delay + trail,\n key: unique ? String(key) : guid++,\n originalKey: key,\n destroyed: false,\n config: callProp(config, item, state),\n to: callProp(enter, item)\n };\n });\n removed.forEach(function (_ref3) {\n var item = _ref3.item,\n originalKey = _ref3.originalKey,\n rest = _objectWithoutPropertiesLoose(_ref3, [\"item\", \"originalKey\"]);\n\n var keyIndex = _keys.indexOf(originalKey);\n\n var state = 'leave';\n deleted.unshift(_extends({}, rest, {\n originalKey: originalKey,\n item: item,\n state: state,\n left: _keys[Math.max(0, keyIndex - 1)],\n destroyed: true,\n trail: delay = delay + trail,\n config: callProp(config, item, state),\n to: callProp(leave, item)\n }));\n delete current[item.originalKey];\n });\n updated.forEach(function (key) {\n var keyIndex = keys.indexOf(key);\n var item = items[keyIndex];\n var state = 'update';\n current[key] = _extends({}, current[key], {\n item: item,\n state: state,\n destroyed: false,\n trail: delay = delay + trail,\n config: callProp(config, item, state),\n to: callProp(update, item)\n });\n });\n var out = keys.map(function (key) {\n return current[key];\n }); // This tries to restore order for deleted items by finding their last known siblings\n // only using the left sibling to keep order placement consistent for all deleted items\n\n deleted.forEach(function (_ref4) {\n var left = _ref4.left,\n right = _ref4.right,\n item = _objectWithoutPropertiesLoose(_ref4, [\"left\", \"right\"]);\n\n var pos; // Was it the element on the left, if yes, move there ...\n\n if ((pos = out.findIndex(function (t) {\n return t.originalKey === left;\n })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\\_(ツ)_/¯\n\n pos = Math.max(0, pos);\n out = [].concat(out.slice(0, pos), [item], out.slice(pos));\n });\n return {\n deleted: deleted,\n updated: updated,\n current: current,\n transitions: out\n };\n}\n/**\n * @param {TransitionProps} props\n */\n\n\nfunction useTransition(props) {\n var _get3 = get(props),\n items = _get3.items,\n _currentKeys = _get3.keys,\n from = _get3.from,\n initial = _get3.initial,\n onRest = _get3.onRest,\n onDestroyed = _get3.onDestroyed,\n ref = _get3.ref;\n\n var mounted = useRef(false);\n useEffect(function () {\n return mounted.current = true, function () {\n return mounted.current = false;\n };\n }, []);\n var instances = useRef(!mounted.current && new Map([]));\n useEffect(function () {\n return function () {\n return Array.from(instances.current).map(function (_ref5) {\n var key = _ref5[0],\n ctrl = _ref5[1].ctrl;\n ctrl.destroy();\n instances.current.delete(key);\n });\n };\n }, []);\n\n var _useState = useState$1(),\n f = _useState[1];\n\n var forceUpdate = function forceUpdate() {\n return f(function (v) {\n return !v;\n });\n };\n\n var state = useRef({\n first: false,\n activeSlots: {},\n deleted: [],\n current: {},\n transitions: [],\n prevProps: null\n }); // only to be used internally, must be bound to the instance obj to work\n\n function onEnd(_ref6) {\n var finished = _ref6.finished;\n var item = this.item,\n key = this.key,\n destroyed = this.destroyed,\n slot = this.slot,\n ctrl = this.ctrl;\n\n if (mounted.current && finished) {\n if (destroyed && onDestroyed) onDestroyed(item); // onRest needs to be called everytime each item\n // has finished, it is needed for notif hub to work.\n // we could have two seperate callback, one for each\n // and one for a sort of global on rest and peritem onrest?\n\n if (onRest) onRest(item, slot, ctrl.merged); // Clean up internal state when items unmount, this doesn't necessrily trigger a forceUpdate\n\n if (destroyed) {\n state.current = _extends({}, state.current, {\n deleted: state.current.deleted.filter(function (t) {\n return t.key !== key;\n }),\n transitions: state.current.transitions.filter(function (t) {\n return t.key !== key;\n })\n });\n } // Only when everything's come to rest we enforce a complete dom clean-up\n\n\n var currentInstances = Array.from(instances.current);\n if (!currentInstances.some(function (_ref7) {\n var ctrl = _ref7[1].ctrl;\n return ctrl.isActive;\n })) requestFrame(function () {\n return forceUpdate();\n });\n }\n } // Prop changes effect\n\n\n useMemo(function () {\n var _calculateDiffInItems = calculateDiffInItems(state.current, props),\n transitions = _calculateDiffInItems.transitions,\n rest = _objectWithoutPropertiesLoose(_calculateDiffInItems, [\"transitions\"]);\n\n transitions.forEach(function (_ref8) {\n var slot = _ref8.state,\n to = _ref8.to,\n config = _ref8.config,\n trail = _ref8.trail,\n key = _ref8.key,\n item = _ref8.item,\n destroyed = _ref8.destroyed;\n !instances.current.has(key) && instances.current.set(key, {\n ctrl: new KeyframeController(_extends({}, callProp(state.current.first ? initial !== void 0 ? initial || {} : from : from, item), {\n config: config,\n delay: trail,\n native: true,\n ref: ref\n })),\n item: item,\n destroyed: destroyed,\n slot: slot,\n key: key\n }); // update the map object\n\n var instance = instances.current.get(key);\n instance.item = item;\n instance.destroyed = destroyed;\n instance.slot = slot;\n var ctrl = instance.ctrl;\n\n if (slot === 'update' || slot !== state.current.activeSlots[key]) {\n state.current.activeSlots[key] = slot; // Set the controller if config has changed\n\n if (config) ctrl.config = config; // update props that are not animated values\n\n ctrl.globals = {\n delay: trail\n };\n ctrl.update(to, onEnd.bind(instance));\n }\n });\n state.current = _extends({}, state.current, {\n transitions: transitions,\n prevProps: props,\n first: true\n }, rest);\n }, [items, mapKeys(items, _currentKeys).join('')]);\n useImperativeHandle(ref, function () {\n return {\n start: function start() {\n return Promise.all(Array.from(instances.current).map(function (_ref9) {\n var obj = _ref9[1];\n return obj.ctrl.start(onEnd.bind(obj));\n }));\n },\n stop: function stop(finished) {\n if (finished === void 0) {\n finished = false;\n }\n\n Array.from(instances.current).forEach(function (_ref10) {\n var ctrl = _ref10[1].ctrl;\n return ctrl.isActive && ctrl.stop(finished);\n });\n }\n };\n });\n return state.current.transitions.map(function (_ref11) {\n var item = _ref11.item,\n state = _ref11.state,\n key = _ref11.key;\n return {\n item: item,\n key: key,\n state: state,\n props: instances.current.get(key).ctrl.getValues()\n };\n });\n}\n\n/**\n *\n * @param {(useSpring | useTrail)} useImpl\n * @param {Object} props\n * @param {Array=} props.items // only needed when using Trail primitive\n * @param {Object} props.states\n * @param {SpringProps} ...props\n * @param {String} state\n * @param {SpringProps} initialProps\n */\n\nvar useKeyframesImpl = function useKeyframesImpl(useImpl) {\n return function (props, initialProps) {\n if (initialProps === void 0) {\n initialProps = null;\n }\n\n return function () {\n var mounted = React.useRef(false);\n\n for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {\n params[_key] = arguments[_key];\n }\n\n var _ref = params.length === 2 ? params.reduceRight(function (a, b) {\n return [a, b];\n }) : params,\n _ref$ = _ref[0],\n state = _ref$ === void 0 ? 'default' : _ref$,\n count = _ref[1]; // need to force a rerender for when the animated controller has finally accepted props\n\n\n var _useState = useState(),\n f = _useState[1];\n\n var forceUpdate = function forceUpdate() {\n return f(function (v) {\n return !v;\n });\n };\n\n var shouldForceUpdateRef = React.useRef(!initialProps);\n\n var _ref2 = function () {\n if (Array.isArray(props) || typeof props === 'function') {\n var _states;\n\n return {\n states: (_states = {}, _states[state] = props, _states)\n };\n } else {\n var _onRest = props.onRest,\n _config = props.config,\n rest = _objectWithoutPropertiesLoose(props, [\"onRest\", \"config\"]);\n\n return {\n states: rest,\n config: _config,\n onRest: _onRest\n };\n }\n }(),\n states = _ref2.states,\n config = _ref2.config,\n onRest = _ref2.onRest;\n\n var calculatedProps = function calculatedProps() {\n return _extends({}, initialProps, {\n native: true,\n onRest: onRest,\n config: config\n });\n };\n\n var args = typeof count === 'number' ? [count, calculatedProps] : [calculatedProps];\n\n var _useImpl = useImpl.apply(void 0, args),\n animProps = _useImpl[0],\n setAnimation = _useImpl[1],\n cancel = _useImpl[2];\n\n React.useEffect(function () {\n mounted.current = true;\n return function () {\n return mounted.current = false;\n };\n }, []);\n React.useEffect(function () {\n shouldForceUpdateRef.current && forceUpdate();\n shouldForceUpdateRef.current = false;\n setAnimation(states[state]);\n }, [state]);\n return shouldForceUpdateRef.current && Array.isArray(animProps) ? [] : animProps;\n };\n };\n};\n\nvar useKeyframes = {\n spring: function spring() {\n return useKeyframesImpl(useSpringImpl('keyframe')).apply(void 0, arguments);\n },\n springs: function springs() {\n return useKeyframesImpl(useSpringsImpl('keyframe')).apply(void 0, arguments);\n },\n trail: function trail() {\n return useKeyframesImpl(useSpringsImpl('keyframe', true)).apply(void 0, arguments);\n }\n};\n\nvar guid$1 = 0;\nfunction useChain(refs, timeSteps, timeFrame) {\n if (timeFrame === void 0) {\n timeFrame = 1000;\n }\n\n var frames = useRef([]);\n var local = ++guid$1;\n useEffect(function () {\n refs.forEach(function (_ref) {\n var current = _ref.current;\n return current && current.stop();\n });\n\n if (timeSteps) {\n frames.current.forEach(clearTimeout);\n frames.current = [];\n refs.forEach(function (ref, index) {\n return frames.current.push(setTimeout(function () {\n return ref.current.start();\n }, timeFrame * timeSteps[index]));\n });\n } else refs.reduce(function (q, _ref2) {\n var current = _ref2.current;\n return q = q.then(function () {\n return guid$1 === local && current && current.start();\n });\n }, Promise.resolve());\n }, refs);\n}\n\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\nvar extendedAnimated = domElements.reduce(function (acc, element) {\n acc[element] = createAnimatedComponent(element);\n return acc;\n}, createAnimatedComponent);\n\nexport { config, extendedAnimated as animated, interpolate$1 as interpolate, Globals, useSpring, useTrail, useTransition, useKeyframes, useChain, useSprings };\n","import React from 'react'\nimport PropTypes from '../../proptypes'\nimport styled, { keyframes } from 'styled-components'\nimport { useSpring, animated, interpolate } from 'react-spring/hooks'\nimport { springs } from '../../style'\nimport { useTheme } from '../../theme'\nimport { warnOnce } from '../../utils/environment'\n\nconst RADIUS = 2\nconst BAR_HEIGHT = 6\n\nconst INDETERMINATE_WIDTH = 1 / 4\nconst INDETERMINATE_DURATION = 1600\n\nconst indeterminateAnim = keyframes`\n // x positions use -1px to anticipate any rounding issues\n 0% {\n transform: translate3d(calc(-100% - 1px), 0, 0);\n }\n 70%, 100% {\n transform: translate3d(calc(${100 / INDETERMINATE_WIDTH}% + 1px), 0, 0);\n }\n`\n\nconst ProgressBar = React.memo(({ animate, color, progress, value }) => {\n // Support `progress` for a while but warn if being used.\n if (value === -1 && typeof progress === 'number') {\n value = progress\n\n warnOnce(\n 'ProgressBar:progress',\n 'The `progress` prop of ProgressBar is deprecated: please use `value` instead.'\n )\n }\n\n // The indeterminate state can be triggered either by not setting the value\n // (to mimic the <progress> element in HTML), or by setting the -1 value (for\n // convenience in React).\n const indeterminate = value === -1\n\n const theme = useTheme()\n const currentColor = color === undefined ? theme.accent : color\n\n const transition = useSpring({\n config: { ...springs.smooth, precision: 0.001 },\n from: { scale: 0, x: 0 },\n to: { scale: value, x: 0 },\n immediate: !animate,\n })\n\n return (\n <div\n css={`\n width: 100%;\n height: ${BAR_HEIGHT}px;\n background: ${theme.surfaceUnder};\n border-radius: ${RADIUS}px;\n overflow: hidden;\n `}\n >\n <Bar\n style={{\n width: `${(indeterminate ? INDETERMINATE_WIDTH : 1) * 100}%`,\n background: currentColor,\n borderRadius: `${indeterminate ? RADIUS : 0}px`,\n animationName: `${indeterminate ? indeterminateAnim.name : 'none'}`,\n transform: interpolate(\n [transition.x, transition.scale],\n (x, s) => `translate3d(${x * 100}%, 0, 0) scale3d(${s}, 1, 1)`\n ),\n }}\n />\n </div>\n )\n})\n\nconst Bar = styled(animated.div)`\n width: 100%;\n height: ${BAR_HEIGHT}px;\n transform-origin: 0 0;\n\n // this need to be defined here rather than as a style property, so that\n // styled can inject the @keyframes (on demand since styled@v4).\n animation: ${indeterminateAnim} ${INDETERMINATE_DURATION}ms ease-in-out\n infinite;\n animation-name: none;\n`\n\nProgressBar.defaultProps = {\n animate: true,\n value: -1,\n}\n\nProgressBar.propTypes = {\n animate: PropTypes.bool,\n color: PropTypes.string,\n progress: PropTypes._0to1,\n value: PropTypes.oneOfType([PropTypes._0to1, PropTypes.oneOf([-1])]),\n}\n\nexport default ProgressBar\n"],"names":["_inheritsLoose","_assertThisInitialized","_extends","_objectWithoutPropertiesLoose","React","useState$1","useEffect","useImperativeHandle","useCallback","RADIUS","BAR_HEIGHT","INDETERMINATE_WIDTH","INDETERMINATE_DURATION","indeterminateAnim","keyframes","ProgressBar","memo","animate","color","progress","value","warnOnce","indeterminate","theme","useTheme","currentColor","undefined","accent","transition","useSpring","config","springs","smooth","precision","from","scale","x","to","immediate","surfaceUnder","width","background","borderRadius","animationName","name","transform","interpolate","s","Bar","styled","animated","div","defaultProps","propTypes","PropTypes","bool","string","_0to1","oneOfType","oneOf"],"mappings":"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"}
\No newline at end of file