{"version":3,"sources":["webpack:///./src/shared/utilities/screenSize.js","webpack:///./node_modules/process/browser.js","webpack:///./src/components/atoms/anchor-link/anchor-link.js","webpack:///./src/shared/utilities/debounce.js","webpack:///./src/shared/utilities/pubsub.js","webpack:///./src/framework/base/base.js","webpack:///./src/shared/utilities/case.ts","webpack:///./src/shared/utilities/id.ts","webpack:///./src/shared/utilities/animate.js"],"names":["defaultWidths","sm","md","lg","xl","getBreakpoint","window","getComputedStyle","document","querySelector","getPropertyValue","replace","screenSmallerThan","size","widths","arguments","length","undefined","Object","prototype","hasOwnProperty","call","Error","concat","keys","join","innerWidth","screenGreatOrEqualTo","cachedSetTimeout","cachedClearTimeout","process","module","exports","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","e","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","i","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","getAncestorAnchor","rootElm","maxDepth","depth","elm","nodeType","matches","hash","getAttribute","indexOf","location","pathname","closest","AnchorDispatcher","listener","addEventListener","evt","anchor","target","forEach","c","anchorDispatcher","getAnchorDispatcher","calculateEndPos","element","navTop","offsetHeight","navRoot","cookieConsent","startPos","pageYOffset","endPos","_element$parentElemen","parent","offsetParent","pos","offsetTop","tagName","toLowerCase","parentElement","classList","contains","getTopPositionFromBody","smoothScrollTo","accordionCheck","nextElementSibling","checked","animate","percentDone","easeInFactor","Math","cos","PI","scrollOffset","scroll","AnchorLink","_BaseBehavior","_this","_classCallCheck","_callSuper","id","init","bind","scrollToHashlinkSec","preventDefault","_inherits","key","value","history","scrollRestoration","linkSelector","endPosElement","hidden","BaseBehavior","debounce","func","wait","immediate","_len","_key","later","callNow","pubsub","PubSub","subscriptions","topic","_step","_iterator","_createForOfIteratorHelper","s","n","done","fn","err","f","index","splice","state","events","behaviorName","camelCaseToDashCase","instanceId","generateId","attachInstanceId","partialState","_objectSpread","setAttribute","removeAttribute","_this2","dom","from","querySelectorAll","filter","el","ref","dashCaseToCamelCase","split","console","error","_this3","delay","breakpoint","publish","debouncedGetBreakpoint","newBreakPoint","event","useCapture","removeEventListener","obj","subscribe","unsubscribe","navigation","getBoundingClientRect","bottom","scrollY","reason","promise","log","str","x","chr","toUpperCase","alphabet","charAt","floor","random","cb","animDuration","Promise","res","animStart","performance","now","animStep","timestamp","pctDone","abortAnim","requestAnimationFrame"],"mappings":"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","file":"55-5f1fc1b7.js","sourcesContent":["export const defaultWidths = {\r\n\tsm: 768,\r\n\tmd: 1024,\r\n\tlg: 1280,\r\n\txl: 1400\r\n};\r\n\r\n// getBreakpoint :: Void -> String\r\nexport const getBreakpoint = () =>\r\n\twindow\r\n\t\t.getComputedStyle(document.querySelector('body'), ':before')\r\n\t\t.getPropertyValue('content')\r\n\t\t.replace(/\"/g, '');\r\n\r\n// function :: String -> ?Object -> Boolean\r\nexport function screenSmallerThan(size, widths = defaultWidths) {\r\n\tif (!Object.prototype.hasOwnProperty.call(widths, size)) {\r\n\t\tthrow new Error(`size must be one of: ${Object.keys(widths).join(', ')}`);\r\n\t}\r\n\treturn window.innerWidth < widths[size];\r\n}\r\n\r\nexport function screenGreatOrEqualTo(size, widths = defaultWidths) {\r\n\tif (!Object.prototype.hasOwnProperty.call(widths, size)) {\r\n\t\tthrow new Error(`size must be one of: ${Object.keys(widths).join(', ')}`);\r\n\t}\r\n\treturn window.innerWidth >= widths[size];\r\n}\r\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import BaseBehavior from '../../../framework/base/base';\r\nimport { animate } from '../../../shared/utilities/animate';\r\n\r\nexport function getAncestorAnchor(rootElm, maxDepth = 5) {\r\n\tlet depth = 0;\r\n\tlet elm = rootElm;\r\n\twhile (elm && elm.nodeType === 1 && depth < maxDepth) {\r\n\t\tif (\r\n\t\t\telm.matches('a') &&\r\n\t\t\telm.hash !== '' &&\r\n\t\t\t(elm.getAttribute('href').indexOf(window.location.pathname) > -1 ||\r\n\t\t\t\telm.getAttribute('href').indexOf('#') === 0) // checking if the url is for same page or different one and has a valid hash value\r\n\t\t) {\r\n\t\t\treturn elm;\r\n\t\t}\r\n\r\n\t\telm = elm.closest('a');\r\n\t\tdepth++;\r\n\t}\r\n\r\n\treturn null;\r\n}\r\n\r\nexport function AnchorDispatcher() {\r\n\tconst listeners = [];\r\n\tthis.addListener = listener => {\r\n\t\tlisteners.push(listener);\r\n\t};\r\n\r\n\tdocument.addEventListener('click', evt => {\r\n\t\tconst anchor = getAncestorAnchor(evt.target);\r\n\t\tanchor && listeners.forEach(c => c(evt, anchor));\r\n\t});\r\n}\r\n\r\nlet anchorDispatcher = null;\r\n\r\nexport function getAnchorDispatcher() {\r\n\tif (anchorDispatcher) {\r\n\t\treturn anchorDispatcher;\r\n\t}\r\n\r\n\tanchorDispatcher = new AnchorDispatcher();\r\n\treturn anchorDispatcher;\r\n}\r\n\r\nfunction getTopPositionFromBody(element) {\r\n\tlet { offsetParent: parent, offsetTop: pos } = element;\r\n\r\n\twhile (parent && parent.tagName.toLowerCase() !== 'body') {\r\n\t\tpos += parent.offsetTop;\r\n\t\tparent = parent.offsetParent;\r\n\t}\r\n\tif (element.parentElement?.classList.contains('glossary__details')) {\r\n\t\tconst { offsetHeight } = element.parentElement.querySelector('.glossary__details-item-header');\r\n\t\tpos -= offsetHeight;\r\n\t}\r\n\treturn pos;\r\n}\r\n\r\nfunction calculateEndPos(element) {\r\n\tconst navTop = document.querySelector('.header') || { offsetHeight: 0 };\r\n\tconst navRoot = document.querySelector('.v2-nav__root') || { offsetHeight: 0 };\r\n\tconst cookieConsent = document.querySelector('.v2-cookie-disclaimer--top') || { offsetHeight: 0 };\r\n\tconst startPos = window.pageYOffset;\r\n\tconst endPos = getTopPositionFromBody(element);\r\n\t// In case of scroll down mega nav get's unpinned so anchor-link top position should be adjusted\r\n\t// anchor-link has a negative value for top\r\n\tif (endPos < startPos) {\r\n\t\treturn endPos - (navRoot.offsetHeight + navTop.offsetHeight + cookieConsent.offsetHeight);\r\n\t}\r\n\r\n\treturn endPos - (navTop.offsetHeight + cookieConsent.offsetHeight);\r\n}\r\n\r\nexport function smoothScrollTo(element) {\r\n\tconst startPos = window.pageYOffset;\r\n\tconst endPos = calculateEndPos(element);\r\n\tconst accordionCheck = element.nextElementSibling.querySelector('.v2-accordion [type=checkbox]');\r\n\tif (accordionCheck) {\r\n\t\taccordionCheck.checked = true;\r\n\t}\r\n\tanimate(percentDone => {\r\n\t\tconst easeInFactor = (Math.cos(Math.PI * (1 - percentDone)) + 1) / 2;\r\n\t\tconst scrollOffset = (endPos - startPos) * easeInFactor;\r\n\t\twindow.scroll(0, startPos + scrollOffset);\r\n\t}, 500);\r\n}\r\n\r\nexport default class AnchorLink extends BaseBehavior {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tconst id = element.getAttribute('id');\r\n\t\t// check if URL contains #link, if exists call smotthScrollTo function for that Id\r\n\t\twindow.addEventListener('load', this.init.bind(this));\r\n\r\n\t\twindow.addEventListener(\r\n\t\t\t'hashchange',\r\n\t\t\t() => {\r\n\t\t\t\tif (window.location.hash) {\r\n\t\t\t\t\tthis.scrollToHashlinkSec();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tfalse\r\n\t\t);\r\n\r\n\t\tgetAnchorDispatcher().addListener((evt, anchor) => {\r\n\t\t\tif (\r\n\t\t\t\t(anchor.getAttribute('href').indexOf(window.location.pathname) > -1 &&\r\n\t\t\t\t\tanchor.getAttribute('href').indexOf(`#${id}`) > -1) ||\r\n\t\t\t\tanchor.getAttribute('href').indexOf(`#${id}`) === 0\r\n\t\t\t) {\r\n\t\t\t\tevt.preventDefault();\r\n\t\t\t\tsmoothScrollTo(element);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tinit() {\r\n\t\t// check if URL contains #link, if exists call smotthScrollTo function for that Id\r\n\t\tif (window.location.hash) {\r\n\t\t\tthis.scrollToHashlinkSec();\r\n\t\t}\r\n\t}\r\n\r\n\tscrollToHashlinkSec() {\r\n\t\tif (window.location.hash) {\r\n\t\t\tif (window.history.scrollRestoration) {\r\n\t\t\t\twindow.history.scrollRestoration = 'manual';\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Locate anchor via name attribute to avoid invalid id selector errors.\r\n\t\tconst linkSelector = `[name='${window.location.hash.replace('#', '')}']`;\r\n\t\tconst endPosElement = document.querySelector(linkSelector);\r\n\t\t// don't scroll when there is no corresponding anchor link to scroll to.\r\n\t\tif (endPosElement) {\r\n\t\t\tconst endPos = calculateEndPos(endPosElement);\r\n\t\t\t// scroll with animation or not based on loading document visibiltiy.\r\n\t\t\tdocument.hidden === true ? window.scroll(0, endPos) : smoothScrollTo(endPosElement);\r\n\t\t}\r\n\t}\r\n}\r\n","// debounce :: Function, Number, Bool -> (Any -> Void)\r\nexport function debounce(func, wait, immediate) {\r\n\tlet timeout;\r\n\treturn function debounced(...args) {\r\n\t\tconst later = () => {\r\n\t\t\ttimeout = null;\r\n\t\t\tif (!immediate) func(args);\r\n\t\t};\r\n\t\tconst callNow = immediate && !timeout;\r\n\t\tclearTimeout(timeout);\r\n\t\ttimeout = setTimeout(later, wait);\r\n\t\tif (callNow) func(args);\r\n\t};\r\n}\r\n","class PubSub {\r\n\tconstructor() {\r\n\t\tthis.subscriptions = {};\r\n\t}\r\n\r\n\tpublish(topic, ...args) {\r\n\t\tif (this.subscriptions[topic]) {\r\n\t\t\t// eslint-disable-next-line no-restricted-syntax\r\n\t\t\tfor (const fn of this.subscriptions[topic]) {\r\n\t\t\t\tfn(...args);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tsubscribe(topic, fn) {\r\n\t\tthis.subscriptions[topic] = this.subscriptions[topic] || [];\r\n\t\tthis.subscriptions[topic].push(fn);\r\n\t}\r\n\r\n\tunsubscribe(topic, fn) {\r\n\t\tif (this.subscriptions[topic]) {\r\n\t\t\tthis.subscriptions[topic].forEach((value, index) => {\r\n\t\t\t\tif (value === fn) {\r\n\t\t\t\t\tthis.subscriptions[topic].splice(index, 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst pubsub = new PubSub();\r\n\r\nexport default pubsub;\r\n","import pubsub from '../../shared/utilities/pubsub';\r\nimport { generateId } from '../../shared/utilities/id';\r\nimport { camelCaseToDashCase, dashCaseToCamelCase } from '../../shared/utilities/case';\r\nimport { getBreakpoint } from '../../shared/utilities/screenSize';\r\nimport { debounce } from '../../shared/utilities/debounce';\r\n\r\nexport default class BaseBehavior {\r\n\tconstructor(element) {\r\n\t\tthis.element = element;\r\n\t\tthis.state = undefined;\r\n\t\tthis.events = {};\r\n\t\tthis.subscriptions = {};\r\n\t\tthis.behaviorName = camelCaseToDashCase(element.getAttribute('data-behavior'));\r\n\t\tthis.instanceId = generateId();\r\n\t\tthis.attachInstanceId();\r\n\t}\r\n\r\n\tsetState(partialState) {\r\n\t\tObject.keys(partialState).forEach(key => {\r\n\t\t\tif (!{}.hasOwnProperty.call(this.state, key)) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`${this.behaviorName} does not have ${key} on the state object,\r\n\t\t\t\t\tmake sure to define all state properties in the constructor.`\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.state = { ...(this.state || {}), ...partialState };\r\n\t}\r\n\r\n\tattachInstanceId() {\r\n\t\tthis.element.setAttribute('data-instance', `${this.behaviorName}__${this.instanceId}`);\r\n\t\tthis.element.removeAttribute('data-instance-init');\r\n\t}\r\n\r\n\tinitDomCache() {\r\n\t\tthis.dom = {};\r\n\r\n\t\t// Filter out ref's that embedded in another instance of the same behavior.\r\n\t\tArray.from(this.element.querySelectorAll(`[data-ref^=${this.behaviorName}]`))\r\n\t\t\t.filter(el => el.closest(`[data-behavior*=\"${this.behaviorName}\"]`) === this.element)\r\n\t\t\t.forEach(element => {\r\n\t\t\t\tconst ref = element.getAttribute('data-ref');\r\n\t\t\t\tconst key = dashCaseToCamelCase(ref).split('__')[1];\r\n\r\n\t\t\t\tif (key) {\r\n\t\t\t\t\tthis.dom[key] = element;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\r\n\t\t\t\t\t\t`Element cannot be cached. Reference \"${ref}\" should have the format \"behavior-name__element-name\"`\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublishBreakpointOnResize(delay = 250) {\r\n\t\tif (this.breakpoint) return;\r\n\r\n\t\tthis.breakpoint = getBreakpoint();\r\n\t\tthis.publish('SITE.BREAKPOINT', this.breakpoint);\r\n\r\n\t\tconst debouncedGetBreakpoint = debounce(() => {\r\n\t\t\tconst newBreakPoint = getBreakpoint();\r\n\t\t\tif (this.breakpoint !== newBreakPoint) {\r\n\t\t\t\tthis.publish('SITE.BREAKPOINT', newBreakPoint);\r\n\t\t\t\tthis.breakpoint = newBreakPoint;\r\n\t\t\t}\r\n\t\t}, delay);\r\n\r\n\t\twindow.addEventListener('resize', debouncedGetBreakpoint);\r\n\t}\r\n\r\n\taddEventListener(element, event, fn, useCapture = false) {\r\n\t\tif (element) {\r\n\t\t\tthis.events[event] = fn;\r\n\t\t\telement.addEventListener(event.split('.')[0], this.events[event], useCapture);\r\n\t\t}\r\n\t}\r\n\r\n\tremoveEventListener(element, event) {\r\n\t\telement.removeEventListener(event.split('.')[0], this.events[event]);\r\n\t\tthis.events[event] = null;\r\n\t\tdelete this.events[event];\r\n\t}\r\n\r\n\t// eslint-disable-next-line class-methods-use-this\r\n\tpublish(topic, obj) {\r\n\t\tpubsub.publish(topic, obj);\r\n\t}\r\n\r\n\tsubscribe(topic, fn) {\r\n\t\tthis.subscriptions[topic] = fn;\r\n\t\tpubsub.subscribe(topic, fn);\r\n\t}\r\n\r\n\tunsubscribe(topic) {\r\n\t\tpubsub.unsubscribe(topic, this.subscriptions[topic]);\r\n\t\tthis.subscriptions[topic] = null;\r\n\t\tdelete this.subscriptions[topic];\r\n\t}\r\n}\r\n\r\n// Below code is added for fixing scrolling issue on page refresh.\r\nwindow.addEventListener('load', () => {\r\n\tsetTimeout(() => {\r\n\t\tconst navigation = document.querySelector('#navigation');\r\n\t\t// eslint-disable-next-line\r\n\t\tif (navigation && navigation.getBoundingClientRect().bottom === scrollY) {\r\n\t\t\twindow.scroll(0, 0);\r\n\t\t}\r\n\t}, 0);\r\n});\r\n\r\nprocess.on('unhandledRejection', (reason, promise) => {\r\n\t// eslint-disable-next-line no-console\r\n\tconsole.log('Reason for this failure is : ', reason);\r\n\t// eslint-disable-next-line no-console\r\n\tconsole.log('promise is', promise);\r\n\t// Application specific logging, throwing an error, or other logic here\r\n});\r\n","export function camelCaseToDashCase(str: string): string {\r\n\treturn str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\r\n}\r\n\r\nexport function dashCaseToCamelCase(str: string): string {\r\n\treturn str.replace(/\\W+(.)/g, (x, chr) => chr.toUpperCase());\r\n}\r\n","const alphabet = '23456789ABDEGJKMNPQRVWXYZ';\r\n\r\nexport function generateId(length: number = 6): string {\r\n\tlet id:string = '';\r\n\r\n\tfor (let i:number = 0; i < length; i++) {\r\n\t\tid += alphabet.charAt(Math.floor(Math.random() * alphabet.length));\r\n\t}\r\n\r\n\treturn id;\r\n}\r\n","/**\r\n * An animation helper\r\n *\r\n * Calls the specified callback each animation frame\r\n * with the percentage done until the duration runs out.\r\n * The callback can cancel the animation by returning false.\r\n *\r\n * Returns a promise that resolves when the animation is done or cancelled.\r\n *\r\n * @param {Function(pctDone)} Method to be called each animation frame\r\n * @param {Number} The duration of the animation\r\n * @return {Promise}\r\n */\r\nexport function animate(cb, animDuration = 1000) {\r\n\treturn new Promise(res => {\r\n\t\tconst animStart = performance.now();\r\n\t\tconst animStep = timestamp => {\r\n\t\t\tconst pctDone = (timestamp - animStart) / animDuration;\r\n\t\t\tconst abortAnim = cb(pctDone) === false;\r\n\r\n\t\t\tif (pctDone <= 1 && !abortAnim) {\r\n\t\t\t\twindow.requestAnimationFrame(animStep);\r\n\t\t\t} else {\r\n\t\t\t\tres();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\twindow.requestAnimationFrame(animStep);\r\n\t});\r\n}\r\n"],"sourceRoot":""}