aptechka 0.72.6 → 0.72.7

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