{"version":3,"file":"./modules/StoryStage.xxxxxxxx.js","mappings":"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","sources":["webpack:///../../../node_modules/rxjs/_esm5/internal/operators/pluck.js","webpack:///./modules/SliderPagination.ts","webpack:///./modules/StoryStage/StoryStage.ts","webpack:///./modules/StoryStage/index.ts"],"sourcesContent":["/** PURE_IMPORTS_START _map PURE_IMPORTS_END */\nimport { map } from './map';\nexport function pluck() {\n var properties = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n properties[_i] = arguments[_i];\n }\n var length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return function (source) { return map(plucker(properties, length))(source); };\n}\nfunction plucker(props, length) {\n var mapper = function (x) {\n var currentProp = x;\n for (var i = 0; i < length; i++) {\n var p = currentProp[props[i]];\n if (typeof p !== 'undefined') {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n };\n return mapper;\n}\n//# sourceMappingURL=pluck.js.map\n","import {\r\n fromEvent,\r\n from,\r\n of,\r\n merge,\r\n combineLatest,\r\n} from 'rxjs';\r\n\r\nimport {\r\n switchMap,\r\n pluck,\r\n takeUntil,\r\n map,\r\n filter,\r\n} from 'rxjs/operators';\r\n\r\nimport Slider from './Slider';\r\nimport {\r\n createDiv,\r\n addToElement,\r\n addClassToList,\r\n removeClassFromList,\r\n hasClass,\r\n createSpan,\r\n} from '../helpers/DOMHelpers';\r\n\r\nconst moduleSelector = '[data-module=\"SliderPagination\"]';\r\nconst direction: string = document.dir;\r\n\r\nexport default class SliderPagination extends Slider {\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n window.requestAnimationFrame(() => {\r\n setTimeout((function(){\r\n if(!element.dataset.moduleInitialized) {\r\n new SliderPagination(element);\r\n element.dataset.moduleInitialized = 'true';\r\n }\r\n }));\r\n });\r\n });\r\n }\r\n\r\n constructor(element: HTMLElement, options?: TinySliderSettings) {\r\n super(element, options);\r\n\r\n if (this.hasChildren()) {\r\n this.initSliderPagination();\r\n this.convertAnchorToSpan();\r\n \r\n }\r\n }\r\n\r\n protected hasChildren(): boolean {\r\n return this.element.children.length > 0;\r\n }\r\n\r\n private convertAnchorToSpan(): SliderPagination {\r\n const anchor = this.element.querySelectorAll(\".nx-how-to__description a\");\r\n anchor.forEach(anchor => {\r\n const span = createSpan(\"\");\r\n span.innerHTML = anchor.innerHTML;\r\n span.className = anchor.className;\r\n span.setAttribute(\"data-url\", anchor.getAttribute(\"href\"))\r\n span.classList.add('nx-how-to__description-link');\r\n anchor.parentNode.replaceChild(span, anchor);\r\n span.addEventListener(\"click\", () => window.location.replace(span.getAttribute(\"data-url\")))\r\n })\r\n return this;\r\n }\r\n\r\n\r\n private initSliderPagination() {\r\n this.initLiquid(20)\r\n .initInfitity(this.sliderInfo, 5);\r\n\r\n return this;\r\n }\r\n\r\n private resetPaginatorItem(width: number): SliderPagination {\r\n from(this.sliderInfo.navItems).pipe(\r\n map((navItm: HTMLElement) => navItm.querySelector('.tns-nav__liquid')),\r\n filter((liquidElm: HTMLElement) => liquidElm != null)\r\n ).subscribe(liquidElm => {\r\n requestAnimationFrame(() => {\r\n liquidElm.style.transition = 'all 0.5s';\r\n liquidElm.style.opacity = '0';\r\n liquidElm.style.width = (width + 'px');\r\n\r\n setTimeout(() => { liquidElm.remove(); }, 500);\r\n });\r\n });\r\n\r\n // Simple version with CSS\r\n // setTimeout(() => currentNav.className = '', 500);\r\n\r\n return this;\r\n\r\n }\r\n\r\n private drawPaginationItem(currentNav, isRight: boolean, width: number): SliderPagination {\r\n\r\n if (currentNav?.children.length == 0) {\r\n addToElement(currentNav, createDiv('tns-nav__liquid'));\r\n }\r\n\r\n let controller = currentNav?.firstElementChild;\r\n\r\n controller && requestAnimationFrame(() => {\r\n if (direction === 'rtl') {\r\n controller.style.left = isRight ? 'auto' : '0';\r\n controller.style.right = isRight ? '0' : 'auto';\r\n } else {\r\n controller.style.left = isRight ? '0' : 'auto';\r\n controller.style.right = isRight ? 'auto' : '0';\r\n }\r\n controller.style.width = (width + 'px');\r\n });\r\n\r\n // Simple version with CSS\r\n // addClasses(currentNav, 'tns-nav-worm', isRight ? 'tns-nav-worm--to-right' : 'tns-nav-worm--to-left');\r\n\r\n return this;\r\n\r\n }\r\n\r\n private initLiquid(TINY_WIDTH: number): SliderPagination {\r\n\r\n this.onDrag(TINY_WIDTH);\r\n this.slider.events.on('indexChanged', this.onIndexChanged(TINY_WIDTH));\r\n\r\n return this;\r\n }\r\n\r\n private onDrag(TINY_WIDTH: number): SliderPagination {\r\n const dragMove$ = fromEvent(this.slider.events, 'dragMove', { passive: true }).pipe(pluck('0', 'event', 'clientX')),\r\n dragEnd$ = fromEvent(this.slider.events, 'dragEnd', { passive: true }),\r\n\r\n mouseMove$ = fromEvent(document, 'mousemove').pipe(map(({ clientX }: MouseEvent) => clientX)),\r\n touchMove$ = fromEvent(document, 'touchmove', { passive: true }).pipe(map(({ changedTouches: { 0: { clientX } } }: TouchEvent) => clientX)),\r\n\r\n moveEvents$ = merge(mouseMove$, touchMove$).pipe(takeUntil(dragEnd$));\r\n\r\n\r\n dragMove$.pipe(\r\n switchMap((startX: number) => combineLatest(of(startX), moveEvents$)),\r\n ).subscribe(([startX, currentX]) => {\r\n const bodyWidth = document.body.offsetWidth,\r\n toRightEdge = bodyWidth - startX,\r\n isRight = currentX > startX,\r\n shift = isRight ? currentX - startX : startX - currentX,\r\n isDistanceToEdgeLess60px = isRight && toRightEdge < 60 || !isRight && startX < 60;\r\n\r\n if (isDistanceToEdgeLess60px) return;\r\n\r\n const maxShift = Math.max((isRight ? toRightEdge : startX) / 2, 60),\r\n percantage = Math.min(shift / maxShift, 1);\r\n\r\n this.drawPaginationItem(this.activeNav, !isRight, TINY_WIDTH * percantage);\r\n });\r\n\r\n dragEnd$.subscribe(() => this.resetPaginatorItem(TINY_WIDTH));\r\n\r\n return this;\r\n }\r\n\r\n private get activeNav(): HTMLElement {\r\n let navActive = Array.from(this.sliderInfo.navItems).filter(n => hasClass(n, 'tns-nav-active'));\r\n return navActive[0];\r\n }\r\n\r\n private onIndexChanged(TINY_WIDTH: number): (sliderInfo: TinySliderInfo) => void {\r\n let lastTargetIdx;\r\n\r\n return (): void => {\r\n let { index, indexCached, navItems, slideBy, slideCount } = this.sliderInfo,\r\n slidesAmount = Math.ceil(slideCount / slideBy),\r\n slideIdx = Math.ceil(index / slideBy),\r\n slideCacheIdx = Math.ceil(indexCached / slideBy),\r\n\r\n idx = slideIdx >= slidesAmount ? slideIdx - slidesAmount : slideIdx,\r\n cacheIdx = slideCacheIdx >= slidesAmount ? 0 : slideCacheIdx,\r\n visibleNavItems = Array.from(navItems).filter((e: HTMLButtonElement) => !e.style.display),\r\n nextNavItem = visibleNavItems[cacheIdx],\r\n toRight = idx > cacheIdx,\r\n\r\n slideMoreOneItem = Math.abs(idx - cacheIdx) > 1,\r\n isSameSlide = lastTargetIdx === idx,\r\n isNextIdxNegative = idx < 0;\r\n\r\n if (slideMoreOneItem || isSameSlide || isNextIdxNegative) return;\r\n\r\n this.drawPaginationItem(nextNavItem, toRight, 0)\r\n .resetPaginatorItem(TINY_WIDTH);\r\n\r\n lastTargetIdx = idx;\r\n }\r\n }\r\n\r\n private initInfitity(tnsInfo: TinySliderInfo, TINY_PAGES): SliderPagination { \r\n const navContainer = tnsInfo.navContainer;\r\n const navContainerParent = navContainer?.parentElement, // || tnsInfo.navContainerParent,\r\n wrapper = createDiv('tns-nav__wrapper');\r\n \r\n addToElement(navContainerParent, addToElement(wrapper, navContainer));\r\n\r\n this.slider.events.on('indexChanged', (tnsInfo: TinySliderInfo) => {\r\n this.adjustInfinytePagination(tnsInfo, TINY_PAGES);\r\n\r\n if (this.element.closest('.nx-stage') || this.options.autoplay)\r\n return;\r\n \r\n this.setFocusActiveTeaser(this.activeSlides, tnsInfo.index);\r\n });\r\n\r\n this.adjustInfinytePagination(tnsInfo, TINY_PAGES);\r\n\r\n return this;\r\n }\r\n\r\n setFocusActiveTeaser(activeSlides, index) {\r\n const first = activeSlides[0];\r\n\r\n if (first && first.querySelector('a')) {\r\n first.setAttribute(\"tabindex\", 0);\r\n first.querySelector('a').focus();\r\n }\r\n }\r\n\r\n private adjustInfinytePagination(\r\n {\r\n navContainer,\r\n navItems,\r\n index,\r\n slideBy,\r\n cloneCount = 0\r\n }: TinySliderInfo,\r\n navItemsToShow: number) {\r\n\r\n const navItemsVisible = Array.from(navItems).filter((e: any) => e.style.display !== 'none'),\r\n navItemsList = Array.from(navItemsVisible),\r\n navItemsLength = navItemsVisible.length,\r\n indexBySlide = Math.ceil((index - cloneCount) / slideBy),\r\n leftPosition = Math.ceil(navItemsToShow / 2),\r\n rightPosition = navItemsLength - leftPosition,\r\n\r\n isLeft = indexBySlide < leftPosition,\r\n isCenter = indexBySlide >= leftPosition && indexBySlide < rightPosition,\r\n isRight = indexBySlide >= rightPosition;\r\n let directionCorrection = '-'\r\n\r\n if (navItemsLength <= navItemsToShow) return;\r\n\r\n if (direction == 'rtl') { directionCorrection = '' }\r\n\r\n if (isLeft) {\r\n removeClassFromList(navItemsList, 'tns-nav-small');\r\n addClassToList([navItemsList[navItemsToShow - 1]], 'tns-nav-small');\r\n navContainer.style.transform = `translateX(${directionCorrection}${0}px)`;\r\n }\r\n\r\n if (isCenter) {\r\n removeClassFromList(navItemsList, 'tns-nav-small');\r\n addClassToList([navItemsList[indexBySlide - leftPosition + 1], navItemsList[indexBySlide + leftPosition - 1]], 'tns-nav-small');\r\n navContainer.style.transform = `translateX(${directionCorrection}${(indexBySlide - (leftPosition - 1)) * 15}px)`;\r\n }\r\n\r\n if (isRight) {\r\n removeClassFromList(navItemsList, 'tns-nav-small');\r\n addClassToList([navItemsList[navItemsLength - navItemsToShow]], 'tns-nav-small');\r\n navContainer.style.transform = `translateX(${directionCorrection}${(rightPosition - (leftPosition - 1)) * 15}px)`;\r\n }\r\n }\r\n}\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element.parentNode, nodeOrigin: element.parentNode.cloneNode(true) }));\r\n\r\n SliderPagination.setup(moduleSelector);\r\n\r\n module.hot.accept(() => {\r\n SliderPagination.setup(moduleSelector);\r\n });\r\n module.hot.dispose(() => {\r\n nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n });\r\n} else {\r\n SliderPagination.setup(moduleSelector);\r\n}\r\n\r\n","/// \r\n\r\nimport SliderPagination from '../SliderPagination';\r\nimport {\r\n copyObject,\r\n} from '../../helpers/helperFunctions';\r\n\r\nconst moduleSelector = '[data-module=\"StoryStage\"]';\r\nconst defaultSliderOptions: LazyTinySliderSettings = {\r\n autoplay: false,\r\n autoplayButtonOutput: false,\r\n controls: false,\r\n container: '.nx-story-stage__slider',\r\n mouseDrag: true,\r\n speed: 0,\r\n swipeAngle: 36,\r\n slideBy: 'page',\r\n loadNext: true,\r\n loadPrev: true,\r\n items: 1,\r\n preventScrollOnTouch: 'auto',\r\n};\r\n\r\nexport default class StoryStage extends SliderPagination {\r\n stageLength: number;\r\n timerWrapper: HTMLElement;\r\n storyStage: HTMLElement;\r\n timerItem = 'nx-story-stage__timer-list__item';\r\n defaultDuration;\r\n timerDuruction;\r\n sensitiveArea = 33;\r\n isRtl: boolean;\r\n\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new StoryStage(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(element: HTMLElement, options: TinySliderSettings = copyObject(defaultSliderOptions)) {\r\n super(element, options);\r\n this.stageLength = this.slider.slideCount\r\n this.isRtl = (document.dir != undefined) ? document.dir === \"rtl\" : document.getElementsByTagName(\"html\")[0].getAttribute(\"dir\") == \"rtl\";\r\n this.storyStage = this.element.closest('.nx-story-stage') as HTMLElement;\r\n this.timerWrapper = this.storyStage.querySelector('.nx-story-stage__timer-list');\r\n this.defaultDuration = this.element.getAttribute('data-default-duration') || 3000;\r\n\r\n if (this.hasChildren) {\r\n this.timerDuruction = this.defaultDuration;\r\n\r\n this.buildTimer()\r\n .initTimer()\r\n .onAnimationEndHandler()\r\n .stopTimerOnTouchedHandler()\r\n .initSensitiveArea()\r\n .initHandlingLinks();\r\n\r\n this.slider.events.on('indexChanged', () => this.onStoryIndexChanged());\r\n }\r\n }\r\n\r\n private initHandlingLinks(): StoryStage {\r\n const storyStageLinks = Array.from(this.element.querySelectorAll('.nx-story-stage__link'));\r\n\r\n storyStageLinks.forEach((link, i) => {\r\n link.addEventListener(\"click\", (event: Event) => {\r\n const target = event.currentTarget,\r\n href = target.dataset.href;\r\n location.href = href;\r\n });\r\n });\r\n\r\n return this\r\n }\r\n\r\n private stopTimerOnTouchedHandler(): StoryStage {\r\n Array.from(this.element.querySelectorAll('.nx-slider__item')).forEach((element: HTMLElement) => {\r\n element.addEventListener('touchstart', () => this.toggleTimer(true), { passive: true });\r\n element.addEventListener('touchend', () => this.toggleTimer(), { passive: true });\r\n element.addEventListener('mousedown', () => this.toggleTimer(true));\r\n element.addEventListener('mouseup', () => this.toggleTimer());\r\n });\r\n\r\n return this\r\n }\r\n\r\n private initTimer() {\r\n this.onStoryIndexChanged();\r\n\r\n return this;\r\n }\r\n\r\n private onStoryIndexChanged() {\r\n const { navCurrentIndex, slideItems } = this.sliderInfo;\r\n const activeSlide = slideItems[navCurrentIndex];\r\n const video: HTMLVideoElement = activeSlide.querySelector('video') as HTMLVideoElement;\r\n const currentSlideDuration = activeSlide.getAttribute('data-duration');\r\n\r\n if (video && parseInt(currentSlideDuration) == 0) {\r\n this.videoStory(video, navCurrentIndex);\r\n } else {\r\n\r\n this.timerDuruction = (parseInt(currentSlideDuration) > 0) ? currentSlideDuration : this.defaultDuration;\r\n this.startTimer();\r\n }\r\n }\r\n\r\n private videoStory(video, index) {\r\n if (video.duration) {\r\n this.timerDuruction = video.duration * 1000;\r\n this.startTimer();\r\n } else {\r\n video.onloadeddata = () => {\r\n this.timerDuruction = video.duration * 1000;\r\n\r\n this.storyStage.querySelector(`.${this.timerItem}[data-timer-index=\"${index}\"] > span`)\r\n .setAttribute(\"style\", `animation-duration:${this.timerDuruction}ms; -webkit-animation-duration: ${this.timerDuruction}ms;`);\r\n\r\n this.startTimer();\r\n };\r\n };\r\n }\r\n\r\n private onAnimationEndHandler(): StoryStage {\r\n Array.from(this.storyStage.querySelectorAll('.nx-story-stage__timer--loader')).forEach((element: HTMLElement) => {\r\n element.addEventListener('animationend', () => this.slider.goTo('next'))\r\n });\r\n\r\n return this\r\n }\r\n\r\n private toggleTimer(stopTimer: boolean = false) {\r\n const { navCurrentIndex, slideItems, slideCount } = this.sliderInfo;\r\n if (slideCount == 1) return;\r\n \r\n const activeTimer: HTMLElement = this.storyStage.querySelector(`.${this.timerItem}[data-timer-index=\"${navCurrentIndex}\"] > span`) as HTMLElement;\r\n let activeSlide = slideItems[navCurrentIndex];\r\n const video: HTMLVideoElement = activeSlide.querySelector('video') as HTMLVideoElement;\r\n\r\n if (stopTimer) {\r\n activeTimer.setAttribute(\"style\", `${activeTimer.getAttribute('style')} animation-play-state: paused;`);\r\n if (video) video.pause();\r\n\r\n } else {\r\n activeTimer.setAttribute(\"style\", `animation-duration:${this.timerDuruction}ms; -webkit-animation-duration: ${this.timerDuruction}ms;`);\r\n if (video) video.play();\r\n }\r\n }\r\n\r\n private startTimer() {\r\n let { navCurrentIndex, slideCount } = this.sliderInfo;\r\n if (slideCount == 1) return;\r\n\r\n this.updateTimer(navCurrentIndex, slideCount);\r\n\r\n if (navCurrentIndex == slideCount) {\r\n navCurrentIndex = 0;\r\n }\r\n\r\n this.storyStage.querySelector(`.${this.timerItem}[data-timer-index=\"${navCurrentIndex}\"]`)\r\n .classList.add(`${this.timerItem}--active`);\r\n\r\n return this\r\n }\r\n\r\n private buildTimer() {\r\n const { slideCount, slideItems } = this.sliderInfo;\r\n let items = \"\";\r\n\r\n if (slideCount === 1) {\r\n this.timerWrapper.style.display = 'none';\r\n return this;\r\n }\r\n\r\n\r\n for (let i = 0; i < slideCount; i++) {\r\n items +=`
\r\n \r\n \r\n
`;\r\n }\r\n\r\n this.timerWrapper.innerHTML = items\r\n return this\r\n }\r\n\r\n private updateTimer(index, slideCount) {\r\n for (let i = 0; i < index; i++) {\r\n this.storyStage.querySelector(`.${this.timerItem}[data-timer-index=\"${i}\"]`)\r\n .classList.add(`${this.timerItem}--full`);\r\n }\r\n\r\n for (let i = slideCount - 1; i >= index; i--) {\r\n this.storyStage.querySelector(`.${this.timerItem}[data-timer-index=\"${i}\"]`).classList.remove(`${this.timerItem}--full`);\r\n this.storyStage.querySelector(`.${this.timerItem}[data-timer-index=\"${i}\"]`).classList.remove(`${this.timerItem}--active`);\r\n\r\n }\r\n }\r\n\r\n private getDuration(slide) {\r\n\r\n const slideItem: HTMLElement = slide as HTMLElement;\r\n const sliderSuration = slideItem.getAttribute('data-duration');\r\n\r\n return (parseInt(sliderSuration) != 0) ? sliderSuration : this.defaultDuration;\r\n }\r\n\r\n private initSensitiveArea(): StoryStage {\r\n this.element.addEventListener('click', (e) => this.onSliderClick(e));\r\n this.element.addEventListener('mousemove', (e) => this.onMouseMove(e));\r\n\r\n return this;\r\n }\r\n\r\n private onSliderClick(e) {\r\n const target = e.target as HTMLElement;\r\n const sensitiveArea = this.onSensitiveArea(e);\r\n\r\n if (target.closest('a') || target.nodeName == \"A\")\r\n return false;\r\n\r\n if (sensitiveArea)\r\n this.slider.goTo(sensitiveArea);\r\n }\r\n\r\n private onMouseMove(e) {\r\n if (this.onSensitiveArea(e)) {\r\n this.element.classList.add('nx-story-stage--cursor-pointer')\r\n } else {\r\n this.element.classList.remove('nx-story-stage--cursor-pointer')\r\n }\r\n }\r\n\r\n private onSensitiveArea(e) {\r\n const clientX = e.clientX;\r\n const slideLeft = window.innerWidth * this.sensitiveArea / 100;\r\n const slideToRigt = window.innerWidth * (100 - this.sensitiveArea) / 100;\r\n\r\n if (clientX <= slideLeft) {\r\n return this.isRtl ? 'next' : 'prev';\r\n } else if (clientX >= slideToRigt) {\r\n return this.isRtl ? 'prev' : 'next';\r\n }\r\n\r\n return null\r\n }\r\n\r\n}\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n StoryStage.setup(moduleSelector);\r\n\r\n module.hot.accept(() => {\r\n StoryStage.setup(moduleSelector);\r\n });\r\n module.hot.dispose(() => {\r\n nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n });\r\n} else {\r\n StoryStage.setup(moduleSelector);\r\n}\r\n","import StoryStage from './StoryStage';\r\nexport default StoryStage;"],"names":["pluck","properties","_i","arguments","length","Error","source","props","mapper","x","currentProp","i","p","plucker","moduleSelector","direction","document","dir","SliderPagination","setup","selector","Array","from","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","element","window","requestAnimationFrame","setTimeout","constructor","options","super","this","hasChildren","initSliderPagination","convertAnchorToSpan","children","anchor","span","innerHTML","className","setAttribute","getAttribute","classList","add","parentNode","replaceChild","addEventListener","location","replace","initLiquid","initInfitity","sliderInfo","resetPaginatorItem","width","navItems","pipe","navItm","querySelector","liquidElm","subscribe","style","transition","opacity","remove","drawPaginationItem","currentNav","isRight","controller","firstElementChild","left","right","TINY_WIDTH","onDrag","slider","events","on","onIndexChanged","dragMove$","passive","dragEnd$","mouseMove$","clientX","touchMove$","changedTouches","moveEvents$","startX","of","currentX","toRightEdge","body","offsetWidth","shift","maxShift","Math","max","percantage","min","activeNav","n","lastTargetIdx","index","indexCached","slideBy","slideCount","slidesAmount","ceil","slideIdx","slideCacheIdx","idx","cacheIdx","nextNavItem","e","display","toRight","abs","tnsInfo","TINY_PAGES","navContainer","navContainerParent","parentElement","wrapper","adjustInfinytePagination","closest","autoplay","setFocusActiveTeaser","activeSlides","first","focus","cloneCount","navItemsToShow","navItemsVisible","navItemsList","navItemsLength","indexBySlide","leftPosition","rightPosition","isCenter","directionCorrection","transform","defaultSliderOptions","autoplayButtonOutput","controls","container","mouseDrag","speed","swipeAngle","loadNext","loadPrev","items","preventScrollOnTouch","StoryStage","timerItem","sensitiveArea","stageLength","isRtl","undefined","getElementsByTagName","storyStage","timerWrapper","defaultDuration","timerDuruction","buildTimer","initTimer","onAnimationEndHandler","stopTimerOnTouchedHandler","initSensitiveArea","initHandlingLinks","onStoryIndexChanged","link","event","href","currentTarget","toggleTimer","navCurrentIndex","slideItems","activeSlide","video","currentSlideDuration","parseInt","videoStory","startTimer","duration","onloadeddata","goTo","stopTimer","activeTimer","pause","play","updateTimer","getDuration","slide","sliderSuration","onSliderClick","onMouseMove","target","onSensitiveArea","nodeName","slideLeft","innerWidth","slideToRigt"],"sourceRoot":""}