{"version":3,"file":"740.d8461181a0fc39d320dd.js","mappings":"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","sources":["webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/raf.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/caf.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/extend.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/checkStorageValue.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/setLocalStorage.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/getBody.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/docElement.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/setFakeBody.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/resetFakeBody.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/addCSSRule.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/getCssRulesLength.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/forEach.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/classListSupport.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/hasClass.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/addClass.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/removeClass.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/hasAttr.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/getAttr.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/isNodeList.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/setAttrs.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/removeAttrs.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/arrayFromNodeList.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/hideElement.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/showElement.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/isVisible.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/whichProperty.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/getEndProperty.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/passiveOption.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/addEvents.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/removeEvents.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/events.js","webpack://drausbuettel/./node_modules/tiny-slider/src/tiny-slider.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/calc.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/percentageLayout.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/mediaquerySupport.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/has3DTransforms.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/getSlideId.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/createStyleSheet.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/jsTransform.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/removeCSSRule.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/toDegree.js","webpack://drausbuettel/./node_modules/tiny-slider/src/helpers/getTouchDirection.js"],"sourcesContent":["var win = window;\n\nexport var raf = win.requestAnimationFrame\n || win.webkitRequestAnimationFrame\n || win.mozRequestAnimationFrame\n || win.msRequestAnimationFrame\n || function(cb) { return setTimeout(cb, 16); };\n","var win = window;\n\nexport var caf = win.cancelAnimationFrame\n || win.mozCancelAnimationFrame\n || function(id){ clearTimeout(id); };\n","export function extend() {\n var obj, name, copy,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length;\n\n for (; i < length; i++) {\n if ((obj = arguments[i]) !== null) {\n for (name in obj) {\n copy = obj[name];\n\n if (target === copy) {\n continue;\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n }\n return target;\n}","export function checkStorageValue (value) {\n return ['true', 'false'].indexOf(value) >= 0 ? JSON.parse(value) : value;\n}","export function setLocalStorage(storage, key, value, access) {\n if (access) {\n try { storage.setItem(key, value); } catch (e) {}\n }\n return value;\n}","export function getBody () {\n var doc = document,\n body = doc.body;\n\n if (!body) {\n body = doc.createElement('body');\n body.fake = true;\n }\n\n return body;\n}","export var docElement = document.documentElement;","import { docElement } from './docElement.js';\n\nexport function setFakeBody (body) {\n var docOverflow = '';\n if (body.fake) {\n docOverflow = docElement.style.overflow;\n //avoid crashing IE8, if background image is used\n body.style.background = '';\n //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\n body.style.overflow = docElement.style.overflow = 'hidden';\n docElement.appendChild(body);\n }\n\n return docOverflow;\n}","import { docElement } from './docElement.js';\n\nexport function resetFakeBody (body, docOverflow) {\n if (body.fake) {\n body.remove();\n docElement.style.overflow = docOverflow;\n // Trigger layout so kinetic scrolling isn't disabled in iOS6+\n // eslint-disable-next-line\n docElement.offsetHeight;\n }\n}","// cross browsers addRule method\nimport { raf } from './raf.js';\nexport function addCSSRule(sheet, selector, rules, index) {\n // return raf(function() {\n 'insertRule' in sheet ?\n sheet.insertRule(selector + '{' + rules + '}', index) :\n sheet.addRule(selector, rules, index);\n // });\n}","export function getCssRulesLength(sheet) {\n var rule = ('insertRule' in sheet) ? sheet.cssRules : sheet.rules;\n return rule.length;\n}","// https://toddmotto.com/ditch-the-array-foreach-call-nodelist-hack/\nexport function forEach (arr, callback, scope) {\n for (var i = 0, l = arr.length; i < l; i++) {\n callback.call(scope, arr[i], i);\n }\n}","export var classListSupport = 'classList' in document.createElement('_');","import { classListSupport } from './classListSupport.js';\n\nvar hasClass = classListSupport ?\n function (el, str) { return el.classList.contains(str); } :\n function (el, str) { return el.className.indexOf(str) >= 0; };\n\nexport { classListSupport, hasClass };","import { classListSupport, hasClass } from './hasClass.js';\nvar addClass = classListSupport ?\n function (el, str) {\n if (!hasClass(el, str)) { el.classList.add(str); }\n } :\n function (el, str) {\n if (!hasClass(el, str)) { el.className += ' ' + str; }\n };\n\nexport { addClass };","import { classListSupport, hasClass } from './hasClass.js';\nvar removeClass = classListSupport ?\n function (el, str) {\n if (hasClass(el, str)) { el.classList.remove(str); }\n } :\n function (el, str) {\n if (hasClass(el, str)) { el.className = el.className.replace(str, ''); }\n };\n\nexport { removeClass };","export function hasAttr(el, attr) {\n return el.hasAttribute(attr);\n}","export function getAttr(el, attr) {\n return el.getAttribute(attr);\n}","export function isNodeList(el) {\n // Only NodeList has the \"item()\" function\n return typeof el.item !== \"undefined\"; \n}","import { isNodeList } from \"./isNodeList.js\";\n\nexport function setAttrs(els, attrs) {\n els = (isNodeList(els) || els instanceof Array) ? els : [els];\n if (Object.prototype.toString.call(attrs) !== '[object Object]') { return; }\n\n for (var i = els.length; i--;) {\n for(var key in attrs) {\n els[i].setAttribute(key, attrs[key]);\n }\n }\n}","import { isNodeList } from \"./isNodeList.js\";\n\nexport function removeAttrs(els, attrs) {\n els = (isNodeList(els) || els instanceof Array) ? els : [els];\n attrs = (attrs instanceof Array) ? attrs : [attrs];\n\n var attrLength = attrs.length;\n for (var i = els.length; i--;) {\n for (var j = attrLength; j--;) {\n els[i].removeAttribute(attrs[j]);\n }\n }\n}","export function arrayFromNodeList (nl) {\n var arr = [];\n for (var i = 0, l = nl.length; i < l; i++) {\n arr.push(nl[i]);\n }\n return arr;\n}","export function hideElement(el, forceHide) {\n if (el.style.display !== 'none') { el.style.display = 'none'; }\n}","export function showElement(el, forceHide) {\n if (el.style.display === 'none') { el.style.display = ''; }\n}","export function isVisible(el) {\n return window.getComputedStyle(el).display !== 'none';\n}","export function whichProperty(props){\n if (typeof props === 'string') {\n var arr = [props],\n Props = props.charAt(0).toUpperCase() + props.substr(1),\n prefixes = ['Webkit', 'Moz', 'ms', 'O'];\n \n prefixes.forEach(function(prefix) {\n if (prefix !== 'ms' || props === 'transform') {\n arr.push(prefix + Props);\n }\n });\n\n props = arr;\n }\n\n var el = document.createElement('fakeelement'),\n len = props.length;\n for(var i = 0; i < props.length; i++){\n var prop = props[i];\n if( el.style[prop] !== undefined ){ return prop; }\n }\n\n return false; // explicit for ie9-\n}\n","// get transitionend, animationend based on transitionDuration\n// @propin: string\n// @propOut: string, first-letter uppercase\n// Usage: getEndProperty('WebkitTransitionDuration', 'Transition') => webkitTransitionEnd\nexport function getEndProperty(propIn, propOut) {\n var endProp = false;\n if (/^Webkit/.test(propIn)) {\n endProp = 'webkit' + propOut + 'End';\n } else if (/^O/.test(propIn)) {\n endProp = 'o' + propOut + 'End';\n } else if (propIn) {\n endProp = propOut.toLowerCase() + 'end';\n }\n return endProp;\n}","// Test via a getter in the options object to see if the passive property is accessed\nvar supportsPassive = false;\ntry {\n var opts = Object.defineProperty({}, 'passive', {\n get: function() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n} catch (e) {}\nexport var passiveOption = supportsPassive ? { passive: true } : false;","import { passiveOption } from './passiveOption.js';\n\nexport function addEvents(el, obj, preventScrolling) {\n for (var prop in obj) {\n var option = ['touchstart', 'touchmove'].indexOf(prop) >= 0 && !preventScrolling ? passiveOption : false;\n el.addEventListener(prop, obj[prop], option);\n }\n}","import { passiveOption } from './passiveOption.js';\n\nexport function removeEvents(el, obj) {\n for (var prop in obj) {\n var option = ['touchstart', 'touchmove'].indexOf(prop) >= 0 ? passiveOption : false;\n el.removeEventListener(prop, obj[prop], option);\n }\n}","export function Events() {\n return {\n topics: {},\n on: function (eventName, fn) {\n this.topics[eventName] = this.topics[eventName] || [];\n this.topics[eventName].push(fn);\n },\n off: function(eventName, fn) {\n if (this.topics[eventName]) {\n for (var i = 0; i < this.topics[eventName].length; i++) {\n if (this.topics[eventName][i] === fn) {\n this.topics[eventName].splice(i, 1);\n break;\n }\n }\n }\n },\n emit: function (eventName, data) {\n data.type = eventName;\n if (this.topics[eventName]) {\n this.topics[eventName].forEach(function(fn) {\n fn(data, eventName);\n });\n }\n }\n };\n};","// Object.keys\nif (!Object.keys) {\n Object.keys = function(object) {\n var keys = [];\n for (var name in object) {\n if (Object.prototype.hasOwnProperty.call(object, name)) {\n keys.push(name);\n }\n }\n return keys;\n };\n}\n\n// ChildNode.remove\nif(!(\"remove\" in Element.prototype)){\n Element.prototype.remove = function(){\n if(this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n}\n\nimport { raf } from './helpers/raf.js';\nimport { caf } from './helpers/caf.js';\nimport { extend } from './helpers/extend.js';\nimport { checkStorageValue } from './helpers/checkStorageValue.js';\nimport { setLocalStorage } from './helpers/setLocalStorage.js';\nimport { getSlideId } from './helpers/getSlideId.js';\nimport { calc } from './helpers/calc.js';\nimport { percentageLayout } from './helpers/percentageLayout.js';\nimport { mediaquerySupport } from './helpers/mediaquerySupport.js';\nimport { createStyleSheet } from './helpers/createStyleSheet.js';\nimport { addCSSRule } from './helpers/addCSSRule.js';\nimport { removeCSSRule } from './helpers/removeCSSRule.js';\nimport { getCssRulesLength } from './helpers/getCssRulesLength.js';\nimport { toDegree } from './helpers/toDegree.js';\nimport { getTouchDirection } from './helpers/getTouchDirection.js';\nimport { forEach } from './helpers/forEach.js';\nimport { hasClass } from './helpers/hasClass.js';\nimport { addClass } from './helpers/addClass.js';\nimport { removeClass } from './helpers/removeClass.js';\nimport { hasAttr } from './helpers/hasAttr.js';\nimport { getAttr } from './helpers/getAttr.js';\nimport { setAttrs } from './helpers/setAttrs.js';\nimport { removeAttrs } from './helpers/removeAttrs.js';\nimport { arrayFromNodeList } from './helpers/arrayFromNodeList.js';\nimport { hideElement } from './helpers/hideElement.js';\nimport { showElement } from './helpers/showElement.js';\nimport { isVisible } from './helpers/isVisible.js';\nimport { whichProperty } from './helpers/whichProperty.js';\nimport { has3DTransforms } from './helpers/has3DTransforms.js';\nimport { getEndProperty } from './helpers/getEndProperty.js';\nimport { addEvents } from './helpers/addEvents.js';\nimport { removeEvents } from './helpers/removeEvents.js';\nimport { Events } from './helpers/events.js';\nimport { jsTransform } from './helpers/jsTransform.js';\n\nexport var tns = function(options) {\n options = extend({\n container: '.slider',\n mode: 'carousel',\n axis: 'horizontal',\n items: 1,\n gutter: 0,\n edgePadding: 0,\n fixedWidth: false,\n autoWidth: false,\n viewportMax: false,\n slideBy: 1,\n center: false,\n controls: true,\n controlsPosition: 'top',\n controlsText: ['prev', 'next'],\n controlsContainer: false,\n prevButton: false,\n nextButton: false,\n nav: true,\n navPosition: 'top',\n navContainer: false,\n navAsThumbnails: false,\n arrowKeys: false,\n speed: 300,\n autoplay: false,\n autoplayPosition: 'top',\n autoplayTimeout: 5000,\n autoplayDirection: 'forward',\n autoplayText: ['start', 'stop'],\n autoplayHoverPause: false,\n autoplayButton: false,\n autoplayButtonOutput: true,\n autoplayResetOnVisibility: true,\n animateIn: 'tns-fadeIn',\n animateOut: 'tns-fadeOut',\n animateNormal: 'tns-normal',\n animateDelay: false,\n loop: true,\n rewind: false,\n autoHeight: false,\n responsive: false,\n lazyload: false,\n lazyloadSelector: '.tns-lazy-img',\n touch: true,\n mouseDrag: false,\n swipeAngle: 15,\n nested: false,\n preventActionWhenRunning: false,\n preventScrollOnTouch: false,\n freezable: true,\n onInit: false,\n useLocalStorage: true,\n nonce: false\n }, options || {});\n\n var doc = document,\n win = window,\n KEYS = {\n ENTER: 13,\n SPACE: 32,\n LEFT: 37,\n RIGHT: 39\n },\n tnsStorage = {},\n localStorageAccess = options.useLocalStorage;\n\n if (localStorageAccess) {\n // check browser version and local storage access\n var browserInfo = navigator.userAgent;\n var uid = new Date;\n\n try {\n tnsStorage = win.localStorage;\n if (tnsStorage) {\n tnsStorage.setItem(uid, uid);\n localStorageAccess = tnsStorage.getItem(uid) == uid;\n tnsStorage.removeItem(uid);\n } else {\n localStorageAccess = false;\n }\n if (!localStorageAccess) { tnsStorage = {}; }\n } catch(e) {\n localStorageAccess = false;\n }\n\n if (localStorageAccess) {\n // remove storage when browser version changes\n if (tnsStorage['tnsApp'] && tnsStorage['tnsApp'] !== browserInfo) {\n ['tC', 'tPL', 'tMQ', 'tTf', 't3D', 'tTDu', 'tTDe', 'tADu', 'tADe', 'tTE', 'tAE'].forEach(function(item) { tnsStorage.removeItem(item); });\n }\n // update browserInfo\n localStorage['tnsApp'] = browserInfo;\n }\n }\n\n var CALC = tnsStorage['tC'] ? checkStorageValue(tnsStorage['tC']) : setLocalStorage(tnsStorage, 'tC', calc(), localStorageAccess),\n PERCENTAGELAYOUT = tnsStorage['tPL'] ? checkStorageValue(tnsStorage['tPL']) : setLocalStorage(tnsStorage, 'tPL', percentageLayout(), localStorageAccess),\n CSSMQ = tnsStorage['tMQ'] ? checkStorageValue(tnsStorage['tMQ']) : setLocalStorage(tnsStorage, 'tMQ', mediaquerySupport(), localStorageAccess),\n TRANSFORM = tnsStorage['tTf'] ? checkStorageValue(tnsStorage['tTf']) : setLocalStorage(tnsStorage, 'tTf', whichProperty('transform'), localStorageAccess),\n HAS3DTRANSFORMS = tnsStorage['t3D'] ? checkStorageValue(tnsStorage['t3D']) : setLocalStorage(tnsStorage, 't3D', has3DTransforms(TRANSFORM), localStorageAccess),\n TRANSITIONDURATION = tnsStorage['tTDu'] ? checkStorageValue(tnsStorage['tTDu']) : setLocalStorage(tnsStorage, 'tTDu', whichProperty('transitionDuration'), localStorageAccess),\n TRANSITIONDELAY = tnsStorage['tTDe'] ? checkStorageValue(tnsStorage['tTDe']) : setLocalStorage(tnsStorage, 'tTDe', whichProperty('transitionDelay'), localStorageAccess),\n ANIMATIONDURATION = tnsStorage['tADu'] ? checkStorageValue(tnsStorage['tADu']) : setLocalStorage(tnsStorage, 'tADu', whichProperty('animationDuration'), localStorageAccess),\n ANIMATIONDELAY = tnsStorage['tADe'] ? checkStorageValue(tnsStorage['tADe']) : setLocalStorage(tnsStorage, 'tADe', whichProperty('animationDelay'), localStorageAccess),\n TRANSITIONEND = tnsStorage['tTE'] ? checkStorageValue(tnsStorage['tTE']) : setLocalStorage(tnsStorage, 'tTE', getEndProperty(TRANSITIONDURATION, 'Transition'), localStorageAccess),\n ANIMATIONEND = tnsStorage['tAE'] ? checkStorageValue(tnsStorage['tAE']) : setLocalStorage(tnsStorage, 'tAE', getEndProperty(ANIMATIONDURATION, 'Animation'), localStorageAccess);\n\n // get element nodes from selectors\n var supportConsoleWarn = win.console && typeof win.console.warn === \"function\",\n tnsList = ['container', 'controlsContainer', 'prevButton', 'nextButton', 'navContainer', 'autoplayButton'],\n optionsElements = {};\n\n tnsList.forEach(function(item) {\n if (typeof options[item] === 'string') {\n var str = options[item],\n el = doc.querySelector(str);\n optionsElements[item] = str;\n\n if (el && el.nodeName) {\n options[item] = el;\n } else {\n if (supportConsoleWarn) { console.warn('Can\\'t find', options[item]); }\n return;\n }\n }\n });\n\n // make sure at least 1 slide\n if (options.container.children.length < 1) {\n if (supportConsoleWarn) { console.warn('No slides found in', options.container); }\n return;\n }\n\n // update options\n var responsive = options.responsive,\n nested = options.nested,\n carousel = options.mode === 'carousel' ? true : false;\n\n if (responsive) {\n // apply responsive[0] to options and remove it\n if (0 in responsive) {\n options = extend(options, responsive[0]);\n delete responsive[0];\n }\n\n var responsiveTem = {};\n for (var key in responsive) {\n var val = responsive[key];\n // update responsive\n // from: 300: 2\n // to:\n // 300: {\n // items: 2\n // }\n val = typeof val === 'number' ? {items: val} : val;\n responsiveTem[key] = val;\n }\n responsive = responsiveTem;\n responsiveTem = null;\n }\n\n // update options\n function updateOptions (obj) {\n for (var key in obj) {\n if (!carousel) {\n if (key === 'slideBy') { obj[key] = 'page'; }\n if (key === 'edgePadding') { obj[key] = false; }\n if (key === 'autoHeight') { obj[key] = false; }\n }\n\n // update responsive options\n if (key === 'responsive') { updateOptions(obj[key]); }\n }\n }\n if (!carousel) { updateOptions(options); }\n\n\n // === define and set variables ===\n if (!carousel) {\n options.axis = 'horizontal';\n options.slideBy = 'page';\n options.edgePadding = false;\n\n var animateIn = options.animateIn,\n animateOut = options.animateOut,\n animateDelay = options.animateDelay,\n animateNormal = options.animateNormal;\n }\n\n var horizontal = options.axis === 'horizontal' ? true : false,\n outerWrapper = doc.createElement('div'),\n innerWrapper = doc.createElement('div'),\n middleWrapper,\n container = options.container,\n containerParent = container.parentNode,\n containerHTML = container.outerHTML,\n slideItems = container.children,\n slideCount = slideItems.length,\n breakpointZone,\n windowWidth = getWindowWidth(),\n isOn = false;\n if (responsive) { setBreakpointZone(); }\n if (carousel) { container.className += ' tns-vpfix'; }\n\n // fixedWidth: viewport > rightBoundary > indexMax\n var autoWidth = options.autoWidth,\n fixedWidth = getOption('fixedWidth'),\n edgePadding = getOption('edgePadding'),\n gutter = getOption('gutter'),\n viewport = getViewportWidth(),\n center = getOption('center'),\n items = !autoWidth ? Math.floor(getOption('items')) : 1,\n slideBy = getOption('slideBy'),\n viewportMax = options.viewportMax || options.fixedWidthViewportWidth,\n arrowKeys = getOption('arrowKeys'),\n speed = getOption('speed'),\n rewind = options.rewind,\n loop = rewind ? false : options.loop,\n autoHeight = getOption('autoHeight'),\n controls = getOption('controls'),\n controlsText = getOption('controlsText'),\n nav = getOption('nav'),\n touch = getOption('touch'),\n mouseDrag = getOption('mouseDrag'),\n autoplay = getOption('autoplay'),\n autoplayTimeout = getOption('autoplayTimeout'),\n autoplayText = getOption('autoplayText'),\n autoplayHoverPause = getOption('autoplayHoverPause'),\n autoplayResetOnVisibility = getOption('autoplayResetOnVisibility'),\n sheet = createStyleSheet(null, getOption('nonce')),\n lazyload = options.lazyload,\n lazyloadSelector = options.lazyloadSelector,\n slidePositions, // collection of slide positions\n slideItemsOut = [],\n cloneCount = loop ? getCloneCountForLoop() : 0,\n slideCountNew = !carousel ? slideCount + cloneCount : slideCount + cloneCount * 2,\n hasRightDeadZone = (fixedWidth || autoWidth) && !loop ? true : false,\n rightBoundary = fixedWidth ? getRightBoundary() : null,\n updateIndexBeforeTransform = (!carousel || !loop) ? true : false,\n // transform\n transformAttr = horizontal ? 'left' : 'top',\n transformPrefix = '',\n transformPostfix = '',\n // index\n getIndexMax = (function () {\n if (fixedWidth) {\n return function() { return center && !loop ? slideCount - 1 : Math.ceil(- rightBoundary / (fixedWidth + gutter)); };\n } else if (autoWidth) {\n return function() {\n for (var i = 0; i < slideCountNew; i++) {\n if (slidePositions[i] >= - rightBoundary) { return i; }\n }\n };\n } else {\n return function() {\n if (center && carousel && !loop) {\n return slideCount - 1;\n } else {\n return loop || carousel ? Math.max(0, slideCountNew - Math.ceil(items)) : slideCountNew - 1;\n }\n };\n }\n })(),\n index = getStartIndex(getOption('startIndex')),\n indexCached = index,\n displayIndex = getCurrentSlide(),\n indexMin = 0,\n indexMax = !autoWidth ? getIndexMax() : null,\n // resize\n resizeTimer,\n preventActionWhenRunning = options.preventActionWhenRunning,\n swipeAngle = options.swipeAngle,\n moveDirectionExpected = swipeAngle ? '?' : true,\n running = false,\n onInit = options.onInit,\n events = new Events(),\n // id, class\n newContainerClasses = ' tns-slider tns-' + options.mode,\n slideId = container.id || getSlideId(),\n disable = getOption('disable'),\n disabled = false,\n freezable = options.freezable,\n freeze = freezable && !autoWidth ? getFreeze() : false,\n frozen = false,\n controlsEvents = {\n 'click': onControlsClick,\n 'keydown': onControlsKeydown\n },\n navEvents = {\n 'click': onNavClick,\n 'keydown': onNavKeydown\n },\n hoverEvents = {\n 'mouseover': mouseoverPause,\n 'mouseout': mouseoutRestart\n },\n visibilityEvent = {'visibilitychange': onVisibilityChange},\n docmentKeydownEvent = {'keydown': onDocumentKeydown},\n touchEvents = {\n 'touchstart': onPanStart,\n 'touchmove': onPanMove,\n 'touchend': onPanEnd,\n 'touchcancel': onPanEnd\n }, dragEvents = {\n 'mousedown': onPanStart,\n 'mousemove': onPanMove,\n 'mouseup': onPanEnd,\n 'mouseleave': onPanEnd\n },\n hasControls = hasOption('controls'),\n hasNav = hasOption('nav'),\n navAsThumbnails = autoWidth ? true : options.navAsThumbnails,\n hasAutoplay = hasOption('autoplay'),\n hasTouch = hasOption('touch'),\n hasMouseDrag = hasOption('mouseDrag'),\n slideActiveClass = 'tns-slide-active',\n slideClonedClass = 'tns-slide-cloned',\n imgCompleteClass = 'tns-complete',\n imgEvents = {\n 'load': onImgLoaded,\n 'error': onImgFailed\n },\n imgsComplete,\n liveregionCurrent,\n preventScroll = options.preventScrollOnTouch === 'force' ? true : false;\n\n // controls\n if (hasControls) {\n var controlsContainer = options.controlsContainer,\n controlsContainerHTML = options.controlsContainer ? options.controlsContainer.outerHTML : '',\n prevButton = options.prevButton,\n nextButton = options.nextButton,\n prevButtonHTML = options.prevButton ? options.prevButton.outerHTML : '',\n nextButtonHTML = options.nextButton ? options.nextButton.outerHTML : '',\n prevIsButton,\n nextIsButton;\n }\n\n // nav\n if (hasNav) {\n var navContainer = options.navContainer,\n navContainerHTML = options.navContainer ? options.navContainer.outerHTML : '',\n navItems,\n pages = autoWidth ? slideCount : getPages(),\n pagesCached = 0,\n navClicked = -1,\n navCurrentIndex = getCurrentNavIndex(),\n navCurrentIndexCached = navCurrentIndex,\n navActiveClass = 'tns-nav-active',\n navStr = 'Carousel Page ',\n navStrCurrent = ' (Current Slide)';\n }\n\n // autoplay\n if (hasAutoplay) {\n var autoplayDirection = options.autoplayDirection === 'forward' ? 1 : -1,\n autoplayButton = options.autoplayButton,\n autoplayButtonHTML = options.autoplayButton ? options.autoplayButton.outerHTML : '',\n autoplayHtmlStrings = ['', ' animation'],\n autoplayTimer,\n animating,\n autoplayHoverPaused,\n autoplayUserPaused,\n autoplayVisibilityPaused;\n }\n\n if (hasTouch || hasMouseDrag) {\n var initPosition = {},\n lastPosition = {},\n translateInit,\n disX,\n disY,\n panStart = false,\n rafIndex,\n getDist = horizontal ?\n function(a, b) { return a.x - b.x; } :\n function(a, b) { return a.y - b.y; };\n }\n\n // disable slider when slidecount <= items\n if (!autoWidth) { resetVariblesWhenDisable(disable || freeze); }\n\n if (TRANSFORM) {\n transformAttr = TRANSFORM;\n transformPrefix = 'translate';\n\n if (HAS3DTRANSFORMS) {\n transformPrefix += horizontal ? '3d(' : '3d(0px, ';\n transformPostfix = horizontal ? ', 0px, 0px)' : ', 0px)';\n } else {\n transformPrefix += horizontal ? 'X(' : 'Y(';\n transformPostfix = ')';\n }\n\n }\n\n if (carousel) { container.className = container.className.replace('tns-vpfix', ''); }\n initStructure();\n initSheet();\n initSliderTransform();\n\n // === COMMON FUNCTIONS === //\n function resetVariblesWhenDisable (condition) {\n if (condition) {\n controls = nav = touch = mouseDrag = arrowKeys = autoplay = autoplayHoverPause = autoplayResetOnVisibility = false;\n }\n }\n\n function getCurrentSlide () {\n var tem = carousel ? index - cloneCount : index;\n while (tem < 0) { tem += slideCount; }\n return tem%slideCount + 1;\n }\n\n function getStartIndex (ind) {\n ind = ind ? Math.max(0, Math.min(loop ? slideCount - 1 : slideCount - items, ind)) : 0;\n return carousel ? ind + cloneCount : ind;\n }\n\n function getAbsIndex (i) {\n if (i == null) { i = index; }\n\n if (carousel) { i -= cloneCount; }\n while (i < 0) { i += slideCount; }\n\n return Math.floor(i%slideCount);\n }\n\n function getCurrentNavIndex () {\n var absIndex = getAbsIndex(),\n result;\n\n result = navAsThumbnails ? absIndex :\n fixedWidth || autoWidth ? Math.ceil((absIndex + 1) * pages / slideCount - 1) :\n Math.floor(absIndex / items);\n\n // set active nav to the last one when reaches the right edge\n if (!loop && carousel && index === indexMax) { result = pages - 1; }\n\n return result;\n }\n\n function getItemsMax () {\n // fixedWidth or autoWidth while viewportMax is not available\n if (autoWidth || (fixedWidth && !viewportMax)) {\n return slideCount - 1;\n // most cases\n } else {\n var str = fixedWidth ? 'fixedWidth' : 'items',\n arr = [];\n\n if (fixedWidth || options[str] < slideCount) { arr.push(options[str]); }\n\n if (responsive) {\n for (var bp in responsive) {\n var tem = responsive[bp][str];\n if (tem && (fixedWidth || tem < slideCount)) { arr.push(tem); }\n }\n }\n\n if (!arr.length) { arr.push(0); }\n\n return Math.ceil(fixedWidth ? viewportMax / Math.min.apply(null, arr) : Math.max.apply(null, arr));\n }\n }\n\n function getCloneCountForLoop () {\n var itemsMax = getItemsMax(),\n result = carousel ? Math.ceil((itemsMax * 5 - slideCount)/2) : (itemsMax * 4 - slideCount);\n result = Math.max(itemsMax, result);\n\n return hasOption('edgePadding') ? result + 1 : result;\n }\n\n function getWindowWidth () {\n return win.innerWidth || doc.documentElement.clientWidth || doc.body.clientWidth;\n }\n\n function getInsertPosition (pos) {\n return pos === 'top' ? 'afterbegin' : 'beforeend';\n }\n\n function getClientWidth (el) {\n if (el == null) { return; }\n var div = doc.createElement('div'), rect, width;\n el.appendChild(div);\n rect = div.getBoundingClientRect();\n width = rect.right - rect.left;\n div.remove();\n return width || getClientWidth(el.parentNode);\n }\n\n function getViewportWidth () {\n var gap = edgePadding ? edgePadding * 2 - gutter : 0;\n return getClientWidth(containerParent) - gap;\n }\n\n function hasOption (item) {\n if (options[item]) {\n return true;\n } else {\n if (responsive) {\n for (var bp in responsive) {\n if (responsive[bp][item]) { return true; }\n }\n }\n return false;\n }\n }\n\n // get option:\n // fixed width: viewport, fixedWidth, gutter => items\n // others: window width => all variables\n // all: items => slideBy\n function getOption (item, ww) {\n if (ww == null) { ww = windowWidth; }\n\n if (item === 'items' && fixedWidth) {\n return Math.floor((viewport + gutter) / (fixedWidth + gutter)) || 1;\n\n } else {\n var result = options[item];\n\n if (responsive) {\n for (var bp in responsive) {\n // bp: convert string to number\n if (ww >= parseInt(bp)) {\n if (item in responsive[bp]) { result = responsive[bp][item]; }\n }\n }\n }\n\n if (item === 'slideBy' && result === 'page') { result = getOption('items'); }\n if (!carousel && (item === 'slideBy' || item === 'items')) { result = Math.floor(result); }\n\n return result;\n }\n }\n\n function getSlideMarginLeft (i) {\n return CALC ?\n CALC + '(' + i * 100 + '% / ' + slideCountNew + ')' :\n i * 100 / slideCountNew + '%';\n }\n\n function getInnerWrapperStyles (edgePaddingTem, gutterTem, fixedWidthTem, speedTem, autoHeightBP) {\n var str = '';\n\n if (edgePaddingTem !== undefined) {\n var gap = edgePaddingTem;\n if (gutterTem) { gap -= gutterTem; }\n str = horizontal ?\n 'margin: 0 ' + gap + 'px 0 ' + edgePaddingTem + 'px;' :\n 'margin: ' + edgePaddingTem + 'px 0 ' + gap + 'px 0;';\n } else if (gutterTem && !fixedWidthTem) {\n var gutterTemUnit = '-' + gutterTem + 'px',\n dir = horizontal ? gutterTemUnit + ' 0 0' : '0 ' + gutterTemUnit + ' 0';\n str = 'margin: 0 ' + dir + ';'\n }\n\n if (!carousel && autoHeightBP && TRANSITIONDURATION && speedTem) { str += getTransitionDurationStyle(speedTem); }\n return str;\n }\n\n function getContainerWidth (fixedWidthTem, gutterTem, itemsTem) {\n if (fixedWidthTem) {\n return (fixedWidthTem + gutterTem) * slideCountNew + 'px';\n } else {\n return CALC ?\n CALC + '(' + slideCountNew * 100 + '% / ' + itemsTem + ')' :\n slideCountNew * 100 / itemsTem + '%';\n }\n }\n\n function getSlideWidthStyle (fixedWidthTem, gutterTem, itemsTem) {\n var width;\n\n if (fixedWidthTem) {\n width = (fixedWidthTem + gutterTem) + 'px';\n } else {\n if (!carousel) { itemsTem = Math.floor(itemsTem); }\n var dividend = carousel ? slideCountNew : itemsTem;\n width = CALC ?\n CALC + '(100% / ' + dividend + ')' :\n 100 / dividend + '%';\n }\n\n width = 'width:' + width;\n\n // inner slider: overwrite outer slider styles\n return nested !== 'inner' ? width + ';' : width + ' !important;';\n }\n\n function getSlideGutterStyle (gutterTem) {\n var str = '';\n\n // gutter maybe interger || 0\n // so can't use 'if (gutter)'\n if (gutterTem !== false) {\n var prop = horizontal ? 'padding-' : 'margin-',\n dir = horizontal ? 'right' : 'bottom';\n str = prop + dir + ': ' + gutterTem + 'px;';\n }\n\n return str;\n }\n\n function getCSSPrefix (name, num) {\n var prefix = name.substring(0, name.length - num).toLowerCase();\n if (prefix) { prefix = '-' + prefix + '-'; }\n\n return prefix;\n }\n\n function getTransitionDurationStyle (speed) {\n return getCSSPrefix(TRANSITIONDURATION, 18) + 'transition-duration:' + speed / 1000 + 's;';\n }\n\n function getAnimationDurationStyle (speed) {\n return getCSSPrefix(ANIMATIONDURATION, 17) + 'animation-duration:' + speed / 1000 + 's;';\n }\n\n function initStructure () {\n var classOuter = 'tns-outer',\n classInner = 'tns-inner',\n hasGutter = hasOption('gutter');\n\n outerWrapper.className = classOuter;\n innerWrapper.className = classInner;\n outerWrapper.id = slideId + '-ow';\n innerWrapper.id = slideId + '-iw';\n\n // set container properties\n if (container.id === '') { container.id = slideId; }\n newContainerClasses += PERCENTAGELAYOUT || autoWidth ? ' tns-subpixel' : ' tns-no-subpixel';\n newContainerClasses += CALC ? ' tns-calc' : ' tns-no-calc';\n if (autoWidth) { newContainerClasses += ' tns-autowidth'; }\n newContainerClasses += ' tns-' + options.axis;\n container.className += newContainerClasses;\n\n // add constrain layer for carousel\n if (carousel) {\n middleWrapper = doc.createElement('div');\n middleWrapper.id = slideId + '-mw';\n middleWrapper.className = 'tns-ovh';\n\n outerWrapper.appendChild(middleWrapper);\n middleWrapper.appendChild(innerWrapper);\n } else {\n outerWrapper.appendChild(innerWrapper);\n }\n\n if (autoHeight) {\n var wp = middleWrapper ? middleWrapper : innerWrapper;\n wp.className += ' tns-ah';\n }\n\n containerParent.insertBefore(outerWrapper, container);\n innerWrapper.appendChild(container);\n\n // add id, class, aria attributes\n // before clone slides\n forEach(slideItems, function(item, i) {\n addClass(item, 'tns-item');\n if (!item.id) { item.id = slideId + '-item' + i; }\n if (!carousel && animateNormal) { addClass(item, animateNormal); }\n setAttrs(item, {\n 'aria-hidden': 'true',\n 'tabindex': '-1'\n });\n });\n\n // ## clone slides\n // carousel: n + slides + n\n // gallery: slides + n\n if (cloneCount) {\n var fragmentBefore = doc.createDocumentFragment(),\n fragmentAfter = doc.createDocumentFragment();\n\n for (var j = cloneCount; j--;) {\n var num = j%slideCount,\n cloneFirst = slideItems[num].cloneNode(true);\n addClass(cloneFirst, slideClonedClass);\n removeAttrs(cloneFirst, 'id');\n fragmentAfter.insertBefore(cloneFirst, fragmentAfter.firstChild);\n\n if (carousel) {\n var cloneLast = slideItems[slideCount - 1 - num].cloneNode(true);\n addClass(cloneLast, slideClonedClass);\n removeAttrs(cloneLast, 'id');\n fragmentBefore.appendChild(cloneLast);\n }\n }\n\n container.insertBefore(fragmentBefore, container.firstChild);\n container.appendChild(fragmentAfter);\n slideItems = container.children;\n }\n\n }\n\n function initSliderTransform () {\n // ## images loaded/failed\n if (hasOption('autoHeight') || autoWidth || !horizontal) {\n var imgs = container.querySelectorAll('img');\n\n // add img load event listener\n forEach(imgs, function(img) {\n var src = img.src;\n\n if (!lazyload) {\n // not data img\n if (src && src.indexOf('data:image') < 0) {\n img.src = '';\n addEvents(img, imgEvents);\n addClass(img, 'loading');\n\n img.src = src;\n // data img\n } else {\n imgLoaded(img);\n }\n }\n });\n\n // set imgsComplete\n raf(function(){ imgsLoadedCheck(arrayFromNodeList(imgs), function() { imgsComplete = true; }); });\n\n // reset imgs for auto height: check visible imgs only\n if (hasOption('autoHeight')) { imgs = getImageArray(index, Math.min(index + items - 1, slideCountNew - 1)); }\n\n lazyload ? initSliderTransformStyleCheck() : raf(function(){ imgsLoadedCheck(arrayFromNodeList(imgs), initSliderTransformStyleCheck); });\n\n } else {\n // set container transform property\n if (carousel) { doContainerTransformSilent(); }\n\n // update slider tools and events\n initTools();\n initEvents();\n }\n }\n\n function initSliderTransformStyleCheck () {\n if (autoWidth && slideCount > 1) {\n // check styles application\n var num = loop ? index : slideCount - 1;\n\n (function stylesApplicationCheck() {\n var left = slideItems[num].getBoundingClientRect().left;\n var right = slideItems[num - 1].getBoundingClientRect().right;\n\n (Math.abs(left - right) <= 1) ?\n initSliderTransformCore() :\n setTimeout(function(){ stylesApplicationCheck() }, 16);\n })();\n\n } else {\n initSliderTransformCore();\n }\n }\n\n\n function initSliderTransformCore () {\n // run Fn()s which are rely on image loading\n if (!horizontal || autoWidth) {\n setSlidePositions();\n\n if (autoWidth) {\n rightBoundary = getRightBoundary();\n if (freezable) { freeze = getFreeze(); }\n indexMax = getIndexMax(); // <= slidePositions, rightBoundary <=\n resetVariblesWhenDisable(disable || freeze);\n } else {\n updateContentWrapperHeight();\n }\n }\n\n // set container transform property\n if (carousel) { doContainerTransformSilent(); }\n\n // update slider tools and events\n initTools();\n initEvents();\n }\n\n function initSheet () {\n // gallery:\n // set animation classes and left value for gallery slider\n if (!carousel) {\n for (var i = index, l = index + Math.min(slideCount, items); i < l; i++) {\n var item = slideItems[i];\n item.style.left = (i - index) * 100 / items + '%';\n addClass(item, animateIn);\n removeClass(item, animateNormal);\n }\n }\n\n // #### LAYOUT\n\n // ## INLINE-BLOCK VS FLOAT\n\n // ## PercentageLayout:\n // slides: inline-block\n // remove blank space between slides by set font-size: 0\n\n // ## Non PercentageLayout:\n // slides: float\n // margin-right: -100%\n // margin-left: ~\n\n // Resource: https://docs.google.com/spreadsheets/d/147up245wwTXeQYve3BRSAD4oVcvQmuGsFteJOeA5xNQ/edit?usp=sharing\n if (horizontal) {\n if (PERCENTAGELAYOUT || autoWidth) {\n addCSSRule(sheet, '#' + slideId + ' > .tns-item', 'font-size:' + win.getComputedStyle(slideItems[0]).fontSize + ';', getCssRulesLength(sheet));\n addCSSRule(sheet, '#' + slideId, 'font-size:0;', getCssRulesLength(sheet));\n } else if (carousel) {\n forEach(slideItems, function (slide, i) {\n slide.style.marginLeft = getSlideMarginLeft(i);\n });\n }\n }\n\n\n // ## BASIC STYLES\n if (CSSMQ) {\n // middle wrapper style\n if (TRANSITIONDURATION) {\n var str = middleWrapper && options.autoHeight ? getTransitionDurationStyle(options.speed) : '';\n addCSSRule(sheet, '#' + slideId + '-mw', str, getCssRulesLength(sheet));\n }\n\n // inner wrapper styles\n str = getInnerWrapperStyles(options.edgePadding, options.gutter, options.fixedWidth, options.speed, options.autoHeight);\n addCSSRule(sheet, '#' + slideId + '-iw', str, getCssRulesLength(sheet));\n\n // container styles\n if (carousel) {\n str = horizontal && !autoWidth ? 'width:' + getContainerWidth(options.fixedWidth, options.gutter, options.items) + ';' : '';\n if (TRANSITIONDURATION) { str += getTransitionDurationStyle(speed); }\n addCSSRule(sheet, '#' + slideId, str, getCssRulesLength(sheet));\n }\n\n // slide styles\n str = horizontal && !autoWidth ? getSlideWidthStyle(options.fixedWidth, options.gutter, options.items) : '';\n if (options.gutter) { str += getSlideGutterStyle(options.gutter); }\n // set gallery items transition-duration\n if (!carousel) {\n if (TRANSITIONDURATION) { str += getTransitionDurationStyle(speed); }\n if (ANIMATIONDURATION) { str += getAnimationDurationStyle(speed); }\n }\n if (str) { addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet)); }\n\n // non CSS mediaqueries: IE8\n // ## update inner wrapper, container, slides if needed\n // set inline styles for inner wrapper & container\n // insert stylesheet (one line) for slides only (since slides are many)\n } else {\n // middle wrapper styles\n update_carousel_transition_duration();\n\n // inner wrapper styles\n innerWrapper.style.cssText = getInnerWrapperStyles(edgePadding, gutter, fixedWidth, autoHeight);\n\n // container styles\n if (carousel && horizontal && !autoWidth) {\n container.style.width = getContainerWidth(fixedWidth, gutter, items);\n }\n\n // slide styles\n var str = horizontal && !autoWidth ? getSlideWidthStyle(fixedWidth, gutter, items) : '';\n if (gutter) { str += getSlideGutterStyle(gutter); }\n\n // append to the last line\n if (str) { addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet)); }\n }\n\n // ## MEDIAQUERIES\n if (responsive && CSSMQ) {\n for (var bp in responsive) {\n // bp: convert string to number\n bp = parseInt(bp);\n\n var opts = responsive[bp],\n str = '',\n middleWrapperStr = '',\n innerWrapperStr = '',\n containerStr = '',\n slideStr = '',\n itemsBP = !autoWidth ? getOption('items', bp) : null,\n fixedWidthBP = getOption('fixedWidth', bp),\n speedBP = getOption('speed', bp),\n edgePaddingBP = getOption('edgePadding', bp),\n autoHeightBP = getOption('autoHeight', bp),\n gutterBP = getOption('gutter', bp);\n\n // middle wrapper string\n if (TRANSITIONDURATION && middleWrapper && getOption('autoHeight', bp) && 'speed' in opts) {\n middleWrapperStr = '#' + slideId + '-mw{' + getTransitionDurationStyle(speedBP) + '}';\n }\n\n // inner wrapper string\n if ('edgePadding' in opts || 'gutter' in opts) {\n innerWrapperStr = '#' + slideId + '-iw{' + getInnerWrapperStyles(edgePaddingBP, gutterBP, fixedWidthBP, speedBP, autoHeightBP) + '}';\n }\n\n // container string\n if (carousel && horizontal && !autoWidth && ('fixedWidth' in opts || 'items' in opts || (fixedWidth && 'gutter' in opts))) {\n containerStr = 'width:' + getContainerWidth(fixedWidthBP, gutterBP, itemsBP) + ';';\n }\n if (TRANSITIONDURATION && 'speed' in opts) {\n containerStr += getTransitionDurationStyle(speedBP);\n }\n if (containerStr) {\n containerStr = '#' + slideId + '{' + containerStr + '}';\n }\n\n // slide string\n if ('fixedWidth' in opts || (fixedWidth && 'gutter' in opts) || !carousel && 'items' in opts) {\n slideStr += getSlideWidthStyle(fixedWidthBP, gutterBP, itemsBP);\n }\n if ('gutter' in opts) {\n slideStr += getSlideGutterStyle(gutterBP);\n }\n // set gallery items transition-duration\n if (!carousel && 'speed' in opts) {\n if (TRANSITIONDURATION) { slideStr += getTransitionDurationStyle(speedBP); }\n if (ANIMATIONDURATION) { slideStr += getAnimationDurationStyle(speedBP); }\n }\n if (slideStr) { slideStr = '#' + slideId + ' > .tns-item{' + slideStr + '}'; }\n\n // add up\n str = middleWrapperStr + innerWrapperStr + containerStr + slideStr;\n\n if (str) {\n sheet.insertRule('@media (min-width: ' + bp / 16 + 'em) {' + str + '}', sheet.cssRules.length);\n }\n }\n }\n }\n\n function initTools () {\n // == slides ==\n updateSlideStatus();\n\n // == live region ==\n outerWrapper.insertAdjacentHTML('afterbegin', '