aptechka 0.40.6 → 0.40.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- "use strict";var de=a=>{throw TypeError(a)};var oe=(a,n,t)=>n.has(a)||de("Cannot "+t);var e=(a,n,t)=>(oe(a,n,"read from private field"),t?t.call(a):n.get(a)),s=(a,n,t)=>n.has(a)?de("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(a):n.set(a,t),r=(a,n,t,i)=>(oe(a,n,"write to private field"),i?i.call(a,t):n.set(a,t),t),q=(a,n,t)=>(oe(a,n,"access private method"),t);var me=(a,n,t)=>new Promise((i,o)=>{var E=m=>{try{v(t.next(m))}catch(l){o(l)}},A=m=>{try{v(t.throw(m))}catch(l){o(l)}},v=m=>m.done?i(m.value):Promise.resolve(m.value).then(E,A);v((t=t.apply(a,n)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const we=require("../source/index.cjs"),Ce=require("../class-linked-status/index.cjs"),Ee=require("../browser-CpzFX2xg.cjs"),V=require("../events-KVanG9sR.cjs"),ye=require("../string-DhgS_iFl.cjs"),he=require("../loading/index.cjs"),Re=require("../device/index.cjs"),J=require("../css-property/index.cjs"),fe=require("../element-resizer/vanilla/index.cjs"),pe=require("../canvas-CU5Xjahf.cjs"),Ie=require("../canvas/index.cjs"),ce=require("../ticker/vanilla/index.cjs");let Ae=0;var d,h,y,S,f,Y,k,c,B,U,L,N,O,Q,ee,j,te;class $ extends HTMLElement{constructor(t){super();s(this,O);s(this,d,null);s(this,h,null);s(this,y,!1);s(this,S,!1);s(this,f,!1);s(this,Y,"");s(this,k,"");s(this,c,new Ce.ClassLinkedStatus(this,{loading:!1,loaded:!1,error:!1,clear:!1}));s(this,B,null);s(this,U);s(this,L,null);s(this,N);s(this,ee,t=>{const i=t[0];e(this,f)&&(!e(this,S)||this.hasAttribute("reload-source"))&&i.isIntersecting&&this.triggerLazyLoad(),i.isIntersecting?V.dispatchEvent(this,"sourceCapture",{custom:!0}):(this.hasAttribute("reload-source")&&q(this,O,Q).call(this,void 0),V.dispatchEvent(this,"sourceRelease",{custom:!0}))});s(this,j,()=>{e(this,c).set("loaded",!0),e(this,c).set("error",!1),e(this,c).set("loading",!1),!e(this,f)&&!e(this,y)&&he.loading.complete(e(this,k)),V.dispatchEvent(this,"sourceLoaded",{custom:!0});const t=getComputedStyle(this).getPropertyValue("--clear-duration");t?r(this,U,setTimeout(()=>{e(this,c).set("clear",!0)},parseFloat(t)*1e3)):e(this,c).set("clear",!0),r(this,y,!0)});s(this,te,t=>{e(this,c).set("loaded",!1),e(this,c).set("error",!0),e(this,c).set("loading",!1),!e(this,f)&&!e(this,y)&&he.loading.error(e(this,k)),V.dispatchEvent(this,"sourceError",{custom:!0}),r(this,y,!0)});r(this,N,t==null?void 0:t.sourceSetOptions),Ee.isBrowser&&window.IntersectionObserver&&r(this,B,new IntersectionObserver(e(this,ee)))}get consumerElement(){return e(this,h)}get sourceManager(){return e(this,d)}get status(){return e(this,c)}get isLazy(){return e(this,f)}get currentURL(){return e(this,L)}get isFirstLoadHappened(){return e(this,y)}triggerLazyLoad(){!e(this,S)&&e(this,d).current&&e(this,d).current!==e(this,d).previous&&(r(this,S,!0),q(this,O,Q).call(this,e(this,d).current))}connectedCallback(){r(this,Y,`source-consumer-${++Ae}`);const t=this.getAttribute("srcset");if(!t)return;const i=this.hasAttribute("notify")?this.closest(this.getAttribute("notify")):null;i&&e(this,c).addElement(i),r(this,h,this.createConsumer()),e(this,h).style.cssText=`
1
+ "use strict";var de=a=>{throw TypeError(a)};var oe=(a,n,t)=>n.has(a)||de("Cannot "+t);var e=(a,n,t)=>(oe(a,n,"read from private field"),t?t.call(a):n.get(a)),s=(a,n,t)=>n.has(a)?de("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(a):n.set(a,t),r=(a,n,t,i)=>(oe(a,n,"write to private field"),i?i.call(a,t):n.set(a,t),t),q=(a,n,t)=>(oe(a,n,"access private method"),t);var me=(a,n,t)=>new Promise((i,h)=>{var E=m=>{try{v(t.next(m))}catch(l){h(l)}},A=m=>{try{v(t.throw(m))}catch(l){h(l)}},v=m=>m.done?i(m.value):Promise.resolve(m.value).then(E,A);v((t=t.apply(a,n)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const we=require("../source/index.cjs"),Ce=require("../class-linked-status/index.cjs"),Ee=require("../browser-CpzFX2xg.cjs"),V=require("../events-KVanG9sR.cjs"),ye=require("../string-DhgS_iFl.cjs"),he=require("../loading/index.cjs"),Re=require("../device/index.cjs"),J=require("../css-property/index.cjs"),fe=require("../element-resizer/vanilla/index.cjs"),pe=require("../canvas-CU5Xjahf.cjs"),Ie=require("../canvas/index.cjs"),ce=require("../ticker/vanilla/index.cjs");let Ae=0;var d,o,y,S,f,Y,k,c,B,U,L,N,O,Q,ee,j,te;class $ extends HTMLElement{constructor(t){super();s(this,O);s(this,d,null);s(this,o,null);s(this,y,!1);s(this,S,!1);s(this,f,!1);s(this,Y,"");s(this,k,"");s(this,c,new Ce.ClassLinkedStatus(this,{loading:!1,loaded:!1,error:!1,clear:!1}));s(this,B,null);s(this,U);s(this,L,null);s(this,N);s(this,ee,t=>{const i=t[0];e(this,f)&&(!e(this,S)||this.hasAttribute("reload-source"))&&i.isIntersecting&&this.triggerLazyLoad(),i.isIntersecting?V.dispatchEvent(this,"sourceCapture",{custom:!0}):(this.hasAttribute("reload-source")&&q(this,O,Q).call(this,void 0),V.dispatchEvent(this,"sourceRelease",{custom:!0}))});s(this,j,()=>{e(this,c).set("loaded",!0),e(this,c).set("error",!1),e(this,c).set("loading",!1),!e(this,f)&&!e(this,y)&&he.loading.complete(e(this,k)),V.dispatchEvent(this,"sourceLoaded",{custom:!0});const t=getComputedStyle(this).getPropertyValue("--clear-duration");t?r(this,U,setTimeout(()=>{e(this,c).set("clear",!0)},parseFloat(t)*1e3)):e(this,c).set("clear",!0),r(this,y,!0)});s(this,te,t=>{e(this,c).set("loaded",!1),e(this,c).set("error",!0),e(this,c).set("loading",!1),!e(this,f)&&!e(this,y)&&he.loading.error(e(this,k)),V.dispatchEvent(this,"sourceError",{custom:!0}),r(this,y,!0)});r(this,N,t==null?void 0:t.sourceSetOptions),Ee.isBrowser&&window.IntersectionObserver&&r(this,B,new IntersectionObserver(e(this,ee)))}get consumerElement(){return e(this,o)}get sourceManager(){return e(this,d)}get status(){return e(this,c)}get isLazy(){return e(this,f)}get currentURL(){return e(this,L)}get isFirstLoadHappened(){return e(this,y)}triggerLazyLoad(){!e(this,S)&&e(this,d).current&&e(this,d).current!==e(this,d).previous&&(r(this,S,!0),q(this,O,Q).call(this,e(this,d).current))}connectedCallback(){r(this,Y,`source-consumer-${++Ae}`);const t=this.getAttribute("srcset")||"",i=this.hasAttribute("notify")?this.closest(this.getAttribute("notify")):null;i&&e(this,c).addElement(i),r(this,o,this.createConsumer()),e(this,o).style.cssText=`
2
2
  display: block;
3
3
  width: 100%;
4
4
  height: 100%;
5
- `,e(this,h).classList.add("source-consumer"),Array.from(this.attributes).forEach(o=>{if(o.name!=="srcset"){const E=o.nodeValue||"",A=ye.kebabToCamel(o.name);A in e(this,h)&&(e(this,h)[A]=E||!0)}}),this.appendChild(e(this,h)),r(this,d,new we.SourceManager({srcset:t,sourceSetOptions:e(this,N)})),r(this,f,this.hasAttribute("lazy")),e(this,d).subscribe(o=>{(!e(this,f)||e(this,f)&&e(this,S))&&q(this,O,Q).call(this,o.current)}),e(this,d).connect(),e(this,B).observe(this)}disconnectedCallback(){e(this,B).disconnect(),e(this,d).close(),e(this,h).onloadeddata=null,e(this,h).onload=null,e(this,h).onerror=null,r(this,y,!1),r(this,S,!1),e(this,h).remove(),e(this,c).reset(),clearTimeout(e(this,U))}}d=new WeakMap,h=new WeakMap,y=new WeakMap,S=new WeakMap,f=new WeakMap,Y=new WeakMap,k=new WeakMap,c=new WeakMap,B=new WeakMap,U=new WeakMap,L=new WeakMap,N=new WeakMap,O=new WeakSet,Q=function(t){if(clearTimeout(e(this,U)),e(this,h).onloadeddata=null,e(this,h).onload=null,e(this,h).onerror=null,e(this,c).set("loaded",!1),e(this,c).set("error",!1),e(this,c).set("loading",!1),e(this,c).set("clear",!1),t){r(this,k,`${e(this,Y)}-${t.url}`);const i=this.hasAttribute("keep-source-parameters");e(this,c).set("loading",!0),r(this,L,i?t.url:t.name+t.extension),this.consumeSource(e(this,L)),!e(this,f)&&!e(this,y)&&he.loading.add(e(this,k)),e(this,h).onloadeddata=()=>{e(this,j).call(this)},e(this,h).onload=()=>{e(this,j).call(this)},e(this,h).onerror=()=>{e(this,te).call(this,e(this,L))}}else r(this,L,null),this.consumeSource(null)},ee=new WeakMap,j=new WeakMap,te=new WeakMap;var b,se,ie;class be extends ${constructor(){super({sourceSetOptions:{mediaBuckets:!1}});s(this,b,null);s(this,se,()=>{var t,i;(i=(t=this.consumerElement).onload)==null||i.call(t,new Event("load"))});s(this,ie,()=>{var t,i;(i=(t=this.consumerElement).onload)==null||i.call(t,new Event("error"))})}createConsumer(){return document.createElement("div")}consumeSource(t){e(this,b)&&(e(this,b).onload=null,e(this,b).onerror=null),this.consumerElement.innerHTML=(t==null?void 0:t.replace(/\\u003C/g,"<").replace(/\\u003E/g,">").replace(/\\"/g,'"'))||"",r(this,b,this.consumerElement.querySelector("iframe")),e(this,b)&&(e(this,b).onload=e(this,se),e(this,b).onerror=e(this,ie))}}b=new WeakMap,se=new WeakMap,ie=new WeakMap;customElements.get("e-iframe")||customElements.define("e-iframe",be);class ge extends ${createConsumer(){return document.createElement("img")}consumeSource(n){if(n&&this.hasAttribute("webp")&&Re.device.isWebp){const t=n.split(".").slice(0,-1).join(".")+".webp";this.consumerElement.src=t}else this.consumerElement.src=n||""}}customElements.get("e-image")||customElements.define("e-image",ge);function ke(a){const n=a.match(/\{([\d-]+)\}/);if(n){const t=n[1].split("-");if(t.length===2){const i=parseInt(t[0],10),o=parseInt(t[1],10);return{start:i,end:o}}}return null}var p,P,M,w,C,x,T,D,g,R;class ve extends ${constructor(t){super();s(this,p,[]);s(this,P,new J.CSSProperty(this,"--fit","contain"));s(this,M,new J.CSSProperty(this,"--autoplay",!1));s(this,w,new J.CSSProperty(this,"--offset-x",.5));s(this,C,new J.CSSProperty(this,"--offset-y",.5));s(this,x,null);s(this,T,0);s(this,D,1);s(this,g,()=>{if(e(this,p).length){const t=e(this,p)[0];e(this,P).current==="cover"?r(this,x,pe.cover(t.naturalWidth,t.naturalHeight,this.consumerElement.width,this.consumerElement.height,e(this,w).current,e(this,C).current)):r(this,x,pe.contain(t.naturalWidth,t.naturalHeight,this.consumerElement.width,this.consumerElement.height,e(this,w).current,e(this,C).current))}});s(this,R,t=>{if(this.status.isFalse("loaded")||!e(this,x))return;t.detail.context.clearRect(0,0,t.detail.width,t.detail.height);const i=e(this,p)[e(this,T)];i&&t.detail.context.drawImage(i,...e(this,x)),e(this,M).current&&r(this,T,(e(this,T)+1)%e(this,p).length)});Ee.isBrowser&&(r(this,D,parseInt(((t==null?void 0:t.pad)||this.getAttribute("pad")||"1").toString())),e(this,P).subscribe(e(this,g)),e(this,w).subscribe(e(this,g)),e(this,C).subscribe(e(this,g)),this.addEventListener("sourceCapture",i=>{this.consumerElement.addEventListener("canvasRender",e(this,R))}),this.addEventListener("sourceRelease",i=>{this.consumerElement.removeEventListener("canvasRender",e(this,R))}))}setProgress(t){e(this,p).length&&r(this,T,Math.floor((e(this,p).length-1)*t))}connectedCallback(){super.connectedCallback(),e(this,M).observe(),e(this,P).observe(),e(this,w).observe(),e(this,C).observe(),fe.elementResizer.subscribe(this,e(this,g))}disconnectedCallback(){super.disconnectedCallback(),e(this,M).unobserve(),e(this,P).unobserve(),e(this,w).unobserve(),e(this,C).unobserve(),r(this,p,[]),fe.elementResizer.unsubscribe(e(this,g)),this.consumerElement.removeEventListener("canvasRender",e(this,R))}createConsumer(){return new Ie.CanvasElement}consumeSource(t){return me(this,null,function*(){var i,o,E,A;if(t){this.consumerElement.removeEventListener("canvasRender",e(this,R));const v=[],m=ke(t);if(m)for(let l=m.start;l<=m.end;l++){const le=t.replace(/\{([^}]+)\}/,l.toString().padStart(e(this,D),"0")),G=new Image;G.src=le,v.push(G)}else{const l=new Image;l.src=t,v.push(l)}try{yield Promise.all(v.map((l,le)=>new Promise((G,Le)=>{l.onload=()=>{G()},l.onerror=Pe=>{Le(`${l.src} Image not found`)}}))),r(this,p,v),e(this,g).call(this),(o=(i=this.consumerElement).onload)==null||o.call(i,new Event("load")),this.isLazy||this.consumerElement.addEventListener("canvasRender",e(this,R))}catch(l){console.error(l),(A=(E=this.consumerElement).onerror)==null||A.call(E,new Event("error"))}}})}}p=new WeakMap,P=new WeakMap,M=new WeakMap,w=new WeakMap,C=new WeakMap,x=new WeakMap,T=new WeakMap,D=new WeakMap,g=new WeakMap,R=new WeakMap;customElements.get("e-sequence")||customElements.define("e-sequence",ve);var _,F;class Se extends ${constructor(){super(...arguments);s(this,_,0);s(this,F,()=>{this.classList.add(`state-${this.consumerElement.readyState}`);const t=this.consumerElement.readyState/4;t>e(this,_)&&r(this,_,t),V.dispatchEvent(this,"videoReadyStateChange",{detail:{readyState:this.consumerElement.readyState,progress:e(this,_)}}),this.consumerElement.readyState===4&&ce.ticker.unsubscribe(e(this,F))})}connectedCallback(){super.connectedCallback(),this.addEventListener("sourceCapture",()=>{ce.ticker.subscribe(e(this,F)),this.hasAttribute("capture-autoplay")&&this.consumerElement.play()}),this.addEventListener("sourceRelease",()=>{this.hasAttribute("capture-autoplay")&&(this.consumerElement.pause(),this.hasAttribute("replay")&&(this.consumerElement.currentTime=0)),this.hasAttribute("reload-source")&&this.classList.remove("state-0","state-1","state-2","state-3","state-4")})}disconnectedCallback(){super.disconnectedCallback(),ce.ticker.unsubscribe(e(this,F)),r(this,_,0)}createConsumer(){return document.createElement("video")}consumeSource(t){this.consumerElement.src=t||"",this.consumerElement.autoplay=!0}}_=new WeakMap,F=new WeakMap;customElements.get("e-video")||customElements.define("e-video",Se);var u,H,I,K,W,re,ne,ae,X,ue;const z=class z extends ${constructor(){super();s(this,X);s(this,u);s(this,H);s(this,I,!1);s(this,K,!1);s(this,W,()=>{r(this,I,e(this,I)||this.hasAttribute("autoplay")&&!this.hasAttribute("capture-autoplay")),r(this,u,new window.YT.Player(e(this,H),{playerVars:{mute:this.hasAttribute("muted")?1:0,controls:this.hasAttribute("controls")?1:0},events:{onReady:e(this,re),onError:e(this,ne),onStateChange:e(this,ae)}}))});s(this,re,()=>{r(this,K,!0),q(this,X,ue).call(this)});s(this,ne,t=>{var i,o;console.error("YouTube: Ошибка при загрузке видео:",this.currentURL,t),(o=(i=this.consumerElement).onerror)==null||o.call(i,new Event("error"))});s(this,ae,()=>{});r(this,H,"yt-"+ye.generateId(10)),z.__apiReady||(window.onYouTubeIframeAPIReady=()=>{z.__apiReady=!0,V.dispatchEvent(window,"youTubeIframeAPIReady")}),this.addEventListener("sourceCapture",()=>{this.hasAttribute("capture-autoplay")&&(e(this,K)?e(this,u).playVideo():r(this,I,!0))}),this.addEventListener("sourceRelease",()=>{e(this,u)&&this.hasAttribute("capture-autoplay")&&(e(this,u).pauseVideo(),this.hasAttribute("replay")&&e(this,u).seekTo(0))})}static __onYouTubeIframeAPIReady(){this.__apiReady=!0}createConsumer(){const t=document.createElement("div");return t.id=e(this,H),t}consumeSource(t){var i;if(t){if(!document.getElementById("youtube-script")){const o=document.createElement("script");o.id,o.src="https://www.youtube.com/iframe_api";const E=document.getElementsByTagName("script")[0];(i=E.parentNode)==null||i.insertBefore(o,E)}e(this,u)?q(this,X,ue).call(this):z.__apiReady?e(this,W).call(this):addEventListener("youTubeIframeAPIReady",e(this,W))}else e(this,u)&&e(this,u).stopVideo()}disconnectedCallback(){super.disconnectedCallback(),e(this,u)&&e(this,u).destroy(),removeEventListener("youTubeIframeAPIReady",e(this,W))}};u=new WeakMap,H=new WeakMap,I=new WeakMap,K=new WeakMap,W=new WeakMap,re=new WeakMap,ne=new WeakMap,ae=new WeakMap,X=new WeakSet,ue=function(){var t,i;this.currentURL&&(this.currentURL.startsWith("http")?e(this,u).loadVideoByUrl(this.currentURL):e(this,u).loadVideoById(this.currentURL)),e(this,I)?e(this,u).playVideo():e(this,u).stopVideo(),r(this,I,!1),(i=(t=this.consumerElement).onload)==null||i.call(t,new Event("load"))},z.__apiReady=!1;let Z=z;customElements.get("e-youtube")||customElements.define("e-youtube",Z);exports.IFrameElement=be;exports.ImageElement=ge;exports.SequenceElement=ve;exports.SourceElement=$;exports.VideoElement=Se;exports.YouTubeElement=Z;
5
+ `,e(this,o).classList.add("source-consumer"),Array.from(this.attributes).forEach(h=>{if(h.name!=="srcset"){const E=h.nodeValue||"",A=ye.kebabToCamel(h.name);A in e(this,o)&&(e(this,o)[A]=E||!0)}}),this.appendChild(e(this,o)),r(this,d,new we.SourceManager({srcset:t,sourceSetOptions:e(this,N)})),r(this,f,this.hasAttribute("lazy")),e(this,d).subscribe(h=>{(!e(this,f)||e(this,f)&&e(this,S))&&q(this,O,Q).call(this,h.current)}),e(this,d).connect(),e(this,B).observe(this)}disconnectedCallback(){var t;clearTimeout(e(this,U)),e(this,B).disconnect(),(t=e(this,d))==null||t.close(),e(this,o)&&(e(this,o).onloadeddata=null,e(this,o).onload=null,e(this,o).onerror=null,e(this,o).remove()),r(this,y,!1),r(this,S,!1),e(this,c).reset()}}d=new WeakMap,o=new WeakMap,y=new WeakMap,S=new WeakMap,f=new WeakMap,Y=new WeakMap,k=new WeakMap,c=new WeakMap,B=new WeakMap,U=new WeakMap,L=new WeakMap,N=new WeakMap,O=new WeakSet,Q=function(t){if(clearTimeout(e(this,U)),e(this,o).onloadeddata=null,e(this,o).onload=null,e(this,o).onerror=null,e(this,c).set("loaded",!1),e(this,c).set("error",!1),e(this,c).set("loading",!1),e(this,c).set("clear",!1),t){r(this,k,`${e(this,Y)}-${t.url}`);const i=this.hasAttribute("keep-source-parameters");e(this,c).set("loading",!0),r(this,L,i?t.url:t.name+t.extension),this.consumeSource(e(this,L)),!e(this,f)&&!e(this,y)&&he.loading.add(e(this,k)),e(this,o).onloadeddata=()=>{e(this,j).call(this)},e(this,o).onload=()=>{e(this,j).call(this)},e(this,o).onerror=()=>{e(this,te).call(this,e(this,L))}}else r(this,L,null),this.consumeSource(null)},ee=new WeakMap,j=new WeakMap,te=new WeakMap;var b,se,ie;class be extends ${constructor(){super({sourceSetOptions:{mediaBuckets:!1}});s(this,b,null);s(this,se,()=>{var t,i;(i=(t=this.consumerElement).onload)==null||i.call(t,new Event("load"))});s(this,ie,()=>{var t,i;(i=(t=this.consumerElement).onload)==null||i.call(t,new Event("error"))})}createConsumer(){return document.createElement("div")}consumeSource(t){e(this,b)&&(e(this,b).onload=null,e(this,b).onerror=null),this.consumerElement.innerHTML=(t==null?void 0:t.replace(/\\u003C/g,"<").replace(/\\u003E/g,">").replace(/\\"/g,'"'))||"",r(this,b,this.consumerElement.querySelector("iframe")),e(this,b)&&(e(this,b).onload=e(this,se),e(this,b).onerror=e(this,ie))}}b=new WeakMap,se=new WeakMap,ie=new WeakMap;customElements.get("e-iframe")||customElements.define("e-iframe",be);class ge extends ${createConsumer(){return document.createElement("img")}consumeSource(n){if(n&&this.hasAttribute("webp")&&Re.device.isWebp){const t=n.split(".").slice(0,-1).join(".")+".webp";this.consumerElement.src=t}else this.consumerElement.src=n||""}}customElements.get("e-image")||customElements.define("e-image",ge);function ke(a){const n=a.match(/\{([\d-]+)\}/);if(n){const t=n[1].split("-");if(t.length===2){const i=parseInt(t[0],10),h=parseInt(t[1],10);return{start:i,end:h}}}return null}var p,P,M,w,C,x,T,D,g,R;class ve extends ${constructor(t){super();s(this,p,[]);s(this,P,new J.CSSProperty(this,"--fit","contain"));s(this,M,new J.CSSProperty(this,"--autoplay",!1));s(this,w,new J.CSSProperty(this,"--offset-x",.5));s(this,C,new J.CSSProperty(this,"--offset-y",.5));s(this,x,null);s(this,T,0);s(this,D,1);s(this,g,()=>{if(e(this,p).length){const t=e(this,p)[0];e(this,P).current==="cover"?r(this,x,pe.cover(t.naturalWidth,t.naturalHeight,this.consumerElement.width,this.consumerElement.height,e(this,w).current,e(this,C).current)):r(this,x,pe.contain(t.naturalWidth,t.naturalHeight,this.consumerElement.width,this.consumerElement.height,e(this,w).current,e(this,C).current))}});s(this,R,t=>{if(this.status.isFalse("loaded")||!e(this,x))return;t.detail.context.clearRect(0,0,t.detail.width,t.detail.height);const i=e(this,p)[e(this,T)];i&&t.detail.context.drawImage(i,...e(this,x)),e(this,M).current&&r(this,T,(e(this,T)+1)%e(this,p).length)});Ee.isBrowser&&(r(this,D,parseInt(((t==null?void 0:t.pad)||this.getAttribute("pad")||"1").toString())),e(this,P).subscribe(e(this,g)),e(this,w).subscribe(e(this,g)),e(this,C).subscribe(e(this,g)),this.addEventListener("sourceCapture",i=>{this.consumerElement.addEventListener("canvasRender",e(this,R))}),this.addEventListener("sourceRelease",i=>{this.consumerElement.removeEventListener("canvasRender",e(this,R))}))}setProgress(t){e(this,p).length&&r(this,T,Math.floor((e(this,p).length-1)*t))}connectedCallback(){super.connectedCallback(),e(this,M).observe(),e(this,P).observe(),e(this,w).observe(),e(this,C).observe(),fe.elementResizer.subscribe(this,e(this,g))}disconnectedCallback(){super.disconnectedCallback(),e(this,M).unobserve(),e(this,P).unobserve(),e(this,w).unobserve(),e(this,C).unobserve(),r(this,p,[]),fe.elementResizer.unsubscribe(e(this,g)),this.consumerElement.removeEventListener("canvasRender",e(this,R))}createConsumer(){return new Ie.CanvasElement}consumeSource(t){return me(this,null,function*(){var i,h,E,A;if(t){this.consumerElement.removeEventListener("canvasRender",e(this,R));const v=[],m=ke(t);if(m)for(let l=m.start;l<=m.end;l++){const le=t.replace(/\{([^}]+)\}/,l.toString().padStart(e(this,D),"0")),G=new Image;G.src=le,v.push(G)}else{const l=new Image;l.src=t,v.push(l)}try{yield Promise.all(v.map((l,le)=>new Promise((G,Le)=>{l.onload=()=>{G()},l.onerror=Pe=>{Le(`${l.src} Image not found`)}}))),r(this,p,v),e(this,g).call(this),(h=(i=this.consumerElement).onload)==null||h.call(i,new Event("load")),this.isLazy||this.consumerElement.addEventListener("canvasRender",e(this,R))}catch(l){console.error(l),(A=(E=this.consumerElement).onerror)==null||A.call(E,new Event("error"))}}})}}p=new WeakMap,P=new WeakMap,M=new WeakMap,w=new WeakMap,C=new WeakMap,x=new WeakMap,T=new WeakMap,D=new WeakMap,g=new WeakMap,R=new WeakMap;customElements.get("e-sequence")||customElements.define("e-sequence",ve);var _,F;class Se extends ${constructor(){super(...arguments);s(this,_,0);s(this,F,()=>{this.classList.add(`state-${this.consumerElement.readyState}`);const t=this.consumerElement.readyState/4;t>e(this,_)&&r(this,_,t),V.dispatchEvent(this,"videoReadyStateChange",{detail:{readyState:this.consumerElement.readyState,progress:e(this,_)}}),this.consumerElement.readyState===4&&ce.ticker.unsubscribe(e(this,F))})}connectedCallback(){super.connectedCallback(),this.addEventListener("sourceCapture",()=>{ce.ticker.subscribe(e(this,F)),this.hasAttribute("capture-autoplay")&&this.consumerElement.play()}),this.addEventListener("sourceRelease",()=>{this.hasAttribute("capture-autoplay")&&(this.consumerElement.pause(),this.hasAttribute("replay")&&(this.consumerElement.currentTime=0)),this.hasAttribute("reload-source")&&this.classList.remove("state-0","state-1","state-2","state-3","state-4")})}disconnectedCallback(){super.disconnectedCallback(),ce.ticker.unsubscribe(e(this,F)),r(this,_,0)}createConsumer(){return document.createElement("video")}consumeSource(t){this.consumerElement.src=t||"",this.consumerElement.autoplay=!0}}_=new WeakMap,F=new WeakMap;customElements.get("e-video")||customElements.define("e-video",Se);var u,H,I,K,W,re,ne,ae,X,ue;const z=class z extends ${constructor(){super();s(this,X);s(this,u);s(this,H);s(this,I,!1);s(this,K,!1);s(this,W,()=>{r(this,I,e(this,I)||this.hasAttribute("autoplay")&&!this.hasAttribute("capture-autoplay")),r(this,u,new window.YT.Player(e(this,H),{playerVars:{mute:this.hasAttribute("muted")?1:0,controls:this.hasAttribute("controls")?1:0},events:{onReady:e(this,re),onError:e(this,ne),onStateChange:e(this,ae)}}))});s(this,re,()=>{r(this,K,!0),q(this,X,ue).call(this)});s(this,ne,t=>{var i,h;console.error("YouTube: Ошибка при загрузке видео:",this.currentURL,t),(h=(i=this.consumerElement).onerror)==null||h.call(i,new Event("error"))});s(this,ae,()=>{});r(this,H,"yt-"+ye.generateId(10)),z.__apiReady||(window.onYouTubeIframeAPIReady=()=>{z.__apiReady=!0,V.dispatchEvent(window,"youTubeIframeAPIReady")}),this.addEventListener("sourceCapture",()=>{this.hasAttribute("capture-autoplay")&&(e(this,K)?e(this,u).playVideo():r(this,I,!0))}),this.addEventListener("sourceRelease",()=>{e(this,u)&&this.hasAttribute("capture-autoplay")&&(e(this,u).pauseVideo(),this.hasAttribute("replay")&&e(this,u).seekTo(0))})}static __onYouTubeIframeAPIReady(){this.__apiReady=!0}createConsumer(){const t=document.createElement("div");return t.id=e(this,H),t}consumeSource(t){var i;if(t){if(!document.getElementById("youtube-script")){const h=document.createElement("script");h.id,h.src="https://www.youtube.com/iframe_api";const E=document.getElementsByTagName("script")[0];(i=E.parentNode)==null||i.insertBefore(h,E)}e(this,u)?q(this,X,ue).call(this):z.__apiReady?e(this,W).call(this):addEventListener("youTubeIframeAPIReady",e(this,W))}else e(this,u)&&e(this,u).stopVideo()}disconnectedCallback(){super.disconnectedCallback(),e(this,u)&&e(this,u).destroy(),removeEventListener("youTubeIframeAPIReady",e(this,W))}};u=new WeakMap,H=new WeakMap,I=new WeakMap,K=new WeakMap,W=new WeakMap,re=new WeakMap,ne=new WeakMap,ae=new WeakMap,X=new WeakSet,ue=function(){var t,i;this.currentURL&&(this.currentURL.startsWith("http")?e(this,u).loadVideoByUrl(this.currentURL):e(this,u).loadVideoById(this.currentURL)),e(this,I)?e(this,u).playVideo():e(this,u).stopVideo(),r(this,I,!1),(i=(t=this.consumerElement).onload)==null||i.call(t,new Event("load"))},z.__apiReady=!1;let Z=z;customElements.get("e-youtube")||customElements.define("e-youtube",Z);exports.IFrameElement=be;exports.ImageElement=ge;exports.SequenceElement=ve;exports.SourceElement=$;exports.VideoElement=Se;exports.YouTubeElement=Z;
@@ -3,18 +3,18 @@ var de = (a) => {
3
3
  };
4
4
  var ae = (a, n, t) => n.has(a) || de("Cannot " + t);
5
5
  var e = (a, n, t) => (ae(a, n, "read from private field"), t ? t.call(a) : n.get(a)), s = (a, n, t) => n.has(a) ? de("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(a) : n.set(a, t), r = (a, n, t, i) => (ae(a, n, "write to private field"), i ? i.call(a, t) : n.set(a, t), t), U = (a, n, t) => (ae(a, n, "access private method"), t);
6
- var me = (a, n, t) => new Promise((i, o) => {
6
+ var me = (a, n, t) => new Promise((i, h) => {
7
7
  var y = (m) => {
8
8
  try {
9
9
  v(t.next(m));
10
10
  } catch (l) {
11
- o(l);
11
+ h(l);
12
12
  }
13
13
  }, A = (m) => {
14
14
  try {
15
15
  v(t.throw(m));
16
16
  } catch (l) {
17
- o(l);
17
+ h(l);
18
18
  }
19
19
  }, v = (m) => m.done ? i(m.value) : Promise.resolve(m.value).then(y, A);
20
20
  v((t = t.apply(a, n)).next());
@@ -32,13 +32,13 @@ import { c as we, a as Se } from "../canvas-DeZ0SLUJ.js";
32
32
  import { CanvasElement as Ce } from "../canvas/index.js";
33
33
  import { ticker as he } from "../ticker/vanilla/index.js";
34
34
  let Re = 0;
35
- var d, h, E, L, f, q, k, c, _, O, w, N, H, Q, Z, Y, ee;
35
+ var d, o, E, L, f, q, k, c, _, O, w, N, H, Q, Z, Y, ee;
36
36
  class X extends HTMLElement {
37
37
  constructor(t) {
38
38
  super();
39
39
  s(this, H);
40
40
  s(this, d, null);
41
- s(this, h, null);
41
+ s(this, o, null);
42
42
  s(this, E, !1);
43
43
  s(this, L, !1);
44
44
  s(this, f, !1);
@@ -73,7 +73,7 @@ class X extends HTMLElement {
73
73
  ));
74
74
  }
75
75
  get consumerElement() {
76
- return e(this, h);
76
+ return e(this, o);
77
77
  }
78
78
  get sourceManager() {
79
79
  return e(this, d);
@@ -95,38 +95,37 @@ class X extends HTMLElement {
95
95
  }
96
96
  connectedCallback() {
97
97
  r(this, q, `source-consumer-${++Re}`);
98
- const t = this.getAttribute("srcset");
99
- if (!t) return;
100
- const i = this.hasAttribute("notify") ? this.closest(this.getAttribute("notify")) : null;
101
- i && e(this, c).addElement(i), r(this, h, this.createConsumer()), e(this, h).style.cssText = `
98
+ const t = this.getAttribute("srcset") || "", i = this.hasAttribute("notify") ? this.closest(this.getAttribute("notify")) : null;
99
+ i && e(this, c).addElement(i), r(this, o, this.createConsumer()), e(this, o).style.cssText = `
102
100
  display: block;
103
101
  width: 100%;
104
102
  height: 100%;
105
- `, e(this, h).classList.add("source-consumer"), Array.from(this.attributes).forEach((o) => {
106
- if (o.name !== "srcset") {
107
- const y = o.nodeValue || "", A = ge(o.name);
108
- A in e(this, h) && (e(this, h)[A] = y || !0);
103
+ `, e(this, o).classList.add("source-consumer"), Array.from(this.attributes).forEach((h) => {
104
+ if (h.name !== "srcset") {
105
+ const y = h.nodeValue || "", A = ge(h.name);
106
+ A in e(this, o) && (e(this, o)[A] = y || !0);
109
107
  }
110
- }), this.appendChild(e(this, h)), r(this, d, new Ee({
108
+ }), this.appendChild(e(this, o)), r(this, d, new Ee({
111
109
  srcset: t,
112
110
  sourceSetOptions: e(this, N)
113
- })), r(this, f, this.hasAttribute("lazy")), e(this, d).subscribe((o) => {
114
- (!e(this, f) || e(this, f) && e(this, L)) && U(this, H, Q).call(this, o.current);
111
+ })), r(this, f, this.hasAttribute("lazy")), e(this, d).subscribe((h) => {
112
+ (!e(this, f) || e(this, f) && e(this, L)) && U(this, H, Q).call(this, h.current);
115
113
  }), e(this, d).connect(), e(this, _).observe(this);
116
114
  }
117
115
  disconnectedCallback() {
118
- e(this, _).disconnect(), e(this, d).close(), e(this, h).onloadeddata = null, e(this, h).onload = null, e(this, h).onerror = null, r(this, E, !1), r(this, L, !1), e(this, h).remove(), e(this, c).reset(), clearTimeout(e(this, O));
116
+ var t;
117
+ clearTimeout(e(this, O)), e(this, _).disconnect(), (t = e(this, d)) == null || t.close(), e(this, o) && (e(this, o).onloadeddata = null, e(this, o).onload = null, e(this, o).onerror = null, e(this, o).remove()), r(this, E, !1), r(this, L, !1), e(this, c).reset();
119
118
  }
120
119
  }
121
- d = new WeakMap(), h = new WeakMap(), E = new WeakMap(), L = new WeakMap(), f = new WeakMap(), q = new WeakMap(), k = new WeakMap(), c = new WeakMap(), _ = new WeakMap(), O = new WeakMap(), w = new WeakMap(), N = new WeakMap(), H = new WeakSet(), Q = function(t) {
122
- if (clearTimeout(e(this, O)), e(this, h).onloadeddata = null, e(this, h).onload = null, e(this, h).onerror = null, e(this, c).set("loaded", !1), e(this, c).set("error", !1), e(this, c).set("loading", !1), e(this, c).set("clear", !1), t) {
120
+ d = new WeakMap(), o = new WeakMap(), E = new WeakMap(), L = new WeakMap(), f = new WeakMap(), q = new WeakMap(), k = new WeakMap(), c = new WeakMap(), _ = new WeakMap(), O = new WeakMap(), w = new WeakMap(), N = new WeakMap(), H = new WeakSet(), Q = function(t) {
121
+ if (clearTimeout(e(this, O)), e(this, o).onloadeddata = null, e(this, o).onload = null, e(this, o).onerror = null, e(this, c).set("loaded", !1), e(this, c).set("error", !1), e(this, c).set("loading", !1), e(this, c).set("clear", !1), t) {
123
122
  r(this, k, `${e(this, q)}-${t.url}`);
124
123
  const i = this.hasAttribute("keep-source-parameters");
125
- e(this, c).set("loading", !0), r(this, w, i ? t.url : t.name + t.extension), this.consumeSource(e(this, w)), !e(this, f) && !e(this, E) && oe.add(e(this, k)), e(this, h).onloadeddata = () => {
124
+ e(this, c).set("loading", !0), r(this, w, i ? t.url : t.name + t.extension), this.consumeSource(e(this, w)), !e(this, f) && !e(this, E) && oe.add(e(this, k)), e(this, o).onloadeddata = () => {
126
125
  e(this, Y).call(this);
127
- }, e(this, h).onload = () => {
126
+ }, e(this, o).onload = () => {
128
127
  e(this, Y).call(this);
129
- }, e(this, h).onerror = () => {
128
+ }, e(this, o).onerror = () => {
130
129
  e(this, ee).call(this, e(this, w));
131
130
  };
132
131
  } else
@@ -177,8 +176,8 @@ function ke(a) {
177
176
  if (n) {
178
177
  const t = n[1].split("-");
179
178
  if (t.length === 2) {
180
- const i = parseInt(t[0], 10), o = parseInt(t[1], 10);
181
- return { start: i, end: o };
179
+ const i = parseInt(t[0], 10), h = parseInt(t[1], 10);
180
+ return { start: i, end: h };
182
181
  }
183
182
  }
184
183
  return null;
@@ -257,7 +256,7 @@ class Pe extends X {
257
256
  }
258
257
  consumeSource(t) {
259
258
  return me(this, null, function* () {
260
- var i, o, y, A;
259
+ var i, h, y, A;
261
260
  if (t) {
262
261
  this.consumerElement.removeEventListener(
263
262
  "canvasRender",
@@ -285,7 +284,7 @@ class Pe extends X {
285
284
  ye(`${l.src} Image not found`);
286
285
  };
287
286
  }))
288
- ), r(this, p, v), e(this, g).call(this), (o = (i = this.consumerElement).onload) == null || o.call(i, new Event("load")), this.isLazy || this.consumerElement.addEventListener(
287
+ ), r(this, p, v), e(this, g).call(this), (h = (i = this.consumerElement).onload) == null || h.call(i, new Event("load")), this.isLazy || this.consumerElement.addEventListener(
289
288
  "canvasRender",
290
289
  e(this, R)
291
290
  );
@@ -365,8 +364,8 @@ const B = class B extends X {
365
364
  r(this, j, !0), U(this, K, ue).call(this);
366
365
  });
367
366
  s(this, re, (t) => {
368
- var i, o;
369
- console.error("YouTube: Ошибка при загрузке видео:", this.currentURL, t), (o = (i = this.consumerElement).onerror) == null || o.call(i, new Event("error"));
367
+ var i, h;
368
+ console.error("YouTube: Ошибка при загрузке видео:", this.currentURL, t), (h = (i = this.consumerElement).onerror) == null || h.call(i, new Event("error"));
370
369
  });
371
370
  s(this, ne, () => {
372
371
  });
@@ -389,10 +388,10 @@ const B = class B extends X {
389
388
  var i;
390
389
  if (t) {
391
390
  if (!document.getElementById("youtube-script")) {
392
- const o = document.createElement("script");
393
- o.id, o.src = "https://www.youtube.com/iframe_api";
391
+ const h = document.createElement("script");
392
+ h.id, h.src = "https://www.youtube.com/iframe_api";
394
393
  const y = document.getElementsByTagName("script")[0];
395
- (i = y.parentNode) == null || i.insertBefore(o, y);
394
+ (i = y.parentNode) == null || i.insertBefore(h, y);
396
395
  }
397
396
  e(this, u) ? U(this, K, ue).call(this) : B.__apiReady ? e(this, $).call(this) : addEventListener("youTubeIframeAPIReady", e(this, $));
398
397
  } else e(this, u) && e(this, u).stopVideo();
@@ -3,5 +3,6 @@ import { Morph } from './Morph';
3
3
  export declare class Link {
4
4
  #private;
5
5
  constructor(element: HTMLAnchorElement, morph: Morph);
6
+ get element(): HTMLAnchorElement;
6
7
  destroy(): void;
7
8
  }
@@ -41,6 +41,8 @@ export declare class Morph {
41
41
  afterNavigationEvent(callback: MorphNavigationCallback): () => void;
42
42
  prefetch(path: string): Promise<Document>;
43
43
  navigate(path: string, { historyAction, state }?: MorphNavigateOptions): Promise<void>;
44
+ addLink(element: HTMLAnchorElement): void;
44
45
  addLinks(elements: Array<HTMLAnchorElement>): void;
46
+ removeLink(element: HTMLAnchorElement): void;
45
47
  findLinks(): void;
46
48
  }
@@ -1 +1 @@
1
- "use strict";var at=(s,t)=>(t=Symbol[s])?t:Symbol.for("Symbol."+s),ot=s=>{throw TypeError(s)};var V=(s,t,i)=>t.has(s)||ot("Cannot "+i);var e=(s,t,i)=>(V(s,t,"read from private field"),i?i.call(s):t.get(s)),r=(s,t,i)=>t.has(s)?ot("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(s):t.set(s,i),c=(s,t,i,n)=>(V(s,t,"write to private field"),n?n.call(s,i):t.set(s,i),i),b=(s,t,i)=>(V(s,t,"access private method"),i);var N=(s,t,i)=>new Promise((n,l)=>{var u=m=>{try{g(i.next(m))}catch(w){l(w)}},o=m=>{try{g(i.throw(m))}catch(w){l(w)}},g=m=>m.done?n(m.value):Promise.resolve(m.value).then(u,o);g((i=i.apply(s,t)).next())});var ht=(s,t,i)=>(t=s[at("asyncIterator")])?t.call(s):(s=s[at("iterator")](),t={},i=(n,l)=>(l=s[n])&&(t[n]=u=>new Promise((o,g,m)=>(u=l.call(s,u),m=u.done,Promise.resolve(u.value).then(w=>o({value:w,done:m}),g)))),i("next"),i("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ct=require("../notifier/index.cjs"),gt=require("../browser-CpzFX2xg.cjs"),K=require("../url-BiHPIsKq.cjs"),lt=require("../loading/index.cjs");var A,h,f,T,S,M,C,k;class ut{constructor(t,i){r(this,A);r(this,h);r(this,f);r(this,T);r(this,S);r(this,M);r(this,C,t=>{t.preventDefault(),e(this,A).links.forEach(i=>{var n;e(this,f)===e(i,f)||(n=e(i,M))!=null&&n.includes(e(this,f))?e(i,h).classList.add("clicked"):e(i,h).classList.remove("clicked")}),e(this,A).navigate(e(this,f),{historyAction:e(this,T),state:e(this,S)})});r(this,k,()=>{e(this,A).prefetch(e(this,f)),e(this,h).removeEventListener("pointerenter",e(this,k))});var u,o;c(this,A,i),c(this,h,t),c(this,f,e(this,h).getAttribute("href")||"/"),c(this,T,e(this,h).getAttribute("data-history-action")||"push"),c(this,S,e(this,h).getAttribute("data-state")||void 0),e(this,h).addEventListener("click",e(this,C));const n=i.normalizePath(e(this,f)),l=i.normalizePath(location.pathname);c(this,M,(u=e(this,h).getAttribute("data-match-paths"))==null?void 0:u.split(",").map(g=>i.normalizePath(g.trim()).pathname)),e(this,h).hasAttribute("data-include")?l.pathname.includes(n.pathname)&&e(this,h).classList.add("current"):n.pathname===l.pathname||(o=e(this,M))!=null&&o.includes(l.pathname)?(e(this,h).classList.add("current"),e(this,h).classList.add("clicked")):e(this,h).classList.remove("clicked"),e(this,h).hasAttribute("data-prefetch")&&e(this,h).addEventListener("pointerenter",e(this,k))}destroy(){e(this,h).removeEventListener("click",e(this,C)),e(this,h).removeEventListener("pointerenter",e(this,k)),e(this,h).classList.remove("current")}}A=new WeakMap,h=new WeakMap,f=new WeakMap,T=new WeakMap,S=new WeakMap,M=new WeakMap,C=new WeakMap,k=new WeakMap;var z,q,x,_,y,Y,P,L,p,D,R,F,I,d,X,Z,dt,$,G;class Et{constructor(t){r(this,d);r(this,z,null);r(this,q,null);r(this,x,null);r(this,_,null);r(this,y,[]);r(this,Y,new DOMParser);r(this,P,new Map);r(this,L);r(this,p,null);r(this,D);r(this,R);r(this,F,new ct.Notifier);r(this,I,new ct.Notifier);r(this,G,t=>{t.state&&this.navigate(t.state,{historyAction:"none"})});if(gt.isBrowser){c(this,z,K.normalizeBase(t==null?void 0:t.base)),c(this,q,(t==null?void 0:t.waitForHeadToLoad)!==!1),c(this,x,(t==null?void 0:t.cachePages)!==!1),c(this,_,b(this,d,Z).call(this,document.body));const i=this.normalizePath(location.pathname);c(this,p,i.pathname),document.documentElement.setAttribute("data-current-pathname",e(this,p)),document.documentElement.setAttribute("data-current-leaf",i.leaf),this.findLinks(),addEventListener("popstate",e(this,G)),K.changeHistory("replace",e(this,p),i.parameters,i.hash)}}get currentPathname(){return e(this,p)}get previousPathname(){return e(this,D)}get currentState(){return e(this,R)}get links(){return e(this,y)}normalizePath(t){return K.splitPath(t,e(this,z))}beforeNavigationEvent(t){return e(this,F).subscribe(t)}afterNavigationEvent(t){return e(this,I).subscribe(t)}prefetch(t){return N(this,null,function*(){const i=this.normalizePath(t);return b(this,d,X).call(this,i.pathname)})}navigate(l){return N(this,arguments,function*(t,{historyAction:i="push",state:n}={}){var tt;const u=this.normalizePath(t);let{pathname:o,hash:g,parameters:m,leaf:w}=u;if(e(this,L)===o||e(this,p)===o)return;c(this,R,n),c(this,L,o);const O=e(this,P).has(o);try{lt.loading.add("__morph");let B=!0;if(e(this,F).notify({pathname:o,isCached:O,state:n}),this.preprocessor)try{yield new Promise((a,E)=>{var v;(v=this.preprocessor)==null||v.call(this,{pathname:o,resolve:a,reject:E,isCached:O,state:n})})}catch(a){a?console.error(a):console.log("Route change canceled"),B=!1}if(!B||e(this,L)!==o)return;const et=e(this,P).get(o)||(yield b(this,d,X).call(this,o));if(e(this,L)!==o)return;const it=Array.from(document.head.children),st=Array.from(et.head.cloneNode(!0).children),nt=b(this,d,dt).call(this,it,st),mt=b(this,d,$).call(this,it,nt),W=b(this,d,$).call(this,st,nt);W.forEach((a,E)=>{if(a.tagName==="SCRIPT"&&a.getAttribute("src")){const v=document.createElement("script");v.type="module",v.src=a.getAttribute("src"),W[E]=v}}),W.forEach(a=>{document.head.appendChild(a)});const J=W.filter(a=>(a.tagName==="STYLE"||a.tagName==="SCRIPT"||a.tagName==="LINK")&&a.getAttribute("rel")!=="canonical");e(this,q)&&J.length&&(yield new Promise(a=>N(this,null,function*(){let E=0;try{for(var v=ht(J),pt,Q,j;pt=!(Q=yield v.next()).done;pt=!1){const H=Q.value;H.onload=()=>{E++,E===J.length&&a()}}}catch(Q){j=[Q]}finally{try{pt&&(Q=v.return)&&(yield Q.call(v))}finally{if(j)throw j[0]}}}))),mt.forEach(a=>{a.hasAttribute("data-permanent")||a.remove()}),c(this,D,e(this,p)),c(this,p,o),K.changeHistory(i,o,m,g);const ft=b(this,d,Z).call(this,et.body.cloneNode(!0));e(this,_).forEach((a,E)=>{const v=ft[E];let pt=[...a.childNodes],Q=[...v.childNodes];pt.forEach(j=>{if(j instanceof HTMLElement){const H=j.getAttribute("data-remain");let rt;Q=Q.filter(U=>U instanceof HTMLElement&&H&&U.getAttribute("data-remain")===H?(rt=U,!1):!0),H&&rt||j.remove()}else j.remove()}),a.append(...Q)}),this.findLinks(),document.documentElement.setAttribute("data-current-pathname",o),document.documentElement.setAttribute("data-current-leaf",w),(tt=this.postprocessor)==null||tt.call(this,{pathname:o,isCached:O,state:n}),e(this,I).notify({pathname:o,isCached:O,state:n}),lt.loading.complete("__morph")}catch(B){console.error(B)}c(this,L,void 0)})}addLinks(t){t.forEach(i=>{e(this,y).push(new ut(i,this))})}findLinks(){const t=[...document.documentElement.querySelectorAll("a")].filter(i=>{var n;return((n=i.getAttribute("href"))==null?void 0:n.startsWith("/"))&&!i.hasAttribute("download")&&!i.hasAttribute("data-morph-skip")});e(this,y).forEach(i=>i.destroy()),c(this,y,t.map(i=>new ut(i,this)))}}z=new WeakMap,q=new WeakMap,x=new WeakMap,_=new WeakMap,y=new WeakMap,Y=new WeakMap,P=new WeakMap,L=new WeakMap,p=new WeakMap,D=new WeakMap,R=new WeakMap,F=new WeakMap,I=new WeakMap,d=new WeakSet,X=function(t){return N(this,null,function*(){const i=e(this,P).get(t);if(i)return i;const l=yield(yield fetch(t)).text(),u=e(this,Y).parseFromString(l,"text/html");return e(this,x)&&e(this,P).set(t,u),u})},Z=function(t){return[...t.querySelectorAll("[data-morph]")]},dt=function(t,i){return t.filter(n=>i.find(l=>l.outerHTML===n.outerHTML))},$=function(t,i){return t.filter(n=>!i.find(l=>l.outerHTML===n.outerHTML))},G=new WeakMap;exports.Morph=Et;
1
+ "use strict";var at=(s,t)=>(t=Symbol[s])?t:Symbol.for("Symbol."+s),ot=s=>{throw TypeError(s)};var V=(s,t,i)=>t.has(s)||ot("Cannot "+i);var e=(s,t,i)=>(V(s,t,"read from private field"),i?i.call(s):t.get(s)),r=(s,t,i)=>t.has(s)?ot("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(s):t.set(s,i),c=(s,t,i,n)=>(V(s,t,"write to private field"),n?n.call(s,i):t.set(s,i),i),b=(s,t,i)=>(V(s,t,"access private method"),i);var N=(s,t,i)=>new Promise((n,l)=>{var u=m=>{try{g(i.next(m))}catch(y){l(y)}},h=m=>{try{g(i.throw(m))}catch(y){l(y)}},g=m=>m.done?n(m.value):Promise.resolve(m.value).then(u,h);g((i=i.apply(s,t)).next())});var ht=(s,t,i)=>(t=s[at("asyncIterator")])?t.call(s):(s=s[at("iterator")](),t={},i=(n,l)=>(l=s[n])&&(t[n]=u=>new Promise((h,g,m)=>(u=l.call(s,u),m=u.done,Promise.resolve(u.value).then(y=>h({value:y,done:m}),g)))),i("next"),i("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ct=require("../notifier/index.cjs"),gt=require("../browser-CpzFX2xg.cjs"),K=require("../url-BiHPIsKq.cjs"),lt=require("../loading/index.cjs");var A,o,f,T,S,k,C,M;class ut{constructor(t,i){r(this,A);r(this,o);r(this,f);r(this,T);r(this,S);r(this,k);r(this,C,t=>{t.preventDefault(),e(this,A).links.forEach(i=>{var n;e(this,f)===e(i,f)||(n=e(i,k))!=null&&n.includes(e(this,f))?e(i,o).classList.add("clicked"):e(i,o).classList.remove("clicked")}),e(this,A).navigate(e(this,f),{historyAction:e(this,T),state:e(this,S)})});r(this,M,()=>{e(this,A).prefetch(e(this,f)),e(this,o).removeEventListener("pointerenter",e(this,M))});var u,h;c(this,A,i),c(this,o,t),c(this,f,e(this,o).getAttribute("href")||"/"),c(this,T,e(this,o).getAttribute("data-history-action")||"push"),c(this,S,e(this,o).getAttribute("data-state")||void 0),e(this,o).addEventListener("click",e(this,C));const n=i.normalizePath(e(this,f)),l=i.normalizePath(location.pathname);c(this,k,(u=e(this,o).getAttribute("data-match-paths"))==null?void 0:u.split(",").map(g=>i.normalizePath(g.trim()).pathname)),e(this,o).hasAttribute("data-include")?l.pathname.includes(n.pathname)&&e(this,o).classList.add("current"):n.pathname===l.pathname||(h=e(this,k))!=null&&h.includes(l.pathname)?(e(this,o).classList.add("current"),e(this,o).classList.add("clicked")):e(this,o).classList.remove("clicked"),e(this,o).hasAttribute("data-prefetch")&&e(this,o).addEventListener("pointerenter",e(this,M))}get element(){return e(this,o)}destroy(){e(this,o).removeEventListener("click",e(this,C)),e(this,o).removeEventListener("pointerenter",e(this,M)),e(this,o).classList.remove("current")}}A=new WeakMap,o=new WeakMap,f=new WeakMap,T=new WeakMap,S=new WeakMap,k=new WeakMap,C=new WeakMap,M=new WeakMap;var z,q,x,_,E,Y,P,w,p,D,R,F,I,d,X,Z,dt,$,G;class Et{constructor(t){r(this,d);r(this,z,null);r(this,q,null);r(this,x,null);r(this,_,null);r(this,E,[]);r(this,Y,new DOMParser);r(this,P,new Map);r(this,w);r(this,p,null);r(this,D);r(this,R);r(this,F,new ct.Notifier);r(this,I,new ct.Notifier);r(this,G,t=>{t.state&&this.navigate(t.state,{historyAction:"none"})});if(gt.isBrowser){c(this,z,K.normalizeBase(t==null?void 0:t.base)),c(this,q,(t==null?void 0:t.waitForHeadToLoad)!==!1),c(this,x,(t==null?void 0:t.cachePages)!==!1),c(this,_,b(this,d,Z).call(this,document.body));const i=this.normalizePath(location.pathname);c(this,p,i.pathname),document.documentElement.setAttribute("data-current-pathname",e(this,p)),document.documentElement.setAttribute("data-current-leaf",i.leaf),this.findLinks(),addEventListener("popstate",e(this,G)),K.changeHistory("replace",e(this,p),i.parameters,i.hash)}}get currentPathname(){return e(this,p)}get previousPathname(){return e(this,D)}get currentState(){return e(this,R)}get links(){return e(this,E)}normalizePath(t){return K.splitPath(t,e(this,z))}beforeNavigationEvent(t){return e(this,F).subscribe(t)}afterNavigationEvent(t){return e(this,I).subscribe(t)}prefetch(t){return N(this,null,function*(){const i=this.normalizePath(t);return b(this,d,X).call(this,i.pathname)})}navigate(l){return N(this,arguments,function*(t,{historyAction:i="push",state:n}={}){var tt;const u=this.normalizePath(t);let{pathname:h,hash:g,parameters:m,leaf:y}=u;if(e(this,w)===h||e(this,p)===h)return;c(this,R,n),c(this,w,h);const O=e(this,P).has(h);try{lt.loading.add("__morph");let B=!0;if(e(this,F).notify({pathname:h,isCached:O,state:n}),this.preprocessor)try{yield new Promise((a,L)=>{var v;(v=this.preprocessor)==null||v.call(this,{pathname:h,resolve:a,reject:L,isCached:O,state:n})})}catch(a){a?console.error(a):console.log("Route change canceled"),B=!1}if(!B||e(this,w)!==h)return;const et=e(this,P).get(h)||(yield b(this,d,X).call(this,h));if(e(this,w)!==h)return;const it=Array.from(document.head.children),st=Array.from(et.head.cloneNode(!0).children),nt=b(this,d,dt).call(this,it,st),mt=b(this,d,$).call(this,it,nt),W=b(this,d,$).call(this,st,nt);W.forEach((a,L)=>{if(a.tagName==="SCRIPT"&&a.getAttribute("src")){const v=document.createElement("script");v.type="module",v.src=a.getAttribute("src"),W[L]=v}}),W.forEach(a=>{document.head.appendChild(a)});const J=W.filter(a=>(a.tagName==="STYLE"||a.tagName==="SCRIPT"||a.tagName==="LINK")&&a.getAttribute("rel")!=="canonical");e(this,q)&&J.length&&(yield new Promise(a=>N(this,null,function*(){let L=0;try{for(var v=ht(J),pt,Q,j;pt=!(Q=yield v.next()).done;pt=!1){const H=Q.value;H.onload=()=>{L++,L===J.length&&a()}}}catch(Q){j=[Q]}finally{try{pt&&(Q=v.return)&&(yield Q.call(v))}finally{if(j)throw j[0]}}}))),mt.forEach(a=>{a.hasAttribute("data-permanent")||a.remove()}),c(this,D,e(this,p)),c(this,p,h),K.changeHistory(i,h,m,g);const ft=b(this,d,Z).call(this,et.body.cloneNode(!0));e(this,_).forEach((a,L)=>{const v=ft[L];let pt=[...a.childNodes],Q=[...v.childNodes];pt.forEach(j=>{if(j instanceof HTMLElement){const H=j.getAttribute("data-remain");let rt;Q=Q.filter(U=>U instanceof HTMLElement&&H&&U.getAttribute("data-remain")===H?(rt=U,!1):!0),H&&rt||j.remove()}else j.remove()}),a.append(...Q)}),this.findLinks(),document.documentElement.setAttribute("data-current-pathname",h),document.documentElement.setAttribute("data-current-leaf",y),(tt=this.postprocessor)==null||tt.call(this,{pathname:h,isCached:O,state:n}),e(this,I).notify({pathname:h,isCached:O,state:n}),lt.loading.complete("__morph")}catch(B){console.error(B)}c(this,w,void 0)})}addLink(t){e(this,E).push(new ut(t,this))}addLinks(t){t.forEach(i=>{this.addLink(i)})}removeLink(t){c(this,E,e(this,E).filter(i=>i.element===t?(i.destroy(),!1):!0))}findLinks(){const t=[...document.documentElement.querySelectorAll("a")].filter(i=>{var n;return((n=i.getAttribute("href"))==null?void 0:n.startsWith("/"))&&!i.hasAttribute("download")&&!i.hasAttribute("data-morph-skip")});e(this,E).forEach(i=>i.destroy()),c(this,E,t.map(i=>new ut(i,this)))}}z=new WeakMap,q=new WeakMap,x=new WeakMap,_=new WeakMap,E=new WeakMap,Y=new WeakMap,P=new WeakMap,w=new WeakMap,p=new WeakMap,D=new WeakMap,R=new WeakMap,F=new WeakMap,I=new WeakMap,d=new WeakSet,X=function(t){return N(this,null,function*(){const i=e(this,P).get(t);if(i)return i;const l=yield(yield fetch(t)).text(),u=e(this,Y).parseFromString(l,"text/html");return e(this,x)&&e(this,P).set(t,u),u})},Z=function(t){const i=[...t.querySelectorAll("[data-morph]")];return i.length?i:[t]},dt=function(t,i){return t.filter(n=>i.find(l=>l.outerHTML===n.outerHTML))},$=function(t,i){return t.filter(n=>!i.find(l=>l.outerHTML===n.outerHTML))},G=new WeakMap;exports.Morph=Et;
@@ -2,73 +2,76 @@ var rt = (s, t) => (t = Symbol[s]) ? t : Symbol.for("Symbol." + s), at = (s) =>
2
2
  throw TypeError(s);
3
3
  };
4
4
  var U = (s, t, i) => t.has(s) || at("Cannot " + i);
5
- var e = (s, t, i) => (U(s, t, "read from private field"), i ? i.call(s) : t.get(s)), r = (s, t, i) => t.has(s) ? at("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(s) : t.set(s, i), c = (s, t, i, n) => (U(s, t, "write to private field"), n ? n.call(s, i) : t.set(s, i), i), L = (s, t, i) => (U(s, t, "access private method"), i);
5
+ var e = (s, t, i) => (U(s, t, "read from private field"), i ? i.call(s) : t.get(s)), r = (s, t, i) => t.has(s) ? at("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(s) : t.set(s, i), c = (s, t, i, n) => (U(s, t, "write to private field"), n ? n.call(s, i) : t.set(s, i), i), b = (s, t, i) => (U(s, t, "access private method"), i);
6
6
  var N = (s, t, i) => new Promise((n, l) => {
7
7
  var u = (m) => {
8
8
  try {
9
9
  g(i.next(m));
10
- } catch (A) {
11
- l(A);
10
+ } catch (w) {
11
+ l(w);
12
12
  }
13
- }, h = (m) => {
13
+ }, o = (m) => {
14
14
  try {
15
15
  g(i.throw(m));
16
- } catch (A) {
17
- l(A);
16
+ } catch (w) {
17
+ l(w);
18
18
  }
19
- }, g = (m) => m.done ? n(m.value) : Promise.resolve(m.value).then(u, h);
19
+ }, g = (m) => m.done ? n(m.value) : Promise.resolve(m.value).then(u, o);
20
20
  g((i = i.apply(s, t)).next());
21
21
  });
22
- var ht = (s, t, i) => (t = s[rt("asyncIterator")]) ? t.call(s) : (s = s[rt("iterator")](), t = {}, i = (n, l) => (l = s[n]) && (t[n] = (u) => new Promise((h, g, m) => (u = l.call(s, u), m = u.done, Promise.resolve(u.value).then((A) => h({ value: A, done: m }), g)))), i("next"), i("return"), t);
22
+ var ht = (s, t, i) => (t = s[rt("asyncIterator")]) ? t.call(s) : (s = s[rt("iterator")](), t = {}, i = (n, l) => (l = s[n]) && (t[n] = (u) => new Promise((o, g, m) => (u = l.call(s, u), m = u.done, Promise.resolve(u.value).then((w) => o({ value: w, done: m }), g)))), i("next"), i("return"), t);
23
23
  import { Notifier as ot } from "../notifier/index.js";
24
24
  import { i as gt } from "../browser-0zX67oeU.js";
25
- import { n as Et, c as ct, s as vt } from "../url-B5eH5z6S.js";
25
+ import { n as Et, c as ct, s as Lt } from "../url-B5eH5z6S.js";
26
26
  import { loading as lt } from "../loading/index.js";
27
- var w, o, f, T, C, k, S, H;
27
+ var y, h, f, T, C, k, S, H;
28
28
  class ut {
29
29
  constructor(t, i) {
30
- r(this, w);
31
- r(this, o);
30
+ r(this, y);
31
+ r(this, h);
32
32
  r(this, f);
33
33
  r(this, T);
34
34
  r(this, C);
35
35
  r(this, k);
36
36
  r(this, S, (t) => {
37
- t.preventDefault(), e(this, w).links.forEach((i) => {
37
+ t.preventDefault(), e(this, y).links.forEach((i) => {
38
38
  var n;
39
- e(this, f) === e(i, f) || (n = e(i, k)) != null && n.includes(e(this, f)) ? e(i, o).classList.add("clicked") : e(i, o).classList.remove("clicked");
40
- }), e(this, w).navigate(e(this, f), {
39
+ e(this, f) === e(i, f) || (n = e(i, k)) != null && n.includes(e(this, f)) ? e(i, h).classList.add("clicked") : e(i, h).classList.remove("clicked");
40
+ }), e(this, y).navigate(e(this, f), {
41
41
  historyAction: e(this, T),
42
42
  state: e(this, C)
43
43
  });
44
44
  });
45
45
  r(this, H, () => {
46
- e(this, w).prefetch(e(this, f)), e(this, o).removeEventListener("pointerenter", e(this, H));
46
+ e(this, y).prefetch(e(this, f)), e(this, h).removeEventListener("pointerenter", e(this, H));
47
47
  });
48
- var u, h;
49
- c(this, w, i), c(this, o, t), c(this, f, e(this, o).getAttribute("href") || "/"), c(this, T, e(this, o).getAttribute(
48
+ var u, o;
49
+ c(this, y, i), c(this, h, t), c(this, f, e(this, h).getAttribute("href") || "/"), c(this, T, e(this, h).getAttribute(
50
50
  "data-history-action"
51
- ) || "push"), c(this, C, e(this, o).getAttribute("data-state") || void 0), e(this, o).addEventListener("click", e(this, S));
51
+ ) || "push"), c(this, C, e(this, h).getAttribute("data-state") || void 0), e(this, h).addEventListener("click", e(this, S));
52
52
  const n = i.normalizePath(e(this, f)), l = i.normalizePath(location.pathname);
53
- c(this, k, (u = e(this, o).getAttribute("data-match-paths")) == null ? void 0 : u.split(",").map((g) => i.normalizePath(g.trim()).pathname)), e(this, o).hasAttribute("data-include") ? l.pathname.includes(n.pathname) && e(this, o).classList.add("current") : n.pathname === l.pathname || (h = e(this, k)) != null && h.includes(l.pathname) ? (e(this, o).classList.add("current"), e(this, o).classList.add("clicked")) : e(this, o).classList.remove("clicked"), e(this, o).hasAttribute("data-prefetch") && e(this, o).addEventListener("pointerenter", e(this, H));
53
+ c(this, k, (u = e(this, h).getAttribute("data-match-paths")) == null ? void 0 : u.split(",").map((g) => i.normalizePath(g.trim()).pathname)), e(this, h).hasAttribute("data-include") ? l.pathname.includes(n.pathname) && e(this, h).classList.add("current") : n.pathname === l.pathname || (o = e(this, k)) != null && o.includes(l.pathname) ? (e(this, h).classList.add("current"), e(this, h).classList.add("clicked")) : e(this, h).classList.remove("clicked"), e(this, h).hasAttribute("data-prefetch") && e(this, h).addEventListener("pointerenter", e(this, H));
54
+ }
55
+ get element() {
56
+ return e(this, h);
54
57
  }
55
58
  destroy() {
56
- e(this, o).removeEventListener("click", e(this, S)), e(this, o).removeEventListener("pointerenter", e(this, H)), e(this, o).classList.remove("current");
59
+ e(this, h).removeEventListener("click", e(this, S)), e(this, h).removeEventListener("pointerenter", e(this, H)), e(this, h).classList.remove("current");
57
60
  }
58
61
  }
59
- w = new WeakMap(), o = new WeakMap(), f = new WeakMap(), T = new WeakMap(), C = new WeakMap(), k = new WeakMap(), S = new WeakMap(), H = new WeakMap();
60
- var z, x, D, R, P, Y, y, b, p, _, F, I, q, d, V, X, dt, Z, j;
61
- class yt {
62
+ y = new WeakMap(), h = new WeakMap(), f = new WeakMap(), T = new WeakMap(), C = new WeakMap(), k = new WeakMap(), S = new WeakMap(), H = new WeakMap();
63
+ var z, x, D, R, E, Y, P, A, p, _, F, I, q, d, V, X, dt, Z, j;
64
+ class Pt {
62
65
  constructor(t) {
63
66
  r(this, d);
64
67
  r(this, z, null);
65
68
  r(this, x, null);
66
69
  r(this, D, null);
67
70
  r(this, R, null);
68
- r(this, P, []);
71
+ r(this, E, []);
69
72
  r(this, Y, new DOMParser());
70
- r(this, y, /* @__PURE__ */ new Map());
71
- r(this, b);
73
+ r(this, P, /* @__PURE__ */ new Map());
74
+ r(this, A);
72
75
  r(this, p, null);
73
76
  r(this, _);
74
77
  r(this, F);
@@ -78,7 +81,7 @@ class yt {
78
81
  t.state && this.navigate(t.state, { historyAction: "none" });
79
82
  });
80
83
  if (gt) {
81
- c(this, z, Et(t == null ? void 0 : t.base)), c(this, x, (t == null ? void 0 : t.waitForHeadToLoad) !== !1), c(this, D, (t == null ? void 0 : t.cachePages) !== !1), c(this, R, L(this, d, X).call(this, document.body));
84
+ c(this, z, Et(t == null ? void 0 : t.base)), c(this, x, (t == null ? void 0 : t.waitForHeadToLoad) !== !1), c(this, D, (t == null ? void 0 : t.cachePages) !== !1), c(this, R, b(this, d, X).call(this, document.body));
82
85
  const i = this.normalizePath(location.pathname);
83
86
  c(this, p, i.pathname), document.documentElement.setAttribute(
84
87
  "data-current-pathname",
@@ -104,10 +107,10 @@ class yt {
104
107
  return e(this, F);
105
108
  }
106
109
  get links() {
107
- return e(this, P);
110
+ return e(this, E);
108
111
  }
109
112
  normalizePath(t) {
110
- return vt(t, e(this, z));
113
+ return Lt(t, e(this, z));
111
114
  }
112
115
  beforeNavigationEvent(t) {
113
116
  return e(this, I).subscribe(t);
@@ -118,46 +121,46 @@ class yt {
118
121
  prefetch(t) {
119
122
  return N(this, null, function* () {
120
123
  const i = this.normalizePath(t);
121
- return L(this, d, V).call(this, i.pathname);
124
+ return b(this, d, V).call(this, i.pathname);
122
125
  });
123
126
  }
124
127
  navigate(l) {
125
128
  return N(this, arguments, function* (t, { historyAction: i = "push", state: n } = {}) {
126
129
  var $;
127
130
  const u = this.normalizePath(t);
128
- let { pathname: h, hash: g, parameters: m, leaf: A } = u;
129
- if (e(this, b) === h || e(this, p) === h)
131
+ let { pathname: o, hash: g, parameters: m, leaf: w } = u;
132
+ if (e(this, A) === o || e(this, p) === o)
130
133
  return;
131
- c(this, F, n), c(this, b, h);
132
- const B = e(this, y).has(h);
134
+ c(this, F, n), c(this, A, o);
135
+ const B = e(this, P).has(o);
133
136
  try {
134
137
  lt.add("__morph");
135
138
  let O = !0;
136
139
  if (e(this, I).notify({
137
- pathname: h,
140
+ pathname: o,
138
141
  isCached: B,
139
142
  state: n
140
143
  }), this.preprocessor)
141
144
  try {
142
- yield new Promise((a, E) => {
145
+ yield new Promise((a, L) => {
143
146
  var v;
144
- (v = this.preprocessor) == null || v.call(this, { pathname: h, resolve: a, reject: E, isCached: B, state: n });
147
+ (v = this.preprocessor) == null || v.call(this, { pathname: o, resolve: a, reject: L, isCached: B, state: n });
145
148
  });
146
149
  } catch (a) {
147
150
  a ? console.error(a) : console.log("Route change canceled"), O = !1;
148
151
  }
149
- if (!O || e(this, b) !== h)
152
+ if (!O || e(this, A) !== o)
150
153
  return;
151
- const tt = e(this, y).get(h) || (yield L(this, d, V).call(this, h));
152
- if (e(this, b) !== h)
154
+ const tt = e(this, P).get(o) || (yield b(this, d, V).call(this, o));
155
+ if (e(this, A) !== o)
153
156
  return;
154
157
  const et = Array.from(document.head.children), it = Array.from(
155
158
  tt.head.cloneNode(!0).children
156
- ), st = L(this, d, dt).call(this, et, it), mt = L(this, d, Z).call(this, et, st), W = L(this, d, Z).call(this, it, st);
157
- W.forEach((a, E) => {
159
+ ), st = b(this, d, dt).call(this, et, it), mt = b(this, d, Z).call(this, et, st), W = b(this, d, Z).call(this, it, st);
160
+ W.forEach((a, L) => {
158
161
  if (a.tagName === "SCRIPT" && a.getAttribute("src")) {
159
162
  const v = document.createElement("script");
160
- v.type = "module", v.src = a.getAttribute("src"), W[E] = v;
163
+ v.type = "module", v.src = a.getAttribute("src"), W[L] = v;
161
164
  }
162
165
  }), W.forEach((a) => {
163
166
  document.head.appendChild(a);
@@ -166,12 +169,12 @@ class yt {
166
169
  (a) => (a.tagName === "STYLE" || a.tagName === "SCRIPT" || a.tagName === "LINK") && a.getAttribute("rel") !== "canonical"
167
170
  );
168
171
  e(this, x) && G.length && (yield new Promise((a) => N(this, null, function* () {
169
- let E = 0;
172
+ let L = 0;
170
173
  try {
171
174
  for (var v = ht(G), pt, J, K; pt = !(J = yield v.next()).done; pt = !1) {
172
175
  const M = J.value;
173
176
  M.onload = () => {
174
- E++, E === G.length && a();
177
+ L++, L === G.length && a();
175
178
  };
176
179
  }
177
180
  } catch (J) {
@@ -186,10 +189,10 @@ class yt {
186
189
  }
187
190
  }))), mt.forEach((a) => {
188
191
  a.hasAttribute("data-permanent") || a.remove();
189
- }), c(this, _, e(this, p)), c(this, p, h), ct(i, h, m, g);
190
- const ft = L(this, d, X).call(this, tt.body.cloneNode(!0));
191
- e(this, R).forEach((a, E) => {
192
- const v = ft[E];
192
+ }), c(this, _, e(this, p)), c(this, p, o), ct(i, o, m, g);
193
+ const ft = b(this, d, X).call(this, tt.body.cloneNode(!0));
194
+ e(this, R).forEach((a, L) => {
195
+ const v = ft[L];
193
196
  let pt = [...a.childNodes], J = [...v.childNodes];
194
197
  pt.forEach((K) => {
195
198
  if (K instanceof HTMLElement) {
@@ -201,18 +204,24 @@ class yt {
201
204
  } else
202
205
  K.remove();
203
206
  }), a.append(...J);
204
- }), this.findLinks(), document.documentElement.setAttribute("data-current-pathname", h), document.documentElement.setAttribute("data-current-leaf", A), ($ = this.postprocessor) == null || $.call(this, { pathname: h, isCached: B, state: n }), e(this, q).notify({ pathname: h, isCached: B, state: n }), lt.complete("__morph");
207
+ }), this.findLinks(), document.documentElement.setAttribute("data-current-pathname", o), document.documentElement.setAttribute("data-current-leaf", w), ($ = this.postprocessor) == null || $.call(this, { pathname: o, isCached: B, state: n }), e(this, q).notify({ pathname: o, isCached: B, state: n }), lt.complete("__morph");
205
208
  } catch (O) {
206
209
  console.error(O);
207
210
  }
208
- c(this, b, void 0);
211
+ c(this, A, void 0);
209
212
  });
210
213
  }
214
+ addLink(t) {
215
+ e(this, E).push(new ut(t, this));
216
+ }
211
217
  addLinks(t) {
212
218
  t.forEach((i) => {
213
- e(this, P).push(new ut(i, this));
219
+ this.addLink(i);
214
220
  });
215
221
  }
222
+ removeLink(t) {
223
+ c(this, E, e(this, E).filter((i) => i.element === t ? (i.destroy(), !1) : !0));
224
+ }
216
225
  findLinks() {
217
226
  const t = [
218
227
  ...document.documentElement.querySelectorAll("a")
@@ -222,19 +231,20 @@ class yt {
222
231
  return ((n = i.getAttribute("href")) == null ? void 0 : n.startsWith("/")) && !i.hasAttribute("download") && !i.hasAttribute("data-morph-skip");
223
232
  }
224
233
  );
225
- e(this, P).forEach((i) => i.destroy()), c(this, P, t.map((i) => new ut(i, this)));
234
+ e(this, E).forEach((i) => i.destroy()), c(this, E, t.map((i) => new ut(i, this)));
226
235
  }
227
236
  }
228
- z = new WeakMap(), x = new WeakMap(), D = new WeakMap(), R = new WeakMap(), P = new WeakMap(), Y = new WeakMap(), y = new WeakMap(), b = new WeakMap(), p = new WeakMap(), _ = new WeakMap(), F = new WeakMap(), I = new WeakMap(), q = new WeakMap(), d = new WeakSet(), V = function(t) {
237
+ z = new WeakMap(), x = new WeakMap(), D = new WeakMap(), R = new WeakMap(), E = new WeakMap(), Y = new WeakMap(), P = new WeakMap(), A = new WeakMap(), p = new WeakMap(), _ = new WeakMap(), F = new WeakMap(), I = new WeakMap(), q = new WeakMap(), d = new WeakSet(), V = function(t) {
229
238
  return N(this, null, function* () {
230
- const i = e(this, y).get(t);
239
+ const i = e(this, P).get(t);
231
240
  if (i)
232
241
  return i;
233
242
  const l = yield (yield fetch(t)).text(), u = e(this, Y).parseFromString(l, "text/html");
234
- return e(this, D) && e(this, y).set(t, u), u;
243
+ return e(this, D) && e(this, P).set(t, u), u;
235
244
  });
236
245
  }, X = function(t) {
237
- return [...t.querySelectorAll("[data-morph]")];
246
+ const i = [...t.querySelectorAll("[data-morph]")];
247
+ return i.length ? i : [t];
238
248
  }, dt = function(t, i) {
239
249
  return t.filter(
240
250
  (n) => i.find(
@@ -249,5 +259,5 @@ z = new WeakMap(), x = new WeakMap(), D = new WeakMap(), R = new WeakMap(), P =
249
259
  );
250
260
  }, j = new WeakMap();
251
261
  export {
252
- yt as Morph
262
+ Pt as Morph
253
263
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aptechka",
3
- "version": "0.40.6",
3
+ "version": "0.40.7",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/denisavitski/aptechka.git"