aptechka 0.71.5 → 0.71.6

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.
@@ -92,6 +92,7 @@ export declare class Morph {
92
92
  path: string;
93
93
  };
94
94
  prefetch(path: string, revalidate?: boolean): Promise<void>;
95
+ excludeHeadChild(child: Node): boolean;
95
96
  navigate(path: string, { historyAction, centerScroll, offsetScroll, revalidate, keepSearchParameters, submorph, clearState, }?: MorphNavigateOptions): Promise<void>;
96
97
  addLink(element: HTMLAnchorElement): void;
97
98
  addLinks(elements: Array<HTMLAnchorElement>): void;
@@ -1 +1 @@
1
- "use strict";var Kt=Object.defineProperty,$t=Object.defineProperties;var Gt=Object.getOwnPropertyDescriptors;var qt=Object.getOwnPropertySymbols;var Jt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable;var Dt=(n,t)=>(t=Symbol[n])?t:Symbol.for("Symbol."+n),zt=n=>{throw TypeError(n)};var Ut=(n,t,s)=>t in n?Kt(n,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[t]=s,gt=(n,t)=>{for(var s in t||(t={}))Jt.call(t,s)&&Ut(n,s,t[s]);if(qt)for(var s of qt(t))Qt.call(t,s)&&Ut(n,s,t[s]);return n},vt=(n,t)=>$t(n,Gt(t));var St=(n,t,s)=>t.has(n)||zt("Cannot "+s);var e=(n,t,s)=>(St(n,t,"read from private field"),s?s.call(n):t.get(n)),o=(n,t,s)=>t.has(n)?zt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,s),r=(n,t,s,i)=>(St(n,t,"write to private field"),i?i.call(n,s):t.set(n,s),s),E=(n,t,s)=>(St(n,t,"access private method"),s);var W=(n,t,s)=>new Promise((i,m)=>{var y=v=>{try{w(s.next(v))}catch(O){m(O)}},P=v=>{try{w(s.throw(v))}catch(O){m(O)}},w=v=>v.done?i(v.value):Promise.resolve(v.value).then(y,P);w((s=s.apply(n,t)).next())});var It=(n,t,s)=>(t=n[Dt("asyncIterator")])?t.call(n):(n=n[Dt("iterator")](),t={},s=(i,m)=>(m=n[i])&&(t[i]=y=>new Promise((P,w,v)=>(y=m.call(n,y),v=y.done,Promise.resolve(y.value).then(O=>P({value:O,done:v}),w)))),s("next"),s("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Bt=require("../index-DekP7OZe.cjs"),D=require("../events-KVanG9sR.cjs"),Zt=require("../polyfills-Df4r-ETT.cjs"),Vt=require("../scroll-CIdNtj3G.cjs");require("construct-style-sheets-polyfill");const it=require("../url-YEESIcRn.cjs"),_t=require("../css-value-parser/index.cjs");class Ot extends HTMLElement{connectedCallback(){const t={"aria-live":"assertive","aria-atomic":"true",style:"position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"};for(const[s,i]of Object.entries(t))this.setAttribute(s,i)}}Bt.isBrowser&&!customElements.get("morph-announcer")&&customElements.define("morph-announcer",Ot);var H,h,U,rt,J;class wt{constructor(t,s){o(this,H);o(this,h);o(this,U);o(this,rt,t=>{var i;if(t.preventDefault(),e(this,h).hasAttribute("data-back")&&e(this,H).previousURL)history.back();else{r(this,U,e(this,h).getAttribute("href")||"/");const m=e(this,h).getAttribute("data-history-action")||"push",y=e(this,h).hasAttribute("data-center-scroll"),P=getComputedStyle(e(this,h)).getPropertyValue("--offset-scroll").trim(),w=P?_t.cssValueParser.parse(P):void 0,v=e(this,h).hasAttribute("data-revalidate"),O=e(this,h).hasAttribute("data-keep-search-parameters"),l=(i=e(this,h).getAttribute("data-submorph"))==null?void 0:i.split(",").map(ht=>ht.trim()),lt=e(this,h).hasAttribute("data-clear-state");e(this,H).navigate(e(this,U),{historyAction:m,centerScroll:y,offsetScroll:w,revalidate:v,keepSearchParameters:O,submorph:l,clearState:lt})}});o(this,J,()=>{const t=e(this,h).hasAttribute("data-revalidate");e(this,H).prefetch(e(this,U),t),e(this,h).removeEventListener("pointerenter",e(this,J))});r(this,H,s),r(this,h,t),r(this,U,e(this,h).getAttribute("href")||"/"),e(this,h).addEventListener("click",e(this,rt)),this.checkCurrent(location.pathname),e(this,h).hasAttribute("data-prefetch")&&e(this,h).addEventListener("pointerenter",e(this,J))}get element(){return e(this,h)}checkCurrent(t){const s=e(this,H).normalizePath(t),i=e(this,H).normalizePath(e(this,U));e(this,h).hasAttribute("data-include")&&s.pathname.includes(i.pathname)?e(this,h).classList.add("current"):i.pathname===s.pathname?e(this,h).classList.add("current"):e(this,h).classList.remove("current")}destroy(){e(this,h).removeEventListener("click",e(this,rt)),e(this,h).removeEventListener("pointerenter",e(this,J)),e(this,h).classList.remove("current")}}H=new WeakMap,h=new WeakMap,U=new WeakMap,rt=new WeakMap,J=new WeakMap;const te=new DOMParser;var R,Y,L,C,X,z,Q,j,I,Z;class Ft{constructor(t,s){o(this,R);o(this,Y);o(this,L,{x:0,y:0});o(this,C,null);o(this,X,null);o(this,z,null);o(this,Q,null);o(this,j,null);o(this,I,null);o(this,Z);r(this,R,t),r(this,Y,s),r(this,Z,s)}get pathname(){return e(this,Y)}get scrollState(){return e(this,L)}get document(){return e(this,z)}setInitialDocument(t){r(this,C,t.cloneNode(!0))}abort(){var t;return(t=e(this,j))==null?void 0:t.abort(`[${e(this,Y)}] page loading cancelled`)}fetch(t,s){return W(this,null,function*(){return e(this,I)||e(this,C)&&e(this,C).documentElement.hasAttribute("data-cache")&&(!s||e(this,Z)!==t)||e(this,C)&&e(this,R).isPopstateNavigation?e(this,I):(r(this,Z,t),r(this,I,new Promise(i=>W(this,null,function*(){try{r(this,j,new AbortController);const y=yield(yield fetch(t,{signal:e(this,j).signal})).text(),P=te.parseFromString(y,"text/html");this.setInitialDocument(P)}catch(m){console.warn(m)}finally{r(this,j,null),r(this,I,null),i()}}))),e(this,I))})}cloneDocument(){r(this,z,(e(this,X)||e(this,C)).cloneNode(!0))}get title(){let t="";if(e(this,z).title)t=e(this,z).title;else{const s=e(this,z).querySelector("h1");t=(s==null?void 0:s.innerText)||(s==null?void 0:s.textContent)||e(this,Y)}return t}clearScrollState(){e(this,L).x=0,e(this,L).y=0}clearDocumentState(){r(this,X,null)}saveScrollState(){e(this,C).documentElement.hasAttribute("data-no-scroll-restoration")?(e(this,L).x=0,e(this,L).y=0):(e(this,L).x=e(this,R).scrollValue.left,e(this,L).y=e(this,R).scrollValue.top)}restoreScrollPosition(){e(this,R).scrollElement.scroll({top:e(this,L).y,left:e(this,L).x,behavior:"instant"})}saveDocumentState(){e(this,C).documentElement.hasAttribute("data-no-page-restoration")?r(this,X,null):r(this,X,document.cloneNode(!0))}renewScrollPosition(){e(this,R).scrollElement.scroll({top:0,left:0,behavior:"instant"})}saveState(t){r(this,Q,t)}clearState(){const t=e(this,Q);return r(this,Q,null),t}}R=new WeakMap,Y=new WeakMap,L=new WeakMap,C=new WeakMap,X=new WeakMap,z=new WeakMap,Q=new WeakMap,j=new WeakMap,I=new WeakMap,Z=new WeakMap;var T,_,g,V,d,K,F,B,A,at,x,$,tt,et,ot,c,dt,Lt,Wt,bt,At,Pt,kt,mt,st;const nt=class nt{constructor(t){o(this,c);o(this,T,null);o(this,_,null);o(this,g,[]);o(this,V);o(this,d,null);o(this,K);o(this,F,[]);o(this,B,!1);o(this,A,null);o(this,at,!1);o(this,x,new Map);o(this,$,null);o(this,tt,0);o(this,et,0);o(this,ot,t=>{var s;return((s=t.getAttribute("href"))==null?void 0:s.startsWith("/"))&&!t.hasAttribute("download")&&!t.hasAttribute("data-morph-skip")&&!t.closest("[data-morph-skip]")&&t.getAttribute("target")!=="_blank"});o(this,mt,t=>W(this,null,function*(){t.preventDefault(),r(this,B,!0),yield this.navigate(location.href.replace(location.origin,""),{historyAction:"none"}),r(this,B,!1)}));o(this,st,()=>{const{left:t,top:s}=this.scrollValue,i=s-e(this,et),m=t-e(this,tt);r(this,et,s),r(this,tt,t),document.documentElement.classList.toggle("scroll-y",s>0),document.documentElement.classList.toggle("scroll-x",t>0),document.documentElement.classList.toggle("scroll-y-forward",i>0),document.documentElement.classList.toggle("scroll-y-backward",i<0),document.documentElement.classList.toggle("scroll-x-forward",m>0),document.documentElement.classList.toggle("scroll-x-backward",m<0),D.dispatchEvent(document,"morphScroll",{detail:{left:t,top:s}})});if(Bt.isBrowser&&!nt.instance){nt.instance=this,r(this,T,{base:it.normalizeBase(t==null?void 0:t.base),waitForHeadToLoad:(t==null?void 0:t.waitForHeadToLoad)!==!1,trailingSlash:(t==null?void 0:t.trailingSlash)||!1,scrollSelector:t==null?void 0:t.scrollSelector,morphInsideScrollContainer:(t==null?void 0:t.morphInsideScrollContainer)||!1}),r(this,_,E(this,c,Lt).call(this,document.body));const s=this.normalizePath(location.pathname+location.hash+location.search);r(this,d,s);const i=new Ft(this,e(this,d).pathname);i.setInitialDocument(document),e(this,x).set(e(this,d).pathname,i),document.documentElement.setAttribute("data-current-pathname",e(this,d).pathname),document.documentElement.setAttribute("data-current-leaf",s.leaf),this.findLinks(),history.scrollRestoration="manual",addEventListener("popstate",e(this,mt)),it.changeHistory({action:"replace",pathname:s.pathname,searchParameters:s.parameters,hash:s.hash}),r(this,$,new Ot),E(this,c,Pt).call(this,document)}}get currentURL(){return e(this,d)}get previousURL(){return e(this,K)}get links(){return e(this,g)}get scrollElement(){return e(this,A)}get isPopstateNavigation(){return e(this,B)}get scrollValue(){let t=0,s=0;return e(this,at)?(t=window.scrollY,s=window.scrollX):(t=e(this,A).scrollTop,s=e(this,A).scrollLeft),{top:t,left:s}}saveState(t){const s=e(this,x).get(e(this,d).path);s&&s.saveState(t)}getState(){const t=e(this,x).get(e(this,d).path);return t==null?void 0:t.clearState()}normalizePath(t){return it.splitPath(t,{base:e(this,T).base,trailingSlash:e(this,T).trailingSlash})}prefetch(t,s){return W(this,null,function*(){if(e(this,F).length)return;const i=E(this,c,dt).call(this,t);i==null||i.fetch(t,s)})}navigate(O){return W(this,arguments,function*(t,{historyAction:s="push",centerScroll:i,offsetScroll:m,revalidate:y,keepSearchParameters:P,submorph:w,clearState:v}={}){var lt,ht,Ct,Tt;if(e(this,F).length)return;const l=this.normalizePath(((lt=this.pathnameModifier)==null?void 0:lt.call(this,t))||t);if(((ht=e(this,V))==null?void 0:ht.pathname)===l.pathname||e(this,d).pathname===l.pathname){E(this,c,kt).call(this,l.hash||0,{centerScroll:i,offsetScroll:m,behavior:"smooth"}),((Ct=e(this,d))==null?void 0:Ct.parameters)!==l.parameters&&(r(this,K,e(this,d)),r(this,d,l),it.changeHistory({action:((Tt=e(this,d))==null?void 0:Tt.hash)!==l.hash?"replace":s,pathname:l.pathname,searchParameters:l.parameters,hash:l.hash}),D.dispatchEvent(document,"morphURLParametersChange",{detail:{newURL:e(this,d),previousURL:e(this,K)}}));return}r(this,V,l),e(this,g).forEach(G=>{G.checkCurrent(l.pathname)});try{let G=!0;if(this.preprocessor)try{yield new Promise((a,M)=>{var p;(p=this.preprocessor)==null||p.call(this,{url:l,resolve:a,reject:M,submorph:w})})}catch(a){a?console.error(a):console.log("Route change canceled"),G=!1}if(!G||e(this,V).pathname!==l.pathname){e(this,g).forEach(a=>{a.checkCurrent(e(this,d).pathname)});return}const Mt={url:l,submorph:w};D.dispatchEvent(document,"morphNavigation",{detail:Mt});const ft=E(this,c,dt).call(this,e(this,d).pathname),f=E(this,c,dt).call(this,l.pathname);if(e(this,x).forEach(a=>{a.pathname!==l.pathname&&a.abort()}),yield f==null?void 0:f.fetch(t,y),e(this,V).pathname!==l.pathname){e(this,g).forEach(a=>{a.checkCurrent(e(this,d).path)});return}ft.clearState(),ft.saveScrollState(),ft.saveDocumentState(),e(this,B)||(f.clearScrollState(),f.clearDocumentState()),v&&f.clearState(),f.cloneDocument(),e(this,$).textContent=f.title,document.body.appendChild(e(this,$));const pt=vt(gt({},Mt),{document:f.document});D.dispatchEvent(document,"morphStart",{detail:pt});const Ht=Array.from(document.head.children),Rt=Array.from(f.document.head.children),xt=E(this,c,Wt).call(this,Ht,Rt),Yt=E(this,c,bt).call(this,Ht,xt),ct=E(this,c,bt).call(this,Rt,xt);ct.forEach((a,M)=>{if(a.tagName==="SCRIPT"&&a.getAttribute("src")){const p=document.createElement("script"),N=a.getAttribute("src");N.includes("http")||(p.type="module"),p.src=N,ct[M]=p}}),ct.forEach(a=>{document.head.appendChild(a)});const Et=ct.filter(a=>{if(a.hasAttribute("data-no-waiting"))return!1;if(E(this,c,At).call(this,a))return!0});e(this,T).waitForHeadToLoad&&Et.length&&(yield new Promise(a=>W(this,null,function*(){let M=0;try{for(var p=It(Et),N,b,k;N=!(b=yield p.next()).done;N=!1){const ut=b.value;ut.onload=()=>{M++,M===Et.length&&a()}}}catch(b){k=[b]}finally{try{N&&(b=p.return)&&(yield b.call(p))}finally{if(k)throw k[0]}}}))),yield Vt.wait(10);const Nt=[];Yt.forEach(a=>{a.hasAttribute("data-permanent")||(E(this,c,At).call(this,a)?Nt.push(a):a.remove())});const Xt=E(this,c,Lt).call(this,f.document.body);e(this,T).morphInsideScrollContainer||E(this,c,Pt).call(this,f.document),document.documentElement.setAttribute("data-current-pathname",l.pathname),document.documentElement.setAttribute("data-current-leaf",l.leaf),it.changeHistory({action:s,pathname:l.pathname,searchParameters:l.parameters||(P?location.search:""),hash:l.hash}),e(this,$).remove(),r(this,K,e(this,d)),r(this,d,l),e(this,_).forEach((a,M)=>{const p=Xt[M],N=getComputedStyle(a).getPropertyValue("--morph-duration");let b=[],k=[];w?w.forEach(u=>{const S=a.querySelector(u),q=p.querySelector(u);S&&q&&(k.push(S),b.push(q))}):(b.push(...p.childNodes),k.push(...a.childNodes)),k.forEach(u=>{u instanceof HTMLElement&&(this.destroyOldLinks(u),u.classList.add("old"))}),b.forEach(u=>{u instanceof HTMLElement&&(this.findNewLinks(u),u.classList.add("new"))}),w?b.forEach((u,S)=>{var q;(q=k[S].parentElement)==null||q.insertBefore(u,k[S])}):a.prepend(...b),Zt.requestIdleCallback(()=>{k.forEach(u=>{u instanceof HTMLElement&&u.classList.add("old-idle")}),b.forEach(u=>{var S;u instanceof HTMLElement&&((S=u.parentElement)==null||S.style.setProperty("--new-content-height",u.offsetHeight+"px"),u.classList.add("new-idle"))})});const ut=vt(gt({},pt),{morphElement:a});D.dispatchEvent(document,"morphNewChildrenAdded",{detail:ut});const jt=new Promise(u=>{setTimeout(()=>{k.forEach(S=>S.remove()),b.forEach(S=>{var q;S instanceof HTMLElement&&((q=S.parentElement)==null||q.style.removeProperty("--new-content-height"),S.classList.remove("new-idle","new"))}),D.dispatchEvent(document,"morphOldChildrenRemoved",{detail:ut}),u()},(parseFloat(N)||0)*1e3+10)});e(this,F).push(jt)}),this.isPopstateNavigation?document.documentElement.style.setProperty("--new-document-scroll-position",(this.scrollValue.top-f.scrollState.y)*1+"px"):document.documentElement.style.setProperty("--new-document-scroll-position",this.scrollValue.top+"px"),D.dispatchEvent(document,"morphBeforeNavigationScroll",{detail:f.scrollState}),l.hash?(f.clearScrollState(),E(this,c,kt).call(this,l.hash,{centerScroll:i,offsetScroll:m})):e(this,B)?f.restoreScrollPosition():f.renewScrollPosition(),yield Promise.all(e(this,F)),Nt.forEach(a=>a.remove()),r(this,F,[]),e(this,_).forEach(a=>{a.querySelectorAll("script").forEach(p=>{const N=document.createElement("script");for(let b=0;b<p.attributes.length;b++){const k=p.attributes[b];N.setAttribute(k.name,k.value)}p.hasAttribute("src")||(N.innerHTML=p.innerHTML),p.replaceWith(N)})}),D.dispatchEvent(document,"morphComplete",{detail:pt}),document.documentElement.style.removeProperty("--new-document-scroll-position"),window.dispatchEvent(new Event("resize"))}catch(G){console.error(G)}r(this,V,void 0)})}addLink(t){e(this,g).push(new wt(t,this))}addLinks(t){t.forEach(s=>{this.addLink(s)})}removeLink(t){r(this,g,e(this,g).filter(s=>s.element===t?(s.destroy(),!1):!0))}destroyOldLinks(t){r(this,g,e(this,g).filter(s=>t.contains(s.element)?(s.destroy(),!1):!0))}findNewLinks(t){const s=[...t.querySelectorAll("a")].filter(e(this,ot));e(this,g).push(...s.map(i=>new wt(i,this)))}findLinks(){const t=[...document.documentElement.querySelectorAll("a")].filter(e(this,ot));e(this,g).forEach(s=>s.destroy()),r(this,g,t.map(s=>new wt(s,this)))}};T=new WeakMap,_=new WeakMap,g=new WeakMap,V=new WeakMap,d=new WeakMap,K=new WeakMap,F=new WeakMap,B=new WeakMap,A=new WeakMap,at=new WeakMap,x=new WeakMap,$=new WeakMap,tt=new WeakMap,et=new WeakMap,ot=new WeakMap,c=new WeakSet,dt=function(t){const s=this.normalizePath(t);let i=e(this,x).get(s.pathname);return i||(i=new Ft(this,s.pathname),e(this,x).set(s.pathname,i)),i},Lt=function(t){const s=[...t.querySelectorAll("[data-morph]")];return s.length?s:[t]},Wt=function(t,s){return t.filter(i=>s.find(m=>m.outerHTML===i.outerHTML))},bt=function(t,s){return t.filter(i=>!s.find(m=>m.outerHTML===i.outerHTML))},At=function(t){return t.tagName==="SCRIPT"||t.tagName==="STYLE"||t.tagName==="LINK"&&t.getAttribute("rel")==="stylesheet"},Pt=function(t){var s,i;(s=e(this,A))==null||s.removeEventListener("scroll",e(this,st)),r(this,et,0),r(this,tt,0),r(this,A,e(this,T).scrollSelector&&t.querySelector(e(this,T).scrollSelector)||window),r(this,at,e(this,A)===window),(i=e(this,A))==null||i.addEventListener("scroll",e(this,st)),e(this,st).call(this)},kt=function(t,s){const i=typeof t=="string"?document.getElementById(t):t;(typeof i=="number"||i)&&Vt.scrollToElement(i,{scrollElement:e(this,A),behavior:(s==null?void 0:s.behavior)||"instant",center:s==null?void 0:s.centerScroll,offset:s==null?void 0:s.offsetScroll})},mt=new WeakMap,st=new WeakMap,nt.instance=null;let yt=nt;exports.Morph=yt;
1
+ "use strict";var $t=Object.defineProperty,Gt=Object.defineProperties;var Jt=Object.getOwnPropertyDescriptors;var qt=Object.getOwnPropertySymbols;var Qt=Object.prototype.hasOwnProperty,Zt=Object.prototype.propertyIsEnumerable;var Dt=(n,t)=>(t=Symbol[n])?t:Symbol.for("Symbol."+n),zt=n=>{throw TypeError(n)};var Ut=(n,t,s)=>t in n?$t(n,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[t]=s,Et=(n,t)=>{for(var s in t||(t={}))Qt.call(t,s)&&Ut(n,s,t[s]);if(qt)for(var s of qt(t))Zt.call(t,s)&&Ut(n,s,t[s]);return n},gt=(n,t)=>Gt(n,Jt(t));var vt=(n,t,s)=>t.has(n)||zt("Cannot "+s);var e=(n,t,s)=>(vt(n,t,"read from private field"),s?s.call(n):t.get(n)),o=(n,t,s)=>t.has(n)?zt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,s),r=(n,t,s,i)=>(vt(n,t,"write to private field"),i?i.call(n,s):t.set(n,s),s),p=(n,t,s)=>(vt(n,t,"access private method"),s);var O=(n,t,s)=>new Promise((i,u)=>{var w=g=>{try{S(s.next(g))}catch(V){u(V)}},b=g=>{try{S(s.throw(g))}catch(V){u(V)}},S=g=>g.done?i(g.value):Promise.resolve(g.value).then(w,b);S((s=s.apply(n,t)).next())});var It=(n,t,s)=>(t=n[Dt("asyncIterator")])?t.call(n):(n=n[Dt("iterator")](),t={},s=(i,u)=>(u=n[i])&&(t[i]=w=>new Promise((b,S,g)=>(w=u.call(n,w),g=w.done,Promise.resolve(w.value).then(V=>b({value:V,done:g}),S)))),s("next"),s("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Bt=require("../index-DekP7OZe.cjs"),R=require("../events-KVanG9sR.cjs"),_t=require("../polyfills-Df4r-ETT.cjs"),Vt=require("../scroll-CIdNtj3G.cjs");require("construct-style-sheets-polyfill");const st=require("../url-YEESIcRn.cjs"),te=require("../css-value-parser/index.cjs");class Ot extends HTMLElement{connectedCallback(){const t={"aria-live":"assertive","aria-atomic":"true",style:"position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"};for(const[s,i]of Object.entries(t))this.setAttribute(s,i)}}Bt.isBrowser&&!customElements.get("morph-announcer")&&customElements.define("morph-announcer",Ot);var C,h,N,nt,G;class St{constructor(t,s){o(this,C);o(this,h);o(this,N);o(this,nt,t=>{var i;if(t.preventDefault(),e(this,h).hasAttribute("data-back")&&e(this,C).previousURL)history.back();else{r(this,N,e(this,h).getAttribute("href")||"/");const u=e(this,h).getAttribute("data-history-action")||"push",w=e(this,h).hasAttribute("data-center-scroll"),b=getComputedStyle(e(this,h)).getPropertyValue("--offset-scroll").trim(),S=b?te.cssValueParser.parse(b):void 0,g=e(this,h).hasAttribute("data-revalidate"),V=e(this,h).hasAttribute("data-keep-search-parameters"),l=(i=e(this,h).getAttribute("data-submorph"))==null?void 0:i.split(",").map(lt=>lt.trim()),ot=e(this,h).hasAttribute("data-clear-state");e(this,C).navigate(e(this,N),{historyAction:u,centerScroll:w,offsetScroll:S,revalidate:g,keepSearchParameters:V,submorph:l,clearState:ot})}});o(this,G,()=>{const t=e(this,h).hasAttribute("data-revalidate");e(this,C).prefetch(e(this,N),t),e(this,h).removeEventListener("pointerenter",e(this,G))});r(this,C,s),r(this,h,t),r(this,N,e(this,h).getAttribute("href")||"/"),e(this,h).addEventListener("click",e(this,nt)),this.checkCurrent(location.pathname),e(this,h).hasAttribute("data-prefetch")&&e(this,h).addEventListener("pointerenter",e(this,G))}get element(){return e(this,h)}checkCurrent(t){const s=e(this,C).normalizePath(t),i=e(this,C).normalizePath(e(this,N));e(this,h).hasAttribute("data-include")&&s.pathname.includes(i.pathname)?e(this,h).classList.add("current"):i.pathname===s.pathname?e(this,h).classList.add("current"):e(this,h).classList.remove("current")}destroy(){e(this,h).removeEventListener("click",e(this,nt)),e(this,h).removeEventListener("pointerenter",e(this,G)),e(this,h).classList.remove("current")}}C=new WeakMap,h=new WeakMap,N=new WeakMap,nt=new WeakMap,G=new WeakMap;const ee=new DOMParser;var H,W,y,P,Y,q,J,X,D,Q;class Ft{constructor(t,s){o(this,H);o(this,W);o(this,y,{x:0,y:0});o(this,P,null);o(this,Y,null);o(this,q,null);o(this,J,null);o(this,X,null);o(this,D,null);o(this,Q);r(this,H,t),r(this,W,s),r(this,Q,s)}get pathname(){return e(this,W)}get scrollState(){return e(this,y)}get document(){return e(this,q)}setInitialDocument(t){r(this,P,t.cloneNode(!0))}abort(){var t;return(t=e(this,X))==null?void 0:t.abort(`[${e(this,W)}] page loading cancelled`)}fetch(t,s){return O(this,null,function*(){return e(this,D)||e(this,P)&&e(this,P).documentElement.hasAttribute("data-cache")&&(!s||e(this,Q)!==t)||e(this,P)&&e(this,H).isPopstateNavigation?e(this,D):(r(this,Q,t),r(this,D,new Promise(i=>O(this,null,function*(){try{r(this,X,new AbortController);const w=yield(yield fetch(t,{signal:e(this,X).signal})).text(),b=ee.parseFromString(w,"text/html");this.setInitialDocument(b)}catch(u){console.warn(u)}finally{r(this,X,null),r(this,D,null),i()}}))),e(this,D))})}cloneDocument(){r(this,q,(e(this,Y)||e(this,P)).cloneNode(!0))}get title(){let t="";if(e(this,q).title)t=e(this,q).title;else{const s=e(this,q).querySelector("h1");t=(s==null?void 0:s.innerText)||(s==null?void 0:s.textContent)||e(this,W)}return t}clearScrollState(){e(this,y).x=0,e(this,y).y=0}clearDocumentState(){r(this,Y,null)}saveScrollState(){e(this,P).documentElement.hasAttribute("data-no-scroll-restoration")?(e(this,y).x=0,e(this,y).y=0):(e(this,y).x=e(this,H).scrollValue.left,e(this,y).y=e(this,H).scrollValue.top)}restoreScrollPosition(){e(this,H).scrollElement.scroll({top:e(this,y).y,left:e(this,y).x,behavior:"instant"})}saveDocumentState(){e(this,P).documentElement.hasAttribute("data-no-page-restoration")?r(this,Y,null):r(this,Y,document.cloneNode(!0))}renewScrollPosition(){e(this,H).scrollElement.scroll({top:0,left:0,behavior:"instant"})}saveState(t){r(this,J,t)}clearState(){const t=e(this,J);return r(this,J,null),t}}H=new WeakMap,W=new WeakMap,y=new WeakMap,P=new WeakMap,Y=new WeakMap,q=new WeakMap,J=new WeakMap,X=new WeakMap,D=new WeakMap,Q=new WeakMap;var A,Z,E,U,m,j,z,I,L,rt,M,K,_,tt,c,yt,at,ut,Lt,Wt,bt,Pt,At,kt,dt,et;const it=class it{constructor(t){o(this,c);o(this,A,null);o(this,Z,null);o(this,E,[]);o(this,U);o(this,m,null);o(this,j);o(this,z,[]);o(this,I,!1);o(this,L,null);o(this,rt,!1);o(this,M,new Map);o(this,K,null);o(this,_,0);o(this,tt,0);o(this,at,t=>{var s;return((s=t.getAttribute("href"))==null?void 0:s.startsWith("/"))&&!t.hasAttribute("download")&&!t.hasAttribute("data-morph-skip")&&!t.closest("[data-morph-skip]")&&t.getAttribute("target")!=="_blank"});o(this,dt,t=>O(this,null,function*(){t.preventDefault(),r(this,I,!0),yield this.navigate(location.href.replace(location.origin,""),{historyAction:"none"}),r(this,I,!1)}));o(this,et,()=>{const{left:t,top:s}=this.scrollValue,i=s-e(this,tt),u=t-e(this,_);r(this,tt,s),r(this,_,t),document.documentElement.classList.toggle("scroll-y",s>0),document.documentElement.classList.toggle("scroll-x",t>0),document.documentElement.classList.toggle("scroll-y-forward",i>0),document.documentElement.classList.toggle("scroll-y-backward",i<0),document.documentElement.classList.toggle("scroll-x-forward",u>0),document.documentElement.classList.toggle("scroll-x-backward",u<0),R.dispatchEvent(document,"morphScroll",{detail:{left:t,top:s}})});if(Bt.isBrowser&&!it.instance){it.instance=this,r(this,A,{base:st.normalizeBase(t==null?void 0:t.base),waitForHeadToLoad:(t==null?void 0:t.waitForHeadToLoad)!==!1,trailingSlash:(t==null?void 0:t.trailingSlash)||!1,scrollSelector:t==null?void 0:t.scrollSelector,morphInsideScrollContainer:(t==null?void 0:t.morphInsideScrollContainer)||!1}),r(this,Z,p(this,c,Lt).call(this,document.body));const s=this.normalizePath(location.pathname+location.hash+location.search);r(this,m,s);const i=new Ft(this,e(this,m).pathname);i.setInitialDocument(document),e(this,M).set(e(this,m).pathname,i),document.documentElement.setAttribute("data-current-pathname",e(this,m).pathname),document.documentElement.setAttribute("data-current-leaf",s.leaf),this.findLinks(),history.scrollRestoration="manual",addEventListener("popstate",e(this,dt)),st.changeHistory({action:"replace",pathname:s.pathname,searchParameters:s.parameters,hash:s.hash}),r(this,K,new Ot),p(this,c,At).call(this,document)}}get currentURL(){return e(this,m)}get previousURL(){return e(this,j)}get links(){return e(this,E)}get scrollElement(){return e(this,L)}get isPopstateNavigation(){return e(this,I)}get scrollValue(){let t=0,s=0;return e(this,rt)?(t=window.scrollY,s=window.scrollX):(t=e(this,L).scrollTop,s=e(this,L).scrollLeft),{top:t,left:s}}saveState(t){const s=e(this,M).get(e(this,m).path);s&&s.saveState(t)}getState(){const t=e(this,M).get(e(this,m).path);return t==null?void 0:t.clearState()}normalizePath(t){return st.splitPath(t,{base:e(this,A).base,trailingSlash:e(this,A).trailingSlash})}prefetch(t,s){return O(this,null,function*(){if(e(this,z).length)return;const i=p(this,c,ut).call(this,t);i==null||i.fetch(t,s)})}excludeHeadChild(t){return!1}navigate(V){return O(this,arguments,function*(t,{historyAction:s="push",centerScroll:i,offsetScroll:u,revalidate:w,keepSearchParameters:b,submorph:S,clearState:g}={}){var ot,lt,Ct,Ht;if(e(this,z).length)return;const l=this.normalizePath(((ot=this.pathnameModifier)==null?void 0:ot.call(this,t))||t);if(((lt=e(this,U))==null?void 0:lt.pathname)===l.pathname||e(this,m).pathname===l.pathname){p(this,c,kt).call(this,l.hash||0,{centerScroll:i,offsetScroll:u,behavior:"smooth"}),((Ct=e(this,m))==null?void 0:Ct.parameters)!==l.parameters&&(r(this,j,e(this,m)),r(this,m,l),st.changeHistory({action:((Ht=e(this,m))==null?void 0:Ht.hash)!==l.hash?"replace":s,pathname:l.pathname,searchParameters:l.parameters,hash:l.hash}),R.dispatchEvent(document,"morphURLParametersChange",{detail:{newURL:e(this,m),previousURL:e(this,j)}}));return}r(this,U,l),e(this,E).forEach($=>{$.checkCurrent(l.pathname)});try{let $=!0;if(this.preprocessor)try{yield new Promise((a,k)=>{var T;(T=this.preprocessor)==null||T.call(this,{url:l,resolve:a,reject:k,submorph:S})})}catch(a){a?console.error(a):console.log("Route change canceled"),$=!1}if(!$||e(this,U).pathname!==l.pathname){e(this,E).forEach(a=>{a.checkCurrent(e(this,m).pathname)});return}const Mt={url:l,submorph:S};R.dispatchEvent(document,"morphNavigation",{detail:Mt});const mt=p(this,c,ut).call(this,e(this,m).pathname),f=p(this,c,ut).call(this,l.pathname);if(e(this,M).forEach(a=>{a.pathname!==l.pathname&&a.abort()}),yield f==null?void 0:f.fetch(t,w),e(this,U).pathname!==l.pathname){e(this,E).forEach(a=>{a.checkCurrent(e(this,m).path)});return}mt.clearState(),mt.saveScrollState(),mt.saveDocumentState(),e(this,I)||(f.clearScrollState(),f.clearDocumentState()),g&&f.clearState(),f.cloneDocument(),e(this,K).textContent=f.title,document.body.appendChild(e(this,K));const ft=gt(Et({},Mt),{document:f.document});R.dispatchEvent(document,"morphStart",{detail:ft});const Tt=Array.from(document.head.children),xt=Array.from(f.document.head.children),Rt=p(this,c,Wt).call(this,Tt,xt),Yt=p(this,c,bt).call(this,Tt,Rt),ht=p(this,c,bt).call(this,xt,Rt).filter(a=>!this.excludeHeadChild(a));ht.forEach((a,k)=>{a.tagName==="SCRIPT"&&(ht[k]=p(this,c,yt).call(this,a))}),ht.forEach(a=>{document.head.appendChild(a)});const pt=ht.filter(a=>{if(a.hasAttribute("data-no-waiting"))return!1;if(p(this,c,Pt).call(this,a))return!0});e(this,A).waitForHeadToLoad&&pt.length&&(yield new Promise(a=>O(this,null,function*(){let k=0;try{for(var T=It(pt),jt,F,B;jt=!(F=yield T.next()).done;jt=!1){const ct=F.value;ct.onload=()=>{k++,k===pt.length&&a()}}}catch(F){B=[F]}finally{try{jt&&(F=T.return)&&(yield F.call(T))}finally{if(B)throw B[0]}}}))),yield Vt.wait(10);const Nt=[];Yt.forEach(a=>{a.hasAttribute("data-permanent")||(p(this,c,Pt).call(this,a)?Nt.push(a):a.remove())});const Xt=p(this,c,Lt).call(this,f.document.body);e(this,A).morphInsideScrollContainer||p(this,c,At).call(this,f.document),document.documentElement.setAttribute("data-current-pathname",l.pathname),document.documentElement.setAttribute("data-current-leaf",l.leaf),st.changeHistory({action:s,pathname:l.pathname,searchParameters:l.parameters||(b?location.search:""),hash:l.hash}),e(this,K).remove(),r(this,j,e(this,m)),r(this,m,l),e(this,Z).forEach((a,k)=>{const T=Xt[k],jt=getComputedStyle(a).getPropertyValue("--morph-duration");let F=[],B=[];S?S.forEach(d=>{const v=a.querySelector(d),x=T.querySelector(d);v&&x&&(B.push(v),F.push(x))}):(F.push(...T.childNodes),B.push(...a.childNodes)),B.forEach(d=>{d instanceof HTMLElement&&(this.destroyOldLinks(d),d.classList.add("old"))}),F.forEach(d=>{d instanceof HTMLElement&&(this.findNewLinks(d),d.classList.add("new"))}),S?F.forEach((d,v)=>{var x;(x=B[v].parentElement)==null||x.insertBefore(d,B[v])}):a.prepend(...F),_t.requestIdleCallback(()=>{B.forEach(d=>{d instanceof HTMLElement&&d.classList.add("old-idle")}),F.forEach(d=>{var v;d instanceof HTMLElement&&((v=d.parentElement)==null||v.style.setProperty("--new-content-height",d.offsetHeight+"px"),d.classList.add("new-idle"))})});const ct=gt(Et({},ft),{morphElement:a});R.dispatchEvent(document,"morphNewChildrenAdded",{detail:ct});const Kt=new Promise(d=>{setTimeout(()=>{B.forEach(v=>v.remove()),F.forEach(v=>{var x;v instanceof HTMLElement&&((x=v.parentElement)==null||x.style.removeProperty("--new-content-height"),v.classList.remove("new-idle","new"))}),R.dispatchEvent(document,"morphOldChildrenRemoved",{detail:ct}),d()},(parseFloat(jt)||0)*1e3+10)});e(this,z).push(Kt)}),this.isPopstateNavigation?document.documentElement.style.setProperty("--new-document-scroll-position",(this.scrollValue.top-f.scrollState.y)*1+"px"):document.documentElement.style.setProperty("--new-document-scroll-position",this.scrollValue.top+"px"),R.dispatchEvent(document,"morphBeforeNavigationScroll",{detail:f.scrollState}),l.hash?(f.clearScrollState(),p(this,c,kt).call(this,l.hash,{centerScroll:i,offsetScroll:u})):e(this,I)?f.restoreScrollPosition():f.renewScrollPosition(),yield Promise.all(e(this,z)),Nt.forEach(a=>a.remove()),r(this,z,[]),e(this,Z).forEach(a=>{a.querySelectorAll("script").forEach(T=>{T.replaceWith(p(this,c,yt).call(this,T))})}),R.dispatchEvent(document,"morphComplete",{detail:ft}),document.documentElement.style.removeProperty("--new-document-scroll-position"),window.dispatchEvent(new Event("resize"))}catch($){console.error($)}r(this,U,void 0)})}addLink(t){e(this,E).push(new St(t,this))}addLinks(t){t.forEach(s=>{this.addLink(s)})}removeLink(t){r(this,E,e(this,E).filter(s=>s.element===t?(s.destroy(),!1):!0))}destroyOldLinks(t){r(this,E,e(this,E).filter(s=>t.contains(s.element)?(s.destroy(),!1):!0))}findNewLinks(t){const s=[...t.querySelectorAll("a")].filter(e(this,at));e(this,E).push(...s.map(i=>new St(i,this)))}findLinks(){const t=[...document.documentElement.querySelectorAll("a")].filter(e(this,at));e(this,E).forEach(s=>s.destroy()),r(this,E,t.map(s=>new St(s,this)))}};A=new WeakMap,Z=new WeakMap,E=new WeakMap,U=new WeakMap,m=new WeakMap,j=new WeakMap,z=new WeakMap,I=new WeakMap,L=new WeakMap,rt=new WeakMap,M=new WeakMap,K=new WeakMap,_=new WeakMap,tt=new WeakMap,c=new WeakSet,yt=function(t){const s=document.createElement("script");for(let i=0;i<t.attributes.length;i++){const u=t.attributes[i];s.setAttribute(u.name,u.value)}return t.hasAttribute("src")||(s.innerHTML=t.innerHTML),s},at=new WeakMap,ut=function(t){const s=this.normalizePath(t);let i=e(this,M).get(s.pathname);return i||(i=new Ft(this,s.pathname),e(this,M).set(s.pathname,i)),i},Lt=function(t){const s=[...t.querySelectorAll("[data-morph]")];return s.length?s:[t]},Wt=function(t,s){return t.filter(i=>s.find(u=>u.outerHTML===i.outerHTML))},bt=function(t,s){return t.filter(i=>!s.find(u=>u.outerHTML===i.outerHTML))},Pt=function(t){return t.tagName==="SCRIPT"||t.tagName==="STYLE"||t.tagName==="LINK"&&t.getAttribute("rel")==="stylesheet"},At=function(t){var s,i;(s=e(this,L))==null||s.removeEventListener("scroll",e(this,et)),r(this,tt,0),r(this,_,0),r(this,L,e(this,A).scrollSelector&&t.querySelector(e(this,A).scrollSelector)||window),r(this,rt,e(this,L)===window),(i=e(this,L))==null||i.addEventListener("scroll",e(this,et)),e(this,et).call(this)},kt=function(t,s){const i=typeof t=="string"?document.getElementById(t):t;(typeof i=="number"||i)&&Vt.scrollToElement(i,{scrollElement:e(this,L),behavior:(s==null?void 0:s.behavior)||"instant",center:s==null?void 0:s.centerScroll,offset:s==null?void 0:s.offsetScroll})},dt=new WeakMap,et=new WeakMap,it.instance=null;let wt=it;exports.Morph=wt;
@@ -1,44 +1,44 @@
1
- var jt = Object.defineProperty, Kt = Object.defineProperties;
2
- var $t = Object.getOwnPropertyDescriptors;
1
+ var Kt = Object.defineProperty, $t = Object.defineProperties;
2
+ var Gt = Object.getOwnPropertyDescriptors;
3
3
  var Nt = Object.getOwnPropertySymbols;
4
- var Gt = Object.prototype.hasOwnProperty, Jt = Object.prototype.propertyIsEnumerable;
4
+ var Jt = Object.prototype.hasOwnProperty, Qt = Object.prototype.propertyIsEnumerable;
5
5
  var Dt = (n, t) => (t = Symbol[n]) ? t : Symbol.for("Symbol." + n), zt = (n) => {
6
6
  throw TypeError(n);
7
7
  };
8
- var Ut = (n, t, s) => t in n ? jt(n, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : n[t] = s, Et = (n, t) => {
8
+ var Ut = (n, t, s) => t in n ? Kt(n, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : n[t] = s, pt = (n, t) => {
9
9
  for (var s in t || (t = {}))
10
- Gt.call(t, s) && Ut(n, s, t[s]);
10
+ Jt.call(t, s) && Ut(n, s, t[s]);
11
11
  if (Nt)
12
12
  for (var s of Nt(t))
13
- Jt.call(t, s) && Ut(n, s, t[s]);
13
+ Qt.call(t, s) && Ut(n, s, t[s]);
14
14
  return n;
15
- }, gt = (n, t) => Kt(n, $t(t));
16
- var wt = (n, t, s) => t.has(n) || zt("Cannot " + s);
17
- var e = (n, t, s) => (wt(n, t, "read from private field"), s ? s.call(n) : t.get(n)), a = (n, t, s) => t.has(n) ? zt("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, s), r = (n, t, s, i) => (wt(n, t, "write to private field"), i ? i.call(n, s) : t.set(n, s), s), E = (n, t, s) => (wt(n, t, "access private method"), s);
18
- var W = (n, t, s) => new Promise((i, m) => {
19
- var L = (w) => {
15
+ }, Et = (n, t) => $t(n, Gt(t));
16
+ var gt = (n, t, s) => t.has(n) || zt("Cannot " + s);
17
+ var e = (n, t, s) => (gt(n, t, "read from private field"), s ? s.call(n) : t.get(n)), o = (n, t, s) => t.has(n) ? zt("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, s), r = (n, t, s, i) => (gt(n, t, "write to private field"), i ? i.call(n, s) : t.set(n, s), s), p = (n, t, s) => (gt(n, t, "access private method"), s);
18
+ var O = (n, t, s) => new Promise((i, u) => {
19
+ var v = (g) => {
20
20
  try {
21
- v(s.next(w));
22
- } catch (O) {
23
- m(O);
21
+ w(s.next(g));
22
+ } catch (q) {
23
+ u(q);
24
24
  }
25
- }, k = (w) => {
25
+ }, b = (g) => {
26
26
  try {
27
- v(s.throw(w));
28
- } catch (O) {
29
- m(O);
27
+ w(s.throw(g));
28
+ } catch (q) {
29
+ u(q);
30
30
  }
31
- }, v = (w) => w.done ? i(w.value) : Promise.resolve(w.value).then(L, k);
32
- v((s = s.apply(n, t)).next());
31
+ }, w = (g) => g.done ? i(g.value) : Promise.resolve(g.value).then(v, b);
32
+ w((s = s.apply(n, t)).next());
33
33
  });
34
- var It = (n, t, s) => (t = n[Dt("asyncIterator")]) ? t.call(n) : (n = n[Dt("iterator")](), t = {}, s = (i, m) => (m = n[i]) && (t[i] = (L) => new Promise((k, v, w) => (L = m.call(n, L), w = L.done, Promise.resolve(L.value).then((O) => k({ value: O, done: w }), v)))), s("next"), s("return"), t);
34
+ var It = (n, t, s) => (t = n[Dt("asyncIterator")]) ? t.call(n) : (n = n[Dt("iterator")](), t = {}, s = (i, u) => (u = n[i]) && (t[i] = (v) => new Promise((b, w, g) => (v = u.call(n, v), g = v.done, Promise.resolve(v.value).then((q) => b({ value: q, done: g }), w)))), s("next"), s("return"), t);
35
35
  import { i as Ft } from "../index-Bv9zgfdb.js";
36
- import { d as U } from "../events-CsVF98U6.js";
37
- import { r as Qt } from "../polyfills-DJrTJQky.js";
38
- import { w as Zt, s as _t } from "../scroll-DPkCFTxg.js";
36
+ import { d as R } from "../events-CsVF98U6.js";
37
+ import { r as Zt } from "../polyfills-DJrTJQky.js";
38
+ import { w as _t, s as te } from "../scroll-DPkCFTxg.js";
39
39
  import "construct-style-sheets-polyfill";
40
- import { n as te, c as St, s as ee } from "../url-UL9zSCHb.js";
41
- import { cssValueParser as se } from "../css-value-parser/index.js";
40
+ import { n as ee, c as St, s as se } from "../url-UL9zSCHb.js";
41
+ import { cssValueParser as ie } from "../css-value-parser/index.js";
42
42
  class Bt extends HTMLElement {
43
43
  connectedCallback() {
44
44
  const t = {
@@ -51,138 +51,138 @@ class Bt extends HTMLElement {
51
51
  }
52
52
  }
53
53
  Ft && !customElements.get("morph-announcer") && customElements.define("morph-announcer", Bt);
54
- var R, h, z, nt, J;
55
- class vt {
54
+ var C, h, N, it, G;
55
+ class wt {
56
56
  constructor(t, s) {
57
- a(this, R);
58
- a(this, h);
59
- a(this, z);
60
- a(this, nt, (t) => {
57
+ o(this, C);
58
+ o(this, h);
59
+ o(this, N);
60
+ o(this, it, (t) => {
61
61
  var i;
62
- if (t.preventDefault(), e(this, h).hasAttribute("data-back") && e(this, R).previousURL)
62
+ if (t.preventDefault(), e(this, h).hasAttribute("data-back") && e(this, C).previousURL)
63
63
  history.back();
64
64
  else {
65
- r(this, z, e(this, h).getAttribute("href") || "/");
66
- const m = e(this, h).getAttribute(
65
+ r(this, N, e(this, h).getAttribute("href") || "/");
66
+ const u = e(this, h).getAttribute(
67
67
  "data-history-action"
68
- ) || "push", L = e(this, h).hasAttribute("data-center-scroll"), k = getComputedStyle(e(this, h)).getPropertyValue("--offset-scroll").trim(), v = k ? se.parse(k) : void 0, w = e(this, h).hasAttribute("data-revalidate"), O = e(this, h).hasAttribute(
68
+ ) || "push", v = e(this, h).hasAttribute("data-center-scroll"), b = getComputedStyle(e(this, h)).getPropertyValue("--offset-scroll").trim(), w = b ? ie.parse(b) : void 0, g = e(this, h).hasAttribute("data-revalidate"), q = e(this, h).hasAttribute(
69
69
  "data-keep-search-parameters"
70
- ), l = (i = e(this, h).getAttribute("data-submorph")) == null ? void 0 : i.split(",").map((lt) => lt.trim()), at = e(this, h).hasAttribute("data-clear-state");
71
- e(this, R).navigate(e(this, z), {
72
- historyAction: m,
73
- centerScroll: L,
74
- offsetScroll: v,
75
- revalidate: w,
76
- keepSearchParameters: O,
70
+ ), l = (i = e(this, h).getAttribute("data-submorph")) == null ? void 0 : i.split(",").map((ot) => ot.trim()), at = e(this, h).hasAttribute("data-clear-state");
71
+ e(this, C).navigate(e(this, N), {
72
+ historyAction: u,
73
+ centerScroll: v,
74
+ offsetScroll: w,
75
+ revalidate: g,
76
+ keepSearchParameters: q,
77
77
  submorph: l,
78
78
  clearState: at
79
79
  });
80
80
  }
81
81
  });
82
- a(this, J, () => {
82
+ o(this, G, () => {
83
83
  const t = e(this, h).hasAttribute("data-revalidate");
84
- e(this, R).prefetch(e(this, z), t), e(this, h).removeEventListener("pointerenter", e(this, J));
84
+ e(this, C).prefetch(e(this, N), t), e(this, h).removeEventListener("pointerenter", e(this, G));
85
85
  });
86
- r(this, R, s), r(this, h, t), r(this, z, e(this, h).getAttribute("href") || "/"), e(this, h).addEventListener("click", e(this, nt)), this.checkCurrent(location.pathname), e(this, h).hasAttribute("data-prefetch") && e(this, h).addEventListener("pointerenter", e(this, J));
86
+ r(this, C, s), r(this, h, t), r(this, N, e(this, h).getAttribute("href") || "/"), e(this, h).addEventListener("click", e(this, it)), this.checkCurrent(location.pathname), e(this, h).hasAttribute("data-prefetch") && e(this, h).addEventListener("pointerenter", e(this, G));
87
87
  }
88
88
  get element() {
89
89
  return e(this, h);
90
90
  }
91
91
  checkCurrent(t) {
92
- const s = e(this, R).normalizePath(t), i = e(this, R).normalizePath(e(this, z));
92
+ const s = e(this, C).normalizePath(t), i = e(this, C).normalizePath(e(this, N));
93
93
  e(this, h).hasAttribute("data-include") && s.pathname.includes(i.pathname) ? e(this, h).classList.add("current") : i.pathname === s.pathname ? e(this, h).classList.add("current") : e(this, h).classList.remove("current");
94
94
  }
95
95
  destroy() {
96
- e(this, h).removeEventListener("click", e(this, nt)), e(this, h).removeEventListener("pointerenter", e(this, J)), e(this, h).classList.remove("current");
96
+ e(this, h).removeEventListener("click", e(this, it)), e(this, h).removeEventListener("pointerenter", e(this, G)), e(this, h).classList.remove("current");
97
97
  }
98
98
  }
99
- R = new WeakMap(), h = new WeakMap(), z = new WeakMap(), nt = new WeakMap(), J = new WeakMap();
100
- const ie = new DOMParser();
101
- var H, Y, y, C, X, I, Q, j, V, Z;
99
+ C = new WeakMap(), h = new WeakMap(), N = new WeakMap(), it = new WeakMap(), G = new WeakMap();
100
+ const ne = new DOMParser();
101
+ var H, W, L, A, Y, D, J, X, U, Q;
102
102
  class Vt {
103
103
  constructor(t, s) {
104
- a(this, H);
105
- a(this, Y);
106
- a(this, y, { x: 0, y: 0 });
107
- a(this, C, null);
108
- a(this, X, null);
109
- a(this, I, null);
110
- a(this, Q, null);
111
- a(this, j, null);
112
- a(this, V, null);
113
- a(this, Z);
114
- r(this, H, t), r(this, Y, s), r(this, Z, s);
104
+ o(this, H);
105
+ o(this, W);
106
+ o(this, L, { x: 0, y: 0 });
107
+ o(this, A, null);
108
+ o(this, Y, null);
109
+ o(this, D, null);
110
+ o(this, J, null);
111
+ o(this, X, null);
112
+ o(this, U, null);
113
+ o(this, Q);
114
+ r(this, H, t), r(this, W, s), r(this, Q, s);
115
115
  }
116
116
  get pathname() {
117
- return e(this, Y);
117
+ return e(this, W);
118
118
  }
119
119
  get scrollState() {
120
- return e(this, y);
120
+ return e(this, L);
121
121
  }
122
122
  get document() {
123
- return e(this, I);
123
+ return e(this, D);
124
124
  }
125
125
  setInitialDocument(t) {
126
- r(this, C, t.cloneNode(!0));
126
+ r(this, A, t.cloneNode(!0));
127
127
  }
128
128
  abort() {
129
129
  var t;
130
- return (t = e(this, j)) == null ? void 0 : t.abort(
131
- `[${e(this, Y)}] page loading cancelled`
130
+ return (t = e(this, X)) == null ? void 0 : t.abort(
131
+ `[${e(this, W)}] page loading cancelled`
132
132
  );
133
133
  }
134
134
  fetch(t, s) {
135
- return W(this, null, function* () {
136
- return e(this, V) || e(this, C) && e(this, C).documentElement.hasAttribute("data-cache") && (!s || e(this, Z) !== t) || e(this, C) && e(this, H).isPopstateNavigation ? e(this, V) : (r(this, Z, t), r(this, V, new Promise((i) => W(this, null, function* () {
135
+ return O(this, null, function* () {
136
+ return e(this, U) || e(this, A) && e(this, A).documentElement.hasAttribute("data-cache") && (!s || e(this, Q) !== t) || e(this, A) && e(this, H).isPopstateNavigation ? e(this, U) : (r(this, Q, t), r(this, U, new Promise((i) => O(this, null, function* () {
137
137
  try {
138
- r(this, j, new AbortController());
139
- const L = yield (yield fetch(t, {
140
- signal: e(this, j).signal
141
- })).text(), k = ie.parseFromString(L, "text/html");
142
- this.setInitialDocument(k);
143
- } catch (m) {
144
- console.warn(m);
138
+ r(this, X, new AbortController());
139
+ const v = yield (yield fetch(t, {
140
+ signal: e(this, X).signal
141
+ })).text(), b = ne.parseFromString(v, "text/html");
142
+ this.setInitialDocument(b);
143
+ } catch (u) {
144
+ console.warn(u);
145
145
  } finally {
146
- r(this, j, null), r(this, V, null), i();
146
+ r(this, X, null), r(this, U, null), i();
147
147
  }
148
- }))), e(this, V));
148
+ }))), e(this, U));
149
149
  });
150
150
  }
151
151
  cloneDocument() {
152
- r(this, I, (e(this, X) || e(this, C)).cloneNode(!0));
152
+ r(this, D, (e(this, Y) || e(this, A)).cloneNode(!0));
153
153
  }
154
154
  get title() {
155
155
  let t = "";
156
- if (e(this, I).title)
157
- t = e(this, I).title;
156
+ if (e(this, D).title)
157
+ t = e(this, D).title;
158
158
  else {
159
- const s = e(this, I).querySelector("h1");
160
- t = (s == null ? void 0 : s.innerText) || (s == null ? void 0 : s.textContent) || e(this, Y);
159
+ const s = e(this, D).querySelector("h1");
160
+ t = (s == null ? void 0 : s.innerText) || (s == null ? void 0 : s.textContent) || e(this, W);
161
161
  }
162
162
  return t;
163
163
  }
164
164
  clearScrollState() {
165
- e(this, y).x = 0, e(this, y).y = 0;
165
+ e(this, L).x = 0, e(this, L).y = 0;
166
166
  }
167
167
  clearDocumentState() {
168
- r(this, X, null);
168
+ r(this, Y, null);
169
169
  }
170
170
  saveScrollState() {
171
- e(this, C).documentElement.hasAttribute(
171
+ e(this, A).documentElement.hasAttribute(
172
172
  "data-no-scroll-restoration"
173
- ) ? (e(this, y).x = 0, e(this, y).y = 0) : (e(this, y).x = e(this, H).scrollValue.left, e(this, y).y = e(this, H).scrollValue.top);
173
+ ) ? (e(this, L).x = 0, e(this, L).y = 0) : (e(this, L).x = e(this, H).scrollValue.left, e(this, L).y = e(this, H).scrollValue.top);
174
174
  }
175
175
  restoreScrollPosition() {
176
176
  e(this, H).scrollElement.scroll({
177
- top: e(this, y).y,
178
- left: e(this, y).x,
177
+ top: e(this, L).y,
178
+ left: e(this, L).x,
179
179
  behavior: "instant"
180
180
  });
181
181
  }
182
182
  saveDocumentState() {
183
- e(this, C).documentElement.hasAttribute(
183
+ e(this, A).documentElement.hasAttribute(
184
184
  "data-no-page-restoration"
185
- ) ? r(this, X, null) : r(this, X, document.cloneNode(!0));
185
+ ) ? r(this, Y, null) : r(this, Y, document.cloneNode(!0));
186
186
  }
187
187
  renewScrollPosition() {
188
188
  e(this, H).scrollElement.scroll({
@@ -192,44 +192,44 @@ class Vt {
192
192
  });
193
193
  }
194
194
  saveState(t) {
195
- r(this, Q, t);
195
+ r(this, J, t);
196
196
  }
197
197
  clearState() {
198
- const t = e(this, Q);
199
- return r(this, Q, null), t;
198
+ const t = e(this, J);
199
+ return r(this, J, null), t;
200
200
  }
201
201
  }
202
- H = new WeakMap(), Y = new WeakMap(), y = new WeakMap(), C = new WeakMap(), X = new WeakMap(), I = new WeakMap(), Q = new WeakMap(), j = new WeakMap(), V = new WeakMap(), Z = new WeakMap();
203
- var T, _, g, q, d, K, F, B, A, rt, x, $, tt, et, ot, c, ut, Lt, Ot, yt, bt, At, kt, dt, st;
204
- const it = class it {
202
+ H = new WeakMap(), W = new WeakMap(), L = new WeakMap(), A = new WeakMap(), Y = new WeakMap(), D = new WeakMap(), J = new WeakMap(), X = new WeakMap(), U = new WeakMap(), Q = new WeakMap();
203
+ var k, Z, E, z, m, j, I, V, y, nt, T, K, _, tt, c, vt, rt, ct, Lt, Ot, yt, bt, At, kt, ut, et;
204
+ const st = class st {
205
205
  constructor(t) {
206
- a(this, c);
207
- a(this, T, null);
208
- a(this, _, null);
209
- a(this, g, []);
210
- a(this, q);
211
- a(this, d, null);
212
- a(this, K);
213
- a(this, F, []);
214
- a(this, B, !1);
215
- a(this, A, null);
216
- a(this, rt, !1);
217
- a(this, x, /* @__PURE__ */ new Map());
218
- a(this, $, null);
219
- a(this, tt, 0);
220
- a(this, et, 0);
221
- a(this, ot, (t) => {
206
+ o(this, c);
207
+ o(this, k, null);
208
+ o(this, Z, null);
209
+ o(this, E, []);
210
+ o(this, z);
211
+ o(this, m, null);
212
+ o(this, j);
213
+ o(this, I, []);
214
+ o(this, V, !1);
215
+ o(this, y, null);
216
+ o(this, nt, !1);
217
+ o(this, T, /* @__PURE__ */ new Map());
218
+ o(this, K, null);
219
+ o(this, _, 0);
220
+ o(this, tt, 0);
221
+ o(this, rt, (t) => {
222
222
  var s;
223
223
  return ((s = t.getAttribute("href")) == null ? void 0 : s.startsWith("/")) && !t.hasAttribute("download") && !t.hasAttribute("data-morph-skip") && !t.closest("[data-morph-skip]") && t.getAttribute("target") !== "_blank";
224
224
  });
225
- a(this, dt, (t) => W(this, null, function* () {
226
- t.preventDefault(), r(this, B, !0), yield this.navigate(location.href.replace(location.origin, ""), {
225
+ o(this, ut, (t) => O(this, null, function* () {
226
+ t.preventDefault(), r(this, V, !0), yield this.navigate(location.href.replace(location.origin, ""), {
227
227
  historyAction: "none"
228
- }), r(this, B, !1);
228
+ }), r(this, V, !1);
229
229
  }));
230
- a(this, st, () => {
231
- const { left: t, top: s } = this.scrollValue, i = s - e(this, et), m = t - e(this, tt);
232
- r(this, et, s), r(this, tt, t), document.documentElement.classList.toggle("scroll-y", s > 0), document.documentElement.classList.toggle("scroll-x", t > 0), document.documentElement.classList.toggle(
230
+ o(this, et, () => {
231
+ const { left: t, top: s } = this.scrollValue, i = s - e(this, tt), u = t - e(this, _);
232
+ r(this, tt, s), r(this, _, t), document.documentElement.classList.toggle("scroll-y", s > 0), document.documentElement.classList.toggle("scroll-x", t > 0), document.documentElement.classList.toggle(
233
233
  "scroll-y-forward",
234
234
  i > 0
235
235
  ), document.documentElement.classList.toggle(
@@ -237,208 +237,208 @@ const it = class it {
237
237
  i < 0
238
238
  ), document.documentElement.classList.toggle(
239
239
  "scroll-x-forward",
240
- m > 0
240
+ u > 0
241
241
  ), document.documentElement.classList.toggle(
242
242
  "scroll-x-backward",
243
- m < 0
244
- ), U(document, "morphScroll", {
243
+ u < 0
244
+ ), R(document, "morphScroll", {
245
245
  detail: {
246
246
  left: t,
247
247
  top: s
248
248
  }
249
249
  });
250
250
  });
251
- if (Ft && !it.instance) {
252
- it.instance = this, r(this, T, {
253
- base: te(t == null ? void 0 : t.base),
251
+ if (Ft && !st.instance) {
252
+ st.instance = this, r(this, k, {
253
+ base: ee(t == null ? void 0 : t.base),
254
254
  waitForHeadToLoad: (t == null ? void 0 : t.waitForHeadToLoad) !== !1,
255
255
  trailingSlash: (t == null ? void 0 : t.trailingSlash) || !1,
256
256
  scrollSelector: t == null ? void 0 : t.scrollSelector,
257
257
  morphInsideScrollContainer: (t == null ? void 0 : t.morphInsideScrollContainer) || !1
258
- }), r(this, _, E(this, c, Lt).call(this, document.body));
258
+ }), r(this, Z, p(this, c, Lt).call(this, document.body));
259
259
  const s = this.normalizePath(
260
260
  location.pathname + location.hash + location.search
261
261
  );
262
- r(this, d, s);
263
- const i = new Vt(this, e(this, d).pathname);
264
- i.setInitialDocument(document), e(this, x).set(e(this, d).pathname, i), document.documentElement.setAttribute(
262
+ r(this, m, s);
263
+ const i = new Vt(this, e(this, m).pathname);
264
+ i.setInitialDocument(document), e(this, T).set(e(this, m).pathname, i), document.documentElement.setAttribute(
265
265
  "data-current-pathname",
266
- e(this, d).pathname
266
+ e(this, m).pathname
267
267
  ), document.documentElement.setAttribute(
268
268
  "data-current-leaf",
269
269
  s.leaf
270
- ), this.findLinks(), history.scrollRestoration = "manual", addEventListener("popstate", e(this, dt)), St({
270
+ ), this.findLinks(), history.scrollRestoration = "manual", addEventListener("popstate", e(this, ut)), St({
271
271
  action: "replace",
272
272
  pathname: s.pathname,
273
273
  searchParameters: s.parameters,
274
274
  hash: s.hash
275
- }), r(this, $, new Bt()), E(this, c, At).call(this, document);
275
+ }), r(this, K, new Bt()), p(this, c, At).call(this, document);
276
276
  }
277
277
  }
278
278
  get currentURL() {
279
- return e(this, d);
279
+ return e(this, m);
280
280
  }
281
281
  get previousURL() {
282
- return e(this, K);
282
+ return e(this, j);
283
283
  }
284
284
  get links() {
285
- return e(this, g);
285
+ return e(this, E);
286
286
  }
287
287
  get scrollElement() {
288
- return e(this, A);
288
+ return e(this, y);
289
289
  }
290
290
  get isPopstateNavigation() {
291
- return e(this, B);
291
+ return e(this, V);
292
292
  }
293
293
  get scrollValue() {
294
294
  let t = 0, s = 0;
295
- return e(this, rt) ? (t = window.scrollY, s = window.scrollX) : (t = e(this, A).scrollTop, s = e(this, A).scrollLeft), { top: t, left: s };
295
+ return e(this, nt) ? (t = window.scrollY, s = window.scrollX) : (t = e(this, y).scrollTop, s = e(this, y).scrollLeft), { top: t, left: s };
296
296
  }
297
297
  saveState(t) {
298
- const s = e(this, x).get(e(this, d).path);
298
+ const s = e(this, T).get(e(this, m).path);
299
299
  s && s.saveState(t);
300
300
  }
301
301
  getState() {
302
- const t = e(this, x).get(e(this, d).path);
302
+ const t = e(this, T).get(e(this, m).path);
303
303
  return t == null ? void 0 : t.clearState();
304
304
  }
305
305
  normalizePath(t) {
306
- return ee(t, {
307
- base: e(this, T).base,
308
- trailingSlash: e(this, T).trailingSlash
306
+ return se(t, {
307
+ base: e(this, k).base,
308
+ trailingSlash: e(this, k).trailingSlash
309
309
  });
310
310
  }
311
311
  prefetch(t, s) {
312
- return W(this, null, function* () {
313
- if (e(this, F).length)
312
+ return O(this, null, function* () {
313
+ if (e(this, I).length)
314
314
  return;
315
- const i = E(this, c, ut).call(this, t);
315
+ const i = p(this, c, ct).call(this, t);
316
316
  i == null || i.fetch(t, s);
317
317
  });
318
318
  }
319
- navigate(O) {
320
- return W(this, arguments, function* (t, {
319
+ excludeHeadChild(t) {
320
+ return !1;
321
+ }
322
+ navigate(q) {
323
+ return O(this, arguments, function* (t, {
321
324
  historyAction: s = "push",
322
325
  centerScroll: i,
323
- offsetScroll: m,
324
- revalidate: L,
325
- keepSearchParameters: k,
326
- submorph: v,
327
- clearState: w
326
+ offsetScroll: u,
327
+ revalidate: v,
328
+ keepSearchParameters: b,
329
+ submorph: w,
330
+ clearState: g
328
331
  } = {}) {
329
- var at, lt, Pt, Ct;
330
- if (e(this, F).length)
332
+ var at, ot, Pt, Ct;
333
+ if (e(this, I).length)
331
334
  return;
332
335
  const l = this.normalizePath(
333
336
  ((at = this.pathnameModifier) == null ? void 0 : at.call(this, t)) || t
334
337
  );
335
- if (((lt = e(this, q)) == null ? void 0 : lt.pathname) === l.pathname || e(this, d).pathname === l.pathname) {
336
- E(this, c, kt).call(this, l.hash || 0, {
338
+ if (((ot = e(this, z)) == null ? void 0 : ot.pathname) === l.pathname || e(this, m).pathname === l.pathname) {
339
+ p(this, c, kt).call(this, l.hash || 0, {
337
340
  centerScroll: i,
338
- offsetScroll: m,
341
+ offsetScroll: u,
339
342
  behavior: "smooth"
340
- }), ((Pt = e(this, d)) == null ? void 0 : Pt.parameters) !== l.parameters && (r(this, K, e(this, d)), r(this, d, l), St({
341
- action: ((Ct = e(this, d)) == null ? void 0 : Ct.hash) !== l.hash ? "replace" : s,
343
+ }), ((Pt = e(this, m)) == null ? void 0 : Pt.parameters) !== l.parameters && (r(this, j, e(this, m)), r(this, m, l), St({
344
+ action: ((Ct = e(this, m)) == null ? void 0 : Ct.hash) !== l.hash ? "replace" : s,
342
345
  pathname: l.pathname,
343
346
  searchParameters: l.parameters,
344
347
  hash: l.hash
345
- }), U(document, "morphURLParametersChange", {
348
+ }), R(document, "morphURLParametersChange", {
346
349
  detail: {
347
- newURL: e(this, d),
348
- previousURL: e(this, K)
350
+ newURL: e(this, m),
351
+ previousURL: e(this, j)
349
352
  }
350
353
  }));
351
354
  return;
352
355
  }
353
- r(this, q, l), e(this, g).forEach((G) => {
354
- G.checkCurrent(l.pathname);
356
+ r(this, z, l), e(this, E).forEach(($) => {
357
+ $.checkCurrent(l.pathname);
355
358
  });
356
359
  try {
357
- let G = !0;
360
+ let $ = !0;
358
361
  if (this.preprocessor)
359
362
  try {
360
- yield new Promise((o, M) => {
361
- var p;
362
- (p = this.preprocessor) == null || p.call(this, {
363
+ yield new Promise((a, P) => {
364
+ var x;
365
+ (x = this.preprocessor) == null || x.call(this, {
363
366
  url: l,
364
- resolve: o,
365
- reject: M,
366
- submorph: v
367
+ resolve: a,
368
+ reject: P,
369
+ submorph: w
367
370
  });
368
371
  });
369
- } catch (o) {
370
- o ? console.error(o) : console.log("Route change canceled"), G = !1;
372
+ } catch (a) {
373
+ a ? console.error(a) : console.log("Route change canceled"), $ = !1;
371
374
  }
372
- if (!G || e(this, q).pathname !== l.pathname) {
373
- e(this, g).forEach((o) => {
374
- o.checkCurrent(e(this, d).pathname);
375
+ if (!$ || e(this, z).pathname !== l.pathname) {
376
+ e(this, E).forEach((a) => {
377
+ a.checkCurrent(e(this, m).pathname);
375
378
  });
376
379
  return;
377
380
  }
378
- const Tt = {
381
+ const Ht = {
379
382
  url: l,
380
- submorph: v
383
+ submorph: w
381
384
  };
382
- U(document, "morphNavigation", {
383
- detail: Tt
385
+ R(document, "morphNavigation", {
386
+ detail: Ht
384
387
  });
385
- const mt = E(this, c, ut).call(this, e(this, d).pathname), f = E(this, c, ut).call(this, l.pathname);
386
- if (e(this, x).forEach((o) => {
387
- o.pathname !== l.pathname && o.abort();
388
- }), yield f == null ? void 0 : f.fetch(t, L), e(this, q).pathname !== l.pathname) {
389
- e(this, g).forEach((o) => {
390
- o.checkCurrent(e(this, d).path);
388
+ const dt = p(this, c, ct).call(this, e(this, m).pathname), f = p(this, c, ct).call(this, l.pathname);
389
+ if (e(this, T).forEach((a) => {
390
+ a.pathname !== l.pathname && a.abort();
391
+ }), yield f == null ? void 0 : f.fetch(t, v), e(this, z).pathname !== l.pathname) {
392
+ e(this, E).forEach((a) => {
393
+ a.checkCurrent(e(this, m).path);
391
394
  });
392
395
  return;
393
396
  }
394
- mt.clearState(), mt.saveScrollState(), mt.saveDocumentState(), e(this, B) || (f.clearScrollState(), f.clearDocumentState()), w && f.clearState(), f.cloneDocument(), e(this, $).textContent = f.title, document.body.appendChild(e(this, $));
395
- const ft = gt(Et({}, Tt), {
397
+ dt.clearState(), dt.saveScrollState(), dt.saveDocumentState(), e(this, V) || (f.clearScrollState(), f.clearDocumentState()), g && f.clearState(), f.cloneDocument(), e(this, K).textContent = f.title, document.body.appendChild(e(this, K));
398
+ const mt = Et(pt({}, Ht), {
396
399
  document: f.document
397
400
  });
398
- U(document, "morphStart", {
399
- detail: ft
401
+ R(document, "morphStart", {
402
+ detail: mt
400
403
  });
401
- const Mt = Array.from(document.head.children), Rt = Array.from(f.document.head.children), Ht = E(this, c, Ot).call(this, Mt, Rt), Wt = E(this, c, yt).call(this, Mt, Ht), ht = E(this, c, yt).call(this, Rt, Ht);
402
- ht.forEach((o, M) => {
403
- if (o.tagName === "SCRIPT" && o.getAttribute("src")) {
404
- const p = document.createElement("script"), N = o.getAttribute("src");
405
- N.includes("http") || (p.type = "module"), p.src = N, ht[M] = p;
406
- }
407
- }), ht.forEach((o) => {
408
- document.head.appendChild(o);
404
+ const Tt = Array.from(document.head.children), xt = Array.from(f.document.head.children), Mt = p(this, c, Ot).call(this, Tt, xt), Wt = p(this, c, yt).call(this, Tt, Mt), lt = p(this, c, yt).call(this, xt, Mt).filter((a) => !this.excludeHeadChild(a));
405
+ lt.forEach((a, P) => {
406
+ a.tagName === "SCRIPT" && (lt[P] = p(this, c, vt).call(this, a));
407
+ }), lt.forEach((a) => {
408
+ document.head.appendChild(a);
409
409
  });
410
- const pt = ht.filter((o) => {
411
- if (o.hasAttribute("data-no-waiting"))
410
+ const ft = lt.filter((a) => {
411
+ if (a.hasAttribute("data-no-waiting"))
412
412
  return !1;
413
- if (E(this, c, bt).call(this, o))
413
+ if (p(this, c, bt).call(this, a))
414
414
  return !0;
415
415
  });
416
- e(this, T).waitForHeadToLoad && pt.length && (yield new Promise((o) => W(this, null, function* () {
417
- let M = 0;
416
+ e(this, k).waitForHeadToLoad && ft.length && (yield new Promise((a) => O(this, null, function* () {
417
+ let P = 0;
418
418
  try {
419
- for (var p = It(pt), N, b, P; N = !(b = yield p.next()).done; N = !1) {
420
- const ct = b.value;
421
- ct.onload = () => {
422
- M++, M === pt.length && o();
419
+ for (var x = It(ft), Xt, F, B; Xt = !(F = yield x.next()).done; Xt = !1) {
420
+ const ht = F.value;
421
+ ht.onload = () => {
422
+ P++, P === ft.length && a();
423
423
  };
424
424
  }
425
- } catch (b) {
426
- P = [b];
425
+ } catch (F) {
426
+ B = [F];
427
427
  } finally {
428
428
  try {
429
- N && (b = p.return) && (yield b.call(p));
429
+ Xt && (F = x.return) && (yield F.call(x));
430
430
  } finally {
431
- if (P)
432
- throw P[0];
431
+ if (B)
432
+ throw B[0];
433
433
  }
434
434
  }
435
- }))), yield Zt(10);
436
- const xt = [];
437
- Wt.forEach((o) => {
438
- o.hasAttribute("data-permanent") || (E(this, c, bt).call(this, o) ? xt.push(o) : o.remove());
435
+ }))), yield _t(10);
436
+ const Rt = [];
437
+ Wt.forEach((a) => {
438
+ a.hasAttribute("data-permanent") || (p(this, c, bt).call(this, a) ? Rt.push(a) : a.remove());
439
439
  });
440
- const Yt = E(this, c, Lt).call(this, f.document.body);
441
- e(this, T).morphInsideScrollContainer || E(this, c, At).call(this, f.document), document.documentElement.setAttribute(
440
+ const Yt = p(this, c, Lt).call(this, f.document.body);
441
+ e(this, k).morphInsideScrollContainer || p(this, c, At).call(this, f.document), document.documentElement.setAttribute(
442
442
  "data-current-pathname",
443
443
  l.pathname
444
444
  ), document.documentElement.setAttribute(
@@ -447,87 +447,82 @@ const it = class it {
447
447
  ), St({
448
448
  action: s,
449
449
  pathname: l.pathname,
450
- searchParameters: l.parameters || (k ? location.search : ""),
450
+ searchParameters: l.parameters || (b ? location.search : ""),
451
451
  hash: l.hash
452
- }), e(this, $).remove(), r(this, K, e(this, d)), r(this, d, l), e(this, _).forEach((o, M) => {
453
- const p = Yt[M], N = getComputedStyle(o).getPropertyValue("--morph-duration");
454
- let b = [], P = [];
455
- v ? v.forEach((u) => {
456
- const S = o.querySelector(u), D = p.querySelector(u);
457
- S && D && (P.push(S), b.push(D));
458
- }) : (b.push(...p.childNodes), P.push(...o.childNodes)), P.forEach((u) => {
459
- u instanceof HTMLElement && (this.destroyOldLinks(u), u.classList.add("old"));
460
- }), b.forEach((u) => {
461
- u instanceof HTMLElement && (this.findNewLinks(u), u.classList.add("new"));
462
- }), v ? b.forEach((u, S) => {
463
- var D;
464
- (D = P[S].parentElement) == null || D.insertBefore(
465
- u,
466
- P[S]
452
+ }), e(this, K).remove(), r(this, j, e(this, m)), r(this, m, l), e(this, Z).forEach((a, P) => {
453
+ const x = Yt[P], Xt = getComputedStyle(a).getPropertyValue("--morph-duration");
454
+ let F = [], B = [];
455
+ w ? w.forEach((d) => {
456
+ const S = a.querySelector(d), M = x.querySelector(d);
457
+ S && M && (B.push(S), F.push(M));
458
+ }) : (F.push(...x.childNodes), B.push(...a.childNodes)), B.forEach((d) => {
459
+ d instanceof HTMLElement && (this.destroyOldLinks(d), d.classList.add("old"));
460
+ }), F.forEach((d) => {
461
+ d instanceof HTMLElement && (this.findNewLinks(d), d.classList.add("new"));
462
+ }), w ? F.forEach((d, S) => {
463
+ var M;
464
+ (M = B[S].parentElement) == null || M.insertBefore(
465
+ d,
466
+ B[S]
467
467
  );
468
- }) : o.prepend(...b), Qt(() => {
469
- P.forEach((u) => {
470
- u instanceof HTMLElement && u.classList.add("old-idle");
471
- }), b.forEach((u) => {
468
+ }) : a.prepend(...F), Zt(() => {
469
+ B.forEach((d) => {
470
+ d instanceof HTMLElement && d.classList.add("old-idle");
471
+ }), F.forEach((d) => {
472
472
  var S;
473
- u instanceof HTMLElement && ((S = u.parentElement) == null || S.style.setProperty(
473
+ d instanceof HTMLElement && ((S = d.parentElement) == null || S.style.setProperty(
474
474
  "--new-content-height",
475
- u.offsetHeight + "px"
476
- ), u.classList.add("new-idle"));
475
+ d.offsetHeight + "px"
476
+ ), d.classList.add("new-idle"));
477
477
  });
478
478
  });
479
- const ct = gt(Et({}, ft), {
480
- morphElement: o
479
+ const ht = Et(pt({}, mt), {
480
+ morphElement: a
481
481
  });
482
- U(document, "morphNewChildrenAdded", {
483
- detail: ct
482
+ R(document, "morphNewChildrenAdded", {
483
+ detail: ht
484
484
  });
485
- const Xt = new Promise((u) => {
485
+ const jt = new Promise((d) => {
486
486
  setTimeout(() => {
487
- P.forEach((S) => S.remove()), b.forEach((S) => {
488
- var D;
489
- S instanceof HTMLElement && ((D = S.parentElement) == null || D.style.removeProperty(
487
+ B.forEach((S) => S.remove()), F.forEach((S) => {
488
+ var M;
489
+ S instanceof HTMLElement && ((M = S.parentElement) == null || M.style.removeProperty(
490
490
  "--new-content-height"
491
491
  ), S.classList.remove("new-idle", "new"));
492
- }), U(document, "morphOldChildrenRemoved", {
493
- detail: ct
494
- }), u();
495
- }, (parseFloat(N) || 0) * 1e3 + 10);
492
+ }), R(document, "morphOldChildrenRemoved", {
493
+ detail: ht
494
+ }), d();
495
+ }, (parseFloat(Xt) || 0) * 1e3 + 10);
496
496
  });
497
- e(this, F).push(Xt);
497
+ e(this, I).push(jt);
498
498
  }), this.isPopstateNavigation ? document.documentElement.style.setProperty(
499
499
  "--new-document-scroll-position",
500
500
  (this.scrollValue.top - f.scrollState.y) * 1 + "px"
501
501
  ) : document.documentElement.style.setProperty(
502
502
  "--new-document-scroll-position",
503
503
  this.scrollValue.top + "px"
504
- ), U(document, "morphBeforeNavigationScroll", {
504
+ ), R(document, "morphBeforeNavigationScroll", {
505
505
  detail: f.scrollState
506
- }), l.hash ? (f.clearScrollState(), E(this, c, kt).call(this, l.hash, {
506
+ }), l.hash ? (f.clearScrollState(), p(this, c, kt).call(this, l.hash, {
507
507
  centerScroll: i,
508
- offsetScroll: m
509
- })) : e(this, B) ? f.restoreScrollPosition() : f.renewScrollPosition(), yield Promise.all(e(this, F)), xt.forEach((o) => o.remove()), r(this, F, []), e(this, _).forEach((o) => {
510
- o.querySelectorAll("script").forEach((p) => {
511
- const N = document.createElement("script");
512
- for (let b = 0; b < p.attributes.length; b++) {
513
- const P = p.attributes[b];
514
- N.setAttribute(P.name, P.value);
515
- }
516
- p.hasAttribute("src") || (N.innerHTML = p.innerHTML), p.replaceWith(N);
508
+ offsetScroll: u
509
+ })) : e(this, V) ? f.restoreScrollPosition() : f.renewScrollPosition(), yield Promise.all(e(this, I)), Rt.forEach((a) => a.remove()), r(this, I, []), e(this, Z).forEach((a) => {
510
+ a.querySelectorAll("script").forEach((x) => {
511
+ x.replaceWith(p(this, c, vt).call(this, x));
517
512
  });
518
- }), U(document, "morphComplete", {
519
- detail: ft
513
+ }), R(document, "morphComplete", {
514
+ detail: mt
520
515
  }), document.documentElement.style.removeProperty(
521
516
  "--new-document-scroll-position"
522
517
  ), window.dispatchEvent(new Event("resize"));
523
- } catch (G) {
524
- console.error(G);
518
+ } catch ($) {
519
+ console.error($);
525
520
  }
526
- r(this, q, void 0);
521
+ r(this, z, void 0);
527
522
  });
528
523
  }
529
524
  addLink(t) {
530
- e(this, g).push(new vt(t, this));
525
+ e(this, E).push(new wt(t, this));
531
526
  }
532
527
  addLinks(t) {
533
528
  t.forEach((s) => {
@@ -535,63 +530,70 @@ const it = class it {
535
530
  });
536
531
  }
537
532
  removeLink(t) {
538
- r(this, g, e(this, g).filter((s) => s.element === t ? (s.destroy(), !1) : !0));
533
+ r(this, E, e(this, E).filter((s) => s.element === t ? (s.destroy(), !1) : !0));
539
534
  }
540
535
  destroyOldLinks(t) {
541
- r(this, g, e(this, g).filter((s) => t.contains(s.element) ? (s.destroy(), !1) : !0));
536
+ r(this, E, e(this, E).filter((s) => t.contains(s.element) ? (s.destroy(), !1) : !0));
542
537
  }
543
538
  findNewLinks(t) {
544
539
  const s = [...t.querySelectorAll("a")].filter(
545
- e(this, ot)
540
+ e(this, rt)
546
541
  );
547
- e(this, g).push(
548
- ...s.map((i) => new vt(i, this))
542
+ e(this, E).push(
543
+ ...s.map((i) => new wt(i, this))
549
544
  );
550
545
  }
551
546
  findLinks() {
552
547
  const t = [
553
548
  ...document.documentElement.querySelectorAll("a")
554
- ].filter(e(this, ot));
555
- e(this, g).forEach((s) => s.destroy()), r(this, g, t.map((s) => new vt(s, this)));
549
+ ].filter(e(this, rt));
550
+ e(this, E).forEach((s) => s.destroy()), r(this, E, t.map((s) => new wt(s, this)));
556
551
  }
557
552
  };
558
- T = new WeakMap(), _ = new WeakMap(), g = new WeakMap(), q = new WeakMap(), d = new WeakMap(), K = new WeakMap(), F = new WeakMap(), B = new WeakMap(), A = new WeakMap(), rt = new WeakMap(), x = new WeakMap(), $ = new WeakMap(), tt = new WeakMap(), et = new WeakMap(), ot = new WeakMap(), c = new WeakSet(), ut = function(t) {
553
+ k = new WeakMap(), Z = new WeakMap(), E = new WeakMap(), z = new WeakMap(), m = new WeakMap(), j = new WeakMap(), I = new WeakMap(), V = new WeakMap(), y = new WeakMap(), nt = new WeakMap(), T = new WeakMap(), K = new WeakMap(), _ = new WeakMap(), tt = new WeakMap(), c = new WeakSet(), vt = function(t) {
554
+ const s = document.createElement("script");
555
+ for (let i = 0; i < t.attributes.length; i++) {
556
+ const u = t.attributes[i];
557
+ s.setAttribute(u.name, u.value);
558
+ }
559
+ return t.hasAttribute("src") || (s.innerHTML = t.innerHTML), s;
560
+ }, rt = new WeakMap(), ct = function(t) {
559
561
  const s = this.normalizePath(t);
560
- let i = e(this, x).get(s.pathname);
561
- return i || (i = new Vt(this, s.pathname), e(this, x).set(s.pathname, i)), i;
562
+ let i = e(this, T).get(s.pathname);
563
+ return i || (i = new Vt(this, s.pathname), e(this, T).set(s.pathname, i)), i;
562
564
  }, Lt = function(t) {
563
565
  const s = [...t.querySelectorAll("[data-morph]")];
564
566
  return s.length ? s : [t];
565
567
  }, Ot = function(t, s) {
566
568
  return t.filter(
567
569
  (i) => s.find(
568
- (m) => m.outerHTML === i.outerHTML
570
+ (u) => u.outerHTML === i.outerHTML
569
571
  )
570
572
  );
571
573
  }, yt = function(t, s) {
572
574
  return t.filter(
573
575
  (i) => !s.find(
574
- (m) => m.outerHTML === i.outerHTML
576
+ (u) => u.outerHTML === i.outerHTML
575
577
  )
576
578
  );
577
579
  }, bt = function(t) {
578
580
  return t.tagName === "SCRIPT" || t.tagName === "STYLE" || t.tagName === "LINK" && t.getAttribute("rel") === "stylesheet";
579
581
  }, At = function(t) {
580
582
  var s, i;
581
- (s = e(this, A)) == null || s.removeEventListener(
583
+ (s = e(this, y)) == null || s.removeEventListener(
582
584
  "scroll",
583
- e(this, st)
584
- ), r(this, et, 0), r(this, tt, 0), r(this, A, e(this, T).scrollSelector && t.querySelector(e(this, T).scrollSelector) || window), r(this, rt, e(this, A) === window), (i = e(this, A)) == null || i.addEventListener("scroll", e(this, st)), e(this, st).call(this);
585
+ e(this, et)
586
+ ), r(this, tt, 0), r(this, _, 0), r(this, y, e(this, k).scrollSelector && t.querySelector(e(this, k).scrollSelector) || window), r(this, nt, e(this, y) === window), (i = e(this, y)) == null || i.addEventListener("scroll", e(this, et)), e(this, et).call(this);
585
587
  }, kt = function(t, s) {
586
588
  const i = typeof t == "string" ? document.getElementById(t) : t;
587
- (typeof i == "number" || i) && _t(i, {
588
- scrollElement: e(this, A),
589
+ (typeof i == "number" || i) && te(i, {
590
+ scrollElement: e(this, y),
589
591
  behavior: (s == null ? void 0 : s.behavior) || "instant",
590
592
  center: s == null ? void 0 : s.centerScroll,
591
593
  offset: s == null ? void 0 : s.offsetScroll
592
594
  });
593
- }, dt = new WeakMap(), st = new WeakMap(), it.instance = null;
594
- let qt = it;
595
+ }, ut = new WeakMap(), et = new WeakMap(), st.instance = null;
596
+ let qt = st;
595
597
  export {
596
598
  qt as Morph
597
599
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aptechka",
3
- "version": "0.71.5",
3
+ "version": "0.71.6",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/denisavitski/aptechka.git"