aptechka 0.4.40 → 0.4.41

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.
@@ -20,6 +20,7 @@ export declare class Morph {
20
20
  preprocessor?: MorphPreprocessor;
21
21
  postprocessor?: MorphPostprocessor;
22
22
  constructor(parameters?: MorphParameters);
23
+ get currentPathname(): string;
23
24
  normalizePath(path: string): {
24
25
  leaf: string;
25
26
  pathname: string;
@@ -1 +1 @@
1
- "use strict";var rt=(n,t)=>(t=Symbol[n])?t:Symbol.for("Symbol."+n);var J=(n,t,e)=>{if(!t.has(n))throw TypeError("Cannot "+e)};var s=(n,t,e)=>(J(n,t,"read from private field"),e?e.call(n):t.get(n)),o=(n,t,e)=>{if(t.has(n))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(n):t.set(n,e)},c=(n,t,e,r)=>(J(n,t,"write to private field"),r?r.call(n,e):t.set(n,e),e);var p=(n,t,e)=>(J(n,t,"access private method"),e);var H=(n,t,e)=>new Promise((r,i)=>{var h=f=>{try{u(e.next(f))}catch(m){i(m)}},d=f=>{try{u(e.throw(f))}catch(m){i(m)}},u=f=>f.done?r(f.value):Promise.resolve(f.value).then(h,d);u((e=e.apply(n,t)).next())});var ot=(n,t,e)=>(t=n[rt("asyncIterator")])?t.call(n):(n=n[rt("iterator")](),t={},e=(r,i)=>(i=n[r])&&(t[r]=h=>new Promise((d,u,f)=>(h=i.call(n,h),f=h.done,Promise.resolve(h.value).then(m=>d({value:m,done:f}),u)))),e("next"),e("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const at=require("../notifier/index.cjs"),mt=require("../browser-CpzFX2xg.cjs");require("../path-data-polyfill-CXsOR7Oc.cjs");var y,l,b,A,N,M;class pt{constructor(t,e){o(this,y,void 0);o(this,l,void 0);o(this,b,void 0);o(this,A,void 0);o(this,N,t=>{t.preventDefault(),s(this,y).navigate(s(this,b),s(this,A))});o(this,M,()=>{s(this,y).prefetch(s(this,b)),s(this,l).removeEventListener("pointerenter",s(this,M))});var d;c(this,y,e),c(this,l,t),c(this,b,s(this,l).getAttribute("href")||"/"),c(this,A,s(this,l).getAttribute("data-history-action")||"push"),s(this,l).addEventListener("click",s(this,N));const r=e.normalizePath(s(this,b)),i=e.normalizePath(location.pathname),h=(d=s(this,l).getAttribute("data-match-paths"))==null?void 0:d.split(",").map(u=>e.normalizePath(u.trim()).pathname);s(this,l).hasAttribute("data-include")?i.pathname.includes(r.pathname)&&s(this,l).classList.add("current"):(r.pathname===i.pathname||h!=null&&h.includes(i.pathname))&&s(this,l).classList.add("current"),s(this,l).hasAttribute("data-prefetch")&&s(this,l).addEventListener("pointerenter",s(this,M))}destroy(){s(this,l).removeEventListener("click",s(this,N)),s(this,l).removeEventListener("pointerenter",s(this,M)),s(this,l).classList.remove("current")}}y=new WeakMap,l=new WeakMap,b=new WeakMap,A=new WeakMap,N=new WeakMap,M=new WeakMap;var g,S,C,k,W,$,w,L,P,z,q,x,Q,D,U,R,V,j,ht,F,X,B;class gt{constructor(t){o(this,x);o(this,D);o(this,R);o(this,j);o(this,F);o(this,g,null);o(this,S,null);o(this,C,null);o(this,k,null);o(this,W,[]);o(this,$,new DOMParser);o(this,w,new Map);o(this,L,void 0);o(this,P,null);o(this,z,new at.Notifier);o(this,q,new at.Notifier);o(this,B,t=>{t.state&&this.navigate(t.state,"none")});mt.isBrowser&&(c(this,g,(t==null?void 0:t.base)||"/"),t!=null&&t.base?(c(this,g,t.base),t.base.endsWith("/")||c(this,g,s(this,g)+"/")):c(this,g,"/"),c(this,S,(t==null?void 0:t.waitForHeadToLoad)!==!1),c(this,C,(t==null?void 0:t.cachePages)!==!1),c(this,k,p(this,R,V).call(this,document.body)),c(this,P,location.pathname),p(this,D,U).call(this),addEventListener("popstate",s(this,B)))}normalizePath(t){t=t.replace(s(this,g),""),t.startsWith("/")&&(t=t.slice(1));const e=t.split("#"),r=e[0].split("?"),i=r[0].endsWith("/")?r[0].slice(0,-1):r[0],h=s(this,g)+i,d=r==null?void 0:r[1],u=e==null?void 0:e[1];return{leaf:i,pathname:h,parameters:d,hash:u}}beforeNavigationEvent(t){return s(this,z).subscribe(t)}afterNavigationEvent(t){return s(this,q).subscribe(t)}prefetch(t){return H(this,null,function*(){const e=this.normalizePath(t);return p(this,x,Q).call(this,e.pathname)})}navigate(t,e="push"){return H(this,null,function*(){var f;const r=this.normalizePath(t);let{pathname:i,hash:h,parameters:d}=r;if(s(this,L)===i||s(this,P)===i)return;c(this,L,i);const u=s(this,w).has(i);try{let m=!0;if(s(this,z).notify({pathname:i,isCached:u}),this.preprocessor)try{yield new Promise((a,E)=>{var v;(v=this.preprocessor)==null||v.call(this,{pathname:i,resolve:a,reject:E,isCached:u})})}catch(a){a?console.error(a):console.log("Route change canceled"),m=!1}if(!m||s(this,L)!==i)return;const Z=s(this,w).get(i)||(yield p(this,x,Q).call(this,i));if(s(this,L)!==i)return;const tt=Array.from(document.head.children),et=Array.from(Z.head.cloneNode(!0).children),st=p(this,j,ht).call(this,tt,et),ct=p(this,F,X).call(this,tt,st),I=p(this,F,X).call(this,et,st);ct.forEach(a=>{a.hasAttribute("data-permanent")||a.remove()}),I.forEach((a,E)=>{if(a.tagName==="SCRIPT"&&a.getAttribute("src")){const v=document.createElement("script");v.type="module",v.src=a.getAttribute("src"),I[E]=v}}),I.forEach(a=>{document.head.appendChild(a)});const K=I.filter(a=>a.tagName==="STYLE"||a.tagName==="SCRIPT"||a.tagName==="LINK");s(this,S)&&K.length&&(yield new Promise(a=>H(this,null,function*(){let E=0;try{for(var v=ot(K),dt,Y,T;dt=!(Y=yield v.next()).done;dt=!1){const _=Y.value;_.onload=()=>{E++,E===K.length&&a()}}}catch(Y){T=[Y]}finally{try{dt&&(Y=v.return)&&(yield Y.call(v))}finally{if(T)throw T[0]}}}))),c(this,P,i);const O=d||location.search,lt=h?h.startsWith("#")?h:"#"+h:"",ut=O?O.startsWith("?")?O:"?"+O:"",it=`${i}${lt}${ut}`;e==="push"?history.pushState(i,"",it):e==="replace"&&history.replaceState(i,"",it);const ft=p(this,R,V).call(this,Z.body.cloneNode(!0));s(this,k).forEach((a,E)=>{const v=ft[E];let dt=[...a.childNodes],Y=[...v.childNodes];dt.forEach(T=>{if(T instanceof HTMLElement){const _=T.hasAttribute("data-remain");let nt;Y=Y.filter(G=>G instanceof HTMLElement&&G.outerHTML===T.outerHTML?(nt=G,!1):!0),_&&nt||T.remove()}else T.remove()}),a.append(...Y)}),p(this,D,U).call(this),(f=this.postprocessor)==null||f.call(this,{pathname:i,isCached:u}),s(this,q).notify({pathname:i,isCached:u})}catch(m){console.error(m)}c(this,L,void 0)})}}g=new WeakMap,S=new WeakMap,C=new WeakMap,k=new WeakMap,W=new WeakMap,$=new WeakMap,w=new WeakMap,L=new WeakMap,P=new WeakMap,z=new WeakMap,q=new WeakMap,x=new WeakSet,Q=function(t){return H(this,null,function*(){const e=s(this,w).get(t);if(e)return e;const i=yield(yield fetch(t)).text(),h=s(this,$).parseFromString(i,"text/html");return s(this,C)&&s(this,w).set(t,h),h})},D=new WeakSet,U=function(){const t=[...document.documentElement.querySelectorAll("a")].filter(e=>{var r;return(r=e.getAttribute("href"))==null?void 0:r.startsWith("/")});s(this,W).forEach(e=>e.destroy()),c(this,W,t.map(e=>new pt(e,this)))},R=new WeakSet,V=function(t){return[...t.querySelectorAll("[data-morph]")]},j=new WeakSet,ht=function(t,e){return t.filter(r=>e.find(i=>i.outerHTML===r.outerHTML))},F=new WeakSet,X=function(t,e){return t.filter(r=>!e.find(i=>i.outerHTML===r.outerHTML))},B=new WeakMap;exports.Morph=gt;
1
+ "use strict";var rt=(n,t)=>(t=Symbol[n])?t:Symbol.for("Symbol."+n);var J=(n,t,e)=>{if(!t.has(n))throw TypeError("Cannot "+e)};var i=(n,t,e)=>(J(n,t,"read from private field"),e?e.call(n):t.get(n)),o=(n,t,e)=>{if(t.has(n))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(n):t.set(n,e)},c=(n,t,e,r)=>(J(n,t,"write to private field"),r?r.call(n,e):t.set(n,e),e);var p=(n,t,e)=>(J(n,t,"access private method"),e);var T=(n,t,e)=>new Promise((r,s)=>{var h=d=>{try{u(e.next(d))}catch(m){s(m)}},f=d=>{try{u(e.throw(d))}catch(m){s(m)}},u=d=>d.done?r(d.value):Promise.resolve(d.value).then(h,f);u((e=e.apply(n,t)).next())});var ot=(n,t,e)=>(t=n[rt("asyncIterator")])?t.call(n):(n=n[rt("iterator")](),t={},e=(r,s)=>(s=n[r])&&(t[r]=h=>new Promise((f,u,d)=>(h=s.call(n,h),d=h.done,Promise.resolve(h.value).then(m=>f({value:m,done:d}),u)))),e("next"),e("return"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const at=require("../notifier/index.cjs"),mt=require("../browser-CpzFX2xg.cjs");require("../path-data-polyfill-CXsOR7Oc.cjs");var P,l,w,H,N,M;class pt{constructor(t,e){o(this,P,void 0);o(this,l,void 0);o(this,w,void 0);o(this,H,void 0);o(this,N,t=>{t.preventDefault(),i(this,P).navigate(i(this,w),i(this,H))});o(this,M,()=>{i(this,P).prefetch(i(this,w)),i(this,l).removeEventListener("pointerenter",i(this,M))});var f;c(this,P,e),c(this,l,t),c(this,w,i(this,l).getAttribute("href")||"/"),c(this,H,i(this,l).getAttribute("data-history-action")||"push"),i(this,l).addEventListener("click",i(this,N));const r=e.normalizePath(i(this,w)),s=e.normalizePath(location.pathname),h=(f=i(this,l).getAttribute("data-match-paths"))==null?void 0:f.split(",").map(u=>e.normalizePath(u.trim()).pathname);i(this,l).hasAttribute("data-include")?s.pathname.includes(r.pathname)&&i(this,l).classList.add("current"):(r.pathname===s.pathname||h!=null&&h.includes(s.pathname))&&i(this,l).classList.add("current"),i(this,l).hasAttribute("data-prefetch")&&i(this,l).addEventListener("pointerenter",i(this,M))}destroy(){i(this,l).removeEventListener("click",i(this,N)),i(this,l).removeEventListener("pointerenter",i(this,M)),i(this,l).classList.remove("current")}}P=new WeakMap,l=new WeakMap,w=new WeakMap,H=new WeakMap,N=new WeakMap,M=new WeakMap;var g,S,C,k,z,$,y,v,L,W,q,x,Q,D,U,R,V,j,ht,F,X,B;class gt{constructor(t){o(this,x);o(this,D);o(this,R);o(this,j);o(this,F);o(this,g,null);o(this,S,null);o(this,C,null);o(this,k,null);o(this,z,[]);o(this,$,new DOMParser);o(this,y,new Map);o(this,v,void 0);o(this,L,null);o(this,W,new at.Notifier);o(this,q,new at.Notifier);o(this,B,t=>{t.state&&this.navigate(t.state,"none")});mt.isBrowser&&(c(this,g,(t==null?void 0:t.base)||"/"),t!=null&&t.base?(c(this,g,t.base),t.base.endsWith("/")||c(this,g,i(this,g)+"/")):c(this,g,"/"),c(this,S,(t==null?void 0:t.waitForHeadToLoad)!==!1),c(this,C,(t==null?void 0:t.cachePages)!==!1),c(this,k,p(this,R,V).call(this,document.body)),c(this,L,this.normalizePath(location.pathname).pathname),document.documentElement.setAttribute("data-current-pathname",i(this,L)),p(this,D,U).call(this),addEventListener("popstate",i(this,B)))}get currentPathname(){return i(this,L)}normalizePath(t){t=t.replace(i(this,g),""),t.startsWith("/")&&(t=t.slice(1));const e=t.split("#"),r=e[0].split("?"),s=r[0].endsWith("/")?r[0].slice(0,-1):r[0],h=i(this,g)+s,f=r==null?void 0:r[1],u=e==null?void 0:e[1];return{leaf:s,pathname:h,parameters:f,hash:u}}beforeNavigationEvent(t){return i(this,W).subscribe(t)}afterNavigationEvent(t){return i(this,q).subscribe(t)}prefetch(t){return T(this,null,function*(){const e=this.normalizePath(t);return p(this,x,Q).call(this,e.pathname)})}navigate(t,e="push"){return T(this,null,function*(){var d;const r=this.normalizePath(t);let{pathname:s,hash:h,parameters:f}=r;if(i(this,v)===s||i(this,L)===s)return;c(this,v,s);const u=i(this,y).has(s);try{let m=!0;if(i(this,W).notify({pathname:s,isCached:u}),this.preprocessor)try{yield new Promise((a,E)=>{var b;(b=this.preprocessor)==null||b.call(this,{pathname:s,resolve:a,reject:E,isCached:u})})}catch(a){a?console.error(a):console.log("Route change canceled"),m=!1}if(!m||i(this,v)!==s)return;const Z=i(this,y).get(s)||(yield p(this,x,Q).call(this,s));if(i(this,v)!==s)return;const tt=Array.from(document.head.children),et=Array.from(Z.head.cloneNode(!0).children),it=p(this,j,ht).call(this,tt,et),ct=p(this,F,X).call(this,tt,it),I=p(this,F,X).call(this,et,it);ct.forEach(a=>{a.hasAttribute("data-permanent")||a.remove()}),I.forEach((a,E)=>{if(a.tagName==="SCRIPT"&&a.getAttribute("src")){const b=document.createElement("script");b.type="module",b.src=a.getAttribute("src"),I[E]=b}}),I.forEach(a=>{document.head.appendChild(a)});const K=I.filter(a=>a.tagName==="STYLE"||a.tagName==="SCRIPT"||a.tagName==="LINK");i(this,S)&&K.length&&(yield new Promise(a=>T(this,null,function*(){let E=0;try{for(var b=ot(K),ft,Y,A;ft=!(Y=yield b.next()).done;ft=!1){const _=Y.value;_.onload=()=>{E++,E===K.length&&a()}}}catch(Y){A=[Y]}finally{try{ft&&(Y=b.return)&&(yield Y.call(b))}finally{if(A)throw A[0]}}}))),c(this,L,s);const O=f||location.search,lt=h?h.startsWith("#")?h:"#"+h:"",ut=O?O.startsWith("?")?O:"?"+O:"",st=`${s}${lt}${ut}`;e==="push"?history.pushState(s,"",st):e==="replace"&&history.replaceState(s,"",st);const dt=p(this,R,V).call(this,Z.body.cloneNode(!0));i(this,k).forEach((a,E)=>{const b=dt[E];let ft=[...a.childNodes],Y=[...b.childNodes];ft.forEach(A=>{if(A instanceof HTMLElement){const _=A.hasAttribute("data-remain");let nt;Y=Y.filter(G=>G instanceof HTMLElement&&G.outerHTML===A.outerHTML?(nt=G,!1):!0),_&&nt||A.remove()}else A.remove()}),a.append(...Y)}),p(this,D,U).call(this),document.documentElement.setAttribute("data-current-pathname",s),(d=this.postprocessor)==null||d.call(this,{pathname:s,isCached:u}),i(this,q).notify({pathname:s,isCached:u})}catch(m){console.error(m)}c(this,v,void 0)})}}g=new WeakMap,S=new WeakMap,C=new WeakMap,k=new WeakMap,z=new WeakMap,$=new WeakMap,y=new WeakMap,v=new WeakMap,L=new WeakMap,W=new WeakMap,q=new WeakMap,x=new WeakSet,Q=function(t){return T(this,null,function*(){const e=i(this,y).get(t);if(e)return e;const s=yield(yield fetch(t)).text(),h=i(this,$).parseFromString(s,"text/html");return i(this,C)&&i(this,y).set(t,h),h})},D=new WeakSet,U=function(){const t=[...document.documentElement.querySelectorAll("a")].filter(e=>{var r;return(r=e.getAttribute("href"))==null?void 0:r.startsWith("/")});i(this,z).forEach(e=>e.destroy()),c(this,z,t.map(e=>new pt(e,this)))},R=new WeakSet,V=function(t){return[...t.querySelectorAll("[data-morph]")]},j=new WeakSet,ht=function(t,e){return t.filter(r=>e.find(s=>s.outerHTML===r.outerHTML))},F=new WeakSet,X=function(t,e){return t.filter(r=>!e.find(s=>s.outerHTML===r.outerHTML))},B=new WeakMap;exports.Morph=gt;
@@ -3,184 +3,190 @@ var Q = (n, t, e) => {
3
3
  if (!t.has(n))
4
4
  throw TypeError("Cannot " + e);
5
5
  };
6
- var s = (n, t, e) => (Q(n, t, "read from private field"), e ? e.call(n) : t.get(n)), o = (n, t, e) => {
6
+ var s = (n, t, e) => (Q(n, t, "read from private field"), e ? e.call(n) : t.get(n)), a = (n, t, e) => {
7
7
  if (t.has(n))
8
8
  throw TypeError("Cannot add the same private member more than once");
9
9
  t instanceof WeakSet ? t.add(n) : t.set(n, e);
10
10
  }, c = (n, t, e, r) => (Q(n, t, "write to private field"), r ? r.call(n, e) : t.set(n, e), e);
11
11
  var p = (n, t, e) => (Q(n, t, "access private method"), e);
12
- var T = (n, t, e) => new Promise((r, i) => {
13
- var h = (f) => {
12
+ var H = (n, t, e) => new Promise((r, i) => {
13
+ var h = (d) => {
14
14
  try {
15
- u(e.next(f));
15
+ u(e.next(d));
16
16
  } catch (m) {
17
17
  i(m);
18
18
  }
19
- }, d = (f) => {
19
+ }, f = (d) => {
20
20
  try {
21
- u(e.throw(f));
21
+ u(e.throw(d));
22
22
  } catch (m) {
23
23
  i(m);
24
24
  }
25
- }, u = (f) => f.done ? r(f.value) : Promise.resolve(f.value).then(h, d);
25
+ }, u = (d) => d.done ? r(d.value) : Promise.resolve(d.value).then(h, f);
26
26
  u((e = e.apply(n, t)).next());
27
27
  });
28
- var ot = (n, t, e) => (t = n[rt("asyncIterator")]) ? t.call(n) : (n = n[rt("iterator")](), t = {}, e = (r, i) => (i = n[r]) && (t[r] = (h) => new Promise((d, u, f) => (h = i.call(n, h), f = h.done, Promise.resolve(h.value).then((m) => d({ value: m, done: f }), u)))), e("next"), e("return"), t);
29
- import { Notifier as at } from "../notifier/index.js";
28
+ var at = (n, t, e) => (t = n[rt("asyncIterator")]) ? t.call(n) : (n = n[rt("iterator")](), t = {}, e = (r, i) => (i = n[r]) && (t[r] = (h) => new Promise((f, u, d) => (h = i.call(n, h), d = h.done, Promise.resolve(h.value).then((m) => f({ value: m, done: d }), u)))), e("next"), e("return"), t);
29
+ import { Notifier as ot } from "../notifier/index.js";
30
30
  import { i as mt } from "../browser-0zX67oeU.js";
31
31
  import "../path-data-polyfill-DgeDWYeI.js";
32
- var y, l, b, A, N, M;
32
+ var P, l, w, T, N, A;
33
33
  class pt {
34
34
  constructor(t, e) {
35
- o(this, y, void 0);
36
- o(this, l, void 0);
37
- o(this, b, void 0);
38
- o(this, A, void 0);
39
- o(this, N, (t) => {
40
- t.preventDefault(), s(this, y).navigate(s(this, b), s(this, A));
35
+ a(this, P, void 0);
36
+ a(this, l, void 0);
37
+ a(this, w, void 0);
38
+ a(this, T, void 0);
39
+ a(this, N, (t) => {
40
+ t.preventDefault(), s(this, P).navigate(s(this, w), s(this, T));
41
41
  });
42
- o(this, M, () => {
43
- s(this, y).prefetch(s(this, b)), s(this, l).removeEventListener("pointerenter", s(this, M));
42
+ a(this, A, () => {
43
+ s(this, P).prefetch(s(this, w)), s(this, l).removeEventListener("pointerenter", s(this, A));
44
44
  });
45
- var d;
46
- c(this, y, e), c(this, l, t), c(this, b, s(this, l).getAttribute("href") || "/"), c(this, A, s(this, l).getAttribute(
45
+ var f;
46
+ c(this, P, e), c(this, l, t), c(this, w, s(this, l).getAttribute("href") || "/"), c(this, T, s(this, l).getAttribute(
47
47
  "data-history-action"
48
48
  ) || "push"), s(this, l).addEventListener("click", s(this, N));
49
- const r = e.normalizePath(s(this, b)), i = e.normalizePath(location.pathname), h = (d = s(this, l).getAttribute("data-match-paths")) == null ? void 0 : d.split(",").map((u) => e.normalizePath(u.trim()).pathname);
50
- s(this, l).hasAttribute("data-include") ? i.pathname.includes(r.pathname) && s(this, l).classList.add("current") : (r.pathname === i.pathname || h != null && h.includes(i.pathname)) && s(this, l).classList.add("current"), s(this, l).hasAttribute("data-prefetch") && s(this, l).addEventListener("pointerenter", s(this, M));
49
+ const r = e.normalizePath(s(this, w)), i = e.normalizePath(location.pathname), h = (f = s(this, l).getAttribute("data-match-paths")) == null ? void 0 : f.split(",").map((u) => e.normalizePath(u.trim()).pathname);
50
+ s(this, l).hasAttribute("data-include") ? i.pathname.includes(r.pathname) && s(this, l).classList.add("current") : (r.pathname === i.pathname || h != null && h.includes(i.pathname)) && s(this, l).classList.add("current"), s(this, l).hasAttribute("data-prefetch") && s(this, l).addEventListener("pointerenter", s(this, A));
51
51
  }
52
52
  destroy() {
53
- s(this, l).removeEventListener("click", s(this, N)), s(this, l).removeEventListener("pointerenter", s(this, M)), s(this, l).classList.remove("current");
53
+ s(this, l).removeEventListener("click", s(this, N)), s(this, l).removeEventListener("pointerenter", s(this, A)), s(this, l).classList.remove("current");
54
54
  }
55
55
  }
56
- y = new WeakMap(), l = new WeakMap(), b = new WeakMap(), A = new WeakMap(), N = new WeakMap(), M = new WeakMap();
57
- var E, C, S, k, W, O, w, v, P, z, x, D, U, R, V, F, X, B, ht, I, Z, K;
56
+ P = new WeakMap(), l = new WeakMap(), w = new WeakMap(), T = new WeakMap(), N = new WeakMap(), A = new WeakMap();
57
+ var E, C, S, k, z, O, y, v, b, W, x, D, U, R, V, F, X, B, ht, I, Z, K;
58
58
  class bt {
59
59
  constructor(t) {
60
- o(this, D);
61
- o(this, R);
62
- o(this, F);
63
- o(this, B);
64
- o(this, I);
65
- o(this, E, null);
66
- o(this, C, null);
67
- o(this, S, null);
68
- o(this, k, null);
69
- o(this, W, []);
70
- o(this, O, new DOMParser());
71
- o(this, w, /* @__PURE__ */ new Map());
72
- o(this, v, void 0);
73
- o(this, P, null);
74
- o(this, z, new at());
75
- o(this, x, new at());
76
- o(this, K, (t) => {
60
+ a(this, D);
61
+ a(this, R);
62
+ a(this, F);
63
+ a(this, B);
64
+ a(this, I);
65
+ a(this, E, null);
66
+ a(this, C, null);
67
+ a(this, S, null);
68
+ a(this, k, null);
69
+ a(this, z, []);
70
+ a(this, O, new DOMParser());
71
+ a(this, y, /* @__PURE__ */ new Map());
72
+ a(this, v, void 0);
73
+ a(this, b, null);
74
+ a(this, W, new ot());
75
+ a(this, x, new ot());
76
+ a(this, K, (t) => {
77
77
  t.state && this.navigate(t.state, "none");
78
78
  });
79
- mt && (c(this, E, (t == null ? void 0 : t.base) || "/"), t != null && t.base ? (c(this, E, t.base), t.base.endsWith("/") || c(this, E, s(this, E) + "/")) : c(this, E, "/"), c(this, C, (t == null ? void 0 : t.waitForHeadToLoad) !== !1), c(this, S, (t == null ? void 0 : t.cachePages) !== !1), c(this, k, p(this, F, X).call(this, document.body)), c(this, P, location.pathname), p(this, R, V).call(this), addEventListener("popstate", s(this, K)));
79
+ mt && (c(this, E, (t == null ? void 0 : t.base) || "/"), t != null && t.base ? (c(this, E, t.base), t.base.endsWith("/") || c(this, E, s(this, E) + "/")) : c(this, E, "/"), c(this, C, (t == null ? void 0 : t.waitForHeadToLoad) !== !1), c(this, S, (t == null ? void 0 : t.cachePages) !== !1), c(this, k, p(this, F, X).call(this, document.body)), c(this, b, this.normalizePath(location.pathname).pathname), document.documentElement.setAttribute(
80
+ "data-current-pathname",
81
+ s(this, b)
82
+ ), p(this, R, V).call(this), addEventListener("popstate", s(this, K)));
83
+ }
84
+ get currentPathname() {
85
+ return s(this, b);
80
86
  }
81
87
  normalizePath(t) {
82
88
  t = t.replace(s(this, E), ""), t.startsWith("/") && (t = t.slice(1));
83
- const e = t.split("#"), r = e[0].split("?"), i = r[0].endsWith("/") ? r[0].slice(0, -1) : r[0], h = s(this, E) + i, d = r == null ? void 0 : r[1], u = e == null ? void 0 : e[1];
89
+ const e = t.split("#"), r = e[0].split("?"), i = r[0].endsWith("/") ? r[0].slice(0, -1) : r[0], h = s(this, E) + i, f = r == null ? void 0 : r[1], u = e == null ? void 0 : e[1];
84
90
  return {
85
91
  leaf: i,
86
92
  pathname: h,
87
- parameters: d,
93
+ parameters: f,
88
94
  hash: u
89
95
  };
90
96
  }
91
97
  beforeNavigationEvent(t) {
92
- return s(this, z).subscribe(t);
98
+ return s(this, W).subscribe(t);
93
99
  }
94
100
  afterNavigationEvent(t) {
95
101
  return s(this, x).subscribe(t);
96
102
  }
97
103
  prefetch(t) {
98
- return T(this, null, function* () {
104
+ return H(this, null, function* () {
99
105
  const e = this.normalizePath(t);
100
106
  return p(this, D, U).call(this, e.pathname);
101
107
  });
102
108
  }
103
109
  navigate(t, e = "push") {
104
- return T(this, null, function* () {
105
- var f;
110
+ return H(this, null, function* () {
111
+ var d;
106
112
  const r = this.normalizePath(t);
107
- let { pathname: i, hash: h, parameters: d } = r;
108
- if (s(this, v) === i || s(this, P) === i)
113
+ let { pathname: i, hash: h, parameters: f } = r;
114
+ if (s(this, v) === i || s(this, b) === i)
109
115
  return;
110
116
  c(this, v, i);
111
- const u = s(this, w).has(i);
117
+ const u = s(this, y).has(i);
112
118
  try {
113
119
  let m = !0;
114
- if (s(this, z).notify({
120
+ if (s(this, W).notify({
115
121
  pathname: i,
116
122
  isCached: u
117
123
  }), this.preprocessor)
118
124
  try {
119
- yield new Promise((a, g) => {
125
+ yield new Promise((o, g) => {
120
126
  var L;
121
- (L = this.preprocessor) == null || L.call(this, { pathname: i, resolve: a, reject: g, isCached: u });
127
+ (L = this.preprocessor) == null || L.call(this, { pathname: i, resolve: o, reject: g, isCached: u });
122
128
  });
123
- } catch (a) {
124
- a ? console.error(a) : console.log("Route change canceled"), m = !1;
129
+ } catch (o) {
130
+ o ? console.error(o) : console.log("Route change canceled"), m = !1;
125
131
  }
126
132
  if (!m || s(this, v) !== i)
127
133
  return;
128
- const _ = s(this, w).get(i) || (yield p(this, D, U).call(this, i));
134
+ const _ = s(this, y).get(i) || (yield p(this, D, U).call(this, i));
129
135
  if (s(this, v) !== i)
130
136
  return;
131
137
  const tt = Array.from(document.head.children), et = Array.from(
132
138
  _.head.cloneNode(!0).children
133
139
  ), st = p(this, B, ht).call(this, tt, et), ct = p(this, I, Z).call(this, tt, st), $ = p(this, I, Z).call(this, et, st);
134
- ct.forEach((a) => {
135
- a.hasAttribute("data-permanent") || a.remove();
136
- }), $.forEach((a, g) => {
137
- if (a.tagName === "SCRIPT" && a.getAttribute("src")) {
140
+ ct.forEach((o) => {
141
+ o.hasAttribute("data-permanent") || o.remove();
142
+ }), $.forEach((o, g) => {
143
+ if (o.tagName === "SCRIPT" && o.getAttribute("src")) {
138
144
  const L = document.createElement("script");
139
- L.type = "module", L.src = a.getAttribute("src"), $[g] = L;
145
+ L.type = "module", L.src = o.getAttribute("src"), $[g] = L;
140
146
  }
141
- }), $.forEach((a) => {
142
- document.head.appendChild(a);
147
+ }), $.forEach((o) => {
148
+ document.head.appendChild(o);
143
149
  });
144
150
  const Y = $.filter(
145
- (a) => a.tagName === "STYLE" || a.tagName === "SCRIPT" || a.tagName === "LINK"
151
+ (o) => o.tagName === "STYLE" || o.tagName === "SCRIPT" || o.tagName === "LINK"
146
152
  );
147
- s(this, C) && Y.length && (yield new Promise((a) => T(this, null, function* () {
153
+ s(this, C) && Y.length && (yield new Promise((o) => H(this, null, function* () {
148
154
  let g = 0;
149
155
  try {
150
- for (var L = ot(Y), dt, j, H; dt = !(j = yield L.next()).done; dt = !1) {
156
+ for (var L = at(Y), ft, j, M; ft = !(j = yield L.next()).done; ft = !1) {
151
157
  const G = j.value;
152
158
  G.onload = () => {
153
- g++, g === Y.length && a();
159
+ g++, g === Y.length && o();
154
160
  };
155
161
  }
156
162
  } catch (j) {
157
- H = [j];
163
+ M = [j];
158
164
  } finally {
159
165
  try {
160
- dt && (j = L.return) && (yield j.call(L));
166
+ ft && (j = L.return) && (yield j.call(L));
161
167
  } finally {
162
- if (H)
163
- throw H[0];
168
+ if (M)
169
+ throw M[0];
164
170
  }
165
171
  }
166
- }))), c(this, P, i);
167
- const q = d || location.search, lt = h ? h.startsWith("#") ? h : "#" + h : "", ut = q ? q.startsWith("?") ? q : "?" + q : "", it = `${i}${lt}${ut}`;
172
+ }))), c(this, b, i);
173
+ const q = f || location.search, lt = h ? h.startsWith("#") ? h : "#" + h : "", ut = q ? q.startsWith("?") ? q : "?" + q : "", it = `${i}${lt}${ut}`;
168
174
  e === "push" ? history.pushState(i, "", it) : e === "replace" && history.replaceState(i, "", it);
169
- const ft = p(this, F, X).call(this, _.body.cloneNode(!0));
170
- s(this, k).forEach((a, g) => {
171
- const L = ft[g];
172
- let dt = [...a.childNodes], j = [...L.childNodes];
173
- dt.forEach((H) => {
174
- if (H instanceof HTMLElement) {
175
- const G = H.hasAttribute("data-remain");
175
+ const dt = p(this, F, X).call(this, _.body.cloneNode(!0));
176
+ s(this, k).forEach((o, g) => {
177
+ const L = dt[g];
178
+ let ft = [...o.childNodes], j = [...L.childNodes];
179
+ ft.forEach((M) => {
180
+ if (M instanceof HTMLElement) {
181
+ const G = M.hasAttribute("data-remain");
176
182
  let nt;
177
183
  j = j.filter(
178
- (J) => J instanceof HTMLElement && J.outerHTML === H.outerHTML ? (nt = J, !1) : !0
179
- ), G && nt || H.remove();
184
+ (J) => J instanceof HTMLElement && J.outerHTML === M.outerHTML ? (nt = J, !1) : !0
185
+ ), G && nt || M.remove();
180
186
  } else
181
- H.remove();
182
- }), a.append(...j);
183
- }), p(this, R, V).call(this), (f = this.postprocessor) == null || f.call(this, { pathname: i, isCached: u }), s(this, x).notify({ pathname: i, isCached: u });
187
+ M.remove();
188
+ }), o.append(...j);
189
+ }), p(this, R, V).call(this), document.documentElement.setAttribute("data-current-pathname", i), (d = this.postprocessor) == null || d.call(this, { pathname: i, isCached: u }), s(this, x).notify({ pathname: i, isCached: u });
184
190
  } catch (m) {
185
191
  console.error(m);
186
192
  }
@@ -188,13 +194,13 @@ class bt {
188
194
  });
189
195
  }
190
196
  }
191
- E = new WeakMap(), C = new WeakMap(), S = new WeakMap(), k = new WeakMap(), W = new WeakMap(), O = new WeakMap(), w = new WeakMap(), v = new WeakMap(), P = new WeakMap(), z = new WeakMap(), x = new WeakMap(), D = new WeakSet(), U = function(t) {
192
- return T(this, null, function* () {
193
- const e = s(this, w).get(t);
197
+ E = new WeakMap(), C = new WeakMap(), S = new WeakMap(), k = new WeakMap(), z = new WeakMap(), O = new WeakMap(), y = new WeakMap(), v = new WeakMap(), b = new WeakMap(), W = new WeakMap(), x = new WeakMap(), D = new WeakSet(), U = function(t) {
198
+ return H(this, null, function* () {
199
+ const e = s(this, y).get(t);
194
200
  if (e)
195
201
  return e;
196
202
  const i = yield (yield fetch(t)).text(), h = s(this, O).parseFromString(i, "text/html");
197
- return s(this, S) && s(this, w).set(t, h), h;
203
+ return s(this, S) && s(this, y).set(t, h), h;
198
204
  });
199
205
  }, R = new WeakSet(), V = function() {
200
206
  const t = [
@@ -203,7 +209,7 @@ E = new WeakMap(), C = new WeakMap(), S = new WeakMap(), k = new WeakMap(), W =
203
209
  var r;
204
210
  return (r = e.getAttribute("href")) == null ? void 0 : r.startsWith("/");
205
211
  });
206
- s(this, W).forEach((e) => e.destroy()), c(this, W, t.map((e) => new pt(e, this)));
212
+ s(this, z).forEach((e) => e.destroy()), c(this, z, t.map((e) => new pt(e, this)));
207
213
  }, F = new WeakSet(), X = function(t) {
208
214
  return [...t.querySelectorAll("[data-morph]")];
209
215
  }, B = new WeakSet(), ht = function(t, e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aptechka",
3
- "version": "0.4.40",
3
+ "version": "0.4.41",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/denisavitski/aptechka.git"