ajaxify 8.2.2 → 8.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ajaxify.js CHANGED
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Copyright Arvind Gupta; MIT Licensed
7
7
  *
8
- * Version 8.2.2
8
+ * Version 8.2.5
9
9
  */
10
10
 
11
11
  /* INTERFACE: See also https://4nf.org/interface/
@@ -47,7 +47,8 @@ Ay.s = {
47
47
  // visual effects settings
48
48
  requestDelay : 0, //in msec - Delay of Pronto request
49
49
  scrolltop : "s", // Smart scroll, true = always scroll to top of page, false = no scroll
50
- bodyClasses : false, // Copy body classes from target page, set to "true" to enable
50
+ scrollDelay : 0, // Minimal delay on all scroll effects in milliseconds, useful in case of e.g. smooth scroll
51
+ bodyClasses : true, // Copy body attributes from target page, set to "false" to disable
51
52
 
52
53
  // script and style handling settings, prefetch
53
54
  deltas : true, // true = deltas loaded, false = all scripts loaded
@@ -82,7 +83,7 @@ Ay.intevents = () => {
82
83
 
83
84
  function _copyAttributes(el, $S, flush) { //copy all attributes of element generically
84
85
  if (flush) [...el.attributes].forEach(e => el.removeAttribute(e.name)); //delete all old attributes
85
- [...$S.attributes].forEach(e => el.setAttribute(e.nodeName, e.nodeValue)); //low-level insertion
86
+ [...$S.attributes].forEach(e => e.nodeValue == "ajy-body" || el.setAttribute(e.nodeName, e.nodeValue)); //low-level insertion
86
87
  }
87
88
 
88
89
  function _on(eventName, elementSelector, handler, el = document) { //e.currentTarget is document when the handler is called
@@ -151,7 +152,7 @@ divid12 = '<div id="ajy-$1"$2';
151
152
  if (o === "body") return qs("#ajy-" + o, Ay.cache.g());
152
153
  if (o === "script") return qa(o, Ay.cache.g());
153
154
 
154
- return qs((o === "title") ? o : ".ajy-" + o, Ay.cache.g());
155
+ return qs((o === "title") ? o : ".ajy-" + o, Ay.cache.g());
155
156
  };
156
157
  let _lSel = $t => (
157
158
  Ay.pass++,
@@ -196,7 +197,7 @@ let _lSel = $t => (
196
197
  signal: ac.signal
197
198
  }).then(r => {
198
199
  if (!r.ok || !_isHtml(r)) {
199
- if (!pre) {location.href = hin; _cl(); Ay.pronto(0, Ay.currentURL);}
200
+ if (!pre) {location.href = hin;}
200
201
  return;
201
202
  }
202
203
  rsp = r; // store response
@@ -609,7 +610,7 @@ let _init_p = () => {
609
610
  },
610
611
  _doRender = () => {
611
612
  Ay.trigger("load");
612
- if(Ay.s.bodyClasses) { var classes = Ay.fn("body").getAttribute("class"); bdy.setAttribute("class", classes ? classes : ""); }
613
+ if(Ay.s.bodyClasses) _copyAttributes(bdy, Ay.fn("body"), true);
613
614
 
614
615
  var href = Ay.Rq("h"), title;
615
616
  href = Ay.Rq("c", href);
@@ -754,7 +755,7 @@ class Scrolly { constructor() { if ('scrollRestoration' in history) history.scro
754
755
  if(Ay.s.scrolltop == "s") this.s(Ay.offsets.l(o)); //smart scroll -> lookup and restore offset
755
756
  else Ay.s.scrolltop && this.s(0); //scrolltop true -> scroll to top of page
756
757
  }
757
- s(o){ window.scrollTo(0, o) } //scroll to offset
758
+ s(o){ setTimeout(() => window.scrollTo(0, o), Ay.s.scrollDelay) } //scroll to offset
758
759
  }
759
760
 
760
761
  // The HAPi class
package/ajaxify.min.js CHANGED
@@ -1 +1 @@
1
- let Ay,rootUrl=location.origin,inlineclass="ajy-inline",bdy,qa=(t,e=document)=>e.querySelectorAll(t),qs=(t,e=document)=>e.querySelector(t);class Ajaxify{constructor(options){function _copyAttributes(t,e,r){r&&[...t.attributes].forEach(e=>t.removeAttribute(e.name)),[...e.attributes].forEach(e=>t.setAttribute(e.nodeName,e.nodeValue))}function _on(t,e,r,s=document){s.addEventListener(t,function(t){for(var s=t.target;s&&s!=this;s=s.parentNode)if(s.matches(e)){r(s,t);break}},!!t.iO("mo"))}String.prototype.iO=function(t){return this.toString().indexOf(t)+1},Ay=this,Ay.s={elements:"body",selector:"a:not(.no-ajaxy)",forms:"form:not(.no-ajaxy)",canonical:!1,refresh:!1,requestDelay:0,scrolltop:"s",bodyClasses:!1,deltas:!0,asyncdef:!0,alwayshints:!1,inline:!0,inlinehints:!1,inlineskip:"adsbygoogle",inlineappend:!0,intevents:!0,style:!0,prefetchoff:!1,verbosity:0,memoryoff:!1,cb:0,pluginon:!0,passCount:!1},Ay.pass=0,Ay.currentURL="",Ay.h={},Ay.parse=((t,e)=>(e=document.createElement("div"),e.insertAdjacentHTML("afterbegin",t),e.firstElementChild)),Ay.trigger=((t,e)=>{let r=document.createEvent("HTMLEvents");r.initEvent("pronto."+t,!0,!1),r.data=e||Ay.Rq("e"),window.dispatchEvent(r),document.dispatchEvent(r)}),Ay.internal=(t=>!!t&&("object"==typeof t&&(t=t.href),""===t||(t.substring(0,rootUrl.length)===rootUrl||!t.iO(":")))),Ay.intevents=(()=>{EventTarget.prototype.ael=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=function(t,e,r=!1){this!==document&&this!==window||"DOMContentLoaded"!=t?this.ael(t,e,r):setTimeout(e)}});class Hints{constructor(t){let e=this;e.list="string"==typeof t&&t.length>0&&t.split(", "),e.find=(t=>!(!t||!e.list)&&e.list.some(e=>t.iO(e)))}}function lg(t){Ay.s.verbosity&&console&&console.log(t)}class GetPage{constructor(){let t=0,e=0,r=0,s="",i=0,n=0,o=0,a=/<\!DOCTYPE[^>]*>/i,y=/<(html|head|link)([\s\>])/gi,l=/<(body)([\s\>])/gi,c=/<\/(html|head|body|link)\>/gi;this.a=function(i,a,y){if(!i)return Ay.cache.g();if(i.iO("/")){if(e=a,r==i)return;return d(i)}if("+"===i)return r=a,e=y,d(a,!0);if("a"!==i){if("s"===i)return(n?1:0)+s;if("-"===i)return A(a);if("x"===i)return t;if(Ay.cache.g())return"body"===i?qs("#ajy-"+i,Ay.cache.g()):"script"===i?qa(i,Ay.cache.g()):qs("title"===i?i:".ajy-"+i,Ay.cache.g())}else n>0&&(g(),o.abort())};let A=t=>(Ay.pass++,f(t),qa("body > script").forEach(t=>!!t.classList.contains(inlineclass)&&t.parentNode.removeChild(t)),Ay.scripts(!0),Ay.scripts("s"),Ay.scripts("c")),d=(t,s)=>(t.iO("#")&&(t=t.split("#")[0]),Ay.Rq("is")||!Ay.cache.l(t)?u(t,s):(r=0,e?e():void 0)),h=(t,e)=>{if(e){var r=e.cloneNode(!0);qa("script",r).forEach(t=>t.parentNode.removeChild(t)),_copyAttributes(t,r,!0),t.innerHTML=r.innerHTML}},f=t=>Ay.cache.g()&&!p(t)&&t.forEach(function(t){h(t,qs("#"+t.getAttribute("id"),Ay.cache.g()))}),p=t=>"body"==t[0].tagName.toLowerCase()&&(h(bdy,qs("#ajy-body",Ay.cache.g())),1),u=(e,r)=>{var i=Ay.Rq("is");s=r?"p":"c",o=new AbortController,n++,fetch(e,{method:i?"POST":"GET",cache:"default",mode:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:i?Ay.Rq("d"):null,signal:o.signal}).then(s=>{if(s.ok&&q(s))return t=s,s.text();r||(location.href=e,g(),Ay.pronto(0,Ay.currentURL))}).then(r=>{if(g(1),r)return t.responseText=r,m(e,r)}).catch(t=>{if("AbortError"!==t.name)try{return Ay.trigger("error",t),lg("Response text : "+t.message),m(e,t.message,t)}catch(t){}}).finally(()=>n--)},g=t=>(r=0,t?0:e=0),m=(t,r,s)=>Ay.cache.s(Ay.parse(v(r)))&&(Ay.pages.p([t,Ay.cache.g()]),1)&&e&&e(s),q=t=>(i=t.headers.get("content-type"))&&(i.iO("html")||i.iO("form-")),v=t=>document.createElement("html").innerHTML=w(t).trim(),w=t=>String(t).replace(a,"").replace(y,'<div class="ajy-$1"$2').replace(l,'<div id="ajy-$1"$2').replace(c,"</div>")}}class Scripts{constructor(){let $s=!1,txt=0;Ay.h.inlinehints=new Hints(Ay.s.inlinehints),Ay.h.inlineskip=new Hints(Ay.s.inlineskip),this.a=function(t){return"i"===t?($s||($s={}),!0):"s"===t?_allstyle($s.y):"1"===t?(Ay.detScripts.d($s),_addScripts($s)):"c"===t?!(!Ay.s.canonical||!$s.can)&&$s.can.getAttribute("href"):"d"===t?Ay.detScripts.d($s):t&&"object"==typeof t?_onetxt(t):void(Ay.scripts("d")||_addScripts($s))};let _allstyle=t=>!Ay.s.style||!t||(qa("style",qs("head")).forEach(t=>t.parentNode.removeChild(t)),t.forEach(t=>_addstyle(t.textContent))),_onetxt=t=>!(txt=t.textContent).iO(").ajaxify(")&&!txt.iO("new Ajaxify(")&&(Ay.s.inline&&!Ay.h.inlineskip.find(txt)||t.classList.contains("ajaxy")||Ay.h.inlinehints.find(txt))&&_addtxt(t),_addtxt=$s=>{if(txt&&txt.length){if(Ay.s.inlineappend||$s.getAttribute("type")&&!$s.getAttribute("type").iO("text/javascript"))try{return _apptxt($s)}catch(t){}try{eval(txt)}catch(t){lg("Error in inline script : "+txt+"\nError code : "+t)}}},_apptxt=t=>{let e=document.createElement("script");_copyAttributes(e,t),e.classList.add(inlineclass);try{e.appendChild(document.createTextNode(t.textContent))}catch(r){e.text=t.textContent}return qs("body").appendChild(e)},_addstyle=t=>qs("head").appendChild(Ay.parse("<style>"+t+"</style>")),_addScripts=t=>(Ay.addAll(t.c,"href"),Ay.addAll(t.j,"src"))}}class AddAll{constructor(){let t=[],e=[],r=[],s=0,i=0;Ay.h.alwayshints=new Hints(Ay.s.alwayshints),this.a=function(c,A){if(c.length){if("n"===Ay.s.deltas)return!0;if(s=A,!Ay.s.deltas)return n(c);t="href"==s?e:r,Ay.pass?c.forEach(function(e){var r=e;if(i=r.getAttribute(s),a(r))return l(),void y(r);i?t.some(t=>t==i)||(t.push(i),y(r)):"href"==s||r.classList.contains("no-ajaxy")||Ay.scripts(r)}):o(c)}};let n=t=>t.forEach(t=>y(t)),o=e=>e.forEach(e=>(i=e.getAttribute(s))?t.push(i):0),a=t=>"always"==t.getAttribute("data-class")||Ay.h.alwayshints.find(i),y=t=>{if(i=t.getAttribute(s),"href"==s)return qs("head").appendChild(Ay.parse('<link rel="stylesheet" type="text/css" href="*" />'.replace("*",i)));if(!i)return Ay.scripts(t);var e=document.createElement("script");e.async=Ay.s.asyncdef,_copyAttributes(e,t),qs("head").appendChild(e)},l=()=>qa(("href"==s?'link[href*="!"]':'script[src*="!"]').replace("!",i)).forEach(t=>t.parentNode.removeChild(t))}}class RQ{constructor(){let t=0,e=0,r=0,s=0,i=0,n=0,o=!1;this.a=function(y,l,c){if("="===y)return l?n===Ay.currentURL||n===o:n===Ay.currentURL;if("!"===y)return o=n;if("?"===y){let t=Ay.fn("s");return t.iO("0")||l||Ay.fn("a"),"1c"===t&&l?!1:("1p"===t&&l&&(!Ay.s.memoryoff||Ay.fn("a")),!0)}if("v"===y){if(!l)return!1;if(a(l,c),!Ay.internal(n))return!1;y="i"}return"i"===y?(t=!1,e=null,r=!0,s=!1,n):"h"===y?(l&&("string"==typeof l&&(i=0),n=l.href?l.href:l),n):"e"===y?(l&&a(l,c),i||n):"p"===y?(void 0!==l&&(r=l),r):"is"===y?(void 0!==l&&(t=l),t):"d"===y?(l&&(e=l),e):"C"===y?(void 0!==l&&(s=l),s):"c"===y?!s||s===l||l.iO("#")||l.iO("?")?l:s:void 0};let a=(t,e)=>n="string"!=typeof(i=t)?i.currentTarget&&i.currentTarget.href||e&&e.href||i.currentTarget.action||i.originalEvent.state.url:i}}class Frms{constructor(){let t=0,e=0;this.a=function(i,n){Ay.s.forms&&i&&("d"===i&&(e=n),"a"===i&&e.forEach(e=>{Array.prototype.filter.call(qa(Ay.s.forms,e),function(t){let e=t.getAttribute("action");return Ay.internal(e&&e.length>0?e:Ay.currentURL)}).forEach(e=>{e.addEventListener("submit",e=>{t=e.target,n=r();var i="get",o=t.getAttribute("method");o.length>0&&"post"==o.toLowerCase()&&(i="post");var a,y=t.getAttribute("action");return a=y&&y.length>0?y:Ay.currentURL,Ay.Rq("v",e),"get"==i?a=s(a,n):(Ay.Rq("is",!0),Ay.Rq("d",n)),Ay.trigger("submit",a),Ay.pronto(0,{href:a}),e.preventDefault(),!1})})}))};let r=()=>{let e=new FormData(t),r=qs("input[name][type=submit]",t);return r&&e.append(r.getAttribute("name"),r.value),e},s=(t,e)=>{let r="";for(var[s,i]of(t.iO("?")&&(t=t.substring(0,t.iO("?"))),e.entries()))r+=`${s}=${encodeURIComponent(i)}&`;return`${t}?${r.slice(0,-1)}`}}}class Pronto{constructor(){let t=0,e=0,r=0;Ay.h.prefetchoff=new Hints(Ay.s.prefetchoff),this.a=function(e,r){if(r)return"i"===r?(bdy=document.body,e.length||(e="body"),t=qa(e),Ay.frms=(new Frms).a,Ay.s.idleTime&&(Ay.slides=new classSlides(Ay).a),Ay.scrolly=new Scrolly,(Ay.offsets=new Offsets).f(),Ay.hApi=new HApi,s(),e):"object"==typeof r?(Ay.Rq("h",r),void y()):void(r.iO("/")&&(Ay.Rq("h",r),y(!0)))};let s=()=>{Ay.hApi.r(window.location.href),window.addEventListener("popstate",c),!0!==Ay.s.prefetchoff&&(_on("mouseenter",Ay.s.selector,i),_on("mouseleave",Ay.s.selector,n),_on("touchstart",Ay.s.selector,o)),_on("click",Ay.s.selector,a,bdy),Ay.frms("d",qa("body")),Ay.frms("a"),Ay.frms("d",t),Ay.s.idleTime&&Ay.slides("i")},i=(t,e)=>(n(),r=setTimeout(()=>o(t,e),150)),n=()=>clearTimeout(r),o=(t,e)=>{if(!0!==Ay.s.prefetchoff&&Ay.Rq("?",!0)){var r=Ay.Rq("v",e,t);Ay.Rq("=",!0)||!r||Ay.h.prefetchoff.find(r)||Ay.fn("+",r,()=>!1)}},a=(t,e,r)=>{if(Ay.Rq("?")){var s=Ay.Rq("v",e,t);if(s&&!h(t)){if("#"===s.substr(-1))return!0;if(f())return Ay.hApi.r(s),!0;Ay.scrolly.p(),(t=>(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()))(e),Ay.Rq("=")&&Ay.hApi.r(),!Ay.s.refresh&&Ay.Rq("=")||y(r)}}},y=t=>{Ay.Rq("!"),t&&Ay.Rq("p",!1),Ay.trigger("request"),Ay.fn(Ay.Rq("h"),t=>{t&&(lg("Error in _request : "+t),Ay.trigger("error",t)),l()})},l=()=>{Ay.trigger("beforeload"),Ay.s.requestDelay?(e&&clearTimeout(e),e=setTimeout(A,Ay.s.requestDelay)):A()},c=t=>{var e=window.location.href;Ay.Rq("i"),Ay.Rq("h",e),Ay.Rq("p",!1),Ay.scrolly.p(),e&&e!==Ay.currentURL&&(Ay.trigger("request"),Ay.fn(e,l))},A=()=>{if(Ay.trigger("load"),Ay.s.bodyClasses){var e=Ay.fn("body").getAttribute("class");bdy.setAttribute("class",e||"")}var r,s=Ay.Rq("h");s=Ay.Rq("c",s),Ay.Rq("p")?Ay.hApi.p(s):Ay.hApi.r(s),(r=Ay.fn("title"))&&(qs("title").innerHTML=r.innerHTML),Ay.Rq("C",Ay.fn("-",t)),Ay.frms("a"),Ay.scrolly.l(),d(s),Ay.trigger("render"),Ay.s.passCount&&(qs("#"+Ay.s.passCount).innerHTML="Pass: "+Ay.pass),Ay.s.cb&&Ay.s.cb()},d=t=>{t="/"+t.replace(rootUrl,""),void 0!==window.ga?window.ga("send","pageview",t):void 0!==window._gaq&&window._gaq.push(["_trackPageview",t])},h=t=>{var e=Ay.Rq("h"),r=Ay.Rq("e"),s=r.currentTarget.target||t.target;return r.which>1||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||"_blank"===s||e.iO("wp-login")||e.iO("wp-admin")},f=()=>{var t=Ay.Rq("e");return t.hash&&t.href.replace(t.hash,"")===window.location.href.replace(location.hash,"")||t.href===window.location.href+"#"}}}Ay.init=(()=>{let t=options;return t&&"string"==typeof t?Ay.pronto(0,t):("complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?run():document.addEventListener("DOMContentLoaded",run),Ay)});let run=()=>{Ay.s=Object.assign(Ay.s,options),(Ay.pages=new Pages).f(),Ay.pronto=(new Pronto).a,load()&&(Ay.pronto(Ay.s.elements,"i"),Ay.s.deltas&&Ay.scripts("1"))},load=()=>window.history&&window.history.pushState&&window.history.replaceState&&Ay.s.pluginon?(lg("Ajaxify loaded..."),Ay.s.intevents&&Ay.intevents(),Ay.scripts=(new Scripts).a,Ay.scripts("i"),Ay.cache=new Cache,Ay.memory=new Memory,Ay.h.memoryoff=new Hints(Ay.s.memoryoff),Ay.fn=Ay.getPage=(new GetPage).a,Ay.detScripts=new DetScripts,Ay.addAll=(new AddAll).a,Ay.Rq=(new RQ).a,!0):(lg("Gracefully exiting..."),!1);Ay.init()}}class Cache{g(){return this.d}s(t){return this.d=t}l(t){let e=Ay.memory.l(t);return this.s(!1===e?e:Ay.pages.l(e))}}class Memory{l(t){return!(!t||!0===Ay.s.memoryoff)&&(!1===Ay.s.memoryoff?t:!Ay.h.memoryoff.find(t)&&t)}}class Pages{f(){this.d=[]}l(t){if(this.P(t))return this.d[this.i][1]}p(t){this.P(t[0])?this.d[this.i]=t:this.d.push(t)}P(t){return(this.i=this.d.findIndex(e=>e[0]==t))+1}}class DetScripts{d(t){if(!(this.h=Ay.pass?Ay.fn("head"):qs("head")))return!0;this.lk=qa(Ay.pass?".ajy-link":"link",this.h),t.j=Ay.pass?Ay.fn("script"):qa("script"),t.c=this.x("stylesheet"),t.y=qa("style",this.h),t.can=this.x("canonical")}x(t){return Array.prototype.filter.call(this.lk,e=>e.getAttribute("rel").iO(t))}}class Offsets{f(){this.d=[]}l(t){return t.iO("?")&&(t=t.split("?")[0]),this.O(t)?this.d[this.i][1]:0}p(t){let e=t.iO("?")?t.split("?")[0]:t,r=e.iO("#")?e.split("#")[0]:e,s=[r,document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop];this.O(r)?this.d[this.i]=s:this.d.push(s)}O(t){return(this.i=this.d.findIndex(e=>e[0]==t))+1}}class Scrolly{constructor(){"scrollRestoration"in history&&(history.scrollRestoration="manual")}p(){"s"==Ay.s.scrolltop&&Ay.offsets.p(Ay.currentURL)}l(){let t=Ay.currentURL;if(t.iO("#")&&t.iO("#")<t.length-1){let e=qs("#"+t.split("#")[1]);if(!e)return;let r=e.getBoundingClientRect();return this.s(r.top+window.pageYOffset-document.documentElement.clientTop)}"s"==Ay.s.scrolltop?this.s(Ay.offsets.l(t)):Ay.s.scrolltop&&this.s(0)}s(t){window.scrollTo(0,t)}}class HApi{r(t){let e=this.u(t);history.replaceState({url:e},"state-"+e,e)}p(t){let e=this.u(t);e!==window.location.href&&history.pushState({url:e},"state-"+e,e)}u(t){return t&&(Ay.currentURL=t),Ay.currentURL}}
1
+ let Ay,rootUrl=location.origin,inlineclass="ajy-inline",bdy,qa=(a,b=document)=>b.querySelectorAll(a),qs=(a,b=document)=>b.querySelector(a);class Ajaxify{constructor(options){function _copyAttributes(el,$S,flush){flush&&[...el.attributes].forEach(a=>el.removeAttribute(a.name)),[...$S.attributes].forEach(a=>"ajy-body"==a.nodeValue||el.setAttribute(a.nodeName,a.nodeValue))}function _on(eventName,elementSelector,handler,el=document){el.addEventListener(eventName,function(b){for(var a=b.target;a&&a!=this;a=a.parentNode)if(a.matches(elementSelector)){handler(a,b);break}},!!eventName.iO("mo"))}String.prototype.iO=function(a){return this.toString().indexOf(a)+1},Ay=this,Ay.s={elements:"body",selector:"a:not(.no-ajaxy)",forms:"form:not(.no-ajaxy)",canonical:!1,refresh:!1,requestDelay:0,scrolltop:"s",scrollDelay:0,bodyClasses:!0,deltas:!0,asyncdef:!0,alwayshints:!1,inline:!0,inlinehints:!1,inlineskip:"adsbygoogle",inlineappend:!0,intevents:!0,style:!0,prefetchoff:!1,verbosity:0,memoryoff:!1,cb:0,pluginon:!0,passCount:!1},Ay.pass=0,Ay.currentURL="",Ay.h={},Ay.parse=(b,a)=>((a=document.createElement("div")).insertAdjacentHTML("afterbegin",b),a.firstElementChild),Ay.trigger=(b,c)=>{let a=document.createEvent("HTMLEvents");a.initEvent("pronto."+b,!0,!1),a.data=c||Ay.Rq("e"),window.dispatchEvent(a),document.dispatchEvent(a)},Ay.internal=a=>!!a&&("object"==typeof a&&(a=a.href),""===a||a.substring(0,rootUrl.length)===rootUrl||!a.iO(":")),Ay.intevents=()=>{let a=function(a,b,c=!1){(this===document||this===window)&&"DOMContentLoaded"==a?setTimeout(b):this.ael(a,b,c)};EventTarget.prototype.ael=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=a};class Hints{constructor(a){let _=this;_.list="string"==typeof a&&a.length>0&&a.split(", "),_.find=a=>!!a&&!!_.list&&_.list.some(b=>a.iO(b))}}function lg(m){Ay.s.verbosity&&console&&console.log(m)}class GetPage{constructor(){let a=0,b=0,c=0,d="",e=0,f=0,g=0,h=/<\!DOCTYPE[^>]*>/i,i=/<(html|head|link)([\s\>])/gi,j=/<(body)([\s\>])/gi,k=/<\/(html|head|body|link)\>/gi,l='<div class="ajy-$1"$2',m='<div id="ajy-$1"$2';this.a=function(e,h,i){if(!e)return Ay.cache.g();if(e.iO("/")){if(b=h,c==e)return;return o(e)}if("+"===e)return c=h,b=i,o(h,!0);if("a"===e){f>0&&(t(),g.abort());return}return"s"===e?(f?1:0)+d:"-"===e?n(h):"x"===e?a:Ay.cache.g()?"body"===e?qs("#ajy-"+e,Ay.cache.g()):"script"===e?qa(e,Ay.cache.g()):qs("title"===e?e:".ajy-"+e,Ay.cache.g()):void 0};let n=a=>(Ay.pass++,q(a),qa("body > script").forEach(a=>!!a.classList.contains(inlineclass)&&a.parentNode.removeChild(a)),Ay.scripts(!0),Ay.scripts("s"),Ay.scripts("c")),o=(a,d)=>(a.iO("#")&&(a=a.split("#")[0]),Ay.Rq("is")||!Ay.cache.l(a))?s(a,d):(c=0,b)?b():void 0,p=(b,c)=>{if(c){var a=c.cloneNode(!0);qa("script",a).forEach(a=>a.parentNode.removeChild(a)),_copyAttributes(b,a,!0),b.innerHTML=a.innerHTML}},q=a=>Ay.cache.g()&&!r(a)&&a.forEach(function(a){p(a,qs("#"+a.getAttribute("id"),Ay.cache.g()))}),r=a=>"body"==a[0].tagName.toLowerCase()&&(p(bdy,qs("#ajy-body",Ay.cache.g())),1),s=(c,e)=>{var b=Ay.Rq("is");d=e?"p":"c",g=new AbortController,f++,fetch(c,{method:b?"POST":"GET",cache:"default",mode:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:b?Ay.Rq("d"):null,signal:g.signal}).then(b=>{if(!b.ok||!v(b)){e||(location.href=c);return}return a=b,b.text()}).then(b=>{if(t(1),b)return a.responseText=b,u(c,b)}).catch(a=>{if("AbortError"!==a.name)try{return Ay.trigger("error",a),lg("Response text : "+a.message),u(c,a.message,a)}catch(b){}}).finally(()=>f--)},t=a=>(c=0,a?0:b=0),u=(a,c,d)=>Ay.cache.s(Ay.parse(w(c)))&&(Ay.pages.p([a,Ay.cache.g()]),1)&&b&&b(d),v=a=>(e=a.headers.get("content-type"))&&(e.iO("html")||e.iO("form-")),w=a=>document.createElement("html").innerHTML=x(a).trim(),x=a=>String(a).replace(h,"").replace(i,l).replace(j,m).replace(k,"</div>")}}class Scripts{constructor(){let $s=!1,txt=0;Ay.h.inlinehints=new Hints(Ay.s.inlinehints),Ay.h.inlineskip=new Hints(Ay.s.inlineskip),this.a=function(a){return"i"===a?($s||($s={}),!0):"s"===a?_allstyle($s.y):"1"===a?(Ay.detScripts.d($s),_addScripts($s)):"c"===a?!!Ay.s.canonical&&!!$s.can&&$s.can.getAttribute("href"):"d"===a?Ay.detScripts.d($s):a&&"object"==typeof a?_onetxt(a):void(Ay.scripts("d")||_addScripts($s))};let _allstyle=a=>!Ay.s.style||!a||(qa("style",qs("head")).forEach(a=>a.parentNode.removeChild(a)),a.forEach(a=>_addstyle(a.textContent))),_onetxt=a=>!(txt=a.textContent).iO(").ajaxify(")&&!txt.iO("new Ajaxify(")&&(Ay.s.inline&&!Ay.h.inlineskip.find(txt)||a.classList.contains("ajaxy")||Ay.h.inlinehints.find(txt))&&_addtxt(a),_addtxt=$s=>{if(txt&&txt.length){if(Ay.s.inlineappend||$s.getAttribute("type")&&!$s.getAttribute("type").iO("text/javascript"))try{return _apptxt($s)}catch(e){}try{eval(txt)}catch(e1){lg("Error in inline script : "+txt+"\nError code : "+e1)}}},_apptxt=b=>{let a=document.createElement("script");_copyAttributes(a,b),a.classList.add(inlineclass);try{a.appendChild(document.createTextNode(b.textContent))}catch(c){a.text=b.textContent}return qs("body").appendChild(a)},_addstyle=a=>qs("head").appendChild(Ay.parse("<style>"+a+"</style>")),_addScripts=a=>(Ay.addAll(a.c,"href"),Ay.addAll(a.j,"src"))}}class AddAll{constructor(){let a=[],b=[],c=[],d=0,e=0,f='<link rel="stylesheet" type="text/css" href="*" />',g='link[href*="!"]',h='script[src*="!"]';Ay.h.alwayshints=new Hints(Ay.s.alwayshints),this.a=function(f,g){if(f.length){if("n"===Ay.s.deltas)return!0;if(d=g,!Ay.s.deltas)return i(f);a="href"==d?b:c,Ay.pass?f.forEach(function(c){var b=c;if(e=b.getAttribute(d),k(b)){m(),l(b);return}if(e){a.some(a=>a==e)||(a.push(e),l(b));return}"href"==d||b.classList.contains("no-ajaxy")||Ay.scripts(b)}):j(f)}};let i=a=>a.forEach(a=>l(a)),j=b=>b.forEach(b=>(e=b.getAttribute(d))?a.push(e):0),k=a=>"always"==a.getAttribute("data-class")||Ay.h.alwayshints.find(e),l=a=>{if(e=a.getAttribute(d),"href"==d)return qs("head").appendChild(Ay.parse(f.replace("*",e)));if(!e)return Ay.scripts(a);var b=document.createElement("script");b.async=Ay.s.asyncdef,_copyAttributes(b,a),qs("head").appendChild(b)},m=()=>qa(("href"==d?g:h).replace("!",e)).forEach(a=>a.parentNode.removeChild(a))}}class RQ{constructor(){let a=0,b=0,c=0,d=0,e=0,f=0,g=!1;this.a=function(j,i,l){if("="===j)return i?f===Ay.currentURL||f===g:f===Ay.currentURL;if("!"===j)return g=f;if("?"===j){let k=Ay.fn("s");return k.iO("0")||i||Ay.fn("a"),("1c"!==k||!i)&&("1p"===k&&i&&Ay.s.memoryoff&&Ay.fn("a"),!0)}if("v"===j){if(!i||(h(i,l),!Ay.internal(f)))return!1;j="i"}return"i"===j?(a=!1,b=null,c=!0,d=!1,f):"h"===j?(i&&("string"==typeof i&&(e=0),f=i.href?i.href:i),f):"e"===j?(i&&h(i,l),e||f):"p"===j?(void 0!==i&&(c=i),c):"is"===j?(void 0!==i&&(a=i),a):"d"===j?(i&&(b=i),b):"C"===j?(void 0!==i&&(d=i),d):"c"===j?!d||d===i||i.iO("#")||i.iO("?")?i:d:void 0};let h=(b,a)=>f="string"!=typeof(e=b)?e.currentTarget&&e.currentTarget.href||a&&a.href||e.currentTarget.action||e.originalEvent.state.url:e}}class Frms{constructor(){let a=0,b=0;this.a=function(e,f){Ay.s.forms&&e&&("d"===e&&(b=f),"a"===e&&b.forEach(b=>{Array.prototype.filter.call(qa(Ay.s.forms,b),function(b){let a=b.getAttribute("action");return Ay.internal(a&&a.length>0?a:Ay.currentURL)}).forEach(b=>{b.addEventListener("submit",e=>{a=e.target,f=c();var h="get",i=a.getAttribute("method");i.length>0&&"post"==i.toLowerCase()&&(h="post");var b,g=a.getAttribute("action");return b=g&&g.length>0?g:Ay.currentURL,Ay.Rq("v",e),"get"==h?b=d(b,f):(Ay.Rq("is",!0),Ay.Rq("d",f)),Ay.trigger("submit",b),Ay.pronto(0,{href:b}),e.preventDefault(),!1})})}))};let c=()=>{let c=new FormData(a),b=qs("input[name][type=submit]",a);return b&&c.append(b.getAttribute("name"),b.value),c},d=(a,c)=>{let b="";for(var[d,e]of(a.iO("?")&&(a=a.substring(0,a.iO("?"))),c.entries()))b+=`${d}=${encodeURIComponent(e)}&`;return`${a}?${b.slice(0,-1)}`}}}class Pronto{constructor(){let a=0,b=0,c=150,d=0;Ay.h.prefetchoff=new Hints(Ay.s.prefetchoff),this.a=function(c,b){if(b){if("i"===b)return bdy=document.body,c.length||(c="body"),a=qa(c),Ay.frms=new Frms().a,Ay.s.idleTime&&(Ay.slides=new classSlides(Ay).a),Ay.scrolly=new Scrolly,(Ay.offsets=new Offsets).f(),Ay.hApi=new HApi,e(),c;if("object"==typeof b){Ay.Rq("h",b),k();return}b.iO("/")&&(Ay.Rq("h",b),k(!0))}};let e=()=>{Ay.hApi.r(window.location.href),window.addEventListener("popstate",m),!0!==Ay.s.prefetchoff&&(_on("mouseenter",Ay.s.selector,f),_on("mouseleave",Ay.s.selector,g),_on("touchstart",Ay.s.selector,h)),_on("click",Ay.s.selector,j,bdy),Ay.frms("d",qa("body")),Ay.frms("a"),Ay.frms("d",a),Ay.s.idleTime&&Ay.slides("i")},f=(a,b)=>(g(),d=setTimeout(()=>h(a,b),c)),g=()=>clearTimeout(d),h=(b,c)=>{if(!0!==Ay.s.prefetchoff&&Ay.Rq("?",!0)){var a=Ay.Rq("v",c,b);Ay.Rq("=",!0)||!a||Ay.h.prefetchoff.find(a)||Ay.fn("+",a,()=>!1)}},i=a=>(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation()),j=(b,c,d)=>{if(Ay.Rq("?")){var a=Ay.Rq("v",c,b);if(!(!a||p(b))){if("#"===a.substr(-1))return!0;if(q())return Ay.hApi.r(a),!0;Ay.scrolly.p(),i(c),Ay.Rq("=")&&Ay.hApi.r(),(Ay.s.refresh||!Ay.Rq("="))&&k(d)}}},k=a=>{Ay.Rq("!"),a&&Ay.Rq("p",!1),Ay.trigger("request"),Ay.fn(Ay.Rq("h"),a=>{a&&(lg("Error in _request : "+a),Ay.trigger("error",a)),l()})},l=()=>{Ay.trigger("beforeload"),Ay.s.requestDelay?(b&&clearTimeout(b),b=setTimeout(n,Ay.s.requestDelay)):n()},m=b=>{var a=window.location.href;Ay.Rq("i"),Ay.Rq("h",a),Ay.Rq("p",!1),Ay.scrolly.p(),a&&a!==Ay.currentURL&&(Ay.trigger("request"),Ay.fn(a,l))},n=()=>{Ay.trigger("load"),Ay.s.bodyClasses&&_copyAttributes(bdy,Ay.fn("body"),!0);var c,b=Ay.Rq("h");b=Ay.Rq("c",b),Ay.Rq("p")?Ay.hApi.p(b):Ay.hApi.r(b),(c=Ay.fn("title"))&&(qs("title").innerHTML=c.innerHTML),Ay.Rq("C",Ay.fn("-",a)),Ay.frms("a"),Ay.scrolly.l(),o(b),Ay.trigger("render"),Ay.s.passCount&&(qs("#"+Ay.s.passCount).innerHTML="Pass: "+Ay.pass),Ay.s.cb&&Ay.s.cb()},o=a=>{a="/"+a.replace(rootUrl,""),void 0!==window.ga?window.ga("send","pageview",a):void 0!==window._gaq&&window._gaq.push(["_trackPageview",a])},p=c=>{var b=Ay.Rq("h"),a=Ay.Rq("e"),d=a.currentTarget.target||c.target;return a.which>1||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||"_blank"===d||b.iO("wp-login")||b.iO("wp-admin")},q=()=>{var a=Ay.Rq("e");return a.hash&&a.href.replace(a.hash,"")===window.location.href.replace(location.hash,"")||a.href===window.location.href+"#"}}}Ay.init=()=>{let a=options;return a&&"string"==typeof a?Ay.pronto(0,a):("complete"!==document.readyState&&("loading"===document.readyState||document.documentElement.doScroll)?document.addEventListener("DOMContentLoaded",run):run(),Ay)};let run=()=>{Ay.s=Object.assign(Ay.s,options),(Ay.pages=new Pages).f(),Ay.pronto=new Pronto().a,load()&&(Ay.pronto(Ay.s.elements,"i"),Ay.s.deltas&&Ay.scripts("1"))},load=()=>window.history&&window.history.pushState&&window.history.replaceState&&Ay.s.pluginon?(lg("Ajaxify loaded..."),Ay.s.intevents&&Ay.intevents(),Ay.scripts=new Scripts().a,Ay.scripts("i"),Ay.cache=new Cache,Ay.memory=new Memory,Ay.h.memoryoff=new Hints(Ay.s.memoryoff),Ay.fn=Ay.getPage=new GetPage().a,Ay.detScripts=new DetScripts,Ay.addAll=new AddAll().a,Ay.Rq=new RQ().a,!0):(lg("Gracefully exiting..."),!1);Ay.init()}}class Cache{g(){return this.d}s(a){return this.d=a}l(b){let a=Ay.memory.l(b);return this.s(!1===a?a:Ay.pages.l(a))}}class Memory{l(a){return!!a&& !0!==Ay.s.memoryoff&&(!1===Ay.s.memoryoff?a:!Ay.h.memoryoff.find(a)&&a)}}class Pages{f(){this.d=[]}l(a){if(this.P(a))return this.d[this.i][1]}p(a){this.P(a[0])?this.d[this.i]=a:this.d.push(a)}P(a){return(this.i=this.d.findIndex(b=>b[0]==a))+1}}class DetScripts{d(a){if(!(this.h=Ay.pass?Ay.fn("head"):qs("head")))return!0;this.lk=qa(Ay.pass?".ajy-link":"link",this.h),a.j=Ay.pass?Ay.fn("script"):qa("script"),a.c=this.x("stylesheet"),a.y=qa("style",this.h),a.can=this.x("canonical")}x(a){return Array.prototype.filter.call(this.lk,b=>b.getAttribute("rel").iO(a))}}class Offsets{f(){this.d=[]}l(a){return a.iO("?")&&(a=a.split("?")[0]),this.O(a)?this.d[this.i][1]:0}p(a){let b=a.iO("?")?a.split("?")[0]:a,c=b.iO("#")?b.split("#")[0]:b,d=[c,document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop];this.O(c)?this.d[this.i]=d:this.d.push(d)}O(a){return(this.i=this.d.findIndex(b=>b[0]==a))+1}}class Scrolly{constructor(){"scrollRestoration"in history&&(history.scrollRestoration="manual")}p(){"s"==Ay.s.scrolltop&&Ay.offsets.p(Ay.currentURL)}l(){let a=Ay.currentURL;if(a.iO("#")&&a.iO("#")<a.length-1){let b=qs("#"+a.split("#")[1]);if(!b)return;let c=b.getBoundingClientRect();return this.s(c.top+window.pageYOffset-document.documentElement.clientTop)}"s"==Ay.s.scrolltop?this.s(Ay.offsets.l(a)):Ay.s.scrolltop&&this.s(0)}s(a){setTimeout(()=>window.scrollTo(0,a),Ay.s.scrollDelay)}}class HApi{r(b){let a=this.u(b);history.replaceState({url:a},"state-"+a,a)}p(b){let a=this.u(b);a!==window.location.href&&history.pushState({url:a},"state-"+a,a)}u(a){return a&&(Ay.currentURL=a),Ay.currentURL}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ajaxify",
3
- "version": "8.2.2",
3
+ "version": "8.2.5",
4
4
  "description": "Ajaxify - The Ajax Plugin",
5
5
  "main": "ajaxify.min.js",
6
6
  "scripts": {