{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/src/views/widgets/progressRadialWidget/js/progressRadialWidget.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_Symbol.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/isInteger.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/toInteger.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/toNumber.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/isSymbol.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_root.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/toFinite.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_baseTrim.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_trimmedEndIndex.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/isObject.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_baseGetTag.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_freeGlobal.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_getRawTag.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_objectToString.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/isObjectLike.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/easing-utils/lib/easing.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/round.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_createRound.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/toString.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_baseToString.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/_arrayMap.js","webpack:////Users/owenli/Documents/workspace/awi-wlc-fe/node_modules/lodash/isArray.js"],"names":["CLS","_isInteger","require","_round","ProgressRadialWidget","element","_this","this","initValue","arguments","length","undefined","_classCallCheck","$element","$","$legendText","find","concat","$legendPercentage","devicePixelRatio","window","percentage","parseFloat","attr","maxPercentage","defaultRadius","animationFrameId","isAnimating","plainColor","highlightColor","circleAnimationDuration","arcAnimationFrameCount","canvas","drawCanvas","on","_","throttle","event","params","toPercentage","update","animate","trailing","resize","debounce","key","value","width","getBoundingClientRect","height","lineWidth","context","getContext","centerX","centerY","radius","renderArc","renderLegend","rescaleLegend","fromPercentage","_this2","setTimeout","animateArc","_this3","cancelAnimationFrame","shouldIncrement","range","Math","abs","elapsedAnimationFrame","animatingPercentage","easing","easeInOutCubic","round","requestAnimationFrame","ctx","circleStart","PI","circleEnd","clearRect","beginPath","arc","strokeStyle","stroke","lineCap","fillStyle","html","css","display","Symbol","__webpack_require__","module","exports","toInteger","toFinite","result","remainder","baseTrim","isObject","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","test","slice","baseGetTag","isObjectLike","symbolTag","freeGlobal","freeSelf","self","Object","root","Function","toNumber","INFINITY","MAX_INTEGER","trimmedEndIndex","reTrimStart","string","replace","reWhitespace","index","charAt","type","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","global","objectProto","prototype","hasOwnProperty","nativeObjectToString","toString","isOwn","call","tag","unmasked","e","easeOutBounce","t","scaledTime","scaledTime2","_scaledTime","_scaledTime2","easeInBounce","defineProperty","linear","easeInSine","cos","easeOutSine","sin","easeInOutSine","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","t1","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInExpo","pow","easeOutExpo","easeInOutExpo","scaledTime1","easeInCirc","sqrt","easeOutCirc","easeInOutCirc","easeInBack","magnitude","easeOutBack","easeInOutBack","s","easeInElastic","p","asin","easeOutElastic","easeInOutElastic","easeInOutBounce","createRound","nativeIsFinite","isFinite","nativeMin","min","methodName","func","number","precision","pair","split","baseToString","arrayMap","isArray","symbolProto","symbolToString","array","iteratee","Array"],"mappings":"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","file":"widget-12.2f662a3aa586e55a56ca.js","sourcesContent":["const NS = 'ProgressRadialWidget';\nconst CLS = 'progressRadialWidget';\n\nlet _isInteger = require('lodash/isInteger');\nlet _round = require('lodash/round');\nimport { easeInOutCubic } from 'easing-utils';\n\nexport class ProgressRadialWidget {\n\tconstructor(element, initValue = 0) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\t\tthis.$legendText = this.$element.find(`.${CLS}-legend-text`);\n\t\tthis.$legendPercentage = this.$element.find(`.${CLS}-legend-percentage`);\n\n\t\tthis.devicePixelRatio = window.devicePixelRatio || 1;\n\n\t\tthis.percentage = parseFloat(this.$element.attr('data-percentage')) || initValue;\n\t\tthis.maxPercentage = 100;\n\t\tthis.defaultRadius = 120;\n\n\t\tthis.animationFrameId;\n\t\tthis.isAnimating = false;\n\n\t\t// Variables sourced in .scss styles\n\t\tthis.plainColor = '#e6e6e6';\n\t\tthis.highlightColor = '#3c6';\n\t\tthis.circleAnimationDuration = 300;\n\t\tthis.arcAnimationFrameCount = 60;\n\n\t\t// Use the DOM element\n\t\tthis.canvas = this.$element.find(`.${CLS}-canvas`)[0];\n\n\t\tif(this.percentage < 0 || this.percentage > this.maxPercentage) {\n\t\t\tthis.percentage = 0;\n\t\t\tconsole.error(`${NS}::Error`, 'Please supply a valid range between 0–100');\n\t\t}\n\n\t\tthis.drawCanvas();\n\n\t\t// Triggers an update event\n\t\tthis.$element.on(`${CLS}.update`, _.throttle((event, params) => {\n\t\t\tlet toPercentage = params && _isInteger(params.percentage) ? params.percentage : null;\n\t\t\tif(toPercentage !== null) {\n\t\t\t\tif(toPercentage >= 0 && toPercentage <= this.maxPercentage) {\n\t\t\t\t\tthis.update(this.percentage, toPercentage, params.animate);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.error(`${NS}::Error`, 'Please supply a valid range between 0–100');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.error(`${NS}::Error`, 'Please supply a valid integer value');\n\t\t\t}\n\t\t}, 500, { trailing: true }));\n\n\t\t// Deals with radius resizing.\n\t\t$(window).resize(_.debounce(() => {\n\t\t\tthis.drawCanvas();\n\t\t}, 250));\n\t}\n\n\tdrawCanvas() {\n\t\tthis.canvas.width = this.canvas.getBoundingClientRect().width;\n\t\tthis.canvas.height = this.canvas.width;\n\n\t\t// Adjust to the approprate ratio\n\t\tthis.canvas.width *= this.devicePixelRatio;\n\t\tthis.canvas.height *= this.devicePixelRatio;\n\n\t\tthis.lineWidth = 8;\n\t\tthis.context = this.canvas.getContext('2d');\n\t\tthis.centerX = this.canvas.width / 2;\n\t\tthis.centerY = this.canvas.height / 2;\n\t\tthis.radius = (this.canvas.width - this.lineWidth) / 2;\n\n\t\tif(this.radius < 0) {\n\t\t\tthis.radius = 0;\n\t\t}\n\n\t\tthis.renderArc(this.percentage);\n\t\tthis.renderLegend(this.percentage);\n\t\tthis.rescaleLegend();\n\t}\n\n\tupdate(fromPercentage, toPercentage, animate = true) {\n\t\tif(fromPercentage === this.maxPercentage && toPercentage < this.maxPercentage) {\n\t\t\t// Fade out animation delay + another delay\n\t\t\tif(animate) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.animateArc(this.percentage, toPercentage);\n\t\t\t\t}, this.circleAnimationDuration + 50);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.renderArc(toPercentage);\n\t\t\t\tthis.renderLegend(toPercentage);\n\t\t\t\tthis.percentage = toPercentage;\n\t\t\t}\n\t\t}\n\t\telse if(fromPercentage !== toPercentage) {\n\t\t\tif(animate) {\n\t\t\t\tthis.animateArc(this.percentage, toPercentage);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.renderArc(toPercentage);\n\t\t\t\tthis.renderLegend(toPercentage);\n\t\t\t\tthis.percentage = toPercentage;\n\t\t\t}\n\t\t}\n\t}\n\n\tanimateArc(fromPercentage, toPercentage) {\n\t\tif(!this.isAnimating) {\n\t\t\tthis.isAnimating = true;\n\t\t\tlet shouldIncrement = fromPercentage < toPercentage;\n\t\t\tlet range = Math.abs(fromPercentage - toPercentage); // Percentage range between currentPercentage and the percentage to set to\n\n\t\t\tlet elapsedAnimationFrame = 0;\n\n\t\t\tlet animate = () => {\n\t\t\t\tlet easing = easeInOutCubic(elapsedAnimationFrame / this.arcAnimationFrameCount); // Set Easing based on animation interval\n\n\t\t\t\tlet animatingPercentage;\n\t\t\t\tif(shouldIncrement) {\n\t\t\t\t\tanimatingPercentage = ((range * easing) + fromPercentage);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tanimatingPercentage = Math.abs(((range * easing) - fromPercentage));\n\t\t\t\t}\n\n\t\t\t\tthis.renderArc(animatingPercentage);\n\t\t\t\tthis.renderLegend(animatingPercentage);\n\t\t\t\tthis.percentage = Math.round(animatingPercentage);\n\n\t\t\t\t// Animation has completed\n\t\t\t\tif(elapsedAnimationFrame >= this.arcAnimationFrameCount) {\n\t\t\t\t\tcancelAnimationFrame(this.animationFrameId);\n\t\t\t\t\tthis.isAnimating = false;\n\t\t\t\t\tthis.percentage = toPercentage;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\trequestAnimationFrame(animate);\n\t\t\t\t}\n\t\t\t\telapsedAnimationFrame++;\n\t\t\t};\n\n\t\t\tthis.animationFrameId = requestAnimationFrame(animate);\n\t\t}\n\t\telse {\n\t\t\tif(this.animationFrameId) {\n\t\t\t\tcancelAnimationFrame(this.animationFrameId);\n\t\t\t\tthis.isAnimating = false;\n\t\t\t\tthis.animateArc(this.percentage, toPercentage);\n\t\t\t}\n\t\t}\n\t}\n\n\trenderArc(percentage) {\n\t\tlet ctx = this.context;\n\t\tlet circleStart = 1.5 * Math.PI;\n\t\tlet circleEnd = circleStart + ((percentage / 100) * Math.PI * 2);\n\n\t\tctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n\t\tctx.beginPath();\n\t\tctx.arc(this.centerX, this.centerY, this.radius, circleStart, 4 * Math.PI, false);\n\t\tctx.lineWidth = this.lineWidth;\n\t\tctx.strokeStyle = this.plainColor;\n\t\tctx.stroke();\n\n\t\tif(percentage > 0) {\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(this.centerX, this.centerY, this.radius, circleStart, circleEnd, false);\n\t\t\tctx.lineWidth = this.lineWidth;\n\t\t\tctx.lineCap = 'butt';\n\t\t\tctx.strokeStyle = this.highlightColor;\n\t\t\tctx.fillStyle = this.highlightColor;\n\t\t\tctx.stroke();\n\t\t}\n\t}\n\n\trenderLegend(percentage) {\n\t\tthis.$legendPercentage.html(`${_round(percentage, 0)}%`);\n\t}\n\n\trescaleLegend() {\n\t\tif(this.$element.width() < this.defaultRadius) {\n\t\t\tthis.$legendText.css({\n\t\t\t\tdisplay: 'none'\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.$legendText.css({\n\t\t\t\tdisplay: 'block'\n\t\t\t});\n\t\t}\n\t}\n}\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var toInteger = require('./toInteger');\n\n/**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\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 an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\nfunction isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n}\n\nmodule.exports = isInteger;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\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 = baseTrim(value);\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 = toNumber;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = isSymbol;\n","var freeGlobal = require('./_freeGlobal');\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\nmodule.exports = root;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\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\nmodule.exports = isObject;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\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\nmodule.exports = baseGetTag;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\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\nmodule.exports = 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\nmodule.exports = objectToString;\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\nmodule.exports = isObjectLike;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.linear = linear;\nexports.easeInSine = easeInSine;\nexports.easeOutSine = easeOutSine;\nexports.easeInOutSine = easeInOutSine;\nexports.easeInQuad = easeInQuad;\nexports.easeOutQuad = easeOutQuad;\nexports.easeInOutQuad = easeInOutQuad;\nexports.easeInCubic = easeInCubic;\nexports.easeOutCubic = easeOutCubic;\nexports.easeInOutCubic = easeInOutCubic;\nexports.easeInQuart = easeInQuart;\nexports.easeOutQuart = easeOutQuart;\nexports.easeInOutQuart = easeInOutQuart;\nexports.easeInQuint = easeInQuint;\nexports.easeOutQuint = easeOutQuint;\nexports.easeInOutQuint = easeInOutQuint;\nexports.easeInExpo = easeInExpo;\nexports.easeOutExpo = easeOutExpo;\nexports.easeInOutExpo = easeInOutExpo;\nexports.easeInCirc = easeInCirc;\nexports.easeOutCirc = easeOutCirc;\nexports.easeInOutCirc = easeInOutCirc;\nexports.easeInBack = easeInBack;\nexports.easeOutBack = easeOutBack;\nexports.easeInOutBack = easeInOutBack;\nexports.easeInElastic = easeInElastic;\nexports.easeOutElastic = easeOutElastic;\nexports.easeInOutElastic = easeInOutElastic;\nexports.easeOutBounce = easeOutBounce;\nexports.easeInBounce = easeInBounce;\nexports.easeInOutBounce = easeInOutBounce;\n// Based on https://gist.github.com/gre/1650294\n\n// No easing, no acceleration\nfunction linear(t) {\n return t;\n}\n\n// Slight acceleration from zero to full speed\nfunction easeInSine(t) {\n return -1 * Math.cos(t * (Math.PI / 2)) + 1;\n}\n\n// Slight deceleration at the end\nfunction easeOutSine(t) {\n return Math.sin(t * (Math.PI / 2));\n}\n\n// Slight acceleration at beginning and slight deceleration at end\nfunction easeInOutSine(t) {\n return -0.5 * (Math.cos(Math.PI * t) - 1);\n}\n\n// Accelerating from zero velocity\nfunction easeInQuad(t) {\n return t * t;\n}\n\n// Decelerating to zero velocity\nfunction easeOutQuad(t) {\n return t * (2 - t);\n}\n\n// Acceleration until halfway, then deceleration\nfunction easeInOutQuad(t) {\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n\n// Accelerating from zero velocity\nfunction easeInCubic(t) {\n return t * t * t;\n}\n\n// Decelerating to zero velocity\nfunction easeOutCubic(t) {\n var t1 = t - 1;\n return t1 * t1 * t1 + 1;\n}\n\n// Acceleration until halfway, then deceleration\nfunction easeInOutCubic(t) {\n return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;\n}\n\n// Accelerating from zero velocity\nfunction easeInQuart(t) {\n return t * t * t * t;\n}\n\n// Decelerating to zero velocity\nfunction easeOutQuart(t) {\n var t1 = t - 1;\n return 1 - t1 * t1 * t1 * t1;\n}\n\n// Acceleration until halfway, then deceleration\nfunction easeInOutQuart(t) {\n var t1 = t - 1;\n return t < 0.5 ? 8 * t * t * t * t : 1 - 8 * t1 * t1 * t1 * t1;\n}\n\n// Accelerating from zero velocity\nfunction easeInQuint(t) {\n return t * t * t * t * t;\n}\n\n// Decelerating to zero velocity\nfunction easeOutQuint(t) {\n var t1 = t - 1;\n return 1 + t1 * t1 * t1 * t1 * t1;\n}\n\n// Acceleration until halfway, then deceleration\nfunction easeInOutQuint(t) {\n var t1 = t - 1;\n return t < 0.5 ? 16 * t * t * t * t * t : 1 + 16 * t1 * t1 * t1 * t1 * t1;\n}\n\n// Accelerate exponentially until finish\nfunction easeInExpo(t) {\n\n if (t === 0) {\n return 0;\n }\n\n return Math.pow(2, 10 * (t - 1));\n}\n\n// Initial exponential acceleration slowing to stop\nfunction easeOutExpo(t) {\n\n if (t === 1) {\n return 1;\n }\n\n return -Math.pow(2, -10 * t) + 1;\n}\n\n// Exponential acceleration and deceleration\nfunction easeInOutExpo(t) {\n\n if (t === 0 || t === 1) {\n return t;\n }\n\n var scaledTime = t * 2;\n var scaledTime1 = scaledTime - 1;\n\n if (scaledTime < 1) {\n return 0.5 * Math.pow(2, 10 * scaledTime1);\n }\n\n return 0.5 * (-Math.pow(2, -10 * scaledTime1) + 2);\n}\n\n// Increasing velocity until stop\nfunction easeInCirc(t) {\n\n var scaledTime = t / 1;\n return -1 * (Math.sqrt(1 - scaledTime * t) - 1);\n}\n\n// Start fast, decreasing velocity until stop\nfunction easeOutCirc(t) {\n\n var t1 = t - 1;\n return Math.sqrt(1 - t1 * t1);\n}\n\n// Fast increase in velocity, fast decrease in velocity\nfunction easeInOutCirc(t) {\n\n var scaledTime = t * 2;\n var scaledTime1 = scaledTime - 2;\n\n if (scaledTime < 1) {\n return -0.5 * (Math.sqrt(1 - scaledTime * scaledTime) - 1);\n }\n\n return 0.5 * (Math.sqrt(1 - scaledTime1 * scaledTime1) + 1);\n}\n\n// Slow movement backwards then fast snap to finish\nfunction easeInBack(t) {\n var magnitude = arguments.length <= 1 || arguments[1] === undefined ? 1.70158 : arguments[1];\n\n\n var scaledTime = t / 1;\n return scaledTime * scaledTime * ((magnitude + 1) * scaledTime - magnitude);\n}\n\n// Fast snap to backwards point then slow resolve to finish\nfunction easeOutBack(t) {\n var magnitude = arguments.length <= 1 || arguments[1] === undefined ? 1.70158 : arguments[1];\n\n\n var scaledTime = t / 1 - 1;\n\n return scaledTime * scaledTime * ((magnitude + 1) * scaledTime + magnitude) + 1;\n}\n\n// Slow movement backwards, fast snap to past finish, slow resolve to finish\nfunction easeInOutBack(t) {\n var magnitude = arguments.length <= 1 || arguments[1] === undefined ? 1.70158 : arguments[1];\n\n\n var scaledTime = t * 2;\n var scaledTime2 = scaledTime - 2;\n\n var s = magnitude * 1.525;\n\n if (scaledTime < 1) {\n\n return 0.5 * scaledTime * scaledTime * ((s + 1) * scaledTime - s);\n }\n\n return 0.5 * (scaledTime2 * scaledTime2 * ((s + 1) * scaledTime2 + s) + 2);\n}\n// Bounces slowly then quickly to finish\nfunction easeInElastic(t) {\n var magnitude = arguments.length <= 1 || arguments[1] === undefined ? 0.7 : arguments[1];\n\n\n if (t === 0 || t === 1) {\n return t;\n }\n\n var scaledTime = t / 1;\n var scaledTime1 = scaledTime - 1;\n\n var p = 1 - magnitude;\n var s = p / (2 * Math.PI) * Math.asin(1);\n\n return -(Math.pow(2, 10 * scaledTime1) * Math.sin((scaledTime1 - s) * (2 * Math.PI) / p));\n}\n\n// Fast acceleration, bounces to zero\nfunction easeOutElastic(t) {\n var magnitude = arguments.length <= 1 || arguments[1] === undefined ? 0.7 : arguments[1];\n\n\n var p = 1 - magnitude;\n var scaledTime = t * 2;\n\n if (t === 0 || t === 1) {\n return t;\n }\n\n var s = p / (2 * Math.PI) * Math.asin(1);\n return Math.pow(2, -10 * scaledTime) * Math.sin((scaledTime - s) * (2 * Math.PI) / p) + 1;\n}\n\n// Slow start and end, two bounces sandwich a fast motion\nfunction easeInOutElastic(t) {\n var magnitude = arguments.length <= 1 || arguments[1] === undefined ? 0.65 : arguments[1];\n\n\n var p = 1 - magnitude;\n\n if (t === 0 || t === 1) {\n return t;\n }\n\n var scaledTime = t * 2;\n var scaledTime1 = scaledTime - 1;\n\n var s = p / (2 * Math.PI) * Math.asin(1);\n\n if (scaledTime < 1) {\n return -0.5 * (Math.pow(2, 10 * scaledTime1) * Math.sin((scaledTime1 - s) * (2 * Math.PI) / p));\n }\n\n return Math.pow(2, -10 * scaledTime1) * Math.sin((scaledTime1 - s) * (2 * Math.PI) / p) * 0.5 + 1;\n}\n\n// Bounce to completion\nfunction easeOutBounce(t) {\n\n var scaledTime = t / 1;\n\n if (scaledTime < 1 / 2.75) {\n\n return 7.5625 * scaledTime * scaledTime;\n } else if (scaledTime < 2 / 2.75) {\n\n var scaledTime2 = scaledTime - 1.5 / 2.75;\n return 7.5625 * scaledTime2 * scaledTime2 + 0.75;\n } else if (scaledTime < 2.5 / 2.75) {\n\n var _scaledTime = scaledTime - 2.25 / 2.75;\n return 7.5625 * _scaledTime * _scaledTime + 0.9375;\n } else {\n\n var _scaledTime2 = scaledTime - 2.625 / 2.75;\n return 7.5625 * _scaledTime2 * _scaledTime2 + 0.984375;\n }\n}\n\n// Bounce increasing in velocity until completion\nfunction easeInBounce(t) {\n return 1 - easeOutBounce(1 - t);\n}\n\n// Bounce in and bounce out\nfunction easeInOutBounce(t) {\n\n if (t < 0.5) {\n\n return easeInBounce(t * 2) * 0.5;\n }\n\n return easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\n}\n","var createRound = require('./_createRound');\n\n/**\n * Computes `number` rounded to `precision`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Math\n * @param {number} number The number to round.\n * @param {number} [precision=0] The precision to round to.\n * @returns {number} Returns the rounded number.\n * @example\n *\n * _.round(4.006);\n * // => 4\n *\n * _.round(4.006, 2);\n * // => 4.01\n *\n * _.round(4060, -2);\n * // => 4100\n */\nvar round = createRound('round');\n\nmodule.exports = round;\n","var root = require('./_root'),\n toInteger = require('./toInteger'),\n toNumber = require('./toNumber'),\n toString = require('./toString');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsFinite = root.isFinite,\n nativeMin = Math.min;\n\n/**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\nfunction createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n}\n\nmodule.exports = createRound;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Checks if `value` is classified as an `Array` object.\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 array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n"],"sourceRoot":""}