aptechka 0.71.10 → 0.71.11

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