react-slideshow-image 3.6.1 → 3.7.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://react-slideshow-image/webpack/universalModuleDefinition","webpack://react-slideshow-image/webpack/bootstrap","webpack://react-slideshow-image/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://react-slideshow-image/./node_modules/@tweenjs/tween.js/dist/tween.esm.js","webpack://react-slideshow-image/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://react-slideshow-image/./node_modules/process/browser.js","webpack://react-slideshow-image/(webpack)/buildin/global.js","webpack://react-slideshow-image/./src/props.js","webpack://react-slideshow-image/./src/helpers.js","webpack://react-slideshow-image/./src/slide.js","webpack://react-slideshow-image/./src/fade.js","webpack://react-slideshow-image/./src/zoom.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_Group","_tweens","_tweensAddedDuringUpdate","getAll","keys","map","tweenId","removeAll","add","tween","getId","remove","update","time","preserve","tweenIds","length","undefined","TWEEN","now","_isPlaying","a","Group","_nextId","nextId","process","hrtime","self","performance","Date","getTime","Tween","group","_object","_valuesStart","_valuesEnd","_valuesStartRepeat","_duration","_repeat","_repeatDelayTime","_yoyo","_reversed","_delayTime","_startTime","_easingFunction","Easing","Linear","None","_interpolationFunction","Interpolation","_chainedTweens","_onStartCallback","_onStartCallbackFired","_onUpdateCallback","_onRepeatCallback","_onCompleteCallback","_onStopCallback","_group","_id","isPlaying","to","properties","duration","start","parseFloat","Array","concat","stop","stopChainedTweens","end","Infinity","numChainedTweens","delay","amount","repeat","times","repeatDelay","yoyo","easing","easingFunction","interpolation","interpolationFunction","chain","arguments","onStart","callback","onUpdate","onRepeat","onComplete","onStop","elapsed","charAt","isFinite","tmp","k","Quadratic","In","Out","InOut","Cubic","Quartic","Quintic","Sinusoidal","Math","cos","PI","sin","Exponential","pow","Circular","sqrt","Elastic","Back","Bounce","v","f","floor","fn","Utils","Bezier","b","pw","bn","Bernstein","CatmullRom","p0","p1","fc","Factorial","p2","p3","v0","v1","t2","MapShim","Map","getIndex","arr","result","some","entry","index","class_1","__entries__","configurable","set","push","delete","entries","splice","has","clear","forEach","ctx","_i","_a","isBrowser","window","document","global$1","global","Function","requestAnimationFrame$1","requestAnimationFrame","setTimeout","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","target","props","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","reduce","size","position","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","width","height","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","_this","observation","WeakMap","ResizeObserver","method","apply","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","e","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","g","defaultProps","transitionDuration","defaultIndex","infinite","autoplay","indicators","arrows","pauseOnHover","scale","canSwipe","slidesToShow","slidesToScroll","cssClass","getProps","componentProps","children","React","Children","each","propTypes","onChange","prevArrow","nextArrow","validatePropTypes","propValueType","isArray","includes","console","warn","join","EASING_METHODS","linear","ease","cubic","getEasing","easeMethod","getUnhandledProps","ComponentProps","handledProps","acc","prop","showPreviousArrow","currentIndex","moveSlides","isDisabled","disabled","onClick","cloneElement","className","viewBox","showNextArrow","showIndicators","navigate","isCustomIndicator","pages","ceil","from","_","indicatorProps","isCurrentPageActive","eachIndicator","showCustomIndicator","showDefaultIndicator","Slideshow","state","dragging","imageContainer","wrapper","pauseSlides","startSlides","handleResize","initResizeObserver","reactSlideshowWrapper","createRef","goToSlide","tweenGroup","startSwipe","endSwipe","swipe","distanceSwiped","setWidth","goNext","resizeObserver","current","willUnmount","removeResizeObserver","startingClientX","touches","pageX","clientX","goBack","slideImages","translateValue","getOffset","distance","style","transform","allImages","slice","querySelectorAll","numberOfSlides","count","fullwidth","applySlideStyle","newProps","eachImage","currentTarget","dataset","type","goTo","parseInt","calculateIndex","nextIndex","previousIndex","data-index","aria-roledescription","aria-hidden","unhandledProps","onMouseEnter","onMouseOver","onMouseLeave","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","ref","renderPreceedingSlides","isSlideActive","renderTrailingSlides","animationDuration","margin","animate","newIndex","setState","Component","Fade","divsContainer","preFade","play","fadeImages","applyStyle","eachDiv","changedTouches","wrap","opacity","zIndex","Zoom","preZoom","zoomTo"],"mappings":"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","file":"react-slideshow-image.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"react-slideshow-image\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"react-slideshow-image\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\n\n\nvar _Group = function () {\n\tthis._tweens = {};\n\tthis._tweensAddedDuringUpdate = {};\n};\n\n_Group.prototype = {\n\tgetAll: function () {\n\n\t\treturn Object.keys(this._tweens).map(function (tweenId) {\n\t\t\treturn this._tweens[tweenId];\n\t\t}.bind(this));\n\n\t},\n\n\tremoveAll: function () {\n\n\t\tthis._tweens = {};\n\n\t},\n\n\tadd: function (tween) {\n\n\t\tthis._tweens[tween.getId()] = tween;\n\t\tthis._tweensAddedDuringUpdate[tween.getId()] = tween;\n\n\t},\n\n\tremove: function (tween) {\n\n\t\tdelete this._tweens[tween.getId()];\n\t\tdelete this._tweensAddedDuringUpdate[tween.getId()];\n\n\t},\n\n\tupdate: function (time, preserve) {\n\n\t\tvar tweenIds = Object.keys(this._tweens);\n\n\t\tif (tweenIds.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttime = time !== undefined ? time : TWEEN.now();\n\n\t\t// Tweens are updated in \"batches\". If you add a new tween during an update, then the\n\t\t// new tween will be updated in the next batch.\n\t\t// If you remove a tween during an update, it may or may not be updated. However,\n\t\t// if the removed tween was added during the current batch, then it will not be updated.\n\t\twhile (tweenIds.length > 0) {\n\t\t\tthis._tweensAddedDuringUpdate = {};\n\n\t\t\tfor (var i = 0; i < tweenIds.length; i++) {\n\n\t\t\t\tvar tween = this._tweens[tweenIds[i]];\n\n\t\t\t\tif (tween && tween.update(time) === false) {\n\t\t\t\t\ttween._isPlaying = false;\n\n\t\t\t\t\tif (!preserve) {\n\t\t\t\t\t\tdelete this._tweens[tweenIds[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttweenIds = Object.keys(this._tweensAddedDuringUpdate);\n\t\t}\n\n\t\treturn true;\n\n\t}\n};\n\nvar TWEEN = new _Group();\n\nTWEEN.Group = _Group;\nTWEEN._nextId = 0;\nTWEEN.nextId = function () {\n\treturn TWEEN._nextId++;\n};\n\n\n// Include a performance.now polyfill.\n// In node.js, use process.hrtime.\nif (typeof (self) === 'undefined' && typeof (process) !== 'undefined' && process.hrtime) {\n\tTWEEN.now = function () {\n\t\tvar time = process.hrtime();\n\n\t\t// Convert [seconds, nanoseconds] to milliseconds.\n\t\treturn time[0] * 1000 + time[1] / 1000000;\n\t};\n}\n// In a browser, use self.performance.now if it is available.\nelse if (typeof (self) !== 'undefined' &&\n self.performance !== undefined &&\n\t\t self.performance.now !== undefined) {\n\t// This must be bound, because directly assigning this function\n\t// leads to an invocation exception in Chrome.\n\tTWEEN.now = self.performance.now.bind(self.performance);\n}\n// Use Date.now if it is available.\nelse if (Date.now !== undefined) {\n\tTWEEN.now = Date.now;\n}\n// Otherwise, use 'new Date().getTime()'.\nelse {\n\tTWEEN.now = function () {\n\t\treturn new Date().getTime();\n\t};\n}\n\n\nTWEEN.Tween = function (object, group) {\n\tthis._object = object;\n\tthis._valuesStart = {};\n\tthis._valuesEnd = {};\n\tthis._valuesStartRepeat = {};\n\tthis._duration = 1000;\n\tthis._repeat = 0;\n\tthis._repeatDelayTime = undefined;\n\tthis._yoyo = false;\n\tthis._isPlaying = false;\n\tthis._reversed = false;\n\tthis._delayTime = 0;\n\tthis._startTime = null;\n\tthis._easingFunction = TWEEN.Easing.Linear.None;\n\tthis._interpolationFunction = TWEEN.Interpolation.Linear;\n\tthis._chainedTweens = [];\n\tthis._onStartCallback = null;\n\tthis._onStartCallbackFired = false;\n\tthis._onUpdateCallback = null;\n\tthis._onRepeatCallback = null;\n\tthis._onCompleteCallback = null;\n\tthis._onStopCallback = null;\n\tthis._group = group || TWEEN;\n\tthis._id = TWEEN.nextId();\n\n};\n\nTWEEN.Tween.prototype = {\n\tgetId: function () {\n\t\treturn this._id;\n\t},\n\n\tisPlaying: function () {\n\t\treturn this._isPlaying;\n\t},\n\n\tto: function (properties, duration) {\n\n\t\tthis._valuesEnd = Object.create(properties);\n\n\t\tif (duration !== undefined) {\n\t\t\tthis._duration = duration;\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\tduration: function duration(d) {\n\t\tthis._duration = d;\n\t\treturn this;\n\t},\n\n\tstart: function (time) {\n\n\t\tthis._group.add(this);\n\n\t\tthis._isPlaying = true;\n\n\t\tthis._onStartCallbackFired = false;\n\n\t\tthis._startTime = time !== undefined ? typeof time === 'string' ? TWEEN.now() + parseFloat(time) : time : TWEEN.now();\n\t\tthis._startTime += this._delayTime;\n\n\t\tfor (var property in this._valuesEnd) {\n\n\t\t\t// Check if an Array was provided as property value\n\t\t\tif (this._valuesEnd[property] instanceof Array) {\n\n\t\t\t\tif (this._valuesEnd[property].length === 0) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Create a local copy of the Array with the start value at the front\n\t\t\t\tthis._valuesEnd[property] = [this._object[property]].concat(this._valuesEnd[property]);\n\n\t\t\t}\n\n\t\t\t// If `to()` specifies a property that doesn't exist in the source object,\n\t\t\t// we should not set that property in the object\n\t\t\tif (this._object[property] === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Save the starting value.\n\t\t\tthis._valuesStart[property] = this._object[property];\n\n\t\t\tif ((this._valuesStart[property] instanceof Array) === false) {\n\t\t\t\tthis._valuesStart[property] *= 1.0; // Ensures we're using numbers, not strings\n\t\t\t}\n\n\t\t\tthis._valuesStartRepeat[property] = this._valuesStart[property] || 0;\n\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\tstop: function () {\n\n\t\tif (!this._isPlaying) {\n\t\t\treturn this;\n\t\t}\n\n\t\tthis._group.remove(this);\n\t\tthis._isPlaying = false;\n\n\t\tif (this._onStopCallback !== null) {\n\t\t\tthis._onStopCallback(this._object);\n\t\t}\n\n\t\tthis.stopChainedTweens();\n\t\treturn this;\n\n\t},\n\n\tend: function () {\n\n\t\tthis.update(Infinity);\n\t\treturn this;\n\n\t},\n\n\tstopChainedTweens: function () {\n\n\t\tfor (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n\t\t\tthis._chainedTweens[i].stop();\n\t\t}\n\n\t},\n\n\tgroup: function (group) {\n\t\tthis._group = group;\n\t\treturn this;\n\t},\n\n\tdelay: function (amount) {\n\n\t\tthis._delayTime = amount;\n\t\treturn this;\n\n\t},\n\n\trepeat: function (times) {\n\n\t\tthis._repeat = times;\n\t\treturn this;\n\n\t},\n\n\trepeatDelay: function (amount) {\n\n\t\tthis._repeatDelayTime = amount;\n\t\treturn this;\n\n\t},\n\n\tyoyo: function (yoyo) {\n\n\t\tthis._yoyo = yoyo;\n\t\treturn this;\n\n\t},\n\n\teasing: function (easingFunction) {\n\n\t\tthis._easingFunction = easingFunction;\n\t\treturn this;\n\n\t},\n\n\tinterpolation: function (interpolationFunction) {\n\n\t\tthis._interpolationFunction = interpolationFunction;\n\t\treturn this;\n\n\t},\n\n\tchain: function () {\n\n\t\tthis._chainedTweens = arguments;\n\t\treturn this;\n\n\t},\n\n\tonStart: function (callback) {\n\n\t\tthis._onStartCallback = callback;\n\t\treturn this;\n\n\t},\n\n\tonUpdate: function (callback) {\n\n\t\tthis._onUpdateCallback = callback;\n\t\treturn this;\n\n\t},\n\n\tonRepeat: function onRepeat(callback) {\n\n\t\tthis._onRepeatCallback = callback;\n\t\treturn this;\n\n\t},\n\n\tonComplete: function (callback) {\n\n\t\tthis._onCompleteCallback = callback;\n\t\treturn this;\n\n\t},\n\n\tonStop: function (callback) {\n\n\t\tthis._onStopCallback = callback;\n\t\treturn this;\n\n\t},\n\n\tupdate: function (time) {\n\n\t\tvar property;\n\t\tvar elapsed;\n\t\tvar value;\n\n\t\tif (time < this._startTime) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (this._onStartCallbackFired === false) {\n\n\t\t\tif (this._onStartCallback !== null) {\n\t\t\t\tthis._onStartCallback(this._object);\n\t\t\t}\n\n\t\t\tthis._onStartCallbackFired = true;\n\t\t}\n\n\t\telapsed = (time - this._startTime) / this._duration;\n\t\telapsed = (this._duration === 0 || elapsed > 1) ? 1 : elapsed;\n\n\t\tvalue = this._easingFunction(elapsed);\n\n\t\tfor (property in this._valuesEnd) {\n\n\t\t\t// Don't update properties that do not exist in the source object\n\t\t\tif (this._valuesStart[property] === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar start = this._valuesStart[property] || 0;\n\t\t\tvar end = this._valuesEnd[property];\n\n\t\t\tif (end instanceof Array) {\n\n\t\t\t\tthis._object[property] = this._interpolationFunction(end, value);\n\n\t\t\t} else {\n\n\t\t\t\t// Parses relative end values with start as base (e.g.: +10, -3)\n\t\t\t\tif (typeof (end) === 'string') {\n\n\t\t\t\t\tif (end.charAt(0) === '+' || end.charAt(0) === '-') {\n\t\t\t\t\t\tend = start + parseFloat(end);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tend = parseFloat(end);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Protect against non numeric properties.\n\t\t\t\tif (typeof (end) === 'number') {\n\t\t\t\t\tthis._object[property] = start + (end - start) * value;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tif (this._onUpdateCallback !== null) {\n\t\t\tthis._onUpdateCallback(this._object, elapsed);\n\t\t}\n\n\t\tif (elapsed === 1) {\n\n\t\t\tif (this._repeat > 0) {\n\n\t\t\t\tif (isFinite(this._repeat)) {\n\t\t\t\t\tthis._repeat--;\n\t\t\t\t}\n\n\t\t\t\t// Reassign starting values, restart by making startTime = now\n\t\t\t\tfor (property in this._valuesStartRepeat) {\n\n\t\t\t\t\tif (typeof (this._valuesEnd[property]) === 'string') {\n\t\t\t\t\t\tthis._valuesStartRepeat[property] = this._valuesStartRepeat[property] + parseFloat(this._valuesEnd[property]);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this._yoyo) {\n\t\t\t\t\t\tvar tmp = this._valuesStartRepeat[property];\n\n\t\t\t\t\t\tthis._valuesStartRepeat[property] = this._valuesEnd[property];\n\t\t\t\t\t\tthis._valuesEnd[property] = tmp;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._valuesStart[property] = this._valuesStartRepeat[property];\n\n\t\t\t\t}\n\n\t\t\t\tif (this._yoyo) {\n\t\t\t\t\tthis._reversed = !this._reversed;\n\t\t\t\t}\n\n\t\t\t\tif (this._repeatDelayTime !== undefined) {\n\t\t\t\t\tthis._startTime = time + this._repeatDelayTime;\n\t\t\t\t} else {\n\t\t\t\t\tthis._startTime = time + this._delayTime;\n\t\t\t\t}\n\n\t\t\t\tif (this._onRepeatCallback !== null) {\n\t\t\t\t\tthis._onRepeatCallback(this._object);\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\n\t\t\t} else {\n\n\t\t\t\tif (this._onCompleteCallback !== null) {\n\n\t\t\t\t\tthis._onCompleteCallback(this._object);\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n\t\t\t\t\t// Make the chained tweens start exactly at the time they should,\n\t\t\t\t\t// even if the `update()` method was called way past the duration of the tween\n\t\t\t\t\tthis._chainedTweens[i].start(this._startTime + this._duration);\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n};\n\n\nTWEEN.Easing = {\n\n\tLinear: {\n\n\t\tNone: function (k) {\n\n\t\t\treturn k;\n\n\t\t}\n\n\t},\n\n\tQuadratic: {\n\n\t\tIn: function (k) {\n\n\t\t\treturn k * k;\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\treturn k * (2 - k);\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\tif ((k *= 2) < 1) {\n\t\t\t\treturn 0.5 * k * k;\n\t\t\t}\n\n\t\t\treturn - 0.5 * (--k * (k - 2) - 1);\n\n\t\t}\n\n\t},\n\n\tCubic: {\n\n\t\tIn: function (k) {\n\n\t\t\treturn k * k * k;\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\treturn --k * k * k + 1;\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\tif ((k *= 2) < 1) {\n\t\t\t\treturn 0.5 * k * k * k;\n\t\t\t}\n\n\t\t\treturn 0.5 * ((k -= 2) * k * k + 2);\n\n\t\t}\n\n\t},\n\n\tQuartic: {\n\n\t\tIn: function (k) {\n\n\t\t\treturn k * k * k * k;\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\treturn 1 - (--k * k * k * k);\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\tif ((k *= 2) < 1) {\n\t\t\t\treturn 0.5 * k * k * k * k;\n\t\t\t}\n\n\t\t\treturn - 0.5 * ((k -= 2) * k * k * k - 2);\n\n\t\t}\n\n\t},\n\n\tQuintic: {\n\n\t\tIn: function (k) {\n\n\t\t\treturn k * k * k * k * k;\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\treturn --k * k * k * k * k + 1;\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\tif ((k *= 2) < 1) {\n\t\t\t\treturn 0.5 * k * k * k * k * k;\n\t\t\t}\n\n\t\t\treturn 0.5 * ((k -= 2) * k * k * k * k + 2);\n\n\t\t}\n\n\t},\n\n\tSinusoidal: {\n\n\t\tIn: function (k) {\n\n\t\t\treturn 1 - Math.cos(k * Math.PI / 2);\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\treturn Math.sin(k * Math.PI / 2);\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\treturn 0.5 * (1 - Math.cos(Math.PI * k));\n\n\t\t}\n\n\t},\n\n\tExponential: {\n\n\t\tIn: function (k) {\n\n\t\t\treturn k === 0 ? 0 : Math.pow(1024, k - 1);\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\treturn k === 1 ? 1 : 1 - Math.pow(2, - 10 * k);\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\tif (k === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tif (k === 1) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif ((k *= 2) < 1) {\n\t\t\t\treturn 0.5 * Math.pow(1024, k - 1);\n\t\t\t}\n\n\t\t\treturn 0.5 * (- Math.pow(2, - 10 * (k - 1)) + 2);\n\n\t\t}\n\n\t},\n\n\tCircular: {\n\n\t\tIn: function (k) {\n\n\t\t\treturn 1 - Math.sqrt(1 - k * k);\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\treturn Math.sqrt(1 - (--k * k));\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\tif ((k *= 2) < 1) {\n\t\t\t\treturn - 0.5 * (Math.sqrt(1 - k * k) - 1);\n\t\t\t}\n\n\t\t\treturn 0.5 * (Math.sqrt(1 - (k -= 2) * k) + 1);\n\n\t\t}\n\n\t},\n\n\tElastic: {\n\n\t\tIn: function (k) {\n\n\t\t\tif (k === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tif (k === 1) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\treturn -Math.pow(2, 10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI);\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\tif (k === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tif (k === 1) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\treturn Math.pow(2, -10 * k) * Math.sin((k - 0.1) * 5 * Math.PI) + 1;\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\tif (k === 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tif (k === 1) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tk *= 2;\n\n\t\t\tif (k < 1) {\n\t\t\t\treturn -0.5 * Math.pow(2, 10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI);\n\t\t\t}\n\n\t\t\treturn 0.5 * Math.pow(2, -10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI) + 1;\n\n\t\t}\n\n\t},\n\n\tBack: {\n\n\t\tIn: function (k) {\n\n\t\t\tvar s = 1.70158;\n\n\t\t\treturn k * k * ((s + 1) * k - s);\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\tvar s = 1.70158;\n\n\t\t\treturn --k * k * ((s + 1) * k + s) + 1;\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\tvar s = 1.70158 * 1.525;\n\n\t\t\tif ((k *= 2) < 1) {\n\t\t\t\treturn 0.5 * (k * k * ((s + 1) * k - s));\n\t\t\t}\n\n\t\t\treturn 0.5 * ((k -= 2) * k * ((s + 1) * k + s) + 2);\n\n\t\t}\n\n\t},\n\n\tBounce: {\n\n\t\tIn: function (k) {\n\n\t\t\treturn 1 - TWEEN.Easing.Bounce.Out(1 - k);\n\n\t\t},\n\n\t\tOut: function (k) {\n\n\t\t\tif (k < (1 / 2.75)) {\n\t\t\t\treturn 7.5625 * k * k;\n\t\t\t} else if (k < (2 / 2.75)) {\n\t\t\t\treturn 7.5625 * (k -= (1.5 / 2.75)) * k + 0.75;\n\t\t\t} else if (k < (2.5 / 2.75)) {\n\t\t\t\treturn 7.5625 * (k -= (2.25 / 2.75)) * k + 0.9375;\n\t\t\t} else {\n\t\t\t\treturn 7.5625 * (k -= (2.625 / 2.75)) * k + 0.984375;\n\t\t\t}\n\n\t\t},\n\n\t\tInOut: function (k) {\n\n\t\t\tif (k < 0.5) {\n\t\t\t\treturn TWEEN.Easing.Bounce.In(k * 2) * 0.5;\n\t\t\t}\n\n\t\t\treturn TWEEN.Easing.Bounce.Out(k * 2 - 1) * 0.5 + 0.5;\n\n\t\t}\n\n\t}\n\n};\n\nTWEEN.Interpolation = {\n\n\tLinear: function (v, k) {\n\n\t\tvar m = v.length - 1;\n\t\tvar f = m * k;\n\t\tvar i = Math.floor(f);\n\t\tvar fn = TWEEN.Interpolation.Utils.Linear;\n\n\t\tif (k < 0) {\n\t\t\treturn fn(v[0], v[1], f);\n\t\t}\n\n\t\tif (k > 1) {\n\t\t\treturn fn(v[m], v[m - 1], m - f);\n\t\t}\n\n\t\treturn fn(v[i], v[i + 1 > m ? m : i + 1], f - i);\n\n\t},\n\n\tBezier: function (v, k) {\n\n\t\tvar b = 0;\n\t\tvar n = v.length - 1;\n\t\tvar pw = Math.pow;\n\t\tvar bn = TWEEN.Interpolation.Utils.Bernstein;\n\n\t\tfor (var i = 0; i <= n; i++) {\n\t\t\tb += pw(1 - k, n - i) * pw(k, i) * v[i] * bn(n, i);\n\t\t}\n\n\t\treturn b;\n\n\t},\n\n\tCatmullRom: function (v, k) {\n\n\t\tvar m = v.length - 1;\n\t\tvar f = m * k;\n\t\tvar i = Math.floor(f);\n\t\tvar fn = TWEEN.Interpolation.Utils.CatmullRom;\n\n\t\tif (v[0] === v[m]) {\n\n\t\t\tif (k < 0) {\n\t\t\t\ti = Math.floor(f = m * (1 + k));\n\t\t\t}\n\n\t\t\treturn fn(v[(i - 1 + m) % m], v[i], v[(i + 1) % m], v[(i + 2) % m], f - i);\n\n\t\t} else {\n\n\t\t\tif (k < 0) {\n\t\t\t\treturn v[0] - (fn(v[0], v[0], v[1], v[1], -f) - v[0]);\n\t\t\t}\n\n\t\t\tif (k > 1) {\n\t\t\t\treturn v[m] - (fn(v[m], v[m], v[m - 1], v[m - 1], f - m) - v[m]);\n\t\t\t}\n\n\t\t\treturn fn(v[i ? i - 1 : 0], v[i], v[m < i + 1 ? m : i + 1], v[m < i + 2 ? m : i + 2], f - i);\n\n\t\t}\n\n\t},\n\n\tUtils: {\n\n\t\tLinear: function (p0, p1, t) {\n\n\t\t\treturn (p1 - p0) * t + p0;\n\n\t\t},\n\n\t\tBernstein: function (n, i) {\n\n\t\t\tvar fc = TWEEN.Interpolation.Utils.Factorial;\n\n\t\t\treturn fc(n) / fc(i) / fc(n - i);\n\n\t\t},\n\n\t\tFactorial: (function () {\n\n\t\t\tvar a = [1];\n\n\t\t\treturn function (n) {\n\n\t\t\t\tvar s = 1;\n\n\t\t\t\tif (a[n]) {\n\t\t\t\t\treturn a[n];\n\t\t\t\t}\n\n\t\t\t\tfor (var i = n; i > 1; i--) {\n\t\t\t\t\ts *= i;\n\t\t\t\t}\n\n\t\t\t\ta[n] = s;\n\t\t\t\treturn s;\n\n\t\t\t};\n\n\t\t})(),\n\n\t\tCatmullRom: function (p0, p1, p2, p3, t) {\n\n\t\t\tvar v0 = (p2 - p0) * 0.5;\n\t\t\tvar v1 = (p3 - p1) * 0.5;\n\t\t\tvar t2 = t * t;\n\t\t\tvar t3 = t * t2;\n\n\t\t\treturn (2 * p1 - 2 * p2 + v0 + v1) * t3 + (- 3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1;\n\n\t\t}\n\n\t}\n\n};\n\nexport default TWEEN;\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","// 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","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import React from 'react';\n\nconst defaultProps = {\n duration: 5000,\n transitionDuration: 1000,\n defaultIndex: 0,\n infinite: true,\n autoplay: true,\n indicators: false,\n arrows: true,\n pauseOnHover: true,\n scale: 1,\n easing: 'linear',\n canSwipe: true,\n slidesToShow: 1,\n slidesToScroll: 1,\n cssClass: ''\n};\n\nexport const getProps = componentProps => {\n let children = React.Children.map(componentProps.children, each => each);\n return {\n ...defaultProps,\n ...componentProps,\n children\n };\n};\n\nexport const propTypes = {\n duration: 'number',\n transitionDuration: 'number',\n defaultIndex: 'number',\n infinite: 'boolean',\n indicators: ['boolean', 'function'],\n autoplay: 'boolean',\n arrows: 'boolean',\n onChange: 'function',\n pauseOnHover: 'boolean',\n prevArrow: ['object', 'function'],\n nextArrow: ['object', 'function'],\n scale: 'number',\n easing: 'string',\n canSwipe: 'boolean',\n slidesToShow: 'number',\n slidesToScroll: 'number',\n cssClass: 'string'\n};\n\nexport const validatePropTypes = props => {\n for (const key in props) {\n const propValueType = typeof props[key];\n if (propTypes[key]) {\n if (\n Array.isArray(propTypes[key]) &&\n !propTypes[key].includes(propValueType)\n ) {\n console.warn(\n `${key} must be of one of type ${propTypes[key].join(', ')}`\n );\n } else if (\n !Array.isArray(propTypes[key]) &&\n propValueType !== propTypes[key]\n ) {\n console.warn(`${key} must be of type ${propTypes[key]}`);\n }\n }\n }\n};\n","import React from 'react';\nimport TWEEN from '@tweenjs/tween.js';\n\nconst EASING_METHODS = {\n linear: TWEEN.Easing.Linear.None,\n ease: TWEEN.Easing.Quadratic.InOut,\n 'ease-in': TWEEN.Easing.Quadratic.In,\n 'ease-out': TWEEN.Easing.Quadratic.Out,\n cubic: TWEEN.Easing.Cubic.InOut,\n 'cubic-in': TWEEN.Easing.Cubic.In,\n 'cubic-out': TWEEN.Easing.Cubic.Out\n};\n\nconst getEasing = easeMethod => {\n return EASING_METHODS[easeMethod] || EASING_METHODS.linear;\n};\n\nconst getUnhandledProps = (ComponentProps, props) => {\n const handledProps = Object.keys(ComponentProps);\n return Object.keys(props).reduce((acc, prop) => {\n if (handledProps.indexOf(prop) === -1) acc[prop] = props[prop];\n return acc;\n }, {});\n};\n\nconst showPreviousArrow = (\n { prevArrow, infinite },\n currentIndex,\n moveSlides\n) => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className} nav ${\n isDisabled ? 'disabled' : ''\n }`,\n ...props\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nconst showNextArrow = (properties, currentIndex, moveSlides) => {\n const { nextArrow, infinite, children, slidesToScroll } = properties;\n const isDisabled =\n currentIndex >= children.length - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className} nav ${\n isDisabled ? 'disabled' : ''\n }`,\n ...props\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (isCurrentPageActive, key, indicatorProps) => {\n return (\n <li key={key}>\n <button\n className={`each-slideshow-indicator ${\n isCurrentPageActive ? 'active' : ''\n }`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive,\n key,\n indicatorProps,\n eachIndicator\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${\n isCurrentPageActive ? 'active' : ''\n }`,\n key,\n ...indicatorProps\n });\n};\n\nconst showIndicators = (props, currentIndex, navigate) => {\n const { children, indicators, slidesToScroll } = props;\n const isCustomIndicator = typeof indicators !== 'boolean';\n const pages = Math.ceil(children.length / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) ===\n key;\n if (isCustomIndicator) {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n\nexport {\n getEasing,\n showNextArrow,\n showPreviousArrow,\n getUnhandledProps,\n showIndicators\n};\n","import React, { Component, createRef } from 'react';\nimport TWEEN from '@tweenjs/tween.js';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { validatePropTypes, propTypes, getProps } from './props';\nimport {\n getUnhandledProps,\n showNextArrow,\n showPreviousArrow,\n showIndicators,\n getEasing\n} from './helpers.js';\n\nclass Slideshow extends Component {\n constructor(props) {\n super();\n this.state = {\n index:\n props.defaultIndex && props.defaultIndex < props.children.length\n ? props.defaultIndex\n : 0\n };\n this.width = 0;\n this.dragging = false;\n this.imageContainer = null;\n this.wrapper = null;\n this.timeout = null;\n this.moveSlides = this.moveSlides.bind(this);\n this.pauseSlides = this.pauseSlides.bind(this);\n this.startSlides = this.startSlides.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.initResizeObserver = this.initResizeObserver.bind(this);\n this.reactSlideshowWrapper = createRef();\n this.goToSlide = this.goToSlide.bind(this);\n this.tweenGroup = new TWEEN.Group();\n this.startSwipe = this.startSwipe.bind(this);\n this.endSwipe = this.endSwipe.bind(this);\n this.swipe = this.swipe.bind(this);\n this.distanceSwiped = 0;\n }\n\n componentDidMount() {\n this.setWidth();\n this.initResizeObserver();\n validatePropTypes(this.props);\n const { autoplay, duration } = getProps(this.props);\n if (autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n\n initResizeObserver() {\n this.resizeObserver = new ResizeObserver(entries => {\n if (!entries) return;\n this.handleResize();\n });\n if (this.reactSlideshowWrapper.current) {\n this.resizeObserver.observe(this.reactSlideshowWrapper.current);\n }\n }\n\n componentWillUnmount() {\n this.willUnmount = true;\n clearTimeout(this.timeout);\n this.removeResizeObserver();\n }\n\n startSwipe(e) {\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.startingClientX = e.touches ? e.touches[0].pageX : e.clientX;\n clearTimeout(this.timeout);\n this.dragging = true;\n }\n }\n\n endSwipe() {\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.dragging = false;\n if (Math.abs(this.distanceSwiped) / this.width > 0.2) {\n if (this.distanceSwiped < 0) {\n this.goNext();\n } else {\n this.goBack();\n }\n } else {\n if (Math.abs(this.distanceSwiped) > 0) {\n this.slideImages(this.state.index, 300);\n }\n }\n }\n }\n\n swipe(e) {\n const {\n canSwipe,\n slidesToShow,\n children,\n infinite,\n slidesToScroll\n } = getProps(this.props);\n if (canSwipe) {\n const clientX = e.touches ? e.touches[0].pageX : e.clientX;\n if (this.dragging) {\n let translateValue =\n this.width *\n (this.state.index + this.getOffset(infinite, slidesToShow));\n const distance = clientX - this.startingClientX;\n if (\n !infinite &&\n this.state.index === children.length - slidesToScroll &&\n distance < 0\n ) {\n // if it is the last and infinite is false and you're swiping left\n // then nothing happens\n return;\n }\n if (!infinite && this.state.index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n this.distanceSwiped = distance;\n translateValue -= this.distanceSwiped;\n this.imageContainer.style.transform = `translate(-${translateValue}px)`;\n }\n }\n }\n\n removeResizeObserver() {\n if (\n this.resizeObserver &&\n this.reactSlideshowWrapper &&\n this.reactSlideshowWrapper.current\n ) {\n this.resizeObserver.unobserve(this.reactSlideshowWrapper.current);\n }\n }\n\n setWidth() {\n // the .slice.call was needed to support ie11\n this.allImages =\n (this.wrapper &&\n Array.prototype.slice.call(\n this.wrapper.querySelectorAll(`.images-wrap > div`),\n 0\n )) ||\n [];\n const { slidesToShow, infinite } = getProps(this.props);\n this.width =\n ((this.wrapper && this.wrapper.clientWidth) || 0) / slidesToShow;\n const numberOfSlides = React.Children.count(this.props.children);\n const fullwidth = this.width * (numberOfSlides + slidesToShow * 2);\n if (this.imageContainer) {\n this.imageContainer.style.width = `${fullwidth}px`;\n this.imageContainer.style.transform = `translate(-${this.width *\n (this.state.index + this.getOffset(infinite, slidesToShow))}px)`;\n }\n this.applySlideStyle();\n }\n\n componentDidUpdate(props) {\n const { autoplay, duration, children } = getProps(this.props);\n const newProps = getProps(props);\n if (autoplay !== newProps.autoplay) {\n if (autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n } else {\n clearTimeout(this.timeout);\n }\n }\n if (children.length != newProps.children.length) {\n this.setWidth();\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n\n handleResize() {\n this.setWidth();\n }\n\n applySlideStyle() {\n this.allImages.forEach((eachImage, index) => {\n eachImage.style.width = `${this.width}px`;\n });\n }\n\n pauseSlides() {\n if (getProps(this.props).pauseOnHover) {\n clearTimeout(this.timeout);\n }\n }\n\n startSlides() {\n const { pauseOnHover, autoplay, duration } = getProps(this.props);\n if (this.dragging) {\n this.endSwipe();\n } else {\n if (pauseOnHover && autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n }\n\n moveSlides({ currentTarget: { dataset } }) {\n if (dataset.type === 'next') {\n this.goNext();\n } else {\n this.goBack();\n }\n }\n\n goToSlide({ currentTarget }) {\n const { slidesToScroll } = getProps(this.props);\n this.goTo(parseInt(currentTarget.dataset.key * slidesToScroll));\n }\n\n goTo(index) {\n this.slideImages(this.calculateIndex(index));\n }\n\n calculateIndex(nextIndex) {\n const { children, slidesToScroll } = getProps(this.props);\n if (\n nextIndex < children.length &&\n nextIndex + slidesToScroll > children.length\n ) {\n if ((children.length - slidesToScroll) % slidesToScroll) {\n return children.length - slidesToScroll;\n }\n return nextIndex;\n }\n return nextIndex;\n }\n\n goNext() {\n const { index } = this.state;\n const { children, infinite, slidesToScroll } = getProps(this.props);\n if (!infinite && index === children.length - slidesToScroll) {\n return;\n }\n const nextIndex = this.calculateIndex(index + slidesToScroll);\n this.slideImages(nextIndex);\n }\n\n goBack() {\n const { index } = this.state;\n const { infinite, slidesToScroll } = getProps(this.props);\n if (!infinite && index === 0) {\n return;\n }\n let previousIndex = index - slidesToScroll;\n if (previousIndex % slidesToScroll) {\n previousIndex =\n Math.ceil(previousIndex / slidesToScroll) * slidesToScroll;\n }\n this.slideImages(previousIndex);\n }\n\n isSlideActive(key) {\n const { slidesToShow } = getProps(this.props);\n return key < this.state.index + slidesToShow && key >= this.state.index;\n }\n\n renderPreceedingSlides(children, slidesToShow) {\n return children.slice(-slidesToShow).map((each, index) => (\n <div\n data-index={index - slidesToShow}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={index - slidesToShow}\n >\n {each}\n </div>\n ));\n }\n\n renderTrailingSlides(children, slidesToShow) {\n return children.slice(0, slidesToShow).map((each, index) => (\n <div\n data-index={children.length + index}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={children.length + index}\n >\n {each}\n </div>\n ));\n }\n\n getOffset(infinite, slidesToShow) {\n if (!infinite) {\n return 0;\n }\n return slidesToShow;\n }\n\n render() {\n const {\n children,\n indicators,\n arrows,\n cssClass,\n slidesToShow,\n infinite\n } = getProps(this.props);\n const unhandledProps = getUnhandledProps(propTypes, this.props);\n const { index } = this.state;\n const style = {\n transform: `translate(-${(index +\n this.getOffset(infinite, slidesToShow)) *\n this.width}px)`\n };\n\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\" {...unhandledProps}>\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={this.pauseSlides}\n onMouseOver={this.pauseSlides}\n onMouseLeave={this.startSlides}\n onMouseDown={this.startSwipe}\n onMouseUp={this.endSwipe}\n onMouseMove={this.swipe}\n onTouchStart={this.startSwipe}\n onTouchEnd={this.endSwipe}\n onTouchCancel={this.endSwipe}\n onTouchMove={this.swipe}\n ref={this.reactSlideshowWrapper}\n >\n {arrows &&\n showPreviousArrow(\n getProps(this.props),\n this.state.index,\n this.moveSlides\n )}\n <div\n className={`react-slideshow-wrapper slide ${cssClass}`}\n ref={ref => (this.wrapper = ref)}\n >\n <div\n className=\"images-wrap\"\n style={style}\n ref={ref => (this.imageContainer = ref)}\n >\n {infinite\n ? this.renderPreceedingSlides(children, slidesToShow)\n : ''}\n {children.map((each, key) => {\n const isSlideActive = this.isSlideActive(key);\n return (\n <div\n data-index={key}\n key={key}\n className={isSlideActive ? 'active' : ''}\n aria-roledescription=\"slide\"\n aria-hidden={isSlideActive ? 'false' : 'true'}\n >\n {each}\n </div>\n );\n })}\n {infinite\n ? this.renderTrailingSlides(children, slidesToShow)\n : ''}\n </div>\n </div>\n {arrows &&\n showNextArrow(\n getProps(this.props),\n this.state.index,\n this.moveSlides\n )}\n </div>\n {indicators &&\n showIndicators(\n getProps(this.props),\n this.state.index,\n this.goToSlide\n )}\n </div>\n );\n }\n\n slideImages(index, animationDuration) {\n let {\n children,\n transitionDuration,\n autoplay,\n infinite,\n duration,\n onChange,\n easing,\n slidesToShow,\n slidesToScroll\n } = getProps(this.props);\n transitionDuration = animationDuration || transitionDuration;\n const existingTweens = this.tweenGroup.getAll();\n if (!existingTweens.length) {\n clearTimeout(this.timeout);\n const value = {\n margin:\n -this.width *\n (this.state.index + this.getOffset(infinite, slidesToShow)) +\n this.distanceSwiped\n };\n const tween = new TWEEN.Tween(value, this.tweenGroup)\n .to(\n {\n margin:\n -this.width * (index + this.getOffset(infinite, slidesToShow))\n },\n transitionDuration\n )\n .onUpdate(value => {\n if (this.imageContainer) {\n this.imageContainer.style.transform = `translate(${value.margin}px)`;\n }\n })\n .start();\n tween.easing(getEasing(easing));\n let animate = () => {\n if (this.willUnmount) {\n this.tweenGroup.removeAll();\n return;\n }\n requestAnimationFrame(animate);\n this.tweenGroup.update();\n };\n\n animate();\n\n tween.onComplete(() => {\n if (this.willUnmount) {\n return;\n }\n this.distanceSwiped = 0;\n let newIndex = index;\n if (newIndex < 0) {\n newIndex = children.length - slidesToScroll;\n } else if (newIndex >= children.length) {\n newIndex = 0;\n }\n\n if (typeof onChange === 'function') {\n onChange(this.state.index, newIndex);\n }\n this.setState(\n {\n index: newIndex\n },\n () => {\n if (autoplay && (infinite || this.state.index < children.length)) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n );\n });\n }\n }\n}\n\nexport default Slideshow;\n","import React, { Component, createRef } from 'react';\nimport TWEEN from '@tweenjs/tween.js';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { validatePropTypes, propTypes, getProps } from './props';\nimport {\n getUnhandledProps,\n showNextArrow,\n showPreviousArrow,\n showIndicators,\n getEasing\n} from './helpers.js';\n\nclass Fade extends Component {\n constructor(props) {\n super();\n this.state = {\n index:\n props.defaultIndex && props.defaultIndex < props.children.length\n ? props.defaultIndex\n : 0\n };\n this.width = 0;\n this.timeout = null;\n this.divsContainer = null;\n this.wrapper = null;\n this.setWidth = this.setWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.navigate = this.navigate.bind(this);\n this.preFade = this.preFade.bind(this);\n this.pauseSlides = this.pauseSlides.bind(this);\n this.startSlides = this.startSlides.bind(this);\n this.initResizeObserver = this.initResizeObserver.bind(this);\n this.tweenGroup = new TWEEN.Group();\n this.reactSlideshowWrapper = createRef();\n this.wrapper = createRef();\n this.startSwipe = this.startSwipe.bind(this);\n this.endSwipe = this.endSwipe.bind(this);\n }\n\n componentDidMount() {\n this.setWidth();\n this.play();\n this.initResizeObserver();\n validatePropTypes(this.props);\n }\n\n initResizeObserver() {\n if (this.reactSlideshowWrapper.current) {\n this.resizeObserver = new ResizeObserver(entries => {\n if (!entries) return;\n this.handleResize();\n });\n this.resizeObserver.observe(this.reactSlideshowWrapper.current);\n }\n }\n\n play() {\n const { autoplay, children, duration } = getProps(this.props);\n const { index } = this.state;\n if (autoplay && children.length > 1) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.fadeImages(index + 1), duration);\n }\n }\n\n componentDidUpdate(props) {\n const { autoplay, children } = getProps(this.props);\n const newProps = getProps(props);\n if (autoplay !== newProps.autoplay) {\n if (autoplay) {\n this.play();\n } else {\n clearTimeout(this.timeout);\n }\n }\n if (children.length != newProps.children.length) {\n this.applyStyle();\n clearTimeout(this.timeout);\n this.play();\n }\n }\n\n componentWillUnmount() {\n this.willUnmount = true;\n clearTimeout(this.timeout);\n this.removeResizeObserver();\n }\n\n removeResizeObserver() {\n if (\n this.resizeObserver &&\n this.reactSlideshowWrapper &&\n this.reactSlideshowWrapper.current\n ) {\n this.resizeObserver.unobserve(this.reactSlideshowWrapper.current);\n }\n }\n\n setWidth() {\n if (this.wrapper.current) {\n this.width = this.wrapper.current.clientWidth;\n }\n this.applyStyle();\n }\n\n handleResize() {\n this.setWidth();\n }\n\n applyStyle() {\n const fullwidth = this.width * React.Children.count(this.props.children);\n if (this.divsContainer) {\n this.divsContainer.style.width = `${fullwidth}px`;\n for (let index = 0; index < this.divsContainer.children.length; index++) {\n const eachDiv = this.divsContainer.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${this.width}px`;\n eachDiv.style.left = `${index * -this.width}px`;\n }\n }\n }\n }\n\n pauseSlides() {\n if (getProps(this.props).pauseOnHover) {\n clearTimeout(this.timeout);\n }\n }\n\n startSlides() {\n const { pauseOnHover, autoplay, duration } = getProps(this.props);\n if (pauseOnHover && autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n\n goNext() {\n const { index } = this.state;\n const { children, infinite } = getProps(this.props);\n if (!infinite && index === children.length - 1) {\n return;\n }\n this.fadeImages((index + 1) % children.length);\n }\n\n goBack() {\n const { index } = this.state;\n const { children, infinite } = getProps(this.props);\n if (!infinite && index === 0) {\n return;\n }\n this.fadeImages(index === 0 ? children.length - 1 : index - 1);\n }\n\n navigate({ currentTarget: { dataset } }) {\n if (dataset.key != this.state.index) {\n this.goTo(parseInt(dataset.key));\n }\n }\n\n goTo(index) {\n this.fadeImages(index);\n }\n\n preFade({ currentTarget }) {\n if (currentTarget.dataset.type === 'prev') {\n this.goBack();\n } else {\n this.goNext();\n }\n }\n\n startSwipe(e) {\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.startingClientX = e.touches ? e.touches[0].pageX : e.clientX;\n clearTimeout(this.timeout);\n this.dragging = true;\n }\n }\n\n endSwipe(e) {\n const clientX = e.changedTouches ? e.changedTouches[0].pageX : e.clientX;\n const distance = clientX - this.startingClientX;\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.dragging = false;\n if (Math.abs(distance) / this.width > 0.2) {\n if (distance < 0) {\n this.goNext();\n } else {\n this.goBack();\n }\n }\n }\n }\n\n render() {\n const { indicators, children, arrows, cssClass } = getProps(this.props);\n const { index } = this.state;\n const unhandledProps = getUnhandledProps(propTypes, this.props);\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\" {...unhandledProps}>\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={this.pauseSlides}\n onMouseOver={this.pauseSlides}\n onMouseLeave={this.startSlides}\n onMouseDown={this.startSwipe}\n onMouseUp={this.endSwipe}\n onTouchStart={this.startSwipe}\n onTouchEnd={this.endSwipe}\n onTouchCancel={this.endSwipe}\n ref={this.reactSlideshowWrapper}\n >\n {arrows &&\n showPreviousArrow(\n getProps(this.props),\n this.state.index,\n this.preFade\n )}\n <div\n className={`react-slideshow-fade-wrapper ${cssClass}`}\n ref={this.wrapper}\n >\n <div\n className=\"react-slideshow-fade-images-wrap\"\n ref={wrap => (this.divsContainer = wrap)}\n >\n {children.map((each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0'\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n ))}\n </div>\n </div>\n {arrows &&\n showNextArrow(getProps(this.props), this.state.index, this.preFade)}\n </div>\n {indicators &&\n showIndicators(getProps(this.props), this.state.index, this.navigate)}\n </div>\n );\n }\n\n fadeImages(newIndex) {\n const { index } = this.state;\n const {\n autoplay,\n children,\n infinite,\n duration,\n transitionDuration,\n onChange,\n easing\n } = getProps(this.props);\n const existingTweens = this.tweenGroup.getAll();\n if (!existingTweens.length) {\n if (!this.divsContainer.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(this.timeout);\n const value = { opacity: 0 };\n\n const animate = () => {\n if (this.willUnmount) {\n this.tweenGroup.removeAll();\n return;\n }\n requestAnimationFrame(animate);\n this.tweenGroup.update();\n };\n\n animate();\n\n const tween = new TWEEN.Tween(value, this.tweenGroup)\n .to({ opacity: 1 }, transitionDuration)\n .onUpdate(value => {\n this.divsContainer.children[newIndex].style.opacity = value.opacity;\n this.divsContainer.children[index].style.opacity = 1 - value.opacity;\n })\n .start();\n tween.easing(getEasing(easing));\n tween.onComplete(() => {\n if (this.willUnmount) {\n return;\n }\n this.setState({\n index: newIndex\n });\n if (typeof onChange === 'function') {\n onChange(index, newIndex);\n }\n if (autoplay && (infinite || newIndex < children.length - 1)) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.fadeImages((newIndex + 1) % children.length);\n }, duration);\n }\n });\n }\n }\n}\n\nexport default Fade;\n","import React, { Component, createRef } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport TWEEN from '@tweenjs/tween.js';\nimport { validatePropTypes, propTypes, getProps } from './props';\nimport {\n getUnhandledProps,\n showNextArrow,\n showPreviousArrow,\n showIndicators,\n getEasing\n} from './helpers.js';\n\nclass Zoom extends Component {\n constructor(props) {\n super();\n this.state = {\n index:\n props.defaultIndex && props.defaultIndex < props.children.length\n ? props.defaultIndex\n : 0\n };\n this.width = 0;\n this.timeout = null;\n this.divsContainer = null;\n this.wrapper = null;\n this.setWidth = this.setWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.navigate = this.navigate.bind(this);\n this.preZoom = this.preZoom.bind(this);\n this.pauseSlides = this.pauseSlides.bind(this);\n this.startSlides = this.startSlides.bind(this);\n this.tweenGroup = new TWEEN.Group();\n this.initResizeObserver = this.initResizeObserver.bind(this);\n this.reactSlideshowWrapper = createRef();\n this.startSwipe = this.startSwipe.bind(this);\n this.endSwipe = this.endSwipe.bind(this);\n }\n\n componentDidMount() {\n this.setWidth();\n this.play();\n this.initResizeObserver();\n validatePropTypes(this.props);\n }\n\n initResizeObserver() {\n if (this.reactSlideshowWrapper.current) {\n this.resizeObserver = new ResizeObserver(entries => {\n if (!entries) return;\n this.handleResize();\n });\n this.resizeObserver.observe(this.reactSlideshowWrapper.current);\n }\n }\n\n play() {\n const { autoplay, children, duration } = getProps(this.props);\n const { index } = this.state;\n if (autoplay && children.length > 1) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.zoomTo(index + 1), duration);\n }\n }\n\n componentWillUnmount() {\n this.willUnmount = true;\n clearTimeout(this.timeout);\n this.removeResizeObserver();\n }\n\n removeResizeObserver() {\n if (\n this.resizeObserver &&\n this.reactSlideshowWrapper &&\n this.reactSlideshowWrapper.current\n ) {\n this.resizeObserver.unobserve(this.reactSlideshowWrapper.current);\n }\n }\n\n componentDidUpdate(props) {\n const { autoplay, children } = getProps(this.props);\n const newProps = getProps(props);\n if (autoplay !== newProps.autoplay) {\n if (autoplay) {\n this.play();\n } else {\n clearTimeout(this.timeout);\n }\n }\n if (children.length != newProps.children.length) {\n this.applyStyle();\n clearTimeout(this.timeout);\n this.play();\n }\n }\n\n setWidth() {\n if (this.wrapper) {\n this.width = this.wrapper.clientWidth;\n }\n this.applyStyle();\n }\n\n handleResize() {\n this.setWidth();\n }\n\n applyStyle() {\n const fullwidth = this.width * React.Children.count(this.props.children);\n if (this.divsContainer) {\n this.divsContainer.style.width = `${fullwidth}px`;\n for (let index = 0; index < this.divsContainer.children.length; index++) {\n const eachDiv = this.divsContainer.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${this.width}px`;\n eachDiv.style.left = `${index * -this.width}px`;\n }\n }\n }\n }\n\n pauseSlides() {\n if (getProps(this.props).pauseOnHover) {\n clearTimeout(this.timeout);\n }\n }\n\n startSlides() {\n const { pauseOnHover, autoplay, duration } = getProps(this.props);\n if (pauseOnHover && autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n\n goNext() {\n const { index } = this.state;\n const { children, infinite } = getProps(this.props);\n if (!infinite && index === children.length - 1) {\n return;\n }\n this.zoomTo((index + 1) % children.length);\n }\n\n goBack() {\n const { index } = this.state;\n const { children, infinite } = getProps(this.props);\n if (!infinite && index === 0) {\n return;\n }\n this.zoomTo(index === 0 ? children.length - 1 : index - 1);\n }\n\n goTo(index) {\n this.zoomTo(index);\n }\n\n navigate({ currentTarget: { dataset } }) {\n if (dataset.key != this.state.index) {\n this.goTo(parseInt(dataset.key));\n }\n }\n\n preZoom({ currentTarget }) {\n if (currentTarget.dataset.type === 'prev') {\n this.goBack();\n } else {\n this.goNext();\n }\n }\n\n startSwipe(e) {\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.startingClientX = e.touches ? e.touches[0].pageX : e.clientX;\n clearTimeout(this.timeout);\n this.dragging = true;\n }\n }\n\n endSwipe(e) {\n const clientX = e.changedTouches ? e.changedTouches[0].pageX : e.clientX;\n const distance = clientX - this.startingClientX;\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.dragging = false;\n if (Math.abs(distance) / this.width > 0.2) {\n if (distance < 0) {\n this.goNext();\n } else {\n this.goBack();\n }\n }\n }\n }\n\n render() {\n const { indicators, arrows, children, cssClass } = getProps(this.props);\n const { index } = this.state;\n const unhandledProps = getUnhandledProps(propTypes, this.props);\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\" {...unhandledProps}>\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={this.pauseSlides}\n onMouseOver={this.pauseSlides}\n onMouseLeave={this.startSlides}\n onMouseDown={this.startSwipe}\n onMouseUp={this.endSwipe}\n onTouchStart={this.startSwipe}\n onTouchEnd={this.endSwipe}\n onTouchCancel={this.endSwipe}\n ref={this.reactSlideshowWrapper}\n >\n {arrows &&\n showPreviousArrow(\n getProps(this.props),\n this.state.index,\n this.preZoom\n )}\n <div\n className={`react-slideshow-zoom-wrapper ${cssClass}`}\n ref={ref => (this.wrapper = ref)}\n >\n <div\n className=\"zoom-wrapper\"\n ref={wrap => (this.divsContainer = wrap)}\n >\n {children.map((each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0'\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n ))}\n </div>\n </div>\n {arrows &&\n showNextArrow(getProps(this.props), this.state.index, this.preZoom)}\n </div>\n {indicators &&\n showIndicators(getProps(this.props), this.state.index, this.navigate)}\n </div>\n );\n }\n\n zoomTo(newIndex) {\n const { index } = this.state;\n const {\n children,\n scale,\n autoplay,\n infinite,\n transitionDuration,\n duration,\n onChange,\n easing\n } = getProps(this.props);\n const existingTweens = this.tweenGroup.getAll();\n if (!existingTweens.length) {\n if (this.divsContainer && !this.divsContainer.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(this.timeout);\n const value = {\n opacity: 0,\n scale: 1\n };\n\n let animate = () => {\n if (this.willUnmount) {\n this.tweenGroup.removeAll();\n return;\n }\n requestAnimationFrame(animate);\n this.tweenGroup.update();\n };\n\n animate();\n\n const tween = new TWEEN.Tween(value, this.tweenGroup)\n .to({ opacity: 1, scale }, transitionDuration)\n .onUpdate(value => {\n if (this.divsContainer) {\n this.divsContainer.children[newIndex].style.opacity = value.opacity;\n this.divsContainer.children[index].style.opacity =\n 1 - value.opacity;\n this.divsContainer.children[\n index\n ].style.transform = `scale(${value.scale})`;\n }\n })\n .start();\n tween.easing(getEasing(easing));\n tween.onComplete(() => {\n if (this.willUnmount) {\n return;\n }\n if (typeof onChange === 'function') {\n onChange(index, newIndex);\n }\n this.setState({ index: newIndex }, () => {\n if (this.divsContainer) {\n this.divsContainer.children[index].style.transform = `scale(1)`;\n }\n });\n if (autoplay && (infinite || newIndex < children.length - 1)) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.zoomTo((newIndex + 1) % children.length);\n }, duration);\n }\n });\n }\n }\n}\n\nexport default Zoom;\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://react-slideshow-image/webpack/universalModuleDefinition","webpack://react-slideshow-image/webpack/bootstrap","webpack://react-slideshow-image/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://react-slideshow-image/./node_modules/@tweenjs/tween.js/dist/tween.esm.js","webpack://react-slideshow-image/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://react-slideshow-image/./node_modules/process/browser.js","webpack://react-slideshow-image/(webpack)/buildin/global.js","webpack://react-slideshow-image/./src/props.js","webpack://react-slideshow-image/./src/helpers.js","webpack://react-slideshow-image/./src/slide.js","webpack://react-slideshow-image/./src/fade.js","webpack://react-slideshow-image/./src/zoom.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__0__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","a","Easing","Linear","None","amount","Quadratic","In","Out","InOut","Cubic","Quartic","Quintic","Sinusoidal","Math","cos","PI","sin","Exponential","pow","Circular","sqrt","Elastic","Back","Bounce","now$1","self","process","hrtime","time","undefined","performance","now","Date","getTime","Group","_tweens","_tweensAddedDuringUpdate","getAll","_this","keys","map","tweenId","removeAll","add","tween","getId","remove","update","preserve","tweenIds","length","autoStart","Interpolation","v","k","f","floor","fn","Utils","Bezier","b","pw","bn","Bernstein","CatmullRom","p0","p1","fc","Factorial","p2","p3","v0","v1","t2","Sequence","nextId","_nextId","mainGroup","Tween","_object","_group","_isPaused","_pauseStart","_valuesStart","_valuesEnd","_valuesStartRepeat","_duration","_initialRepeat","_repeat","_yoyo","_isPlaying","_reversed","_delayTime","_startTime","_easingFunction","_interpolationFunction","_chainedTweens","_onStartCallbackFired","_id","_isChainStopped","_goToEnd","isPlaying","isPaused","to","properties","duration","start","_swapEndStartRepeatValues","parseFloat","_setupProperties","startValue","startValueIsArray","Array","isArray","propType","isInterpolationList","endValues","_handleRelativeValue","concat","slice","reverse","prop","stop","stopChainedTweens","_onStopCallback","end","Infinity","pause","resume","numChainedTweens","group","delay","repeat","times","repeatDelay","_repeatDelayTime","yoyo","easing","easingFunction","interpolation","interpolationFunction","chain","tweens","_i","arguments","onStart","callback","_onStartCallback","onUpdate","_onUpdateCallback","onRepeat","_onRepeatCallback","onComplete","_onCompleteCallback","onStop","elapsed","endTime","_updateProperties","isFinite","startIsArray","endIsArray","charAt","tmp","endValue","TWEEN","VERSION","MapShim","Map","getIndex","arr","result","some","entry","index","class_1","__entries__","configurable","set","push","delete","entries","splice","has","clear","forEach","ctx","_a","isBrowser","window","document","global$1","global","Function","requestAnimationFrame$1","requestAnimationFrame","setTimeout","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","target","props","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","reduce","size","position","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","width","height","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","method","apply","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","e","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","g","defaultProps","transitionDuration","defaultIndex","infinite","autoplay","indicators","arrows","pauseOnHover","scale","canSwipe","slidesToShow","slidesToScroll","cssClass","responsive","getProps","componentProps","children","React","Children","each","settings","responsiveSettings","windowWidth","find","breakpoint","getResponsiveSettings","innerWidth","propTypes","onChange","prevArrow","nextArrow","validatePropTypes","propValueType","includes","console","warn","join","EASING_METHODS","linear","ease","cubic","getEasing","easeMethod","getUnhandledProps","ComponentProps","handledProps","acc","showPreviousArrow","currentIndex","moveSlides","isDisabled","disabled","onClick","cloneElement","className","viewBox","showNextArrow","showIndicators","navigate","isCustomIndicator","pages","ceil","from","_","indicatorProps","isCurrentPageActive","eachIndicator","showCustomIndicator","showDefaultIndicator","Slideshow","state","dragging","imageContainer","wrapper","pauseSlides","startSlides","handleResize","initResizeObserver","reactSlideshowWrapper","createRef","goToSlide","tweenGroup","startSwipe","endSwipe","swipe","distanceSwiped","setWidth","goNext","resizeObserver","current","willUnmount","removeResizeObserver","startingClientX","touches","pageX","clientX","goBack","slideImages","translateValue","getOffset","distance","style","transform","allImages","querySelectorAll","setState","numberOfSlides","count","fullwidth","applySlideStyle","newProps","eachImage","currentTarget","dataset","type","goTo","parseInt","calculateIndex","nextIndex","previousIndex","data-index","aria-roledescription","aria-hidden","unhandledProps","onMouseEnter","onMouseOver","onMouseLeave","onMouseDown","onMouseUp","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","ref","renderPreceedingSlides","isSlideActive","renderTrailingSlides","animationDuration","margin","animate","newIndex","Component","Fade","divsContainer","preFade","play","fadeImages","applyStyle","eachDiv","changedTouches","wrap","opacity","zIndex","Zoom","preZoom","zoomTo"],"mappings":"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","file":"react-slideshow-image.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"react-slideshow-image\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"react-slideshow-image\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","/**\n * The Ease class provides a collection of easing functions for use with tween.js.\n */\nvar Easing = {\n Linear: {\n None: function (amount) {\n return amount;\n },\n },\n Quadratic: {\n In: function (amount) {\n return amount * amount;\n },\n Out: function (amount) {\n return amount * (2 - amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount;\n }\n return -0.5 * (--amount * (amount - 2) - 1);\n },\n },\n Cubic: {\n In: function (amount) {\n return amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount + 2);\n },\n },\n Quartic: {\n In: function (amount) {\n return amount * amount * amount * amount;\n },\n Out: function (amount) {\n return 1 - --amount * amount * amount * amount;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount;\n }\n return -0.5 * ((amount -= 2) * amount * amount * amount - 2);\n },\n },\n Quintic: {\n In: function (amount) {\n return amount * amount * amount * amount * amount;\n },\n Out: function (amount) {\n return --amount * amount * amount * amount * amount + 1;\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return 0.5 * amount * amount * amount * amount * amount;\n }\n return 0.5 * ((amount -= 2) * amount * amount * amount * amount + 2);\n },\n },\n Sinusoidal: {\n In: function (amount) {\n return 1 - Math.cos((amount * Math.PI) / 2);\n },\n Out: function (amount) {\n return Math.sin((amount * Math.PI) / 2);\n },\n InOut: function (amount) {\n return 0.5 * (1 - Math.cos(Math.PI * amount));\n },\n },\n Exponential: {\n In: function (amount) {\n return amount === 0 ? 0 : Math.pow(1024, amount - 1);\n },\n Out: function (amount) {\n return amount === 1 ? 1 : 1 - Math.pow(2, -10 * amount);\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n if ((amount *= 2) < 1) {\n return 0.5 * Math.pow(1024, amount - 1);\n }\n return 0.5 * (-Math.pow(2, -10 * (amount - 1)) + 2);\n },\n },\n Circular: {\n In: function (amount) {\n return 1 - Math.sqrt(1 - amount * amount);\n },\n Out: function (amount) {\n return Math.sqrt(1 - --amount * amount);\n },\n InOut: function (amount) {\n if ((amount *= 2) < 1) {\n return -0.5 * (Math.sqrt(1 - amount * amount) - 1);\n }\n return 0.5 * (Math.sqrt(1 - (amount -= 2) * amount) + 1);\n },\n },\n Elastic: {\n In: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return -Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n },\n Out: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n return Math.pow(2, -10 * amount) * Math.sin((amount - 0.1) * 5 * Math.PI) + 1;\n },\n InOut: function (amount) {\n if (amount === 0) {\n return 0;\n }\n if (amount === 1) {\n return 1;\n }\n amount *= 2;\n if (amount < 1) {\n return -0.5 * Math.pow(2, 10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI);\n }\n return 0.5 * Math.pow(2, -10 * (amount - 1)) * Math.sin((amount - 1.1) * 5 * Math.PI) + 1;\n },\n },\n Back: {\n In: function (amount) {\n var s = 1.70158;\n return amount * amount * ((s + 1) * amount - s);\n },\n Out: function (amount) {\n var s = 1.70158;\n return --amount * amount * ((s + 1) * amount + s) + 1;\n },\n InOut: function (amount) {\n var s = 1.70158 * 1.525;\n if ((amount *= 2) < 1) {\n return 0.5 * (amount * amount * ((s + 1) * amount - s));\n }\n return 0.5 * ((amount -= 2) * amount * ((s + 1) * amount + s) + 2);\n },\n },\n Bounce: {\n In: function (amount) {\n return 1 - Easing.Bounce.Out(1 - amount);\n },\n Out: function (amount) {\n if (amount < 1 / 2.75) {\n return 7.5625 * amount * amount;\n }\n else if (amount < 2 / 2.75) {\n return 7.5625 * (amount -= 1.5 / 2.75) * amount + 0.75;\n }\n else if (amount < 2.5 / 2.75) {\n return 7.5625 * (amount -= 2.25 / 2.75) * amount + 0.9375;\n }\n else {\n return 7.5625 * (amount -= 2.625 / 2.75) * amount + 0.984375;\n }\n },\n InOut: function (amount) {\n if (amount < 0.5) {\n return Easing.Bounce.In(amount * 2) * 0.5;\n }\n return Easing.Bounce.Out(amount * 2 - 1) * 0.5 + 0.5;\n },\n },\n};\n\nvar now;\n// Include a performance.now polyfill.\n// In node.js, use process.hrtime.\n// eslint-disable-next-line\n// @ts-ignore\nif (typeof self === 'undefined' && typeof process !== 'undefined' && process.hrtime) {\n now = function () {\n // eslint-disable-next-line\n // @ts-ignore\n var time = process.hrtime();\n // Convert [seconds, nanoseconds] to milliseconds.\n return time[0] * 1000 + time[1] / 1000000;\n };\n}\n// In a browser, use self.performance.now if it is available.\nelse if (typeof self !== 'undefined' && self.performance !== undefined && self.performance.now !== undefined) {\n // This must be bound, because directly assigning this function\n // leads to an invocation exception in Chrome.\n now = self.performance.now.bind(self.performance);\n}\n// Use Date.now if it is available.\nelse if (Date.now !== undefined) {\n now = Date.now;\n}\n// Otherwise, use 'new Date().getTime()'.\nelse {\n now = function () {\n return new Date().getTime();\n };\n}\nvar now$1 = now;\n\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tween\n */\nvar Group = /** @class */ (function () {\n function Group() {\n this._tweens = {};\n this._tweensAddedDuringUpdate = {};\n }\n Group.prototype.getAll = function () {\n var _this = this;\n return Object.keys(this._tweens).map(function (tweenId) {\n return _this._tweens[tweenId];\n });\n };\n Group.prototype.removeAll = function () {\n this._tweens = {};\n };\n Group.prototype.add = function (tween) {\n this._tweens[tween.getId()] = tween;\n this._tweensAddedDuringUpdate[tween.getId()] = tween;\n };\n Group.prototype.remove = function (tween) {\n delete this._tweens[tween.getId()];\n delete this._tweensAddedDuringUpdate[tween.getId()];\n };\n Group.prototype.update = function (time, preserve) {\n if (time === void 0) { time = now$1(); }\n if (preserve === void 0) { preserve = false; }\n var tweenIds = Object.keys(this._tweens);\n if (tweenIds.length === 0) {\n return false;\n }\n // Tweens are updated in \"batches\". If you add a new tween during an\n // update, then the new tween will be updated in the next batch.\n // If you remove a tween during an update, it may or may not be updated.\n // However, if the removed tween was added during the current batch,\n // then it will not be updated.\n while (tweenIds.length > 0) {\n this._tweensAddedDuringUpdate = {};\n for (var i = 0; i < tweenIds.length; i++) {\n var tween = this._tweens[tweenIds[i]];\n var autoStart = !preserve;\n if (tween && tween.update(time, autoStart) === false && !preserve) {\n delete this._tweens[tweenIds[i]];\n }\n }\n tweenIds = Object.keys(this._tweensAddedDuringUpdate);\n }\n return true;\n };\n return Group;\n}());\n\n/**\n *\n */\nvar Interpolation = {\n Linear: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.Linear;\n if (k < 0) {\n return fn(v[0], v[1], f);\n }\n if (k > 1) {\n return fn(v[m], v[m - 1], m - f);\n }\n return fn(v[i], v[i + 1 > m ? m : i + 1], f - i);\n },\n Bezier: function (v, k) {\n var b = 0;\n var n = v.length - 1;\n var pw = Math.pow;\n var bn = Interpolation.Utils.Bernstein;\n for (var i = 0; i <= n; i++) {\n b += pw(1 - k, n - i) * pw(k, i) * v[i] * bn(n, i);\n }\n return b;\n },\n CatmullRom: function (v, k) {\n var m = v.length - 1;\n var f = m * k;\n var i = Math.floor(f);\n var fn = Interpolation.Utils.CatmullRom;\n if (v[0] === v[m]) {\n if (k < 0) {\n i = Math.floor((f = m * (1 + k)));\n }\n return fn(v[(i - 1 + m) % m], v[i], v[(i + 1) % m], v[(i + 2) % m], f - i);\n }\n else {\n if (k < 0) {\n return v[0] - (fn(v[0], v[0], v[1], v[1], -f) - v[0]);\n }\n if (k > 1) {\n return v[m] - (fn(v[m], v[m], v[m - 1], v[m - 1], f - m) - v[m]);\n }\n return fn(v[i ? i - 1 : 0], v[i], v[m < i + 1 ? m : i + 1], v[m < i + 2 ? m : i + 2], f - i);\n }\n },\n Utils: {\n Linear: function (p0, p1, t) {\n return (p1 - p0) * t + p0;\n },\n Bernstein: function (n, i) {\n var fc = Interpolation.Utils.Factorial;\n return fc(n) / fc(i) / fc(n - i);\n },\n Factorial: (function () {\n var a = [1];\n return function (n) {\n var s = 1;\n if (a[n]) {\n return a[n];\n }\n for (var i = n; i > 1; i--) {\n s *= i;\n }\n a[n] = s;\n return s;\n };\n })(),\n CatmullRom: function (p0, p1, p2, p3, t) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n var t2 = t * t;\n var t3 = t * t2;\n return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1;\n },\n },\n};\n\n/**\n * Utils\n */\nvar Sequence = /** @class */ (function () {\n function Sequence() {\n }\n Sequence.nextId = function () {\n return Sequence._nextId++;\n };\n Sequence._nextId = 0;\n return Sequence;\n}());\n\nvar mainGroup = new Group();\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar Tween = /** @class */ (function () {\n function Tween(_object, _group) {\n if (_group === void 0) { _group = mainGroup; }\n this._object = _object;\n this._group = _group;\n this._isPaused = false;\n this._pauseStart = 0;\n this._valuesStart = {};\n this._valuesEnd = {};\n this._valuesStartRepeat = {};\n this._duration = 1000;\n this._initialRepeat = 0;\n this._repeat = 0;\n this._yoyo = false;\n this._isPlaying = false;\n this._reversed = false;\n this._delayTime = 0;\n this._startTime = 0;\n this._easingFunction = Easing.Linear.None;\n this._interpolationFunction = Interpolation.Linear;\n this._chainedTweens = [];\n this._onStartCallbackFired = false;\n this._id = Sequence.nextId();\n this._isChainStopped = false;\n this._goToEnd = false;\n }\n Tween.prototype.getId = function () {\n return this._id;\n };\n Tween.prototype.isPlaying = function () {\n return this._isPlaying;\n };\n Tween.prototype.isPaused = function () {\n return this._isPaused;\n };\n Tween.prototype.to = function (properties, duration) {\n // TODO? restore this, then update the 07_dynamic_to example to set fox\n // tween's to on each update. That way the behavior is opt-in (there's\n // currently no opt-out).\n // for (const prop in properties) this._valuesEnd[prop] = properties[prop]\n this._valuesEnd = Object.create(properties);\n if (duration !== undefined) {\n this._duration = duration;\n }\n return this;\n };\n Tween.prototype.duration = function (d) {\n this._duration = d;\n return this;\n };\n Tween.prototype.start = function (time) {\n if (this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.add(this);\n this._repeat = this._initialRepeat;\n if (this._reversed) {\n // If we were reversed (f.e. using the yoyo feature) then we need to\n // flip the tween direction back to forward.\n this._reversed = false;\n for (var property in this._valuesStartRepeat) {\n this._swapEndStartRepeatValues(property);\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n }\n this._isPlaying = true;\n this._isPaused = false;\n this._onStartCallbackFired = false;\n this._isChainStopped = false;\n this._startTime = time !== undefined ? (typeof time === 'string' ? now$1() + parseFloat(time) : time) : now$1();\n this._startTime += this._delayTime;\n this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat);\n return this;\n };\n Tween.prototype._setupProperties = function (_object, _valuesStart, _valuesEnd, _valuesStartRepeat) {\n for (var property in _valuesEnd) {\n var startValue = _object[property];\n var startValueIsArray = Array.isArray(startValue);\n var propType = startValueIsArray ? 'array' : typeof startValue;\n var isInterpolationList = !startValueIsArray && Array.isArray(_valuesEnd[property]);\n // If `to()` specifies a property that doesn't exist in the source object,\n // we should not set that property in the object\n if (propType === 'undefined' || propType === 'function') {\n continue;\n }\n // Check if an Array was provided as property value\n if (isInterpolationList) {\n var endValues = _valuesEnd[property];\n if (endValues.length === 0) {\n continue;\n }\n // handle an array of relative values\n endValues = endValues.map(this._handleRelativeValue.bind(this, startValue));\n // Create a local copy of the Array with the start value at the front\n _valuesEnd[property] = [startValue].concat(endValues);\n }\n // handle the deepness of the values\n if ((propType === 'object' || startValueIsArray) && startValue && !isInterpolationList) {\n _valuesStart[property] = startValueIsArray ? [] : {};\n // eslint-disable-next-line\n for (var prop in startValue) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStart[property][prop] = startValue[prop];\n }\n _valuesStartRepeat[property] = startValueIsArray ? [] : {}; // TODO? repeat nested values? And yoyo? And array values?\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._setupProperties(startValue, _valuesStart[property], _valuesEnd[property], _valuesStartRepeat[property]);\n }\n else {\n // Save the starting value, but only once.\n if (typeof _valuesStart[property] === 'undefined') {\n _valuesStart[property] = startValue;\n }\n if (!startValueIsArray) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStart[property] *= 1.0; // Ensures we're using numbers, not strings\n }\n if (isInterpolationList) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _valuesStartRepeat[property] = _valuesEnd[property].slice().reverse();\n }\n else {\n _valuesStartRepeat[property] = _valuesStart[property] || 0;\n }\n }\n }\n };\n Tween.prototype.stop = function () {\n if (!this._isChainStopped) {\n this._isChainStopped = true;\n this.stopChainedTweens();\n }\n if (!this._isPlaying) {\n return this;\n }\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n this._isPlaying = false;\n this._isPaused = false;\n if (this._onStopCallback) {\n this._onStopCallback(this._object);\n }\n return this;\n };\n Tween.prototype.end = function () {\n this._goToEnd = true;\n this.update(Infinity);\n return this;\n };\n Tween.prototype.pause = function (time) {\n if (time === void 0) { time = now$1(); }\n if (this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = true;\n this._pauseStart = time;\n // eslint-disable-next-line\n this._group && this._group.remove(this);\n return this;\n };\n Tween.prototype.resume = function (time) {\n if (time === void 0) { time = now$1(); }\n if (!this._isPaused || !this._isPlaying) {\n return this;\n }\n this._isPaused = false;\n this._startTime += time - this._pauseStart;\n this._pauseStart = 0;\n // eslint-disable-next-line\n this._group && this._group.add(this);\n return this;\n };\n Tween.prototype.stopChainedTweens = function () {\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n this._chainedTweens[i].stop();\n }\n return this;\n };\n Tween.prototype.group = function (group) {\n this._group = group;\n return this;\n };\n Tween.prototype.delay = function (amount) {\n this._delayTime = amount;\n return this;\n };\n Tween.prototype.repeat = function (times) {\n this._initialRepeat = times;\n this._repeat = times;\n return this;\n };\n Tween.prototype.repeatDelay = function (amount) {\n this._repeatDelayTime = amount;\n return this;\n };\n Tween.prototype.yoyo = function (yoyo) {\n this._yoyo = yoyo;\n return this;\n };\n Tween.prototype.easing = function (easingFunction) {\n this._easingFunction = easingFunction;\n return this;\n };\n Tween.prototype.interpolation = function (interpolationFunction) {\n this._interpolationFunction = interpolationFunction;\n return this;\n };\n Tween.prototype.chain = function () {\n var tweens = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n tweens[_i] = arguments[_i];\n }\n this._chainedTweens = tweens;\n return this;\n };\n Tween.prototype.onStart = function (callback) {\n this._onStartCallback = callback;\n return this;\n };\n Tween.prototype.onUpdate = function (callback) {\n this._onUpdateCallback = callback;\n return this;\n };\n Tween.prototype.onRepeat = function (callback) {\n this._onRepeatCallback = callback;\n return this;\n };\n Tween.prototype.onComplete = function (callback) {\n this._onCompleteCallback = callback;\n return this;\n };\n Tween.prototype.onStop = function (callback) {\n this._onStopCallback = callback;\n return this;\n };\n /**\n * @returns true if the tween is still playing after the update, false\n * otherwise (calling update on a paused tween still returns true because\n * it is still playing, just paused).\n */\n Tween.prototype.update = function (time, autoStart) {\n if (time === void 0) { time = now$1(); }\n if (autoStart === void 0) { autoStart = true; }\n if (this._isPaused)\n return true;\n var property;\n var elapsed;\n var endTime = this._startTime + this._duration;\n if (!this._goToEnd && !this._isPlaying) {\n if (time > endTime)\n return false;\n if (autoStart)\n this.start(time);\n }\n this._goToEnd = false;\n if (time < this._startTime) {\n return true;\n }\n if (this._onStartCallbackFired === false) {\n if (this._onStartCallback) {\n this._onStartCallback(this._object);\n }\n this._onStartCallbackFired = true;\n }\n elapsed = (time - this._startTime) / this._duration;\n elapsed = this._duration === 0 || elapsed > 1 ? 1 : elapsed;\n var value = this._easingFunction(elapsed);\n // properties transformations\n this._updateProperties(this._object, this._valuesStart, this._valuesEnd, value);\n if (this._onUpdateCallback) {\n this._onUpdateCallback(this._object, elapsed);\n }\n if (elapsed === 1) {\n if (this._repeat > 0) {\n if (isFinite(this._repeat)) {\n this._repeat--;\n }\n // Reassign starting values, restart by making startTime = now\n for (property in this._valuesStartRepeat) {\n if (!this._yoyo && typeof this._valuesEnd[property] === 'string') {\n this._valuesStartRepeat[property] =\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._valuesStartRepeat[property] + parseFloat(this._valuesEnd[property]);\n }\n if (this._yoyo) {\n this._swapEndStartRepeatValues(property);\n }\n this._valuesStart[property] = this._valuesStartRepeat[property];\n }\n if (this._yoyo) {\n this._reversed = !this._reversed;\n }\n if (this._repeatDelayTime !== undefined) {\n this._startTime = time + this._repeatDelayTime;\n }\n else {\n this._startTime = time + this._delayTime;\n }\n if (this._onRepeatCallback) {\n this._onRepeatCallback(this._object);\n }\n return true;\n }\n else {\n if (this._onCompleteCallback) {\n this._onCompleteCallback(this._object);\n }\n for (var i = 0, numChainedTweens = this._chainedTweens.length; i < numChainedTweens; i++) {\n // Make the chained tweens start exactly at the time they should,\n // even if the `update()` method was called way past the duration of the tween\n this._chainedTweens[i].start(this._startTime + this._duration);\n }\n this._isPlaying = false;\n return false;\n }\n }\n return true;\n };\n Tween.prototype._updateProperties = function (_object, _valuesStart, _valuesEnd, value) {\n for (var property in _valuesEnd) {\n // Don't update properties that do not exist in the source object\n if (_valuesStart[property] === undefined) {\n continue;\n }\n var start = _valuesStart[property] || 0;\n var end = _valuesEnd[property];\n var startIsArray = Array.isArray(_object[property]);\n var endIsArray = Array.isArray(end);\n var isInterpolationList = !startIsArray && endIsArray;\n if (isInterpolationList) {\n _object[property] = this._interpolationFunction(end, value);\n }\n else if (typeof end === 'object' && end) {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n this._updateProperties(_object[property], start, end, value);\n }\n else {\n // Parses relative end values with start as base (e.g.: +10, -3)\n end = this._handleRelativeValue(start, end);\n // Protect against non numeric properties.\n if (typeof end === 'number') {\n // eslint-disable-next-line\n // @ts-ignore FIXME?\n _object[property] = start + (end - start) * value;\n }\n }\n }\n };\n Tween.prototype._handleRelativeValue = function (start, end) {\n if (typeof end !== 'string') {\n return end;\n }\n if (end.charAt(0) === '+' || end.charAt(0) === '-') {\n return start + parseFloat(end);\n }\n else {\n return parseFloat(end);\n }\n };\n Tween.prototype._swapEndStartRepeatValues = function (property) {\n var tmp = this._valuesStartRepeat[property];\n var endValue = this._valuesEnd[property];\n if (typeof endValue === 'string') {\n this._valuesStartRepeat[property] = this._valuesStartRepeat[property] + parseFloat(endValue);\n }\n else {\n this._valuesStartRepeat[property] = this._valuesEnd[property];\n }\n this._valuesEnd[property] = tmp;\n };\n return Tween;\n}());\n\nvar VERSION = '18.6.4';\n\n/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/tweenjs/tween.js\n * ----------------------------------------------\n *\n * See https://github.com/tweenjs/tween.js/graphs/contributors for the full list of contributors.\n * Thank you all, you're awesome!\n */\nvar nextId = Sequence.nextId;\n/**\n * Controlling groups of tweens\n *\n * Using the TWEEN singleton to manage your tweens can cause issues in large apps with many components.\n * In these cases, you may want to create your own smaller groups of tweens.\n */\nvar TWEEN = mainGroup;\n// This is the best way to export things in a way that's compatible with both ES\n// Modules and CommonJS, without build hacks, and so as not to break the\n// existing API.\n// https://github.com/rollup/rollup/issues/1961#issuecomment-423037881\nvar getAll = TWEEN.getAll.bind(TWEEN);\nvar removeAll = TWEEN.removeAll.bind(TWEEN);\nvar add = TWEEN.add.bind(TWEEN);\nvar remove = TWEEN.remove.bind(TWEEN);\nvar update = TWEEN.update.bind(TWEEN);\nvar exports = {\n Easing: Easing,\n Group: Group,\n Interpolation: Interpolation,\n now: now$1,\n Sequence: Sequence,\n nextId: nextId,\n Tween: Tween,\n VERSION: VERSION,\n getAll: getAll,\n removeAll: removeAll,\n add: add,\n remove: remove,\n update: update,\n};\n\nexport default exports;\nexport { Easing, Group, Interpolation, Sequence, Tween, VERSION, add, getAll, nextId, now$1 as now, remove, removeAll, update };\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","// 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","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import React from 'react';\n\nconst defaultProps = {\n duration: 5000,\n transitionDuration: 1000,\n defaultIndex: 0,\n infinite: true,\n autoplay: true,\n indicators: false,\n arrows: true,\n pauseOnHover: true,\n scale: 1,\n easing: 'linear',\n canSwipe: true,\n slidesToShow: 1,\n slidesToScroll: 1,\n cssClass: '',\n responsive: []\n};\n\nconst getResponsiveSettings = (windowWidth, responsive) => {\n return responsive.find(each => each.breakpoint <= windowWidth);\n};\n\nexport const getProps = componentProps => {\n let children = React.Children.map(componentProps.children, each => each);\n let settings = {};\n if (\n typeof window !== 'undefined' &&\n Array.isArray(componentProps.responsive)\n ) {\n const windowWidth = window.innerWidth;\n const responsiveSettings = getResponsiveSettings(\n windowWidth,\n componentProps.responsive\n );\n if (responsiveSettings) {\n ({ settings } = responsiveSettings);\n }\n }\n return {\n ...defaultProps,\n ...componentProps,\n ...settings,\n children\n };\n};\n\nexport const propTypes = {\n duration: 'number',\n transitionDuration: 'number',\n defaultIndex: 'number',\n infinite: 'boolean',\n indicators: ['boolean', 'function'],\n autoplay: 'boolean',\n arrows: 'boolean',\n onChange: 'function',\n pauseOnHover: 'boolean',\n prevArrow: ['object', 'function'],\n nextArrow: ['object', 'function'],\n scale: 'number',\n easing: 'string',\n canSwipe: 'boolean',\n slidesToShow: 'number',\n slidesToScroll: 'number',\n cssClass: 'string',\n responsive: 'array'\n};\n\nexport const validatePropTypes = props => {\n for (const key in props) {\n const propValueType = typeof props[key];\n if (propTypes[key]) {\n if (\n Array.isArray(propTypes[key]) &&\n !propTypes[key].includes(propValueType)\n ) {\n console.warn(\n `${key} must be of one of type ${propTypes[key].join(', ')}`\n );\n } else if (propTypes[key] === 'array' && !Array.isArray(props[key])) {\n console.warn(`${key} must be of type ${propTypes[key]}`);\n } else if (\n propTypes[key] !== 'array' &&\n !Array.isArray(propTypes[key]) &&\n propValueType !== propTypes[key]\n ) {\n console.warn(`${key} must be of type ${propTypes[key]}`);\n }\n }\n }\n};\n","import React from 'react';\nimport TWEEN from '@tweenjs/tween.js';\n\nconst EASING_METHODS = {\n linear: TWEEN.Easing.Linear.None,\n ease: TWEEN.Easing.Quadratic.InOut,\n 'ease-in': TWEEN.Easing.Quadratic.In,\n 'ease-out': TWEEN.Easing.Quadratic.Out,\n cubic: TWEEN.Easing.Cubic.InOut,\n 'cubic-in': TWEEN.Easing.Cubic.In,\n 'cubic-out': TWEEN.Easing.Cubic.Out\n};\n\nconst getEasing = easeMethod => {\n return EASING_METHODS[easeMethod] || EASING_METHODS.linear;\n};\n\nconst getUnhandledProps = (ComponentProps, props) => {\n const handledProps = Object.keys(ComponentProps);\n return Object.keys(props).reduce((acc, prop) => {\n if (handledProps.indexOf(prop) === -1) acc[prop] = props[prop];\n return acc;\n }, {});\n};\n\nconst showPreviousArrow = (\n { prevArrow, infinite },\n currentIndex,\n moveSlides\n) => {\n const isDisabled = currentIndex <= 0 && !infinite;\n const props = {\n 'data-type': 'prev',\n 'aria-label': 'Previous Slide',\n disabled: isDisabled,\n onClick: moveSlides\n };\n if (prevArrow) {\n return React.cloneElement(prevArrow, {\n className: `${prevArrow.props.className} nav ${\n isDisabled ? 'disabled' : ''\n }`,\n ...props\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\" />\n </svg>\n </button>\n );\n};\n\nconst showNextArrow = (properties, currentIndex, moveSlides) => {\n const { nextArrow, infinite, children, slidesToScroll } = properties;\n const isDisabled =\n currentIndex >= children.length - slidesToScroll && !infinite;\n const props = {\n 'data-type': 'next',\n 'aria-label': 'Next Slide',\n disabled: isDisabled,\n onClick: moveSlides\n };\n if (nextArrow) {\n return React.cloneElement(nextArrow, {\n className: `${nextArrow.props.className} nav ${\n isDisabled ? 'disabled' : ''\n }`,\n ...props\n });\n }\n const className = `nav default-nav ${isDisabled ? 'disabled' : ''}`;\n return (\n <button className={className} {...props}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M5 3l3.057-3 11.943 12-11.943 12-3.057-3 9-9z\" />\n </svg>\n </button>\n );\n};\n\nconst showDefaultIndicator = (isCurrentPageActive, key, indicatorProps) => {\n return (\n <li key={key}>\n <button\n className={`each-slideshow-indicator ${\n isCurrentPageActive ? 'active' : ''\n }`}\n {...indicatorProps}\n />\n </li>\n );\n};\n\nconst showCustomIndicator = (\n isCurrentPageActive,\n key,\n indicatorProps,\n eachIndicator\n) => {\n return React.cloneElement(eachIndicator, {\n className: `${eachIndicator.props.className} ${\n isCurrentPageActive ? 'active' : ''\n }`,\n key,\n ...indicatorProps\n });\n};\n\nconst showIndicators = (props, currentIndex, navigate) => {\n const { children, indicators, slidesToScroll } = props;\n const isCustomIndicator = typeof indicators !== 'boolean';\n const pages = Math.ceil(children.length / slidesToScroll);\n return (\n <ul className=\"indicators\">\n {Array.from({ length: pages }, (_, key) => {\n const indicatorProps = {\n 'data-key': key,\n 'aria-label': `Go to slide ${key + 1}`,\n onClick: navigate\n };\n const isCurrentPageActive =\n Math.floor((currentIndex + slidesToScroll - 1) / slidesToScroll) ===\n key;\n if (isCustomIndicator) {\n return showCustomIndicator(\n isCurrentPageActive,\n key,\n indicatorProps,\n indicators(key)\n );\n }\n return showDefaultIndicator(isCurrentPageActive, key, indicatorProps);\n })}\n </ul>\n );\n};\n\nexport {\n getEasing,\n showNextArrow,\n showPreviousArrow,\n getUnhandledProps,\n showIndicators\n};\n","import React, { Component, createRef } from 'react';\nimport TWEEN from '@tweenjs/tween.js';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { validatePropTypes, propTypes, getProps } from './props';\nimport {\n getUnhandledProps,\n showNextArrow,\n showPreviousArrow,\n showIndicators,\n getEasing\n} from './helpers.js';\n\nclass Slideshow extends Component {\n constructor(props) {\n super();\n this.state = {\n slidesToShow: props.slidesToShow || 1,\n index:\n props.defaultIndex && props.defaultIndex < props.children.length\n ? props.defaultIndex\n : 0\n };\n this.width = 0;\n this.dragging = false;\n this.imageContainer = null;\n this.wrapper = null;\n this.timeout = null;\n this.moveSlides = this.moveSlides.bind(this);\n this.pauseSlides = this.pauseSlides.bind(this);\n this.startSlides = this.startSlides.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.initResizeObserver = this.initResizeObserver.bind(this);\n this.reactSlideshowWrapper = createRef();\n this.goToSlide = this.goToSlide.bind(this);\n this.tweenGroup = new TWEEN.Group();\n this.startSwipe = this.startSwipe.bind(this);\n this.endSwipe = this.endSwipe.bind(this);\n this.swipe = this.swipe.bind(this);\n this.distanceSwiped = 0;\n }\n\n componentDidMount() {\n this.setWidth();\n this.initResizeObserver();\n validatePropTypes(this.props);\n const { autoplay, duration } = getProps(this.props);\n if (autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n\n initResizeObserver() {\n this.resizeObserver = new ResizeObserver(entries => {\n if (!entries) return;\n this.handleResize();\n });\n if (this.reactSlideshowWrapper.current) {\n this.resizeObserver.observe(this.reactSlideshowWrapper.current);\n }\n }\n\n componentWillUnmount() {\n this.willUnmount = true;\n clearTimeout(this.timeout);\n this.removeResizeObserver();\n }\n\n startSwipe(e) {\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.startingClientX = e.touches ? e.touches[0].pageX : e.clientX;\n clearTimeout(this.timeout);\n this.dragging = true;\n }\n }\n\n endSwipe() {\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.dragging = false;\n if (Math.abs(this.distanceSwiped) / this.width > 0.2) {\n if (this.distanceSwiped < 0) {\n this.goNext();\n } else {\n this.goBack();\n }\n } else {\n if (Math.abs(this.distanceSwiped) > 0) {\n this.slideImages(this.state.index, 300);\n }\n }\n }\n }\n\n swipe(e) {\n const {\n canSwipe,\n slidesToShow,\n children,\n infinite,\n slidesToScroll\n } = getProps(this.props);\n if (canSwipe) {\n const clientX = e.touches ? e.touches[0].pageX : e.clientX;\n if (this.dragging) {\n let translateValue =\n this.width *\n (this.state.index + this.getOffset(infinite, slidesToShow));\n const distance = clientX - this.startingClientX;\n if (\n !infinite &&\n this.state.index === children.length - slidesToScroll &&\n distance < 0\n ) {\n // if it is the last and infinite is false and you're swiping left\n // then nothing happens\n return;\n }\n if (!infinite && this.state.index === 0 && distance > 0) {\n // if it is the first and infinite is false and you're swiping right\n // then nothing happens\n return;\n }\n this.distanceSwiped = distance;\n translateValue -= this.distanceSwiped;\n this.imageContainer.style.transform = `translate(-${translateValue}px)`;\n }\n }\n }\n\n removeResizeObserver() {\n if (\n this.resizeObserver &&\n this.reactSlideshowWrapper &&\n this.reactSlideshowWrapper.current\n ) {\n this.resizeObserver.unobserve(this.reactSlideshowWrapper.current);\n }\n }\n\n setWidth() {\n // the .slice.call was needed to support ie11\n this.allImages =\n (this.wrapper &&\n Array.prototype.slice.call(\n this.wrapper.querySelectorAll(`.images-wrap > div`),\n 0\n )) ||\n [];\n const { slidesToShow, infinite } = getProps(this.props);\n if (this.state.slidesToShow !== slidesToShow) {\n this.setState({\n slidesToShow,\n index: 0\n });\n }\n this.width =\n ((this.wrapper && this.wrapper.clientWidth) || 0) / slidesToShow;\n const numberOfSlides = React.Children.count(this.props.children);\n const fullwidth = this.width * (numberOfSlides + slidesToShow * 2);\n if (this.imageContainer) {\n this.imageContainer.style.width = `${fullwidth}px`;\n this.imageContainer.style.transform = `translate(-${this.width *\n (this.state.index + this.getOffset(infinite, slidesToShow))}px)`;\n }\n this.applySlideStyle();\n }\n\n componentDidUpdate(props) {\n const { autoplay, duration, children } = getProps(this.props);\n const newProps = getProps(props);\n if (autoplay !== newProps.autoplay) {\n if (autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n } else {\n clearTimeout(this.timeout);\n }\n }\n if (children.length != newProps.children.length) {\n this.setWidth();\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n\n handleResize() {\n this.setWidth();\n }\n\n applySlideStyle() {\n this.allImages.forEach((eachImage, index) => {\n eachImage.style.width = `${this.width}px`;\n });\n }\n\n pauseSlides() {\n if (getProps(this.props).pauseOnHover) {\n clearTimeout(this.timeout);\n }\n }\n\n startSlides() {\n const { pauseOnHover, autoplay, duration } = getProps(this.props);\n if (this.dragging) {\n this.endSwipe();\n } else {\n if (pauseOnHover && autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n }\n\n moveSlides({ currentTarget: { dataset } }) {\n if (dataset.type === 'next') {\n this.goNext();\n } else {\n this.goBack();\n }\n }\n\n goToSlide({ currentTarget }) {\n const { slidesToScroll } = getProps(this.props);\n this.goTo(parseInt(currentTarget.dataset.key * slidesToScroll));\n }\n\n goTo(index) {\n this.slideImages(this.calculateIndex(index));\n }\n\n calculateIndex(nextIndex) {\n const { children, slidesToScroll } = getProps(this.props);\n if (\n nextIndex < children.length &&\n nextIndex + slidesToScroll > children.length\n ) {\n if ((children.length - slidesToScroll) % slidesToScroll) {\n return children.length - slidesToScroll;\n }\n return nextIndex;\n }\n return nextIndex;\n }\n\n goNext() {\n const { index } = this.state;\n const { children, infinite, slidesToScroll } = getProps(this.props);\n if (!infinite && index === children.length - slidesToScroll) {\n return;\n }\n const nextIndex = this.calculateIndex(index + slidesToScroll);\n this.slideImages(nextIndex);\n }\n\n goBack() {\n const { index } = this.state;\n const { infinite, slidesToScroll } = getProps(this.props);\n if (!infinite && index === 0) {\n return;\n }\n let previousIndex = index - slidesToScroll;\n if (previousIndex % slidesToScroll) {\n previousIndex =\n Math.ceil(previousIndex / slidesToScroll) * slidesToScroll;\n }\n this.slideImages(previousIndex);\n }\n\n isSlideActive(key) {\n const { slidesToShow } = getProps(this.props);\n return key < this.state.index + slidesToShow && key >= this.state.index;\n }\n\n renderPreceedingSlides(children, slidesToShow) {\n return children.slice(-slidesToShow).map((each, index) => (\n <div\n data-index={index - slidesToShow}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={index - slidesToShow}\n >\n {each}\n </div>\n ));\n }\n\n renderTrailingSlides() {\n const { children, slidesToShow, slidesToScroll, infinite } = getProps(\n this.props\n );\n if (!infinite && slidesToShow === slidesToScroll) {\n return;\n }\n return children.slice(0, slidesToShow).map((each, index) => (\n <div\n data-index={children.length + index}\n aria-roledescription=\"slide\"\n aria-hidden=\"true\"\n key={children.length + index}\n >\n {each}\n </div>\n ));\n }\n\n getOffset(infinite, slidesToShow) {\n if (!infinite) {\n return 0;\n }\n return slidesToShow;\n }\n\n render() {\n const {\n children,\n indicators,\n arrows,\n cssClass,\n slidesToShow,\n infinite\n } = getProps(this.props);\n const unhandledProps = getUnhandledProps(propTypes, this.props);\n const { index } = this.state;\n const style = {\n transform: `translate(-${(index +\n this.getOffset(infinite, slidesToShow)) *\n this.width}px)`\n };\n\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\" {...unhandledProps}>\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={this.pauseSlides}\n onMouseOver={this.pauseSlides}\n onMouseLeave={this.startSlides}\n onMouseDown={this.startSwipe}\n onMouseUp={this.endSwipe}\n onMouseMove={this.swipe}\n onTouchStart={this.startSwipe}\n onTouchEnd={this.endSwipe}\n onTouchCancel={this.endSwipe}\n onTouchMove={this.swipe}\n ref={this.reactSlideshowWrapper}\n >\n {arrows &&\n showPreviousArrow(\n getProps(this.props),\n this.state.index,\n this.moveSlides\n )}\n <div\n className={`react-slideshow-wrapper slide ${cssClass}`}\n ref={ref => (this.wrapper = ref)}\n >\n <div\n className=\"images-wrap\"\n style={style}\n ref={ref => (this.imageContainer = ref)}\n >\n {infinite\n ? this.renderPreceedingSlides(children, slidesToShow)\n : ''}\n {children.map((each, key) => {\n const isSlideActive = this.isSlideActive(key);\n return (\n <div\n data-index={key}\n key={key}\n className={isSlideActive ? 'active' : ''}\n aria-roledescription=\"slide\"\n aria-hidden={isSlideActive ? 'false' : 'true'}\n >\n {each}\n </div>\n );\n })}\n {this.renderTrailingSlides()}\n </div>\n </div>\n {arrows &&\n showNextArrow(\n getProps(this.props),\n this.state.index,\n this.moveSlides\n )}\n </div>\n {indicators &&\n showIndicators(\n getProps(this.props),\n this.state.index,\n this.goToSlide\n )}\n </div>\n );\n }\n\n slideImages(index, animationDuration) {\n let {\n children,\n transitionDuration,\n autoplay,\n infinite,\n duration,\n onChange,\n easing,\n slidesToShow,\n slidesToScroll\n } = getProps(this.props);\n transitionDuration = animationDuration || transitionDuration;\n const existingTweens = this.tweenGroup.getAll();\n if (!existingTweens.length) {\n clearTimeout(this.timeout);\n const value = {\n margin:\n -this.width *\n (this.state.index + this.getOffset(infinite, slidesToShow)) +\n this.distanceSwiped\n };\n const tween = new TWEEN.Tween(value, this.tweenGroup)\n .to(\n {\n margin:\n -this.width * (index + this.getOffset(infinite, slidesToShow))\n },\n transitionDuration\n )\n .onUpdate(value => {\n if (this.imageContainer) {\n this.imageContainer.style.transform = `translate(${value.margin}px)`;\n }\n })\n .start();\n tween.easing(getEasing(easing));\n let animate = () => {\n if (this.willUnmount) {\n this.tweenGroup.removeAll();\n return;\n }\n requestAnimationFrame(animate);\n this.tweenGroup.update();\n };\n\n animate();\n\n tween.onComplete(() => {\n if (this.willUnmount) {\n return;\n }\n this.distanceSwiped = 0;\n let newIndex = index;\n if (newIndex < 0) {\n newIndex = children.length - slidesToScroll;\n } else if (newIndex >= children.length) {\n newIndex = 0;\n }\n\n if (typeof onChange === 'function') {\n onChange(this.state.index, newIndex);\n }\n this.setState(\n {\n index: newIndex\n },\n () => {\n if (autoplay && (infinite || this.state.index < children.length)) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n );\n });\n }\n }\n}\n\nexport default Slideshow;\n","import React, { Component, createRef } from 'react';\nimport TWEEN from '@tweenjs/tween.js';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { validatePropTypes, propTypes, getProps } from './props';\nimport {\n getUnhandledProps,\n showNextArrow,\n showPreviousArrow,\n showIndicators,\n getEasing\n} from './helpers.js';\n\nclass Fade extends Component {\n constructor(props) {\n super();\n this.state = {\n index:\n props.defaultIndex && props.defaultIndex < props.children.length\n ? props.defaultIndex\n : 0\n };\n this.width = 0;\n this.timeout = null;\n this.divsContainer = null;\n this.wrapper = null;\n this.setWidth = this.setWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.navigate = this.navigate.bind(this);\n this.preFade = this.preFade.bind(this);\n this.pauseSlides = this.pauseSlides.bind(this);\n this.startSlides = this.startSlides.bind(this);\n this.initResizeObserver = this.initResizeObserver.bind(this);\n this.tweenGroup = new TWEEN.Group();\n this.reactSlideshowWrapper = createRef();\n this.wrapper = createRef();\n this.startSwipe = this.startSwipe.bind(this);\n this.endSwipe = this.endSwipe.bind(this);\n }\n\n componentDidMount() {\n this.setWidth();\n this.play();\n this.initResizeObserver();\n validatePropTypes(this.props);\n }\n\n initResizeObserver() {\n if (this.reactSlideshowWrapper.current) {\n this.resizeObserver = new ResizeObserver(entries => {\n if (!entries) return;\n this.handleResize();\n });\n this.resizeObserver.observe(this.reactSlideshowWrapper.current);\n }\n }\n\n play() {\n const { autoplay, children, duration } = getProps(this.props);\n const { index } = this.state;\n if (autoplay && children.length > 1) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.fadeImages(index + 1), duration);\n }\n }\n\n componentDidUpdate(props) {\n const { autoplay, children } = getProps(this.props);\n const newProps = getProps(props);\n if (autoplay !== newProps.autoplay) {\n if (autoplay) {\n this.play();\n } else {\n clearTimeout(this.timeout);\n }\n }\n if (children.length != newProps.children.length) {\n this.applyStyle();\n clearTimeout(this.timeout);\n this.play();\n }\n }\n\n componentWillUnmount() {\n this.willUnmount = true;\n clearTimeout(this.timeout);\n this.removeResizeObserver();\n }\n\n removeResizeObserver() {\n if (\n this.resizeObserver &&\n this.reactSlideshowWrapper &&\n this.reactSlideshowWrapper.current\n ) {\n this.resizeObserver.unobserve(this.reactSlideshowWrapper.current);\n }\n }\n\n setWidth() {\n if (this.wrapper.current) {\n this.width = this.wrapper.current.clientWidth;\n }\n this.applyStyle();\n }\n\n handleResize() {\n this.setWidth();\n }\n\n applyStyle() {\n const fullwidth = this.width * React.Children.count(this.props.children);\n if (this.divsContainer) {\n this.divsContainer.style.width = `${fullwidth}px`;\n for (let index = 0; index < this.divsContainer.children.length; index++) {\n const eachDiv = this.divsContainer.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${this.width}px`;\n eachDiv.style.left = `${index * -this.width}px`;\n }\n }\n }\n }\n\n pauseSlides() {\n if (getProps(this.props).pauseOnHover) {\n clearTimeout(this.timeout);\n }\n }\n\n startSlides() {\n const { pauseOnHover, autoplay, duration } = getProps(this.props);\n if (pauseOnHover && autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n\n goNext() {\n const { index } = this.state;\n const { children, infinite } = getProps(this.props);\n if (!infinite && index === children.length - 1) {\n return;\n }\n this.fadeImages((index + 1) % children.length);\n }\n\n goBack() {\n const { index } = this.state;\n const { children, infinite } = getProps(this.props);\n if (!infinite && index === 0) {\n return;\n }\n this.fadeImages(index === 0 ? children.length - 1 : index - 1);\n }\n\n navigate({ currentTarget: { dataset } }) {\n if (dataset.key != this.state.index) {\n this.goTo(parseInt(dataset.key));\n }\n }\n\n goTo(index) {\n this.fadeImages(index);\n }\n\n preFade({ currentTarget }) {\n if (currentTarget.dataset.type === 'prev') {\n this.goBack();\n } else {\n this.goNext();\n }\n }\n\n startSwipe(e) {\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.startingClientX = e.touches ? e.touches[0].pageX : e.clientX;\n clearTimeout(this.timeout);\n this.dragging = true;\n }\n }\n\n endSwipe(e) {\n const clientX = e.changedTouches ? e.changedTouches[0].pageX : e.clientX;\n const distance = clientX - this.startingClientX;\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.dragging = false;\n if (Math.abs(distance) / this.width > 0.2) {\n if (distance < 0) {\n this.goNext();\n } else {\n this.goBack();\n }\n }\n }\n }\n\n render() {\n const { indicators, children, arrows, cssClass } = getProps(this.props);\n const { index } = this.state;\n const unhandledProps = getUnhandledProps(propTypes, this.props);\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\" {...unhandledProps}>\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={this.pauseSlides}\n onMouseOver={this.pauseSlides}\n onMouseLeave={this.startSlides}\n onMouseDown={this.startSwipe}\n onMouseUp={this.endSwipe}\n onTouchStart={this.startSwipe}\n onTouchEnd={this.endSwipe}\n onTouchCancel={this.endSwipe}\n ref={this.reactSlideshowWrapper}\n >\n {arrows &&\n showPreviousArrow(\n getProps(this.props),\n this.state.index,\n this.preFade\n )}\n <div\n className={`react-slideshow-fade-wrapper ${cssClass}`}\n ref={this.wrapper}\n >\n <div\n className=\"react-slideshow-fade-images-wrap\"\n ref={wrap => (this.divsContainer = wrap)}\n >\n {children.map((each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0'\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n ))}\n </div>\n </div>\n {arrows &&\n showNextArrow(getProps(this.props), this.state.index, this.preFade)}\n </div>\n {indicators &&\n showIndicators(getProps(this.props), this.state.index, this.navigate)}\n </div>\n );\n }\n\n fadeImages(newIndex) {\n const { index } = this.state;\n const {\n autoplay,\n children,\n infinite,\n duration,\n transitionDuration,\n onChange,\n easing\n } = getProps(this.props);\n const existingTweens = this.tweenGroup.getAll();\n if (!existingTweens.length) {\n if (!this.divsContainer.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(this.timeout);\n const value = { opacity: 0 };\n\n const animate = () => {\n if (this.willUnmount) {\n this.tweenGroup.removeAll();\n return;\n }\n requestAnimationFrame(animate);\n this.tweenGroup.update();\n };\n\n animate();\n\n const tween = new TWEEN.Tween(value, this.tweenGroup)\n .to({ opacity: 1 }, transitionDuration)\n .onUpdate(value => {\n this.divsContainer.children[newIndex].style.opacity = value.opacity;\n this.divsContainer.children[index].style.opacity = 1 - value.opacity;\n })\n .start();\n tween.easing(getEasing(easing));\n tween.onComplete(() => {\n if (this.willUnmount) {\n return;\n }\n this.setState({\n index: newIndex\n });\n if (typeof onChange === 'function') {\n onChange(index, newIndex);\n }\n if (autoplay && (infinite || newIndex < children.length - 1)) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.fadeImages((newIndex + 1) % children.length);\n }, duration);\n }\n });\n }\n }\n}\n\nexport default Fade;\n","import React, { Component, createRef } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport TWEEN from '@tweenjs/tween.js';\nimport { validatePropTypes, propTypes, getProps } from './props';\nimport {\n getUnhandledProps,\n showNextArrow,\n showPreviousArrow,\n showIndicators,\n getEasing\n} from './helpers.js';\n\nclass Zoom extends Component {\n constructor(props) {\n super();\n this.state = {\n index:\n props.defaultIndex && props.defaultIndex < props.children.length\n ? props.defaultIndex\n : 0\n };\n this.width = 0;\n this.timeout = null;\n this.divsContainer = null;\n this.wrapper = null;\n this.setWidth = this.setWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.navigate = this.navigate.bind(this);\n this.preZoom = this.preZoom.bind(this);\n this.pauseSlides = this.pauseSlides.bind(this);\n this.startSlides = this.startSlides.bind(this);\n this.tweenGroup = new TWEEN.Group();\n this.initResizeObserver = this.initResizeObserver.bind(this);\n this.reactSlideshowWrapper = createRef();\n this.startSwipe = this.startSwipe.bind(this);\n this.endSwipe = this.endSwipe.bind(this);\n }\n\n componentDidMount() {\n this.setWidth();\n this.play();\n this.initResizeObserver();\n validatePropTypes(this.props);\n }\n\n initResizeObserver() {\n if (this.reactSlideshowWrapper.current) {\n this.resizeObserver = new ResizeObserver(entries => {\n if (!entries) return;\n this.handleResize();\n });\n this.resizeObserver.observe(this.reactSlideshowWrapper.current);\n }\n }\n\n play() {\n const { autoplay, children, duration } = getProps(this.props);\n const { index } = this.state;\n if (autoplay && children.length > 1) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.zoomTo(index + 1), duration);\n }\n }\n\n componentWillUnmount() {\n this.willUnmount = true;\n clearTimeout(this.timeout);\n this.removeResizeObserver();\n }\n\n removeResizeObserver() {\n if (\n this.resizeObserver &&\n this.reactSlideshowWrapper &&\n this.reactSlideshowWrapper.current\n ) {\n this.resizeObserver.unobserve(this.reactSlideshowWrapper.current);\n }\n }\n\n componentDidUpdate(props) {\n const { autoplay, children } = getProps(this.props);\n const newProps = getProps(props);\n if (autoplay !== newProps.autoplay) {\n if (autoplay) {\n this.play();\n } else {\n clearTimeout(this.timeout);\n }\n }\n if (children.length != newProps.children.length) {\n this.applyStyle();\n clearTimeout(this.timeout);\n this.play();\n }\n }\n\n setWidth() {\n if (this.wrapper) {\n this.width = this.wrapper.clientWidth;\n }\n this.applyStyle();\n }\n\n handleResize() {\n this.setWidth();\n }\n\n applyStyle() {\n const fullwidth = this.width * React.Children.count(this.props.children);\n if (this.divsContainer) {\n this.divsContainer.style.width = `${fullwidth}px`;\n for (let index = 0; index < this.divsContainer.children.length; index++) {\n const eachDiv = this.divsContainer.children[index];\n if (eachDiv) {\n eachDiv.style.width = `${this.width}px`;\n eachDiv.style.left = `${index * -this.width}px`;\n }\n }\n }\n }\n\n pauseSlides() {\n if (getProps(this.props).pauseOnHover) {\n clearTimeout(this.timeout);\n }\n }\n\n startSlides() {\n const { pauseOnHover, autoplay, duration } = getProps(this.props);\n if (pauseOnHover && autoplay) {\n this.timeout = setTimeout(() => this.goNext(), duration);\n }\n }\n\n goNext() {\n const { index } = this.state;\n const { children, infinite } = getProps(this.props);\n if (!infinite && index === children.length - 1) {\n return;\n }\n this.zoomTo((index + 1) % children.length);\n }\n\n goBack() {\n const { index } = this.state;\n const { children, infinite } = getProps(this.props);\n if (!infinite && index === 0) {\n return;\n }\n this.zoomTo(index === 0 ? children.length - 1 : index - 1);\n }\n\n goTo(index) {\n this.zoomTo(index);\n }\n\n navigate({ currentTarget: { dataset } }) {\n if (dataset.key != this.state.index) {\n this.goTo(parseInt(dataset.key));\n }\n }\n\n preZoom({ currentTarget }) {\n if (currentTarget.dataset.type === 'prev') {\n this.goBack();\n } else {\n this.goNext();\n }\n }\n\n startSwipe(e) {\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.startingClientX = e.touches ? e.touches[0].pageX : e.clientX;\n clearTimeout(this.timeout);\n this.dragging = true;\n }\n }\n\n endSwipe(e) {\n const clientX = e.changedTouches ? e.changedTouches[0].pageX : e.clientX;\n const distance = clientX - this.startingClientX;\n const { canSwipe } = getProps(this.props);\n if (canSwipe) {\n this.dragging = false;\n if (Math.abs(distance) / this.width > 0.2) {\n if (distance < 0) {\n this.goNext();\n } else {\n this.goBack();\n }\n }\n }\n }\n\n render() {\n const { indicators, arrows, children, cssClass } = getProps(this.props);\n const { index } = this.state;\n const unhandledProps = getUnhandledProps(propTypes, this.props);\n return (\n <div dir=\"ltr\" aria-roledescription=\"carousel\" {...unhandledProps}>\n <div\n className=\"react-slideshow-container\"\n onMouseEnter={this.pauseSlides}\n onMouseOver={this.pauseSlides}\n onMouseLeave={this.startSlides}\n onMouseDown={this.startSwipe}\n onMouseUp={this.endSwipe}\n onTouchStart={this.startSwipe}\n onTouchEnd={this.endSwipe}\n onTouchCancel={this.endSwipe}\n ref={this.reactSlideshowWrapper}\n >\n {arrows &&\n showPreviousArrow(\n getProps(this.props),\n this.state.index,\n this.preZoom\n )}\n <div\n className={`react-slideshow-zoom-wrapper ${cssClass}`}\n ref={ref => (this.wrapper = ref)}\n >\n <div\n className=\"zoom-wrapper\"\n ref={wrap => (this.divsContainer = wrap)}\n >\n {children.map((each, key) => (\n <div\n style={{\n opacity: key === index ? '1' : '0',\n zIndex: key === index ? '1' : '0'\n }}\n data-index={key}\n key={key}\n aria-roledescription=\"slide\"\n aria-hidden={key === index ? 'false' : 'true'}\n >\n {each}\n </div>\n ))}\n </div>\n </div>\n {arrows &&\n showNextArrow(getProps(this.props), this.state.index, this.preZoom)}\n </div>\n {indicators &&\n showIndicators(getProps(this.props), this.state.index, this.navigate)}\n </div>\n );\n }\n\n zoomTo(newIndex) {\n const { index } = this.state;\n const {\n children,\n scale,\n autoplay,\n infinite,\n transitionDuration,\n duration,\n onChange,\n easing\n } = getProps(this.props);\n const existingTweens = this.tweenGroup.getAll();\n if (!existingTweens.length) {\n if (this.divsContainer && !this.divsContainer.children[newIndex]) {\n newIndex = 0;\n }\n clearTimeout(this.timeout);\n const value = {\n opacity: 0,\n scale: 1\n };\n\n let animate = () => {\n if (this.willUnmount) {\n this.tweenGroup.removeAll();\n return;\n }\n requestAnimationFrame(animate);\n this.tweenGroup.update();\n };\n\n animate();\n\n const tween = new TWEEN.Tween(value, this.tweenGroup)\n .to({ opacity: 1, scale }, transitionDuration)\n .onUpdate(value => {\n if (this.divsContainer) {\n this.divsContainer.children[newIndex].style.opacity = value.opacity;\n this.divsContainer.children[index].style.opacity =\n 1 - value.opacity;\n this.divsContainer.children[\n index\n ].style.transform = `scale(${value.scale})`;\n }\n })\n .start();\n tween.easing(getEasing(easing));\n tween.onComplete(() => {\n if (this.willUnmount) {\n return;\n }\n if (typeof onChange === 'function') {\n onChange(index, newIndex);\n }\n this.setState({ index: newIndex }, () => {\n if (this.divsContainer) {\n this.divsContainer.children[index].style.transform = `scale(1)`;\n }\n });\n if (autoplay && (infinite || newIndex < children.length - 1)) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.zoomTo((newIndex + 1) % children.length);\n }, duration);\n }\n });\n }\n }\n}\n\nexport default Zoom;\n"],"sourceRoot":""}