aptechka 0.59.1 → 0.59.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/morph/Morph.d.ts +1 -1
- package/lib/morph/index.cjs +1 -1
- package/lib/morph/index.js +79 -78
- package/package.json +1 -1
package/lib/morph/Morph.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ export declare class Morph {
|
|
|
59
59
|
parameters: string;
|
|
60
60
|
hash: string;
|
|
61
61
|
};
|
|
62
|
-
prefetch(path: string): Promise<void>;
|
|
62
|
+
prefetch(path: string, revalidate?: boolean): Promise<void>;
|
|
63
63
|
navigate(path: string, { historyAction, centerScroll, offsetScroll, revalidate, keepSearchParameters, }?: MorphNavigateOptions): Promise<void>;
|
|
64
64
|
addLink(element: HTMLAnchorElement): void;
|
|
65
65
|
addLinks(elements: Array<HTMLAnchorElement>): void;
|
package/lib/morph/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var wt=(r,t)=>(t=Symbol[r])?t:Symbol.for("Symbol."+r),bt=r=>{throw TypeError(r)};var nt=(r,t,s)=>t.has(r)||bt("Cannot "+s);var e=(r,t,s)=>(nt(r,t,"read from private field"),s?s.call(r):t.get(r)),o=(r,t,s)=>t.has(r)?bt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,s),a=(r,t,s,i)=>(nt(r,t,"write to private field"),i?i.call(r,s):t.set(r,s),s),d=(r,t,s)=>(nt(r,t,"access private method"),s);var N=(r,t,s)=>new Promise((i,u)=>{var p=E=>{try{H(s.next(E))}catch(h){u(h)}},M=E=>{try{H(s.throw(E))}catch(h){u(h)}},H=E=>E.done?i(E.value):Promise.resolve(E.value).then(p,M);H((s=s.apply(r,t)).next())});var kt=(r,t,s)=>(t=r[wt("asyncIterator")])?t.call(r):(r=r[wt("iterator")](),t={},s=(i,u)=>(u=r[i])&&(t[i]=p=>new Promise((M,H,E)=>(p=u.call(r,p),E=p.done,Promise.resolve(p.value).then(h=>M({value:h,done:E}),H)))),s("next"),s("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ct=require("../index-Cqw2NKev.cjs"),K=require("../events-KVanG9sR.cjs"),Rt=require("../polyfills-Df4r-ETT.cjs"),Pt=require("../scroll-DAhSpkhR.cjs"),tt=require("../url-D1CgmwZ_.cjs"),zt=require("../css-value-parser/index.cjs");class Tt 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)}}Ct.isBrowser&&!customElements.get("morph-announcer")&&customElements.define("morph-announcer",Tt);var b,c,x,G,F;class rt{constructor(t,s){o(this,b);o(this,c);o(this,x);o(this,G,t=>{if(t.preventDefault(),e(this,c).hasAttribute("data-back")&&e(this,b).previousPathname)history.back();else{const i=e(this,c).getAttribute("data-history-action")||"push",u=e(this,c).hasAttribute("data-center-scroll"),p=getComputedStyle(e(this,c)).getPropertyValue("--offset-scroll").trim(),M=p?zt.cssValueParser.parse(p):void 0,H=e(this,c).hasAttribute("data-revalidate"),E=e(this,c).hasAttribute("data-keep-search-parameters");e(this,b).navigate(e(this,x),{historyAction:i,centerScroll:u,offsetScroll:M,revalidate:H,keepSearchParameters:E})}});o(this,F,()=>{e(this,b).prefetch(e(this,x)),e(this,c).removeEventListener("pointerenter",e(this,F))});a(this,b,s),a(this,c,t),a(this,x,e(this,c).getAttribute("href")||"/"),e(this,c).addEventListener("click",e(this,G)),this.checkCurrent(location.pathname),e(this,c).hasAttribute("data-prefetch")&&e(this,c).addEventListener("pointerenter",e(this,F))}get element(){return e(this,c)}checkCurrent(t){const s=e(this,b).normalizePath(t),i=e(this,b).normalizePath(e(this,x));e(this,c).hasAttribute("data-include")&&s.pathname.includes(i.pathname)?e(this,c).classList.add("current"):i.pathname===s.pathname?e(this,c).classList.add("current"):e(this,c).classList.remove("current")}destroy(){e(this,c).removeEventListener("click",e(this,G)),e(this,c).removeEventListener("pointerenter",e(this,F)),e(this,c).classList.remove("current")}}b=new WeakMap,c=new WeakMap,x=new WeakMap,G=new WeakMap,F=new WeakMap;var A,V,v,q,D,C;class At{constructor(t,s,i){o(this,A);o(this,V);o(this,v,{x:0,y:0});o(this,q);o(this,D,null);o(this,C,null);a(this,A,t),a(this,V,s),a(this,q,i.cloneNode(!0))}get pathname(){return e(this,V)}get scrollState(){return e(this,v)}get document(){return e(this,C)}cloneDocument(){a(this,C,(e(this,D)||e(this,q)).cloneNode(!0))}get title(){let t="";if(e(this,C).title)t=e(this,C).title;else{const s=e(this,C).querySelector("h1");t=(s==null?void 0:s.innerText)||(s==null?void 0:s.textContent)||e(this,V)}return t}clearScrollState(){e(this,v).x=0,e(this,v).y=0}clearDocumentState(){a(this,D,null)}saveScrollState(){e(this,q).documentElement.hasAttribute("data-no-scroll-restoration")?(e(this,v).x=0,e(this,v).y=0):(e(this,v).x=e(this,A).scrollElement.scrollLeft,e(this,v).y=e(this,A).scrollElement.scrollTop)}saveDocumentState(){e(this,q).documentElement.hasAttribute("data-no-page-restoration")?a(this,D,null):a(this,D,document.cloneNode(!0))}restoreScrollPosition(){e(this,A).scrollElement.scroll({top:e(this,v).y,left:e(this,v).x})}renewScrollPosition(){e(this,A).scrollElement.scroll({top:0,left:0,behavior:"instant"})}}A=new WeakMap,V=new WeakMap,v=new WeakMap,q=new WeakMap,D=new WeakMap,C=new WeakMap;var k,B,m,et,T,f,J,R,P,y,W,z,Q,l,at,lt,ct,Mt,ht,ut,dt,mt,st,j;const Y=class Y{constructor(t){o(this,l);o(this,k,null);o(this,B,null);o(this,m,[]);o(this,et,new DOMParser);o(this,T);o(this,f,null);o(this,J);o(this,R,[]);o(this,P,!1);o(this,y,null);o(this,W,new Map);o(this,z,null);o(this,Q,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,st,t=>N(this,null,function*(){var s;(s=t.state)!=null&&s.path&&(t.preventDefault(),a(this,P,!0),yield this.navigate(t.state.path,{historyAction:"none"}),a(this,P,!1))}));o(this,j,()=>{const t=e(this,y).scrollTop,s=e(this,y).scrollLeft;document.documentElement.classList.toggle("top-scrolled",t>0),document.documentElement.classList.toggle("left-scrolled",s>0),K.dispatchEvent(document,"morphScroll",{detail:{left:s,top:t}})});if(Ct.isBrowser&&!Y.instance){Y.instance=this,a(this,k,{base:tt.normalizeBase(t==null?void 0:t.base),waitForHeadToLoad:(t==null?void 0:t.waitForHeadToLoad)!==!1,cachePages:(t==null?void 0:t.cachePages)!==!1,trailingSlash:(t==null?void 0:t.trailingSlash)||!1,scrollSelector:(t==null?void 0:t.scrollSelector)||"body",morphInsideScrollContainer:(t==null?void 0:t.morphInsideScrollContainer)||!1}),a(this,B,d(this,l,ct).call(this,document.body));const s=this.normalizePath(location.pathname+location.hash);a(this,f,s.pathname),e(this,W).set(e(this,f),new At(this,e(this,f),document)),document.documentElement.setAttribute("data-current-pathname",e(this,f)),document.documentElement.setAttribute("data-current-leaf",s.leaf),this.findLinks(),addEventListener("popstate",e(this,st)),tt.changeHistory({action:"replace",pathname:e(this,f),searchParameters:s.parameters||location.search,hash:s.hash}),a(this,z,new Tt),d(this,l,dt).call(this,document)}}get currentPathname(){return e(this,f)}get previousPathname(){return e(this,J)}get links(){return e(this,m)}get scrollElement(){return e(this,y)}get isPopstateNavigation(){return e(this,P)}normalizePath(t){return tt.splitPath(t,{base:e(this,k).base,trailingSlash:e(this,k).trailingSlash})}prefetch(t){return N(this,null,function*(){const s=this.normalizePath(t);d(this,l,lt).call(this,s.pathname)})}navigate(H){return N(this,arguments,function*(t,{historyAction:s="push",centerScroll:i,offsetScroll:u,revalidate:p,keepSearchParameters:M}={}){var ft;if(e(this,R).length)return;const E=this.normalizePath(((ft=this.pathnameModifier)==null?void 0:ft.call(this,t))||t);let{pathname:h,hash:X,parameters:Ht,leaf:Nt}=E;if(e(this,T)===h||e(this,f)===h){e(this,P)||d(this,l,mt).call(this,X||0,{centerScroll:i,offsetScroll:u,behavior:"smooth"});return}a(this,T,h),e(this,m).forEach(I=>{I.checkCurrent(h)});try{let I=!0;if(this.preprocessor)try{yield new Promise((n,w)=>{var S;(S=this.preprocessor)==null||S.call(this,{pathname:h,resolve:n,reject:w})})}catch(n){n?console.error(n):console.log("Route change canceled"),I=!1}if(!I||e(this,T)!==h){e(this,m).forEach(n=>{n.checkCurrent(e(this,f))});return}const pt=yield d(this,l,at).call(this,e(this,f)),L=yield d(this,l,at).call(this,h,p);if(e(this,T)!==h){e(this,m).forEach(n=>{n.checkCurrent(e(this,f))});return}pt.saveScrollState(),pt.saveDocumentState(),e(this,P)||(L.clearScrollState(),L.clearDocumentState()),L.cloneDocument(),e(this,z).textContent=L.title,document.body.appendChild(e(this,z));const Et={pathname:h};K.dispatchEvent(document,"morphStart",{detail:Et});const gt=Array.from(document.head.children),vt=Array.from(L.document.head.children),St=d(this,l,Mt).call(this,gt,vt),xt=d(this,l,ht).call(this,gt,St),Z=d(this,l,ht).call(this,vt,St);Z.forEach((n,w)=>{if(n.tagName==="SCRIPT"&&n.getAttribute("src")){const S=document.createElement("script");S.type="module",S.src=n.getAttribute("src"),Z[w]=S}}),Z.forEach(n=>{document.head.appendChild(n)});const it=Z.filter(n=>{if(n.hasAttribute("data-no-waiting"))return!1;if(d(this,l,ut).call(this,n))return!0});e(this,k).waitForHeadToLoad&&it.length&&(yield new Promise(n=>N(this,null,function*(){let w=0;try{for(var S=kt(it),O,U,yt;O=!(U=yield S.next()).done;O=!1){const _=U.value;_.onload=()=>{w++,w===it.length&&n()}}}catch(U){yt=[U]}finally{try{O&&(U=S.return)&&(yield U.call(S))}finally{if(yt)throw yt[0]}}}))),yield Pt.wait(10);const Lt=[];xt.forEach(n=>{n.hasAttribute("data-permanent")||(d(this,l,ut).call(this,n)?Lt.push(n):n.remove())});const qt=d(this,l,ct).call(this,L.document.body);e(this,k).morphInsideScrollContainer||d(this,l,dt).call(this,L.document),document.documentElement.setAttribute("data-current-pathname",h),document.documentElement.setAttribute("data-current-leaf",Nt),tt.changeHistory({action:s,pathname:h,searchParameters:Ht||(M?location.search:""),hash:X}),e(this,z).remove(),a(this,J,e(this,f)),a(this,f,h),e(this,B).forEach((n,w)=>{const S=qt[w],O=getComputedStyle(n).getPropertyValue("--morph-duration"),U=[...S.childNodes];if(O){const yt=[...n.childNodes];yt.forEach(g=>{g instanceof HTMLElement&&(this.destroyOldLinks(g),g.classList.add("old"))}),U.forEach(g=>{g instanceof HTMLElement&&(this.findNewLinks(g),g.classList.add("new"))}),n.prepend(...U),Rt.requestIdleCallback(()=>{U.forEach(g=>{g instanceof HTMLElement&&g.classList.add("in")})});const _={morphElement:n,pathname:h};K.dispatchEvent(document,"morphNewChildrenAdded",{detail:_});const Dt=new Promise(g=>{setTimeout(()=>{yt.forEach($=>$.remove()),U.forEach($=>{$ instanceof HTMLElement&&$.classList.remove("in","new")}),K.dispatchEvent(document,"morphOldChildrenRemoved",{detail:_}),g()},(parseFloat(O)||0)*1e3+10)});e(this,R).push(Dt)}else this.destroyOldLinks(n),n.innerHTML="",n.append(...U),this.findNewLinks(n)}),X?(L.clearScrollState(),d(this,l,mt).call(this,X,{centerScroll:i,offsetScroll:u})):e(this,P)?L.restoreScrollPosition():L.renewScrollPosition(),yield Promise.all(e(this,R)),Lt.forEach(n=>n.remove()),a(this,R,[]),e(this,B).forEach(n=>{n.querySelectorAll("script").forEach(S=>{const O=document.createElement("script");O.type="module",O.src=S.getAttribute("src"),S.replaceWith(O)})}),K.dispatchEvent(document,"morphComplete",{detail:Et}),window.dispatchEvent(new Event("resize"))}catch(I){console.error(I)}a(this,T,void 0)})}addLink(t){e(this,m).push(new rt(t,this))}addLinks(t){t.forEach(s=>{this.addLink(s)})}removeLink(t){a(this,m,e(this,m).filter(s=>s.element===t?(s.destroy(),!1):!0))}destroyOldLinks(t){a(this,m,e(this,m).filter(s=>t.contains(s.element)?(s.destroy(),!1):!0))}findNewLinks(t){const s=[...t.querySelectorAll("a")].filter(e(this,Q));e(this,m).push(...s.map(i=>new rt(i,this)))}findLinks(){const t=[...document.documentElement.querySelectorAll("a")].filter(e(this,Q));e(this,m).forEach(s=>s.destroy()),a(this,m,t.map(s=>new rt(s,this)))}};k=new WeakMap,B=new WeakMap,m=new WeakMap,et=new WeakMap,T=new WeakMap,f=new WeakMap,J=new WeakMap,R=new WeakMap,P=new WeakMap,y=new WeakMap,W=new WeakMap,z=new WeakMap,Q=new WeakMap,l=new WeakSet,at=function(t,s=!1){return N(this,null,function*(){let i=e(this,W).get(t);return(!i||s)&&(i=yield d(this,l,lt).call(this,t)),i})},lt=function(t){return N(this,null,function*(){const i=yield(yield fetch(t)).text(),u=e(this,et).parseFromString(i,"text/html"),p=new At(this,t,u);return e(this,W).set(t,p),p})},ct=function(t){const s=[...t.querySelectorAll("[data-morph]")];return s.length?s:[t]},Mt=function(t,s){return t.filter(i=>s.find(u=>u.outerHTML===i.outerHTML))},ht=function(t,s){return t.filter(i=>!s.find(u=>u.outerHTML===i.outerHTML))},ut=function(t){return t.tagName==="SCRIPT"||t.tagName==="STYLE"||t.tagName==="LINK"&&t.getAttribute("rel")==="stylesheet"},dt=function(t){var s,i;(s=e(this,y))==null||s.removeEventListener("scroll",e(this,j)),a(this,y,t.querySelector(e(this,k).scrollSelector)||t.documentElement),(i=e(this,y))==null||i.addEventListener("scroll",e(this,j)),e(this,j).call(this)},mt=function(t,s){const i=typeof t=="string"?document.getElementById(t):t;(typeof i=="number"||i)&&Pt.scrollToElement(i,{scrollElement:e(this,y),behavior:(s==null?void 0:s.behavior)||"instant",center:s==null?void 0:s.centerScroll,offset:s==null?void 0:s.offsetScroll})},st=new WeakMap,j=new WeakMap,Y.instance=null;let ot=Y;exports.Morph=ot;
|
|
1
|
+
"use strict";var yt=(n,t)=>(t=Symbol[n])?t:Symbol.for("Symbol."+n),wt=n=>{throw TypeError(n)};var nt=(n,t,s)=>t.has(n)||wt("Cannot "+s);var e=(n,t,s)=>(nt(n,t,"read from private field"),s?s.call(n):t.get(n)),o=(n,t,s)=>t.has(n)?wt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,s),a=(n,t,s,i)=>(nt(n,t,"write to private field"),i?i.call(n,s):t.set(n,s),s),d=(n,t,s)=>(nt(n,t,"access private method"),s);var N=(n,t,s)=>new Promise((i,u)=>{var p=E=>{try{H(s.next(E))}catch(h){u(h)}},M=E=>{try{H(s.throw(E))}catch(h){u(h)}},H=E=>E.done?i(E.value):Promise.resolve(E.value).then(p,M);H((s=s.apply(n,t)).next())});var bt=(n,t,s)=>(t=n[yt("asyncIterator")])?t.call(n):(n=n[yt("iterator")](),t={},s=(i,u)=>(u=n[i])&&(t[i]=p=>new Promise((M,H,E)=>(p=u.call(n,p),E=p.done,Promise.resolve(p.value).then(h=>M({value:h,done:E}),H)))),s("next"),s("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const At=require("../index-Cqw2NKev.cjs"),K=require("../events-KVanG9sR.cjs"),Rt=require("../polyfills-Df4r-ETT.cjs"),kt=require("../scroll-DAhSpkhR.cjs"),tt=require("../url-D1CgmwZ_.cjs"),zt=require("../css-value-parser/index.cjs");class Ct 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)}}At.isBrowser&&!customElements.get("morph-announcer")&&customElements.define("morph-announcer",Ct);var b,c,x,G,F;class ot{constructor(t,s){o(this,b);o(this,c);o(this,x);o(this,G,t=>{if(t.preventDefault(),e(this,c).hasAttribute("data-back")&&e(this,b).previousPathname)history.back();else{const i=e(this,c).getAttribute("data-history-action")||"push",u=e(this,c).hasAttribute("data-center-scroll"),p=getComputedStyle(e(this,c)).getPropertyValue("--offset-scroll").trim(),M=p?zt.cssValueParser.parse(p):void 0,H=e(this,c).hasAttribute("data-revalidate"),E=e(this,c).hasAttribute("data-keep-search-parameters");e(this,b).navigate(e(this,x),{historyAction:i,centerScroll:u,offsetScroll:M,revalidate:H,keepSearchParameters:E})}});o(this,F,()=>{const t=e(this,c).hasAttribute("data-revalidate");e(this,b).prefetch(e(this,x),t),e(this,c).removeEventListener("pointerenter",e(this,F))});a(this,b,s),a(this,c,t),a(this,x,e(this,c).getAttribute("href")||"/"),e(this,c).addEventListener("click",e(this,G)),this.checkCurrent(location.pathname),e(this,c).hasAttribute("data-prefetch")&&e(this,c).addEventListener("pointerenter",e(this,F))}get element(){return e(this,c)}checkCurrent(t){const s=e(this,b).normalizePath(t),i=e(this,b).normalizePath(e(this,x));e(this,c).hasAttribute("data-include")&&s.pathname.includes(i.pathname)?e(this,c).classList.add("current"):i.pathname===s.pathname?e(this,c).classList.add("current"):e(this,c).classList.remove("current")}destroy(){e(this,c).removeEventListener("click",e(this,G)),e(this,c).removeEventListener("pointerenter",e(this,F)),e(this,c).classList.remove("current")}}b=new WeakMap,c=new WeakMap,x=new WeakMap,G=new WeakMap,F=new WeakMap;var A,V,v,q,D,C;class Pt{constructor(t,s,i){o(this,A);o(this,V);o(this,v,{x:0,y:0});o(this,q);o(this,D,null);o(this,C,null);a(this,A,t),a(this,V,s),a(this,q,i.cloneNode(!0))}get pathname(){return e(this,V)}get scrollState(){return e(this,v)}get document(){return e(this,C)}cloneDocument(){a(this,C,(e(this,D)||e(this,q)).cloneNode(!0))}get title(){let t="";if(e(this,C).title)t=e(this,C).title;else{const s=e(this,C).querySelector("h1");t=(s==null?void 0:s.innerText)||(s==null?void 0:s.textContent)||e(this,V)}return t}clearScrollState(){e(this,v).x=0,e(this,v).y=0}clearDocumentState(){a(this,D,null)}saveScrollState(){e(this,q).documentElement.hasAttribute("data-no-scroll-restoration")?(e(this,v).x=0,e(this,v).y=0):(e(this,v).x=e(this,A).scrollElement.scrollLeft,e(this,v).y=e(this,A).scrollElement.scrollTop)}saveDocumentState(){e(this,q).documentElement.hasAttribute("data-no-page-restoration")?a(this,D,null):a(this,D,document.cloneNode(!0))}restoreScrollPosition(){e(this,A).scrollElement.scroll({top:e(this,v).y,left:e(this,v).x})}renewScrollPosition(){e(this,A).scrollElement.scroll({top:0,left:0,behavior:"instant"})}}A=new WeakMap,V=new WeakMap,v=new WeakMap,q=new WeakMap,D=new WeakMap,C=new WeakMap;var k,B,m,st,T,f,J,R,P,y,W,z,Q,l,et,Tt,lt,Mt,ct,ht,ut,dt,it,j;const Y=class Y{constructor(t){o(this,l);o(this,k,null);o(this,B,null);o(this,m,[]);o(this,st,new DOMParser);o(this,T);o(this,f,null);o(this,J);o(this,R,[]);o(this,P,!1);o(this,y,null);o(this,W,new Map);o(this,z,null);o(this,Q,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,it,t=>N(this,null,function*(){var s;(s=t.state)!=null&&s.path&&(t.preventDefault(),a(this,P,!0),yield this.navigate(t.state.path,{historyAction:"none"}),a(this,P,!1))}));o(this,j,()=>{const t=e(this,y).scrollTop,s=e(this,y).scrollLeft;document.documentElement.classList.toggle("top-scrolled",t>0),document.documentElement.classList.toggle("left-scrolled",s>0),K.dispatchEvent(document,"morphScroll",{detail:{left:s,top:t}})});if(At.isBrowser&&!Y.instance){Y.instance=this,a(this,k,{base:tt.normalizeBase(t==null?void 0:t.base),waitForHeadToLoad:(t==null?void 0:t.waitForHeadToLoad)!==!1,cachePages:(t==null?void 0:t.cachePages)!==!1,trailingSlash:(t==null?void 0:t.trailingSlash)||!1,scrollSelector:(t==null?void 0:t.scrollSelector)||"body",morphInsideScrollContainer:(t==null?void 0:t.morphInsideScrollContainer)||!1}),a(this,B,d(this,l,lt).call(this,document.body));const s=this.normalizePath(location.pathname+location.hash);a(this,f,s.pathname),e(this,W).set(e(this,f),new Pt(this,e(this,f),document)),document.documentElement.setAttribute("data-current-pathname",e(this,f)),document.documentElement.setAttribute("data-current-leaf",s.leaf),this.findLinks(),addEventListener("popstate",e(this,it)),tt.changeHistory({action:"replace",pathname:e(this,f),searchParameters:s.parameters||location.search,hash:s.hash}),a(this,z,new Ct),d(this,l,ut).call(this,document)}}get currentPathname(){return e(this,f)}get previousPathname(){return e(this,J)}get links(){return e(this,m)}get scrollElement(){return e(this,y)}get isPopstateNavigation(){return e(this,P)}normalizePath(t){return tt.splitPath(t,{base:e(this,k).base,trailingSlash:e(this,k).trailingSlash})}prefetch(t,s){return N(this,null,function*(){const i=this.normalizePath(t);d(this,l,et).call(this,i.pathname,s)})}navigate(H){return N(this,arguments,function*(t,{historyAction:s="push",centerScroll:i,offsetScroll:u,revalidate:p,keepSearchParameters:M}={}){var mt;if(e(this,R).length)return;const E=this.normalizePath(((mt=this.pathnameModifier)==null?void 0:mt.call(this,t))||t);let{pathname:h,hash:X,parameters:Ht,leaf:Nt}=E;if(e(this,T)===h||e(this,f)===h){e(this,P)||d(this,l,dt).call(this,X||0,{centerScroll:i,offsetScroll:u,behavior:"smooth"});return}a(this,T,h),e(this,m).forEach(I=>{I.checkCurrent(h)});try{let I=!0;if(this.preprocessor)try{yield new Promise((r,w)=>{var S;(S=this.preprocessor)==null||S.call(this,{pathname:h,resolve:r,reject:w})})}catch(r){r?console.error(r):console.log("Route change canceled"),I=!1}if(!I||e(this,T)!==h){e(this,m).forEach(r=>{r.checkCurrent(e(this,f))});return}const ft=yield d(this,l,et).call(this,e(this,f)),L=yield d(this,l,et).call(this,h,p);if(e(this,T)!==h){e(this,m).forEach(r=>{r.checkCurrent(e(this,f))});return}ft.saveScrollState(),ft.saveDocumentState(),e(this,P)||(L.clearScrollState(),L.clearDocumentState()),L.cloneDocument(),e(this,z).textContent=L.title,document.body.appendChild(e(this,z));const pt={pathname:h};K.dispatchEvent(document,"morphStart",{detail:pt});const Et=Array.from(document.head.children),gt=Array.from(L.document.head.children),vt=d(this,l,Mt).call(this,Et,gt),xt=d(this,l,ct).call(this,Et,vt),Z=d(this,l,ct).call(this,gt,vt);Z.forEach((r,w)=>{if(r.tagName==="SCRIPT"&&r.getAttribute("src")){const S=document.createElement("script");S.type="module",S.src=r.getAttribute("src"),Z[w]=S}}),Z.forEach(r=>{document.head.appendChild(r)});const rt=Z.filter(r=>{if(r.hasAttribute("data-no-waiting"))return!1;if(d(this,l,ht).call(this,r))return!0});e(this,k).waitForHeadToLoad&&rt.length&&(yield new Promise(r=>N(this,null,function*(){let w=0;try{for(var S=bt(rt),O,U,Lt;O=!(U=yield S.next()).done;O=!1){const _=U.value;_.onload=()=>{w++,w===rt.length&&r()}}}catch(U){Lt=[U]}finally{try{O&&(U=S.return)&&(yield U.call(S))}finally{if(Lt)throw Lt[0]}}}))),yield kt.wait(10);const St=[];xt.forEach(r=>{r.hasAttribute("data-permanent")||(d(this,l,ht).call(this,r)?St.push(r):r.remove())});const qt=d(this,l,lt).call(this,L.document.body);e(this,k).morphInsideScrollContainer||d(this,l,ut).call(this,L.document),document.documentElement.setAttribute("data-current-pathname",h),document.documentElement.setAttribute("data-current-leaf",Nt),tt.changeHistory({action:s,pathname:h,searchParameters:Ht||(M?location.search:""),hash:X}),e(this,z).remove(),a(this,J,e(this,f)),a(this,f,h),e(this,B).forEach((r,w)=>{const S=qt[w],O=getComputedStyle(r).getPropertyValue("--morph-duration"),U=[...S.childNodes];if(O){const Lt=[...r.childNodes];Lt.forEach(g=>{g instanceof HTMLElement&&(this.destroyOldLinks(g),g.classList.add("old"))}),U.forEach(g=>{g instanceof HTMLElement&&(this.findNewLinks(g),g.classList.add("new"))}),r.prepend(...U),Rt.requestIdleCallback(()=>{U.forEach(g=>{g instanceof HTMLElement&&g.classList.add("in")})});const _={morphElement:r,pathname:h};K.dispatchEvent(document,"morphNewChildrenAdded",{detail:_});const Dt=new Promise(g=>{setTimeout(()=>{Lt.forEach($=>$.remove()),U.forEach($=>{$ instanceof HTMLElement&&$.classList.remove("in","new")}),K.dispatchEvent(document,"morphOldChildrenRemoved",{detail:_}),g()},(parseFloat(O)||0)*1e3+10)});e(this,R).push(Dt)}else this.destroyOldLinks(r),r.innerHTML="",r.append(...U),this.findNewLinks(r)}),X?(L.clearScrollState(),d(this,l,dt).call(this,X,{centerScroll:i,offsetScroll:u})):e(this,P)?L.restoreScrollPosition():L.renewScrollPosition(),yield Promise.all(e(this,R)),St.forEach(r=>r.remove()),a(this,R,[]),e(this,B).forEach(r=>{r.querySelectorAll("script").forEach(S=>{const O=document.createElement("script");O.type="module",O.src=S.getAttribute("src"),S.replaceWith(O)})}),K.dispatchEvent(document,"morphComplete",{detail:pt}),window.dispatchEvent(new Event("resize"))}catch(I){console.error(I)}a(this,T,void 0)})}addLink(t){e(this,m).push(new ot(t,this))}addLinks(t){t.forEach(s=>{this.addLink(s)})}removeLink(t){a(this,m,e(this,m).filter(s=>s.element===t?(s.destroy(),!1):!0))}destroyOldLinks(t){a(this,m,e(this,m).filter(s=>t.contains(s.element)?(s.destroy(),!1):!0))}findNewLinks(t){const s=[...t.querySelectorAll("a")].filter(e(this,Q));e(this,m).push(...s.map(i=>new ot(i,this)))}findLinks(){const t=[...document.documentElement.querySelectorAll("a")].filter(e(this,Q));e(this,m).forEach(s=>s.destroy()),a(this,m,t.map(s=>new ot(s,this)))}};k=new WeakMap,B=new WeakMap,m=new WeakMap,st=new WeakMap,T=new WeakMap,f=new WeakMap,J=new WeakMap,R=new WeakMap,P=new WeakMap,y=new WeakMap,W=new WeakMap,z=new WeakMap,Q=new WeakMap,l=new WeakSet,et=function(t,s=!1){return N(this,null,function*(){let i=e(this,W).get(t);return(!i||s)&&(i=yield d(this,l,Tt).call(this,t)),i})},Tt=function(t){return N(this,null,function*(){const i=yield(yield fetch(t)).text(),u=e(this,st).parseFromString(i,"text/html"),p=new Pt(this,t,u);return e(this,W).set(t,p),p})},lt=function(t){const s=[...t.querySelectorAll("[data-morph]")];return s.length?s:[t]},Mt=function(t,s){return t.filter(i=>s.find(u=>u.outerHTML===i.outerHTML))},ct=function(t,s){return t.filter(i=>!s.find(u=>u.outerHTML===i.outerHTML))},ht=function(t){return t.tagName==="SCRIPT"||t.tagName==="STYLE"||t.tagName==="LINK"&&t.getAttribute("rel")==="stylesheet"},ut=function(t){var s,i;(s=e(this,y))==null||s.removeEventListener("scroll",e(this,j)),a(this,y,t.querySelector(e(this,k).scrollSelector)||t.documentElement),(i=e(this,y))==null||i.addEventListener("scroll",e(this,j)),e(this,j).call(this)},dt=function(t,s){const i=typeof t=="string"?document.getElementById(t):t;(typeof i=="number"||i)&&kt.scrollToElement(i,{scrollElement:e(this,y),behavior:(s==null?void 0:s.behavior)||"instant",center:s==null?void 0:s.centerScroll,offset:s==null?void 0:s.offsetScroll})},it=new WeakMap,j=new WeakMap,Y.instance=null;let at=Y;exports.Morph=at;
|
package/lib/morph/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var vt = (n, t) => (t = Symbol[n]) ? t : Symbol.for("Symbol." + n),
|
|
1
|
+
var vt = (n, t) => (t = Symbol[n]) ? t : Symbol.for("Symbol." + n), St = (n) => {
|
|
2
2
|
throw TypeError(n);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var e = (n, t, s) => (
|
|
4
|
+
var rt = (n, t, s) => t.has(n) || St("Cannot " + s);
|
|
5
|
+
var e = (n, t, s) => (rt(n, t, "read from private field"), s ? s.call(n) : t.get(n)), o = (n, t, s) => t.has(n) ? St("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, s), a = (n, t, s, i) => (rt(n, t, "write to private field"), i ? i.call(n, s) : t.set(n, s), s), d = (n, t, s) => (rt(n, t, "access private method"), s);
|
|
6
6
|
var N = (n, t, s) => new Promise((i, u) => {
|
|
7
7
|
var p = (E) => {
|
|
8
8
|
try {
|
|
@@ -19,14 +19,14 @@ var N = (n, t, s) => new Promise((i, u) => {
|
|
|
19
19
|
}, M = (E) => E.done ? i(E.value) : Promise.resolve(E.value).then(p, H);
|
|
20
20
|
M((s = s.apply(n, t)).next());
|
|
21
21
|
});
|
|
22
|
-
var
|
|
22
|
+
var wt = (n, t, s) => (t = n[vt("asyncIterator")]) ? t.call(n) : (n = n[vt("iterator")](), t = {}, s = (i, u) => (u = n[i]) && (t[i] = (p) => new Promise((H, M, E) => (p = u.call(n, p), E = p.done, Promise.resolve(p.value).then((h) => H({ value: h, done: E }), M)))), s("next"), s("return"), t);
|
|
23
23
|
import { i as At } from "../index-euf5anj6.js";
|
|
24
24
|
import { d as K } from "../events-CsVF98U6.js";
|
|
25
25
|
import { r as Rt } from "../polyfills-DJrTJQky.js";
|
|
26
26
|
import { w as zt, s as It } from "../scroll-Benkuq-t.js";
|
|
27
|
-
import { n as qt, c as
|
|
27
|
+
import { n as qt, c as yt, s as Ot } from "../url-B6BNcw6_.js";
|
|
28
28
|
import { cssValueParser as Ft } from "../css-value-parser/index.js";
|
|
29
|
-
class
|
|
29
|
+
class Pt extends HTMLElement {
|
|
30
30
|
connectedCallback() {
|
|
31
31
|
const t = {
|
|
32
32
|
"aria-live": "assertive",
|
|
@@ -37,9 +37,9 @@ class Ct extends HTMLElement {
|
|
|
37
37
|
this.setAttribute(s, i);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
At && !customElements.get("morph-announcer") && customElements.define("morph-announcer",
|
|
40
|
+
At && !customElements.get("morph-announcer") && customElements.define("morph-announcer", Pt);
|
|
41
41
|
var b, c, x, G, F;
|
|
42
|
-
class
|
|
42
|
+
class nt {
|
|
43
43
|
constructor(t, s) {
|
|
44
44
|
o(this, b);
|
|
45
45
|
o(this, c);
|
|
@@ -63,7 +63,8 @@ class rt {
|
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
65
|
o(this, F, () => {
|
|
66
|
-
|
|
66
|
+
const t = e(this, c).hasAttribute("data-revalidate");
|
|
67
|
+
e(this, b).prefetch(e(this, x), t), e(this, c).removeEventListener("pointerenter", e(this, F));
|
|
67
68
|
});
|
|
68
69
|
a(this, b, s), a(this, c, t), a(this, x, e(this, c).getAttribute("href") || "/"), e(this, c).addEventListener("click", e(this, G)), this.checkCurrent(location.pathname), e(this, c).hasAttribute("data-prefetch") && e(this, c).addEventListener("pointerenter", e(this, F));
|
|
69
70
|
}
|
|
@@ -79,16 +80,16 @@ class rt {
|
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
b = new WeakMap(), c = new WeakMap(), x = new WeakMap(), G = new WeakMap(), F = new WeakMap();
|
|
82
|
-
var
|
|
83
|
-
class
|
|
83
|
+
var P, V, L, D, R, C;
|
|
84
|
+
class bt {
|
|
84
85
|
constructor(t, s, i) {
|
|
85
|
-
o(this,
|
|
86
|
+
o(this, P);
|
|
86
87
|
o(this, V);
|
|
87
88
|
o(this, L, { x: 0, y: 0 });
|
|
88
89
|
o(this, D);
|
|
89
90
|
o(this, R, null);
|
|
90
91
|
o(this, C, null);
|
|
91
|
-
a(this,
|
|
92
|
+
a(this, P, t), a(this, V, s), a(this, D, i.cloneNode(!0));
|
|
92
93
|
}
|
|
93
94
|
get pathname() {
|
|
94
95
|
return e(this, V);
|
|
@@ -121,7 +122,7 @@ class kt {
|
|
|
121
122
|
saveScrollState() {
|
|
122
123
|
e(this, D).documentElement.hasAttribute(
|
|
123
124
|
"data-no-scroll-restoration"
|
|
124
|
-
) ? (e(this, L).x = 0, e(this, L).y = 0) : (e(this, L).x = e(this,
|
|
125
|
+
) ? (e(this, L).x = 0, e(this, L).y = 0) : (e(this, L).x = e(this, P).scrollElement.scrollLeft, e(this, L).y = e(this, P).scrollElement.scrollTop);
|
|
125
126
|
}
|
|
126
127
|
saveDocumentState() {
|
|
127
128
|
e(this, D).documentElement.hasAttribute(
|
|
@@ -129,33 +130,33 @@ class kt {
|
|
|
129
130
|
) ? a(this, R, null) : a(this, R, document.cloneNode(!0));
|
|
130
131
|
}
|
|
131
132
|
restoreScrollPosition() {
|
|
132
|
-
e(this,
|
|
133
|
+
e(this, P).scrollElement.scroll({
|
|
133
134
|
top: e(this, L).y,
|
|
134
135
|
left: e(this, L).x
|
|
135
136
|
});
|
|
136
137
|
}
|
|
137
138
|
renewScrollPosition() {
|
|
138
|
-
e(this,
|
|
139
|
+
e(this, P).scrollElement.scroll({
|
|
139
140
|
top: 0,
|
|
140
141
|
left: 0,
|
|
141
142
|
behavior: "instant"
|
|
142
143
|
});
|
|
143
144
|
}
|
|
144
145
|
}
|
|
145
|
-
|
|
146
|
-
var k, W, m,
|
|
146
|
+
P = new WeakMap(), V = new WeakMap(), L = new WeakMap(), D = new WeakMap(), R = new WeakMap(), C = new WeakMap();
|
|
147
|
+
var k, W, m, et, T, f, J, z, A, w, B, I, Q, l, tt, Ct, ot, Tt, at, lt, ct, ht, st, U;
|
|
147
148
|
const Y = class Y {
|
|
148
149
|
constructor(t) {
|
|
149
150
|
o(this, l);
|
|
150
151
|
o(this, k, null);
|
|
151
152
|
o(this, W, null);
|
|
152
153
|
o(this, m, []);
|
|
153
|
-
o(this,
|
|
154
|
+
o(this, et, new DOMParser());
|
|
154
155
|
o(this, T);
|
|
155
156
|
o(this, f, null);
|
|
156
157
|
o(this, J);
|
|
157
158
|
o(this, z, []);
|
|
158
|
-
o(this,
|
|
159
|
+
o(this, A, !1);
|
|
159
160
|
o(this, w, null);
|
|
160
161
|
o(this, B, /* @__PURE__ */ new Map());
|
|
161
162
|
o(this, I, null);
|
|
@@ -163,9 +164,9 @@ const Y = class Y {
|
|
|
163
164
|
var s;
|
|
164
165
|
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";
|
|
165
166
|
});
|
|
166
|
-
o(this,
|
|
167
|
+
o(this, st, (t) => N(this, null, function* () {
|
|
167
168
|
var s;
|
|
168
|
-
(s = t.state) != null && s.path && (t.preventDefault(), a(this,
|
|
169
|
+
(s = t.state) != null && s.path && (t.preventDefault(), a(this, A, !0), yield this.navigate(t.state.path, { historyAction: "none" }), a(this, A, !1));
|
|
169
170
|
}));
|
|
170
171
|
o(this, U, () => {
|
|
171
172
|
const t = e(this, w).scrollTop, s = e(this, w).scrollLeft;
|
|
@@ -184,25 +185,25 @@ const Y = class Y {
|
|
|
184
185
|
trailingSlash: (t == null ? void 0 : t.trailingSlash) || !1,
|
|
185
186
|
scrollSelector: (t == null ? void 0 : t.scrollSelector) || "body",
|
|
186
187
|
morphInsideScrollContainer: (t == null ? void 0 : t.morphInsideScrollContainer) || !1
|
|
187
|
-
}), a(this, W, d(this, l,
|
|
188
|
+
}), a(this, W, d(this, l, ot).call(this, document.body));
|
|
188
189
|
const s = this.normalizePath(
|
|
189
190
|
location.pathname + location.hash
|
|
190
191
|
);
|
|
191
192
|
a(this, f, s.pathname), e(this, B).set(
|
|
192
193
|
e(this, f),
|
|
193
|
-
new
|
|
194
|
+
new bt(this, e(this, f), document)
|
|
194
195
|
), document.documentElement.setAttribute(
|
|
195
196
|
"data-current-pathname",
|
|
196
197
|
e(this, f)
|
|
197
198
|
), document.documentElement.setAttribute(
|
|
198
199
|
"data-current-leaf",
|
|
199
200
|
s.leaf
|
|
200
|
-
), this.findLinks(), addEventListener("popstate", e(this,
|
|
201
|
+
), this.findLinks(), addEventListener("popstate", e(this, st)), yt({
|
|
201
202
|
action: "replace",
|
|
202
203
|
pathname: e(this, f),
|
|
203
204
|
searchParameters: s.parameters || location.search,
|
|
204
205
|
hash: s.hash
|
|
205
|
-
}), a(this, I, new
|
|
206
|
+
}), a(this, I, new Pt()), d(this, l, ct).call(this, document);
|
|
206
207
|
}
|
|
207
208
|
}
|
|
208
209
|
get currentPathname() {
|
|
@@ -218,7 +219,7 @@ const Y = class Y {
|
|
|
218
219
|
return e(this, w);
|
|
219
220
|
}
|
|
220
221
|
get isPopstateNavigation() {
|
|
221
|
-
return e(this,
|
|
222
|
+
return e(this, A);
|
|
222
223
|
}
|
|
223
224
|
normalizePath(t) {
|
|
224
225
|
return Ot(t, {
|
|
@@ -226,10 +227,10 @@ const Y = class Y {
|
|
|
226
227
|
trailingSlash: e(this, k).trailingSlash
|
|
227
228
|
});
|
|
228
229
|
}
|
|
229
|
-
prefetch(t) {
|
|
230
|
+
prefetch(t, s) {
|
|
230
231
|
return N(this, null, function* () {
|
|
231
|
-
const
|
|
232
|
-
d(this, l,
|
|
232
|
+
const i = this.normalizePath(t);
|
|
233
|
+
d(this, l, tt).call(this, i.pathname, s);
|
|
233
234
|
});
|
|
234
235
|
}
|
|
235
236
|
navigate(M) {
|
|
@@ -240,13 +241,13 @@ const Y = class Y {
|
|
|
240
241
|
revalidate: p,
|
|
241
242
|
keepSearchParameters: H
|
|
242
243
|
} = {}) {
|
|
243
|
-
var
|
|
244
|
+
var ut;
|
|
244
245
|
if (e(this, z).length)
|
|
245
246
|
return;
|
|
246
|
-
const E = this.normalizePath(((
|
|
247
|
+
const E = this.normalizePath(((ut = this.pathnameModifier) == null ? void 0 : ut.call(this, t)) || t);
|
|
247
248
|
let { pathname: h, hash: X, parameters: Ht, leaf: Mt } = E;
|
|
248
249
|
if (e(this, T) === h || e(this, f) === h) {
|
|
249
|
-
e(this,
|
|
250
|
+
e(this, A) || d(this, l, ht).call(this, X || 0, {
|
|
250
251
|
centerScroll: i,
|
|
251
252
|
offsetScroll: u,
|
|
252
253
|
behavior: "smooth"
|
|
@@ -261,8 +262,8 @@ const Y = class Y {
|
|
|
261
262
|
if (this.preprocessor)
|
|
262
263
|
try {
|
|
263
264
|
yield new Promise((r, y) => {
|
|
264
|
-
var
|
|
265
|
-
(
|
|
265
|
+
var v;
|
|
266
|
+
(v = this.preprocessor) == null || v.call(this, {
|
|
266
267
|
pathname: h,
|
|
267
268
|
resolve: r,
|
|
268
269
|
reject: y
|
|
@@ -277,70 +278,70 @@ const Y = class Y {
|
|
|
277
278
|
});
|
|
278
279
|
return;
|
|
279
280
|
}
|
|
280
|
-
const
|
|
281
|
+
const dt = yield d(this, l, tt).call(this, e(this, f)), S = yield d(this, l, tt).call(this, h, p);
|
|
281
282
|
if (e(this, T) !== h) {
|
|
282
283
|
e(this, m).forEach((r) => {
|
|
283
284
|
r.checkCurrent(e(this, f));
|
|
284
285
|
});
|
|
285
286
|
return;
|
|
286
287
|
}
|
|
287
|
-
|
|
288
|
-
const
|
|
288
|
+
dt.saveScrollState(), dt.saveDocumentState(), e(this, A) || (S.clearScrollState(), S.clearDocumentState()), S.cloneDocument(), e(this, I).textContent = S.title, document.body.appendChild(e(this, I));
|
|
289
|
+
const mt = {
|
|
289
290
|
pathname: h
|
|
290
291
|
};
|
|
291
292
|
K(document, "morphStart", {
|
|
292
|
-
detail:
|
|
293
|
+
detail: mt
|
|
293
294
|
});
|
|
294
|
-
const
|
|
295
|
+
const ft = Array.from(document.head.children), pt = Array.from(S.document.head.children), Et = d(this, l, Tt).call(this, ft, pt), Nt = d(this, l, at).call(this, ft, Et), Z = d(this, l, at).call(this, pt, Et);
|
|
295
296
|
Z.forEach((r, y) => {
|
|
296
297
|
if (r.tagName === "SCRIPT" && r.getAttribute("src")) {
|
|
297
|
-
const
|
|
298
|
-
|
|
298
|
+
const v = document.createElement("script");
|
|
299
|
+
v.type = "module", v.src = r.getAttribute("src"), Z[y] = v;
|
|
299
300
|
}
|
|
300
301
|
}), Z.forEach((r) => {
|
|
301
302
|
document.head.appendChild(r);
|
|
302
303
|
});
|
|
303
|
-
const
|
|
304
|
+
const it = Z.filter((r) => {
|
|
304
305
|
if (r.hasAttribute("data-no-waiting"))
|
|
305
306
|
return !1;
|
|
306
|
-
if (d(this, l,
|
|
307
|
+
if (d(this, l, lt).call(this, r))
|
|
307
308
|
return !0;
|
|
308
309
|
});
|
|
309
|
-
e(this, k).waitForHeadToLoad &&
|
|
310
|
+
e(this, k).waitForHeadToLoad && it.length && (yield new Promise((r) => N(this, null, function* () {
|
|
310
311
|
let y = 0;
|
|
311
312
|
try {
|
|
312
|
-
for (var
|
|
313
|
+
for (var v = wt(it), O, j, Lt; O = !(j = yield v.next()).done; O = !1) {
|
|
313
314
|
const $ = j.value;
|
|
314
315
|
$.onload = () => {
|
|
315
|
-
y++, y ===
|
|
316
|
+
y++, y === it.length && r();
|
|
316
317
|
};
|
|
317
318
|
}
|
|
318
319
|
} catch (j) {
|
|
319
|
-
|
|
320
|
+
Lt = [j];
|
|
320
321
|
} finally {
|
|
321
322
|
try {
|
|
322
|
-
O && (j =
|
|
323
|
+
O && (j = v.return) && (yield j.call(v));
|
|
323
324
|
} finally {
|
|
324
|
-
if (
|
|
325
|
-
throw
|
|
325
|
+
if (Lt)
|
|
326
|
+
throw Lt[0];
|
|
326
327
|
}
|
|
327
328
|
}
|
|
328
329
|
}))), yield zt(10);
|
|
329
|
-
const
|
|
330
|
+
const gt = [];
|
|
330
331
|
Nt.forEach((r) => {
|
|
331
|
-
r.hasAttribute("data-permanent") || (d(this, l,
|
|
332
|
+
r.hasAttribute("data-permanent") || (d(this, l, lt).call(this, r) ? gt.push(r) : r.remove());
|
|
332
333
|
});
|
|
333
|
-
const xt = d(this, l,
|
|
334
|
-
e(this, k).morphInsideScrollContainer || d(this, l,
|
|
334
|
+
const xt = d(this, l, ot).call(this, S.document.body);
|
|
335
|
+
e(this, k).morphInsideScrollContainer || d(this, l, ct).call(this, S.document), document.documentElement.setAttribute("data-current-pathname", h), document.documentElement.setAttribute("data-current-leaf", Mt), yt({
|
|
335
336
|
action: s,
|
|
336
337
|
pathname: h,
|
|
337
338
|
searchParameters: Ht || (H ? location.search : ""),
|
|
338
339
|
hash: X
|
|
339
340
|
}), e(this, I).remove(), a(this, J, e(this, f)), a(this, f, h), e(this, W).forEach((r, y) => {
|
|
340
|
-
const
|
|
341
|
+
const v = xt[y], O = getComputedStyle(r).getPropertyValue("--morph-duration"), j = [...v.childNodes];
|
|
341
342
|
if (O) {
|
|
342
|
-
const
|
|
343
|
-
|
|
343
|
+
const Lt = [...r.childNodes];
|
|
344
|
+
Lt.forEach((g) => {
|
|
344
345
|
g instanceof HTMLElement && (this.destroyOldLinks(g), g.classList.add("old"));
|
|
345
346
|
}), j.forEach((g) => {
|
|
346
347
|
g instanceof HTMLElement && (this.findNewLinks(g), g.classList.add("new"));
|
|
@@ -358,7 +359,7 @@ const Y = class Y {
|
|
|
358
359
|
});
|
|
359
360
|
const Dt = new Promise((g) => {
|
|
360
361
|
setTimeout(() => {
|
|
361
|
-
|
|
362
|
+
Lt.forEach((_) => _.remove()), j.forEach((_) => {
|
|
362
363
|
_ instanceof HTMLElement && _.classList.remove("in", "new");
|
|
363
364
|
}), K(document, "morphOldChildrenRemoved", {
|
|
364
365
|
detail: $
|
|
@@ -368,13 +369,13 @@ const Y = class Y {
|
|
|
368
369
|
e(this, z).push(Dt);
|
|
369
370
|
} else
|
|
370
371
|
this.destroyOldLinks(r), r.innerHTML = "", r.append(...j), this.findNewLinks(r);
|
|
371
|
-
}), X ? (
|
|
372
|
-
r.querySelectorAll("script").forEach((
|
|
372
|
+
}), X ? (S.clearScrollState(), d(this, l, ht).call(this, X, { centerScroll: i, offsetScroll: u })) : e(this, A) ? S.restoreScrollPosition() : S.renewScrollPosition(), yield Promise.all(e(this, z)), gt.forEach((r) => r.remove()), a(this, z, []), e(this, W).forEach((r) => {
|
|
373
|
+
r.querySelectorAll("script").forEach((v) => {
|
|
373
374
|
const O = document.createElement("script");
|
|
374
|
-
O.type = "module", O.src =
|
|
375
|
+
O.type = "module", O.src = v.getAttribute("src"), v.replaceWith(O);
|
|
375
376
|
});
|
|
376
377
|
}), K(document, "morphComplete", {
|
|
377
|
-
detail:
|
|
378
|
+
detail: mt
|
|
378
379
|
}), window.dispatchEvent(new Event("resize"));
|
|
379
380
|
} catch (q) {
|
|
380
381
|
console.error(q);
|
|
@@ -383,7 +384,7 @@ const Y = class Y {
|
|
|
383
384
|
});
|
|
384
385
|
}
|
|
385
386
|
addLink(t) {
|
|
386
|
-
e(this, m).push(new
|
|
387
|
+
e(this, m).push(new nt(t, this));
|
|
387
388
|
}
|
|
388
389
|
addLinks(t) {
|
|
389
390
|
t.forEach((s) => {
|
|
@@ -401,27 +402,27 @@ const Y = class Y {
|
|
|
401
402
|
e(this, Q)
|
|
402
403
|
);
|
|
403
404
|
e(this, m).push(
|
|
404
|
-
...s.map((i) => new
|
|
405
|
+
...s.map((i) => new nt(i, this))
|
|
405
406
|
);
|
|
406
407
|
}
|
|
407
408
|
findLinks() {
|
|
408
409
|
const t = [
|
|
409
410
|
...document.documentElement.querySelectorAll("a")
|
|
410
411
|
].filter(e(this, Q));
|
|
411
|
-
e(this, m).forEach((s) => s.destroy()), a(this, m, t.map((s) => new
|
|
412
|
+
e(this, m).forEach((s) => s.destroy()), a(this, m, t.map((s) => new nt(s, this)));
|
|
412
413
|
}
|
|
413
414
|
};
|
|
414
|
-
k = new WeakMap(), W = new WeakMap(), m = new WeakMap(),
|
|
415
|
+
k = new WeakMap(), W = new WeakMap(), m = new WeakMap(), et = new WeakMap(), T = new WeakMap(), f = new WeakMap(), J = new WeakMap(), z = new WeakMap(), A = new WeakMap(), w = new WeakMap(), B = new WeakMap(), I = new WeakMap(), Q = new WeakMap(), l = new WeakSet(), tt = function(t, s = !1) {
|
|
415
416
|
return N(this, null, function* () {
|
|
416
417
|
let i = e(this, B).get(t);
|
|
417
|
-
return (!i || s) && (i = yield d(this, l,
|
|
418
|
+
return (!i || s) && (i = yield d(this, l, Ct).call(this, t)), i;
|
|
418
419
|
});
|
|
419
|
-
},
|
|
420
|
+
}, Ct = function(t) {
|
|
420
421
|
return N(this, null, function* () {
|
|
421
|
-
const i = yield (yield fetch(t)).text(), u = e(this,
|
|
422
|
+
const i = yield (yield fetch(t)).text(), u = e(this, et).parseFromString(i, "text/html"), p = new bt(this, t, u);
|
|
422
423
|
return e(this, B).set(t, p), p;
|
|
423
424
|
});
|
|
424
|
-
},
|
|
425
|
+
}, ot = function(t) {
|
|
425
426
|
const s = [...t.querySelectorAll("[data-morph]")];
|
|
426
427
|
return s.length ? s : [t];
|
|
427
428
|
}, Tt = function(t, s) {
|
|
@@ -430,21 +431,21 @@ k = new WeakMap(), W = new WeakMap(), m = new WeakMap(), tt = new WeakMap(), T =
|
|
|
430
431
|
(u) => u.outerHTML === i.outerHTML
|
|
431
432
|
)
|
|
432
433
|
);
|
|
433
|
-
},
|
|
434
|
+
}, at = function(t, s) {
|
|
434
435
|
return t.filter(
|
|
435
436
|
(i) => !s.find(
|
|
436
437
|
(u) => u.outerHTML === i.outerHTML
|
|
437
438
|
)
|
|
438
439
|
);
|
|
439
|
-
},
|
|
440
|
+
}, lt = function(t) {
|
|
440
441
|
return t.tagName === "SCRIPT" || t.tagName === "STYLE" || t.tagName === "LINK" && t.getAttribute("rel") === "stylesheet";
|
|
441
|
-
},
|
|
442
|
+
}, ct = function(t) {
|
|
442
443
|
var s, i;
|
|
443
444
|
(s = e(this, w)) == null || s.removeEventListener(
|
|
444
445
|
"scroll",
|
|
445
446
|
e(this, U)
|
|
446
447
|
), a(this, w, t.querySelector(e(this, k).scrollSelector) || t.documentElement), (i = e(this, w)) == null || i.addEventListener("scroll", e(this, U)), e(this, U).call(this);
|
|
447
|
-
},
|
|
448
|
+
}, ht = function(t, s) {
|
|
448
449
|
const i = typeof t == "string" ? document.getElementById(t) : t;
|
|
449
450
|
(typeof i == "number" || i) && It(i, {
|
|
450
451
|
scrollElement: e(this, w),
|
|
@@ -452,8 +453,8 @@ k = new WeakMap(), W = new WeakMap(), m = new WeakMap(), tt = new WeakMap(), T =
|
|
|
452
453
|
center: s == null ? void 0 : s.centerScroll,
|
|
453
454
|
offset: s == null ? void 0 : s.offsetScroll
|
|
454
455
|
});
|
|
455
|
-
},
|
|
456
|
-
let
|
|
456
|
+
}, st = new WeakMap(), U = new WeakMap(), Y.instance = null;
|
|
457
|
+
let kt = Y;
|
|
457
458
|
export {
|
|
458
|
-
|
|
459
|
+
kt as Morph
|
|
459
460
|
};
|