diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ffe77b1d..765eacf9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,7 +15,7 @@ Tiny-slider was strongly inspired by [Owl Carousel](https://owlcarousel2.github. ### Fire an issue We can't test Tiny-slider on every browser and device. There are always some edge cases in which tiny-slider may not run properly. Fire an issue when it doesn't work for you. This not only helps you, also prevent others from facing the same issue. **Notes for firing issues:** -- Before you fire an issue, make sure you update to the latest version of each main version. (e.g. v2.1.5 for version 2) +- Before you fire an issue, make sure you update to the latest version of each main version. (e.g. v2.1.6 for version 2) - Provide the OS and browser version. - Provide a link or your plugin options. diff --git a/README.md b/README.md index a44df0db..bb39e8e6 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # tiny-slider 2.0 -![version](https://img.shields.io/badge/Version-2.1.5-green.svg) +![version](https://img.shields.io/badge/Version-2.1.6-green.svg) Tiny slider for all purposes, inspired by [Owl Carousel](https://owlcarousel2.github.io/OwlCarousel2/). [Demos](http://ganlanyuan.github.io/tiny-slider/tests/index.html) [Tests](http://ganlanyuan.github.io/tiny-slider/tests/tests.html) @@ -72,11 +72,11 @@ Note: some features may need a manual test. via [cdnjs](https://cdnjs.com/libraries/tiny-slider): ```html - + - - + + ``` Or import it via `webpack` or `rollup`: ```javascript diff --git a/bower.json b/bower.json index 235a89d0..ad071c87 100755 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "tiny-slider", - "version": "2.1.5", + "version": "2.1.6", "homepage": "https://github.com/ganlanyuan/tiny-slider", "authors": [ "WilliamLin " diff --git a/dist/sourcemaps/tiny-slider.css.map b/dist/sourcemaps/tiny-slider.css.map index e57028b5..7a5c82c0 100644 --- a/dist/sourcemaps/tiny-slider.css.map +++ b/dist/sourcemaps/tiny-slider.css.map @@ -1 +1 @@ -{"version":3,"file":"../tiny-slider.css","sources":["tiny-slider.scss"],"sourcesContent":["// Version: 2.1.5\n\n.tns-outer {\n padding: 0 !important; // remove padding: clientWidth = width + padding (0) = width\n &.ms-touch {\n overflow-x: scroll;\n overflow-y: hidden;\n -ms-overflow-style: none; // Hides the scrollbar.\n -ms-scroll-chaining: none; // Prevents Metro from swiping to the next tab or app.\n -ms-scroll-snap-type: mandatory; // Forces a snap scroll behavior on your images.\n -ms-scroll-snap-points-x: snapInterval(0%, 100%); // Defines the y and x intervals to snap to when scrolling.\n }\n}\n.tns-slider {\n -webkit-transition: all 0s;\n -moz-transition: all 0s;\n transition: all 0s;\n .tns-item {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n}\n\n.tns-horizontal.tns-subpixel {\n white-space: nowrap;\n .tns-item {\n display: inline-block;\n vertical-align: top;\n white-space: normal;\n }\n}\n.tns-horizontal.tns-no-subpixel {\n &:after {\n content: '';\n display: table;\n clear: both;\n }\n .tns-item {\n float: left;\n margin-right: -100%;\n }\n}\n.tns-no-calc {\n position: relative;\n left: 0;\n}\n\n.tns-gallery {\n position: relative;\n left: 0;\n // overflow: hidden;\n .tns-item {\n position: absolute;\n left: -100%;\n -webkit-transition: opacity 0s;\n -moz-transition: opacity 0s;\n -webkit-transition: transform 0s, opacity 0s;\n -moz-transition: transform 0s, opacity 0s;\n transition: transform 0s, opacity 0s;\n }\n}\n.tns-nav {\n button { vertical-align: middle; }\n}\n.tns-lazy-img {\n -webkit-transition: opacity 0.6s;\n -moz-transition: opacity 0.6s;\n transition: opacity 0.6s;\n opacity: 0.6;\n &.loaded { opacity: 1; }\n}\n[hidden] { display: none !important; }\n[data-controls], [data-action], [data-nav] {\n cursor: pointer;\n border-width: 0;\n padding: 0;\n}\n.tns-ah {\n -webkit-transition: height 0s;\n -moz-transition: height 0s;\n transition: height 0s;\n}\n.tns-ovh { overflow: hidden; }\n.tns-hdx { overflow-x: hidden; }\n.tns-hdy { overflow-y: hidden; }\n.tns-visually-hidden { position: absolute; left: -10000em; }\n.tns-transparent { opacity: 0; visibility: hidden; }\n\n.tns-fadeIn {\n opacity: 1;\n filter: alpha(opacity=100);\n z-index: 0;\n}\n.tns-normal, .tns-fadeOut {\n opacity: 0;\n filter: alpha(opacity=0);\n z-index: -1;\n}\n\n// style for testing CSS3 mediaquery support\n@media all and (min-width: 1px) {\n .tns-mq-test { position: absolute; }\n}"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"../tiny-slider.css","sources":["tiny-slider.scss"],"sourcesContent":["// Version: 2.1.6\n\n.tns-outer {\n padding: 0 !important; // remove padding: clientWidth = width + padding (0) = width\n &.ms-touch {\n overflow-x: scroll;\n overflow-y: hidden;\n -ms-overflow-style: none; // Hides the scrollbar.\n -ms-scroll-chaining: none; // Prevents Metro from swiping to the next tab or app.\n -ms-scroll-snap-type: mandatory; // Forces a snap scroll behavior on your images.\n -ms-scroll-snap-points-x: snapInterval(0%, 100%); // Defines the y and x intervals to snap to when scrolling.\n }\n}\n.tns-slider {\n -webkit-transition: all 0s;\n -moz-transition: all 0s;\n transition: all 0s;\n .tns-item {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n}\n\n.tns-horizontal.tns-subpixel {\n white-space: nowrap;\n .tns-item {\n display: inline-block;\n vertical-align: top;\n white-space: normal;\n }\n}\n.tns-horizontal.tns-no-subpixel {\n &:after {\n content: '';\n display: table;\n clear: both;\n }\n .tns-item {\n float: left;\n margin-right: -100%;\n }\n}\n.tns-no-calc {\n position: relative;\n left: 0;\n}\n\n.tns-gallery {\n position: relative;\n left: 0;\n // overflow: hidden;\n .tns-item {\n position: absolute;\n left: -100%;\n -webkit-transition: opacity 0s;\n -moz-transition: opacity 0s;\n -webkit-transition: transform 0s, opacity 0s;\n -moz-transition: transform 0s, opacity 0s;\n transition: transform 0s, opacity 0s;\n }\n}\n.tns-nav {\n button { vertical-align: middle; }\n}\n.tns-lazy-img {\n -webkit-transition: opacity 0.6s;\n -moz-transition: opacity 0.6s;\n transition: opacity 0.6s;\n opacity: 0.6;\n &.loaded { opacity: 1; }\n}\n[hidden] { display: none !important; }\n[data-controls], [data-action], [data-nav] {\n cursor: pointer;\n border-width: 0;\n padding: 0;\n}\n.tns-ah {\n -webkit-transition: height 0s;\n -moz-transition: height 0s;\n transition: height 0s;\n}\n.tns-ovh { overflow: hidden; }\n.tns-hdx { overflow-x: hidden; }\n.tns-hdy { overflow-y: hidden; }\n.tns-visually-hidden { position: absolute; left: -10000em; }\n.tns-transparent { opacity: 0; visibility: hidden; }\n\n.tns-fadeIn {\n opacity: 1;\n filter: alpha(opacity=100);\n z-index: 0;\n}\n.tns-normal, .tns-fadeOut {\n opacity: 0;\n filter: alpha(opacity=0);\n z-index: -1;\n}\n\n// style for testing CSS3 mediaquery support\n@media all and (min-width: 1px) {\n .tns-mq-test { position: absolute; }\n}"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/sourcemaps/tiny-slider.js.map b/dist/sourcemaps/tiny-slider.js.map index 8b49cf2b..a4f635a8 100644 --- a/dist/sourcemaps/tiny-slider.js.map +++ b/dist/sourcemaps/tiny-slider.js.map @@ -1 +1 @@ -{"version":3,"sources":["tiny-slider.js"],"names":["tns","extend","obj","name","copy","target","arguments","i","length","undefined","checkStorageValue","value","indexOf","JSON","parse","setLocalStorage","key","localStorage","setItem","getSlideId","window","tnsId","createStyleSheet","media","style","document","createElement","setAttribute","querySelector","appendChild","sheet","styleSheet","toDegree","y","x","Math","atan2","PI","getTouchDirection","angle","range","abs","hasAttr","el","attr","hasAttribute","getAttr","getAttribute","isNodeList","item","setAttrs","els","attrs","Array","Object","prototype","toString","call","removeAttrs","attrLength","j","removeAttribute","hideElement","hidden","showElement","imageLoaded","img","complete","naturalWidth","whichProperty","props","prop","getEndProperty","propIn","propOut","endProp","test","toLowerCase","addEvents","option","passiveOption","addEventListener","removeEvents","removeEventListener","Events","topics","on","eventName","fn","this","push","off","splice","emit","data","forEach","jsTransform","element","prefix","postfix","to","duration","callback","moveElement","tick","from","positionTick","unit","setTimeout","min","replace","Number","keys","object","hasOwnProperty","Element","remove","parentNode","removeChild","testList","nativeAdd","nativeRemove","WIN","DOC","OBJ","LENGTH","METHODS","split","ADD","REMOVE","TOGGLE","PROTOTYPE","dpSupport","defineGetter","configurable","get","DOMTokenList","THIS","tokens","tokenMap","maxLength","reindex","preop","error","args","rSpace","SyntaxError","code","join","idx","token","l","ignore","t","force","UNDEF","o","defineProperty","enumerable","addProp","tokenList","gibberishProperty","DEFINE_GETTER","visage","mirror","reflections","childNodes","_R","e","polyfill","CLASS_","REL","addCSSRule","styleSheets","selector","rules","index","insertRule","addRule","getCssRulesLength","cssRules","supportsPassive","opts","passive","browserInfo","navigator","userAgent","tnsStorage","removeItem","doc","win","KEYS","ENTER","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","CALC","body","result","val","vals","width","offsetWidth","SUBPIXEL","child2","parent","child1","cssText","cloneNode","supported","offsetTop","CSSMQ","div","className","position","getComputedStyle","currentStyle","TRANSFORM","TRANSITIONDURATION","TRANSITIONDELAY","ANIMATIONDURATION","ANIMATIONDELAY","TRANSITIONEND","ANIMATIONEND","options","checkOption","breakpoints","responsiveItems","bp","responsive","getOption","view","vpOuter","floor","carousel","nested","len","max","slideCount","getSlideMarginLeft","slideCountNew","getInnerWrapperStyles","edgePaddingTem","gutterTem","fixedWidthTem","str","gap","horizontal","dir","getContainerWidth","itemsTem","getSlideWidthStyle","dividend","importantStr","getSlideGutterStyle","onResize","event","clearTimeout","resizeTimer","outerWrapper","clientWidth","resizeTasks","events","info","breakpointZoneTem","breakpointZone","indexTem","items","freezeTem","freeze","vpInner","innerWrapper","getBreakpointZone","fixedWidth","arrowKeysTem","arrowKeys","autoHeightTem","autoHeight","edgePadding","gutter","slideBy","indexMax","indexAdjust","checkIndex","cloneCount","speed","doContainerTransform","height","docmentKeydownEvent","hasControls","controlsTem","controls","controlsTextTem","controlsText","controlsContainer","prevButton","innerHTML","nextButton","hasNav","navTem","nav","navContainer","updateNavVisibility","hasTouch","touchTem","touch","container","touchEvents","hasMouseDrag","mouseDragTem","mouseDrag","dragEvents","hasAutoplay","autoplayTem","autoplay","autoplayHoverPauseTem","autoplayHoverPause","autoplayResetOnVisibilityTem","autoplayResetOnVisibility","autoplayTextTem","autoplayText","autoplayTimeout","autoplayButton","animating","startAction","stopAction","hoverEvents","visibilityEvent","html","substring","removeRule","slideId","doTransform","indexCached","lazyLoad","updateSlideStatus","updateControlsStatus","updateNavStatus","msMaxTouchPoints","setSnapInterval","getSlideOffsetTops","updateContentWrapperHeight","checkFixedWidthSlideCount","runAutoHeight","breakpointZoneAdjust","slideItems","classList","contains","margin","add","mouseoverPause","autoplayHoverStopped","mouseoutRestart","lazyload","querySelectorAll","eve","stopPropagation","src","images","updateInnerWrapperHeight","checkImagesLoaded","maxHeight","heights","offsetHeight","apply","setDurations","slideOffsetTops","topFirst","getBoundingClientRect","top","msScrollSnapPointsX","aria-hidden","tabindex","navCurrent","navClicked","navCurrentCached","navItems","aria-selected","isButton","nodeName","isAriaDisabled","disEnableElement","disabled","loop","prevDisabled","nextDisabled","disablePrev","indexMin","disableNext","rewind","prevIsButton","nextIsButton","getContainerTransformValue","denominator","transformAttr","transformPrefix","transformPostfix","animateSlide","number","classOut","classIn","isOut","left","animateDelay","slideItemsOut","distance","transformCore","render","checkIndexBeforeTransform","running","onTransitionEnd","strTrans","animateOut","animateNormal","propertyName","visibleNavIndexes","goTo","targetIndex","onControlsClick","absIndex","indexGap","parseInt","isNaN","absTargetIndex","shouldRender","srcElement","onNavClick","navIndex","updateAutoplayButton","action","txt","data-action","autoplayHtmlStrings","resetActionTimer","pauseActionTimer","clearInterval","autoplayTimer","setInterval","autoplayDirection","toggleAnimation","onVisibilityChange","autoplayResetVisibilityState","onDocumentKeydown","keyCode","onControlsKeydown","setFocus","focus","onNavKeydown","getNavIndex","num","curElement","activeElement","current","ie10Scroll","scrollLeft","getTarget","isTouchEvent","type","preventDefaultBehavior","preventDefault","returnValue","onTouchOrMouseStart","ev","changedTouches","startX","clientX","startY","clientY","translateInit","parseFloat","onTouchOrMouseMove","disX","disY","axis","isDragEvent","touchedOrDraged","percentageX","onTouchOrMouseEnd","indexMoved","ceil","moved","click","preventClick","getVisibleNavIndex","temIndex","absIndexMin","unshift","visibleNavIndexesCached","ind","mode","onInit","children","resTem","res","animateIn","containerParent","map","sort","a","b","concat","arr","hasRightDeadZone","containerIdCached","id","containerClassCached","slideItemIdCached","slideItemClassCached","controlsEvents","keydown","navEvents","mouseover","mouseout","visibilitychange","touchstart","touchmove","touchend","touchcancel","mousedown","mousemove","mouseup","mouseleave","insertBefore","dataOuter","dataInner","dataContainer","fragmentBefore","createDocumentFragment","fragmentAfter","cloneFirst","firstChild","cloneLast","cssFontSize","fontSize","slide","marginLeft","innerWrapperStr","containerStr","slideStr","itemsBP","fixedWidthBP","edgePaddingBP","gutterBP","scroll","aria-label","data-nav","aria-controls","navHtml","insertAdjacentHTML","data-controls","resize","leftEdge","rightEdge","gt","containerRightEdge","getInfo","destroy"],"mappings":"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","file":"../dist/tiny-slider.js","sourcesContent":["var tns = (function (){\n// 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\n(function () {\n \"use strict\";\n\n if(!(\"remove\" in Element.prototype)){\n Element.prototype.remove = function(){\n if(this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n }\n})();\n\n/** DOMTokenList polyfill */\n(function(){\n\t\"use strict\";\n\t\n\t/*<*/\n\tvar UNDEF,\n\tWIN = window,\n\tDOC = document,\n\tOBJ = Object,\n\tNULL = null,\n\tTRUE = true,\n\tFALSE = false,\n\t/*>*/\n\t\n\t/** Munge the hell out of our string literals. Saves a tonne of space after compression. */\n\tSPACE = \" \",\n\tELEMENT = \"Element\",\n\tCREATE_ELEMENT = \"create\"+ELEMENT,\n\tDOM_TOKEN_LIST = \"DOMTokenList\",\n\tDEFINE_GETTER = \"__defineGetter__\",\n\tDEFINE_PROPERTY = \"defineProperty\",\n\tCLASS_ = \"class\",\n\tLIST = \"List\",\n\tCLASS_LIST = CLASS_+LIST,\n\tREL = \"rel\",\n\tREL_LIST = REL+LIST,\n\tDIV = \"div\",\n\tLENGTH = \"length\",\n\tCONTAINS = \"contains\",\n\tAPPLY = \"apply\",\n\tHTML_ = \"HTML\",\n\tMETHODS = (\"item \"+CONTAINS+\" add remove toggle toString toLocaleString\").split(SPACE),\n\tADD = METHODS[2],\n\tREMOVE = METHODS[3],\n\tTOGGLE = METHODS[4],\n\tPROTOTYPE = \"prototype\",\n\t\n\t\n\t\n\t/** Ascertain browser support for Object.defineProperty */\n\tdpSupport = DEFINE_PROPERTY in OBJ || DEFINE_GETTER in OBJ[ PROTOTYPE ] || NULL,\n\t\n\t\n\t/** Wrapper for Object.defineProperty that falls back to using the legacy __defineGetter__ method if available. */\n\tdefineGetter = function(object, name, fn, configurable){\n\t\tif(OBJ[ DEFINE_PROPERTY ])\n\t\t\tOBJ[ DEFINE_PROPERTY ](object, name, {\n\t\t\t\tconfigurable: FALSE === dpSupport ? TRUE : !!configurable,\n\t\t\t\tget: fn\n\t\t\t});\n\t\t\n\t\telse object[ DEFINE_GETTER ](name, fn);\n\t},\n\t\n\t\n\t\n\t\n\t/** DOMTokenList interface replacement */\n\tDOMTokenList = function(el, prop){\n\t\tvar THIS = this,\n\t\t\n\t\t/** Private variables */\n\t\ttokens = [],\n\t\ttokenMap = {},\n\t\tlength = 0,\n\t\tmaxLength = 0,\n\t\t\n\t\t\n\t\treindex = function(){\n\t\t\t\n\t\t\t/** Define getter functions for array-like access to the tokenList's contents. */\n\t\t\tif(length >= maxLength)\n\t\t\t\tfor(; maxLength < length; ++maxLength) (function(i){\n\t\t\t\t\t\n\t\t\t\t\tdefineGetter(THIS, i, function(){\n\t\t\t\t\t\tpreop();\n\t\t\t\t\t\treturn tokens[i];\n\t\t\t\t\t}, FALSE);\n\t\t\t\t\t\n\t\t\t\t})(maxLength);\n\t\t},\n\t\t\n\t\t\n\t\t\n\t\t/** Helper function called at the start of each class method. Internal use only. */\n\t\tpreop = function(){\n\t\t\tvar error, i,\n\t\t\targs = arguments,\n\t\t\trSpace = /\\s+/;\n\t\t\t\n\t\t\t/** Validate the token/s passed to an instance method, if any. */\n\t\t\tif(args[ LENGTH ])\n\t\t\t\tfor(i = 0; i < args[ LENGTH ]; ++i)\n\t\t\t\t\tif(rSpace.test(args[i])){\n\t\t\t\t\t\terror = new SyntaxError('String \"' + args[i] + '\" ' + CONTAINS + ' an invalid character');\n\t\t\t\t\t\terror.code = 5;\n\t\t\t\t\t\terror.name = \"InvalidCharacterError\";\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t/** Split the new value apart by whitespace*/\n\t\t\ttokens = (\"\" + el[prop]).replace(/^\\s+|\\s+$/g, \"\").split(rSpace);\n\t\t\t\n\t\t\t/** Avoid treating blank strings as single-item token lists */\n\t\t\tif(\"\" === tokens[0]) tokens = [];\n\t\t\t\n\t\t\t/** Repopulate the internal token lists */\n\t\t\ttokenMap = {};\n\t\t\tfor(i = 0; i < tokens[ LENGTH ]; ++i)\n\t\t\t\ttokenMap[tokens[i]] = TRUE;\n\t\t\tlength = tokens[ LENGTH ];\n\t\t\treindex();\n\t\t};\n\t\t\n\t\t\n\t\t\n\t\t/** Populate our internal token list if the targeted attribute of the subject element isn't empty. */\n\t\tpreop();\n\t\t\n\t\t\n\t\t\n\t\t/** Return the number of tokens in the underlying string. Read-only. */\n\t\tdefineGetter(THIS, LENGTH, function(){\n\t\t\tpreop();\n\t\t\treturn length;\n\t\t});\n\t\t\n\t\t\n\t\t/** Override the default toString/toLocaleString methods to return a space-delimited list of tokens when typecast. */\n\t\tTHIS[ METHODS[6] /** toLocaleString */ ] =\n\t\tTHIS[ METHODS[5] /** toString */ ] = function(){\n\t\t\tpreop();\n\t\t\treturn tokens.join(SPACE);\n\t\t};\n\t\t\n\t\t\n\t\t\n\t\t/** Return an item in the list by its index (or undefined if the number is greater than or equal to the length of the list) */\n\t\tTHIS.item = function(idx){\n\t\t\tpreop();\n\t\t\treturn tokens[idx];\n\t\t};\n\t\t\n\t\t\n\t\t/** Return TRUE if the underlying string contains `token`; otherwise, FALSE. */\n\t\tTHIS[ CONTAINS ] = function(token){\n\t\t\tpreop();\n\t\t\treturn !!tokenMap[token];\n\t\t};\n\t\t\n\t\t\n\t\t\n\t\t/** Add one or more tokens to the underlying string. */\n\t\tTHIS[ADD] = function(){\n\t\t\tpreop[APPLY](THIS, args = arguments);\n\n\t\t\tfor(var args, token, i = 0, l = args[ LENGTH ]; i < l; ++i){\n\t\t\t\ttoken = args[i];\n\t\t\t\tif(!tokenMap[token]){\n\t\t\t\t\ttokens.push(token);\n\t\t\t\t\ttokenMap[token] = TRUE;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t/** Update the targeted attribute of the attached element if the token list's changed. */\n\t\t\tif(length !== tokens[ LENGTH ]){\n\t\t\t\tlength = tokens[ LENGTH ] >>> 0;\n\t\t\t\tel[prop] = tokens.join(SPACE);\n\t\t\t\treindex();\n\t\t\t}\n\t\t};\n\t\t\n\t\t\n\t\t\n\t\t/** Remove one or more tokens from the underlying string. */\n\t\tTHIS[ REMOVE ] = function(){\n\t\t\tpreop[APPLY](THIS, args = arguments);\n\t\t\t\n\t\t\t/** Build a hash of token names to compare against when recollecting our token list. */\n\t\t\tfor(var args, ignore = {}, i = 0, t = []; i < args[ LENGTH ]; ++i){\n\t\t\t\tignore[args[i]] = TRUE;\n\t\t\t\tdelete tokenMap[args[i]];\n\t\t\t}\n\t\t\t\n\t\t\t/** Run through our tokens list and reassign only those that aren't defined in the hash declared above. */\n\t\t\tfor(i = 0; i < tokens[ LENGTH ]; ++i)\n\t\t\t\tif(!ignore[tokens[i]]) t.push(tokens[i]);\n\t\t\t\n\t\t\ttokens = t;\n\t\t\tlength = t[ LENGTH ] >>> 0;\n\t\t\t\n\t\t\t/** Update the targeted attribute of the attached element. */\n\t\t\tel[prop] = tokens.join(SPACE);\n\t\t\treindex();\n\t\t};\n\t\t\n\t\t\n\t\t\n\t\t/** Add or remove a token depending on whether it's already contained within the token list. */\n\t\tTHIS[TOGGLE] = function(token, force){\n\t\t\tpreop[APPLY](THIS, [token]);\n\t\t\t\n\t\t\t/** Token state's being forced. */\n\t\t\tif(UNDEF !== force){\n\t\t\t\tif(force) { THIS[ADD](token); return TRUE; }\n\t\t\t\telse { THIS[REMOVE](token); return FALSE; }\n\t\t\t}\n\t\t\t\n\t\t\t/** Token already exists in tokenList. Remove it, and return FALSE. */\n\t\t\tif(tokenMap[token]){\n\t\t\t\tTHIS[ REMOVE ](token);\n\t\t\t\treturn FALSE;\n\t\t\t}\n\t\t\t\n\t\t\t/** Otherwise, add the token and return TRUE. */\n\t\t\tTHIS[ADD](token);\n\t\t\treturn TRUE;\n\t\t};\n\t\t\n\t\t\n\t\t/** Mark our newly-assigned methods as non-enumerable. */\n\t\t(function(o, defineProperty){\n\t\t\tif(defineProperty)\n\t\t\t\tfor(var i = 0; i < 7; ++i)\n\t\t\t\t\tdefineProperty(o, METHODS[i], {enumerable: FALSE});\n\t\t}(THIS, OBJ[ DEFINE_PROPERTY ]));\n\t\t\n\t\treturn THIS;\n\t},\n\t\n\t\n\t\n\t/** Polyfills a property with a DOMTokenList */\n\taddProp = function(o, name, attr){\n\t\t\n\t\tdefineGetter(o[PROTOTYPE], name, function(){\n\t\t\tvar tokenList,\n\t\t\tTHIS = this,\n\t\t\t\n\t\t\t/** Prevent this from firing twice for some reason. What the hell, IE. */\n\t\t\tgibberishProperty = DEFINE_GETTER + DEFINE_PROPERTY + name;\n\t\t\tif(THIS[gibberishProperty]) return tokenList;\n\t\t\tTHIS[gibberishProperty] = TRUE;\n\t\t\t\n\t\t\t\n\t\t\t/**\n\t\t\t * IE8 can't define properties on native JavaScript objects, so we'll use a dumb hack instead.\n\t\t\t *\n\t\t\t * What this is doing is creating a dummy element (\"reflection\") inside a detached phantom node (\"mirror\")\n\t\t\t * that serves as the target of Object.defineProperty instead. While we could simply use the subject HTML\n\t\t\t * element instead, this would conflict with element types which use indexed properties (such as forms and\n\t\t\t * select lists).\n\t\t\t */\n\t\t\tif(FALSE === dpSupport){\n\t\t\t\t\n\t\t\t\tvar visage,\n\t\t\t\tmirror = addProp.mirror = addProp.mirror || DOC[ CREATE_ELEMENT ](DIV),\n\t\t\t\treflections = mirror.childNodes,\n\t\t\t\t\n\t\t\t\t/** Iterator variables */\n\t\t\t\tl = reflections[ LENGTH ],\n\t\t\t\ti = 0;\n\t\t\t\t\n\t\t\t\tfor(; i < l; ++i)\n\t\t\t\t\tif(reflections[i]._R === THIS){\n\t\t\t\t\t\tvisage = reflections[i];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/** Couldn't find an element's reflection inside the mirror. Materialise one. */\n\t\t\t\tvisage || (visage = mirror.appendChild(DOC[ CREATE_ELEMENT ](DIV)));\n\t\t\t\t\n\t\t\t\ttokenList = DOMTokenList.call(visage, THIS, attr);\n\t\t\t}\n\t\t\t\n\t\t\telse tokenList = new DOMTokenList(THIS, attr);\n\t\t\t\n\t\t\t\n\t\t\tdefineGetter(THIS, name, function(){ return tokenList; });\n\t\t\tdelete THIS[gibberishProperty];\n\t\t\t\n\t\t\treturn tokenList;\n\t\t}, TRUE);\n\t},\n\n\t/** Variables used for patching native methods that're partially implemented (IE doesn't support adding/removing multiple tokens, for instance). */\n\ttestList,\n\tnativeAdd,\n\tnativeRemove;\n\t\n\t\n\t\n\t\n\t/** No discernible DOMTokenList support whatsoever. Time to remedy that. */\n\tif(!WIN[ DOM_TOKEN_LIST ]){\n\t\t\n\t\t/** Ensure the browser allows Object.defineProperty to be used on native JavaScript objects. */\n\t\tif(dpSupport)\n\t\t\ttry{ defineGetter({}, \"support\"); }\n\t\t\tcatch(e){ dpSupport = FALSE; }\n\t\t\n\t\t\n\t\tDOMTokenList.polyfill = TRUE;\n\t\tWIN[ DOM_TOKEN_LIST ] = DOMTokenList;\n\t\t\n\t\taddProp( WIN[ ELEMENT ], CLASS_LIST, CLASS_ + \"Name\"); /* Element.classList */\n\t\taddProp( WIN[ HTML_+ \"Link\" + ELEMENT ], REL_LIST, REL); /* HTMLLinkElement.relList */\n\t\taddProp( WIN[ HTML_+ \"Anchor\" + ELEMENT ], REL_LIST, REL); /* HTMLAnchorElement.relList */\n\t\taddProp( WIN[ HTML_+ \"Area\" + ELEMENT ], REL_LIST, REL); /* HTMLAreaElement.relList */\n\t}\n\t\n\t\n\t/**\n\t * Possible support, but let's check for bugs.\n\t *\n\t * Where arbitrary values are needed for performing a test, previous variables\n\t * are recycled to save space in the minified file.\n\t */\n\telse{\n\t\ttestList = DOC[ CREATE_ELEMENT ](DIV)[CLASS_LIST];\n\t\t\n\t\t/** We'll replace a \"string constant\" to hold a reference to DOMTokenList.prototype (filesize optimisation, yaddah-yaddah...) */\n\t\tPROTOTYPE = WIN[DOM_TOKEN_LIST][PROTOTYPE];\n\t\t\n\t\t\n\t\t/** Check if we can pass multiple arguments to add/remove. To save space, we'll just recycle a previous array of strings. */\n\t\ttestList[ADD][APPLY](testList, METHODS);\n\t\tif(2 > testList[LENGTH]){\n\t\t\tnativeAdd = PROTOTYPE[ADD];\n\t\t\tnativeRemove = PROTOTYPE[REMOVE];\n\t\t\t\n\t\t\tPROTOTYPE[ADD] = function(){\n\t\t\t\tfor(var i = 0, args = arguments; i < args[LENGTH]; ++i)\n\t\t\t\t\tnativeAdd.call(this, args[i]);\n\t\t\t};\n\t\t\t\n\t\t\tPROTOTYPE[REMOVE] = function(){\n\t\t\t\tfor(var i = 0, args = arguments; i < args[LENGTH]; ++i)\n\t\t\t\t\tnativeRemove.call(this, args[i]);\n\t\t\t};\n\t\t}\n\t\t\n\t\t\n\t\t/** Check if the \"force\" option of .toggle is supported. */\n\t\tif(testList[TOGGLE](LIST, FALSE))\n\t\t\tPROTOTYPE[TOGGLE] = function(token, force){\n\t\t\t\tvar THIS = this;\n\t\t\t\tTHIS[(force = UNDEF === force ? !THIS[CONTAINS](token) : force) ? ADD : REMOVE](token);\n\t\t\t\treturn !!force;\n\t\t\t};\n\t}\n}());\n\nfunction 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}\n\nfunction checkStorageValue (value) {\n return (['true', 'false', 'null'].indexOf(value) >= 0) ? JSON.parse(value) : value;\n}\n\nfunction setLocalStorage(key, value) {\n localStorage.setItem(key, value);\n return value;\n}\n\nfunction getSlideId() {\n if (window.tnsId === undefined) {\n window.tnsId = 1;\n } else {\n window.tnsId++;\n }\n return 'tns' + window.tnsId;\n}\n\n// get css-calc \n// @return - false | calc | -webkit-calc | -moz-calc\n// @usage - var calc = getCalc(); \nfunction calc() {\n var doc = document, \n body = doc.body,\n el = doc.createElement('div'), \n result = false;\n body.appendChild(el);\n try {\n var vals = ['calc(10px)', '-moz-calc(10px)', '-webkit-calc(10px)'], val;\n for (var i = 0; i < 3; i++) {\n val = vals[i];\n el.style.width = val;\n if (el.offsetWidth === 10) { \n result = val.replace('(10px)', ''); \n break;\n }\n }\n } catch (e) {}\n body.removeChild(el);\n\n return result;\n}\n\n// get subpixel support value\n// @return - boolean\nfunction subpixelLayout() {\n var doc = document,\n body = doc.body,\n parent = doc.createElement('div'),\n child1 = doc.createElement('div'),\n child2;\n parent.style.cssText = 'width: 10px';\n child1.style.cssText = 'float: left; width: 5.5px; height: 10px;';\n child2 = child1.cloneNode(true);\n\n parent.appendChild(child1);\n parent.appendChild(child2);\n body.appendChild(parent);\n\n var supported = child1.offsetTop !== child2.offsetTop;\n body.removeChild(parent);\n\n return supported;\n}\n\nfunction mediaquerySupport () {\n var doc = document,\n body = doc.body,\n div = doc.createElement('div');\n\n div.className = 'tns-mq-test';\n body.appendChild(div);\n\n var position = (window.getComputedStyle) ? window.getComputedStyle(div).position : div.currentStyle['position'];\n body.removeChild(div);\n\n return position === \"absolute\";\n}\n\n// create and append style sheet\nfunction createStyleSheet (media) {\n // Create the