jq79 0.6.3 → 0.6.4
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/dist/jq79.cjs +13 -13
- package/dist/jq79.cjs.map +1 -1
- package/dist/jq79.d.ts +1 -0
- package/dist/jq79.global.js +13 -13
- package/dist/jq79.global.js.map +1 -1
- package/dist/jq79.js +13 -13
- package/dist/jq79.js.map +1 -1
- package/package.json +2 -1
- package/src/jq79.ts +175 -16
package/dist/jq79.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var wn=Object.defineProperty;var Rn=(e,t,n)=>t in e?wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var v=(e,t,n)=>Rn(e,typeof t!="symbol"?t+"":t,n);function ge(e,t){return typeof e=="string"?document.querySelector(e):e.querySelector(t)}function Me(e,t){return Array.from(typeof e=="string"?document.querySelectorAll(e):e.querySelectorAll(t))}var De=(e,t={})=>{let n=document.createElement(e);for(let[s,r]of Object.entries(t))if(s==="className")n.className=Array.isArray(r)?r.join(" "):r;else if(s==="textContent")n.textContent=r;else if(s==="children")for(let o of r)n.appendChild(o);else n.setAttribute(s,r);return n},$n=new Set(["a","b","i","em","strong","p","br","ul","ol","li","blockquote","code","pre","span","div","h1","h2","h3","h4","h5","h6","img"]),dt={a:new Set(["href","title"]),img:new Set(["src","alt"]),"*":new Set(["class"])},Tn=new Set(["http:","https:","mailto:"]);function xn(e){try{let t=new URL(e,"https://example.com");return Tn.has(t.protocol)}catch{return!1}}var Nn={"https:":"443","http:":"80"};function Cn(e){let t=e.trim().toLowerCase().match(/^([a-z\d*][a-z\d.*-]*?)(?::(\d{1,5}|\*))?$/);if(!t)return null;let[,n,s]=t,r=n.split(".");return r.some(i=>i!=="*"&&!/^[a-z\d-]+$/.test(i))?null:{host:new RegExp(`^${r.map(i=>i==="*"?"[^.]+":i).join("\\.")}$`),port:!s||s==="*"?null:s}}var ht=e=>{let t=(Array.isArray(e)?e:e.split(",")).map(Cn).filter(n=>n!==null);return n=>{let s=n.hostname.toLowerCase(),r=n.port||Nn[n.protocol]||"";return t.some(o=>o.host.test(s)&&(o.port===null||o.port===r))}};function An(e,t,n,s){try{return!!e(new URL(t,document.baseURI),n,s)}catch{return!1}}var pt=512;function gt(e,t,n,s){if(n>pt)throw new RangeError(`jq79: sanitizeHTML input nests deeper than ${pt} elements`);for(let r of Array.from(e.childNodes))if(r.nodeType===Node.ELEMENT_NODE){let o=On(r,n,s);o&&t.appendChild(o)}else r.nodeType===Node.TEXT_NODE&&t.appendChild(r.cloneNode())}function On(e,t,n){let s=e.tagName.toLowerCase();if(!$n.has(s))return null;let r=document.createElement(s);for(let o of Array.from(e.attributes)){let i=o.name.toLowerCase(),a=dt[s]?.has(i),l=dt["*"]?.has(i);!a&&!l||(i==="href"||i==="src")&&(!xn(o.value)||n&&!An(n,o.value,s,i))||r.setAttribute(i,o.value)}return s==="a"&&r.setAttribute("rel","noopener noreferrer"),gt(e,r,t+1,n),r}function mt(e,t){let n=document.createElement("template");n.innerHTML=e;let s=document.createElement("div");return gt(n.content,s,0,t?.allowUrl),s.innerHTML}var _n=(e,t)=>t.split(".").reduce((n,s)=>n?.[s],e),be=e=>{if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},wt=(e,t,n)=>{Object.entries(e).forEach(([s,r])=>{let o=t?`${t}.${s}`:s;r&&typeof r=="object"&&be(r)?wt(r,o,n):n(o,r)})},yt=" keys",Ie=e=>e?`${e}.${yt}`:yt,bt=".length",Et=(e,t)=>({children:null,own:null,deep:null,parent:e,segment:t}),jn=e=>!e.own?.size&&!e.deep?.size&&!e.children?.size,We=Symbol("jq79.raw"),Z=e=>{let t=e;for(;t!==null&&typeof t=="object"&&t[We];)t=t[We];return t},Rt=Symbol("jq79.store"),le=e=>e!==null&&typeof e=="object"&&e[Rt]===!0,ie=[],me=e=>{ie.push(new Set);try{return e()}finally{ie.pop()}},Pn=0,qe=new Set,St="$__attach",Ee=Symbol("jq79.alsoWakenBy"),Se=e=>{let t=new Map,n=new Set,s=new Set,r=new WeakMap,o=Object.create(null),i=Et(null,""),a=(c,u)=>{let g=i;return c.split(".").forEach(f=>{let E=g.children??(g.children=new Map),y=E.get(f);y||(y=Et(g,f),E.set(f,y)),g=y}),(u.deep?g.deep??(g.deep=new Set):g.own??(g.own=new Set)).add(u),g},l=(c,u)=>{(u.deep?c.deep:c.own)?.delete(u);let g=c;for(;g?.parent&&jn(g);)g.parent.children.delete(g.segment),g=g.parent},p=c=>{let u=i;for(let g of c.split("."))if(u=u.children?.get(g),!u)return;return u},d=c=>{let u=new Set,g=m=>{let x=m.children?[...m.children.values()]:[];for(;x.length;){let R=x.pop();R.own?.forEach(C=>u.add(C)),R.deep?.forEach(C=>u.add(C)),R.children?.forEach(C=>x.push(C))}},f=i,E=c.split("."),y="";for(let m=0;m<E.length-1;m++){if(f=f.children?.get(E[m]),!f)return u;y=y?`${y}.${E[m]}`:E[m],f.deep?.forEach(x=>u.add(x)),h.has(y)&&f.own?.forEach(x=>u.add(x)),m===E.length-2&&E[m+1]==="length"&&(f.own?.forEach(x=>u.add(x)),g(f))}return f=f.children?.get(E[E.length-1]),f&&(f.own?.forEach(m=>u.add(m)),f.deep?.forEach(m=>u.add(m)),g(f)),u},b=(c,u,g)=>{if(u===g)return!1;for(let f=u;f<g;f++){let E=c.charCodeAt(f);if(E<48||E>57)return!1}return!0},O=(c,u)=>{if(c.deep||u.size<2)return u;let g=new Set;u.forEach(y=>{y.endsWith(bt)&&g.add(y.slice(0,-bt.length))});let f=new Set;if(u.forEach(y=>{let m=0,x="";for(let R=y.indexOf(".");R!==-1;R=y.indexOf(".",R+1)){let C=y.slice(0,R);(!(m>0&&b(y,m,R))||g.has(x))&&f.add(C),x=C,m=R+1}}),!f.size)return u;let E=new Set;return u.forEach(y=>{f.has(y)||E.add(y)}),E},D=c=>{let u=null,g=null,f=null,E=qe,y=$=>f?f.has($):u===$,m=$=>{let X=a($,c);f?f.set($,X):u===null?(u=$,g=X):(f=new Map([[u,g],[$,X]]),u=g=null)},x=$=>{if(f){f.forEach((X,J)=>{$.has(J)||(l(X,c),f.delete(J))});return}u!==null&&!$.has(u)&&(l(g,c),u=g=null)},R=()=>{f?f.forEach($=>l($,c)):g&&l(g,c),f=null,u=g=null},C=$=>{if($.size===E.size){let J=!0;if($.forEach(ye=>{J&&(J=E.has(ye))}),J)return}E=$;let X=O(c,$);x(X),X.forEach(J=>{y(J)||m(J)})};return c.reindex.add(C),C(c.deps),()=>{c.reindex.delete(C),R(),E=qe}},I=c=>{let u=p(c);u&&L(new Set([...u.own??[],...u.deep??[]]))},U=c=>I(Ie(c)),L=c=>{let u=Array.from(c),g=!0;for(let f=1;g&&f<u.length;f++)g=u[f-1].order<u[f].order;g||u.sort((f,E)=>f.order-E.order),u.forEach(f=>{s.has(f)&&f.run()})},F=(c,u,g=!1)=>{t.get(c)?.forEach(f=>f(u,c)),n.forEach(f=>f(c,u)),g?s.forEach(f=>f.run()):L(d(c))},N=(c,u)=>c!==u&&c!==null&&u!==null&&typeof c=="object"&&typeof u=="object"&&!le(c)&&!le(u)&&be(c)&&be(u)&&Array.isArray(c)===Array.isArray(u),j=c=>Array.isArray(c)?c.length:Object.keys(c).length,P=null,q=-1,V=(c,u)=>{let g=u.length>c.length,f=g?c:u,E=g?u:c,y=0;for(;y<f.length&&Object.is(Z(f[y]),Z(E[y]));)y++;for(let m=y;m<f.length;m++)if(!Object.is(Z(f[m]),Z(E[m+1])))return q;return y},Y=(c,u)=>{if(Array.isArray(u)){let E=c.length,y=u.length;if(!E||!y)return P;let m=Math.max(E,y);if(Math.abs(E-y)===1){let R=V(c,u);if(R!==q){let C=[];for(let $=R;$<m;$++)C.push(String($));return{keys:C,exact:!0}}}let x=[];for(let R=0;R<m;R++)if(!Object.is(Z(c[R]),Z(u[R]))&&(x.push(String(R)),x.length*2>=m))return P;return{keys:x,exact:!1}}let g=new Set([...Object.keys(c),...Object.keys(u)]);if(!g.size)return P;let f=[];return g.forEach(E=>{Object.is(Z(c[E]),Z(u[E]))||f.push(E)}),f.length*2>=g.size?P:{keys:f,exact:!1}},S=(c,u,g,f)=>{let E=new Set,y=x=>{let R=p(x);R?.own?.forEach(C=>E.add(C)),R?.deep?.forEach(C=>E.add(C))},m=Y(u,g);if(!m)return F(c,f);if(t.get(c)?.forEach(x=>x(f,c)),n.forEach(x=>x(c,f)),y(c),m.keys.forEach(x=>{let R=`${c}.${x}`,C=t.get(R);if(C){let $=Z(g[x]),X=A($)?B($,R):$;C.forEach(J=>J(X,R))}m.exact?y(R):d(R).forEach($=>E.add($))}),j(u)!==j(g)&&y(Ie(c)),Array.isArray(g)&&u.length!==g.length){let x=`${c}.length`;t.get(x)?.forEach(R=>R(g.length,x)),y(x)}L(E)},A=c=>c!==null&&typeof c=="object"&&be(c),h=new Map,T=(c,u)=>{let g=h.get(u);g?.store!==c&&(g?.unsubscribe(),h.set(u,{store:c,unsubscribe:c.$onAny((f,E)=>F(`${u}.${f}`,E))}))},_=c=>{h.get(c)?.unsubscribe(),h.delete(c)},B=(c,u)=>{let g=r.get(c);if(g)return g;let f=null,E=new Proxy(c,{has(y,m){return Reflect.has(y,m)||typeof m=="string"&&f?.has(m)===!0},ownKeys(y){return ie[ie.length-1]?.add(Ie(u)),Reflect.ownKeys(y)},get(y,m,x){if(m===We)return y;if(m===Rt)return u==="";if(typeof m!="string")return Reflect.get(y,m,x);if(u===""&&m in o)return o[m];let R=u?`${u}.${m}`:m;ie[ie.length-1]?.add(R);let C=Reflect.get(y,m,x);if(le(C))return T(C,R),C;let $=Z(C);return A($)?B($,R):$},set(y,m,x,R){if(R!==E&&!Object.prototype.hasOwnProperty.call(y,m))return Reflect.set(y,m,x,R);let C=u?`${u}.${m}`:m,$=le(x)?x:Z(x),X=!Object.prototype.hasOwnProperty.call(y,m);if(!X&&Object.is(y[m],$)&&($===null||typeof $!="object"))return!0;let J=y[m];y[m]=$,f?.delete(m),le($)?T($,C):_(C);let ye=le($)||!A($)?$:B($,C);return!X&&N(J,$)?S(C,J,$,ye):F(C,ye,X),!0},deleteProperty(y,m){if(typeof m!="string")return Reflect.deleteProperty(y,m);let x=Object.prototype.hasOwnProperty.call(y,m),R=Reflect.deleteProperty(y,m);if(R&&x){let C=u?`${u}.${m}`:m;(f??(f=new Set)).add(m),_(C),F(C,void 0),U(u)}return R}});return r.set(c,E),E},H=B(Z(e),"");Object.entries(Z(e)).forEach(([c,u])=>{le(u)&&T(u,c)});let K=(c,u,{immediate:g=!1}={})=>(t.has(c)||t.set(c,new Set),t.get(c).add(u),g&&u(_n(H,c),c),()=>t.get(c)?.delete(u)),w=(c,{immediate:u=!1}={})=>(n.add(c),u&&wt(H,"",(g,f)=>c(g,f)),()=>n.delete(c)),W=(c,{deep:u=!1,alsoWakenBy:g}={})=>{let f=!1,E=!1,y={deps:qe,reindex:new Set,deep:u,order:Pn++,run:()=>{if(f){E=!0;return}f=!0;try{let R=0;do{E=!1;let C=new Set;ie.push(C);try{c()}finally{ie.pop(),y.deps=C}}while(E&&++R<100);E&&console.error("jq79: an effect re-woke itself 100 times in a row (it writes what it reads); giving up on it settling")}finally{f=!1,y.reindex.forEach(R=>R(y.deps))}}};s.add(y);let m=D(y),x=()=>{s.delete(y),m()};return g?.length?k(y,g,x):(y.run(),x)},k=(c,u,g)=>{let f=u.map(E=>E?.[St]?.(c)).filter(Boolean);return c.run(),()=>{g(),f.forEach(E=>E())}},z=c=>{s.add(c);let u=D(c);return()=>{s.delete(c),u()}},G=()=>{h.forEach(({unsubscribe:c})=>c()),h.clear()};return o.$on=K,o.$onAny=w,o.$effect=W,o.$dispose=G,o[St]=z,H},Ue=class{constructor(t,n){v(this,"scope",t);v(this,"disposers",null);v(this,"runs",null);v(this,"options");let s=t[Ee];this.options=n||s?{deep:n,alsoWakenBy:s}:void 0}effect(t){(this.disposers??(this.disposers=[])).push(this.scope.$effect(t,this.options)),(this.runs??(this.runs=[])).push(t)}onDispose(t){(this.disposers??(this.disposers=[])).push(t)}refresh(){this.runs?.forEach(t=>t())}dispose(){let t=this.disposers;if(this.disposers=null,this.runs=null,t)for(let n=0;n<t.length;n++)t[n]()}},ce=(e,t=!1)=>new Ue(e,t);var $t=/(?:let|var|const)(?:\s+(?=[A-Za-z_$])|\s*(?=[{[]))/y,Tt=/\$:\s*/y,Re=/import(?=\s*\()/y,xt=/\$:\s*([A-Za-z_$][\w$]*)\s*=(?!=)/y,te=(e,t)=>{let n=e[t],s=t+1;for(;s<e.length;){if(e[s]==="\\"){s+=2;continue}if(e[s]===n)return s+1;s++}return e.length},Q=(e,t)=>{let n=e.indexOf(`
|
|
2
|
-
`,t);return n===-1?e.length:n},ee=(e,t)=>{let n=e.indexOf("*/",t+2);return n===-1?e.length:n+2},
|
|
3
|
-
`)return n;if(r==="[")s=!0;else if(r==="]")s=!1;else if(r==="/"&&!s){for(n++;n<e.length&&/[a-z]/i.test(e[n]);)n++;return n}n++}return e.length},
|
|
4
|
-
`){let
|
|
5
|
-
`||
|
|
6
|
-
`||r===";"||r==="}"?s=!0:/\s/.test(r)||(s=!1),t++}return-1},
|
|
7
|
-
`||a===";"||a==="}"?r=!0:/\s/.test(a)||(r=!1),t+=a,n++}return
|
|
8
|
-
); }`)}catch{s=null}_t.set(n,s)}return s},
|
|
9
|
-
= $value`,F=new Set;Object.entries(d).forEach(([S,A])=>{let h=U(S);p[h]!==void 0&&console.warn(`jq79: <${t.tag}> binds prop "${h}" through both :${h} and ${I(S)} - ${I(S)} wins`),p[h]=A,Vt(L(A),["$value"])===null&&(F.add(S),console.warn(`jq79: ${I(S)}="${A}" is not assignable - updates from <${t.tag}> will be dropped`))});let N=()=>{let S={};return O.forEach(({name:A,expr:h})=>{if(A!==void 0)S[A]=M(h,n);else{let T=M(h,n);T!==null&&typeof T=="object"&&Object.assign(S,T)}}),Object.entries(d).forEach(([A,h])=>{S[U(A)]=M(h,n)}),S},j=null,P=null,q=null,V=new Set,Y=S=>{if(S==null){if(!n[En]?.has(e)||V.has("unfilled"))return;V.add("unfilled"),console.error(`jq79: <${t.tag}> is declared as a prop and the parent passed nothing - nothing renders here. Pass it (:${e}="\u2026"), or drop it from the signature to use the one declared in this file.`);return}V.has("type")||(V.add("type"),console.error(`jq79: <${t.tag}> is ${typeof S}, not a component - nothing renders here`))};return s.effect(()=>{let S=M(e,n),A=S instanceof oe?S:null;if(A||Y(S),A===P||(q?.dispose(),q=null,j?.destroy(),j=null,P=A,!A))return;let h=new oe({template:A.template,scripts:A.scripts,styles:A.styles,modules:A.modules,filename:A.filename,siblings:A.siblings,name:A.name});if(l&&(h.slots=l),Object.keys(d).length){let K=new Set;h.modelWriteback=(w,W)=>{let k=w==null?"default":re(String(w)),z=d[k];return z===void 0?(K.has(k)||(K.add(k),console.warn(`jq79: <${t.tag}> has no ${I(k)} - bound: ${Object.keys(d).map(I).join(", ")}`)),!1):F.has(k)?!1:(me(()=>M(L(z),n,{$value:W})),!0)}}b.forEach(([K,w])=>Jn(h,K,w,n));let T=Qs(h.scripts);er(t,e,Object.keys(p),T);let _=Bt(me(N),T),B=document.createDocumentFragment();if(Ke>=kt){console.error(`jq79: <${t.tag}> is ${kt} levels deep inside itself; giving up here. A component that renders itself stops when its data stops - is there a cycle in it?`);return}Ke++;try{(r?h.renderShadow(_):h.render(_)).mount(B)}finally{Ke--}i.parentNode.insertBefore(B,i);let H=ce(n,!0);if(D){let K=[];H.effect(()=>{let w=Bt(N(),T),W=Object.keys(w);K.forEach(k=>{k in w||(h.data[k]=void 0)}),W.forEach(k=>{h.data[k]=w[k]}),K=W})}else Object.entries(p).forEach(([K,w])=>{T!==null&&!T.has(K)||H.effect(()=>{h.data[K]=M(w,n)})});q=H,j=h}),s.onDispose(()=>{q?.dispose(),j?.destroy()}),a},ps=(e,t)=>{let n=()=>{let s=M(e,t);return s!==null&&typeof s=="object"?s:null};return new Proxy(t,{has(s,r){let o=n();return o!==null&&Reflect.has(o,r)||Reflect.has(s,r)},get(s,r){let o=n();return o!==null&&Reflect.has(o,r)?o[r]:Reflect.get(s,r)},set(s,r,o){let i=n();return i!==null&&Reflect.has(i,r)?(i[r]=o,!0):Reflect.set(s,r,o)}})},ae=e=>typeof e=="string"?e.split(/\s+/).filter(Boolean):Array.isArray(e)?e.flatMap(ae):e!==null&&typeof e=="object"?Object.entries(e).flatMap(([t,n])=>n?ae(t):[]):[],hs=e=>typeof e=="function"?(t,n,s)=>{try{return!!e(t,n,s)}catch{return!1}}:typeof e=="string"||Array.isArray(e)?ht(e):()=>!1,gs=new Set(["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]),et=(e,t,n)=>{let s=gs.has(t);(s?!n:n==null)?e.removeAttribute(t):e.setAttribute(t,s?"":String(n))},Ae={cloneSkeletons:!0},ms=e=>e.startsWith("@")||e===":class"||e.startsWith(":class.")?!0:e.startsWith(":")?!ke(e)&&!e.includes("."):e!==je,cn=e=>{if(e.component||e.tag.includes("-")||an(e.tag)||e.tag==="template"||document.createElement(e.tag)instanceof HTMLUnknownElement)return!1;for(let t in e.attrs)if(!ms(t))return!1;return e.children.every(t=>typeof t=="string"||cn(t))},un=(e,t,n,s)=>{s.add(e.tag);let r=document.createElement(e.tag),o,i=null;for(let a in e.attrs){let l=e.attrs[a];if(a.startsWith("@"))n.push({kind:"event",path:t,attr:a,expr:l});else if(a===":class")o=l;else if(a.startsWith(":class."))(i??(i=[])).push([a.slice(7),l]);else if(a.startsWith(":")){let p=a.slice(1);n.push({kind:"attr",path:t,name:p,expr:l||re(p)})}else r.setAttribute(a,l)}return(o!==void 0||i)&&n.push({kind:"class",path:t,classExpr:o,toggles:i,staticClasses:new Set(ae(e.attrs.class??""))}),e.children.forEach((a,l)=>{if(typeof a=="string"){a.includes("{{")?(n.push({kind:"text",path:[...t,l],parts:tn(a)}),r.appendChild(document.createTextNode(""))):r.appendChild(document.createTextNode(a));return}r.appendChild(un(a,[...t,l],n,s))}),r},ys=3,fn=e=>1+e.children.reduce((t,n)=>t+(typeof n=="string"?0:fn(n)),0),Lt=new WeakMap,bs=e=>{let t=Lt.get(e);if(t!==void 0)return t;let n=null;if(cn(e)&&fn(e)>=ys){let s=[],r=new Set;n={skeleton:un(e,[],s,r),ops:s,tags:Array.from(r)}}return Lt.set(e,n),n},Es=(e,t)=>{let n=e;for(let s=0;s<t.length;s++)n=n.childNodes[t[s]];return n},Ss=(e,t,n)=>{let s=e.skeleton.cloneNode(!0);for(let r of e.ops){let o=r.path.length===0?s:Es(s,r.path);if(r.kind==="text"){let i=o,a=r.parts;n.effect(()=>{let l=nn(a,t);i.textContent!==l&&(i.textContent=l)})}else if(r.kind==="event")sn(o,r.attr,r.expr,t);else if(r.kind==="attr"){let i=o,{name:a,expr:l}=r;n.effect(()=>et(i,a,M(l,t)))}else{let i=o,{classExpr:a,toggles:l,staticClasses:p}=r,d=[];n.effect(()=>{let b=a!==void 0?ae(M(a,t)):[];l?.forEach(([O,D])=>{M(D,t)&&b.push(...ae(O))}),d.forEach(O=>{!b.includes(O)&&!p.has(O)&&i.classList.remove(O)}),i.classList.add(...b),d=b})}}return s},lt=(e,t,n,s)=>{let r=e.attrs[":with"],o=r!==void 0?ps(r,t):t;if(an(e.tag))return ds(e,o,n,s);if(e.tag==="template"&&at(e)!==void 0)return cs(e);let i=Ze(o,e.tag);if(i)return vt(i,e,o,n,s);if(Ae.cloneSkeletons){let N=bs(e);if(N&&!N.tags.some(j=>Ze(o,j)))return Ss(N,o,n)}let a=document.createElement(e.tag);if(e.component&&a instanceof HTMLUnknownElement&&o[nt]?.count===0)throw rs(e.component,o);let l=a instanceof HTMLUnknownElement||e.tag.includes("-");if(l){let N=!1;n.effect(()=>{if(N)return;let j=Ze(o,e.tag);if(!j)return;N=!0;let P=vt(j,e,o,n,s),q=it(P);n.onDispose(()=>ve(q)),a.replaceWith(P)})}for(let N in e.attrs){let j=e.attrs[N];if(N.startsWith("@"))sn(a,N,j,o);else if(N===":model"||N.startsWith(":model."))l||console.warn(`jq79: ${N} on <${e.tag}> does nothing - :model binds component tags only (for now)`);else if(!ke(N))if(N.startsWith(":"))if(l)a.setAttribute(N,j);else{let P=N.slice(1),q=j||re(P);n.effect(()=>et(a,P,M(q,o)))}else a.setAttribute(N,j)}let p=e.attrs[":attrs"];if(p!==void 0){let N=[];n.effect(()=>{N.forEach(P=>a.removeAttribute(P));let j=M(p,o);N=j&&typeof j=="object"?Object.keys(j):[],N.forEach(P=>et(a,P,j[P]))})}let d=e.attrs[":class"],b=null;for(let N in e.attrs)N.startsWith(":class.")&&(b??(b=[])).push([N.slice(7),e.attrs[N]]);if(d!==void 0||b){let N=new Set(ae(e.attrs.class??"")),j=[];n.effect(()=>{let P=d!==void 0?ae(M(d,o)):[];b?.forEach(([q,V])=>{M(V,o)&&P.push(...ae(q))}),j.forEach(q=>{!P.includes(q)&&!N.has(q)&&a.classList.remove(q)}),a.classList.add(...P),j=P})}let O=e.attrs[":text"],D=e.attrs[":html"],I=e.attrs[":html.allowed"];I!==void 0&&D===void 0&&console.warn("jq79: :html.allowed without :html on the same element does nothing"),O!==void 0?n.effect(()=>{a.textContent=String(M(O,o)??"")}):D!==void 0?n.effect(()=>{let N=I!==void 0?{allowUrl:hs(M(I,o))}:void 0;a.innerHTML=mt(String(M(D,o)??""),N)}):a instanceof HTMLTemplateElement?pe(e.children,o,n,s,a.content):pe(e.children,o,n,s,a);let U=e.attrs[":value"];U!==void 0&&n.effect(()=>{let N=String(M(U,o)??"");a.value!==N&&(a.value=N)});let L=e.attrs[":checked"];L!==void 0&&n.effect(()=>{a.checked=!!M(L,o)});let F=e.attrs[":selected"];return F!==void 0&&n.effect(()=>{a.selected=!!M(F,o)}),a},ws=(e,t,n,s)=>{let r=document.createComment("if"),o=document.createDocumentFragment();o.appendChild(r);let i=null,a=null,l=null;return n.effect(()=>{let p=e.find(b=>b.expr===void 0||M(b.expr,t))??null;if(p===a||(l?.dispose(),i&&ve(i),i=null,a=p,!p))return;l=ce(t);let d=lt(p.node,t,l,s);i=it(d),r.parentNode.insertBefore(d,r.nextSibling)}),o},he=(e,t,n)=>{Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})},Rs=e=>{let t=new Uint8Array(e.length),n=[],s=new Int32Array(e.length).fill(-1);for(let r=0;r<e.length;r++){let o=e[r];if(o<0)continue;let i=0,a=n.length;for(;i<a;){let l=i+a>>1;e[n[l]]<o?i=l+1:a=l}i>0&&(s[r]=n[i-1]),n[i]=r}for(let r=n.length?n[n.length-1]:-1;r!==-1;r=s[r])t[r]=1;return t},$s=e=>{if(e===null||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},dn=(e,t)=>typeof e=="string"?t.some(n=>Dt(e,n)):Object.values(e.attrs).some(n=>t.some(s=>Dt(n,s)))||e.children.some(n=>dn(n,t)),Mt=/[A-Za-z0-9_$]/,Ts=/^[A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*$/,Dt=(e,t)=>{for(let n=e.indexOf(t);n!==-1;n=e.indexOf(t,n+1)){let s=n===0?"":e[n-1],r=e[n+t.length]??"";if(!Mt.test(s)&&!Mt.test(r))return!0}return!1},Ve=new WeakMap,xs=e=>{let t=Ve.get(e);if(t!==void 0)return t;let n=e.attrs[":each"].match(Xn);if(!n)return Ve.set(e,null),null;let[,s,r,o]=n,i=e.attrs[":key"],a=i===s,l=i!==void 0&&!a&&Ts.test(i)&&i.startsWith(`${s}.`)?i.slice(s.length+1):void 0,{[":each"]:p,[":key"]:d,...b}=e.attrs,O={...e,attrs:b},D=["$index",...r?[r]:[]],I=dn(O,D),U=/^[A-Z]/.test(s)||r!==void 0&&/^[A-Z]/.test(r),L={itemName:s,atName:r,listExpr:o,keyExpr:i,keyIsItem:a,keyProp:l,itemNode:O,readsPosition:I,namesComponent:U};return Ve.set(e,L),L},Ns=(e,t,n,s)=>{let r=xs(e);if(!r)return document.createComment(`invalid :each expression "${e.attrs[":each"]}"`);let{itemName:o,atName:i,listExpr:a,keyExpr:l,keyIsItem:p,keyProp:d,itemNode:b,readsPosition:O,namesComponent:D}=r,I=document.createComment("each"),U=document.createDocumentFragment();U.appendChild(I),(":if"in e.attrs||":elseif"in e.attrs||":else"in e.attrs)&&console.warn("jq79: :if/:elseif/:else on a :each element is ignored; filter the list expression instead");let L=[],F=!1;return n.effect(()=>{let N=ts(t);try{let j=M(a,t),P=Array.isArray(j),q=P?null:$s(j)?Object.keys(j):[],V=P?j.length:q.length,Y=new Map;L.forEach((w,W)=>{w.pos=W;let k=Y.get(w.key);k?k.push(w):Y.set(w.key,[w])});let S=new Set,A=[],h=[],T=[],_;for(let w=0;w<V;w++){let W=P?w:q[w],k=P?j[w]:j[W],z=W;p?z=k:d!==void 0&&k!==null&&typeof k=="object"?z=k[d]:l!==void 0&&(_===void 0?(_=Object.create(t),he(_,o,k),i&&he(_,i,W),he(_,"$index",w)):(_[o]=k,i&&(_[i]=W),_.$index=w),z=M(l,_)),S.has(z)&&!F&&(F=!0,console.warn(`jq79: duplicate :key in :each "${e.attrs[":each"]}"; duplicates pair up by position`)),S.add(z);let G=Y.get(z)?.shift();if(G&&Object.is(G.item,k)){let f=G.scope;f.$index!==w&&(O&&A.push(G),f.$index=w),i&&f[i]!==W&&(f[i]=W),h.push(G),T.push(G.pos);continue}G&&(G.fx.dispose(),ve(G.range));let c=Object.create(t);he(c,o,k),i&&he(c,i,W),he(c,"$index",w),D||rn.add(c);let u=ce(t),g=it(lt(b,c,u,s));h.push({key:z,item:k,scope:c,fx:u,range:g,pos:w}),T.push(-1)}let B=new Set;Y.forEach(w=>w.forEach(W=>B.add(W))),B.size&&(B.forEach(w=>{w.dead=!0,w.fx.dispose()}),Yn(Qn(L,w=>w.dead===!0)));let H=I,K=Rs(T);h.forEach((w,W)=>{!K[W]&&H.nextSibling!==w.range.first&&es(w.range,H),H=w.range.last}),A.forEach(w=>me(()=>w.fx.refresh())),L=h}finally{ns(N)}}),U},pn=(e,t)=>{let n=t;for(;n<e.length&&typeof e[n]=="string"&&!e[n].trim();)n++;return n},Xe=e=>{let t=":if"in e.attrs,n=":elseif"in e.attrs,s=":else"in e.attrs;if((t?1:0)+(n?1:0)+(s?1:0)<2)return;let r=[t?":if":null,n?":elseif":null,s?":else":null].filter(Boolean);console.warn(`jq79: ${r.join(" and ")} on the same <${e.tag}> - only ${r[0]} applies; the branches of a chain are sibling elements, one directive each`)},Cs=(e,t)=>{let n=":elseif"in e.attrs?":elseif":":else";console.warn(t?`jq79: a second ${n} on <${e.tag}> - the chain before it already ended with :else, which closes it. One :if, any number of :elseif, at most one :else`:`jq79: ${n} on <${e.tag}> continues no :if - it renders unconditionally. A chain is :if, then :elseif, then :else, on adjacent siblings: anything but whitespace between them breaks it`)},hn=e=>{e.forEach(n=>{typeof n!="string"&&hn(n.children)});let t=!1;for(let n=0;n<e.length;){let s=e[n];if(typeof s=="string"){s.trim()&&(t=!1),n++;continue}if(":each"in s.attrs){t=!1,n++;continue}if(Xe(s),":if"in s.attrs){n++;let r=i=>{let a=pn(e,n),l=e[a];if(typeof l=="object"&&i in l.attrs)return n=a+1,l};for(let i=r(":elseif");i;i=r(":elseif"))Xe(i);let o=r(":else");o&&Xe(o),t=o!==void 0;continue}(":elseif"in s.attrs||":else"in s.attrs)&&Cs(s,t),t=!1,n++}},It=new WeakMap,As=(e,t,n)=>{let s=It.get(t);if(s)return s;let r=[{expr:t.attrs[":if"],node:t}],o=n+1,i=p=>{let d=pn(e,o),b=e[d];if(typeof b=="object"&&p in b.attrs)return o=d+1,b};for(let p=i(":elseif");p;p=i(":elseif"))r.push({expr:p.attrs[":elseif"],node:p});let a=i(":else");a&&r.push({node:a});let l={branches:r,next:o};return It.set(t,l),l},pe=(e,t,n,s=!1,r)=>{let o=r??document.createDocumentFragment(),i=0;for(;i<e.length;){let a=e[i];if(typeof a=="string"){let l=document.createTextNode(a);if(a.includes("{{")){let p=tn(a);n.effect(()=>{let d=nn(p,t);l.textContent!==d&&(l.textContent=d)})}o.appendChild(l),i++;continue}if(":each"in a.attrs){o.appendChild(Ns(a,t,n,s)),i++;continue}if(":if"in a.attrs){let l=As(e,a,i);o.appendChild(ws(l.branches,t,n,s)),i=l.next;continue}o.appendChild(lt(a,t,n,s)),i++}return o},br=(e,t,n=!1)=>pe(e.template,t,ce(t),n),Os=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),_s=/<([A-Za-z][\w.-]*)((?:"[^"]*"|'[^']*'|[^>"'])*?)\/>/g,ct=/(<script[\s\S]*?<\/script\s*>|<style[\s\S]*?<\/style\s*>)/gi,js=e=>e.split(ct).map((t,n)=>n%2===1?t:t.replace(_s,(s,r,o)=>Os.has(r.toLowerCase())?s:`<${r}${o}></${r}>`)).join(""),gn=/<([A-Za-z][\w.-]*)((?:"[^"]*"|'[^']*'|[^>"'])*)>/g,Ps=/"[^"]*"|'[^']*'|(^|\s)\.\.\.([A-Za-z_$][\w$.]*)/g,ks=e=>e.split(ct).map((t,n)=>n%2===1?t:t.replace(gn,(s,r,o)=>{let i=0,a=o.replace(Ps,(l,p,d)=>d===void 0?l:`${p}:props.${i++}="${d}"`);return`<${r}${a}>`})).join(""),vs=/"[^"]*"|'[^']*'|(^|\s)(:[\w.$-]+)/g,Ls=/<\/slot\.([\w.$-]+)(\s*)>/gi,Ms=/^slot\./i,Ds=e=>Ms.test(e)?`slot.${Qe(e.slice(5))}`:e,je=":jq79-component",Is=/^[A-Z]/,qs=/\/\s*$/,Ws=(e,t)=>{if(!Is.test(e))return t;let n=` ${je}="${e}"`,s=qs.exec(t);return s?`${t.slice(0,s.index)}${n}${s[0]}`:`${t}${n}`},Us=e=>e.split(ct).map((t,n)=>n%2===1?t:t.replace(gn,(s,r,o)=>{let i=o.replace(vs,(a,l,p)=>p===void 0?a:`${l}${Qe(p)}`);return`<${Ds(r)}${Ws(r,i)}>`}).replace(Ls,(s,r,o)=>`</slot.${Qe(r)}${o}>`)).join(""),Le="data-jq79",Fs=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return(t>>>0).toString(36)},mn=(e,t)=>{e.forEach(n=>{typeof n!="string"&&(n.attrs[Le]=t,mn(n.children,t))})},Bs=(e,t)=>e.split(",").map(n=>{let s=n.trim(),r=s.indexOf("::"),o=r===-1?s:s.slice(0,r),i=r===-1?"":s.slice(r);return`${o}[${Le}="${t}"]${i}`}).join(", "),yn=(e,t)=>{Array.from(e).forEach(n=>{n instanceof CSSStyleRule?n.selectorText=Bs(n.selectorText,t):n instanceof CSSGroupingRule&&yn(n.cssRules,t)})},Hs=(e,t)=>{/:deep\(|::v-deep|>>>/.test(e)&&console.warn("jq79: :deep()/::v-deep/>>> are not supported in <style scoped>; the rule will be dropped by the browser");let n=new CSSStyleSheet;return n.replaceSync(e),yn(n.cssRules,t),Array.from(n.cssRules).map(s=>s.cssText).join(`
|
|
10
|
-
`)},
|
|
11
|
-
//# sourceURL=${e}?jq79-script=${t}`:"",
|
|
12
|
-
;$__state.done = true })()${
|
|
1
|
+
var $n=Object.defineProperty;var Tn=(e,t,n)=>t in e?$n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var M=(e,t,n)=>Tn(e,typeof t!="symbol"?t+"":t,n);function ge(e,t){return typeof e=="string"?document.querySelector(e):e.querySelector(t)}function De(e,t){return Array.from(typeof e=="string"?document.querySelectorAll(e):e.querySelectorAll(t))}var Ie=(e,t={})=>{let n=document.createElement(e);for(let[s,r]of Object.entries(t))if(s==="className")n.className=Array.isArray(r)?r.join(" "):r;else if(s==="textContent")n.textContent=r;else if(s==="children")for(let i of r)n.appendChild(i);else n.setAttribute(s,r);return n},xn=new Set(["a","b","i","em","strong","p","br","ul","ol","li","blockquote","code","pre","span","div","h1","h2","h3","h4","h5","h6","img"]),dt={a:new Set(["href","title"]),img:new Set(["src","alt"]),"*":new Set(["class"])},Nn=new Set(["http:","https:","mailto:"]);function Cn(e){try{let t=new URL(e,"https://example.com");return Nn.has(t.protocol)}catch{return!1}}var An={"https:":"443","http:":"80"};function On(e){let t=e.trim().toLowerCase().match(/^([a-z\d*][a-z\d.*-]*?)(?::(\d{1,5}|\*))?$/);if(!t)return null;let[,n,s]=t,r=n.split(".");return r.some(o=>o!=="*"&&!/^[a-z\d-]+$/.test(o))?null:{host:new RegExp(`^${r.map(o=>o==="*"?"[^.]+":o).join("\\.")}$`),port:!s||s==="*"?null:s}}var ht=e=>{let t=(Array.isArray(e)?e:e.split(",")).map(On).filter(n=>n!==null);return n=>{let s=n.hostname.toLowerCase(),r=n.port||An[n.protocol]||"";return t.some(i=>i.host.test(s)&&(i.port===null||i.port===r))}};function _n(e,t,n,s){try{return!!e(new URL(t,document.baseURI),n,s)}catch{return!1}}var pt=512;function gt(e,t,n,s){if(n>pt)throw new RangeError(`jq79: sanitizeHTML input nests deeper than ${pt} elements`);for(let r of Array.from(e.childNodes))if(r.nodeType===Node.ELEMENT_NODE){let i=jn(r,n,s);i&&t.appendChild(i)}else r.nodeType===Node.TEXT_NODE&&t.appendChild(r.cloneNode())}function jn(e,t,n){let s=e.tagName.toLowerCase();if(!xn.has(s))return null;let r=document.createElement(s);for(let i of Array.from(e.attributes)){let o=i.name.toLowerCase(),a=dt[s]?.has(o),l=dt["*"]?.has(o);!a&&!l||(o==="href"||o==="src")&&(!Cn(i.value)||n&&!_n(n,i.value,s,o))||r.setAttribute(o,i.value)}return s==="a"&&r.setAttribute("rel","noopener noreferrer"),gt(e,r,t+1,n),r}function mt(e,t){let n=document.createElement("template");n.innerHTML=e;let s=document.createElement("div");return gt(n.content,s,0,t?.allowUrl),s.innerHTML}var kn=(e,t)=>t.split(".").reduce((n,s)=>n?.[s],e),be=e=>{if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},wt=(e,t,n)=>{Object.entries(e).forEach(([s,r])=>{let i=t?`${t}.${s}`:s;r&&typeof r=="object"&&be(r)?wt(r,i,n):n(i,r)})},yt=" keys",qe=e=>e?`${e}.${yt}`:yt,Et=".length",bt=(e,t)=>({children:null,own:null,deep:null,parent:e,segment:t}),Pn=e=>!e.own?.size&&!e.deep?.size&&!e.children?.size,Ue=Symbol("jq79.raw"),Z=e=>{let t=e;for(;t!==null&&typeof t=="object"&&t[Ue];)t=t[Ue];return t},Rt=Symbol("jq79.store"),le=e=>e!==null&&typeof e=="object"&&e[Rt]===!0,ie=[],me=e=>{ie.push(new Set);try{return e()}finally{ie.pop()}},vn=0,We=new Set,St="$__attach",Se=Symbol("jq79.alsoWakenBy"),we=e=>{let t=new Map,n=new Set,s=new Set,r=new WeakMap,i=Object.create(null),o=bt(null,""),a=(c,u)=>{let g=o;return c.split(".").forEach(d=>{let b=g.children??(g.children=new Map),y=b.get(d);y||(y=bt(g,d),b.set(d,y)),g=y}),(u.deep?g.deep??(g.deep=new Set):g.own??(g.own=new Set)).add(u),g},l=(c,u)=>{(u.deep?c.deep:c.own)?.delete(u);let g=c;for(;g?.parent&&Pn(g);)g.parent.children.delete(g.segment),g=g.parent},p=c=>{let u=o;for(let g of c.split("."))if(u=u.children?.get(g),!u)return;return u},f=c=>{let u=new Set,g=m=>{let N=m.children?[...m.children.values()]:[];for(;N.length;){let $=N.pop();$.own?.forEach(A=>u.add(A)),$.deep?.forEach(A=>u.add(A)),$.children?.forEach(A=>N.push(A))}},d=o,b=c.split("."),y="";for(let m=0;m<b.length-1;m++){if(d=d.children?.get(b[m]),!d)return u;y=y?`${y}.${b[m]}`:b[m],d.deep?.forEach(N=>u.add(N)),h.has(y)&&d.own?.forEach(N=>u.add(N)),m===b.length-2&&b[m+1]==="length"&&(d.own?.forEach(N=>u.add(N)),g(d))}return d=d.children?.get(b[b.length-1]),d&&(d.own?.forEach(m=>u.add(m)),d.deep?.forEach(m=>u.add(m)),g(d)),u},E=(c,u,g)=>{if(u===g)return!1;for(let d=u;d<g;d++){let b=c.charCodeAt(d);if(b<48||b>57)return!1}return!0},S=(c,u)=>{if(c.deep||u.size<2)return u;let g=new Set;u.forEach(y=>{y.endsWith(Et)&&g.add(y.slice(0,-Et.length))});let d=new Set;if(u.forEach(y=>{let m=0,N="";for(let $=y.indexOf(".");$!==-1;$=y.indexOf(".",$+1)){let A=y.slice(0,$);(!(m>0&&E(y,m,$))||g.has(N))&&d.add(A),N=A,m=$+1}}),!d.size)return u;let b=new Set;return u.forEach(y=>{d.has(y)||b.add(y)}),b},j=c=>{let u=null,g=null,d=null,b=We,y=T=>d?d.has(T):u===T,m=T=>{let X=a(T,c);d?d.set(T,X):u===null?(u=T,g=X):(d=new Map([[u,g],[T,X]]),u=g=null)},N=T=>{if(d){d.forEach((X,J)=>{T.has(J)||(l(X,c),d.delete(J))});return}u!==null&&!T.has(u)&&(l(g,c),u=g=null)},$=()=>{d?d.forEach(T=>l(T,c)):g&&l(g,c),d=null,u=g=null},A=T=>{if(T.size===b.size){let J=!0;if(T.forEach(Ee=>{J&&(J=b.has(Ee))}),J)return}b=T;let X=S(c,T);N(X),X.forEach(J=>{y(J)||m(J)})};return c.reindex.add(A),A(c.deps),()=>{c.reindex.delete(A),$(),b=We}},I=c=>{let u=p(c);u&&D(new Set([...u.own??[],...u.deep??[]]))},U=c=>I(qe(c)),D=c=>{let u=Array.from(c),g=!0;for(let d=1;g&&d<u.length;d++)g=u[d-1].order<u[d].order;g||u.sort((d,b)=>d.order-b.order),u.forEach(d=>{s.has(d)&&d.run()})},F=(c,u,g=!1)=>{t.get(c)?.forEach(d=>d(u,c)),n.forEach(d=>d(c,u)),g?s.forEach(d=>d.run()):D(f(c))},C=(c,u)=>c!==u&&c!==null&&u!==null&&typeof c=="object"&&typeof u=="object"&&!le(c)&&!le(u)&&be(c)&&be(u)&&Array.isArray(c)===Array.isArray(u),k=c=>Array.isArray(c)?c.length:Object.keys(c).length,P=null,q=-1,V=(c,u)=>{let g=u.length>c.length,d=g?c:u,b=g?u:c,y=0;for(;y<d.length&&Object.is(Z(d[y]),Z(b[y]));)y++;for(let m=y;m<d.length;m++)if(!Object.is(Z(d[m]),Z(b[m+1])))return q;return y},Y=(c,u)=>{if(Array.isArray(u)){let b=c.length,y=u.length;if(!b||!y)return P;let m=Math.max(b,y);if(Math.abs(b-y)===1){let $=V(c,u);if($!==q){let A=[];for(let T=$;T<m;T++)A.push(String(T));return{keys:A,exact:!0}}}let N=[];for(let $=0;$<m;$++)if(!Object.is(Z(c[$]),Z(u[$]))&&(N.push(String($)),N.length*2>=m))return P;return{keys:N,exact:!1}}let g=new Set([...Object.keys(c),...Object.keys(u)]);if(!g.size)return P;let d=[];return g.forEach(b=>{Object.is(Z(c[b]),Z(u[b]))||d.push(b)}),d.length*2>=g.size?P:{keys:d,exact:!1}},w=(c,u,g,d)=>{let b=new Set,y=N=>{let $=p(N);$?.own?.forEach(A=>b.add(A)),$?.deep?.forEach(A=>b.add(A))},m=Y(u,g);if(!m)return F(c,d);if(t.get(c)?.forEach(N=>N(d,c)),n.forEach(N=>N(c,d)),y(c),m.keys.forEach(N=>{let $=`${c}.${N}`,A=t.get($);if(A){let T=Z(g[N]),X=O(T)?B(T,$):T;A.forEach(J=>J(X,$))}m.exact?y($):f($).forEach(T=>b.add(T))}),k(u)!==k(g)&&y(qe(c)),Array.isArray(g)&&u.length!==g.length){let N=`${c}.length`;t.get(N)?.forEach($=>$(g.length,N)),y(N)}D(b)},O=c=>c!==null&&typeof c=="object"&&be(c),h=new Map,x=(c,u)=>{let g=h.get(u);g?.store!==c&&(g?.unsubscribe(),h.set(u,{store:c,unsubscribe:c.$onAny((d,b)=>F(`${u}.${d}`,b))}))},_=c=>{h.get(c)?.unsubscribe(),h.delete(c)},B=(c,u)=>{let g=r.get(c);if(g)return g;let d=null,b=new Proxy(c,{has(y,m){return Reflect.has(y,m)||typeof m=="string"&&d?.has(m)===!0},ownKeys(y){return ie[ie.length-1]?.add(qe(u)),Reflect.ownKeys(y)},get(y,m,N){if(m===Ue)return y;if(m===Rt)return u==="";if(typeof m!="string")return Reflect.get(y,m,N);if(u===""&&m in i)return i[m];let $=u?`${u}.${m}`:m;ie[ie.length-1]?.add($);let A=Reflect.get(y,m,N);if(le(A))return x(A,$),A;let T=Z(A);return O(T)?B(T,$):T},set(y,m,N,$){if($!==b&&!Object.prototype.hasOwnProperty.call(y,m))return Reflect.set(y,m,N,$);let A=u?`${u}.${m}`:m,T=le(N)?N:Z(N),X=!Object.prototype.hasOwnProperty.call(y,m);if(!X&&Object.is(y[m],T)&&(T===null||typeof T!="object"))return!0;let J=y[m];y[m]=T,d?.delete(m),le(T)?x(T,A):_(A);let Ee=le(T)||!O(T)?T:B(T,A);return!X&&C(J,T)?w(A,J,T,Ee):F(A,Ee,X),!0},deleteProperty(y,m){if(typeof m!="string")return Reflect.deleteProperty(y,m);let N=Object.prototype.hasOwnProperty.call(y,m),$=Reflect.deleteProperty(y,m);if($&&N){let A=u?`${u}.${m}`:m;(d??(d=new Set)).add(m),_(A),F(A,void 0),U(u)}return $}});return r.set(c,b),b},H=B(Z(e),"");Object.entries(Z(e)).forEach(([c,u])=>{le(u)&&x(u,c)});let K=(c,u,{immediate:g=!1}={})=>(t.has(c)||t.set(c,new Set),t.get(c).add(u),g&&u(kn(H,c),c),()=>t.get(c)?.delete(u)),R=(c,{immediate:u=!1}={})=>(n.add(c),u&&wt(H,"",(g,d)=>c(g,d)),()=>n.delete(c)),W=(c,{deep:u=!1,alsoWakenBy:g}={})=>{let d=!1,b=!1,y={deps:We,reindex:new Set,deep:u,order:vn++,run:()=>{if(d){b=!0;return}d=!0;try{let $=0;do{b=!1;let A=new Set;ie.push(A);try{c()}finally{ie.pop(),y.deps=A}}while(b&&++$<100);b&&console.error("jq79: an effect re-woke itself 100 times in a row (it writes what it reads); giving up on it settling")}finally{d=!1,y.reindex.forEach($=>$(y.deps))}}};s.add(y);let m=j(y),N=()=>{s.delete(y),m()};return g?.length?L(y,g,N):(y.run(),N)},L=(c,u,g)=>{let d=u.map(b=>b?.[St]?.(c)).filter(Boolean);return c.run(),()=>{g(),d.forEach(b=>b())}},z=c=>{s.add(c);let u=j(c);return()=>{s.delete(c),u()}},G=()=>{h.forEach(({unsubscribe:c})=>c()),h.clear()};return i.$on=K,i.$onAny=R,i.$effect=W,i.$dispose=G,i[St]=z,H},Fe=class{constructor(t,n){M(this,"scope",t);M(this,"disposers",null);M(this,"runs",null);M(this,"options");let s=t[Se];this.options=n||s?{deep:n,alsoWakenBy:s}:void 0}effect(t){(this.disposers??(this.disposers=[])).push(this.scope.$effect(t,this.options)),(this.runs??(this.runs=[])).push(t)}onDispose(t){(this.disposers??(this.disposers=[])).push(t)}refresh(){this.runs?.forEach(t=>t())}dispose(){let t=this.disposers;if(this.disposers=null,this.runs=null,t)for(let n=0;n<t.length;n++)t[n]()}},ce=(e,t=!1)=>new Fe(e,t);var $t=/(?:let|var|const)(?:\s+(?=[A-Za-z_$])|\s*(?=[{[]))/y,Tt=/\$:\s*/y,$e=/import(?=\s*\()/y,xt=/\$:\s*([A-Za-z_$][\w$]*)\s*=(?!=)/y,te=(e,t)=>{let n=e[t],s=t+1;for(;s<e.length;){if(e[s]==="\\"){s+=2;continue}if(e[s]===n)return s+1;s++}return e.length},Q=(e,t)=>{let n=e.indexOf(`
|
|
2
|
+
`,t);return n===-1?e.length:n},ee=(e,t)=>{let n=e.indexOf("*/",t+2);return n===-1?e.length:n+2},Re=(e,t)=>{let n=t;for(;n<e.length;){if(/\s/.test(e[n])){n++;continue}if(e[n]==="/"&&e[n+1]==="/"){n=Q(e,n);continue}if(e[n]==="/"&&e[n+1]==="*"){n=ee(e,n);continue}break}return n},Ln=new Set(["return","typeof","case","in","instanceof","new","delete","void","do","else","yield","await"]),ne=(e,t)=>{let n=t-1;for(;n>=0;){let r=e[n];if(/\s/.test(r)){n--;continue}if(r==="/"&&e[n-1]==="*"){let i=e.lastIndexOf("/*",n-2);if(i===-1)return!0;n=i-1;continue}break}if(n<0)return!0;let s=e[n];if(/[\w$]/.test(s)){let r=n;for(;r>0&&/[\w$]/.test(e[r-1]);)r--;return Ln.has(e.slice(r,n+1))}return(s==="+"||s==="-")&&e[n-1]===s?!1:!")]}\"'`.".includes(s)},se=(e,t)=>{let n=t+1,s=!1;for(;n<e.length;){let r=e[n];if(r==="\\"){n+=2;continue}if(r===`
|
|
3
|
+
`)return n;if(r==="[")s=!0;else if(r==="]")s=!1;else if(r==="/"&&!s){for(n++;n<e.length&&/[a-z]/i.test(e[n]);)n++;return n}n++}return e.length},Mn=/^(\?\.|\?\?|&&|\|\||\*\*|[.,+\-*/%&|^<>=?:([])/,Dn=(e,t)=>{let n=t-1;for(;n>=0;){let s=e[n];if(/\s/.test(s)){n--;continue}if(s==="/"&&e[n-1]==="*"){let r=e.lastIndexOf("/*",n-2);if(r===-1)return"";n=r-1;continue}return s}return""},Nt=(e,t)=>{let n=0,s=t;for(;s<e.length;){let r=e[s];if(r==="'"||r==='"'||r==="`"){s=te(e,s);continue}if(r==="/"&&e[s+1]==="/"){s=Q(e,s);continue}if(r==="/"&&e[s+1]==="*"){s=ee(e,s);continue}if(r==="/"&&ne(e,s)){s=se(e,s);continue}if("([{".includes(r))n++;else if(")]}".includes(r))n--;else{if(n<=0&&r===";")return s;if(n<=0&&r===`
|
|
4
|
+
`){let i=Re(e,s+1);if(!(i<e.length&&(Mn.test(e.slice(i,i+2))||[",","="].includes(Dn(e,s)))))return s;s=i;continue}}s++}return e.length},In=e=>{let t=[],n=0,s=0,r=0,i=a=>{t.push({raw:e.slice(s,a),codeEnd:Math.max(0,r-s)}),s=a+1,r=s},o=0;for(;o<e.length;){let a=e[o];if(a==="'"||a==='"'||a==="`"){o=te(e,o),r=o;continue}if(a==="/"&&e[o+1]==="/"){o=Q(e,o);continue}if(a==="/"&&e[o+1]==="*"){o=ee(e,o);continue}if(a==="/"&&ne(e,o)){o=se(e,o),r=o;continue}if("([{".includes(a))n++;else if(")]}".includes(a))n--;else if(a===","&&n<=0){i(o),o++;continue}/\s/.test(a)||(r=o+1),o++}return i(e.length),t},Be=e=>{let t=e.trim();if(!t.startsWith("{")&&!t.startsWith("["))return xe.test(t)?[t]:[];let n=[];for(let s of ze(t.slice(1,At(t)))){s.startsWith("...")&&(s=s.slice(3).trim());let r=Ge(s);if(r!==-1&&(s=s.slice(0,r).trim()),t.startsWith("{")){let i=He(s,":");if(i!==-1){n.push(...Be(s.slice(i+1)));continue}}n.push(...Be(s))}return n},qn=e=>{let t=[],n=In(e).map(({raw:i,codeEnd:o})=>{let a=i.match(/^\s*/)[0];if(o<=a.length)return{text:i,empty:!0};let l=i.slice(a.length,o),p=i.slice(o),f=Ge(l),E=(f===-1?l:l.slice(0,f)).trim(),S=l[0]==="{"||l[0]==="[";S?t.push(...Be(E)):xe.test(E)&&t.push(E);let j=Ne(l).code;return{text:`${a}${S?`(${j})`:j}${p}`,empty:!1}}),s=[];for(;n.length&&n[n.length-1].empty;)s.unshift(n.pop().text);let r=n.map(i=>i.text).join(",")+s.join("");return r.trimStart().startsWith("(")&&(r=`;${r}`),{vars:t,code:r}},Ne=e=>{let t=[],n="",s=0,r=0,i=!0;for(;s<e.length;){let o=e[s],a=e[s+1];if(o==="'"||o==='"'||o==="`"){let l=te(e,s);n+=e.slice(s,l),s=l,i=!1;continue}if(o==="/"&&(a==="/"||a==="*")){let l=a==="/"?Q(e,s):ee(e,s);n+=e.slice(s,l),s=l;continue}if(o==="/"&&ne(e,s)){let l=se(e,s);n+=e.slice(s,l),s=l,i=!1;continue}if(o==="i"&&(s===0||!/[\w$.]/.test(e[s-1]))&&($e.lastIndex=s,$e.test(e))){n+="$__import",s+=6,i=!1;continue}if(r===0&&i){$t.lastIndex=s;let l=$t.exec(e);if(l){let f=s+l[0].length,E=Nt(e,f),{vars:S,code:j}=qn(e.slice(f,E));t.push(...S),n+=j,s=E,i=!1;continue}Tt.lastIndex=s;let p=Tt.exec(e);if(p){xt.lastIndex=s;let f=xt.exec(e);f&&t.push(f[1]);let E=s+p[0].length,S=Nt(e,E);n+=`$__effect(() => { ${Ne(e.slice(E,S)).code} });`,s=S;continue}}"([{".includes(o)?r++:")]}".includes(o)&&(r=Math.max(0,r-1)),o===`
|
|
5
|
+
`||o===";"||o==="}"?i=!0:/\s/.test(o)||(i=!1),n+=o,s++}return{vars:t,code:n}},Te=/export\s+default(?![\w$])/y,Ct=/import\s*(?:([\w$\s,{}*]+?)\s*from\s*)?(["'])([^"'\n]+)\2/y,Wn=e=>{let t=[],n=0,s=0;for(let r=0;r<=e.length;r++){let i=e[r];if(i==="{")n++;else if(i==="}")n--;else if(r===e.length||i===","&&n===0){let o=e.slice(s,r).trim();o&&t.push(o),s=r+1}}return t},Un=(e,t,n)=>{let s=`await $__import(${JSON.stringify(t)})`;if(e===void 0)return s;let r=Wn(e),i=[],o=s;if(r.length>1){let a=`$__mod${n}`;i.push(`${a} = ${s}`),o=a}for(let a of r)a.startsWith("{")?i.push(`${a.replace(/\s+as\s+/g,": ")} = ${o}`):a.startsWith("*")?i.push(`${a.replace(/^\*\s*as\s+/,"")} = ${o}`):i.push(`${a} = $__default(${o})`);return`const ${i.join(", ")}`},xe=/^[A-Za-z_$][\w$]*$/,At=e=>{let t=0,n=0;for(;n<e.length;){let s=e[n];if(s==="'"||s==='"'||s==="`"){n=te(e,n);continue}if(s==="/"&&e[n+1]==="/"){n=Q(e,n);continue}if(s==="/"&&e[n+1]==="*"){n=ee(e,n);continue}if(s==="/"&&ne(e,n)){n=se(e,n);continue}if("([{".includes(s))t++;else if(")]}".includes(s)&&--t===0)return n;n++}return e.length},He=(e,t)=>{let n=0,s=0;for(;s<e.length;){let r=e[s];if(r==="'"||r==='"'||r==="`"){s=te(e,s);continue}if(r==="/"&&e[s+1]==="/"){s=Q(e,s);continue}if(r==="/"&&e[s+1]==="*"){s=ee(e,s);continue}if(r==="/"&&r!==t&&ne(e,s)){s=se(e,s);continue}if("([{".includes(r))n++;else if(")]}".includes(r))n--;else if(n===0&&r===t)return s;s++}return-1},ze=e=>{let t=[],n=0,s=0,r=0;for(;r<=e.length;){let i=e[r];if(i==="'"||i==='"'||i==="`"){r=te(e,r);continue}if(i==="/"&&e[r+1]==="/"){r=Q(e,r);continue}if(i==="/"&&e[r+1]==="*"){r=ee(e,r);continue}if(i==="/"&&ne(e,r)){r=se(e,r);continue}if(i!==void 0&&"([{".includes(i))n++;else if(i!==void 0&&")]}".includes(i))n--;else if(r===e.length||i===","&&n===0){let o=e.slice(s,r).trim();o&&t.push(o),s=r+1}r++}return t},Ge=e=>{let t=0;for(;t<e.length;){let n=He(e.slice(t),"=");if(n===-1)return-1;let s=t+n;if(e[s+1]!=="="&&e[s+1]!==">"&&e[s-1]!=="="&&e[s-1]!=="!")return s;t=s+1}return-1},Ce=e=>{let t=(e??"").trim();if(!t.startsWith("{"))return null;let n=At(t);if(n>=t.length)return null;let s=[];for(let r of ze(t.slice(1,n))){if(r.startsWith("..."))continue;let i=Ge(r),o=i===-1?r:r.slice(0,i),a=i===-1?void 0:r.slice(i+1).trim(),l=He(o,":"),p=(l===-1?o:o.slice(0,l)).trim();if(!xe.test(p))continue;let f={name:p};a!==void 0&&(f.default=a);let E=l===-1?"":o.slice(l+1).trim();xe.test(E)&&(f.as=E),s.push(f)}return s},Fn=e=>{let t=0,n=0,s=!0;for(;t<e.length;){let r=e[t];if(r==="'"||r==='"'||r==="`"){t=te(e,t),s=!1;continue}if(r==="/"&&e[t+1]==="/"){t=Q(e,t);continue}if(r==="/"&&e[t+1]==="*"){t=ee(e,t);continue}if(r==="/"&&ne(e,t)){t=se(e,t),s=!1;continue}if(r==="e"&&n===0&&s&&(t===0||!/[\w$.]/.test(e[t-1]))){Te.lastIndex=t;let i=Te.exec(e);if(i)return t+i[0].length}"([{".includes(r)?n++:")]}".includes(r)&&(n=Math.max(0,n-1)),r===`
|
|
6
|
+
`||r===";"||r==="}"?s=!0:/\s/.test(r)||(s=!1),t++}return-1},Bn=/^async(?![\w$])/,Hn=/^function(?![\w$])\s*\*?\s*[A-Za-z_$][\w$]*|^function(?![\w$])\s*\*?/,zn=e=>{let t=Fn(e);if(t===-1)return null;let n=Re(e,t),s=e.slice(n);Bn.test(s)&&(n=Re(e,n+5));let r=Hn.exec(e.slice(n));if(r&&(n=Re(e,n+r[0].length)),e[n]!=="(")return null;let i=0,o=n;for(;o<e.length;){let a=e[o];if(a==="'"||a==='"'||a==="`"){o=te(e,o);continue}if(a==="/"&&e[o+1]==="/"){o=Q(e,o);continue}if(a==="/"&&e[o+1]==="*"){o=ee(e,o);continue}if(a==="/"&&ne(e,o)){o=se(e,o);continue}if("([{".includes(a))i++;else if(")]}".includes(a)&&--i===0)break;o++}return ze(e.slice(n+1,o))[0]??""},Ae=e=>{let t=zn(e);if(t===null)return null;let n=Ce(t),s=n?.find(r=>r.name.startsWith("$"))?.name;if(s)throw new Error(`jq79: the factory signature is (props, ctx), so \`${s}\` can't be destructured from the first parameter. Write \`export default (props, { ${s} }) => \u2026\`, or \`_\` in place of props if the component takes none.`);return n},Ot=e=>{let t="",n=0,s=0,r=!0,i=!1,o=0;for(;n<e.length;){let a=e[n],l=e[n+1],p=n===0||!/[\w$.]/.test(e[n-1]);if(a==="'"||a==='"'||a==="`"){let f=te(e,n);t+=e.slice(n,f),n=f,r=!1;continue}if(a==="/"&&(l==="/"||l==="*")){let f=l==="/"?Q(e,n):ee(e,n);t+=e.slice(n,f),n=f;continue}if(a==="/"&&ne(e,n)){let f=se(e,n);t+=e.slice(n,f),n=f,r=!1;continue}if(a==="i"&&p){if($e.lastIndex=n,$e.test(e)){t+="$__import",n+=6,r=!1;continue}if(s===0&&r){Ct.lastIndex=n;let f=Ct.exec(e);if(f){t+=Un(f[1],f[3],o++),n+=f[0].length,r=!1;continue}}}if(a==="e"&&p&&s===0&&r){Te.lastIndex=n;let f=Te.exec(e);if(f){i=!0,t+="$__exports.default =",n+=f[0].length,r=!1;continue}}"([{".includes(a)?s++:")]}".includes(a)&&(s=Math.max(0,s-1)),a===`
|
|
7
|
+
`||a===";"||a==="}"?r=!0:/\s/.test(a)||(r=!1),t+=a,n++}return i?t:null};var Gn="0.6.4",Kt=e=>Object.fromEntries(Array.from(e.attributes).map(t=>[t.name,t.value])),Zn="http://www.w3.org/1999/xhtml",Vt=e=>{let t=Kt(e),n=e.namespaceURI,s=t[Pe];delete t[Pe];let r=n!==null&&n!==Zn;return{tag:r?e.tagName:e.tagName.toLowerCase(),attrs:t,...s===void 0?{}:{component:s},...r?{ns:n}:{},children:Array.from((e instanceof HTMLTemplateElement?e.content:e).childNodes).flatMap(i=>{if(i.nodeType===Node.TEXT_NODE){let o=i.textContent??"";return o?[o]:[]}return i.nodeType===Node.ELEMENT_NODE?[Vt(i)]:[]})}},_t=new Map,Xt=(e,t)=>{let n=`${t.join(",")}|${e}`,s=_t.get(n);if(s===void 0){try{s=new Function("$scope",...t,`with ($scope) { return (${e}
|
|
8
|
+
); }`)}catch{s=null}_t.set(n,s)}return s},Kn=/^(?:([\w$]+) is not defined|Can't find variable: ([\w$]+))/,Vn=100,fe=new Map,ot=new Set,_e=0,Ye=!1,Qe=new Set,Xn=()=>{Ye=!1,!(_e>0)&&(fe.forEach(({name:e,expr:t,scope:n},s)=>{e in n||(ot.add(s),console.warn(`jq79: ${e} is not defined - evaluating "${t}". Template expressions resolve against the component store: a top-level let/var/const in a :setup script, a declared prop, or a global. Note a "function name() {}" declaration is not on the store - write "const name = () => {}".`))}),fe.clear())},Jt=()=>{Ye||_e>0||!fe.size||(Ye=!0,queueMicrotask(Xn))},Yt=e=>{_e++;let t=()=>{_e--,Jt()};e.then(t,t)},Jn=(e,t)=>{if(Qe.has(e))return;Qe.add(e);let n=t?.message||String(t);console.error(`jq79: ${n} - evaluating "${e}". The expression rendered as nothing. If the value arrives later, guard it - "a?.b", or :if on the element.`)},Qt=(e,t,n)=>{if(!(n instanceof ReferenceError))return Jn(e,n);let s=Kn.exec(n.message),r=s?.[1]??s?.[2];if(!r)return;let i=`${r}|${e}`;ot.has(i)||fe.has(i)||fe.size>=Vn||(fe.set(i,{name:r,expr:e,scope:t}),Jt())},en=(e,t,n)=>{let s=Xt(e,n?Object.keys(n):[]);if(s)return s(t,...n?Object.values(n):[])},v=(e,t,n)=>{try{return en(e,t,n)}catch(s){Qt(e,t,s);return}},tn=(e,t,n)=>{try{return en(e,t,n)}catch(s){if(!(s instanceof ReferenceError))throw s;Qt(e,t,s);return}},Ze=/{{\s*([\s\S]+?)\s*}}/g,jt=new Map,nn=e=>{let t=jt.get(e);if(t)return t;let n=[],s=0;Ze.lastIndex=0;for(let r=Ze.exec(e);r;r=Ze.exec(e))r.index>s&&n.push(e.slice(s,r.index)),n.push({expr:r[1]}),s=r.index+r[0].length;return s<e.length&&n.push(e.slice(s)),jt.set(e,n),n},sn=(e,t)=>{if(e.length===1){let s=e[0];return typeof s=="string"?s:String(v(s.expr,t)??"")}let n="";for(let s of e)n+=typeof s=="string"?s:String(v(s.expr,t)??"");return n},Yn=new Set([":attrs",":class",":value",":checked",":selected",":if",":elseif",":else",":each",":key",":with",":text",":html",":html.allowed",":props"]),ye=e=>Yn.has(e)||e.startsWith(":class.")||e.startsWith(":props.")||e===":slot"||e.startsWith(":slot."),Qn=/^\s*\(?\s*(\w+)\s*(?:,\s*(\w+))?\s*\)?\s+in\s+([\s\S]+)$/,rn=(e,t,n,s)=>{let[r,...i]=t.slice(1).split("."),o=new Set(i);e.addEventListener(r,a=>{if(o.has("self")&&a.target!==e)return;o.has("prevent")&&a.preventDefault(),o.has("stop")&&a.stopPropagation();let l=tn(n,s,{$event:a});typeof l=="function"&&l.call(e,a)},{once:o.has("once"),capture:o.has("capture")})},es=(e,t,n,s)=>{let[r,...i]=t.slice(1).split("."),o=new Set(i),a=l=>{o.has("prevent")&&l.preventDefault(),o.has("stop")&&l.stopPropagation(),o.has("once")&&e.off(r,a),me(()=>{let p=tn(n,s,{$event:l});typeof p=="function"&&p(l)})};e.on(r,a)},re=e=>e.replace(/-(\w)/g,(t,n)=>n.toUpperCase()),et=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),it=e=>e instanceof DocumentFragment?{first:e.firstChild,last:e.lastChild}:{first:e,last:e},Le=({first:e,last:t})=>{for(let n=e;n;){let s=n===t?null:n.nextSibling;n.parentNode?.removeChild(n),n=s}},ts=e=>{e.forEach(t=>{if(t.first===t.last)return Le(t);if(!t.first.parentNode)return;let s=document.createRange();s.setStartBefore(t.first),s.setEndAfter(t.last),s.deleteContents()})},ns=(e,t)=>{let n=[],s=null;return e.forEach(r=>{if(!t(r)){s=null;return}s&&s.last.nextSibling===r.range.first?s.last=r.range.last:n.push(s={first:r.range.first,last:r.range.last})}),n},ss=({first:e,last:t},n)=>{let s=n.nextSibling;for(let r=e;r;){let i=r===t?null:r.nextSibling;n.parentNode.insertBefore(r,s),r=i}},kt=(e,t)=>{let n=t.replace(/-/g,"").toLowerCase();for(let s=e;s&&s!==Object.prototype;s=Object.getPrototypeOf(s))for(let r of Object.keys(s))if(/^[A-Z]/.test(r)&&r.replace(/-/g,"").toLowerCase()===n)return r;return null},ue=null,je=null,on=new WeakSet,rs=e=>{let t={memo:ue,base:je};return ue=new Map,je=e,t},os=e=>{ue=e.memo,je=e.base},Ke=(e,t)=>{if(!ue)return kt(e,t);let n=t.replace(/-/g,"").toLowerCase();for(let s=e;s&&s!==Object.prototype;s=Object.getPrototypeOf(s)){if(s===je){if(ue.has(t))return ue.get(t);let r=kt(s,t);return ue.set(t,r),r}if(!on.has(s)){for(let r of Object.keys(s))if(/^[A-Z]/.test(r)&&r.replace(/-/g,"").toLowerCase()===n)return r}}return null},is=e=>{let t=new Set;for(let n=e;n&&n!==Object.prototype;n=Object.getPrototypeOf(n))for(let s of Object.keys(n))/^[A-Z]/.test(s)&&t.add(s);return[...t].sort()},as=(e,t)=>{let n=is(t);return new Error(`jq79: <${e}> is not defined - no component of that name is in scope, and nothing renders here. Import it in a :setup script, declare it as a prop, or add a <template name="${e}"> to this file. In scope: ${n.length?n.join(", "):"(none)"}.`)},Pt=200,Ve=0,an=Symbol("jq79.slots"),ln=e=>e==="slot"||e.startsWith("slot."),cn=e=>e?re(e):"default",at=e=>Object.keys(e.attrs).find(t=>t===":slot"||t.startsWith(":slot.")),ls=e=>e==="default"?":slot":`:slot.${e}`,cs=e=>typeof e!="string"||e.trim()!=="",us=e=>{let t={},n=[];e.children.forEach(r=>{let i=typeof r=="object"&&r.tag==="template"?at(r):void 0;if(typeof r=="string"||i===void 0){n.push(r);return}let o=cn(i.slice(6));if(o in t){console.warn(`jq79: two <template ${ls(o)}> in <${e.tag}>; the second was ignored`);return}t[o]={nodes:r.children,binder:r.attrs[i]||void 0}});let s=n.some(cs);return s&&"default"in t?console.warn(`jq79: <${e.tag}> has both a <template :slot> and content outside it - the <template> is the default slot's content, and the rest was ignored`):s&&(t.default={nodes:n,binder:e.attrs[":slot"]||void 0}),t},fs=(e,t,n)=>{Ce(t)?.forEach(({name:s,as:r,default:i})=>{let o=r??s;Object.defineProperty(e,o,{enumerable:!0,configurable:!0,get:()=>{let a=n[s]?.();return a===void 0&&i!==void 0?v(i,e):a},set:()=>console.warn(`jq79: "${o}" is a slot prop - it comes from the component, so assigning to it does nothing`)})})},ds=e=>{let t=at(e);return console.warn(`jq79: <template ${t}> fills a slot only as a direct child of a component tag; here it rendered nothing`),document.createComment(`misplaced ${t}`)},ps=(e,t)=>{let n=Object.entries(us(e));if(!n.length)return null;let s={};return n.forEach(([r,i])=>{s[r]=hs(i,t)}),s},hs=(e,t)=>(n,s,r,i)=>{let o=Object.create(t);fs(o,e.binder,n);let a=o[Se]??[];Object.defineProperty(o,Se,{value:[...a,s]});let l=ce(o);return r.onDispose(()=>l.dispose()),pe(e.nodes,o,l,i)},gs=(e,t,n,s)=>{let r=cn(e.tag.slice(5)),i=document.createDocumentFragment(),o=document.createComment(e.tag),a=document.createComment(`/${e.tag}`);i.append(o,a);let l=t[an]?.[r];if(!l)return i.insertBefore(pe(e.children,t,n,s),a),i;let p={};return Object.entries(e.attrs).forEach(([f,E])=>{if(!(f===Me||ye(f)||f.startsWith("@")))if(f.startsWith(":")){let S=E||f.slice(1);p[re(f.slice(1))]=()=>v(S,t)}else p[re(f)]=()=>E}),i.insertBefore(l(p,t,n,s),a),i},vt=(e,t,n,s,r)=>{let i=document.createComment(e),o=document.createComment(`/${e}`),a=document.createDocumentFragment();a.append(i,o);let l=ps(t,n),p={},f={},E=[],S=[],j=!1;Object.entries(t.attrs).forEach(([w,O])=>{if(w!==Me){if(w===":props"||w.startsWith(":props.")){j=!0,S.push({expr:O});return}if(!ye(w))if(w.startsWith("@"))E.push([w,O]);else if(w===":model"||w.startsWith(":model.")){let h=w===":model"?"default":re(w.slice(7));f[h]=O||(w===":model"?"model":h)}else if(w.startsWith(":")){let h=re(w.slice(1));p[h]=O||h,S.push({name:h,expr:O||h})}else{let h=re(w),x=JSON.stringify(O);p[h]=x,S.push({name:h,expr:x})}}});let I=w=>w==="default"?":model":`:model.${w}`,U=w=>w==="default"?"model":w,D=w=>`${w}
|
|
9
|
+
= $value`,F=new Set;Object.entries(f).forEach(([w,O])=>{let h=U(w);p[h]!==void 0&&console.warn(`jq79: <${t.tag}> binds prop "${h}" through both :${h} and ${I(w)} - ${I(w)} wins`),p[h]=O,Xt(D(O),["$value"])===null&&(F.add(w),console.warn(`jq79: ${I(w)}="${O}" is not assignable - updates from <${t.tag}> will be dropped`))});let C=()=>{let w={};return S.forEach(({name:O,expr:h})=>{if(O!==void 0)w[O]=v(h,n);else{let x=v(h,n);x!==null&&typeof x=="object"&&Object.assign(w,x)}}),Object.entries(f).forEach(([O,h])=>{w[U(O)]=v(h,n)}),w},k=null,P=null,q=null,V=new Set,Y=w=>{if(w==null){if(!n[wn]?.has(e)||V.has("unfilled"))return;V.add("unfilled"),console.error(`jq79: <${t.tag}> is declared as a prop and the parent passed nothing - nothing renders here. Pass it (:${e}="\u2026"), or drop it from the signature to use the one declared in this file.`);return}V.has("type")||(V.add("type"),console.error(`jq79: <${t.tag}> is ${typeof w}, not a component - nothing renders here`))};return s.effect(()=>{let w=v(e,n),O=w instanceof oe?w:null;if(O||Y(w),O===P||(q?.dispose(),q=null,k?.destroy(),k=null,P=O,!O))return;let h=new oe({template:O.template,scripts:O.scripts,styles:O.styles,modules:O.modules,filename:O.filename,siblings:O.siblings,name:O.name});if(l&&(h.slots=l),Object.keys(f).length){let K=new Set;h.modelWriteback=(R,W)=>{let L=R==null?"default":re(String(R)),z=f[L];return z===void 0?(K.has(L)||(K.add(L),console.warn(`jq79: <${t.tag}> has no ${I(L)} - bound: ${Object.keys(f).map(I).join(", ")}`)),!1):F.has(L)?!1:(me(()=>v(D(z),n,{$value:W})),!0)}}E.forEach(([K,R])=>es(h,K,R,n));let x=sr(h.scripts);rr(t,e,Object.keys(p),x);let _=Ht(me(C),x),B=document.createDocumentFragment();if(Ve>=Pt){console.error(`jq79: <${t.tag}> is ${Pt} levels deep inside itself; giving up here. A component that renders itself stops when its data stops - is there a cycle in it?`);return}Ve++;try{(r?h.renderShadow(_):h.render(_)).mount(B)}finally{Ve--}o.parentNode.insertBefore(B,o);let H=ce(n,!0);if(j){let K=[];H.effect(()=>{let R=Ht(C(),x),W=Object.keys(R);K.forEach(L=>{L in R||(h.data[L]=void 0)}),W.forEach(L=>{h.data[L]=R[L]}),K=W})}else Object.entries(p).forEach(([K,R])=>{x!==null&&!x.has(K)||H.effect(()=>{h.data[K]=v(R,n)})});q=H,k=h}),s.onDispose(()=>{q?.dispose(),k?.destroy()}),a},ms=(e,t)=>{let n=()=>{let s=v(e,t);return s!==null&&typeof s=="object"?s:null};return new Proxy(t,{has(s,r){let i=n();return i!==null&&Reflect.has(i,r)||Reflect.has(s,r)},get(s,r){let i=n();return i!==null&&Reflect.has(i,r)?i[r]:Reflect.get(s,r)},set(s,r,i){let o=n();return o!==null&&Reflect.has(o,r)?(o[r]=i,!0):Reflect.set(s,r,i)}})},ae=e=>typeof e=="string"?e.split(/\s+/).filter(Boolean):Array.isArray(e)?e.flatMap(ae):e!==null&&typeof e=="object"?Object.entries(e).flatMap(([t,n])=>n?ae(t):[]):[],ys=e=>typeof e=="function"?(t,n,s)=>{try{return!!e(t,n,s)}catch{return!1}}:typeof e=="string"||Array.isArray(e)?ht(e):()=>!1,Es=new Set(["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]),un=e=>e.ns===void 0?document.createElement(e.tag):document.createElementNS(e.ns,e.tag),ke=(e,t,n)=>{let s=Es.has(t);(s?!n:n==null)?e.removeAttribute(t):e.setAttribute(t,s?"":String(n))},Oe={cloneSkeletons:!0},bs=new Set([":text",":attrs",":value",":checked",":selected"]),Ss=e=>e.startsWith("@")||e===":class"||e.startsWith(":class.")||bs.has(e)?!0:e.startsWith(":")?e===":model"?!1:!ye(e)&&!e.includes("."):e!==Pe,fn=e=>{if(e.component||e.tag.includes("-")||ln(e.tag)||e.tag==="template"||e.ns===void 0&&document.createElement(e.tag)instanceof HTMLUnknownElement)return!1;for(let t in e.attrs)if(!Ss(t))return!1;return e.attrs[":text"]!==void 0?!0:e.children.every(t=>typeof t=="string"||fn(t))},dn=(e,t,n,s)=>{s.add(e.tag);let r=un(e),i,o=null;for(let S in e.attrs){let j=e.attrs[S];if(S.startsWith("@"))n.push({kind:"event",path:t,attr:S,expr:j});else if(S===":class")i=j;else if(S.startsWith(":class."))(o??(o=[])).push([S.slice(7),j]);else if(!ye(S))if(S.startsWith(":")){let I=S.slice(1);n.push({kind:"attr",path:t,name:I,expr:j||re(I)})}else r.setAttribute(S,j)}let a=e.attrs[":attrs"];a!==void 0&&n.push({kind:"attrs",path:t,expr:a}),(i!==void 0||o)&&n.push({kind:"class",path:t,classExpr:i,toggles:o,staticClasses:new Set(ae(e.attrs.class??""))});let l=e.attrs[":text"];l!==void 0?n.push({kind:"textContent",path:t,expr:l}):e.children.forEach((S,j)=>{if(typeof S=="string"){S.includes("{{")?(n.push({kind:"text",path:[...t,j],parts:nn(S)}),r.appendChild(document.createTextNode(""))):r.appendChild(document.createTextNode(S));return}r.appendChild(dn(S,[...t,j],n,s))});let p=e.attrs[":value"];p!==void 0&&n.push({kind:"value",path:t,expr:p});let f=e.attrs[":checked"];f!==void 0&&n.push({kind:"checked",path:t,expr:f});let E=e.attrs[":selected"];return E!==void 0&&n.push({kind:"selected",path:t,expr:E}),r},ws=3,pn=e=>e.attrs[":text"]!==void 0?1:1+e.children.reduce((t,n)=>t+(typeof n=="string"?0:pn(n)),0),Lt=new WeakMap,Mt=new WeakSet,Rs=e=>{let t=Lt.get(e);if(t!==void 0)return t;if(!Mt.has(e))return Mt.add(e),null;let n=null;if(fn(e)&&pn(e)>=ws){let s=[],r=new Set;n={skeleton:dn(e,[],s,r),ops:s,tags:Array.from(r)}}return Lt.set(e,n),n},$s=(e,t)=>{let n=e;for(let s=0;s<t.length;s++)n=n.childNodes[t[s]];return n},Ts=(e,t,n)=>{let s=e.skeleton.cloneNode(!0);for(let r of e.ops){let i=r.path.length===0?s:$s(s,r.path);if(r.kind==="text"){let o=i,a=r.parts;n.effect(()=>{let l=sn(a,t);o.textContent!==l&&(o.textContent=l)})}else if(r.kind==="event")rn(i,r.attr,r.expr,t);else if(r.kind==="attr"){let o=i,{name:a,expr:l}=r;n.effect(()=>ke(o,a,v(l,t)))}else if(r.kind==="class"){let o=i,{classExpr:a,toggles:l,staticClasses:p}=r,f=[];n.effect(()=>{let E=a!==void 0?ae(v(a,t)):[];l?.forEach(([S,j])=>{v(j,t)&&E.push(...ae(S))}),f.forEach(S=>{!E.includes(S)&&!p.has(S)&&o.classList.remove(S)}),o.classList.add(...E),f=E})}else if(r.kind==="attrs"){let o=i,{expr:a}=r,l=[];n.effect(()=>{l.forEach(f=>o.removeAttribute(f));let p=v(a,t);l=p&&typeof p=="object"?Object.keys(p):[],l.forEach(f=>ke(o,f,p[f]))})}else if(r.kind==="textContent"){let o=i,{expr:a}=r;n.effect(()=>{o.textContent=String(v(a,t)??"")})}else if(r.kind==="value"){let o=i,{expr:a}=r;n.effect(()=>{let l=String(v(a,t)??"");o.value!==l&&(o.value=l)})}else if(r.kind==="checked"){let o=i,{expr:a}=r;n.effect(()=>{o.checked=!!v(a,t)})}else if(r.kind==="selected"){let o=i,{expr:a}=r;n.effect(()=>{o.selected=!!v(a,t)})}else{let o=r}}return s},lt=(e,t,n,s)=>{let r=e.attrs[":with"],i=r!==void 0?ms(r,t):t;if(ln(e.tag))return gs(e,i,n,s);if(e.tag==="template"&&at(e)!==void 0)return ds(e);let o=Ke(i,e.tag);if(o)return vt(o,e,i,n,s);if(Oe.cloneSkeletons){let C=Rs(e);if(C&&!C.tags.some(k=>Ke(i,k)))return Ts(C,i,n)}let a=un(e);if(e.component&&a instanceof HTMLUnknownElement&&i[nt]?.count===0)throw as(e.component,i);let l=a instanceof HTMLUnknownElement||e.tag.includes("-");if(l){let C=!1;n.effect(()=>{if(C)return;let k=Ke(i,e.tag);if(!k)return;C=!0;let P=vt(k,e,i,n,s),q=it(P);n.onDispose(()=>Le(q)),a.replaceWith(P)})}for(let C in e.attrs){let k=e.attrs[C];if(C.startsWith("@"))rn(a,C,k,i);else if(C===":model"||C.startsWith(":model."))l||console.warn(`jq79: ${C} on <${e.tag}> does nothing - :model binds component tags only (for now)`);else if(!ye(C))if(C.startsWith(":"))if(l)a.setAttribute(C,k);else{let P=C.slice(1),q=k||re(P);n.effect(()=>ke(a,P,v(q,i)))}else a.setAttribute(C,k)}let p=e.attrs[":attrs"];if(p!==void 0){let C=[];n.effect(()=>{C.forEach(P=>a.removeAttribute(P));let k=v(p,i);C=k&&typeof k=="object"?Object.keys(k):[],C.forEach(P=>ke(a,P,k[P]))})}let f=e.attrs[":class"],E=null;for(let C in e.attrs)C.startsWith(":class.")&&(E??(E=[])).push([C.slice(7),e.attrs[C]]);if(f!==void 0||E){let C=new Set(ae(e.attrs.class??"")),k=[];n.effect(()=>{let P=f!==void 0?ae(v(f,i)):[];E?.forEach(([q,V])=>{v(V,i)&&P.push(...ae(q))}),k.forEach(q=>{!P.includes(q)&&!C.has(q)&&a.classList.remove(q)}),a.classList.add(...P),k=P})}let S=e.attrs[":text"],j=e.attrs[":html"],I=e.attrs[":html.allowed"];I!==void 0&&j===void 0&&console.warn("jq79: :html.allowed without :html on the same element does nothing"),S!==void 0?n.effect(()=>{a.textContent=String(v(S,i)??"")}):j!==void 0?n.effect(()=>{let C=I!==void 0?{allowUrl:ys(v(I,i))}:void 0;a.innerHTML=mt(String(v(j,i)??""),C)}):a instanceof HTMLTemplateElement?pe(e.children,i,n,s,a.content):pe(e.children,i,n,s,a);let U=e.attrs[":value"];U!==void 0&&n.effect(()=>{let C=String(v(U,i)??"");a.value!==C&&(a.value=C)});let D=e.attrs[":checked"];D!==void 0&&n.effect(()=>{a.checked=!!v(D,i)});let F=e.attrs[":selected"];return F!==void 0&&n.effect(()=>{a.selected=!!v(F,i)}),a},xs=(e,t,n,s)=>{let r=document.createComment("if"),i=document.createDocumentFragment();i.appendChild(r);let o=null,a=null,l=null;return n.effect(()=>{let p=e.find(E=>E.expr===void 0||v(E.expr,t))??null;if(p===a||(l?.dispose(),o&&Le(o),o=null,a=p,!p))return;l=ce(t);let f=lt(p.node,t,l,s);o=it(f),r.parentNode.insertBefore(f,r.nextSibling)}),i},he=(e,t,n)=>{Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})},Ns=e=>{let t=new Uint8Array(e.length),n=[],s=new Int32Array(e.length).fill(-1);for(let r=0;r<e.length;r++){let i=e[r];if(i<0)continue;let o=0,a=n.length;for(;o<a;){let l=o+a>>1;e[n[l]]<i?o=l+1:a=l}o>0&&(s[r]=n[o-1]),n[o]=r}for(let r=n.length?n[n.length-1]:-1;r!==-1;r=s[r])t[r]=1;return t},Cs=e=>{if(e===null||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},hn=(e,t)=>typeof e=="string"?t.some(n=>It(e,n)):Object.values(e.attrs).some(n=>t.some(s=>It(n,s)))||e.children.some(n=>hn(n,t)),Dt=/[A-Za-z0-9_$]/,As=/^[A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*$/,It=(e,t)=>{for(let n=e.indexOf(t);n!==-1;n=e.indexOf(t,n+1)){let s=n===0?"":e[n-1],r=e[n+t.length]??"";if(!Dt.test(s)&&!Dt.test(r))return!0}return!1},Xe=new WeakMap,Os=e=>{let t=Xe.get(e);if(t!==void 0)return t;let n=e.attrs[":each"].match(Qn);if(!n)return Xe.set(e,null),null;let[,s,r,i]=n,o=e.attrs[":key"],a=o===s,l=o!==void 0&&!a&&As.test(o)&&o.startsWith(`${s}.`)?o.slice(s.length+1):void 0,{[":each"]:p,[":key"]:f,...E}=e.attrs,S={...e,attrs:E},j=["$index",...r?[r]:[]],I=hn(S,j),U=/^[A-Z]/.test(s)||r!==void 0&&/^[A-Z]/.test(r),D={itemName:s,atName:r,listExpr:i,keyExpr:o,keyIsItem:a,keyProp:l,itemNode:S,readsPosition:I,namesComponent:U};return Xe.set(e,D),D},_s=(e,t,n,s)=>{let r=Os(e);if(!r)return document.createComment(`invalid :each expression "${e.attrs[":each"]}"`);let{itemName:i,atName:o,listExpr:a,keyExpr:l,keyIsItem:p,keyProp:f,itemNode:E,readsPosition:S,namesComponent:j}=r,I=document.createComment("each"),U=document.createDocumentFragment();U.appendChild(I),(":if"in e.attrs||":elseif"in e.attrs||":else"in e.attrs)&&console.warn("jq79: :if/:elseif/:else on a :each element is ignored; filter the list expression instead");let D=[],F=!1;return n.effect(()=>{let C=rs(t);try{let k=v(a,t),P=Array.isArray(k),q=P?null:Cs(k)?Object.keys(k):[],V=P?k.length:q.length,Y=new Map;D.forEach((R,W)=>{R.pos=W;let L=Y.get(R.key);L?L.push(R):Y.set(R.key,[R])});let w=new Set,O=[],h=[],x=[],_;for(let R=0;R<V;R++){let W=P?R:q[R],L=P?k[R]:k[W],z=W;p?z=L:f!==void 0&&L!==null&&typeof L=="object"?z=L[f]:l!==void 0&&(_===void 0?(_=Object.create(t),he(_,i,L),o&&he(_,o,W),he(_,"$index",R)):(_[i]=L,o&&(_[o]=W),_.$index=R),z=v(l,_)),w.has(z)&&!F&&(F=!0,console.warn(`jq79: duplicate :key in :each "${e.attrs[":each"]}"; duplicates pair up by position`)),w.add(z);let G=Y.get(z)?.shift();if(G&&Object.is(G.item,L)){let d=G.scope;d.$index!==R&&(S&&O.push(G),d.$index=R),o&&d[o]!==W&&(d[o]=W),h.push(G),x.push(G.pos);continue}G&&(G.fx.dispose(),Le(G.range));let c=Object.create(t);he(c,i,L),o&&he(c,o,W),he(c,"$index",R),j||on.add(c);let u=ce(t),g=it(lt(E,c,u,s));h.push({key:z,item:L,scope:c,fx:u,range:g,pos:R}),x.push(-1)}let B=new Set;Y.forEach(R=>R.forEach(W=>B.add(W))),B.size&&(B.forEach(R=>{R.dead=!0,R.fx.dispose()}),ts(ns(D,R=>R.dead===!0)));let H=I,K=Ns(x);h.forEach((R,W)=>{!K[W]&&H.nextSibling!==R.range.first&&ss(R.range,H),H=R.range.last}),O.forEach(R=>me(()=>R.fx.refresh())),D=h}finally{os(C)}}),U},gn=(e,t)=>{let n=t;for(;n<e.length&&typeof e[n]=="string"&&!e[n].trim();)n++;return n},Je=e=>{let t=":if"in e.attrs,n=":elseif"in e.attrs,s=":else"in e.attrs;if((t?1:0)+(n?1:0)+(s?1:0)<2)return;let r=[t?":if":null,n?":elseif":null,s?":else":null].filter(Boolean);console.warn(`jq79: ${r.join(" and ")} on the same <${e.tag}> - only ${r[0]} applies; the branches of a chain are sibling elements, one directive each`)},js=(e,t)=>{let n=":elseif"in e.attrs?":elseif":":else";console.warn(t?`jq79: a second ${n} on <${e.tag}> - the chain before it already ended with :else, which closes it. One :if, any number of :elseif, at most one :else`:`jq79: ${n} on <${e.tag}> continues no :if - it renders unconditionally. A chain is :if, then :elseif, then :else, on adjacent siblings: anything but whitespace between them breaks it`)},mn=e=>{e.forEach(n=>{typeof n!="string"&&mn(n.children)});let t=!1;for(let n=0;n<e.length;){let s=e[n];if(typeof s=="string"){s.trim()&&(t=!1),n++;continue}if(":each"in s.attrs){t=!1,n++;continue}if(Je(s),":if"in s.attrs){n++;let r=o=>{let a=gn(e,n),l=e[a];if(typeof l=="object"&&o in l.attrs)return n=a+1,l};for(let o=r(":elseif");o;o=r(":elseif"))Je(o);let i=r(":else");i&&Je(i),t=i!==void 0;continue}(":elseif"in s.attrs||":else"in s.attrs)&&js(s,t),t=!1,n++}},qt=new WeakMap,ks=(e,t,n)=>{let s=qt.get(t);if(s)return s;let r=[{expr:t.attrs[":if"],node:t}],i=n+1,o=p=>{let f=gn(e,i),E=e[f];if(typeof E=="object"&&p in E.attrs)return i=f+1,E};for(let p=o(":elseif");p;p=o(":elseif"))r.push({expr:p.attrs[":elseif"],node:p});let a=o(":else");a&&r.push({node:a});let l={branches:r,next:i};return qt.set(t,l),l},pe=(e,t,n,s=!1,r)=>{let i=r??document.createDocumentFragment(),o=0;for(;o<e.length;){let a=e[o];if(typeof a=="string"){let l=document.createTextNode(a);if(a.includes("{{")){let p=nn(a);n.effect(()=>{let f=sn(p,t);l.textContent!==f&&(l.textContent=f)})}i.appendChild(l),o++;continue}if(":each"in a.attrs){i.appendChild(_s(a,t,n,s)),o++;continue}if(":if"in a.attrs){let l=ks(e,a,o);i.appendChild(xs(l.branches,t,n,s)),o=l.next;continue}i.appendChild(lt(a,t,n,s)),o++}return i},Rr=(e,t,n=!1)=>pe(e.template,t,ce(t),n),Ps=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),vs=/<([A-Za-z][\w.-]*)((?:"[^"]*"|'[^']*'|[^>"'])*?)\/>/g,ct=/(<script[\s\S]*?<\/script\s*>|<style[\s\S]*?<\/style\s*>)/gi,Ls=e=>e.split(ct).map((t,n)=>n%2===1?t:t.replace(vs,(s,r,i)=>Ps.has(r.toLowerCase())?s:`<${r}${i}></${r}>`)).join(""),yn=/<([A-Za-z][\w.-]*)((?:"[^"]*"|'[^']*'|[^>"'])*)>/g,Ms=/"[^"]*"|'[^']*'|(^|\s)\.\.\.([A-Za-z_$][\w$.]*)/g,Ds=e=>e.split(ct).map((t,n)=>n%2===1?t:t.replace(yn,(s,r,i)=>{let o=0,a=i.replace(Ms,(l,p,f)=>f===void 0?l:`${p}:props.${o++}="${f}"`);return`<${r}${a}>`})).join(""),Is=/"[^"]*"|'[^']*'|(^|\s)(:[\w.$-]+)/g,qs=/<\/slot\.([\w.$-]+)(\s*)>/gi,Ws=/^slot\./i,Us=e=>Ws.test(e)?`slot.${et(e.slice(5))}`:e,Pe=":jq79-component",Fs=/^[A-Z]/,Bs=/\/\s*$/,Hs=(e,t)=>{if(!Fs.test(e))return t;let n=` ${Pe}="${e}"`,s=Bs.exec(t);return s?`${t.slice(0,s.index)}${n}${s[0]}`:`${t}${n}`},zs=e=>e.split(ct).map((t,n)=>n%2===1?t:t.replace(yn,(s,r,i)=>{let o=i.replace(Is,(a,l,p)=>p===void 0?a:`${l}${et(p)}`);return`<${Us(r)}${Hs(r,o)}>`}).replace(qs,(s,r,i)=>`</slot.${et(r)}${i}>`)).join(""),Me="data-jq79",Gs=e=>{let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return(t>>>0).toString(36)},En=(e,t)=>{e.forEach(n=>{typeof n!="string"&&(n.attrs[Me]=t,En(n.children,t))})},Zs=(e,t)=>e.split(",").map(n=>{let s=n.trim(),r=s.indexOf("::"),i=r===-1?s:s.slice(0,r),o=r===-1?"":s.slice(r);return`${i}[${Me}="${t}"]${o}`}).join(", "),bn=(e,t)=>{Array.from(e).forEach(n=>{n instanceof CSSStyleRule?n.selectorText=Zs(n.selectorText,t):n instanceof CSSGroupingRule&&bn(n.cssRules,t)})},Ks=(e,t)=>{/:deep\(|::v-deep|>>>/.test(e)&&console.warn("jq79: :deep()/::v-deep/>>> are not supported in <style scoped>; the rule will be dropped by the browser");let n=new CSSStyleSheet;return n.replaceSync(e),bn(n.cssRules,t),Array.from(n.cssRules).map(s=>s.cssText).join(`
|
|
10
|
+
`)},Vs=/^[A-Z][A-Za-z0-9]*$/,tt=e=>{let t=Ls(Ds(zs(e))),s=new DOMParser().parseFromString(`<template>${t}</template>`,"text/html").querySelector("template"),r=[],i=[];Array.from(s.content.children).forEach(l=>{l.tagName==="TEMPLATE"?i.push(l):r.push(l)});let o=Wt(r,e),a={};return i.forEach(l=>{let p=l.getAttribute("name");if(p===null){console.warn("jq79: a top-level <template> without a name declares nothing and was ignored");return}if(!Vs.test(p)){console.warn(`jq79: <template name="${p}"> was ignored - a component name has to be PascalCase, or no tag could ever reference it (only capitalized names resolve as components)`);return}if(p in a){console.warn(`jq79: two <template name="${p}"> in one file; the second was ignored`);return}a[p]=new oe({...Wt(Array.from(l.content.children),l.innerHTML),siblings:a,name:p})}),Object.keys(a).length&&(o.siblings=a),o},Wt=(e,t)=>{let n=[],s=[],r=[];e.forEach(o=>{let a={attrs:Kt(o),content:o.textContent??""};o.tagName==="SCRIPT"?n.push(a):o.tagName==="STYLE"?s.push(a):r.push(Vt(o))}),s.forEach(o=>{"lang"in o.attrs&&console.warn(`jq79: <style lang="${o.attrs.lang}"> needs the jq79/vite plugin to compile it. This component didn't go through the bundler, so its styles were left uncompiled and the browser will ignore them.`)});let i=o=>"scoped"in o.attrs&&!("lang"in o.attrs);if(s.some(i)){let o=Gs(t);En(r,o),s.forEach(a=>{i(a)&&(a.scoped=Ks(a.content,o))})}return mn(r),{template:r,scripts:n,styles:s}},ut=e=>/\.html?([?#]|$)/.test(e)?st(e):import(e),Xs=/^(?:\.\.?\/|\/|[a-z][a-z0-9+.-]*:)/i,Js=(e,t)=>{if(!Xs.test(e))return e;try{return new URL(e,new URL(t??"",document.baseURI)).href}catch{return e}},Sn=(e,t)=>e?`
|
|
11
|
+
//# sourceURL=${e}?jq79-script=${t}`:"",Ut=e=>e.scoped??e.content,ve=new Map,Ys=e=>{let t=ve.get(e);if(!t){let n=document.createElement("style");n.textContent=e,document.head.appendChild(n),t={el:n,count:0},ve.set(e,t)}t.count++},Qs=e=>{let t=ve.get(e);t&&--t.count<=0&&(t.el.remove(),ve.delete(e))},er=(e,t,n,s={},r=ut,i={})=>{let o={...Rn,...s},a=new Proxy(t,{has:(f,E)=>E!=="$__effect"&&E!=="$__import"&&E!=="$__state"&&(Reflect.has(f,E)||!(E in globalThis)&&!(E in o))}),l={},p=new Function("$scope","$__effect","$__import","$__state",...Object.keys(o),`return (async () => { with ($scope) { ${e} }
|
|
12
|
+
;$__state.done = true })()${Sn(i.filename,i.index??0)}`)(a,n,r,l,...Object.values(o));return p.catch(f=>console.error("jq79: error in :setup script",f)),Yt(p),{settled:p,sync:l.done===!0}},Ft=(e,t)=>{t?.forEach(({name:n,default:s})=>{e[n]===void 0&&(e[n]=s===void 0?void 0:v(s,e))})},ft=e=>{let t=e.attrs[":setup"];if(t===void 0)return null;if(t.trim()==="")return[];let n=Ce(t);return n||tr(e,t),n},Bt=new WeakSet,tr=(e,t)=>{t.trim()==="_"||Bt.has(e)||(Bt.add(e),console.warn(`jq79: :setup="${t}" is not a props pattern, so this component declares no signature and takes whatever a parent passes - write the props it takes ("{ a, b }"), a bare :setup for none, or "_" to stay open on purpose`))},nr=e=>{let t=new Set;return e.forEach(n=>{(Ae(n.content)??ft(n))?.forEach(({name:r})=>t.add(r))}),t},sr=e=>{let t=null;return e.forEach(n=>{let s=Ae(n.content)??ft(n);if(!s)return;let r=t??(t=new Set);s.forEach(({name:i})=>r.add(i))}),t},Ht=(e,t)=>{if(t===null)return e;let n={};return Object.keys(e).forEach(s=>{t.has(s)&&(n[s]=e[s])}),n},zt=new WeakMap,rr=(e,t,n,s)=>{if(s===null)return;let r=zt.get(e)??new Set;zt.set(e,r),n.forEach(i=>{s.has(i)||r.has(i)||(r.add(i),console.warn(`jq79: :${i} is not declared by <${t}> - add it to the :setup signature, or drop it`))})},or=(e,t)=>{if(!e)return null;let n=Object.create(null),s=!1;return Object.entries(e).forEach(([r,i])=>{t.has(r)||(n[r]=i,s=!0)}),s?n:null},wn=Symbol("jq79.unfilledProps"),nt=Symbol("jq79.pendingScripts"),ir=e=>e&&e.default!==void 0?e.default:e,ar=(e,t,n,s={},r=ut,i={})=>{let o={...Rn,...s},a={},l=new Function("$__exports","$__default","$__import",...Object.keys(o),`return (async () => { "use strict";
|
|
13
13
|
${e}
|
|
14
|
-
;$__exports.done = true })()${
|
|
14
|
+
;$__exports.done = true })()${Sn(i.filename,i.index??0)}`)(a,ir,r,...Object.values(o)),p=I=>console.error("jq79: error in factory script",I),f=!1,E,S=()=>{if(f)return E;f=!0;let I=a.default;if(typeof I!="function")return;let U=D=>{D&&typeof D=="object"&&Object.assign(t,D)};try{let D=I(t,{$data:t,$props:t,$effect:n,...s});D instanceof Promise?E=D.then(U).catch(p):U(D)}catch(D){p(D)}return E},j=l.then(S,p);return Yt(j),a.done&&S(),{settled:j,sync:a.done===!0&&E===void 0}},lr="__JQ79_HMR_ENABLED__",cr="__JQ79_HMR__",de=null,ur=e=>{if(!de||!e.filename)return;let t=de.get(e.filename);t||de.set(e.filename,t=new Set),t.add(new WeakRef(e))},Gt=e=>{try{return new URL(e,document.baseURI).pathname}catch{return e}},fr=(e,t)=>{if(!de)return 0;let n=Gt(e),s=tt(t),r=!1,i=a=>a.name===void 0?s:s.siblings?.[a.name]??null,o=0;for(let[a,l]of de)if(Gt(a)===n){for(let p of l){let f=p.deref();if(!f){l.delete(p);continue}let E=i(f);if(!E){r=!0;continue}f.hotReplace(E)&&o++}l.size||de.delete(a)}return r?0:o},dr=()=>{de??(de=new Map),globalThis[cr]={update:fr}},Zt=3e3,pr=(e,t)=>{let n=setTimeout(()=>{console.warn(`jq79: ${e.name?`<${e.name}>`:"a component"}${e.filename?` (${e.filename})`:""} has been waiting ${Zt/1e3}s for a :setup script and has rendered nothing. The template waits until every script returns or calls $mounted() - add an await $mounted() above the slow part to render first and fill in after.`)},Zt);n?.unref?.(),Promise.all(t).then(()=>clearTimeout(n))},st=async e=>{let t=await fetch(e);if(!t.ok)throw new Error(`failed to fetch component from ${e}: ${t.status}`);return new oe(await t.text(),{filename:e})},oe=class{constructor(t,n={}){M(this,"template");M(this,"scripts");M(this,"styles");M(this,"modules");M(this,"filename");M(this,"siblings");M(this,"name");M(this,"slots");M(this,"modelWriteback");M(this,"data",null);M(this,"fx",null);M(this,"content",null);M(this,"startMarker",null);M(this,"endMarker",null);M(this,"styleEls",[]);M(this,"ownsSharedStyles",!1);M(this,"useShadow",!1);M(this,"mountRoot",null);M(this,"resolveMounted",null);M(this,"renderDone",!1);M(this,"emitListeners",new Map);let s=typeof t=="string"?tt(t):t;this.template=s.template,this.scripts=s.scripts,this.styles=s.styles,this.modules=n.modules??(typeof t=="string"?void 0:t.modules),this.filename=n.filename??(typeof t=="string"?void 0:t.filename),this.siblings=s.siblings,this.name=s.name,this.adoptSiblings(),ur(this)}adoptSiblings(){this.siblings&&Object.entries(this.siblings).forEach(([t,n])=>{n.filename??(n.filename=this.filename),n.modules??(n.modules=this.modules),this.name||(this[t]=n)})}hotReplace(t){let n=typeof t=="string"?tt(t):t;ot.clear(),fe.clear(),Qe.clear();let s=this.startMarker,r=!!(s&&this.content),i=r&&s.isConnected,o=i?s.parentNode:null,a=i?this.endMarker.nextSibling:null,l={...this.data},p=this.useShadow;return r&&this.destroy(),this.template=n.template,this.scripts=n.scripts,this.styles=n.styles,this.siblings=n.siblings,this.adoptSiblings(),!r||(this.renderWith(l,p),!o)?!1:(p&&this.styleEls.forEach(f=>o.insertBefore(f,a)),o.insertBefore(this.content,a),this.mountRoot=o,this.settleMounted(),!0)}static debug(t){if(t)for(let n in t){let s=t[n];typeof s=="boolean"?Oe[n]=s:console.warn(`jq79: Component79.debug ignored "${n}" - the flags are booleans, and the ones it knows are: ${Object.keys(Oe).join(", ")}`)}return{...Oe}}static fetch(t){if(Array.isArray(t))throw new TypeError("Component79.fetch takes one URL; use fetchAll for an array");return new rt(st(t))}static fetchAll(t){return Promise.all(t.map(st))}on(t,n){return this.emitListeners.has(t)||this.emitListeners.set(t,new Set),this.emitListeners.get(t).add(n),this}off(t,n){return this.emitListeners.get(t)?.delete(n),this}render(t={}){return this.renderWith(t,!1)}renderShadow(t={}){return this.renderWith(t,!0)}renderWith(t,n){this.destroy();let s=nr(this.scripts),r=or(this.siblings,s),i=r?Object.assign(Object.create(r),t):{...t},o=new Set([...s].filter(h=>!(h in t)));o.size&&Object.defineProperty(i,wn,{value:o}),this.slots&&Object.defineProperty(i,an,{value:this.slots}),Object.defineProperty(i,nt,{value:{count:0}});let a=we(i),l=ce(a);this.data=a,this.fx=l,this.useShadow=n,this.startMarker=document.createComment("jq79"),this.endMarker=document.createComment("/jq79");let p=this.startMarker,f=!1,E=(h,x)=>{h==="model:update"&&!f&&(f=!0,console.warn("jq79: $emit('model:update', \u2026) no longer feeds :model - call $updateModel(value) or $updateModel(name, value) instead"));let _=new CustomEvent(h,{detail:x,bubbles:!0,composed:!0,cancelable:!0});return p===this.startMarker&&this.emitListeners.get(h)?.forEach(B=>B(_,x)),_.cancelBubble||p.dispatchEvent(_),!_.defaultPrevented},S,j=new Promise(h=>{S=h});this.resolveMounted=S,this.renderDone=!1;let I=this.endMarker,U=h=>{let x=[];for(let _=p.nextSibling;_&&_!==I;_=_.nextSibling)_ instanceof Element&&(_.matches(h)&&x.push(_),x.push(...Array.from(_.querySelectorAll(h))));return x},D=h=>U(h)[0]??null,F=this.modules,C=h=>F&&h in F?Promise.resolve(F[h]):ut(Js(h,this.filename)),P=Object.assign(Object.create(null),{$emit:E,$updateModel:(...h)=>{let[x,_]=h.length>1?h:[void 0,h[0]];return p!==this.startMarker?!1:this.modelWriteback?.(x,_)??!1},$slots:Object.fromEntries(Object.keys(this.slots??{}).map(h=>[h,!0]))}),q=h=>`await $mounted();${h}`,V=[],Y=!0;this.scripts.forEach((h,x)=>{let _;V.push(new Promise(c=>{_=c}));let B=!1,H=()=>{B=!0,_()},R={$mounted:()=>(H(),j),$self:D,$$self:U,...P,...r},W={filename:this.filename,index:x},L=":mounted"in h.attrs,z=Ot(h.content),G=(()=>{if(z!==null){L&&console.warn("jq79: :mounted on a factory script renders the template before the factory has returned, so none of its bindings exist yet - await $mounted() inside the factory instead."),Ft(a,Ae(h.content));let d=L?q(z):z;return ar(d,a,b=>l.effect(b),R,C,W)}let{vars:c,code:u}=Ne(h.content);Ft(a,ft(h)),c.forEach(d=>{d in a||(a[d]=void 0)});let g=L?q(u):u;return er(g,a,d=>l.effect(d),R,C,W)})();if(G.sync)G.settled.then(H,H);else{let c=i[nt];c.count++;let u=()=>{c.count--,H()};G.settled.then(u,u)}!G.sync&&!B&&(Y=!1)});let w=document.createDocumentFragment(),O=new Proxy(a,{has:(h,x)=>typeof x=="string"&&x in P||Reflect.has(h,x),get:(h,x,_)=>typeof x=="string"&&x in P&&!Reflect.has(h,x)?P[x]:Reflect.get(h,x,_)});return w.append(this.startMarker,this.endMarker),this.content=w,Y?(this.endMarker.parentNode.insertBefore(pe(this.template,O,l,n),this.endMarker),this.renderDone=!0,this.settleMounted()):(Promise.all(V).then(()=>{p===this.startMarker&&(this.endMarker.parentNode.insertBefore(pe(this.template,O,l,n),this.endMarker),this.renderDone=!0,this.settleMounted())}),pr(this,V)),n?this.styleEls=this.styles.map(h=>{let x=document.createElement("style");return x.textContent=h.content,x}):(this.styles.forEach(h=>Ys(Ut(h))),this.ownsSharedStyles=!0),this}mount(t,n){let s=typeof t=="string"?ge(t):t;if(!s)throw new Error(`mount target not found: ${t}`);return(!this.content||n!==void 0)&&this.renderWith(n??{},this.useShadow),this.attach(s)}mountShadow(t,n){let s=typeof t=="string"?ge(t):t;if(!s)throw new Error(`mount target not found: ${t}`);return(!this.content||n!==void 0||!this.useShadow)&&this.renderWith(n??{},!0),this.attach(s)}attach(t){this.mountRoot&&this.detach();let n=this.useShadow&&t instanceof Element?t.shadowRoot??t.attachShadow({mode:"open"}):t;return this.useShadow&&this.styleEls.forEach(s=>n.appendChild(s)),n.appendChild(this.content),this.mountRoot=n,this.settleMounted(),this}settleMounted(){this.renderDone&&this.mountRoot&&this.resolveMounted?.()}detach(){if(!this.mountRoot||!this.content||!this.startMarker||!this.endMarker)return this;let t=this.startMarker;for(;t;){let n=t.nextSibling;if(this.content.appendChild(t),t===this.endMarker)break;t=n}return this.mountRoot=null,this}destroy(){return this.detach(),this.fx?.dispose(),this.fx=null,this.data?.$dispose(),this.styleEls.forEach(t=>t.parentNode?.removeChild(t)),this.styleEls=[],this.ownsSharedStyles&&(this.styles.forEach(t=>Qs(Ut(t))),this.ownsSharedStyles=!1),this.content=null,this.startMarker=null,this.endMarker=null,this.renderDone=!1,this.data=null,this.resolveMounted=null,this}};M(oe,"version",Gn);var rt=class{constructor(t){M(this,"chain");this.chain=t}queue(t){return this.chain=this.chain.then(n=>(t(n),n)),this}then(t,n){return this.chain.then(t,n)}catch(t){return this.chain.catch(t)}finally(t){return this.chain.finally(t)}mount(t,n){return this.queue(s=>s.mount(t,n))}mountShadow(t,n){return this.queue(s=>s.mountShadow(t,n))}render(t={}){return this.queue(n=>n.render(t))}renderShadow(t={}){return this.queue(n=>n.renderShadow(t))}on(t,n){return this.queue(s=>s.on(t,n))}off(t,n){return this.queue(s=>s.off(t,n))}detach(){return this.queue(t=>t.detach())}destroy(){return this.queue(t=>t.destroy())}};var $r=e=>new oe(e),Rn={$:ge,$$:De,$create:Ie,$reactive:we,$toRaw:Z,Component79:oe};typeof globalThis<"u"&&globalThis[lr]&&dr();export{ge as $,De as $$,Ie as $create,we as $reactive,Z as $toRaw,oe as C79,oe as Component79,rt as PendingComponent79,dr as enableHotReload,fr as hotUpdate,$r as parseComponent,Rr as renderComponent};
|
|
15
15
|
//# sourceMappingURL=jq79.js.map
|