aptechka 0.74.0 → 0.74.1
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/index.cjs +1 -1
- package/lib/morph/index.js +150 -146
- package/package.json +1 -1
package/lib/morph/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var se=Object.defineProperty,ae=Object.defineProperties;var ne=Object.getOwnPropertyDescriptors;var Wt=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable;var Xt=(o,e)=>(e=Symbol[o])?e:Symbol.for("Symbol."+o),jt=o=>{throw TypeError(o)};var Yt=(o,e,i)=>e in o?se(o,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):o[e]=i,gt=(o,e)=>{for(var i in e||(e={}))re.call(e,i)&&Yt(o,i,e[i]);if(Wt)for(var i of Wt(e))oe.call(e,i)&&Yt(o,i,e[i]);return o},kt=(o,e)=>ae(o,ne(e));var Pt=(o,e,i)=>e.has(o)||jt("Cannot "+i);var t=(o,e,i)=>(Pt(o,e,"read from private field"),i?i.call(o):e.get(o)),l=(o,e,i)=>e.has(o)?jt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,i),r=(o,e,i,s)=>(Pt(o,e,"write to private field"),s?s.call(o,i):e.set(o,i),i),p=(o,e,i)=>(Pt(o,e,"access private method"),i);var W=(o,e,i)=>new Promise((s,h)=>{var v=d=>{try{L(i.next(d))}catch(E){h(E)}},g=d=>{try{L(i.throw(d))}catch(E){h(E)}},L=d=>d.done?s(d.value):Promise.resolve(d.value).then(v,g);L((i=i.apply(o,e)).next())});var Kt=(o,e,i)=>(e=o[Xt("asyncIterator")])?e.call(o):(o=o[Xt("iterator")](),e={},i=(s,h)=>(h=o[s])&&(e[s]=v=>new Promise((g,L,d)=>(v=h.call(o,v),d=v.done,Promise.resolve(v.value).then(E=>g({value:E,done:d}),L)))),i("next"),i("return"),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Jt=require("../index-DekP7OZe.cjs"),M=require("../events-KVanG9sR.cjs"),$t=require("../scroll-CIdNtj3G.cjs");require("construct-style-sheets-polyfill");const at=require("../url-DGcX4fGV.cjs"),le=require("../css-value-parser/index.cjs");class Qt extends HTMLElement{connectedCallback(){const e={"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[i,s]of Object.entries(e))this.setAttribute(i,s)}}Jt.isBrowser&&!customElements.get("morph-announcer")&&customElements.define("morph-announcer",Qt);var P,a,I,J,Et,rt,Q;class Ct{constructor(e,i){l(this,J);l(this,P);l(this,a);l(this,I);l(this,rt,e=>{var s;if(e.preventDefault(),document.documentElement.classList.contains("click-disabled"))return;if(t(this,a).hasAttribute("data-back")&&t(this,P).previousURL)history.back();else{r(this,I,t(this,a).getAttribute("href")||"/");const h=t(this,a).getAttribute("data-history-action")||"push",v=t(this,a).hasAttribute("data-center-scroll"),g=getComputedStyle(t(this,a)).getPropertyValue("--offset-scroll").trim(),L=g?le.cssValueParser.parse(g):void 0,d=t(this,a).hasAttribute("data-revalidate")||t(this,a).hasAttribute("data-pagination-more-link")||t(this,a).hasAttribute("data-pagination-set-link"),E=t(this,a).hasAttribute("data-keep-search-parameters"),bt=t(this,a).hasAttribute("data-keep-scroll-position")||t(this,a).hasAttribute("data-pagination-more-link"),Lt=t(this,a).getAttribute("data-scroll-behaviour"),ut=p(this,J,Et).call(this,t(this,a).getAttribute("data-pagination-set-link")||t(this,a).getAttribute("data-pagination-more-link"));ut&&(t(this,a).hasAttribute("data-pagination-set-link")?t(this,P).links.forEach(U=>{U.updatePagination(parseInt(t(this,a).getAttribute("data-value")||"1"),ut.selector)}):t(this,a).hasAttribute("data-pagination-more-link")&&t(this,P).links.forEach(U=>{U.updatePagination(ut.currentPage+1,ut.selector)}));const dt=((s=t(this,a).getAttribute("data-submorph"))==null?void 0:s.split(",").map(U=>U.trim()))||t(this,a).hasAttribute("data-pagination-more-link")&&[t(this,a).getAttribute("data-pagination-more-link")]||t(this,a).hasAttribute("data-pagination-set-link")&&[t(this,a).getAttribute("data-pagination-set-link")]||void 0,c=t(this,a).hasAttribute("data-clear-state");t(this,P).navigate(t(this,I),{historyAction:h,centerScroll:v,offsetScroll:L,revalidate:d,keepSearchParameters:E,submorph:dt,clearState:c,keepScrollPosition:bt,scrollBehaviour:Lt,submorphAppend:t(this,a).hasAttribute("data-pagination-more-link")})}});l(this,Q,()=>{const e=t(this,a).hasAttribute("data-revalidate");t(this,P).prefetch(t(this,I),e),t(this,a).removeEventListener("pointerenter",t(this,Q))});r(this,P,i),r(this,a,e),t(this,a).addEventListener("click",t(this,rt)),r(this,I,t(this,a).getAttribute("href")||"/"),this.checkCurrent(location.href.replace(location.origin,""));const s=p(this,J,Et).call(this,t(this,a).getAttribute("data-pagination-set-link")||t(this,a).getAttribute("data-pagination-more-link"));s&&this.updatePagination(s.currentPage,s.selector),t(this,a).hasAttribute("data-prefetch")&&t(this,a).addEventListener("pointerenter",t(this,Q))}get element(){return t(this,a)}checkCurrent(e){var h;const i=t(this,P).normalizePath(e),s=t(this,P).normalizePath(t(this,I));t(this,a).hasAttribute("data-include")&&i.pathname.includes(s.pathname)?t(this,a).classList.add("current"):s.pathname===i.pathname?t(this,a).classList.add("current"):(h=t(this,a).getAttribute("data-associated-paths"))!=null&&h.split(",").find(v=>i.pathname.includes(v))?t(this,a).classList.add("current"):t(this,a).classList.remove("current"),i.path===s.path?t(this,a).classList.add("exact"):t(this,a).classList.remove("exact")}updatePagination(e,i){const s=p(this,J,Et).call(this,i);if(s)if(s.element.setAttribute("data-current-page",e.toString()),t(this,a).hasAttribute("data-pagination-more-link"))if(e<s.totalPages){t(this,a).style.display="";const h=t(this,a).querySelector("[data-pagination-more-link-counter]");h&&(h.textContent=(s.totalPages-e).toString());const v=t(this,a).getAttribute("href"),g=new URL(v,window.location.origin);g.searchParams.set("page",(e+1).toString());const L=g.href.replace(g.origin,"").toString();t(this,a).setAttribute("href",L),this.checkCurrent(L)}else t(this,a).style.display="none";else t(this,a).hasAttribute("data-pagination-set-link")&&(t(this,a).getAttribute("data-value")===e.toString()?t(this,a).classList.add("pagination-current"):t(this,a).classList.remove("pagination-current"))}destroy(){t(this,a).removeEventListener("click",t(this,rt)),t(this,a).removeEventListener("pointerenter",t(this,Q)),t(this,a).classList.remove("current","exact","pagination-current")}}P=new WeakMap,a=new WeakMap,I=new WeakMap,J=new WeakSet,Et=function(e){if(!e)return;const i=document.querySelector(e);if(i){const s=parseInt(i.getAttribute("data-current-page")||"1"),h=parseInt(i.getAttribute("data-total-pages")||"1");return{element:i,currentPage:s,totalPages:h,selector:e}}},rt=new WeakMap,Q=new WeakMap;const he=new DOMParser;var T,X,A,x,Y,z,Z,j,V,ot;class Gt{constructor(e,i){l(this,T);l(this,X);l(this,A,{x:0,y:0});l(this,x,null);l(this,Y,null);l(this,z,null);l(this,Z,null);l(this,j,null);l(this,V,null);l(this,ot);r(this,T,e),r(this,X,i)}get pathname(){return t(this,X)}get scrollState(){return t(this,A)}get document(){return t(this,z)}setHeaders(e){r(this,ot,e)}setInitialDocument(e){r(this,x,e.cloneNode(!0))}abort(){var e;return(e=t(this,j))==null?void 0:e.abort(`[${t(this,X)}] page loading cancelled`)}fetch(e,i,s){return W(this,null,function*(){var h;if(!s){const L=((h=t(this,x))==null?void 0:h.documentElement.getAttribute("data-cache"))&&i!==e,d=t(this,x)&&t(this,T).isPopstateNavigation;if(t(this,V)||L||d)return t(this,V)}return r(this,V,new Promise(v=>W(this,null,function*(){try{r(this,j,new AbortController);const L=yield(yield fetch(e,{signal:t(this,j).signal,headers:gt({"X-MORPH":"true","X-MORPH-CURRENT-PATH":encodeURIComponent(i),"X-MORPH-NEW-PATH":encodeURIComponent(e)},t(this,ot))})).text(),d=he.parseFromString(L,"text/html");this.setInitialDocument(d)}catch(g){console.warn(g)}finally{r(this,j,null),r(this,V,null),v()}}))),t(this,V)})}cloneDocument(){r(this,z,(t(this,Y)||t(this,x)).cloneNode(!0))}get title(){let e="";if(t(this,z).title)e=t(this,z).title;else{const i=t(this,z).querySelector("h1");e=(i==null?void 0:i.innerText)||(i==null?void 0:i.textContent)||t(this,X)}return e}clearScrollState(){t(this,A).x=0,t(this,A).y=0}clearDocumentState(){r(this,Y,null)}saveScrollState(){t(this,x).documentElement.hasAttribute("data-no-scroll-restoration")?(t(this,A).x=0,t(this,A).y=0):(t(this,A).x=t(this,T).scrollValue.left,t(this,A).y=t(this,T).scrollValue.top)}restoreScrollPosition(){t(this,T).scrollElement.scroll({top:t(this,A).y,left:t(this,A).x,behavior:"instant"})}saveDocumentState(){t(this,x).documentElement.hasAttribute("data-no-page-restoration")?r(this,Y,null):r(this,Y,document.cloneNode(!0))}renewScrollPosition(){t(this,T).scrollElement.scroll({top:0,left:0,behavior:"instant"})}saveState(e){r(this,Z,e)}clearState(){const e=t(this,Z);return r(this,Z,null),e}}T=new WeakMap,X=new WeakMap,A=new WeakMap,x=new WeakMap,Y=new WeakMap,z=new WeakMap,Z=new WeakMap,j=new WeakMap,V=new WeakMap,ot=new WeakMap;var R,_,y,O,f,K,F,B,C,lt,N,$,tt,et,ht,it,m,Rt,ct,vt,Mt,Zt,Tt,xt,Nt,Ut,St,st;const nt=class nt{constructor(e){l(this,m);l(this,R,null);l(this,_,null);l(this,y,[]);l(this,O);l(this,f,null);l(this,K);l(this,F,[]);l(this,B,!1);l(this,C,null);l(this,lt,!1);l(this,N,new Map);l(this,$,null);l(this,tt,0);l(this,et,0);l(this,ht);l(this,it);l(this,ct,e=>{var i;return((i=e.getAttribute("href"))==null?void 0:i.startsWith("/"))&&!e.hasAttribute("download")&&!e.hasAttribute("data-morph-skip")&&!e.closest("[data-morph-skip]")&&e.getAttribute("target")!=="_blank"});l(this,St,e=>W(this,null,function*(){e.preventDefault(),r(this,B,!0),yield this.navigate(location.href.replace(location.origin,""),{historyAction:"none",submorph:t(this,it)?void 0:t(this,ht),revalidate:t(this,it)}),r(this,B,!1)}));l(this,st,()=>{const{left:e,top:i}=this.scrollValue,s=i-t(this,et),h=e-t(this,tt);r(this,et,i),r(this,tt,e),document.documentElement.classList.toggle("scroll-y",i>0),document.documentElement.classList.toggle("scroll-x",e>0),document.documentElement.classList.toggle("scroll-y-forward",s>0),document.documentElement.classList.toggle("scroll-y-backward",s<0),document.documentElement.classList.toggle("scroll-x-forward",h>0),document.documentElement.classList.toggle("scroll-x-backward",h<0),M.dispatchEvent(document,"morphScroll",{detail:{left:e,top:i}})});if(Jt.isBrowser&&!nt.instance){nt.instance=this,r(this,R,{base:at.normalizeBase(e==null?void 0:e.base),waitForHeadToLoad:(e==null?void 0:e.waitForHeadToLoad)!==!1,trailingSlash:(e==null?void 0:e.trailingSlash)||!1,scrollSelector:e==null?void 0:e.scrollSelector,morphInsideScrollContainer:(e==null?void 0:e.morphInsideScrollContainer)||!1}),r(this,_,p(this,m,Mt).call(this,document.body));const i=this.normalizePath(location.pathname+location.search+location.hash);r(this,f,i);const s=new Gt(this,t(this,f).pathname);s.setInitialDocument(document),t(this,N).set(t(this,f).pathname,s),document.documentElement.setAttribute("data-current-pathname",t(this,f).pathname),document.documentElement.setAttribute("data-current-leaf",i.leaf),this.findLinks(),history.scrollRestoration="manual",addEventListener("popstate",t(this,St)),at.changeHistory({action:"replace",pathname:i.pathname,searchParameters:i.parameters,hash:i.hash}),r(this,$,new Qt),p(this,m,Nt).call(this,document)}}get currentURL(){return t(this,f)}get previousURL(){return t(this,K)}get links(){return t(this,y)}get scrollElement(){return t(this,C)}get isPopstateNavigation(){return t(this,B)}get scrollValue(){let e=0,i=0;return t(this,lt)?(e=window.scrollY,i=window.scrollX):(e=t(this,C).scrollTop,i=t(this,C).scrollLeft),{top:e,left:i}}saveState(e){const i=t(this,N).get(t(this,f).path);i&&i.saveState(e)}getState(){const e=t(this,N).get(t(this,f).path);return e==null?void 0:e.clearState()}normalizePath(e){return at.splitPath(e,{base:t(this,R).base,trailingSlash:t(this,R).trailingSlash})}prefetch(e,i){return W(this,null,function*(){var h;if(t(this,F).length)return;e=((h=this.pathnameModifier)==null?void 0:h.call(this,e))||e;const s=p(this,m,vt).call(this,e);s==null||s.fetch(e,t(this,f).path,i)})}excludeHeadChild(e){return!1}setHeaders(e){}navigate(ut){return W(this,arguments,function*(e,{historyAction:i="push",centerScroll:s,offsetScroll:h,scrollBehaviour:v,revalidate:g,keepSearchParameters:L,submorph:d,submorphAppend:E,clearState:bt,keepScrollPosition:Lt}={}){var U,qt,Dt,It;if(t(this,F).length)return;r(this,ht,d),r(this,it,g);const dt=((U=this.pathnameModifier)==null?void 0:U.call(this,e))||e,c=this.normalizePath(dt);if(t(this,y).forEach(G=>{G.checkCurrent(c.path)}),!g&&(((qt=t(this,O))==null?void 0:qt.pathname)===c.pathname||t(this,f).pathname===c.pathname)){p(this,m,Ut).call(this,c.hash||0,{centerScroll:s,offsetScroll:h,behavior:"smooth"}),M.dispatchEvent(document,"morphSamePath",{custom:!0}),((Dt=t(this,f))==null?void 0:Dt.parameters)!==c.parameters&&(r(this,K,t(this,f)),r(this,f,c),at.changeHistory({action:((It=t(this,f))==null?void 0:It.hash)!==c.hash?"replace":i,pathname:c.pathname,searchParameters:c.parameters,hash:c.hash}),M.dispatchEvent(document,"morphURLParametersChange",{detail:{newURL:t(this,f),previousURL:t(this,K)}}));return}r(this,O,c);try{let G=!0;if(this.preprocessor)try{yield new Promise((n,w)=>{var k;(k=this.preprocessor)==null||k.call(this,{url:c,resolve:n,reject:w,submorph:d})})}catch(n){n?console.error(n):console.log("Route change canceled"),G=!1}if(!G||t(this,O).pathname!==c.pathname){t(this,y).forEach(n=>{n.checkCurrent(t(this,f).path)});return}const zt={url:c,submorph:d};d?E||d.forEach(n=>{document.querySelectorAll(n).forEach(w=>{w.classList.add("out"),w.setAttribute("data-morph-out","")})}):t(this,_).forEach(n=>{var w,k;(w=n.firstElementChild)==null||w.classList.add("out"),(k=n.firstElementChild)==null||k.setAttribute("data-morph-out","")}),M.dispatchEvent(document,"morphNavigation",{detail:zt});const yt=p(this,m,vt).call(this,t(this,f).pathname),S=p(this,m,vt).call(this,c.pathname);if(t(this,N).forEach(n=>{n.pathname!==c.pathname&&n.abort()}),yield S==null?void 0:S.fetch(dt,t(this,f).path,g),t(this,O).pathname!==c.pathname){t(this,y).forEach(n=>{n.checkCurrent(t(this,f).path)});return}yt.clearState(),yt.saveScrollState(),yt.saveDocumentState(),(!t(this,B)||g)&&(S.clearScrollState(),S.clearDocumentState()),bt&&S.clearState(),S.cloneDocument(),t(this,$).textContent=S.title,document.body.appendChild(t(this,$));const mt=kt(gt({},zt),{document:S.document});E||mt.document.querySelectorAll("[data-morph-out]").forEach(n=>{n.classList.remove("out")}),M.dispatchEvent(document,"morphStart",{detail:mt});const Vt=Array.from(document.head.children),Ot=Array.from(S.document.head.children),Ft=p(this,m,Zt).call(this,Vt,Ot),_t=p(this,m,Tt).call(this,Vt,Ft),ft=p(this,m,Tt).call(this,Ot,Ft).filter(n=>!this.excludeHeadChild(n));ft.forEach((n,w)=>{n.tagName==="SCRIPT"&&(ft[w]=p(this,m,Rt).call(this,n))}),ft.forEach(n=>{document.head.appendChild(n)});const wt=ft.filter(n=>{if(n.hasAttribute("data-no-waiting"))return!1;if(p(this,m,xt).call(this,n))return!0});t(this,R).waitForHeadToLoad&&wt.length&&(yield new Promise(n=>W(this,null,function*(){let w=0;try{for(var k=Kt(wt),ee,q,H;ee=!(q=yield k.next()).done;ee=!1){const pt=q.value;pt.onload=()=>{w++,w===wt.length&&n()}}}catch(q){H=[q]}finally{try{ee&&(q=k.return)&&(yield q.call(k))}finally{if(H)throw H[0]}}}))),yield $t.wait(10);const Bt=[];E||_t.forEach(n=>{n.hasAttribute("data-permanent")||(p(this,m,xt).call(this,n)?Bt.push(n):n.remove())});const te=p(this,m,Mt).call(this,S.document.body);!t(this,R).morphInsideScrollContainer&&!d&&p(this,m,Nt).call(this,S.document),document.documentElement.setAttribute("data-current-pathname",c.pathname),document.documentElement.setAttribute("data-current-leaf",c.leaf),at.changeHistory({action:i,pathname:c.pathname,searchParameters:c.parameters||(L?location.search:""),hash:c.hash}),t(this,$).remove(),r(this,K,t(this,f)),r(this,f,c);const At=[];t(this,_).forEach((n,w)=>{const k=te[w],ee=getComputedStyle(n).getPropertyValue("--morph-duration");let q=[],H=[];d?(d.forEach(u=>{const b=n.querySelector(u),D=k.querySelector(u);b&&D&&(H.push(b),q.push(D))}),H.forEach(u=>{u.parentElement&&At.push(u.parentElement)})):(q.push(...k.childNodes),H.push(...n.childNodes),At.push(n)),E||H.forEach(u=>{u instanceof HTMLElement&&(this.destroyOldLinks(u),u.classList.add("old"))}),q.forEach(u=>{u instanceof HTMLElement&&(this.findNewLinks(u),u.classList.add("new"))}),d?E?q.forEach((u,b)=>{H[b]instanceof HTMLElement&&H[b].append(...u.childNodes)}):q.forEach((u,b)=>{var D;(D=H[b].parentElement)==null||D.insertBefore(u,H[b])}):n.prepend(...q),setTimeout(()=>{E||H.forEach(u=>{u instanceof HTMLElement&&u.classList.add("old-idle")}),q.forEach(u=>{var b;u instanceof HTMLElement&&((b=u.parentElement)==null||b.style.setProperty("--new-content-height",u.offsetHeight+"px"),u.classList.add("new-idle"))})},0);const pt=kt(gt({},mt),{morphElement:n});M.dispatchEvent(document,"morphNewChildrenAdded",{detail:pt});const ie=new Promise(u=>{setTimeout(()=>{E||H.forEach(b=>b.remove()),q.forEach(b=>{var D;b instanceof HTMLElement&&((D=b.parentElement)==null||D.style.removeProperty("--new-content-height"),b.classList.remove("new-idle","new"))}),E||M.dispatchEvent(document,"morphOldChildrenRemoved",{detail:pt}),u()},(parseFloat(ee)||0)*1e3+10)});t(this,F).push(ie)}),this.isPopstateNavigation?document.documentElement.style.setProperty("--new-document-scroll-position",(this.scrollValue.top-S.scrollState.y)*1+"px"):document.documentElement.style.setProperty("--new-document-scroll-position",this.scrollValue.top+"px"),M.dispatchEvent(document,"morphBeforeNavigationScroll",{detail:S.scrollState}),c.hash?(S.clearScrollState(),p(this,m,Ut).call(this,c.hash,{centerScroll:s,offsetScroll:h,behavior:v})):t(this,B)?S.restoreScrollPosition():Lt||S.renewScrollPosition(),yield Promise.all(t(this,F)),E||Bt.forEach(n=>n.remove()),r(this,F,[]),At.forEach(n=>{n.querySelectorAll("script").forEach(k=>{k.replaceWith(p(this,m,Rt).call(this,k))})}),t(this,y).forEach(n=>{n.checkCurrent(t(this,f).path)}),M.dispatchEvent(document,"morphComplete",{detail:mt}),document.documentElement.style.removeProperty("--new-document-scroll-position"),window.dispatchEvent(new Event("resize"))}catch(G){console.error(G)}r(this,O,void 0)})}addLink(e){t(this,y).push(new Ct(e,this))}addLinks(e){e.forEach(i=>{this.addLink(i)})}removeLink(e){r(this,y,t(this,y).filter(i=>i.element===e?(i.destroy(),!1):!0))}destroyOldLinks(e){r(this,y,t(this,y).filter(i=>e.contains(i.element)?(i.destroy(),!1):!0))}findNewLinks(e){const i=[...e.querySelectorAll("a")].filter(t(this,ct));t(this,y).push(...i.map(s=>new Ct(s,this)))}findLinks(){const e=[...document.documentElement.querySelectorAll("a")].filter(t(this,ct));t(this,y).forEach(i=>i.destroy()),r(this,y,e.map(i=>new Ct(i,this)))}};R=new WeakMap,_=new WeakMap,y=new WeakMap,O=new WeakMap,f=new WeakMap,K=new WeakMap,F=new WeakMap,B=new WeakMap,C=new WeakMap,lt=new WeakMap,N=new WeakMap,$=new WeakMap,tt=new WeakMap,et=new WeakMap,ht=new WeakMap,it=new WeakMap,m=new WeakSet,Rt=function(e){const i=document.createElement("script");for(let s=0;s<e.attributes.length;s++){const h=e.attributes[s];i.setAttribute(h.name,h.value)}return e.hasAttribute("src")||(i.innerHTML=e.innerHTML),i},ct=new WeakMap,vt=function(e){const i=this.normalizePath(e);let s=t(this,N).get(i.pathname);return s||(s=new Gt(this,i.pathname),t(this,N).set(i.pathname,s)),s},Mt=function(e){const i=[...e.querySelectorAll("[data-morph]")];return i.length?i:[e]},Zt=function(e,i){return e.filter(s=>i.find(h=>h.outerHTML===s.outerHTML))},Tt=function(e,i){return e.filter(s=>!i.find(h=>h.outerHTML===s.outerHTML))},xt=function(e){return e.tagName==="SCRIPT"||e.tagName==="STYLE"||e.tagName==="LINK"&&e.getAttribute("rel")==="stylesheet"},Nt=function(e){var i,s;(i=t(this,C))==null||i.removeEventListener("scroll",t(this,st)),r(this,et,0),r(this,tt,0),r(this,C,t(this,R).scrollSelector&&e.querySelector(t(this,R).scrollSelector)||window),r(this,lt,t(this,C)===window),(s=t(this,C))==null||s.addEventListener("scroll",t(this,st)),t(this,st).call(this)},Ut=function(e,i){const s=typeof e=="string"?document.getElementById(e):e;(typeof s=="number"||s)&&$t.scrollToElement(s,{scrollElement:t(this,C),behavior:(i==null?void 0:i.behavior)||"instant",center:i==null?void 0:i.centerScroll,offset:i==null?void 0:i.offsetScroll})},St=new WeakMap,st=new WeakMap,nt.instance=null;let Ht=nt;exports.Morph=Ht;
|
|
1
|
+
"use strict";var ae=Object.defineProperty,ne=Object.defineProperties;var re=Object.getOwnPropertyDescriptors;var Xt=Object.getOwnPropertySymbols;var oe=Object.prototype.hasOwnProperty,le=Object.prototype.propertyIsEnumerable;var Yt=(o,e)=>(e=Symbol[o])?e:Symbol.for("Symbol."+o),Kt=o=>{throw TypeError(o)};var jt=(o,e,i)=>e in o?ae(o,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):o[e]=i,St=(o,e)=>{for(var i in e||(e={}))oe.call(e,i)&&jt(o,i,e[i]);if(Xt)for(var i of Xt(e))le.call(e,i)&&jt(o,i,e[i]);return o},Pt=(o,e)=>ne(o,re(e));var Ct=(o,e,i)=>e.has(o)||Kt("Cannot "+i);var t=(o,e,i)=>(Ct(o,e,"read from private field"),i?i.call(o):e.get(o)),l=(o,e,i)=>e.has(o)?Kt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,i),r=(o,e,i,s)=>(Ct(o,e,"write to private field"),s?s.call(o,i):e.set(o,i),i),p=(o,e,i)=>(Ct(o,e,"access private method"),i);var W=(o,e,i)=>new Promise((s,h)=>{var v=d=>{try{L(i.next(d))}catch(E){h(E)}},g=d=>{try{L(i.throw(d))}catch(E){h(E)}},L=d=>d.done?s(d.value):Promise.resolve(d.value).then(v,g);L((i=i.apply(o,e)).next())});var $t=(o,e,i)=>(e=o[Yt("asyncIterator")])?e.call(o):(o=o[Yt("iterator")](),e={},i=(s,h)=>(h=o[s])&&(e[s]=v=>new Promise((g,L,d)=>(v=h.call(o,v),d=v.done,Promise.resolve(v.value).then(E=>g({value:E,done:d}),L)))),i("next"),i("return"),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Qt=require("../index-DekP7OZe.cjs"),M=require("../events-KVanG9sR.cjs"),Gt=require("../scroll-CIdNtj3G.cjs");require("construct-style-sheets-polyfill");const nt=require("../url-DGcX4fGV.cjs"),he=require("../css-value-parser/index.cjs");class Zt extends HTMLElement{connectedCallback(){const e={"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[i,s]of Object.entries(e))this.setAttribute(i,s)}}Qt.isBrowser&&!customElements.get("morph-announcer")&&customElements.define("morph-announcer",Zt);var P,a,I,J,bt,ot,Q;class Ht{constructor(e,i){l(this,J);l(this,P);l(this,a);l(this,I);l(this,ot,e=>{var s;if(e.preventDefault(),document.documentElement.classList.contains("click-disabled"))return;if(t(this,a).hasAttribute("data-back")&&t(this,P).previousURL)history.back();else{r(this,I,t(this,a).getAttribute("href")||"/");const h=t(this,a).getAttribute("data-history-action")||"push",v=t(this,a).hasAttribute("data-center-scroll"),g=getComputedStyle(t(this,a)).getPropertyValue("--offset-scroll").trim(),L=g?he.cssValueParser.parse(g):void 0,d=t(this,a).hasAttribute("data-revalidate")||t(this,a).hasAttribute("data-pagination-more-link")||t(this,a).hasAttribute("data-pagination-set-link"),E=t(this,a).hasAttribute("data-keep-search-parameters"),mt=t(this,a).hasAttribute("data-keep-scroll-position")||t(this,a).hasAttribute("data-pagination-more-link");console.log(mt);const at=t(this,a).getAttribute("data-scroll-behaviour"),ft=p(this,J,bt).call(this,t(this,a).getAttribute("data-pagination-set-link")||t(this,a).getAttribute("data-pagination-more-link"));ft&&(t(this,a).hasAttribute("data-pagination-set-link")?t(this,P).links.forEach(U=>{U.updatePagination(parseInt(t(this,a).getAttribute("data-value")||"1"),ft.selector)}):t(this,a).hasAttribute("data-pagination-more-link")&&t(this,P).links.forEach(U=>{U.updatePagination(ft.currentPage+1,ft.selector)}));const pt=((s=t(this,a).getAttribute("data-submorph"))==null?void 0:s.split(",").map(U=>U.trim()))||t(this,a).hasAttribute("data-pagination-more-link")&&[t(this,a).getAttribute("data-pagination-more-link")]||t(this,a).hasAttribute("data-pagination-set-link")&&[t(this,a).getAttribute("data-pagination-set-link")]||void 0,c=t(this,a).hasAttribute("data-clear-state");t(this,P).navigate(t(this,I),{historyAction:h,centerScroll:v,offsetScroll:L,revalidate:d,keepSearchParameters:E,submorph:pt,clearState:c,keepScrollPosition:mt,scrollBehaviour:at,submorphAppend:t(this,a).hasAttribute("data-pagination-more-link")})}});l(this,Q,()=>{const e=t(this,a).hasAttribute("data-revalidate");t(this,P).prefetch(t(this,I),e),t(this,a).removeEventListener("pointerenter",t(this,Q))});r(this,P,i),r(this,a,e),t(this,a).addEventListener("click",t(this,ot)),r(this,I,t(this,a).getAttribute("href")||"/"),this.checkCurrent(location.href.replace(location.origin,""));const s=p(this,J,bt).call(this,t(this,a).getAttribute("data-pagination-set-link")||t(this,a).getAttribute("data-pagination-more-link"));s&&this.updatePagination(s.currentPage,s.selector),t(this,a).hasAttribute("data-prefetch")&&t(this,a).addEventListener("pointerenter",t(this,Q))}get element(){return t(this,a)}checkCurrent(e){var h;const i=t(this,P).normalizePath(e),s=t(this,P).normalizePath(t(this,I));t(this,a).hasAttribute("data-include")&&i.pathname.includes(s.pathname)?t(this,a).classList.add("current"):s.pathname===i.pathname?t(this,a).classList.add("current"):(h=t(this,a).getAttribute("data-associated-paths"))!=null&&h.split(",").find(v=>i.pathname.includes(v))?t(this,a).classList.add("current"):t(this,a).classList.remove("current"),i.path===s.path?t(this,a).classList.add("exact"):t(this,a).classList.remove("exact")}updatePagination(e,i){const s=p(this,J,bt).call(this,i);if(s)if(s.element.setAttribute("data-current-page",e.toString()),t(this,a).hasAttribute("data-pagination-more-link"))if(e<s.totalPages){t(this,a).style.display="";const h=t(this,a).querySelector("[data-pagination-more-link-counter]");h&&(h.textContent=(s.totalPages-e).toString());const v=t(this,a).getAttribute("href"),g=new URL(v,window.location.origin);g.searchParams.set("page",(e+1).toString());const L=g.href.replace(g.origin,"").toString();t(this,a).setAttribute("href",L),this.checkCurrent(L)}else t(this,a).style.display="none";else t(this,a).hasAttribute("data-pagination-set-link")&&(t(this,a).getAttribute("data-value")===e.toString()?t(this,a).classList.add("pagination-current"):t(this,a).classList.remove("pagination-current"))}destroy(){t(this,a).removeEventListener("click",t(this,ot)),t(this,a).removeEventListener("pointerenter",t(this,Q)),t(this,a).classList.remove("current","exact","pagination-current")}}P=new WeakMap,a=new WeakMap,I=new WeakMap,J=new WeakSet,bt=function(e){if(!e)return;const i=document.querySelector(e);if(i){const s=parseInt(i.getAttribute("data-current-page")||"1"),h=parseInt(i.getAttribute("data-total-pages")||"1");return{element:i,currentPage:s,totalPages:h,selector:e}}},ot=new WeakMap,Q=new WeakMap;const ce=new DOMParser;var T,X,A,x,Y,z,Z,j,V,lt;class Jt{constructor(e,i){l(this,T);l(this,X);l(this,A,{x:0,y:0});l(this,x,null);l(this,Y,null);l(this,z,null);l(this,Z,null);l(this,j,null);l(this,V,null);l(this,lt);r(this,T,e),r(this,X,i)}get pathname(){return t(this,X)}get scrollState(){return t(this,A)}get document(){return t(this,z)}setHeaders(e){r(this,lt,e)}setInitialDocument(e){r(this,x,e.cloneNode(!0))}abort(){var e;return(e=t(this,j))==null?void 0:e.abort(`[${t(this,X)}] page loading cancelled`)}fetch(e,i,s){return W(this,null,function*(){var h;if(!s){const L=((h=t(this,x))==null?void 0:h.documentElement.getAttribute("data-cache"))&&i!==e,d=t(this,x)&&t(this,T).isPopstateNavigation;if(t(this,V)||L||d)return t(this,V)}return r(this,V,new Promise(v=>W(this,null,function*(){try{r(this,j,new AbortController);const L=yield(yield fetch(e,{signal:t(this,j).signal,headers:St({"X-MORPH":"true","X-MORPH-CURRENT-PATH":encodeURIComponent(i),"X-MORPH-NEW-PATH":encodeURIComponent(e)},t(this,lt))})).text(),d=ce.parseFromString(L,"text/html");this.setInitialDocument(d)}catch(g){console.warn(g)}finally{r(this,j,null),r(this,V,null),v()}}))),t(this,V)})}cloneDocument(){r(this,z,(t(this,Y)||t(this,x)).cloneNode(!0))}get title(){let e="";if(t(this,z).title)e=t(this,z).title;else{const i=t(this,z).querySelector("h1");e=(i==null?void 0:i.innerText)||(i==null?void 0:i.textContent)||t(this,X)}return e}clearScrollState(){t(this,A).x=0,t(this,A).y=0}clearDocumentState(){r(this,Y,null)}saveScrollState(){t(this,x).documentElement.hasAttribute("data-no-scroll-restoration")?(t(this,A).x=0,t(this,A).y=0):(t(this,A).x=t(this,T).scrollValue.left,t(this,A).y=t(this,T).scrollValue.top)}restoreScrollPosition(){t(this,T).scrollElement.scroll({top:t(this,A).y,left:t(this,A).x,behavior:"instant"})}saveDocumentState(){t(this,x).documentElement.hasAttribute("data-no-page-restoration")?r(this,Y,null):r(this,Y,document.cloneNode(!0))}renewScrollPosition(){t(this,T).scrollElement.scroll({top:0,left:0,behavior:"instant"})}saveState(e){r(this,Z,e)}clearState(){const e=t(this,Z);return r(this,Z,null),e}}T=new WeakMap,X=new WeakMap,A=new WeakMap,x=new WeakMap,Y=new WeakMap,z=new WeakMap,Z=new WeakMap,j=new WeakMap,V=new WeakMap,lt=new WeakMap;var R,_,y,O,f,K,F,B,C,ht,N,$,tt,et,ct,it,ut,m,Mt,dt,Lt,Tt,_t,xt,Nt,Ut,qt,yt,st;const rt=class rt{constructor(e){l(this,m);l(this,R,null);l(this,_,null);l(this,y,[]);l(this,O);l(this,f,null);l(this,K);l(this,F,[]);l(this,B,!1);l(this,C,null);l(this,ht,!1);l(this,N,new Map);l(this,$,null);l(this,tt,0);l(this,et,0);l(this,ct);l(this,it);l(this,ut);l(this,dt,e=>{var i;return((i=e.getAttribute("href"))==null?void 0:i.startsWith("/"))&&!e.hasAttribute("download")&&!e.hasAttribute("data-morph-skip")&&!e.closest("[data-morph-skip]")&&e.getAttribute("target")!=="_blank"});l(this,yt,e=>W(this,null,function*(){e.preventDefault(),r(this,B,!0),yield this.navigate(location.href.replace(location.origin,""),{historyAction:"none",submorph:t(this,it)?void 0:t(this,ct),revalidate:t(this,it),keepScrollPosition:t(this,ut)}),r(this,B,!1)}));l(this,st,()=>{const{left:e,top:i}=this.scrollValue,s=i-t(this,et),h=e-t(this,tt);r(this,et,i),r(this,tt,e),document.documentElement.classList.toggle("scroll-y",i>0),document.documentElement.classList.toggle("scroll-x",e>0),document.documentElement.classList.toggle("scroll-y-forward",s>0),document.documentElement.classList.toggle("scroll-y-backward",s<0),document.documentElement.classList.toggle("scroll-x-forward",h>0),document.documentElement.classList.toggle("scroll-x-backward",h<0),M.dispatchEvent(document,"morphScroll",{detail:{left:e,top:i}})});if(Qt.isBrowser&&!rt.instance){rt.instance=this,r(this,R,{base:nt.normalizeBase(e==null?void 0:e.base),waitForHeadToLoad:(e==null?void 0:e.waitForHeadToLoad)!==!1,trailingSlash:(e==null?void 0:e.trailingSlash)||!1,scrollSelector:e==null?void 0:e.scrollSelector,morphInsideScrollContainer:(e==null?void 0:e.morphInsideScrollContainer)||!1}),r(this,_,p(this,m,Tt).call(this,document.body));const i=this.normalizePath(location.pathname+location.search+location.hash);r(this,f,i);const s=new Jt(this,t(this,f).pathname);s.setInitialDocument(document),t(this,N).set(t(this,f).pathname,s),document.documentElement.setAttribute("data-current-pathname",t(this,f).pathname),document.documentElement.setAttribute("data-current-leaf",i.leaf),this.findLinks(),history.scrollRestoration="manual",addEventListener("popstate",t(this,yt)),nt.changeHistory({action:"replace",pathname:i.pathname,searchParameters:i.parameters,hash:i.hash}),r(this,$,new Zt),p(this,m,Ut).call(this,document)}}get currentURL(){return t(this,f)}get previousURL(){return t(this,K)}get links(){return t(this,y)}get scrollElement(){return t(this,C)}get isPopstateNavigation(){return t(this,B)}get scrollValue(){let e=0,i=0;return t(this,ht)?(e=window.scrollY,i=window.scrollX):(e=t(this,C).scrollTop,i=t(this,C).scrollLeft),{top:e,left:i}}saveState(e){const i=t(this,N).get(t(this,f).path);i&&i.saveState(e)}getState(){const e=t(this,N).get(t(this,f).path);return e==null?void 0:e.clearState()}normalizePath(e){return nt.splitPath(e,{base:t(this,R).base,trailingSlash:t(this,R).trailingSlash})}prefetch(e,i){return W(this,null,function*(){var h;if(t(this,F).length)return;e=((h=this.pathnameModifier)==null?void 0:h.call(this,e))||e;const s=p(this,m,Lt).call(this,e);s==null||s.fetch(e,t(this,f).path,i)})}excludeHeadChild(e){return!1}setHeaders(e){}navigate(ft){return W(this,arguments,function*(e,{historyAction:i="push",centerScroll:s,offsetScroll:h,scrollBehaviour:v,revalidate:g,keepSearchParameters:L,submorph:d,submorphAppend:E,clearState:mt,keepScrollPosition:at}={}){var U,Dt,It,zt;if(t(this,F).length)return;r(this,ct,d),r(this,it,g),r(this,ut,at);const pt=((U=this.pathnameModifier)==null?void 0:U.call(this,e))||e,c=this.normalizePath(pt);if(t(this,y).forEach(G=>{G.checkCurrent(c.path)}),!g&&(((Dt=t(this,O))==null?void 0:Dt.pathname)===c.pathname||t(this,f).pathname===c.pathname)){at||p(this,m,qt).call(this,c.hash||0,{centerScroll:s,offsetScroll:h,behavior:"smooth"}),M.dispatchEvent(document,"morphSamePath",{custom:!0}),((It=t(this,f))==null?void 0:It.parameters)!==c.parameters&&(r(this,K,t(this,f)),r(this,f,c),nt.changeHistory({action:((zt=t(this,f))==null?void 0:zt.hash)!==c.hash?"replace":i,pathname:c.pathname,searchParameters:c.parameters,hash:c.hash}),M.dispatchEvent(document,"morphURLParametersChange",{detail:{newURL:t(this,f),previousURL:t(this,K)}}));return}r(this,O,c);try{let G=!0;if(this.preprocessor)try{yield new Promise((n,w)=>{var k;(k=this.preprocessor)==null||k.call(this,{url:c,resolve:n,reject:w,submorph:d})})}catch(n){n?console.error(n):console.log("Route change canceled"),G=!1}if(!G||t(this,O).pathname!==c.pathname){t(this,y).forEach(n=>{n.checkCurrent(t(this,f).path)});return}const Vt={url:c,submorph:d};d?E||d.forEach(n=>{document.querySelectorAll(n).forEach(w=>{w.classList.add("out"),w.setAttribute("data-morph-out","")})}):t(this,_).forEach(n=>{var w,k;(w=n.firstElementChild)==null||w.classList.add("out"),(k=n.firstElementChild)==null||k.setAttribute("data-morph-out","")}),M.dispatchEvent(document,"morphNavigation",{detail:Vt});const wt=p(this,m,Lt).call(this,t(this,f).pathname),S=p(this,m,Lt).call(this,c.pathname);if(t(this,N).forEach(n=>{n.pathname!==c.pathname&&n.abort()}),yield S==null?void 0:S.fetch(pt,t(this,f).path,g),t(this,O).pathname!==c.pathname){t(this,y).forEach(n=>{n.checkCurrent(t(this,f).path)});return}wt.clearState(),wt.saveScrollState(),wt.saveDocumentState(),(!t(this,B)||g)&&(S.clearScrollState(),S.clearDocumentState()),mt&&S.clearState(),S.cloneDocument(),t(this,$).textContent=S.title,document.body.appendChild(t(this,$));const gt=Pt(St({},Vt),{document:S.document});E||gt.document.querySelectorAll("[data-morph-out]").forEach(n=>{n.classList.remove("out")}),M.dispatchEvent(document,"morphStart",{detail:gt});const Ot=Array.from(document.head.children),Ft=Array.from(S.document.head.children),Bt=p(this,m,_t).call(this,Ot,Ft),te=p(this,m,xt).call(this,Ot,Bt),Et=p(this,m,xt).call(this,Ft,Bt).filter(n=>!this.excludeHeadChild(n));Et.forEach((n,w)=>{n.tagName==="SCRIPT"&&(Et[w]=p(this,m,Mt).call(this,n))}),Et.forEach(n=>{document.head.appendChild(n)});const At=Et.filter(n=>{if(n.hasAttribute("data-no-waiting"))return!1;if(p(this,m,Nt).call(this,n))return!0});t(this,R).waitForHeadToLoad&&At.length&&(yield new Promise(n=>W(this,null,function*(){let w=0;try{for(var k=$t(At),ie,q,H;ie=!(q=yield k.next()).done;ie=!1){const vt=q.value;vt.onload=()=>{w++,w===At.length&&n()}}}catch(q){H=[q]}finally{try{ie&&(q=k.return)&&(yield q.call(k))}finally{if(H)throw H[0]}}}))),yield Gt.wait(10);const Wt=[];E||te.forEach(n=>{n.hasAttribute("data-permanent")||(p(this,m,Nt).call(this,n)?Wt.push(n):n.remove())});const ee=p(this,m,Tt).call(this,S.document.body);!t(this,R).morphInsideScrollContainer&&!d&&p(this,m,Ut).call(this,S.document),document.documentElement.setAttribute("data-current-pathname",c.pathname),document.documentElement.setAttribute("data-current-leaf",c.leaf),nt.changeHistory({action:i,pathname:c.pathname,searchParameters:c.parameters||(L?location.search:""),hash:c.hash}),t(this,$).remove(),r(this,K,t(this,f)),r(this,f,c);const kt=[];t(this,_).forEach((n,w)=>{const k=ee[w],ie=getComputedStyle(n).getPropertyValue("--morph-duration");let q=[],H=[];d?(d.forEach(u=>{const b=n.querySelector(u),D=k.querySelector(u);b&&D&&(H.push(b),q.push(D))}),H.forEach(u=>{u.parentElement&&kt.push(u.parentElement)})):(q.push(...k.childNodes),H.push(...n.childNodes),kt.push(n)),E||H.forEach(u=>{u instanceof HTMLElement&&(this.destroyOldLinks(u),u.classList.add("old"))}),q.forEach(u=>{u instanceof HTMLElement&&(this.findNewLinks(u),u.classList.add("new"))}),d?E?q.forEach((u,b)=>{H[b]instanceof HTMLElement&&H[b].append(...u.childNodes)}):q.forEach((u,b)=>{var D;(D=H[b].parentElement)==null||D.insertBefore(u,H[b])}):n.prepend(...q),setTimeout(()=>{E||H.forEach(u=>{u instanceof HTMLElement&&u.classList.add("old-idle")}),q.forEach(u=>{var b;u instanceof HTMLElement&&((b=u.parentElement)==null||b.style.setProperty("--new-content-height",u.offsetHeight+"px"),u.classList.add("new-idle"))})},0);const vt=Pt(St({},gt),{morphElement:n});M.dispatchEvent(document,"morphNewChildrenAdded",{detail:vt});const se=new Promise(u=>{setTimeout(()=>{E||H.forEach(b=>b.remove()),q.forEach(b=>{var D;b instanceof HTMLElement&&((D=b.parentElement)==null||D.style.removeProperty("--new-content-height"),b.classList.remove("new-idle","new"))}),E||M.dispatchEvent(document,"morphOldChildrenRemoved",{detail:vt}),u()},(parseFloat(ie)||0)*1e3+10)});t(this,F).push(se)}),this.isPopstateNavigation?document.documentElement.style.setProperty("--new-document-scroll-position",(this.scrollValue.top-S.scrollState.y)*1+"px"):document.documentElement.style.setProperty("--new-document-scroll-position",this.scrollValue.top+"px"),M.dispatchEvent(document,"morphBeforeNavigationScroll",{detail:S.scrollState}),c.hash?(S.clearScrollState(),p(this,m,qt).call(this,c.hash,{centerScroll:s,offsetScroll:h,behavior:v})):t(this,B)?S.restoreScrollPosition():at||S.renewScrollPosition(),yield Promise.all(t(this,F)),E||Wt.forEach(n=>n.remove()),r(this,F,[]),kt.forEach(n=>{n.querySelectorAll("script").forEach(k=>{k.replaceWith(p(this,m,Mt).call(this,k))})}),t(this,y).forEach(n=>{n.checkCurrent(t(this,f).path)}),M.dispatchEvent(document,"morphComplete",{detail:gt}),document.documentElement.style.removeProperty("--new-document-scroll-position"),window.dispatchEvent(new Event("resize"))}catch(G){console.error(G)}r(this,O,void 0)})}addLink(e){t(this,y).push(new Ht(e,this))}addLinks(e){e.forEach(i=>{this.addLink(i)})}removeLink(e){r(this,y,t(this,y).filter(i=>i.element===e?(i.destroy(),!1):!0))}destroyOldLinks(e){r(this,y,t(this,y).filter(i=>e.contains(i.element)?(i.destroy(),!1):!0))}findNewLinks(e){const i=[...e.querySelectorAll("a")].filter(t(this,dt));t(this,y).push(...i.map(s=>new Ht(s,this)))}findLinks(){const e=[...document.documentElement.querySelectorAll("a")].filter(t(this,dt));t(this,y).forEach(i=>i.destroy()),r(this,y,e.map(i=>new Ht(i,this)))}};R=new WeakMap,_=new WeakMap,y=new WeakMap,O=new WeakMap,f=new WeakMap,K=new WeakMap,F=new WeakMap,B=new WeakMap,C=new WeakMap,ht=new WeakMap,N=new WeakMap,$=new WeakMap,tt=new WeakMap,et=new WeakMap,ct=new WeakMap,it=new WeakMap,ut=new WeakMap,m=new WeakSet,Mt=function(e){const i=document.createElement("script");for(let s=0;s<e.attributes.length;s++){const h=e.attributes[s];i.setAttribute(h.name,h.value)}return e.hasAttribute("src")||(i.innerHTML=e.innerHTML),i},dt=new WeakMap,Lt=function(e){const i=this.normalizePath(e);let s=t(this,N).get(i.pathname);return s||(s=new Jt(this,i.pathname),t(this,N).set(i.pathname,s)),s},Tt=function(e){const i=[...e.querySelectorAll("[data-morph]")];return i.length?i:[e]},_t=function(e,i){return e.filter(s=>i.find(h=>h.outerHTML===s.outerHTML))},xt=function(e,i){return e.filter(s=>!i.find(h=>h.outerHTML===s.outerHTML))},Nt=function(e){return e.tagName==="SCRIPT"||e.tagName==="STYLE"||e.tagName==="LINK"&&e.getAttribute("rel")==="stylesheet"},Ut=function(e){var i,s;(i=t(this,C))==null||i.removeEventListener("scroll",t(this,st)),r(this,et,0),r(this,tt,0),r(this,C,t(this,R).scrollSelector&&e.querySelector(t(this,R).scrollSelector)||window),r(this,ht,t(this,C)===window),(s=t(this,C))==null||s.addEventListener("scroll",t(this,st)),t(this,st).call(this)},qt=function(e,i){const s=typeof e=="string"?document.getElementById(e):e;(typeof s=="number"||s)&&Gt.scrollToElement(s,{scrollElement:t(this,C),behavior:(i==null?void 0:i.behavior)||"instant",center:i==null?void 0:i.centerScroll,offset:i==null?void 0:i.offsetScroll})},yt=new WeakMap,st=new WeakMap,rt.instance=null;let Rt=rt;exports.Morph=Rt;
|
package/lib/morph/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
1
|
+
var se = Object.defineProperty, ae = Object.defineProperties;
|
|
2
|
+
var ne = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var Wt = Object.getOwnPropertySymbols;
|
|
4
|
+
var re = Object.prototype.hasOwnProperty, oe = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var Xt = (o, e) => (e = Symbol[o]) ? e : Symbol.for("Symbol." + o), Kt = (o) => {
|
|
6
6
|
throw TypeError(o);
|
|
7
7
|
};
|
|
8
|
-
var
|
|
8
|
+
var Yt = (o, e, i) => e in o ? se(o, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : o[e] = i, St = (o, e) => {
|
|
9
9
|
for (var i in e || (e = {}))
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
for (var i of
|
|
13
|
-
|
|
10
|
+
re.call(e, i) && Yt(o, i, e[i]);
|
|
11
|
+
if (Wt)
|
|
12
|
+
for (var i of Wt(e))
|
|
13
|
+
oe.call(e, i) && Yt(o, i, e[i]);
|
|
14
14
|
return o;
|
|
15
|
-
},
|
|
16
|
-
var
|
|
17
|
-
var t = (o, e, i) => (
|
|
15
|
+
}, kt = (o, e) => ae(o, ne(e));
|
|
16
|
+
var Pt = (o, e, i) => e.has(o) || Kt("Cannot " + i);
|
|
17
|
+
var t = (o, e, i) => (Pt(o, e, "read from private field"), i ? i.call(o) : e.get(o)), l = (o, e, i) => e.has(o) ? Kt("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(o) : e.set(o, i), r = (o, e, i, s) => (Pt(o, e, "write to private field"), s ? s.call(o, i) : e.set(o, i), i), p = (o, e, i) => (Pt(o, e, "access private method"), i);
|
|
18
18
|
var W = (o, e, i) => new Promise((s, h) => {
|
|
19
19
|
var S = (d) => {
|
|
20
20
|
try {
|
|
@@ -31,14 +31,14 @@ var W = (o, e, i) => new Promise((s, h) => {
|
|
|
31
31
|
}, b = (d) => d.done ? s(d.value) : Promise.resolve(d.value).then(S, g);
|
|
32
32
|
b((i = i.apply(o, e)).next());
|
|
33
33
|
});
|
|
34
|
-
var jt = (o, e, i) => (e = o[
|
|
35
|
-
import { i as
|
|
34
|
+
var jt = (o, e, i) => (e = o[Xt("asyncIterator")]) ? e.call(o) : (o = o[Xt("iterator")](), e = {}, i = (s, h) => (h = o[s]) && (e[s] = (S) => new Promise((g, b, d) => (S = h.call(o, S), d = S.done, Promise.resolve(S.value).then((E) => g({ value: E, done: d }), b)))), i("next"), i("return"), e);
|
|
35
|
+
import { i as Jt } from "../index-Bv9zgfdb.js";
|
|
36
36
|
import { d as T } from "../events-CsVF98U6.js";
|
|
37
|
-
import { w as
|
|
37
|
+
import { w as le, s as he } from "../scroll-DPkCFTxg.js";
|
|
38
38
|
import "construct-style-sheets-polyfill";
|
|
39
|
-
import { n as
|
|
40
|
-
import { cssValueParser as
|
|
41
|
-
class
|
|
39
|
+
import { n as ce, c as Ct, s as ue } from "../url-CFnGU6md.js";
|
|
40
|
+
import { cssValueParser as de } from "../css-value-parser/index.js";
|
|
41
|
+
class Qt extends HTMLElement {
|
|
42
42
|
connectedCallback() {
|
|
43
43
|
const e = {
|
|
44
44
|
"aria-live": "assertive",
|
|
@@ -49,15 +49,15 @@ class Jt extends HTMLElement {
|
|
|
49
49
|
this.setAttribute(i, s);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
|
|
53
|
-
var P, a, q, J,
|
|
54
|
-
class
|
|
52
|
+
Jt && !customElements.get("morph-announcer") && customElements.define("morph-announcer", Qt);
|
|
53
|
+
var P, a, q, J, vt, rt, Q;
|
|
54
|
+
class Ht {
|
|
55
55
|
constructor(e, i) {
|
|
56
56
|
l(this, J);
|
|
57
57
|
l(this, P);
|
|
58
58
|
l(this, a);
|
|
59
59
|
l(this, q);
|
|
60
|
-
l(this,
|
|
60
|
+
l(this, rt, (e) => {
|
|
61
61
|
var s;
|
|
62
62
|
if (e.preventDefault(), document.documentElement.classList.contains("click-disabled"))
|
|
63
63
|
return;
|
|
@@ -67,23 +67,25 @@ class Ct {
|
|
|
67
67
|
r(this, q, t(this, a).getAttribute("href") || "/");
|
|
68
68
|
const h = t(this, a).getAttribute(
|
|
69
69
|
"data-history-action"
|
|
70
|
-
) || "push", S = t(this, a).hasAttribute("data-center-scroll"), g = getComputedStyle(t(this, a)).getPropertyValue("--offset-scroll").trim(), b = g ?
|
|
70
|
+
) || "push", S = t(this, a).hasAttribute("data-center-scroll"), g = getComputedStyle(t(this, a)).getPropertyValue("--offset-scroll").trim(), b = g ? de.parse(g) : void 0, d = t(this, a).hasAttribute("data-revalidate") || t(this, a).hasAttribute("data-pagination-more-link") || t(this, a).hasAttribute("data-pagination-set-link"), E = t(this, a).hasAttribute(
|
|
71
71
|
"data-keep-search-parameters"
|
|
72
|
-
),
|
|
72
|
+
), dt = t(this, a).hasAttribute("data-keep-scroll-position") || t(this, a).hasAttribute("data-pagination-more-link");
|
|
73
|
+
console.log(dt);
|
|
74
|
+
const at = t(this, a).getAttribute(
|
|
73
75
|
"data-scroll-behaviour"
|
|
74
|
-
),
|
|
75
|
-
|
|
76
|
+
), mt = p(this, J, vt).call(this, t(this, a).getAttribute("data-pagination-set-link") || t(this, a).getAttribute("data-pagination-more-link"));
|
|
77
|
+
mt && (t(this, a).hasAttribute("data-pagination-set-link") ? t(this, P).links.forEach((U) => {
|
|
76
78
|
U.updatePagination(
|
|
77
79
|
parseInt(t(this, a).getAttribute("data-value") || "1"),
|
|
78
|
-
|
|
80
|
+
mt.selector
|
|
79
81
|
);
|
|
80
82
|
}) : t(this, a).hasAttribute("data-pagination-more-link") && t(this, P).links.forEach((U) => {
|
|
81
83
|
U.updatePagination(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
mt.currentPage + 1,
|
|
85
|
+
mt.selector
|
|
84
86
|
);
|
|
85
87
|
}));
|
|
86
|
-
const
|
|
88
|
+
const ft = ((s = t(this, a).getAttribute("data-submorph")) == null ? void 0 : s.split(",").map((U) => U.trim())) || t(this, a).hasAttribute("data-pagination-more-link") && [
|
|
87
89
|
t(this, a).getAttribute("data-pagination-more-link")
|
|
88
90
|
] || t(this, a).hasAttribute("data-pagination-set-link") && [
|
|
89
91
|
t(this, a).getAttribute("data-pagination-set-link")
|
|
@@ -94,10 +96,10 @@ class Ct {
|
|
|
94
96
|
offsetScroll: b,
|
|
95
97
|
revalidate: d,
|
|
96
98
|
keepSearchParameters: E,
|
|
97
|
-
submorph:
|
|
99
|
+
submorph: ft,
|
|
98
100
|
clearState: c,
|
|
99
|
-
keepScrollPosition:
|
|
100
|
-
scrollBehaviour:
|
|
101
|
+
keepScrollPosition: dt,
|
|
102
|
+
scrollBehaviour: at,
|
|
101
103
|
submorphAppend: t(this, a).hasAttribute("data-pagination-more-link")
|
|
102
104
|
});
|
|
103
105
|
}
|
|
@@ -106,8 +108,8 @@ class Ct {
|
|
|
106
108
|
const e = t(this, a).hasAttribute("data-revalidate");
|
|
107
109
|
t(this, P).prefetch(t(this, q), e), t(this, a).removeEventListener("pointerenter", t(this, Q));
|
|
108
110
|
});
|
|
109
|
-
r(this, P, i), r(this, a, e), t(this, a).addEventListener("click", t(this,
|
|
110
|
-
const s = p(this, J,
|
|
111
|
+
r(this, P, i), r(this, a, e), t(this, a).addEventListener("click", t(this, rt)), r(this, q, t(this, a).getAttribute("href") || "/"), this.checkCurrent(location.href.replace(location.origin, ""));
|
|
112
|
+
const s = p(this, J, vt).call(this, t(this, a).getAttribute("data-pagination-set-link") || t(this, a).getAttribute("data-pagination-more-link"));
|
|
111
113
|
s && this.updatePagination(
|
|
112
114
|
s.currentPage,
|
|
113
115
|
s.selector
|
|
@@ -122,7 +124,7 @@ class Ct {
|
|
|
122
124
|
t(this, a).hasAttribute("data-include") && i.pathname.includes(s.pathname) ? t(this, a).classList.add("current") : s.pathname === i.pathname ? t(this, a).classList.add("current") : (h = t(this, a).getAttribute("data-associated-paths")) != null && h.split(",").find((S) => i.pathname.includes(S)) ? t(this, a).classList.add("current") : t(this, a).classList.remove("current"), i.path === s.path ? t(this, a).classList.add("exact") : t(this, a).classList.remove("exact");
|
|
123
125
|
}
|
|
124
126
|
updatePagination(e, i) {
|
|
125
|
-
const s = p(this, J,
|
|
127
|
+
const s = p(this, J, vt).call(this, i);
|
|
126
128
|
if (s)
|
|
127
129
|
if (s.element.setAttribute(
|
|
128
130
|
"data-current-page",
|
|
@@ -143,10 +145,10 @@ class Ct {
|
|
|
143
145
|
else t(this, a).hasAttribute("data-pagination-set-link") && (t(this, a).getAttribute("data-value") === e.toString() ? t(this, a).classList.add("pagination-current") : t(this, a).classList.remove("pagination-current"));
|
|
144
146
|
}
|
|
145
147
|
destroy() {
|
|
146
|
-
t(this, a).removeEventListener("click", t(this,
|
|
148
|
+
t(this, a).removeEventListener("click", t(this, rt)), t(this, a).removeEventListener("pointerenter", t(this, Q)), t(this, a).classList.remove("current", "exact", "pagination-current");
|
|
147
149
|
}
|
|
148
150
|
}
|
|
149
|
-
P = new WeakMap(), a = new WeakMap(), q = new WeakMap(), J = new WeakSet(),
|
|
151
|
+
P = new WeakMap(), a = new WeakMap(), q = new WeakMap(), J = new WeakSet(), vt = function(e) {
|
|
150
152
|
if (!e)
|
|
151
153
|
return;
|
|
152
154
|
const i = document.querySelector(e);
|
|
@@ -163,10 +165,10 @@ P = new WeakMap(), a = new WeakMap(), q = new WeakMap(), J = new WeakSet(), gt =
|
|
|
163
165
|
selector: e
|
|
164
166
|
};
|
|
165
167
|
}
|
|
166
|
-
},
|
|
167
|
-
const
|
|
168
|
-
var M, X, A, x, Y, z, Z,
|
|
169
|
-
class
|
|
168
|
+
}, rt = new WeakMap(), Q = new WeakMap();
|
|
169
|
+
const me = new DOMParser();
|
|
170
|
+
var M, X, A, x, Y, z, Z, K, V, ot;
|
|
171
|
+
class $t {
|
|
170
172
|
constructor(e, i) {
|
|
171
173
|
l(this, M);
|
|
172
174
|
l(this, X);
|
|
@@ -175,9 +177,9 @@ class Kt {
|
|
|
175
177
|
l(this, Y, null);
|
|
176
178
|
l(this, z, null);
|
|
177
179
|
l(this, Z, null);
|
|
178
|
-
l(this,
|
|
180
|
+
l(this, K, null);
|
|
179
181
|
l(this, V, null);
|
|
180
|
-
l(this,
|
|
182
|
+
l(this, ot);
|
|
181
183
|
r(this, M, e), r(this, X, i);
|
|
182
184
|
}
|
|
183
185
|
get pathname() {
|
|
@@ -190,14 +192,14 @@ class Kt {
|
|
|
190
192
|
return t(this, z);
|
|
191
193
|
}
|
|
192
194
|
setHeaders(e) {
|
|
193
|
-
r(this,
|
|
195
|
+
r(this, ot, e);
|
|
194
196
|
}
|
|
195
197
|
setInitialDocument(e) {
|
|
196
198
|
r(this, x, e.cloneNode(!0));
|
|
197
199
|
}
|
|
198
200
|
abort() {
|
|
199
201
|
var e;
|
|
200
|
-
return (e = t(this,
|
|
202
|
+
return (e = t(this, K)) == null ? void 0 : e.abort(
|
|
201
203
|
`[${t(this, X)}] page loading cancelled`
|
|
202
204
|
);
|
|
203
205
|
}
|
|
@@ -211,20 +213,20 @@ class Kt {
|
|
|
211
213
|
}
|
|
212
214
|
return r(this, V, new Promise((S) => W(this, null, function* () {
|
|
213
215
|
try {
|
|
214
|
-
r(this,
|
|
216
|
+
r(this, K, new AbortController());
|
|
215
217
|
const b = yield (yield fetch(e, {
|
|
216
|
-
signal: t(this,
|
|
217
|
-
headers:
|
|
218
|
+
signal: t(this, K).signal,
|
|
219
|
+
headers: St({
|
|
218
220
|
"X-MORPH": "true",
|
|
219
221
|
"X-MORPH-CURRENT-PATH": encodeURIComponent(i),
|
|
220
222
|
"X-MORPH-NEW-PATH": encodeURIComponent(e)
|
|
221
|
-
}, t(this,
|
|
222
|
-
})).text(), d =
|
|
223
|
+
}, t(this, ot))
|
|
224
|
+
})).text(), d = me.parseFromString(b, "text/html");
|
|
223
225
|
this.setInitialDocument(d);
|
|
224
226
|
} catch (g) {
|
|
225
227
|
console.warn(g);
|
|
226
228
|
} finally {
|
|
227
|
-
r(this,
|
|
229
|
+
r(this, K, null), r(this, V, null), S();
|
|
228
230
|
}
|
|
229
231
|
}))), t(this, V);
|
|
230
232
|
});
|
|
@@ -280,9 +282,9 @@ class Kt {
|
|
|
280
282
|
return r(this, Z, null), e;
|
|
281
283
|
}
|
|
282
284
|
}
|
|
283
|
-
M = new WeakMap(), X = new WeakMap(), A = new WeakMap(), x = new WeakMap(), Y = new WeakMap(), z = new WeakMap(), Z = new WeakMap(),
|
|
284
|
-
var R, _, y, F, f,
|
|
285
|
-
const
|
|
285
|
+
M = new WeakMap(), X = new WeakMap(), A = new WeakMap(), x = new WeakMap(), Y = new WeakMap(), z = new WeakMap(), Z = new WeakMap(), K = new WeakMap(), V = new WeakMap(), ot = new WeakMap();
|
|
286
|
+
var R, _, y, F, f, j, O, B, C, lt, N, $, tt, et, ht, it, ct, m, Rt, ut, Lt, Tt, Zt, Mt, xt, Nt, Ut, bt, st;
|
|
287
|
+
const nt = class nt {
|
|
286
288
|
constructor(e) {
|
|
287
289
|
l(this, m);
|
|
288
290
|
l(this, R, null);
|
|
@@ -290,26 +292,28 @@ const at = class at {
|
|
|
290
292
|
l(this, y, []);
|
|
291
293
|
l(this, F);
|
|
292
294
|
l(this, f, null);
|
|
293
|
-
l(this,
|
|
295
|
+
l(this, j);
|
|
294
296
|
l(this, O, []);
|
|
295
297
|
l(this, B, !1);
|
|
296
298
|
l(this, C, null);
|
|
297
|
-
l(this,
|
|
299
|
+
l(this, lt, !1);
|
|
298
300
|
l(this, N, /* @__PURE__ */ new Map());
|
|
299
301
|
l(this, $, null);
|
|
300
302
|
l(this, tt, 0);
|
|
301
303
|
l(this, et, 0);
|
|
302
|
-
l(this,
|
|
304
|
+
l(this, ht);
|
|
303
305
|
l(this, it);
|
|
304
|
-
l(this,
|
|
306
|
+
l(this, ct);
|
|
307
|
+
l(this, ut, (e) => {
|
|
305
308
|
var i;
|
|
306
309
|
return ((i = e.getAttribute("href")) == null ? void 0 : i.startsWith("/")) && !e.hasAttribute("download") && !e.hasAttribute("data-morph-skip") && !e.closest("[data-morph-skip]") && e.getAttribute("target") !== "_blank";
|
|
307
310
|
});
|
|
308
|
-
l(this,
|
|
311
|
+
l(this, bt, (e) => W(this, null, function* () {
|
|
309
312
|
e.preventDefault(), r(this, B, !0), yield this.navigate(location.href.replace(location.origin, ""), {
|
|
310
313
|
historyAction: "none",
|
|
311
|
-
submorph: t(this, it) ? void 0 : t(this,
|
|
312
|
-
revalidate: t(this, it)
|
|
314
|
+
submorph: t(this, it) ? void 0 : t(this, ht),
|
|
315
|
+
revalidate: t(this, it),
|
|
316
|
+
keepScrollPosition: t(this, ct)
|
|
313
317
|
}), r(this, B, !1);
|
|
314
318
|
}));
|
|
315
319
|
l(this, st, () => {
|
|
@@ -333,38 +337,38 @@ const at = class at {
|
|
|
333
337
|
}
|
|
334
338
|
});
|
|
335
339
|
});
|
|
336
|
-
if (
|
|
337
|
-
|
|
338
|
-
base:
|
|
340
|
+
if (Jt && !nt.instance) {
|
|
341
|
+
nt.instance = this, r(this, R, {
|
|
342
|
+
base: ce(e == null ? void 0 : e.base),
|
|
339
343
|
waitForHeadToLoad: (e == null ? void 0 : e.waitForHeadToLoad) !== !1,
|
|
340
344
|
trailingSlash: (e == null ? void 0 : e.trailingSlash) || !1,
|
|
341
345
|
scrollSelector: e == null ? void 0 : e.scrollSelector,
|
|
342
346
|
morphInsideScrollContainer: (e == null ? void 0 : e.morphInsideScrollContainer) || !1
|
|
343
|
-
}), r(this, _, p(this, m,
|
|
347
|
+
}), r(this, _, p(this, m, Tt).call(this, document.body));
|
|
344
348
|
const i = this.normalizePath(
|
|
345
349
|
location.pathname + location.search + location.hash
|
|
346
350
|
);
|
|
347
351
|
r(this, f, i);
|
|
348
|
-
const s = new
|
|
352
|
+
const s = new $t(this, t(this, f).pathname);
|
|
349
353
|
s.setInitialDocument(document), t(this, N).set(t(this, f).pathname, s), document.documentElement.setAttribute(
|
|
350
354
|
"data-current-pathname",
|
|
351
355
|
t(this, f).pathname
|
|
352
356
|
), document.documentElement.setAttribute(
|
|
353
357
|
"data-current-leaf",
|
|
354
358
|
i.leaf
|
|
355
|
-
), this.findLinks(), history.scrollRestoration = "manual", addEventListener("popstate", t(this,
|
|
359
|
+
), this.findLinks(), history.scrollRestoration = "manual", addEventListener("popstate", t(this, bt)), Ct({
|
|
356
360
|
action: "replace",
|
|
357
361
|
pathname: i.pathname,
|
|
358
362
|
searchParameters: i.parameters,
|
|
359
363
|
hash: i.hash
|
|
360
|
-
}), r(this, $, new
|
|
364
|
+
}), r(this, $, new Qt()), p(this, m, Nt).call(this, document);
|
|
361
365
|
}
|
|
362
366
|
}
|
|
363
367
|
get currentURL() {
|
|
364
368
|
return t(this, f);
|
|
365
369
|
}
|
|
366
370
|
get previousURL() {
|
|
367
|
-
return t(this,
|
|
371
|
+
return t(this, j);
|
|
368
372
|
}
|
|
369
373
|
get links() {
|
|
370
374
|
return t(this, y);
|
|
@@ -377,7 +381,7 @@ const at = class at {
|
|
|
377
381
|
}
|
|
378
382
|
get scrollValue() {
|
|
379
383
|
let e = 0, i = 0;
|
|
380
|
-
return t(this,
|
|
384
|
+
return t(this, lt) ? (e = window.scrollY, i = window.scrollX) : (e = t(this, C).scrollTop, i = t(this, C).scrollLeft), { top: e, left: i };
|
|
381
385
|
}
|
|
382
386
|
saveState(e) {
|
|
383
387
|
const i = t(this, N).get(t(this, f).path);
|
|
@@ -388,7 +392,7 @@ const at = class at {
|
|
|
388
392
|
return e == null ? void 0 : e.clearState();
|
|
389
393
|
}
|
|
390
394
|
normalizePath(e) {
|
|
391
|
-
return
|
|
395
|
+
return ue(e, {
|
|
392
396
|
base: t(this, R).base,
|
|
393
397
|
trailingSlash: t(this, R).trailingSlash
|
|
394
398
|
});
|
|
@@ -399,7 +403,7 @@ const at = class at {
|
|
|
399
403
|
if (t(this, O).length)
|
|
400
404
|
return;
|
|
401
405
|
e = ((h = this.pathnameModifier) == null ? void 0 : h.call(this, e)) || e;
|
|
402
|
-
const s = p(this, m,
|
|
406
|
+
const s = p(this, m, Lt).call(this, e);
|
|
403
407
|
s == null || s.fetch(e, t(this, f).path, i);
|
|
404
408
|
});
|
|
405
409
|
}
|
|
@@ -408,7 +412,7 @@ const at = class at {
|
|
|
408
412
|
}
|
|
409
413
|
setHeaders(e) {
|
|
410
414
|
}
|
|
411
|
-
navigate(
|
|
415
|
+
navigate(mt) {
|
|
412
416
|
return W(this, arguments, function* (e, {
|
|
413
417
|
historyAction: i = "push",
|
|
414
418
|
centerScroll: s,
|
|
@@ -418,32 +422,32 @@ const at = class at {
|
|
|
418
422
|
keepSearchParameters: b,
|
|
419
423
|
submorph: d,
|
|
420
424
|
submorphAppend: E,
|
|
421
|
-
clearState:
|
|
422
|
-
keepScrollPosition:
|
|
425
|
+
clearState: dt,
|
|
426
|
+
keepScrollPosition: at
|
|
423
427
|
} = {}) {
|
|
424
|
-
var U,
|
|
428
|
+
var U, Dt, It, qt;
|
|
425
429
|
if (t(this, O).length)
|
|
426
430
|
return;
|
|
427
|
-
r(this,
|
|
428
|
-
const
|
|
431
|
+
r(this, ht, d), r(this, it, g), r(this, ct, at);
|
|
432
|
+
const ft = ((U = this.pathnameModifier) == null ? void 0 : U.call(this, e)) || e, c = this.normalizePath(ft);
|
|
429
433
|
if (t(this, y).forEach((G) => {
|
|
430
434
|
G.checkCurrent(c.path);
|
|
431
|
-
}), !g && (((
|
|
432
|
-
p(this, m,
|
|
435
|
+
}), !g && (((Dt = t(this, F)) == null ? void 0 : Dt.pathname) === c.pathname || t(this, f).pathname === c.pathname)) {
|
|
436
|
+
at || p(this, m, Ut).call(this, c.hash || 0, {
|
|
433
437
|
centerScroll: s,
|
|
434
438
|
offsetScroll: h,
|
|
435
439
|
behavior: "smooth"
|
|
436
440
|
}), T(document, "morphSamePath", {
|
|
437
441
|
custom: !0
|
|
438
|
-
}), ((
|
|
439
|
-
action: ((
|
|
442
|
+
}), ((It = t(this, f)) == null ? void 0 : It.parameters) !== c.parameters && (r(this, j, t(this, f)), r(this, f, c), Ct({
|
|
443
|
+
action: ((qt = t(this, f)) == null ? void 0 : qt.hash) !== c.hash ? "replace" : i,
|
|
440
444
|
pathname: c.pathname,
|
|
441
445
|
searchParameters: c.parameters,
|
|
442
446
|
hash: c.hash
|
|
443
447
|
}), T(document, "morphURLParametersChange", {
|
|
444
448
|
detail: {
|
|
445
449
|
newURL: t(this, f),
|
|
446
|
-
previousURL: t(this,
|
|
450
|
+
previousURL: t(this, j)
|
|
447
451
|
}
|
|
448
452
|
}));
|
|
449
453
|
return;
|
|
@@ -471,7 +475,7 @@ const at = class at {
|
|
|
471
475
|
});
|
|
472
476
|
return;
|
|
473
477
|
}
|
|
474
|
-
const
|
|
478
|
+
const zt = {
|
|
475
479
|
url: c,
|
|
476
480
|
submorph: d
|
|
477
481
|
};
|
|
@@ -483,85 +487,85 @@ const at = class at {
|
|
|
483
487
|
var w, k;
|
|
484
488
|
(w = n.firstElementChild) == null || w.classList.add("out"), (k = n.firstElementChild) == null || k.setAttribute("data-morph-out", "");
|
|
485
489
|
}), T(document, "morphNavigation", {
|
|
486
|
-
detail:
|
|
490
|
+
detail: zt
|
|
487
491
|
});
|
|
488
|
-
const
|
|
492
|
+
const yt = p(this, m, Lt).call(this, t(this, f).pathname), v = p(this, m, Lt).call(this, c.pathname);
|
|
489
493
|
if (t(this, N).forEach((n) => {
|
|
490
494
|
n.pathname !== c.pathname && n.abort();
|
|
491
|
-
}), yield v == null ? void 0 : v.fetch(
|
|
495
|
+
}), yield v == null ? void 0 : v.fetch(ft, t(this, f).path, g), t(this, F).pathname !== c.pathname) {
|
|
492
496
|
t(this, y).forEach((n) => {
|
|
493
497
|
n.checkCurrent(t(this, f).path);
|
|
494
498
|
});
|
|
495
499
|
return;
|
|
496
500
|
}
|
|
497
|
-
|
|
498
|
-
const
|
|
501
|
+
yt.clearState(), yt.saveScrollState(), yt.saveDocumentState(), (!t(this, B) || g) && (v.clearScrollState(), v.clearDocumentState()), dt && v.clearState(), v.cloneDocument(), t(this, $).textContent = v.title, document.body.appendChild(t(this, $));
|
|
502
|
+
const pt = kt(St({}, zt), {
|
|
499
503
|
document: v.document
|
|
500
504
|
});
|
|
501
|
-
E ||
|
|
505
|
+
E || pt.document.querySelectorAll("[data-morph-out]").forEach((n) => {
|
|
502
506
|
n.classList.remove("out");
|
|
503
507
|
}), T(document, "morphStart", {
|
|
504
|
-
detail:
|
|
508
|
+
detail: pt
|
|
505
509
|
});
|
|
506
|
-
const
|
|
507
|
-
|
|
508
|
-
n.tagName === "SCRIPT" && (
|
|
509
|
-
}),
|
|
510
|
+
const Vt = Array.from(document.head.children), Ft = Array.from(v.document.head.children), Ot = p(this, m, Zt).call(this, Vt, Ft), _t = p(this, m, Mt).call(this, Vt, Ot), gt = p(this, m, Mt).call(this, Ft, Ot).filter((n) => !this.excludeHeadChild(n));
|
|
511
|
+
gt.forEach((n, w) => {
|
|
512
|
+
n.tagName === "SCRIPT" && (gt[w] = p(this, m, Rt).call(this, n));
|
|
513
|
+
}), gt.forEach((n) => {
|
|
510
514
|
document.head.appendChild(n);
|
|
511
515
|
});
|
|
512
|
-
const
|
|
516
|
+
const wt = gt.filter((n) => {
|
|
513
517
|
if (n.hasAttribute("data-no-waiting"))
|
|
514
518
|
return !1;
|
|
515
|
-
if (p(this, m,
|
|
519
|
+
if (p(this, m, xt).call(this, n))
|
|
516
520
|
return !0;
|
|
517
521
|
});
|
|
518
|
-
t(this, R).waitForHeadToLoad &&
|
|
522
|
+
t(this, R).waitForHeadToLoad && wt.length && (yield new Promise((n) => W(this, null, function* () {
|
|
519
523
|
let w = 0;
|
|
520
524
|
try {
|
|
521
|
-
for (var k = jt(
|
|
522
|
-
const
|
|
523
|
-
|
|
524
|
-
w++, w ===
|
|
525
|
+
for (var k = jt(wt), ee, D, H; ee = !(D = yield k.next()).done; ee = !1) {
|
|
526
|
+
const Et = D.value;
|
|
527
|
+
Et.onload = () => {
|
|
528
|
+
w++, w === wt.length && n();
|
|
525
529
|
};
|
|
526
530
|
}
|
|
527
531
|
} catch (D) {
|
|
528
532
|
H = [D];
|
|
529
533
|
} finally {
|
|
530
534
|
try {
|
|
531
|
-
|
|
535
|
+
ee && (D = k.return) && (yield D.call(k));
|
|
532
536
|
} finally {
|
|
533
537
|
if (H)
|
|
534
538
|
throw H[0];
|
|
535
539
|
}
|
|
536
540
|
}
|
|
537
|
-
}))), yield
|
|
538
|
-
const
|
|
539
|
-
E ||
|
|
540
|
-
n.hasAttribute("data-permanent") || (p(this, m,
|
|
541
|
+
}))), yield le(10);
|
|
542
|
+
const Bt = [];
|
|
543
|
+
E || _t.forEach((n) => {
|
|
544
|
+
n.hasAttribute("data-permanent") || (p(this, m, xt).call(this, n) ? Bt.push(n) : n.remove());
|
|
541
545
|
});
|
|
542
|
-
const
|
|
543
|
-
!t(this, R).morphInsideScrollContainer && !d && p(this, m,
|
|
546
|
+
const te = p(this, m, Tt).call(this, v.document.body);
|
|
547
|
+
!t(this, R).morphInsideScrollContainer && !d && p(this, m, Nt).call(this, v.document), document.documentElement.setAttribute(
|
|
544
548
|
"data-current-pathname",
|
|
545
549
|
c.pathname
|
|
546
550
|
), document.documentElement.setAttribute(
|
|
547
551
|
"data-current-leaf",
|
|
548
552
|
c.leaf
|
|
549
|
-
),
|
|
553
|
+
), Ct({
|
|
550
554
|
action: i,
|
|
551
555
|
pathname: c.pathname,
|
|
552
556
|
searchParameters: c.parameters || (b ? location.search : ""),
|
|
553
557
|
hash: c.hash
|
|
554
|
-
}), t(this, $).remove(), r(this,
|
|
555
|
-
const
|
|
558
|
+
}), t(this, $).remove(), r(this, j, t(this, f)), r(this, f, c);
|
|
559
|
+
const At = [];
|
|
556
560
|
t(this, _).forEach((n, w) => {
|
|
557
|
-
const k =
|
|
561
|
+
const k = te[w], ee = getComputedStyle(n).getPropertyValue("--morph-duration");
|
|
558
562
|
let D = [], H = [];
|
|
559
563
|
d ? (d.forEach((u) => {
|
|
560
564
|
const L = n.querySelector(u), I = k.querySelector(u);
|
|
561
565
|
L && I && (H.push(L), D.push(I));
|
|
562
566
|
}), H.forEach((u) => {
|
|
563
|
-
u.parentElement &&
|
|
564
|
-
})) : (D.push(...k.childNodes), H.push(...n.childNodes),
|
|
567
|
+
u.parentElement && At.push(u.parentElement);
|
|
568
|
+
})) : (D.push(...k.childNodes), H.push(...n.childNodes), At.push(n)), E || H.forEach((u) => {
|
|
565
569
|
u instanceof HTMLElement && (this.destroyOldLinks(u), u.classList.add("old"));
|
|
566
570
|
}), D.forEach((u) => {
|
|
567
571
|
u instanceof HTMLElement && (this.findNewLinks(u), u.classList.add("new"));
|
|
@@ -584,13 +588,13 @@ const at = class at {
|
|
|
584
588
|
), u.classList.add("new-idle"));
|
|
585
589
|
});
|
|
586
590
|
}, 0);
|
|
587
|
-
const
|
|
591
|
+
const Et = kt(St({}, pt), {
|
|
588
592
|
morphElement: n
|
|
589
593
|
});
|
|
590
594
|
T(document, "morphNewChildrenAdded", {
|
|
591
|
-
detail:
|
|
595
|
+
detail: Et
|
|
592
596
|
});
|
|
593
|
-
const
|
|
597
|
+
const ie = new Promise((u) => {
|
|
594
598
|
setTimeout(() => {
|
|
595
599
|
E || H.forEach((L) => L.remove()), D.forEach((L) => {
|
|
596
600
|
var I;
|
|
@@ -598,11 +602,11 @@ const at = class at {
|
|
|
598
602
|
"--new-content-height"
|
|
599
603
|
), L.classList.remove("new-idle", "new"));
|
|
600
604
|
}), E || T(document, "morphOldChildrenRemoved", {
|
|
601
|
-
detail:
|
|
605
|
+
detail: Et
|
|
602
606
|
}), u();
|
|
603
|
-
}, (parseFloat(
|
|
607
|
+
}, (parseFloat(ee) || 0) * 1e3 + 10);
|
|
604
608
|
});
|
|
605
|
-
t(this, O).push(
|
|
609
|
+
t(this, O).push(ie);
|
|
606
610
|
}), this.isPopstateNavigation ? document.documentElement.style.setProperty(
|
|
607
611
|
"--new-document-scroll-position",
|
|
608
612
|
(this.scrollValue.top - v.scrollState.y) * 1 + "px"
|
|
@@ -611,18 +615,18 @@ const at = class at {
|
|
|
611
615
|
this.scrollValue.top + "px"
|
|
612
616
|
), T(document, "morphBeforeNavigationScroll", {
|
|
613
617
|
detail: v.scrollState
|
|
614
|
-
}), c.hash ? (v.clearScrollState(), p(this, m,
|
|
618
|
+
}), c.hash ? (v.clearScrollState(), p(this, m, Ut).call(this, c.hash, {
|
|
615
619
|
centerScroll: s,
|
|
616
620
|
offsetScroll: h,
|
|
617
621
|
behavior: S
|
|
618
|
-
})) : t(this, B) ? v.restoreScrollPosition() :
|
|
622
|
+
})) : t(this, B) ? v.restoreScrollPosition() : at || v.renewScrollPosition(), yield Promise.all(t(this, O)), E || Bt.forEach((n) => n.remove()), r(this, O, []), At.forEach((n) => {
|
|
619
623
|
n.querySelectorAll("script").forEach((k) => {
|
|
620
|
-
k.replaceWith(p(this, m,
|
|
624
|
+
k.replaceWith(p(this, m, Rt).call(this, k));
|
|
621
625
|
});
|
|
622
626
|
}), t(this, y).forEach((n) => {
|
|
623
627
|
n.checkCurrent(t(this, f).path);
|
|
624
628
|
}), T(document, "morphComplete", {
|
|
625
|
-
detail:
|
|
629
|
+
detail: pt
|
|
626
630
|
}), document.documentElement.style.removeProperty(
|
|
627
631
|
"--new-document-scroll-position"
|
|
628
632
|
), window.dispatchEvent(new Event("resize"));
|
|
@@ -633,7 +637,7 @@ const at = class at {
|
|
|
633
637
|
});
|
|
634
638
|
}
|
|
635
639
|
addLink(e) {
|
|
636
|
-
t(this, y).push(new
|
|
640
|
+
t(this, y).push(new Ht(e, this));
|
|
637
641
|
}
|
|
638
642
|
addLinks(e) {
|
|
639
643
|
e.forEach((i) => {
|
|
@@ -648,63 +652,63 @@ const at = class at {
|
|
|
648
652
|
}
|
|
649
653
|
findNewLinks(e) {
|
|
650
654
|
const i = [...e.querySelectorAll("a")].filter(
|
|
651
|
-
t(this,
|
|
655
|
+
t(this, ut)
|
|
652
656
|
);
|
|
653
657
|
t(this, y).push(
|
|
654
|
-
...i.map((s) => new
|
|
658
|
+
...i.map((s) => new Ht(s, this))
|
|
655
659
|
);
|
|
656
660
|
}
|
|
657
661
|
findLinks() {
|
|
658
662
|
const e = [
|
|
659
663
|
...document.documentElement.querySelectorAll("a")
|
|
660
|
-
].filter(t(this,
|
|
661
|
-
t(this, y).forEach((i) => i.destroy()), r(this, y, e.map((i) => new
|
|
664
|
+
].filter(t(this, ut));
|
|
665
|
+
t(this, y).forEach((i) => i.destroy()), r(this, y, e.map((i) => new Ht(i, this)));
|
|
662
666
|
}
|
|
663
667
|
};
|
|
664
|
-
R = new WeakMap(), _ = new WeakMap(), y = new WeakMap(), F = new WeakMap(), f = new WeakMap(),
|
|
668
|
+
R = new WeakMap(), _ = new WeakMap(), y = new WeakMap(), F = new WeakMap(), f = new WeakMap(), j = new WeakMap(), O = new WeakMap(), B = new WeakMap(), C = new WeakMap(), lt = new WeakMap(), N = new WeakMap(), $ = new WeakMap(), tt = new WeakMap(), et = new WeakMap(), ht = new WeakMap(), it = new WeakMap(), ct = new WeakMap(), m = new WeakSet(), Rt = function(e) {
|
|
665
669
|
const i = document.createElement("script");
|
|
666
670
|
for (let s = 0; s < e.attributes.length; s++) {
|
|
667
671
|
const h = e.attributes[s];
|
|
668
672
|
i.setAttribute(h.name, h.value);
|
|
669
673
|
}
|
|
670
674
|
return e.hasAttribute("src") || (i.innerHTML = e.innerHTML), i;
|
|
671
|
-
},
|
|
675
|
+
}, ut = new WeakMap(), Lt = function(e) {
|
|
672
676
|
const i = this.normalizePath(e);
|
|
673
677
|
let s = t(this, N).get(i.pathname);
|
|
674
|
-
return s || (s = new
|
|
675
|
-
},
|
|
678
|
+
return s || (s = new $t(this, i.pathname), t(this, N).set(i.pathname, s)), s;
|
|
679
|
+
}, Tt = function(e) {
|
|
676
680
|
const i = [...e.querySelectorAll("[data-morph]")];
|
|
677
681
|
return i.length ? i : [e];
|
|
678
|
-
},
|
|
682
|
+
}, Zt = function(e, i) {
|
|
679
683
|
return e.filter(
|
|
680
684
|
(s) => i.find(
|
|
681
685
|
(h) => h.outerHTML === s.outerHTML
|
|
682
686
|
)
|
|
683
687
|
);
|
|
684
|
-
},
|
|
688
|
+
}, Mt = function(e, i) {
|
|
685
689
|
return e.filter(
|
|
686
690
|
(s) => !i.find(
|
|
687
691
|
(h) => h.outerHTML === s.outerHTML
|
|
688
692
|
)
|
|
689
693
|
);
|
|
690
|
-
}, Mt = function(e) {
|
|
691
|
-
return e.tagName === "SCRIPT" || e.tagName === "STYLE" || e.tagName === "LINK" && e.getAttribute("rel") === "stylesheet";
|
|
692
694
|
}, xt = function(e) {
|
|
695
|
+
return e.tagName === "SCRIPT" || e.tagName === "STYLE" || e.tagName === "LINK" && e.getAttribute("rel") === "stylesheet";
|
|
696
|
+
}, Nt = function(e) {
|
|
693
697
|
var i, s;
|
|
694
698
|
(i = t(this, C)) == null || i.removeEventListener(
|
|
695
699
|
"scroll",
|
|
696
700
|
t(this, st)
|
|
697
|
-
), r(this, et, 0), r(this, tt, 0), r(this, C, t(this, R).scrollSelector && e.querySelector(t(this, R).scrollSelector) || window), r(this,
|
|
698
|
-
},
|
|
701
|
+
), r(this, et, 0), r(this, tt, 0), r(this, C, t(this, R).scrollSelector && e.querySelector(t(this, R).scrollSelector) || window), r(this, lt, t(this, C) === window), (s = t(this, C)) == null || s.addEventListener("scroll", t(this, st)), t(this, st).call(this);
|
|
702
|
+
}, Ut = function(e, i) {
|
|
699
703
|
const s = typeof e == "string" ? document.getElementById(e) : e;
|
|
700
|
-
(typeof s == "number" || s) &&
|
|
704
|
+
(typeof s == "number" || s) && he(s, {
|
|
701
705
|
scrollElement: t(this, C),
|
|
702
706
|
behavior: (i == null ? void 0 : i.behavior) || "instant",
|
|
703
707
|
center: i == null ? void 0 : i.centerScroll,
|
|
704
708
|
offset: i == null ? void 0 : i.offsetScroll
|
|
705
709
|
});
|
|
706
|
-
},
|
|
707
|
-
let
|
|
710
|
+
}, bt = new WeakMap(), st = new WeakMap(), nt.instance = null;
|
|
711
|
+
let Gt = nt;
|
|
708
712
|
export {
|
|
709
|
-
|
|
713
|
+
Gt as Morph
|
|
710
714
|
};
|