@paroicms/content-loading-plugin 0.8.1 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/backend/dist/plugin.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_path_1 = require("node:path");
|
|
3
4
|
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
4
5
|
const public_server_lib_1 = require("@paroicms/public-server-lib");
|
|
5
|
-
const node_path_1 = require("node:path");
|
|
6
6
|
const controller_1 = require("./controller");
|
|
7
7
|
const projectDir = (0, node_path_1.dirname)(__dirname);
|
|
8
8
|
const packageDir = (0, node_path_1.dirname)(projectDir);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/content-loading-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Content loading plugin for ParoiCMS",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"paroicms",
|
|
@@ -32,19 +32,19 @@
|
|
|
32
32
|
"@paroicms/public-server-lib": "0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@paroicms/public-anywhere-lib": "0.
|
|
36
|
-
"@paroicms/public-server-lib": "0.
|
|
35
|
+
"@paroicms/public-anywhere-lib": "0.14.0",
|
|
36
|
+
"@paroicms/public-server-lib": "0.22.1",
|
|
37
37
|
"@solid-primitives/i18n": "~2.1.1",
|
|
38
38
|
"@solidjs/router": "~0.14.1",
|
|
39
|
-
"@types/node": "~
|
|
39
|
+
"@types/node": "~22.10.7",
|
|
40
40
|
"rimraf": "~6.0.1",
|
|
41
|
-
"sass": "~1.
|
|
42
|
-
"solid-devtools": "~0.
|
|
43
|
-
"solid-js": "1.9.
|
|
44
|
-
"typescript": "~5.7.
|
|
45
|
-
"vite": "~
|
|
46
|
-
"vite-plugin-solid": "~2.
|
|
47
|
-
"terser": "~5.
|
|
41
|
+
"sass": "~1.83.4",
|
|
42
|
+
"solid-devtools": "~0.33.0",
|
|
43
|
+
"solid-js": "1.9.4",
|
|
44
|
+
"typescript": "~5.7.3",
|
|
45
|
+
"vite": "~6.0.7",
|
|
46
|
+
"vite-plugin-solid": "~2.11.0",
|
|
47
|
+
"terser": "~5.37.0"
|
|
48
48
|
},
|
|
49
49
|
"main": "backend/dist/plugin.js",
|
|
50
50
|
"files": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{delegateEvents as K,insert as C,setAttribute as z,template as R,isServer as N,getRequestEvent as Z,createComponent as b,memo as me,effect as k,className as ge,render as ne,use as Ve}from"https://esm.sh/solid-js@1.9.3/web";import{createMemo as A,getOwner as we,runWithOwner as ve,createContext as ye,useContext as $e,createSignal as L,createRenderEffect as Ge,on as T,startTransition as He,resetErrorBoundaries as Ke,batch as ze,untrack as be,createComponent as Je,children as Re,mergeProps as Qe,Show as F,createRoot as Xe,onCleanup as Se,sharedConfig as Q,createEffect as re}from"https://esm.sh/solid-js@1.9.3";function ee(e){return e.varName?` for '${e.varName}'`:""}function Ye(e){return!isNaN(e)&&!isNaN(parseFloat(e))}function Ze(e,t={}){if(e==null||e===""&&!t.allowEmpty)throw new Error(`Missing string value${ee(t)}`);return typeof e=="string"?e:e.toString()}function V(e,t={}){return e==null||e===""&&!t.allowEmpty?void 0:Ze(e,t)}function et(e,t={}){if(typeof e=="number")return e;if(e==null)throw new Error(`Missing number value${ee(t)}`);if(typeof e=="string"&&Ye(e))return Number(e);throw new Error(`Cannot convert to number the value of type '${typeof e}'${ee(t)}`)}function G(e,t={}){return e==null?void 0:et(e,t)}function tt(e){let t=e;const r=t.indexOf("?");r!==-1&&(t=t.substring(0,r));const o=t.indexOf("#");o!==-1&&(t=t.substring(0,o));const n=t.lastIndexOf("/");return n===-1?void 0:t.slice(0,n)}const Le="/api/plugin/content-loading",Ee=tt(import.meta.url);async function nt(e){const t=`${Le}${e}`,r=await fetch(t);if(r.status!==200)throw new Error(`api error ${r.status}`);return await r.text()}var Ce=e=>e!=null&&(e=Object.getPrototypeOf(e),e===Array.prototype||e===Object.prototype);function Ae(e,t,r){for(const[o,n]of Object.entries(t)){const a=`${r}.${o}`;e[a]=n,Ce(n)&&Ae(e,n,a)}}function rt(e){const t={...e};for(const[r,o]of Object.entries(e))Ce(o)&&Ae(t,o,r);return t}var ot=(e,t)=>{if(t)for(const[r,o]of Object.entries(t))e=e.replace(new RegExp(`{{\\s*${r}\\s*}}`,"g"),o);return e},at=e=>e;function st(e,t=at){return(r,...o)=>{r[0]==="."&&(r=r.slice(1));const n=e()?.[r];switch(typeof n){case"function":return n(...o);case"string":return t(n,o[0]);default:return n}}}const it={nothingGet:"No results found for",search:"Search"},ct={loadMore:"Load more"},lt={searchApp:it,infiniteLoading:ct},ut={nothingGet:"Aucun résultat trouvé pour",search:"Rechercher"},ft={loadMore:"Charger la suite"},dt={searchApp:ut,infiniteLoading:ft},ue={en:lt,fr:dt};function J(e){const t=A((()=>{const o=e in ue?e:"en";return rt(ue[o])}));return{t:st(t,ot)}}var ht=R("<button class=InfiniteLoading-btn type=button>"),pt=R("<div class=InfiniteLoading-actionArea>"),mt=R("<img class=InfiniteLoading-spinner width=50 height=50 alt=…>");function gt(e,{language:t}){const r=G(e.dataset.start),o=G(e.dataset.total),n=G(e.dataset.limit),a=V(e.dataset.parentId),s=V(e.dataset.template),c=V(e.dataset.labeledById);if(!(r===void 0||o===void 0||a===void 0||n===void 0||s===void 0)){if(!t)throw new Error("Missing language");wt({language:t,limit:n,parentId:a,root:e,start:r,total:o,templateName:s,labeledById:c})}}function wt({language:e,limit:t,root:r,start:o,total:n,parentId:a,templateName:s,labeledById:c}){const{t:u}=J(e);let i=o;if(i>=n)return;const f=(()=>{var v=ht();return v.$$click=w,C(v,(()=>u("infiniteLoading.loadMore"))),v})(),p=(()=>{var v=pt();return C(v,f),v})(),h=(()=>{var v=mt();return z(v,"src",`${Ee}/spinner.svg`),v})();r.appendChild(p);async function w(){r.appendChild(h);const v=await vt({limit:t,newStart:i,parentId:a,templateName:s,labeledById:c});for(const l of v)r.insertBefore(l,p);i+=t,i>=n&&p.remove(),h.remove()}}async function vt({limit:e,newStart:t,parentId:r,templateName:o,labeledById:n}){const a=n?`?labeled=${encodeURIComponent(n)}`:"",s=`/partials?templateName=${encodeURIComponent(o)}&children-of=${encodeURIComponent(r)}&start=${encodeURIComponent(t)}&limit=${encodeURIComponent(e)}${a}`,c=await nt(s),u=document.createElement("div");return u.innerHTML=c,[...u.children]}K(["click"]);function Pe(){let e=new Set;function t(n){return e.add(n),()=>e.delete(n)}let r=!1;function o(n,a){if(r)return!(r=!1);const s={to:n,options:a,defaultPrevented:!1,preventDefault:()=>s.defaultPrevented=!0};for(const c of e)c.listener({...s,from:c.location,retry:u=>{u&&(r=!0),c.navigate(n,{...a,resolve:!1})}});return!s.defaultPrevented}return{subscribe:t,confirm:o}}let te;function oe(){(!window.history.state||window.history.state._depth==null)&&window.history.replaceState({...window.history.state,_depth:window.history.length-1},""),te=window.history.state._depth}N||oe();function yt(e){return{...e,_depth:window.history.state&&window.history.state._depth}}function $t(e,t){let r=!1;return()=>{const o=te;oe();const n=o==null?null:te-o;if(r){r=!1;return}n&&t(n)?(r=!0,window.history.go(-n)):e()}}const bt=/^(?:[a-z0-9]+:)?\/\//i,Rt=/^\/+|(\/)\/+$/g,_e="http://sr";function B(e,t=!1){const r=e.replace(Rt,"$1");return r?t||/^[?#]/.test(r)?r:"/"+r:""}function H(e,t,r){if(bt.test(t))return;const o=B(e),n=r&&B(r);let a="";return!n||t.startsWith("/")?a=o:n.toLowerCase().indexOf(o.toLowerCase())!==0?a=o+n:a=n,(a||"/")+B(t,!a)}function St(e,t){if(e==null)throw new Error(t);return e}function Lt(e,t){return B(e).replace(/\/*(\*.*)?$/g,"")+B(t)}function Oe(e){const t={};return e.searchParams.forEach(((r,o)=>{o in t?Array.isArray(t[o])?t[o].push(r):t[o]=[t[o],r]:t[o]=r})),t}function Et(e,t,r){const[o,n]=e.split("/*",2),a=o.split("/").filter(Boolean),s=a.length;return c=>{const u=c.split("/").filter(Boolean),i=u.length-s;if(i<0||i>0&&n===void 0&&!t)return null;const f={path:s?"":"/",params:{}},p=h=>r===void 0?void 0:r[h];for(let h=0;h<s;h++){const w=a[h],v=w[0]===":",l=v?u[h]:u[h].toLowerCase(),d=v?w.slice(1):w.toLowerCase();if(v&&X(l,p(d)))f.params[d]=l;else if(v||!X(l,d))return null;f.path+=`/${l}`}if(n){const h=i?u.slice(-i).join("/"):"";if(X(h,p(n)))f.params[n]=h;else return null}return f}}function X(e,t){const r=o=>o===e;return t===void 0?!0:typeof t=="string"?r(t):typeof t=="function"?t(e):Array.isArray(t)?t.some(r):t instanceof RegExp?t.test(e):!1}function Ct(e){const[t,r]=e.pattern.split("/*",2),o=t.split("/").filter(Boolean);return o.reduce(((n,a)=>n+(a.startsWith(":")?2:3)),o.length-(r===void 0?0:1))}function xe(e){const t=new Map,r=we();return new Proxy({},{get(o,n){return t.has(n)||ve(r,(()=>t.set(n,A((()=>e()[n]))))),t.get(n)()},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}},ownKeys(){return Reflect.ownKeys(e())}})}function Ie(e){let t=/(\/?\:[^\/]+)\?/.exec(e);if(!t)return[e];let r=e.slice(0,t.index),o=e.slice(t.index+t[0].length);const n=[r,r+=t[1]];for(;t=/^(\/\:[^\/]+)\?/.exec(o);)n.push(r+=t[1]),o=o.slice(t[0].length);return Ie(o).reduce(((a,s)=>[...a,...n.map((c=>c+s))]),[])}const At=100,Ue=ye(),Fe=ye(),ae=()=>St($e(Ue),"<A> and 'use' router primitives can be only used inside a Route."),ke=()=>ae().navigatorFactory(),Pt=()=>ae().location,_t=()=>ae().params;function Ot(e,t=""){const{component:r,preload:o,load:n,children:a,info:s}=e,c=!a||Array.isArray(a)&&!a.length,u={key:e,component:r,preload:o||n,info:s};return Me(e.path).reduce(((i,f)=>{for(const p of Ie(f)){const h=Lt(t,p);let w=c?h:h.split("/*",1)[0];w=w.split("/").map((v=>v.startsWith(":")||v.startsWith("*")?v:encodeURIComponent(v))).join("/"),i.push({...u,originalPath:f,pattern:w,matcher:Et(w,!c,e.matchFilters)})}return i}),[])}function xt(e,t=0){return{routes:e,score:Ct(e[e.length-1])*1e4-t,matcher(r){const o=[];for(let n=e.length-1;n>=0;n--){const a=e[n],s=a.matcher(r);if(!s)return null;o.unshift({...s,route:a})}return o}}}function Me(e){return Array.isArray(e)?e:[e]}function Ne(e,t="",r=[],o=[]){const n=Me(e);for(let a=0,s=n.length;a<s;a++){const c=n[a];if(c&&typeof c=="object"){c.hasOwnProperty("path")||(c.path="");const u=Ot(c,t);for(const i of u){r.push(i);const f=Array.isArray(c.children)&&c.children.length===0;if(c.children&&!f)Ne(c.children,i.pattern,r,o);else{const p=xt([...r],o.length);o.push(p)}r.pop()}}}return r.length?o:o.sort(((a,s)=>s.score-a.score))}function q(e,t){for(let r=0,o=e.length;r<o;r++){const n=e[r].matcher(t);if(n)return n}return[]}function It(e,t,r){const o=new URL(_e),n=A((f=>{const p=e();try{return new URL(p,o)}catch{return console.error(`Invalid path ${p}`),f}}),o,{equals:(f,p)=>f.href===p.href}),a=A((()=>n().pathname)),s=A((()=>n().search),!0),c=A((()=>n().hash)),u=()=>"",i=T(s,(()=>Oe(n())));return{get pathname(){return a()},get search(){return s()},get hash(){return c()},get state(){return t()},get key(){return u()},query:r?r(i):xe(i)}}let O;function Ut(){return O}function Ft(e,t,r,o={}){const{signal:[n,a],utils:s={}}=e,c=s.parsePath||(g=>g),u=s.renderPath||(g=>g),i=s.beforeLeave||Pe(),f=H("",o.base||"");if(f===void 0)throw new Error(`${f} is not a valid base path`);f&&!n().value&&a({value:f,replace:!0,scroll:!1});const[p,h]=L(!1);let w;const v=(g,y)=>{y.value===l()&&y.state===$()||(w===void 0&&h(!0),O=g,w=y,He((()=>{w===y&&(d(w.value),m(w.state),Ke(),N||_[1]([]))})).finally((()=>{w===y&&ze((()=>{O=void 0,g==="navigate"&&je(w),h(!1),w=void 0}))})))},[l,d]=L(n().value),[$,m]=L(n().state),P=It(l,$,s.queryWrapper),S=[],_=L(N?We():[]),M=A((()=>typeof o.transformUrl=="function"?q(t(),o.transformUrl(P.pathname)):q(t(),P.pathname))),se=()=>{const g=M(),y={};for(let E=0;E<g.length;E++)Object.assign(y,g[E].params);return y},Be=s.paramsWrapper?s.paramsWrapper(se,t):xe(se),ie={pattern:f,path:()=>f,outlet:()=>null,resolvePath(g){return H(f,g)}};return Ge(T(n,(g=>v("native",g)),{defer:!0})),{base:ie,location:P,params:Be,isRouting:p,renderPath:u,parsePath:c,navigatorFactory:Te,matches:M,beforeLeave:i,preloadRoute:De,singleFlight:o.singleFlight===void 0?!0:o.singleFlight,submissions:_};function qe(g,y,E){be((()=>{if(typeof y=="number"){y&&(s.go?s.go(y):console.warn("Router integration does not support relative routing"));return}const j=!y||y[0]==="?",{replace:D,resolve:x,scroll:W,state:I}={replace:!1,resolve:!j,scroll:!0,...E},U=x?g.resolvePath(y):H(j&&P.pathname||"",y);if(U===void 0)throw new Error(`Path '${y}' is not a routable path`);if(S.length>=At)throw new Error("Too many redirects");const ce=l();if(U!==ce||I!==$())if(N){const le=Z();le&&(le.response={status:302,headers:new Headers({Location:U})}),a({value:U,replace:D,scroll:W,state:I})}else i.confirm(U,E)&&(S.push({value:ce,replace:D,scroll:W,state:$()}),v("navigate",{value:U,state:I}))}))}function Te(g){return g=g||$e(Fe)||ie,(y,E)=>qe(g,y,E)}function je(g){const y=S[0];y&&(a({...g,replace:y.replace,scroll:y.scroll}),S.length=0)}function De(g,y){const E=q(t(),g.pathname),j=O;O="preload";for(let D in E){const{route:x,params:W}=E[D];x.component&&x.component.preload&&x.component.preload();const{preload:I}=x;y&&I&&ve(r(),(()=>I({params:W,location:{pathname:g.pathname,search:g.search,hash:g.hash,query:Oe(g),state:null,key:""},intent:"preload"})))}O=j}function We(){const g=Z();return g&&g.router&&g.router.submission?[g.router.submission]:[]}}function kt(e,t,r,o){const{base:n,location:a,params:s}=e,{pattern:c,component:u,preload:i}=o().route,f=A((()=>o().path));u&&u.preload&&u.preload();const p=i?i({params:s,location:a,intent:O||"initial"}):void 0;return{parent:t,pattern:c,path:f,outlet:()=>u?Je(u,{params:s,location:a,data:p,get children(){return r()}}):r(),resolvePath(w){return H(n.path(),w,f())}}}const Mt=e=>t=>{const{base:r}=t,o=Re((()=>t.children)),n=A((()=>Ne(o(),t.base||"")));let a;const s=Ft(e,n,(()=>a),{base:r,singleFlight:t.singleFlight,transformUrl:t.transformUrl});return e.create&&e.create(s),b(Ue.Provider,{value:s,get children(){return b(Nt,{routerState:s,get root(){return t.root},get preload(){return t.rootPreload||t.rootLoad},get children(){return[me((()=>(a=we())&&null)),b(Bt,{routerState:s,get branches(){return n()}})]}})}})};function Nt(e){const t=e.routerState.location,r=e.routerState.params,o=A((()=>e.preload&&be((()=>{e.preload({params:r,location:t,intent:Ut()||"initial"})}))));return b(F,{get when(){return e.root},keyed:!0,get fallback(){return e.children},children:n=>b(n,{params:r,location:t,get data(){return o()},get children(){return e.children}})})}function Bt(e){if(N){const n=Z();if(n&&n.router&&n.router.dataOnly){qt(n,e.routerState,e.branches);return}n&&((n.router||(n.router={})).matches||(n.router.matches=e.routerState.matches().map((({route:a,path:s,params:c})=>({path:a.originalPath,pattern:a.pattern,match:s,params:c,info:a.info})))))}const t=[];let r;const o=A(T(e.routerState.matches,((n,a,s)=>{let c=a&&n.length===a.length;const u=[];for(let i=0,f=n.length;i<f;i++){const p=a&&a[i],h=n[i];s&&p&&h.route.key===p.route.key?u[i]=s[i]:(c=!1,t[i]&&t[i](),Xe((w=>{t[i]=w,u[i]=kt(e.routerState,u[i-1]||e.routerState.base,fe((()=>o()[i+1])),(()=>e.routerState.matches()[i]))})))}return t.splice(n.length).forEach((i=>i())),s&&c?s:(r=u[0],u)})));return fe((()=>o()&&r))()}const fe=e=>()=>b(F,{get when(){return e()},keyed:!0,children:t=>b(Fe.Provider,{value:t,get children(){return t.outlet()}})}),Y=e=>{const t=Re((()=>e.children));return Qe(e,{get children(){return t()}})};function qt(e,t,r){const o=new URL(e.request.url),n=q(r,new URL(e.router.previousUrl||e.request.url).pathname),a=q(r,o.pathname);for(let s=0;s<a.length;s++){(!n[s]||a[s].route!==n[s].route)&&(e.router.dataOnly=!0);const{route:c,params:u}=a[s];c.preload&&c.preload({params:u,location:t.location,intent:"preload"})}}function Tt([e,t],r,o){return[e,n=>t(o(n))]}function jt(e){let t=!1;const r=n=>typeof n=="string"?{value:n}:n,o=Tt(L(r(e.get()),{equals:(n,a)=>n.value===a.value&&n.state===a.state}),void 0,(n=>(!t&&e.set(n),Q.registry&&!Q.done&&(Q.done=!0),n)));return e.init&&Se(e.init(((n=e.get())=>{t=!0,o[1](r(n)),t=!1}))),Mt({signal:o,create:e.create,utils:e.utils})}function Dt(e,t,r){return e.addEventListener(t,r),()=>e.removeEventListener(t,r)}function Wt(e,t){const r=e&&document.getElementById(e);r?r.scrollIntoView():t&&window.scrollTo(0,0)}const Vt=new Map;function Gt(e=!0,t=!1,r="/_server",o){return n=>{const a=n.base.path(),s=n.navigatorFactory(n.base);let c,u;function i(l){return l.namespaceURI==="http://www.w3.org/2000/svg"}function f(l){if(l.defaultPrevented||l.button!==0||l.metaKey||l.altKey||l.ctrlKey||l.shiftKey)return;const d=l.composedPath().find((M=>M instanceof Node&&M.nodeName.toUpperCase()==="A"));if(!d||t&&!d.hasAttribute("link"))return;const $=i(d),m=$?d.href.baseVal:d.href;if(($?d.target.baseVal:d.target)||!m&&!d.hasAttribute("state"))return;const S=(d.getAttribute("rel")||"").split(/\s+/);if(d.hasAttribute("download")||S&&S.includes("external"))return;const _=$?new URL(m,document.baseURI):new URL(m);if(!(_.origin!==window.location.origin||a&&_.pathname&&!_.pathname.toLowerCase().startsWith(a.toLowerCase())))return[d,_]}function p(l){const d=f(l);if(!d)return;const[$,m]=d,P=n.parsePath(m.pathname+m.search+m.hash),S=$.getAttribute("state");l.preventDefault(),s(P,{resolve:!1,replace:$.hasAttribute("replace"),scroll:!$.hasAttribute("noscroll"),state:S?JSON.parse(S):void 0})}function h(l){const d=f(l);if(!d)return;const[$,m]=d;n.preloadRoute(m,$.getAttribute("preload")!=="false")}function w(l){clearTimeout(c);const d=f(l);if(!d)return u=null;const[$,m]=d;u!==$&&(c=setTimeout((()=>{n.preloadRoute(m,$.getAttribute("preload")!=="false"),u=$}),20))}function v(l){if(l.defaultPrevented)return;let d=l.submitter&&l.submitter.hasAttribute("formaction")?l.submitter.getAttribute("formaction"):l.target.getAttribute("action");if(!d)return;if(!d.startsWith("https://action/")){const m=new URL(d,_e);if(d=n.parsePath(m.pathname+m.search),!d.startsWith(r))return}if(l.target.method.toUpperCase()!=="POST")throw new Error("Only POST forms are supported for Actions");const $=Vt.get(d);if($){l.preventDefault();const m=new FormData(l.target,l.submitter);$.call({r:n,f:l.target},l.target.enctype==="multipart/form-data"?m:new URLSearchParams(m))}}K(["click","submit"]),document.addEventListener("click",p),e&&(document.addEventListener("mousemove",w,{passive:!0}),document.addEventListener("focusin",h,{passive:!0}),document.addEventListener("touchstart",h,{passive:!0})),document.addEventListener("submit",v),Se((()=>{document.removeEventListener("click",p),e&&(document.removeEventListener("mousemove",w),document.removeEventListener("focusin",h),document.removeEventListener("touchstart",h)),document.removeEventListener("submit",v)}))}}function Ht(e){const t=e.replace(/^.*?#/,"");if(!t.startsWith("/")){const[,r="/"]=window.location.hash.split("#",2);return`${r}#${t}`}return t}function Kt(e){const t=()=>window.location.hash.slice(1),r=Pe();return jt({get:t,set({value:o,replace:n,scroll:a,state:s}){n?window.history.replaceState(yt(s),"","#"+o):window.history.pushState(s,"","#"+o);const c=o.indexOf("#"),u=c>=0?o.slice(c+1):"";Wt(u,a),oe()},init:o=>Dt(window,"hashchange",$t(o,(n=>!r.confirm(n&&n<0?n:t())))),create:Gt(e.preload,e.explicitLinks,e.actionBase),utils:{go:o=>window.history.go(o),renderPath:o=>`#${o}`,parsePath:Ht,beforeLeave:r}})(e)}function zt(e){const t=ke(),r=Pt(),{href:o,state:n}=e,a=typeof o=="function"?o({navigate:t,location:r}):o;return t(a,{replace:!0,state:n}),null}const Jt={};async function de({language:e,text:t,limit:r,start:o,templateName:n}){const a=`${Le}/search?language=${encodeURIComponent(e)}&q=${encodeURIComponent(t)}&limit=${encodeURIComponent(r)}&start=${encodeURIComponent(o)}&tpl=${encodeURIComponent(n)}`,s=await fetch(a,{method:"GET"});if(s.status!==200){const u=await s.text();throw new Error(`API error (${s.status}): ${u}`)}return await s.json()}const Qt="_SearchForm_1a5n6_1",Xt={SearchForm:Qt};var Yt=R("<form><input type=search><button type=submit>");const Zt=e=>{const t=ke(),[r,o]=L(e.value??""),{t:n}=J(e.language);re(T((()=>e.value),(()=>o(e.value??""))));const a=async s=>{s.preventDefault(),t(`/q/${encodeURIComponent(r())}`)};return(()=>{var s=Yt(),c=s.firstChild,u=c.nextSibling;return s.addEventListener("submit",a),c.addEventListener("change",(i=>o(i.currentTarget.value))),C(u,(()=>n("searchApp.search"))),k((i=>{var f=Xt.SearchForm,p=n("searchApp.search");return f!==i.e&&ge(s,i.e=f),p!==i.t&&z(c,"placeholder",i.t=p),i}),{e:void 0,t:void 0}),k((()=>c.value=r())),s})()};var en=R("<div class=SearchPageResponse>"),he=R("<div>"),tn=R("<img class=SearchPageResponse-spinner width=80 height=80 alt=…>"),nn=R("<button type=button>"),rn=R("<div class=SearchPageResponse-noResultMessage> <span>");function pe({language:e,limit:t,templateName:r}){const{t:o}=J(e),{searchString:n}=_t(),[a,s]=L(""),[c,u]=L(0),[i,f]=L(0),[p,h]=L(!1);re(T((()=>n),w));async function w(){if(n){h(!0);try{s(""),f(0);const l=await de({language:e,text:decodeURIComponent(n),limit:t,start:i(),templateName:r});if(u(l.total),f(i()+t),!l.html)return;s(l.html)}finally{h(!1)}}}async function v(){if(!n)return;const l=c();if(l===void 0||i()>=l)return;const d=await de({language:e,text:decodeURIComponent(n),limit:t,start:i(),templateName:r});d.html&&(s(`${a()}${d.html}`),f(i()+t))}return(()=>{var l=he();return C(l,b(Zt,{language:e,get value(){return n?decodeURIComponent(n):void 0}}),null),C(l,b(F,{when:n,get children(){var d=en();return C(d,(()=>{var $=me((()=>!!p()));return()=>$()?(()=>{var m=tn();return z(m,"src",`${Ee}/spinner.svg`),m})():b(F,{get when(){return a()},get fallback(){return(()=>{var m=rn(),P=m.firstChild,S=P.nextSibling;return C(m,(()=>o("searchApp.nothingGet")),P),C(S,n),m})()},get children(){return[(()=>{var m=he();return k((()=>m.innerHTML=a())),m})(),b(F,{get when(){return i()<c()},get children(){var m=nn();return m.$$click=v,C(m,(()=>o("infiniteLoading.loadMore"))),m}})]}})})()),d}}),null),k((()=>ge(l,Jt.SiteApp))),l})()}K(["click"]);function on(e,{language:t}){if(!t)throw new Error("Missing language");const r=G(e.dataset.limit),o=V(e.dataset.template);r===void 0||o===void 0||ne((()=>b(Kt,{explicitLinks:!0,get children(){return[b(Y,{path:"/",component:()=>b(zt,{href:"/q"})}),b(Y,{path:"/q",component:()=>b(pe,{language:t,templateName:o,limit:r})}),b(Y,{path:"/q/:searchString",component:()=>b(pe,{language:t,templateName:o,limit:r})})]}})),e)}var an=R("<input class=SearchOpenerOverlay-input type=search required>"),sn=R("<div class=SearchOpenerOverlay><form class=SearchOpenerOverlay-form><button class=SearchOpenerOverlay-btn type=submit>");function cn({searchURL:e,language:t,setSearchFormOverlayIsOpen:r}){let o;const[n,a]=L(""),{t:s}=J(t),c=(()=>{var i=an();return i.addEventListener("change",(f=>a(f.currentTarget.value))),k((()=>z(i,"placeholder",s("searchApp.search")))),k((()=>i.value=n())),i})(),u=i=>{i.preventDefault(),window.location.href=`${e}#/q/${encodeURIComponent(n())}`,r(!1)};return re((()=>{c.focus()})),(()=>{var i=sn(),f=i.firstChild,p=f.firstChild;i.$$click=w=>{w.target===o&&r(!1)};var h=o;return typeof h=="function"?Ve(h,i):o=i,f.addEventListener("submit",u),C(f,c,p),C(p,(()=>s("searchApp.search"))),i})()}K(["click"]);var ln=R('<button type=button class=SearchOpenerBtn><svg class=SearchOpenerBtn-svg width=20 height=20 version=1.1 id=Capa_1 xmlns=http://www.w3.org/2000/svg viewBox="0 0 490.4 490.4"><title>Search Icon</title><g id=SVGRepo_bgCarrier stroke-width=0></g><g id=SVGRepo_tracerCarrier stroke-linecap=round stroke-linejoin=round></g><g id=SVGRepo_iconCarrier><g><path d="M484.1,454.796l-110.5-110.6c29.8-36.3,47.6-82.8,47.6-133.4c0-116.3-94.3-210.6-210.6-210.6S0,94.496,0,210.796 s94.3,210.6,210.6,210.6c50.8,0,97.4-18,133.8-48l110.5,110.5c12.9,11.8,25,4.2,29.2,0C492.5,475.596,492.5,463.096,484.1,454.796z M41.1,210.796c0-93.6,75.9-169.5,169.5-169.5s169.6,75.9,169.6,169.5s-75.9,169.5-169.5,169.5S41.1,304.396,41.1,210.796z"></path> '),un=R("<div>");function fn({searchIconColor:e,language:t,searchURL:r}){const[o,n]=L(!1),a=(()=>{var c=ln(),u=c.firstChild;return e!=null?u.style.setProperty("fill",e):u.style.removeProperty("fill"),c})(),s=un();return document.body.appendChild(s),a.addEventListener("click",(()=>n(!0))),ne((()=>b(F,{get when(){return o()},get children(){return b(cn,{searchURL:r,language:t,setSearchFormOverlayIsOpen:n})}})),s),a}function dn(e,{language:t}){const r=e.dataset.searchUrl,o=e.dataset.iconColor;if(!t)throw new Error("Missing language");if(!r)throw new Error("Missing search url");ne((()=>b(fn,{language:t,searchURL:r,searchIconColor:o})),e)}document.addEventListener("DOMContentLoaded",(()=>{const e=document.documentElement.lang,t={searchOpener:dn,searchForm:on,infiniteLoading:gt},r=document.querySelectorAll("[data-effect]");for(const o of r){const n=o.dataset.effect;if(!n)continue;const a=t[n];a&&a(o,{language:e})}}));
|
|
1
|
+
import{delegateEvents as K,insert as C,setAttribute as z,template as R,isServer as N,getRequestEvent as Z,createComponent as b,memo as me,effect as k,className as ge,render as ne,use as Ve}from"https://esm.sh/solid-js@1.9.4/web";import{createMemo as A,getOwner as we,runWithOwner as ve,createContext as ye,useContext as $e,createSignal as L,createRenderEffect as Ge,on as T,startTransition as He,resetErrorBoundaries as Ke,batch as ze,untrack as be,createComponent as Je,children as Re,mergeProps as Qe,Show as F,createRoot as Xe,onCleanup as Se,sharedConfig as Q,createEffect as re}from"https://esm.sh/solid-js@1.9.4";function ee(e){return e.varName?` for '${e.varName}'`:""}function Ye(e){return!isNaN(e)&&!isNaN(parseFloat(e))}function Ze(e,t={}){if(e==null||e===""&&!t.allowEmpty)throw new Error(`Missing string value${ee(t)}`);return typeof e=="string"?e:e.toString()}function V(e,t={}){return e==null||e===""&&!t.allowEmpty?void 0:Ze(e,t)}function et(e,t={}){if(typeof e=="number")return e;if(e==null)throw new Error(`Missing number value${ee(t)}`);if(typeof e=="string"&&Ye(e))return Number(e);throw new Error(`Cannot convert to number the value of type '${typeof e}'${ee(t)}`)}function G(e,t={}){return e==null?void 0:et(e,t)}function tt(e){let t=e;const r=t.indexOf("?");r!==-1&&(t=t.substring(0,r));const o=t.indexOf("#");o!==-1&&(t=t.substring(0,o));const n=t.lastIndexOf("/");return n===-1?void 0:t.slice(0,n)}const Le="/api/plugin/content-loading",Ee=tt(import.meta.url);async function nt(e){const t=`${Le}${e}`,r=await fetch(t);if(r.status!==200)throw new Error(`api error ${r.status}`);return await r.text()}var Ce=e=>e!=null&&(e=Object.getPrototypeOf(e),e===Array.prototype||e===Object.prototype);function Ae(e,t,r){for(const[o,n]of Object.entries(t)){const a=`${r}.${o}`;e[a]=n,Ce(n)&&Ae(e,n,a)}}function rt(e){const t={...e};for(const[r,o]of Object.entries(e))Ce(o)&&Ae(t,o,r);return t}var ot=(e,t)=>{if(t)for(const[r,o]of Object.entries(t))e=e.replace(new RegExp(`{{\\s*${r}\\s*}}`,"g"),o);return e},at=e=>e;function st(e,t=at){return(r,...o)=>{r[0]==="."&&(r=r.slice(1));const n=e()?.[r];switch(typeof n){case"function":return n(...o);case"string":return t(n,o[0]);default:return n}}}const it={nothingGet:"No results found for",search:"Search"},ct={loadMore:"Load more"},lt={searchApp:it,infiniteLoading:ct},ut={nothingGet:"Aucun résultat trouvé pour",search:"Rechercher"},ft={loadMore:"Charger la suite"},dt={searchApp:ut,infiniteLoading:ft},ue={en:lt,fr:dt};function J(e){const t=A((()=>{const o=e in ue?e:"en";return rt(ue[o])}));return{t:st(t,ot)}}var ht=R("<button class=InfiniteLoading-btn type=button>"),pt=R("<div class=InfiniteLoading-actionArea>"),mt=R("<img class=InfiniteLoading-spinner width=50 height=50 alt=…>");function gt(e,{language:t}){const r=G(e.dataset.start),o=G(e.dataset.total),n=G(e.dataset.limit),a=V(e.dataset.parentId),s=V(e.dataset.template),c=V(e.dataset.labeledById);if(!(r===void 0||o===void 0||a===void 0||n===void 0||s===void 0)){if(!t)throw new Error("Missing language");wt({language:t,limit:n,parentId:a,root:e,start:r,total:o,templateName:s,labeledById:c})}}function wt({language:e,limit:t,root:r,start:o,total:n,parentId:a,templateName:s,labeledById:c}){const{t:u}=J(e);let i=o;if(i>=n)return;const f=(()=>{var v=ht();return v.$$click=w,C(v,(()=>u("infiniteLoading.loadMore"))),v})(),p=(()=>{var v=pt();return C(v,f),v})(),h=(()=>{var v=mt();return z(v,"src",`${Ee}/spinner.svg`),v})();r.appendChild(p);async function w(){r.appendChild(h);const v=await vt({limit:t,newStart:i,parentId:a,templateName:s,labeledById:c});for(const l of v)r.insertBefore(l,p);i+=t,i>=n&&p.remove(),h.remove()}}async function vt({limit:e,newStart:t,parentId:r,templateName:o,labeledById:n}){const a=n?`?labeled=${encodeURIComponent(n)}`:"",s=`/partials?templateName=${encodeURIComponent(o)}&children-of=${encodeURIComponent(r)}&start=${encodeURIComponent(t)}&limit=${encodeURIComponent(e)}${a}`,c=await nt(s),u=document.createElement("div");return u.innerHTML=c,[...u.children]}K(["click"]);function Pe(){let e=new Set;function t(n){return e.add(n),()=>e.delete(n)}let r=!1;function o(n,a){if(r)return!(r=!1);const s={to:n,options:a,defaultPrevented:!1,preventDefault:()=>s.defaultPrevented=!0};for(const c of e)c.listener({...s,from:c.location,retry:u=>{u&&(r=!0),c.navigate(n,{...a,resolve:!1})}});return!s.defaultPrevented}return{subscribe:t,confirm:o}}let te;function oe(){(!window.history.state||window.history.state._depth==null)&&window.history.replaceState({...window.history.state,_depth:window.history.length-1},""),te=window.history.state._depth}N||oe();function yt(e){return{...e,_depth:window.history.state&&window.history.state._depth}}function $t(e,t){let r=!1;return()=>{const o=te;oe();const n=o==null?null:te-o;if(r){r=!1;return}n&&t(n)?(r=!0,window.history.go(-n)):e()}}const bt=/^(?:[a-z0-9]+:)?\/\//i,Rt=/^\/+|(\/)\/+$/g,_e="http://sr";function B(e,t=!1){const r=e.replace(Rt,"$1");return r?t||/^[?#]/.test(r)?r:"/"+r:""}function H(e,t,r){if(bt.test(t))return;const o=B(e),n=r&&B(r);let a="";return!n||t.startsWith("/")?a=o:n.toLowerCase().indexOf(o.toLowerCase())!==0?a=o+n:a=n,(a||"/")+B(t,!a)}function St(e,t){if(e==null)throw new Error(t);return e}function Lt(e,t){return B(e).replace(/\/*(\*.*)?$/g,"")+B(t)}function Oe(e){const t={};return e.searchParams.forEach(((r,o)=>{o in t?Array.isArray(t[o])?t[o].push(r):t[o]=[t[o],r]:t[o]=r})),t}function Et(e,t,r){const[o,n]=e.split("/*",2),a=o.split("/").filter(Boolean),s=a.length;return c=>{const u=c.split("/").filter(Boolean),i=u.length-s;if(i<0||i>0&&n===void 0&&!t)return null;const f={path:s?"":"/",params:{}},p=h=>r===void 0?void 0:r[h];for(let h=0;h<s;h++){const w=a[h],v=w[0]===":",l=v?u[h]:u[h].toLowerCase(),d=v?w.slice(1):w.toLowerCase();if(v&&X(l,p(d)))f.params[d]=l;else if(v||!X(l,d))return null;f.path+=`/${l}`}if(n){const h=i?u.slice(-i).join("/"):"";if(X(h,p(n)))f.params[n]=h;else return null}return f}}function X(e,t){const r=o=>o===e;return t===void 0?!0:typeof t=="string"?r(t):typeof t=="function"?t(e):Array.isArray(t)?t.some(r):t instanceof RegExp?t.test(e):!1}function Ct(e){const[t,r]=e.pattern.split("/*",2),o=t.split("/").filter(Boolean);return o.reduce(((n,a)=>n+(a.startsWith(":")?2:3)),o.length-(r===void 0?0:1))}function xe(e){const t=new Map,r=we();return new Proxy({},{get(o,n){return t.has(n)||ve(r,(()=>t.set(n,A((()=>e()[n]))))),t.get(n)()},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}},ownKeys(){return Reflect.ownKeys(e())}})}function Ie(e){let t=/(\/?\:[^\/]+)\?/.exec(e);if(!t)return[e];let r=e.slice(0,t.index),o=e.slice(t.index+t[0].length);const n=[r,r+=t[1]];for(;t=/^(\/\:[^\/]+)\?/.exec(o);)n.push(r+=t[1]),o=o.slice(t[0].length);return Ie(o).reduce(((a,s)=>[...a,...n.map((c=>c+s))]),[])}const At=100,Ue=ye(),Fe=ye(),ae=()=>St($e(Ue),"<A> and 'use' router primitives can be only used inside a Route."),ke=()=>ae().navigatorFactory(),Pt=()=>ae().location,_t=()=>ae().params;function Ot(e,t=""){const{component:r,preload:o,load:n,children:a,info:s}=e,c=!a||Array.isArray(a)&&!a.length,u={key:e,component:r,preload:o||n,info:s};return Me(e.path).reduce(((i,f)=>{for(const p of Ie(f)){const h=Lt(t,p);let w=c?h:h.split("/*",1)[0];w=w.split("/").map((v=>v.startsWith(":")||v.startsWith("*")?v:encodeURIComponent(v))).join("/"),i.push({...u,originalPath:f,pattern:w,matcher:Et(w,!c,e.matchFilters)})}return i}),[])}function xt(e,t=0){return{routes:e,score:Ct(e[e.length-1])*1e4-t,matcher(r){const o=[];for(let n=e.length-1;n>=0;n--){const a=e[n],s=a.matcher(r);if(!s)return null;o.unshift({...s,route:a})}return o}}}function Me(e){return Array.isArray(e)?e:[e]}function Ne(e,t="",r=[],o=[]){const n=Me(e);for(let a=0,s=n.length;a<s;a++){const c=n[a];if(c&&typeof c=="object"){c.hasOwnProperty("path")||(c.path="");const u=Ot(c,t);for(const i of u){r.push(i);const f=Array.isArray(c.children)&&c.children.length===0;if(c.children&&!f)Ne(c.children,i.pattern,r,o);else{const p=xt([...r],o.length);o.push(p)}r.pop()}}}return r.length?o:o.sort(((a,s)=>s.score-a.score))}function q(e,t){for(let r=0,o=e.length;r<o;r++){const n=e[r].matcher(t);if(n)return n}return[]}function It(e,t,r){const o=new URL(_e),n=A((f=>{const p=e();try{return new URL(p,o)}catch{return console.error(`Invalid path ${p}`),f}}),o,{equals:(f,p)=>f.href===p.href}),a=A((()=>n().pathname)),s=A((()=>n().search),!0),c=A((()=>n().hash)),u=()=>"",i=T(s,(()=>Oe(n())));return{get pathname(){return a()},get search(){return s()},get hash(){return c()},get state(){return t()},get key(){return u()},query:r?r(i):xe(i)}}let O;function Ut(){return O}function Ft(e,t,r,o={}){const{signal:[n,a],utils:s={}}=e,c=s.parsePath||(g=>g),u=s.renderPath||(g=>g),i=s.beforeLeave||Pe(),f=H("",o.base||"");if(f===void 0)throw new Error(`${f} is not a valid base path`);f&&!n().value&&a({value:f,replace:!0,scroll:!1});const[p,h]=L(!1);let w;const v=(g,y)=>{y.value===l()&&y.state===$()||(w===void 0&&h(!0),O=g,w=y,He((()=>{w===y&&(d(w.value),m(w.state),Ke(),N||_[1]([]))})).finally((()=>{w===y&&ze((()=>{O=void 0,g==="navigate"&&je(w),h(!1),w=void 0}))})))},[l,d]=L(n().value),[$,m]=L(n().state),P=It(l,$,s.queryWrapper),S=[],_=L(N?We():[]),M=A((()=>typeof o.transformUrl=="function"?q(t(),o.transformUrl(P.pathname)):q(t(),P.pathname))),se=()=>{const g=M(),y={};for(let E=0;E<g.length;E++)Object.assign(y,g[E].params);return y},Be=s.paramsWrapper?s.paramsWrapper(se,t):xe(se),ie={pattern:f,path:()=>f,outlet:()=>null,resolvePath(g){return H(f,g)}};return Ge(T(n,(g=>v("native",g)),{defer:!0})),{base:ie,location:P,params:Be,isRouting:p,renderPath:u,parsePath:c,navigatorFactory:Te,matches:M,beforeLeave:i,preloadRoute:De,singleFlight:o.singleFlight===void 0?!0:o.singleFlight,submissions:_};function qe(g,y,E){be((()=>{if(typeof y=="number"){y&&(s.go?s.go(y):console.warn("Router integration does not support relative routing"));return}const j=!y||y[0]==="?",{replace:D,resolve:x,scroll:W,state:I}={replace:!1,resolve:!j,scroll:!0,...E},U=x?g.resolvePath(y):H(j&&P.pathname||"",y);if(U===void 0)throw new Error(`Path '${y}' is not a routable path`);if(S.length>=At)throw new Error("Too many redirects");const ce=l();if(U!==ce||I!==$())if(N){const le=Z();le&&(le.response={status:302,headers:new Headers({Location:U})}),a({value:U,replace:D,scroll:W,state:I})}else i.confirm(U,E)&&(S.push({value:ce,replace:D,scroll:W,state:$()}),v("navigate",{value:U,state:I}))}))}function Te(g){return g=g||$e(Fe)||ie,(y,E)=>qe(g,y,E)}function je(g){const y=S[0];y&&(a({...g,replace:y.replace,scroll:y.scroll}),S.length=0)}function De(g,y){const E=q(t(),g.pathname),j=O;O="preload";for(let D in E){const{route:x,params:W}=E[D];x.component&&x.component.preload&&x.component.preload();const{preload:I}=x;y&&I&&ve(r(),(()=>I({params:W,location:{pathname:g.pathname,search:g.search,hash:g.hash,query:Oe(g),state:null,key:""},intent:"preload"})))}O=j}function We(){const g=Z();return g&&g.router&&g.router.submission?[g.router.submission]:[]}}function kt(e,t,r,o){const{base:n,location:a,params:s}=e,{pattern:c,component:u,preload:i}=o().route,f=A((()=>o().path));u&&u.preload&&u.preload();const p=i?i({params:s,location:a,intent:O||"initial"}):void 0;return{parent:t,pattern:c,path:f,outlet:()=>u?Je(u,{params:s,location:a,data:p,get children(){return r()}}):r(),resolvePath(w){return H(n.path(),w,f())}}}const Mt=e=>t=>{const{base:r}=t,o=Re((()=>t.children)),n=A((()=>Ne(o(),t.base||"")));let a;const s=Ft(e,n,(()=>a),{base:r,singleFlight:t.singleFlight,transformUrl:t.transformUrl});return e.create&&e.create(s),b(Ue.Provider,{value:s,get children(){return b(Nt,{routerState:s,get root(){return t.root},get preload(){return t.rootPreload||t.rootLoad},get children(){return[me((()=>(a=we())&&null)),b(Bt,{routerState:s,get branches(){return n()}})]}})}})};function Nt(e){const t=e.routerState.location,r=e.routerState.params,o=A((()=>e.preload&&be((()=>{e.preload({params:r,location:t,intent:Ut()||"initial"})}))));return b(F,{get when(){return e.root},keyed:!0,get fallback(){return e.children},children:n=>b(n,{params:r,location:t,get data(){return o()},get children(){return e.children}})})}function Bt(e){if(N){const n=Z();if(n&&n.router&&n.router.dataOnly){qt(n,e.routerState,e.branches);return}n&&((n.router||(n.router={})).matches||(n.router.matches=e.routerState.matches().map((({route:a,path:s,params:c})=>({path:a.originalPath,pattern:a.pattern,match:s,params:c,info:a.info})))))}const t=[];let r;const o=A(T(e.routerState.matches,((n,a,s)=>{let c=a&&n.length===a.length;const u=[];for(let i=0,f=n.length;i<f;i++){const p=a&&a[i],h=n[i];s&&p&&h.route.key===p.route.key?u[i]=s[i]:(c=!1,t[i]&&t[i](),Xe((w=>{t[i]=w,u[i]=kt(e.routerState,u[i-1]||e.routerState.base,fe((()=>o()[i+1])),(()=>e.routerState.matches()[i]))})))}return t.splice(n.length).forEach((i=>i())),s&&c?s:(r=u[0],u)})));return fe((()=>o()&&r))()}const fe=e=>()=>b(F,{get when(){return e()},keyed:!0,children:t=>b(Fe.Provider,{value:t,get children(){return t.outlet()}})}),Y=e=>{const t=Re((()=>e.children));return Qe(e,{get children(){return t()}})};function qt(e,t,r){const o=new URL(e.request.url),n=q(r,new URL(e.router.previousUrl||e.request.url).pathname),a=q(r,o.pathname);for(let s=0;s<a.length;s++){(!n[s]||a[s].route!==n[s].route)&&(e.router.dataOnly=!0);const{route:c,params:u}=a[s];c.preload&&c.preload({params:u,location:t.location,intent:"preload"})}}function Tt([e,t],r,o){return[e,n=>t(o(n))]}function jt(e){let t=!1;const r=n=>typeof n=="string"?{value:n}:n,o=Tt(L(r(e.get()),{equals:(n,a)=>n.value===a.value&&n.state===a.state}),void 0,(n=>(!t&&e.set(n),Q.registry&&!Q.done&&(Q.done=!0),n)));return e.init&&Se(e.init(((n=e.get())=>{t=!0,o[1](r(n)),t=!1}))),Mt({signal:o,create:e.create,utils:e.utils})}function Dt(e,t,r){return e.addEventListener(t,r),()=>e.removeEventListener(t,r)}function Wt(e,t){const r=e&&document.getElementById(e);r?r.scrollIntoView():t&&window.scrollTo(0,0)}const Vt=new Map;function Gt(e=!0,t=!1,r="/_server",o){return n=>{const a=n.base.path(),s=n.navigatorFactory(n.base);let c,u;function i(l){return l.namespaceURI==="http://www.w3.org/2000/svg"}function f(l){if(l.defaultPrevented||l.button!==0||l.metaKey||l.altKey||l.ctrlKey||l.shiftKey)return;const d=l.composedPath().find((M=>M instanceof Node&&M.nodeName.toUpperCase()==="A"));if(!d||t&&!d.hasAttribute("link"))return;const $=i(d),m=$?d.href.baseVal:d.href;if(($?d.target.baseVal:d.target)||!m&&!d.hasAttribute("state"))return;const S=(d.getAttribute("rel")||"").split(/\s+/);if(d.hasAttribute("download")||S&&S.includes("external"))return;const _=$?new URL(m,document.baseURI):new URL(m);if(!(_.origin!==window.location.origin||a&&_.pathname&&!_.pathname.toLowerCase().startsWith(a.toLowerCase())))return[d,_]}function p(l){const d=f(l);if(!d)return;const[$,m]=d,P=n.parsePath(m.pathname+m.search+m.hash),S=$.getAttribute("state");l.preventDefault(),s(P,{resolve:!1,replace:$.hasAttribute("replace"),scroll:!$.hasAttribute("noscroll"),state:S?JSON.parse(S):void 0})}function h(l){const d=f(l);if(!d)return;const[$,m]=d;n.preloadRoute(m,$.getAttribute("preload")!=="false")}function w(l){clearTimeout(c);const d=f(l);if(!d)return u=null;const[$,m]=d;u!==$&&(c=setTimeout((()=>{n.preloadRoute(m,$.getAttribute("preload")!=="false"),u=$}),20))}function v(l){if(l.defaultPrevented)return;let d=l.submitter&&l.submitter.hasAttribute("formaction")?l.submitter.getAttribute("formaction"):l.target.getAttribute("action");if(!d)return;if(!d.startsWith("https://action/")){const m=new URL(d,_e);if(d=n.parsePath(m.pathname+m.search),!d.startsWith(r))return}if(l.target.method.toUpperCase()!=="POST")throw new Error("Only POST forms are supported for Actions");const $=Vt.get(d);if($){l.preventDefault();const m=new FormData(l.target,l.submitter);$.call({r:n,f:l.target},l.target.enctype==="multipart/form-data"?m:new URLSearchParams(m))}}K(["click","submit"]),document.addEventListener("click",p),e&&(document.addEventListener("mousemove",w,{passive:!0}),document.addEventListener("focusin",h,{passive:!0}),document.addEventListener("touchstart",h,{passive:!0})),document.addEventListener("submit",v),Se((()=>{document.removeEventListener("click",p),e&&(document.removeEventListener("mousemove",w),document.removeEventListener("focusin",h),document.removeEventListener("touchstart",h)),document.removeEventListener("submit",v)}))}}function Ht(e){const t=e.replace(/^.*?#/,"");if(!t.startsWith("/")){const[,r="/"]=window.location.hash.split("#",2);return`${r}#${t}`}return t}function Kt(e){const t=()=>window.location.hash.slice(1),r=Pe();return jt({get:t,set({value:o,replace:n,scroll:a,state:s}){n?window.history.replaceState(yt(s),"","#"+o):window.history.pushState(s,"","#"+o);const c=o.indexOf("#"),u=c>=0?o.slice(c+1):"";Wt(u,a),oe()},init:o=>Dt(window,"hashchange",$t(o,(n=>!r.confirm(n&&n<0?n:t())))),create:Gt(e.preload,e.explicitLinks,e.actionBase),utils:{go:o=>window.history.go(o),renderPath:o=>`#${o}`,parsePath:Ht,beforeLeave:r}})(e)}function zt(e){const t=ke(),r=Pt(),{href:o,state:n}=e,a=typeof o=="function"?o({navigate:t,location:r}):o;return t(a,{replace:!0,state:n}),null}const Jt={};async function de({language:e,text:t,limit:r,start:o,templateName:n}){const a=`${Le}/search?language=${encodeURIComponent(e)}&q=${encodeURIComponent(t)}&limit=${encodeURIComponent(r)}&start=${encodeURIComponent(o)}&tpl=${encodeURIComponent(n)}`,s=await fetch(a,{method:"GET"});if(s.status!==200){const u=await s.text();throw new Error(`API error (${s.status}): ${u}`)}return await s.json()}const Qt="_SearchForm_1a5n6_1",Xt={SearchForm:Qt};var Yt=R("<form><input type=search><button type=submit>");const Zt=e=>{const t=ke(),[r,o]=L(e.value??""),{t:n}=J(e.language);re(T((()=>e.value),(()=>o(e.value??""))));const a=async s=>{s.preventDefault(),t(`/q/${encodeURIComponent(r())}`)};return(()=>{var s=Yt(),c=s.firstChild,u=c.nextSibling;return s.addEventListener("submit",a),c.addEventListener("change",(i=>o(i.currentTarget.value))),C(u,(()=>n("searchApp.search"))),k((i=>{var f=Xt.SearchForm,p=n("searchApp.search");return f!==i.e&&ge(s,i.e=f),p!==i.t&&z(c,"placeholder",i.t=p),i}),{e:void 0,t:void 0}),k((()=>c.value=r())),s})()};var en=R("<div class=SearchPageResponse>"),he=R("<div>"),tn=R("<img class=SearchPageResponse-spinner width=80 height=80 alt=…>"),nn=R("<button type=button>"),rn=R("<div class=SearchPageResponse-noResultMessage> <span>");function pe({language:e,limit:t,templateName:r}){const{t:o}=J(e),{searchString:n}=_t(),[a,s]=L(""),[c,u]=L(0),[i,f]=L(0),[p,h]=L(!1);re(T((()=>n),w));async function w(){if(n){h(!0);try{s(""),f(0);const l=await de({language:e,text:decodeURIComponent(n),limit:t,start:i(),templateName:r});if(u(l.total),f(i()+t),!l.html)return;s(l.html)}finally{h(!1)}}}async function v(){if(!n)return;const l=c();if(l===void 0||i()>=l)return;const d=await de({language:e,text:decodeURIComponent(n),limit:t,start:i(),templateName:r});d.html&&(s(`${a()}${d.html}`),f(i()+t))}return(()=>{var l=he();return C(l,b(Zt,{language:e,get value(){return n?decodeURIComponent(n):void 0}}),null),C(l,b(F,{when:n,get children(){var d=en();return C(d,(()=>{var $=me((()=>!!p()));return()=>$()?(()=>{var m=tn();return z(m,"src",`${Ee}/spinner.svg`),m})():b(F,{get when(){return a()},get fallback(){return(()=>{var m=rn(),P=m.firstChild,S=P.nextSibling;return C(m,(()=>o("searchApp.nothingGet")),P),C(S,n),m})()},get children(){return[(()=>{var m=he();return k((()=>m.innerHTML=a())),m})(),b(F,{get when(){return i()<c()},get children(){var m=nn();return m.$$click=v,C(m,(()=>o("infiniteLoading.loadMore"))),m}})]}})})()),d}}),null),k((()=>ge(l,Jt.SiteApp))),l})()}K(["click"]);function on(e,{language:t}){if(!t)throw new Error("Missing language");const r=G(e.dataset.limit),o=V(e.dataset.template);r===void 0||o===void 0||ne((()=>b(Kt,{explicitLinks:!0,get children(){return[b(Y,{path:"/",component:()=>b(zt,{href:"/q"})}),b(Y,{path:"/q",component:()=>b(pe,{language:t,templateName:o,limit:r})}),b(Y,{path:"/q/:searchString",component:()=>b(pe,{language:t,templateName:o,limit:r})})]}})),e)}var an=R("<input class=SearchOpenerOverlay-input type=search required>"),sn=R("<div class=SearchOpenerOverlay><form class=SearchOpenerOverlay-form><button class=SearchOpenerOverlay-btn type=submit>");function cn({searchURL:e,language:t,setSearchFormOverlayIsOpen:r}){let o;const[n,a]=L(""),{t:s}=J(t),c=(()=>{var i=an();return i.addEventListener("change",(f=>a(f.currentTarget.value))),k((()=>z(i,"placeholder",s("searchApp.search")))),k((()=>i.value=n())),i})(),u=i=>{i.preventDefault(),window.location.href=`${e}#/q/${encodeURIComponent(n())}`,r(!1)};return re((()=>{c.focus()})),(()=>{var i=sn(),f=i.firstChild,p=f.firstChild;i.$$click=w=>{w.target===o&&r(!1)};var h=o;return typeof h=="function"?Ve(h,i):o=i,f.addEventListener("submit",u),C(f,c,p),C(p,(()=>s("searchApp.search"))),i})()}K(["click"]);var ln=R('<button type=button class=SearchOpenerBtn><svg class=SearchOpenerBtn-svg width=20 height=20 version=1.1 id=Capa_1 xmlns=http://www.w3.org/2000/svg viewBox="0 0 490.4 490.4"><title>Search Icon</title><g id=SVGRepo_bgCarrier stroke-width=0></g><g id=SVGRepo_tracerCarrier stroke-linecap=round stroke-linejoin=round></g><g id=SVGRepo_iconCarrier><g><path d="M484.1,454.796l-110.5-110.6c29.8-36.3,47.6-82.8,47.6-133.4c0-116.3-94.3-210.6-210.6-210.6S0,94.496,0,210.796 s94.3,210.6,210.6,210.6c50.8,0,97.4-18,133.8-48l110.5,110.5c12.9,11.8,25,4.2,29.2,0C492.5,475.596,492.5,463.096,484.1,454.796z M41.1,210.796c0-93.6,75.9-169.5,169.5-169.5s169.6,75.9,169.6,169.5s-75.9,169.5-169.5,169.5S41.1,304.396,41.1,210.796z"></path> '),un=R("<div>");function fn({searchIconColor:e,language:t,searchURL:r}){const[o,n]=L(!1),a=(()=>{var c=ln(),u=c.firstChild;return e!=null?u.style.setProperty("fill",e):u.style.removeProperty("fill"),c})(),s=un();return document.body.appendChild(s),a.addEventListener("click",(()=>n(!0))),ne((()=>b(F,{get when(){return o()},get children(){return b(cn,{searchURL:r,language:t,setSearchFormOverlayIsOpen:n})}})),s),a}function dn(e,{language:t}){const r=e.dataset.searchUrl,o=e.dataset.iconColor;if(!t)throw new Error("Missing language");if(!r)throw new Error("Missing search url");ne((()=>b(fn,{language:t,searchURL:r,searchIconColor:o})),e)}document.addEventListener("DOMContentLoaded",(()=>{const e=document.documentElement.lang,t={searchOpener:dn,searchForm:on,infiniteLoading:gt},r=document.querySelectorAll("[data-effect]");for(const o of r){const n=o.dataset.effect;if(!n)continue;const a=t[n];a&&a(o,{language:e})}}));
|
|
File without changes
|