mirror of
https://github.com/godotengine/godot-website.git
synced 2026-01-04 06:09:55 +03:00
1 line
28 KiB
JavaScript
1 line
28 KiB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).barba=t()}(this,function(){function A(e,t){for(var n,s=0;s<t.length;s++)n=t[s],n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}function y(e,t,n){return t&&A(e.prototype,t),n&&A(e,n),e}function o(){return(o=Object.assign||function(e){for(var t,s,n=1;n<arguments.length;n++){t=arguments[n];for(s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e}).apply(this,arguments)}function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function S(){return(S=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}()?Reflect.construct:function(e,t,n){var o,s=[null];return s.push.apply(s,t),o=new(Function.bind.apply(e,s)),n&&f(o,n.prototype),o}).apply(null,arguments)}function M(e){var t="function"==typeof Map?new Map:void 0;return(M=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return S(e,arguments,C(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),f(n,e)})(e)}function l(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}"undefined"!=typeof Symbol&&(Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator"))),"undefined"!=typeof Symbol&&(Symbol.asyncIterator||(Symbol.asyncIterator=Symbol("Symbol.asyncIterator")));var n,x,D,H="2.9.7",X=function(){};!function(e){e[e.off=0]="off",e[e.error=1]="error",e[e.warning=2]="warning",e[e.info=3]="info",e[e.debug=4]="debug"}(n||(n={}));var L=n.off,r=function(){function e(e){this.t=e}e.getLevel=function(){return L},e.setLevel=function(e){return L=n[e]};var t=e.prototype;return t.error=function(){for(var t=arguments.length,s=new Array(t),e=0;e<t;e++)s[e]=arguments[e];this.i(console.error,n.error,s)},t.warn=function(){for(var t=arguments.length,s=new Array(t),e=0;e<t;e++)s[e]=arguments[e];this.i(console.warn,n.warning,s)},t.info=function(){for(var t=arguments.length,s=new Array(t),e=0;e<t;e++)s[e]=arguments[e];this.i(console.info,n.info,s)},t.debug=function(){for(var t=arguments.length,s=new Array(t),e=0;e<t;e++)s[e]=arguments[e];this.i(console.log,n.debug,s)},t.i=function(t,n,s){n<=e.getLevel()&&t.apply(console,["["+this.t+"] "].concat(s))},e}(),a=b,R=T,$=g,W=O,U=k,E="/",ce=new RegExp(["(\\\\.)","(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?"].join("|"),"g");function g(e,n){for(var o,i,d,u,h,r=[],w=0,c=0,s="",l=n&&n.delimiter||E,g=n&&n.whitelist||void 0,m=!1;null!==(o=ce.exec(e));){var _=o[0],v=o[1],p=o.index;if(s+=e.slice(c,p),c=p+_.length,v)s+=v[1],m=!0;else{var f="",y=o[2],b=o[3],j=o[4],a=o[5];!m&&s.length&&(d=s.length-1,h=s[d],(!g||g.indexOf(h)>-1)&&(f=h,s=s.slice(0,d))),s&&(r.push(s),s="",m=!1),u=b||j,i=f||l,r.push({name:y||w++,prefix:f,delimiter:i,optional:"?"===a||"*"===a,repeat:"+"===a||"*"===a,pattern:u?oe(u):"[^"+t(i===l?i:i+l)+"]+?"})}}return(s||c<e.length)&&r.push(s+e.substr(c)),r}function T(e,t){return function(n,s){if(o=e.exec(n),!o)return!1;for(var o,a,l=o[0],d=o.index,r={},c=s&&s.decode||decodeURIComponent,i=1;i<o.length;i++)void 0!==o[i]&&(a=t[i-1],r[a.name]=a.repeat?o[i].split(a.delimiter).map(function(e){return c(e,a)}):c(o[i],a));return{path:l,index:d,params:r}}}function O(e,t){for(var s=new Array(e.length),n=0;n<e.length;n++)"object"==typeof e[n]&&(s[n]=new RegExp("^(?:"+e[n].pattern+")$",j(t)));return function(t,n){for(var o,i,a,c,l="",d=n&&n.encode||encodeURIComponent,u=!n||!1!==n.validate,r=0;r<e.length;r++)if(o=e[r],"string"!=typeof o)if(i=t?t[o.name]:void 0,Array.isArray(i)){if(!o.repeat)throw new TypeError('Expected "'+o.name+'" to not repeat, but got array');if(0===i.length){if(o.optional)continue;throw new TypeError('Expected "'+o.name+'" to not be empty')}for(c=0;c<i.length;c++){if(a=d(i[c],o),u&&!s[r].test(a))throw new TypeError('Expected all "'+o.name+'" to match "'+o.pattern+'"');l+=(0===c?o.prefix:o.delimiter)+a}}else if("string"!=typeof i&&"number"!=typeof i&&"boolean"!=typeof i){if(!o.optional)throw new TypeError('Expected "'+o.name+'" to be '+(o.repeat?"an array":"a string"))}else{if(a=d(String(i),o),u&&!s[r].test(a))throw new TypeError('Expected "'+o.name+'" to match "'+o.pattern+'", but got "'+a+'"');l+=o.prefix+a}else l+=o;return l}}function t(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function oe(e){return e.replace(/([=!:$/()])/g,"\\$1")}function j(e){return e&&e.sensitive?"":"i"}function k(e,n,s){for(var o,a,l,h,u=(s=s||{}).strict,m=!1!==s.start,f=!1!==s.end,r=s.delimiter||E,c=[].concat(s.endsWith||[]).map(t).concat("$").join("|"),i=m?"^":"",d=0;d<e.length;d++)o=e[d],"string"==typeof o?i+=t(o):(l=o.repeat?"(?:"+o.pattern+")(?:"+t(o.delimiter)+"(?:"+o.pattern+"))*":o.pattern,n&&n.push(o),i+=o.optional?o.prefix?"(?:"+t(o.prefix)+"("+l+"))?":"("+l+")?":t(o.prefix)+"("+l+")");return f?(u||(i+="(?:"+t(r)+")?"),i+="$"===c?"$":"(?="+c+")"):(a=e[e.length-1],h="string"==typeof a?a[a.length-1]===r:void 0===a,u||(i+="(?:"+t(r)+"(?="+c+"))?"),h||(i+="(?="+t(r)+"|"+c+")")),new RegExp(i,j(s))}function b(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;var n,s=e.source.match(/\((?!\?)/g);if(s)for(n=0;n<s.length;n++)t.push({name:n,prefix:null,delimiter:null,optional:!1,repeat:!1,pattern:null});return e}(e,t):Array.isArray(e)?function(e,t,n){for(var o=[],s=0;s<e.length;s++)o.push(b(e[s],t,n).source);return new RegExp("(?:"+o.join("|")+")",j(n))}(e,t,n):function(e,t,n){return k(g(e,n),t,n)}(e,t,n)}a.match=function(e,t){var n=[];return T(b(e,n,t),n)},a.regexpToFunction=R,a.parse=$,a.compile=function(e,t){return O(g(e,t),t)},a.tokensToFunction=W,a.tokensToRegExp=U;var e={container:"container",history:"history",namespace:"namespace",prefix:"data-barba",prevent:"prevent",wrapper:"wrapper"},i=new(function(){function n(){this.o=e,this.u=new DOMParser}var t=n.prototype;return t.toString=function(e){return e.outerHTML},t.toDocument=function(e){return this.u.parseFromString(e,"text/html")},t.toElement=function(e){var t=document.createElement("div");return t.innerHTML=e,t},t.getHtml=function(e){return void 0===e&&(e=document),this.toString(e.documentElement)},t.getWrapper=function(e){return void 0===e&&(e=document),e.querySelector("["+this.o.prefix+'="'+this.o.wrapper+'"]')},t.getContainer=function(e){return void 0===e&&(e=document),e.querySelector("["+this.o.prefix+'="'+this.o.container+'"]')},t.removeContainer=function(e){document.body.contains(e)&&e.parentNode.removeChild(e)},t.addContainer=function(e,t){var n=this.getContainer();n?this.s(e,n):t.appendChild(e)},t.getNamespace=function(e){void 0===e&&(e=document);var t=e.querySelector("["+this.o.prefix+"-"+this.o.namespace+"]");return t?t.getAttribute(this.o.prefix+"-"+this.o.namespace):null},t.getHref=function(e){if(e.tagName&&"a"===e.tagName.toLowerCase()){if("string"==typeof e.href)return e.href;var t=e.getAttribute("href")||e.getAttribute("xlink:href");if(t)return this.resolveUrl(t.baseVal||t)}return null},t.resolveUrl=function(){for(var e,n,s,o,i,c,a=arguments.length,r=new Array(a),t=0;t<a;t++)r[t]=arguments[t];if(n=r.length,0===n)throw new Error("resolveUrl requires at least one argument; got none.");if(e=document.createElement("base"),e.href=arguments[0],1===n)return e.href;s=document.getElementsByTagName("head")[0],s.insertBefore(e,s.firstChild);for(i=document.createElement("a"),o=1;o<n;o++)i.href=arguments[o],e.href=c=i.href;return s.removeChild(e),c},t.s=function(e,t){t.parentNode.insertBefore(e,t.nextSibling)},n}()),F=new(function(){function n(){this.h=[],this.v=-1}var t=n.prototype;return t.init=function(e,t){this.l="barba";var n,s={ns:t,scroll:{x:window.scrollX,y:window.scrollY},url:e};this.h.push(s),this.v=0,n={from:this.l,index:0,states:[].concat(this.h)},window.history&&window.history.replaceState(n,"",e)},t.change=function(e,t,n){if(n&&n.state){var s=n.state,o=s.index;t=this.m(this.v-o),this.replace(s.states),this.v=o}else this.add(e,t);return t},t.add=function(e,t){var n,s=this.size,o=this.p(t),i={ns:"tmp",scroll:{x:window.scrollX,y:window.scrollY},url:e};switch(this.h.push(i),this.v=s,n={from:this.l,index:s,states:[].concat(this.h)},o){case"push":window.history&&window.history.pushState(n,"",e);break;case"replace":window.history&&window.history.replaceState(n,"",e)}},t.update=function(e,t){var n=t||this.v,s=o({},this.get(n),{},e);this.set(n,s)},t.remove=function(e){e?this.h.splice(e,1):this.h.pop(),this.v--},t.clear=function(){this.h=[],this.v=-1},t.replace=function(e){this.h=e},t.get=function(e){return this.h[e]},t.set=function(e,t){return this.h[e]=t},t.p=function(t){var s="push",n=t,o=e.prefix+"-"+e.history;return n.hasAttribute&&n.hasAttribute(o)&&(s=n.getAttribute(o)),s},t.m=function(e){return Math.abs(e)>1?e>0?"forward":"back":0===e?"popstate":e>0?"back":"forward"},y(n,[{key:"current",get:function(){return this.h[this.v]}},{key:"state",get:function(){return this.h[this.h.length-1]}},{key:"previous",get:function(){return this.v<1?null:this.h[this.v-1]}},{key:"size",get:function(){return this.h.length}}]),n}()),h=function(e,t){try{var n=function(){if(!t.next.html)return Promise.resolve(e).then(function(e){var s,o,n=t.next;e&&(s=i.toElement(e),n.namespace=i.getNamespace(s),n.container=i.getContainer(s),n.html=e,F.update({ns:n.namespace}),o=i.toDocument(e),document.title=o.title)})}();return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},z=a,V={__proto__:null,update:h,nextTick:function(){return new Promise(function(e){window.requestAnimationFrame(e)})},pathToRegexp:z},N=function(){return window.location.origin},d=function(e){return void 0===e&&(e=window.location.href),m(e).port},m=function(e){o=e.match(/:\d+/),null===o?(/^http/.test(e)&&(n=80),/^https/.test(e)&&(n=443)):(a=o[0].substring(1),n=parseInt(a,10));var n,s,o,a,r,t=e.replace(N(),""),c={},i=t.indexOf("#");return i>=0&&(r=t.slice(i+1),t=t.slice(0,i)),s=t.indexOf("?"),s>=0&&(c=w(t.slice(s+1)),t=t.slice(0,s)),{hash:r,path:t,port:n,query:c}},w=function(e){return e.split("&").reduce(function(e,t){var n=t.split("=");return e[n[0]]=n[1],e},{})},p=function(e){return void 0===e&&(e=window.location.href),e.replace(/(\/#.*|\/|#.*)$/,"")},I={__proto__:null,getHref:function(){return window.location.href},getOrigin:N,getPort:d,getPath:function(e){return void 0===e&&(e=window.location.href),m(e).path},parse:m,parseQuery:w,clean:p};function B(e,t,n){return void 0===t&&(t=2e3),new Promise(function(s,o){var i=new XMLHttpRequest;i.onreadystatechange=function(){if(i.readyState===XMLHttpRequest.DONE)if(200===i.status)s(i.responseText);else if(i.status){var t={status:i.status,statusText:i.statusText};n(e,t),o(t)}},i.ontimeout=function(){var s=new Error("Timeout error ["+t+"]");n(e,s),o(s)},i.onerror=function(){var t=new Error("Fetch error");n(e,t),o(t)},i.open("GET",e),i.timeout=t,i.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml"),i.setRequestHeader("x-barba","yes"),i.send()})}D=function(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then};function c(e,t){return void 0===t&&(t={}),function(){for(var s,a,o=arguments.length,i=new Array(o),n=0;n<o;n++)i[n]=arguments[n];return s=!1,a=new Promise(function(n,o){t.async=function(){return s=!0,function(e,t){e?o(e):n(t)}};var a=e.apply(t,i);s||(D(a)?a.then(n,o):n(a))}),a}}var s=new(function(e){function n(){var t;return(t=e.call(this)||this).logger=new r("@barba/core"),t.all=["ready","page","reset","currentAdded","currentRemoved","nextAdded","nextRemoved","beforeOnce","once","afterOnce","before","beforeLeave","leave","afterLeave","beforeEnter","enter","afterEnter","after"],t.registered=new Map,t.init(),t}u(n,e);var t=n.prototype;return t.init=function(){var e=this;this.registered.clear(),this.all.forEach(function(t){e[t]||(e[t]=function(n,s){e.registered.has(t)||e.registered.set(t,new Set),e.registered.get(t).add({ctx:s||{},fn:n})})})},t.do=function(e){for(var n,o=this,s=arguments.length,i=new Array(s>1?s-1:0),t=1;t<s;t++)i[t-1]=arguments[t];return this.registered.has(e)?(n=Promise.resolve(),this.registered.get(e).forEach(function(e){n=n.then(function(){return c(e.fn,e.ctx).apply(void 0,i)})}),n.catch(function(t){o.logger.debug("Hook error ["+e+"]"),o.logger.error(t)})):Promise.resolve()},t.clear=function(){var e=this;this.all.forEach(function(t){delete e[t]}),this.init()},t.help=function(){this.logger.info("Available hooks: "+this.all.join(","));var e=[];this.registered.forEach(function(t,n){return e.push(n)}),this.logger.info("Registered hooks: "+e.join(","))},n}(X)),_=function(){function e(e){if(this.P=[],"boolean"==typeof e)this.g=e;else{var t=Array.isArray(e)?e:[e];this.P=t.map(function(e){return z(e)})}}return e.prototype.checkHref=function(e){if("boolean"==typeof this.g)return this.g;var t=m(e).path;return this.P.some(function(e){return null!==e.exec(t)})},e}(),K=function(e){function n(t){var n;return(n=e.call(this,t)||this).k=new Map,n}u(n,e);var t=n.prototype;return t.set=function(e,t,n){return this.k.set(e,{action:n,request:t}),{action:n,request:t}},t.get=function(e){return this.k.get(e)},t.getRequest=function(e){return this.k.get(e).request},t.getAction=function(e){return this.k.get(e).action},t.has=function(e){return!this.checkHref(e)&&this.k.has(e)},t.delete=function(e){return this.k.delete(e)},t.update=function(e,t){var n=o({},this.k.get(e),{},t);return this.k.set(e,n),n},n}(_),q=function(){return!window.history.pushState},Y=function(e){return!e.el||!e.href},G=function(e){var t=e.event;return t.which>1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey},P=function(e){var t=e.el;return t.hasAttribute("target")&&"_blank"===t.target},Q=function(e){var t=e.el;return void 0!==t.protocol&&window.location.protocol!==t.protocol||void 0!==t.hostname&&window.location.hostname!==t.hostname},Z=function(e){var t=e.el;return void 0!==t.port&&d()!==d(t.href)},J=function(e){var t=e.el;return t.getAttribute&&"string"==typeof t.getAttribute("download")},ee=function(t){return t.el.hasAttribute(e.prefix+"-"+e.prevent)},te=function(t){return Boolean(t.el.closest("["+e.prefix+"-"+e.prevent+'="all"]'))},ne=function(e){var t=e.href;return p(t)===p()&&d(t)===d()},se=function(e){function n(t){var n;return(n=e.call(this,t)||this).suite=[],n.tests=new Map,n.init(),n}u(n,e);var t=n.prototype;return t.init=function(){this.add("pushState",q),this.add("exists",Y),this.add("newTab",G),this.add("blank",P),this.add("corsDomain",Q),this.add("corsPort",Z),this.add("download",J),this.add("preventSelf",ee),this.add("preventAll",te),this.add("sameUrl",ne,!1)},t.add=function(e,t,n){void 0===n&&(n=!0),this.tests.set(e,t),n&&this.suite.push(e)},t.run=function(e,t,n,s){return this.tests.get(e)({el:t,event:n,href:s})},t.checkLink=function(e,t,n){var s=this;return this.suite.some(function(o){return s.run(o,e,t,n)})},n}(_),v=function(e){function t(n,s){void 0===s&&(s="Barba error");for(var o,a=arguments.length,r=new Array(a>2?a-2:0),i=2;i<a;i++)r[i-2]=arguments[i];return(o=e.call.apply(e,[this].concat(r))||this).error=n,o.label=s,Error.captureStackTrace&&Error.captureStackTrace(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(o),t),o.name="BarbaError",o}return u(t,e),t}(M(Error)),ie=function(){function t(e){void 0===e&&(e=[]),this.logger=new r("@barba/core"),this.all=[],this.page=[],this.once=[],this.A=[{name:"namespace",type:"strings"},{name:"custom",type:"function"}],e&&(this.all=this.all.concat(e)),this.update()}var e=t.prototype;return e.add=function(e,t){switch(e){case"rule":this.A.splice(t.position||0,0,t.value);break;case"transition":default:this.all.push(t)}this.update()},e.resolve=function(e,t){n=this,void 0===t&&(t={});var n,r,l,o=t.once?this.once:this.page,o=o.filter(t.self?function(e){return e.name&&"self"===e.name}:function(e){return!e.name||"self"!==e.name}),c=new Map,i=o.find(function(s){var o=!0,i={};return!!t.self&&"self"===s.name||(n.A.reverse().forEach(function(t){o&&(o=n.R(s,t,e,i),s.from&&s.to&&(o=n.R(s,t,e,i,"from")&&n.R(s,t,e,i,"to")),s.from&&!s.to&&(o=n.R(s,t,e,i,"from")),!s.from&&s.to&&(o=n.R(s,t,e,i,"to")))}),c.set(s,i),o)}),a=c.get(i),s=[];return s.push(t.once?"once":"page"),t.self&&s.push("self"),a?(r=[i],Object.keys(a).length>0&&r.push(a),(l=this.logger).info.apply(l,["Transition found ["+s.join(",")+"]"].concat(r))):this.logger.info("No transition found ["+s.join(",")+"]"),i},e.update=function(){var e=this;this.all=this.all.map(function(t){return e.T(t)}).sort(function(e,t){return e.priority-t.priority}).reverse().map(function(e){return delete e.priority,e}),this.page=this.all.filter(function(e){return void 0!==e.leave||void 0!==e.enter}),this.once=this.all.filter(function(e){return void 0!==e.once})},e.R=function(e,t,n,s,o){var m,f,d=!0,u=!1,h=e,a=t.name,l=a,r=a,p=a,i=o?h[o]:h,c="to"===o?n.next:n.current;if(o?i&&i[a]:i[a]){switch(t.type){case"strings":default:m=Array.isArray(i[l])?i[l]:[i[l]],c[l]&&-1!==m.indexOf(c[l])&&(u=!0),-1===m.indexOf(c[l])&&(d=!1);break;case"object":f=Array.isArray(i[r])?i[r]:[i[r]],c[r]?(c[r].name&&-1!==f.indexOf(c[r].name)&&(u=!0),-1===f.indexOf(c[r].name)&&(d=!1)):d=!1;break;case"function":i[p](n)?u=!0:d=!1}u&&(o?(s[o]=s[o]||{},s[o][a]=h[o][a]):s[a]=h[a])}return d},e.O=function(e,t,n){var s=0;return(e[t]||e.from&&e.from[t]||e.to&&e.to[t])&&(s+=Math.pow(10,n),e.from&&e.from[t]&&(s+=1),e.to&&e.to[t]&&(s+=2)),s},e.T=function(e){var t,n=this;return e.priority=0,t=0,this.A.forEach(function(s,o){t+=n.O(e,s.name,o+1)}),e.priority=t,e},t}(),ae=function(){function t(e){void 0===e&&(e=[]),this.logger=new r("@barba/core"),this.S=!1,this.store=new ie(e)}var e=t.prototype;return e.get=function(e,t){return this.store.resolve(e,t)},e.doOnce=function(e){var n,s=e.data,a=e.transition;try{var i=function(){t.S=!1},t=this,o=a||{};return t.S=!0,n=l(function(){return Promise.resolve(t.j("beforeOnce",s,o)).then(function(){return Promise.resolve(t.once(s,o)).then(function(){return Promise.resolve(t.j("afterOnce",s,o)).then(function(){})})})},function(e){t.S=!1,t.logger.debug("Transition error [before/after/once]"),t.logger.error(e)}),Promise.resolve(n&&n.then?n.then(i):i())}catch(e){return Promise.reject(e)}},e.doPage=function(e){var o,n=e.data,d=e.transition,i=e.page,a=e.wrapper;try{var r=function(e){if(u)return e;t.S=!1},u=!1,t=this,s=d||{},c=!0===s.sync||!1;return t.S=!0,o=l(function(){function o(){return Promise.resolve(t.j("before",n,s)).then(function(){var e,o=!1;function r(e){return o?e:Promise.resolve(t.remove(n)).then(function(){return Promise.resolve(t.j("after",n,s)).then(function(){})})}return e=function(){if(c)return l(function(){return Promise.resolve(t.add(n,a)).then(function(){return Promise.resolve(t.j("beforeLeave",n,s)).then(function(){return Promise.resolve(t.j("beforeEnter",n,s)).then(function(){return Promise.resolve(Promise.all([t.leave(n,s),t.enter(n,s)])).then(function(){return Promise.resolve(t.j("afterLeave",n,s)).then(function(){return Promise.resolve(t.j("afterEnter",n,s)).then(function(){})})})})})})},function(e){if(t.M(e))throw new v(e,"Transition error [sync]")});var d=function(e){return o?e:l(function(){var e=function(){if(!1!==r)return Promise.resolve(t.add(n,a)).then(function(){return Promise.resolve(t.j("beforeEnter",n,s)).then(function(){return Promise.resolve(t.enter(n,s,r)).then(function(){return Promise.resolve(t.j("afterEnter",n,s)).then(function(){})})})})}();if(e&&e.then)return e.then(function(){})},function(e){if(t.M(e))throw new v(e,"Transition error [before/after/enter]")})},r=!1,e=l(function(){return Promise.resolve(t.j("beforeLeave",n,s)).then(function(){return Promise.resolve(Promise.all([t.leave(n,s),h(i,n)]).then(function(e){return e[0]})).then(function(e){return r=e,Promise.resolve(t.j("afterLeave",n,s)).then(function(){})})})},function(e){if(t.M(e))throw new v(e,"Transition error [before/after/leave]")});return e&&e.then?e.then(d):d(e)}(),e&&e.then?e.then(r):r(e)})}var e=function(){if(c)return Promise.resolve(h(i,n)).then(function(){})}();return e&&e.then?e.then(o):o()},function(e){throw t.S=!1,e.name&&"BarbaError"===e.name?(t.logger.debug(e.label),t.logger.error(e.error),e):(t.logger.debug("Transition error [page]"),t.logger.error(e),e)}),Promise.resolve(o&&o.then?o.then(r):r(o))}catch(e){return Promise.reject(e)}},e.once=function(e,t){try{return Promise.resolve(s.do("once",e,t)).then(function(){return t.once?c(t.once,t)(e):Promise.resolve()})}catch(e){return Promise.reject(e)}},e.leave=function(e,t){try{return Promise.resolve(s.do("leave",e,t)).then(function(){return t.leave?c(t.leave,t)(e):Promise.resolve()})}catch(e){return Promise.reject(e)}},e.enter=function(e,t,n){try{return Promise.resolve(s.do("enter",e,t)).then(function(){return t.enter?c(t.enter,t)(e,n):Promise.resolve()})}catch(e){return Promise.reject(e)}},e.add=function(e,t){try{return i.addContainer(e.next.container,t),s.do("nextAdded",e),Promise.resolve()}catch(e){return Promise.reject(e)}},e.remove=function(e){try{return i.removeContainer(e.current.container),s.do("currentRemoved",e),Promise.resolve()}catch(e){return Promise.reject(e)}},e.M=function(e){return e.message?!/Timeout error|Fetch error/.test(e.message):!e.status},e.j=function(e,t,n){try{return Promise.resolve(s.do(e,t,n)).then(function(){return n[e]?c(n[e],n)(t):Promise.resolve()})}catch(e){return Promise.reject(e)}},y(t,[{key:"isRunning",get:function(){return this.S},set:function(e){this.S=e}},{key:"hasOnce",get:function(){return this.store.once.length>0}},{key:"hasSelf",get:function(){return this.store.all.some(function(e){return"self"===e.name})}},{key:"shouldWait",get:function(){return this.store.all.some(function(e){return e.to&&!e.to.route||e.sync})}}]),t}(),re=function(){function e(e){var t=this;this.names=["beforeLeave","afterLeave","beforeEnter","afterEnter"],this.byNamespace=new Map,0!==e.length&&(e.forEach(function(e){t.byNamespace.set(e.namespace,e)}),this.names.forEach(function(e){s[e](t.L(e))}))}return e.prototype.L=function(e){var t=this;return function(n){var o=e.match(/enter/i)?n.next:n.current,s=t.byNamespace.get(o.namespace);return s&&s[e]?c(s[e],s)(n):Promise.resolve()}},e}();return Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType)return null}),x={container:null,html:"",namespace:"",url:{hash:"",href:"",path:"",port:null,query:{}}},new(function(){function n(){this.version=H,this.schemaPage=x,this.Logger=r,this.logger=new r("@barba/core"),this.plugins=[],this.hooks=s,this.dom=i,this.helpers=V,this.history=F,this.request=B,this.url=I}var t=n.prototype;return t.use=function(e,t){var n=this.plugins;n.indexOf(e)>-1?this.logger.warn("Plugin ["+e.name+"] already installed."):"function"==typeof e.install?(e.install(this,t),n.push(e)):this.logger.warn("Plugin ["+e.name+'] has no "install" method.')},t.init=function(t){var s,i,n=void 0===t?{}:t,u=n.transitions,x=void 0===u?[]:u,l=n.views,w=void 0===l?[]:l,j=n.schema,d=void 0===j?e:j,C=n.requestError,h=n.timeout,O=void 0===h?2e3:h,c=n.cacheIgnore,p=void 0!==c&&c,g=n.prefetchIgnore,v=void 0!==g&&g,b=n.preventRunning,_=void 0!==b&&b,y=n.prevent,a=void 0===y?null:y,f=n.debug,m=n.logLevel;if(r.setLevel(!0===(void 0!==f&&f)?"debug":void 0===m?"off":m),this.logger.info(this.version),Object.keys(d).forEach(function(t){e[t]&&(e[t]=d[t])}),this.$=C,this.timeout=O,this.cacheIgnore=p,this.prefetchIgnore=v,this.preventRunning=_,this._=this.dom.getWrapper(),!this._)throw new Error("[@barba/core] No Barba wrapper found");if(this._.setAttribute("aria-live","polite"),this.q(),i=this.data.current,!i.container)throw new Error("[@barba/core] No Barba container found");if(this.cache=new K(p),this.prevent=new se(v),this.transitions=new ae(x),this.views=new re(w),null!==a){if("function"!=typeof a)throw new Error("[@barba/core] Prevent should be a function");this.prevent.add("preventCustom",a)}this.history.init(i.url.href,i.namespace),this.B=this.B.bind(this),this.U=this.U.bind(this),this.D=this.D.bind(this),this.F(),this.plugins.forEach(function(e){return e.init()}),s=this.data,s.trigger="barba",s.next=s.current,s.current=o({},this.schemaPage),this.hooks.do("ready",s),this.once(s),this.q()},t.destroy=function(){this.q(),this.H(),this.history.clear(),this.hooks.clear(),this.plugins=[]},t.force=function(e){window.location.assign(e)},t.go=function(e,t,n){var s;if(void 0===t&&(t="barba"),this.transitions.isRunning)this.force(e);else if(!(s="popstate"===t?this.history.current&&this.url.getPath(this.history.current.url)===this.url.getPath(e):this.prevent.run("sameUrl",null,null,e))||this.transitions.hasSelf)return t=this.history.change(e,t,n),n&&(n.stopPropagation(),n.preventDefault()),this.page(e,t,s)},t.once=function(e){try{var t=this;return Promise.resolve(t.hooks.do("beforeEnter",e)).then(function(){function s(){return Promise.resolve(t.hooks.do("afterEnter",e)).then(function(){})}var n=function(){if(t.transitions.hasOnce){var n=t.transitions.get(e,{once:!0});return Promise.resolve(t.transitions.doOnce({transition:n,data:e})).then(function(){})}}();return n&&n.then?n.then(s):s()})}catch(e){return Promise.reject(e)}},t.page=function(e,t,n){try{var i,a,c=function(){var e=s.data;return Promise.resolve(s.hooks.do("page",e)).then(function(){var t=l(function(){var t=s.transitions.get(e,{once:!1,self:n});return Promise.resolve(s.transitions.doPage({data:e,page:a,transition:t,wrapper:s._})).then(function(){s.q()})},function(){0===r.getLevel()&&s.force(e.current.url.href)});if(t&&t.then)return t.then(function(){})})},s=this;return s.data.next.url=o({href:e},s.url.parse(e)),s.data.trigger=t,a=s.cache.has(e)?s.cache.update(e,{action:"click"}).request:s.cache.set(e,s.request(e,s.timeout,s.onRequestError.bind(s,t)),"click").request,i=function(){if(s.transitions.shouldWait)return Promise.resolve(h(a,s.data)).then(function(){})}(),Promise.resolve(i&&i.then?i.then(c):c())}catch(e){return Promise.reject(e)}},t.onRequestError=function(e){this.transitions.isRunning=!1;for(var s=arguments.length,o=new Array(s>1?s-1:0),t=1;t<s;t++)o[t-1]=arguments[t];var n=o[0],a=o[1],i=this.cache.getAction(n);return this.cache.delete(n),!(this.$&&!1===this.$(e,i,n,a)||("click"===i&&this.force(n),1))},t.prefetch=function(e){var t=this;this.cache.has(e)||this.cache.set(e,this.request(e,this.timeout,this.onRequestError.bind(this,"barba")).catch(function(e){t.logger.error(e)}),"prefetch")},t.F=function(){!0!==this.prefetchIgnore&&(document.addEventListener("mouseover",this.B),document.addEventListener("touchstart",this.B)),document.addEventListener("click",this.U),window.addEventListener("popstate",this.D)},t.H=function(){!0!==this.prefetchIgnore&&(document.removeEventListener("mouseover",this.B),document.removeEventListener("touchstart",this.B)),document.removeEventListener("click",this.U),window.removeEventListener("popstate",this.D)},t.B=function(e){var t,s=this,n=this.I(e);n&&(t=this.dom.getHref(n),this.prevent.checkHref(t)||this.cache.has(t)||this.cache.set(t,this.request(t,this.timeout,this.onRequestError.bind(this,n)).catch(function(e){s.logger.error(e)}),"enter"))},t.U=function(e){var t=this.I(e);if(t)return this.transitions.isRunning&&this.preventRunning?(e.preventDefault(),void e.stopPropagation()):void this.go(this.dom.getHref(t),t,e)},t.D=function(e){this.go(this.url.getHref(),"popstate",e)},t.I=function(e){for(var t=e.target;t&&!this.dom.getHref(t);)t=t.parentNode;if(t&&!this.prevent.checkLink(t,e,this.dom.getHref(t)))return t},t.q=function(){var e=this.url.getHref(),t={container:this.dom.getContainer(),html:this.dom.getHtml(),namespace:this.dom.getNamespace(),url:o({href:e},this.url.parse(e))};this.C={current:t,next:o({},this.schemaPage),trigger:void 0},this.hooks.do("reset",this.data)},y(n,[{key:"data",get:function(){return this.C}},{key:"wrapper",get:function(){return this._}}]),n}())}) |