{"version":3,"sources":["jsdelivr-header.js","/npm/pageslide@0.2.2/index.js"],"names":[],"mappings":"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","file":"/npm/pageslide@0.2.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/pageslide@0.2.2/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var insertCss, fs;\r\n\r\nif(process && process.browser){\r\n    insertCss = require('insert-css');\r\n    fs = require('fs');\r\n}\r\n\r\nvar isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;\r\n    // Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)\r\nvar isFirefox = typeof InstallTrigger !== 'undefined';   // Firefox 1.0+\r\nvar isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;\r\n    // At least Safari 3+: \"[object HTMLElementConstructor]\"\r\nvar isChrome = !!window.chrome && !isOpera;              // Chrome 1+\r\nvar isIE = /*@cc_on!@*/false || !!document.documentMode; // At least IE6\r\n\r\nmodule.exports = function(container, options){\r\n    options = options || {};\r\n    if(process && process.browser && options.insertCss !== false)\r\n        insertCss(fs.readFileSync(__dirname + \"/css/style.css\"));\r\n\r\n    var pageslider = new PageSlide(container, options);\r\n\r\n    var returnObj = options.defaultMethod === 'slidePageFrom' ? pageslider.slidePageFrom.bind(pageslider) : pageslider.slidePage.bind(pageslider);\r\n    returnObj.slidePage = pageslider.slidePage.bind(pageslider);\r\n    returnObj.slidePageFrom = pageslider.slidePageFrom.bind(pageslider);\r\n    return returnObj;\r\n}\r\n\r\nfunction PageSlide(container, options) {\r\n\r\n    var container = container,\r\n        isJ = container instanceof jQuery,\r\n        currentPage,\r\n        stateHistory = [],\r\n        lastLevel,\r\n        allowPush = !options.useHash && testPushstate(),\r\n        tranType;\r\n\r\n    if(isSafari || isChrome)\r\n        tranType ='webkitTransitionEnd';\r\n    else if(isFirefox || isIE)\r\n        tranType = 'transitionend';\r\n    else if(isOpera)\r\n        tranType = 'otransitionend';\r\n    else\r\n        tranType ='webkitTransitionEnd';\r\n\r\n    // Use this function if you want PageSlider to automatically determine the sliding direction based on the state history\r\n    this.slidePage = function(page, opts) {\r\n        opts = opts || {};\r\n        var state = allowPush ? window.location.pathname : window.location.hash;\r\n\r\n        if( opts.hasOwnProperty('level') ){\r\n            var level = +opts.level;\r\n            if(typeof lastLevel === \"undefined\")\r\n                this.slidePageFrom(page, undefined);\r\n            else\r\n                this.slidePageFrom(page, level >= lastLevel ? 'right' : 'left' );\r\n            lastLevel = level;\r\n            return;\r\n        }\r\n\r\n        var l = stateHistory.length;\r\n\r\n        if(opts.reset){\r\n            stateHistory = [state];\r\n            return this.slidePageFrom(page, 'left');\r\n        }else if (l === 0) {\r\n            stateHistory.push(state);\r\n            return this.slidePageFrom(page);\r\n        }\r\n\r\n        if (state === stateHistory[l-2]) {\r\n            stateHistory.pop();\r\n            this.slidePageFrom(page, 'left');\r\n        } else {\r\n            stateHistory.push(state);\r\n            this.slidePageFrom(page, 'right');\r\n        }\r\n\r\n    };\r\n\r\n    // Use this function directly if you want to control the sliding direction outside PageSlider\r\n    this.slidePageFrom = function(page, from) {\r\n        var notFrom = from === \"left\" ? \"right\" : \"left\";\r\n            container[isJ ? \"append\" : \"appendChild\"](page);\r\n\r\n        if (!currentPage || !from) {\r\n            if(isJ){\r\n                page.removeClass(\"left right transition\").addClass(\"page center\");            \r\n            }else{\r\n                page.classList.remove(\"left\", \"right\", \"transition\");\r\n                page.classList.add(\"page\", \"center\");            \r\n            }\r\n            currentPage = page;\r\n            return;\r\n        }\r\n\r\n        // Position the page at the starting position of the animation\r\n        if(isJ){\r\n            page.removeClass(notFrom + \" center transition\").addClass(\"page \" + from);\r\n        }else{\r\n            page.classList.remove(\"center\", notFrom, \"transition\");\r\n            page.classList.add(\"page\", from);\r\n        }\r\n\r\n        if(isJ){\r\n            currentPage.one(tranType, function(e) {\r\n                page.trigger({ \r\n                    type:'pageslideEnd', \r\n                    slidFrom: from, \r\n                    target: page[0],\r\n                    $target: page,\r\n                    fromTarget: currentPage[0],\r\n                    $fromTarget: currentPage,\r\n                    stopPropogation: function(){e.stopPropogation();} \r\n                });\r\n                currentPage.trigger({ \r\n                    type:'pageslideEnd', \r\n                    slidFrom: from, \r\n                    target: e.target, \r\n                    $target: currentPage, \r\n                    toTarget: page[0],\r\n                    $toTarget: page,\r\n                    stopPropogation: function(){e.stopPropogation();} \r\n                });\r\n                if(!e.isPropagationStopped())\r\n                    $(e.target).remove();\r\n                currentPage = page;\r\n            });\r\n            if(options.onEnd && typeof options.onEnd === \"function\")\r\n                currentPage.one(tranType, options.onEnd);                \r\n        }else{\r\n            var listener = function listener(e){\r\n                currentPage.removeEventListener( tranType, listener );\r\n                var event = new Event('pageslideEnd', { \r\n                    type:'pageslideEnd', \r\n                    slidFrom: from, \r\n                    target: e.target \r\n                });\r\n                e.target.dispatchEvent(event);\r\n                if(!event.isPropagationStopped())\r\n                    e.target.parentNode.removeChild(e.target);\r\n                currentPage = page;\r\n            };\r\n            currentPage.addEventListener( tranType, listener );\r\n            if(options.onEnd && typeof options.onEnd === \"function\")\r\n                currentPage.addEventListener( tranType, options.onEnd );\r\n        }\r\n\r\n        // Force reflow. More information here: http://www.phpied.com/rendering-repaint-reflowrelayout-restyle/\r\n        container[0].offsetWidth;\r\n\r\n        // Position the new page and the current page at the ending position of their animation with a transition class indicating the duration of the animation\r\n        if(isJ){\r\n            page.removeClass(\"left right\").addClass(\"page center transition\");\r\n            currentPage.removeClass(\"center \"+from).addClass(\"page transition \"+ notFrom);\r\n        }else{\r\n            var p = page.classList;\r\n            var cP = currentPage.classList;\r\n\r\n            p.remove(\"left\", \"right\");\r\n            cP.remove(\"center\", from);\r\n\r\n            p.add(\"page\",\"transition\",\"center\");\r\n            cP.add(\"page\",\"transition\",notFrom);            \r\n        }\r\n        \r\n    };\r\n\r\n}\r\n\r\n//taken from https://github.com/hay/Modernizr/commit/479e424faabe92062292699102340346c82335b8\r\nfunction testPushstate(){    \r\n    var ua = navigator.userAgent;\r\n    var properCheck = !!(window.history && history.pushState);\r\n    if (ua.indexOf(\"Android\") === -1) {\r\n        // No Android, simply return the 'proper' check\r\n        return properCheck;\r\n    } else {\r\n        // We need to check for the stock browser (which identifies itself\r\n        // as 'Mobile Safari'), however, Chrome on Android gives the same\r\n        // identifier (and does support history properly), so check for that too\r\n        if (ua.indexOf(\"Mobile Safari\") !== -1 && ua.indexOf(\"Chrome\") === -1) {\r\n            // Buggy implementation, always return false\r\n            return false;\r\n        } else {\r\n            // Chrome, return the proper check\r\n            return properCheck;\r\n        }\r\n    }\r\n}\r\n\r\n/*\r\n * classList.js: Cross-browser full element.classList implementation.\r\n * 2012-11-15\r\n *\r\n * By Eli Grey, http://eligrey.com\r\n * Public Domain.\r\n * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\r\n */\r\n\r\n/*global self, document, DOMException */\r\n\r\n/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js*/\r\n\r\nif (typeof document !== \"undefined\" && !(\"classList\" in document.documentElement)) {\r\n\r\n(function (view) {\r\n\r\n\"use strict\";\r\n\r\nif (!('HTMLElement' in view) && !('Element' in view)) return;\r\n\r\nvar\r\n      classListProp = \"classList\"\r\n    , protoProp = \"prototype\"\r\n    , elemCtrProto = (view.HTMLElement || view.Element)[protoProp]\r\n    , objCtr = Object\r\n    , strTrim = String[protoProp].trim || function () {\r\n        return this.replace(/^\\s+|\\s+$/g, \"\");\r\n    }\r\n    , arrIndexOf = Array[protoProp].indexOf || function (item) {\r\n        var\r\n              i = 0\r\n            , len = this.length\r\n        ;\r\n        for (; i < len; i++) {\r\n            if (i in this && this[i] === item) {\r\n                return i;\r\n            }\r\n        }\r\n        return -1;\r\n    }\r\n    // Vendors: please allow content code to instantiate DOMExceptions\r\n    , DOMEx = function (type, message) {\r\n        this.name = type;\r\n        this.code = DOMException[type];\r\n        this.message = message;\r\n    }\r\n    , checkTokenAndGetIndex = function (classList, token) {\r\n        if (token === \"\") {\r\n            throw new DOMEx(\r\n                  \"SYNTAX_ERR\"\r\n                , \"An invalid or illegal string was specified\"\r\n            );\r\n        }\r\n        if (/\\s/.test(token)) {\r\n            throw new DOMEx(\r\n                  \"INVALID_CHARACTER_ERR\"\r\n                , \"String contains an invalid character\"\r\n            );\r\n        }\r\n        return arrIndexOf.call(classList, token);\r\n    }\r\n    , ClassList = function (elem) {\r\n        var\r\n              trimmedClasses = strTrim.call(elem.className)\r\n            , classes = trimmedClasses ? trimmedClasses.split(/\\s+/) : []\r\n            , i = 0\r\n            , len = classes.length\r\n        ;\r\n        for (; i < len; i++) {\r\n            this.push(classes[i]);\r\n        }\r\n        this._updateClassName = function () {\r\n            elem.className = this.toString();\r\n        };\r\n    }\r\n    , classListProto = ClassList[protoProp] = []\r\n    , classListGetter = function () {\r\n        return new ClassList(this);\r\n    }\r\n;\r\n// Most DOMException implementations don't allow calling DOMException's toString()\r\n// on non-DOMExceptions. Error's toString() is sufficient here.\r\nDOMEx[protoProp] = Error[protoProp];\r\nclassListProto.item = function (i) {\r\n    return this[i] || null;\r\n};\r\nclassListProto.contains = function (token) {\r\n    token += \"\";\r\n    return checkTokenAndGetIndex(this, token) !== -1;\r\n};\r\nclassListProto.add = function () {\r\n    var\r\n          tokens = arguments\r\n        , i = 0\r\n        , l = tokens.length\r\n        , token\r\n        , updated = false\r\n    ;\r\n    do {\r\n        token = tokens[i] + \"\";\r\n        if (checkTokenAndGetIndex(this, token) === -1) {\r\n            this.push(token);\r\n            updated = true;\r\n        }\r\n    }\r\n    while (++i < l);\r\n\r\n    if (updated) {\r\n        this._updateClassName();\r\n    }\r\n};\r\nclassListProto.remove = function () {\r\n    var\r\n          tokens = arguments\r\n        , i = 0\r\n        , l = tokens.length\r\n        , token\r\n        , updated = false\r\n    ;\r\n    do {\r\n        token = tokens[i] + \"\";\r\n        var index = checkTokenAndGetIndex(this, token);\r\n        if (index !== -1) {\r\n            this.splice(index, 1);\r\n            updated = true;\r\n        }\r\n    }\r\n    while (++i < l);\r\n\r\n    if (updated) {\r\n        this._updateClassName();\r\n    }\r\n};\r\nclassListProto.toggle = function (token, forse) {\r\n    token += \"\";\r\n\r\n    var\r\n          result = this.contains(token)\r\n        , method = result ?\r\n            forse !== true && \"remove\"\r\n        :\r\n            forse !== false && \"add\"\r\n    ;\r\n\r\n    if (method) {\r\n        this[method](token);\r\n    }\r\n\r\n    return !result;\r\n};\r\nclassListProto.toString = function () {\r\n    return this.join(\" \");\r\n};\r\n\r\nif (objCtr.defineProperty) {\r\n    var classListPropDesc = {\r\n          get: classListGetter\r\n        , enumerable: true\r\n        , configurable: true\r\n    };\r\n    try {\r\n        objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\r\n    } catch (ex) { // IE 8 doesn't support enumerable:true\r\n        if (ex.number === -0x7FF5EC54) {\r\n            classListPropDesc.enumerable = false;\r\n            objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\r\n        }\r\n    }\r\n} else if (objCtr[protoProp].__defineGetter__) {\r\n    elemCtrProto.__defineGetter__(classListProp, classListGetter);\r\n}\r\n\r\n}(self));\r\n\r\n}\r\n"]}