{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap e3293722e212afc3840c","webpack:///./src/dom.js","webpack:///./src/wall.js","webpack:///./src/utils.js","webpack:///./src/events/index.js","webpack:///./src/events/touch.js","webpack:///./src/easing.js","webpack:///./src/polyfill.js"],"names":["testElement","document","createElement","hasTransform3d","style","transformProp","vendors","vendor","mousewheelEvent","rAF","window","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","callback","setTimeout","cAF","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","id","clearTimeout","getScreenWidth","innerWidth","documentElement","clientWidth","body","getScreenHeight","innerHeight","clientHeight","maxScreen","el","position","top","right","bottom","left","isScrollable","scrollHeight","scrollTouchBottom","scrollTop","scrollTouchTop","screen","touchEvent","touchStart","touchMove","navigator","msPointerEnabled","pointerEnabled","easing","SCREEN_SECTION","SCREEN_SLIDE","DATA_PRE","ANIMATE_DURATION","CURRENT_INDEX","SECTION_NAV","SECTION_INDEX","SECTION_NAV_INDEX","SLIDE","SLIDE_INDEX","SLIDE_ARROW","IMAGE_ORIGIN","defaultOptions","wrapperZIndex","sectionAnimateDuration","easeFunction","loopToBottom","loopToTop","sectionNavItemActiveClass","animatingClass","currentClass","html","getElementsByTagName","Wall","wrapper","options","querySelector","sections","children","length","currentSection","restSections","currentSlides","currentSlide","restSlides","currentScreenPosition","translateZ","size","X","Y","navElements","querySelectorAll","lastTime","requestId","isAnimating","isToBack","screenType","_init","_refresh","addEventListener","_setupSize","_cssWrapper","_handleKeyDown","bind","force","_cssHtmlAndBody","_setupSections","_cssSections","_queue","_setupSlides","_setupSectionNav","forEach","section","slide","_renderSectionNavs","_lazyload","setAttribute","_getCurrentSectionIndex","index","_handleWheelEvent","e","keyCode","nextSection","prevSection","prevSlide","nextSlide","goToSection","delta","Math","max","min","wheelDelta","detail","navElement","zIndex","navItems","item","getAttribute","slides","arrows","overflowX","overflowY","reverse","arrow","height","overflow","margin","currentScreen","images","image","screenList","_renderSectionPosition","sort","a","b","Date","now","_updateCurrentScreenPosition","shouldStop","_resetCurrentSlides","_animateScreen","currentDuration","duration","target","pos","currentNav","find","_refreshAnimateStatus","targetSection","prevSections","slice","nextSections","module","exports","throwNewError","Error","p","toArray","Array","prototype","call","o","merge","targetObj","obj","Object","keys","key","hasClass","className","classList","contains","match","RegExp","addClass","add","removeClass","remove","reg","replace","handleTouch","context","start","end","handleTouchStart","touch","touches","pageX","pageY","handleTouchMove","diffX","diffY","isVertical","abs","linear","t","c","d","easeIn","pow","easeOut","easeInOut","predicate","TypeError","list","thisArg","arguments","value","i","undefined"],"mappings":"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","file":"wall.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Wall\"] = factory();\n\telse\n\t\troot[\"Wall\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e3293722e212afc3840c","const testElement = document.createElement('div');\r\n\r\nexport const hasTransform3d =\r\n 'WebkitPerspective' in testElement.style ||\r\n 'MozPerspective' in testElement.style ||\r\n 'msPerspective' in testElement.style ||\r\n 'OPerspective' in testElement.style ||\r\n 'perspective' in testElement.style;\r\n\r\nexport const transformProp = (() => {\r\n if (!('transform' in testElement.style)) {\r\n const vendors = ['Webkit', 'Moz', 'ms'];\r\n for (let vendor in vendors) {\r\n if (vendors[vendor] + 'Transform' in testElement.style) {\r\n return vendors[vendor] + 'Transform';\r\n }\r\n }\r\n }\r\n return 'transform';\r\n})();\r\n\r\nexport const mousewheelEvent = 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll';\r\n\r\nexport const rAF =\r\n window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n function (callback) { setTimeout(callback, 1000 / 60); };\r\n\r\nexport const cAF =\r\n window.cancelAnimationFrame ||\r\n window.webkitCancelAnimationFrame ||\r\n window.mozCancelAnimationFrame ||\r\n window.oCancelAnimationFrame ||\r\n window.msCancelAnimationFrame ||\r\n function (id) { clearTimeout(id); };\r\n\r\nexport const getScreenWidth = () =>\r\n window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\r\n\r\n\r\nexport const getScreenHeight = () =>\r\n window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\r\n\r\nexport const maxScreen = el => {\r\n el.style.position = 'absolute';\r\n el.style.top = 0;\r\n el.style.right = 0;\r\n el.style.bottom = 0;\r\n el.style.left = 0;\r\n};\r\n\r\nexport const isScrollable = ({ scrollHeight, clientHeight }) => clientHeight < scrollHeight;\r\n\r\nexport const scrollTouchBottom = ({ scrollTop, scrollHeight, clientHeight }) => scrollHeight - scrollTop <= clientHeight;\r\n\r\nexport const scrollTouchTop = screen => screen.scrollTop === 0;\r\n\r\nexport const touchEvent = {\r\n touchStart: 'touchstart',\r\n touchMove: 'touchmove'\r\n};\r\n\r\nif (window.navigator.msPointerEnabled) {\r\n touchEvent.touchStart = 'MSPointerDown';\r\n touchEvent.touchMove = 'MSPointerMove';\r\n} else if (window.navigator.pointerEnabled) {\r\n touchEvent.touchStart = 'pointerdown';\r\n touchEvent.touchMove = 'pointermove';\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom.js","import { toArray, throwNewError, merge, addClass, removeClass } from './utils';\r\nimport { rAF, cAF, hasTransform3d, transformProp, mousewheelEvent, getScreenHeight, getScreenWidth, maxScreen, scrollTouchBottom, scrollTouchTop } from './dom';\r\nimport { handleTouch } from './events';\r\nimport * as easing from './easing';\r\nimport './polyfill';\r\n\r\nconst SCREEN_SECTION = 'section';\r\nconst SCREEN_SLIDE = 'slide';\r\nconst DATA_PRE = 'data-wall';\r\n\r\nconst ANIMATE_DURATION = `${DATA_PRE}-animate-duration`;\r\n\r\nconst CURRENT_INDEX = `${DATA_PRE}-current-section`;\r\n\r\nconst SECTION_NAV = `${DATA_PRE}-section-nav`;\r\nconst SECTION_INDEX = `${DATA_PRE}-section-index`;\r\n\r\nconst SECTION_NAV_INDEX = `${DATA_PRE}-section-nav-index`;\r\n\r\nconst SLIDE = `${DATA_PRE}-slide`;\r\nconst SLIDE_INDEX = `${DATA_PRE}-slide-index`;\r\nconst SLIDE_ARROW = `${DATA_PRE}-slide-arrow`;\r\n\r\nconst IMAGE_ORIGIN = `${DATA_PRE}-origin`;\r\n\r\nconst defaultOptions = {\r\n wrapperZIndex: 1,\r\n sectionAnimateDuration: 1,\r\n easeFunction: 'easeIn',\r\n loopToBottom: false,\r\n loopToTop: false,\r\n sectionNavItemActiveClass: 'active',\r\n animatingClass: 'animating',\r\n currentClass: 'current',\r\n};\r\n\r\nconst html = document.getElementsByTagName('html')[0];\r\nconst body = document.getElementsByTagName('body')[0];\r\n\r\nclass Wall {\r\n\r\n constructor(wrapper = throwNewError`wrapper`, options = defaultOptions) {\r\n // get wrapper which contains sections\r\n this.wrapper = typeof wrapper === 'string' ? document.querySelector(wrapper) : wrapper;\r\n // get child sections, if no section contains, throw a new error\r\n this.sections = this.wrapper.children.length ? toArray(this.wrapper.children) : throwNewError`sections`;\r\n this.currentSection = null;\r\n this.restSections = null;\r\n\r\n this.currentSlides = null;\r\n this.currentSlide = null;\r\n this.restSlides = null;\r\n\r\n // the position of current section, used to move currentSection\r\n this.currentScreenPosition = 0;\r\n\r\n // mark if use transform 3d for smooth animation\r\n this.translateZ = hasTransform3d ? 'translateZ(0)' : '';\r\n // init screen size, X presents width, Y presents height\r\n this.size = { X: 0, Y: 0 };\r\n\r\n // merge default options and custom options\r\n this.options = merge(defaultOptions, options);\r\n // set up nav element\r\n this.navElements = toArray(document.querySelectorAll(`[${SECTION_NAV}]`));\r\n\r\n this.easeFunction = typeof this.options.easeFunction === 'string' ? easing[this.options.easeFunction] : this.options.easeFunction;\r\n\r\n // animation time stamp, control speed\r\n this.lastTime = null;\r\n // requestAnimationFrame id\r\n this.requestId = null;\r\n // is animating flag\r\n this.isAnimating = false;\r\n // mark if the screen is ready to back\r\n this.isToBack = false;\r\n this.screenType = SCREEN_SECTION;\r\n\r\n this._init();\r\n }\r\n\r\n _init() {\r\n this._refresh(true);\r\n\r\n window.addEventListener('resize', () => { this._setupSize()._cssWrapper(); });\r\n document.addEventListener('keydown', this._handleKeyDown.bind(this));\r\n }\r\n\r\n _refresh(force) {\r\n if (force)\r\n this\r\n ._setupSize()._cssHtmlAndBody()._cssWrapper()\r\n ._setupSections()._cssSections()._queue(this.sections)\r\n ._setupSlides()\r\n ._setupSectionNav();\r\n\r\n cAF(this.requestId);\r\n this.isAnimating = false;\r\n\r\n removeClass(this.currentSection, this.options.animatingClass);\r\n this.sections.forEach(section => removeClass(section, this.options.currentClass));\r\n\r\n [this.currentSection, ...this.restSections] = this.sections;\r\n addClass(this.currentSection, this.options.currentClass);\r\n\r\n if (this.currentSlides.length && this.currentSlide) {\r\n removeClass(this.currentSlide, this.options.animatingClass);\r\n this.currentSlides.forEach(slide => removeClass(slide, this.options.currentClass));\r\n }\r\n\r\n [this.currentSlide, ...this.restSlides] = this.currentSlides;\r\n if (this.currentSlides.length && this.currentSlide) {\r\n addClass(this.currentSlide, this.options.currentClass);\r\n }\r\n\r\n this._renderSectionNavs();\r\n this._lazyload(this.currentSection);\r\n this.wrapper.setAttribute(CURRENT_INDEX, this._getCurrentSectionIndex());\r\n\r\n return this;\r\n }\r\n\r\n _setupSize() {\r\n this.size.X = getScreenWidth();\r\n this.size.Y = getScreenHeight();\r\n return this;\r\n }\r\n\r\n _setupSections() {\r\n [this.currentSection, ...this.restSections] = this.sections;\r\n\r\n this.sections.forEach((section, index) => {\r\n section.setAttribute(SECTION_INDEX, index + 1);\r\n section.addEventListener(mousewheelEvent, this._handleWheelEvent.bind(this));\r\n handleTouch(section, this);\r\n });\r\n return this;\r\n }\r\n\r\n _handleKeyDown(e) {\r\n switch (e.keyCode) {\r\n case 34: case 40: if (scrollTouchBottom(this.currentSection)) this.nextSection(); break;\r\n case 33: case 38: if (scrollTouchTop(this.currentSection)) this.prevSection(); break;\r\n case 37: if (this.currentSlide) this.prevSlide(); break;\r\n case 39: if (this.currentSlide) this.nextSlide(); break;\r\n case 36: this.goToSection(1); break;\r\n case 35: this.goToSection(this.sections.length); break;\r\n }\r\n }\r\n\r\n _handleWheelEvent(e) {\r\n const delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));\r\n\r\n if (scrollTouchBottom(this.currentSection) && delta === -1) this.nextSection();\r\n if (scrollTouchTop(this.currentSection) && delta === 1) this.prevSection();\r\n\r\n return this;\r\n }\r\n\r\n _setupSectionNav() {\r\n if (this.navElements && this.navElements.length) {\r\n this.navElements.forEach(navElement => {\r\n navElement.style.zIndex = this.options.wrapperZIndex + 1;\r\n\r\n const navItems = toArray(navElement.children);\r\n navItems.forEach((item, index) => {\r\n item.setAttribute(SECTION_NAV_INDEX, index + 1);\r\n item.addEventListener('click', () => {\r\n this.goToSection(item.getAttribute(SECTION_NAV_INDEX));\r\n });\r\n });\r\n });\r\n }\r\n\r\n return this;\r\n }\r\n\r\n _setupSlides() {\r\n this.currentSlides = toArray(this.currentSection.querySelectorAll(`[${SLIDE}]`));\r\n\r\n this.sections.forEach(section => {\r\n const slides = toArray(section.querySelectorAll(`[${SLIDE}]`));\r\n const arrows = toArray(section.querySelectorAll(`[${SLIDE_ARROW}]`));\r\n if (slides.length) {\r\n slides.forEach((slide, index) => {\r\n maxScreen(slide);\r\n slide.style.overflowX = 'hidden';\r\n slide.style.overflowY = 'auto';\r\n\r\n slide.setAttribute(SLIDE_INDEX, index + 1);\r\n });\r\n slides.reverse().forEach((slide, index) => slide.style.zIndex = index + 1);\r\n\r\n if (arrows.length) {\r\n arrows.forEach(arrow => arrow.style.zIndex = slides.length + 1);\r\n }\r\n }\r\n });\r\n return this;\r\n }\r\n\r\n _cssHtmlAndBody() {\r\n html.style.height = '100%';\r\n html.style.overflow = 'hidden';\r\n body.style.height = '100%';\r\n body.style.position = 'relative';\r\n body.style.margin = 0;\r\n body.style.overflow = 'hidden';\r\n return this;\r\n }\r\n\r\n _cssWrapper() {\r\n this.wrapper.style.position = 'relative';\r\n this.wrapper.style.height = '100%';\r\n this.wrapper.style.zIndex = this.options.wrapperZIndex;\r\n return this;\r\n }\r\n\r\n _cssSections() {\r\n this.sections.forEach(section => {\r\n maxScreen(section);\r\n section.style.height = this.size.Y + 'px';\r\n section.style.overflowX = 'hidden';\r\n section.style.overflowY = 'auto';\r\n });\r\n return this;\r\n }\r\n\r\n _lazyload(currentScreen) {\r\n const images = toArray(currentScreen.querySelectorAll(`[${IMAGE_ORIGIN}]`));\r\n images.forEach(image => image.setAttribute('src', image.getAttribute(IMAGE_ORIGIN)));\r\n }\r\n\r\n _queue(screenList) {\r\n screenList.reverse().forEach((section, index) => { section.style.zIndex = index + 1; });\r\n screenList.reverse();\r\n\r\n screenList.forEach(section => this._renderSectionPosition(section, 0));\r\n\r\n return this;\r\n }\r\n\r\n _resetCurrentSlides() {\r\n [this.currentSection, ...this.restSections] = this.sections;\r\n\r\n this.currentSlides = toArray(this.currentSection.querySelectorAll(`[${SLIDE}]`))\r\n .sort((a, b) => +b.style.zIndex - +a.style.zIndex);\r\n\r\n if (this.currentSlide) removeClass(this.currentSlide, this.options.currentClass);\r\n [this.currentSlide, ...this.restSlides] = this.currentSlides;\r\n if (this.currentSlide) addClass(this.currentSlide, this.options.currentClass);\r\n\r\n return this;\r\n }\r\n\r\n _refreshAnimateStatus(isToBack) {\r\n this.isToBack = isToBack;\r\n cAF(this.requestId);\r\n this.currentScreenPosition = this.isToBack ? 100 : 0;\r\n this.isAnimating = true;\r\n this.lastTime = Date.now();\r\n\r\n if (this.screenType === SCREEN_SECTION) {\r\n addClass(this.currentSection, this.options.animatingClass);\r\n } else if (this.currentSlide && this.screenType === SCREEN_SLIDE) {\r\n addClass(this.currentSlide, this.options.animatingClass);\r\n }\r\n return this;\r\n }\r\n\r\n _animateScreen(currentScreen, screenList) {\r\n const now = Date.now();\r\n const delta = (now - this.lastTime) / 1000;\r\n\r\n currentScreen.style.zIndex = screenList.length + 1;\r\n\r\n this._updateCurrentScreenPosition(delta)._renderSectionPosition(currentScreen, this.currentScreenPosition);\r\n\r\n const shouldStop = (this.currentScreenPosition > 99.9 && !this.isToBack) || (this.currentScreenPosition < 0.1 && this.isToBack);\r\n\r\n if (shouldStop) {\r\n this._refresh()._queue(screenList);\r\n if (this.screenType === SCREEN_SECTION) this._resetCurrentSlides();\r\n return this;\r\n };\r\n\r\n if (this.isAnimating) {\r\n return this.requestId = rAF(this._animateScreen.bind(this, currentScreen, screenList));\r\n };\r\n }\r\n\r\n _updateCurrentScreenPosition(delta) {\r\n const currentDuration = this.screenType === SCREEN_SECTION ? +this.currentSection.getAttribute(ANIMATE_DURATION) : +this.currentSlide.getAttribute(ANIMATE_DURATION);\r\n const duration = currentDuration || this.options.sectionAnimateDuration;\r\n const target = this.isToBack ? 0 : 100;\r\n\r\n this.currentScreenPosition = this.easeFunction(delta, this.currentScreenPosition, target - this.currentScreenPosition, duration);\r\n return this;\r\n }\r\n\r\n _renderSectionPosition(screen, pos) {\r\n switch (this.screenType) {\r\n case SCREEN_SECTION:\r\n screen.style[transformProp] = `translate(0, -${pos}%) ${this.translateZ}`;\r\n break;\r\n case SCREEN_SLIDE:\r\n screen.style[transformProp] = `translate(-${pos}%, 0) ${this.translateZ}`;\r\n break;\r\n }\r\n }\r\n\r\n _getCurrentSectionIndex() {\r\n return this.currentSection.getAttribute(SECTION_INDEX);\r\n }\r\n\r\n _renderSectionNavs() {\r\n if (this.navElements && this.navElements.length) {\r\n const { sectionNavItemActiveClass } = this.options;\r\n\r\n this.navElements.forEach(navElement => {\r\n const navItems = toArray(navElement.children);\r\n navItems.forEach(item => removeClass(item, sectionNavItemActiveClass));\r\n\r\n const currentNav = navItems.find(item => item.getAttribute(SECTION_NAV_INDEX) === this._getCurrentSectionIndex());\r\n addClass(currentNav, sectionNavItemActiveClass);\r\n });\r\n\r\n }\r\n }\r\n\r\n prevSection() {\r\n if (!this.options.loopToBottom && this._getCurrentSectionIndex() == 1) return;\r\n\r\n if (!this.isAnimating) {\r\n // reverse the sections array and set the last section to be the current section\r\n [this.currentSection, ...this.restSections] = this.sections.reverse();\r\n this.sections = [this.currentSection, ...this.restSections.reverse()];\r\n this.screenType = SCREEN_SECTION;\r\n\r\n this._refreshAnimateStatus(true)._animateScreen(this.currentSection, this.sections);\r\n }\r\n }\r\n\r\n nextSection() {\r\n if (!this.options.loopToTop && this._getCurrentSectionIndex() == this.sections.length) return;\r\n\r\n if (!this.isAnimating) {\r\n // move current section to last of the queue\r\n this.sections = [...this.restSections, this.currentSection];\r\n this.screenType = SCREEN_SECTION;\r\n\r\n this._refreshAnimateStatus(false)._animateScreen(this.currentSection, this.sections);\r\n }\r\n }\r\n\r\n goToSection(index) {\r\n if (index === this._getCurrentSectionIndex()) return;\r\n\r\n if (!this.isAnimating) {\r\n this.isToBack = index < this._getCurrentSectionIndex();\r\n\r\n this.sections = toArray(this.wrapper.children);\r\n const targetSection = this.sections.find(section => section.getAttribute(SECTION_INDEX) == index);\r\n const prevSections = this.sections.slice(0, index - 1);\r\n const nextSections = this.sections.slice(index);\r\n this.sections = [targetSection, ...nextSections, ...prevSections];\r\n\r\n if (this.isToBack) {\r\n this.currentSection = targetSection;\r\n } else {\r\n this._queue(this.sections);\r\n }\r\n\r\n this.screenType = SCREEN_SECTION;\r\n this._refreshAnimateStatus(this.isToBack)._animateScreen(this.currentSection, this.sections);\r\n }\r\n }\r\n\r\n prevSlide() {\r\n if (!this.isAnimating) {\r\n [this.currentSlide, ...this.restSlides] = this.currentSlides.reverse();\r\n this.currentSlides = [this.currentSlide, ...this.restSlides.reverse()];\r\n this.screenType = SCREEN_SLIDE;\r\n\r\n this._refreshAnimateStatus(true)._animateScreen(this.currentSlide, this.currentSlides);\r\n }\r\n }\r\n\r\n nextSlide() {\r\n if (!this.isAnimating) {\r\n this.currentSlides = [...this.restSlides, this.currentSlide];\r\n this.screenType = SCREEN_SLIDE;\r\n\r\n this._refreshAnimateStatus(false)._animateScreen(this.currentSlide, this.currentSlides);\r\n }\r\n }\r\n\r\n}\r\n\r\nmodule.exports = Wall;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/wall.js","export const throwNewError = p => { throw new Error(`${p} is required`); };\r\n\r\nexport const toArray = o => Array.prototype.slice.call(o);\r\n\r\nexport const merge = (targetObj, obj) => {\r\n Object.keys(obj).forEach(key => {\r\n targetObj[key] = obj[key];\r\n });\r\n return targetObj;\r\n};\r\n\r\nconst hasClass = (el, className) => {\r\n if (el.classList) return el.classList.contains(className);\r\n else return !!el.className.match(new RegExp('(\\\\s|^)' + className + '(\\\\s|$)'));\r\n};\r\n\r\nexport const addClass = (el, className) => {\r\n if (el.classList) el.classList.add(className);\r\n else if (!hasClass(el, className)) el.className += \" \" + className;\r\n};\r\n\r\nexport const removeClass = (el, className) => {\r\n if (el.classList) {\r\n el.classList.remove(className);\r\n }\r\n else if (hasClass(el, className)) {\r\n var reg = new RegExp('(\\\\s|^)' + className + '(\\\\s|$)');\r\n el.className = el.className.replace(reg, ' ');\r\n }\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils.js","import handleTouch from './touch';\r\n\r\nmodule.exports = { handleTouch };\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/events/index.js","import { scrollTouchBottom, scrollTouchTop, touchEvent } from '../dom';\r\n\r\nconst handleTouch = (el, context) => {\r\n\r\n const start = { X: 0, Y: 0 };\r\n const end = { X: 0, Y: 0 };\r\n\r\n const handleTouchStart = e => {\r\n const touch = e.touches ? e.touches[0] : e;\r\n start.X = touch.pageX;\r\n start.Y = touch.pageY;\r\n };\r\n\r\n const handleTouchMove = e => {\r\n if (context.isAnimating) return;\r\n\r\n const touch = e.touches ? e.touches[0] : e;\r\n end.X = touch.pageX;\r\n end.Y = touch.pageY;\r\n const diffX = start.X - end.X;\r\n const diffY = start.Y - end.Y;\r\n\r\n const isVertical = Math.abs(diffY) - Math.abs(diffX) > 0;\r\n\r\n if (isVertical) {\r\n if (diffY > 200 && scrollTouchBottom(el)) return context.nextSection();\r\n if (diffY > -200 && diffY < 0 && scrollTouchTop(el)) return context.prevSection();\r\n } else {\r\n if (context.currentSlide) {\r\n if (diffX > 200) return context.nextSlide();\r\n if (diffX > -200 && diffX < 0) return context.prevSlide();\r\n }\r\n }\r\n };\r\n\r\n el.addEventListener(touchEvent.touchStart, handleTouchStart, false);\r\n el.addEventListener(touchEvent.touchMove, handleTouchMove, false);\r\n};\r\n\r\nexport default handleTouch;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/events/touch.js","export const linear = function (t, b, c, d) {\r\n return c * t / d + b;\r\n};\r\n\r\nexport const easeIn = function (t, b, c, d) {\r\n return c * Math.pow(2, 10 * (t / d - 1)) + b;\r\n};\r\n\r\nexport const easeOut = function (t, b, c, d) {\r\n return c * (-Math.pow(2, -10 * t / d) + 1) + b;\r\n};\r\n\r\nexport const easeInOut = function (t, b, c, d) {\r\n t /= d / 2;\r\n if (t < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b;\r\n t--;\r\n return c / 2 * (-Math.pow(2, -10 * t) + 2) + b;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/easing.js","if (!Array.prototype.find) {\r\n Array.prototype.find = function (predicate) {\r\n 'use strict';\r\n if (this == null) {\r\n throw new TypeError('Array.prototype.find called on null or undefined');\r\n }\r\n if (typeof predicate !== 'function') {\r\n throw new TypeError('predicate must be a function');\r\n }\r\n var list = Object(this);\r\n var length = list.length >>> 0;\r\n var thisArg = arguments[1];\r\n var value;\r\n\r\n for (var i = 0; i < length; i++) {\r\n value = list[i];\r\n if (predicate.call(thisArg, value, i, list)) {\r\n return value;\r\n }\r\n }\r\n return undefined;\r\n };\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/polyfill.js"],"sourceRoot":""}