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.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},we=(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},kn=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 o=e.lastIndexOf("/*",n-2);if(o===-1)return!0;n=o-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 kn.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},vn=/^(\?\.|\?\?|&&|\|\||\*\*|[.,+\-*/%&|^<>=?:([])/,Ln=(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 o=we(e,s+1);if(!(o<e.length&&(vn.test(e.slice(o,o+2))||[",","="].includes(Ln(e,s)))))return s;s=o;continue}}s++}return e.length},Mn=e=>{let t=[],n=0,s=0,r=0,o=a=>{t.push({raw:e.slice(s,a),codeEnd:Math.max(0,r-s)}),s=a+1,r=s},i=0;for(;i<e.length;){let a=e[i];if(a==="'"||a==='"'||a==="`"){i=te(e,i),r=i;continue}if(a==="/"&&e[i+1]==="/"){i=Q(e,i);continue}if(a==="/"&&e[i+1]==="*"){i=ee(e,i);continue}if(a==="/"&&ne(e,i)){i=se(e,i),r=i;continue}if("([{".includes(a))n++;else if(")]}".includes(a))n--;else if(a===","&&n<=0){o(i),i++;continue}/\s/.test(a)||(r=i+1),i++}return o(e.length),t},Fe=e=>{let t=e.trim();if(!t.startsWith("{")&&!t.startsWith("["))return Te.test(t)?[t]:[];let n=[];for(let s of He(t.slice(1,At(t)))){s.startsWith("...")&&(s=s.slice(3).trim());let r=ze(s);if(r!==-1&&(s=s.slice(0,r).trim()),t.startsWith("{")){let o=Be(s,":");if(o!==-1){n.push(...Fe(s.slice(o+1)));continue}}n.push(...Fe(s))}return n},Dn=e=>{let t=[],n=Mn(e).map(({raw:o,codeEnd:i})=>{let a=o.match(/^\s*/)[0];if(i<=a.length)return{text:o,empty:!0};let l=o.slice(a.length,i),p=o.slice(i),d=ze(l),b=(d===-1?l:l.slice(0,d)).trim(),O=l[0]==="{"||l[0]==="[";O?t.push(...Fe(b)):Te.test(b)&&t.push(b);let D=xe(l).code;return{text:`${a}${O?`(${D})`:D}${p}`,empty:!1}}),s=[];for(;n.length&&n[n.length-1].empty;)s.unshift(n.pop().text);let r=n.map(o=>o.text).join(",")+s.join("");return r.trimStart().startsWith("(")&&(r=`;${r}`),{vars:t,code:r}},xe=e=>{let t=[],n="",s=0,r=0,o=!0;for(;s<e.length;){let i=e[s],a=e[s+1];if(i==="'"||i==='"'||i==="`"){let l=te(e,s);n+=e.slice(s,l),s=l,o=!1;continue}if(i==="/"&&(a==="/"||a==="*")){let l=a==="/"?Q(e,s):ee(e,s);n+=e.slice(s,l),s=l;continue}if(i==="/"&&ne(e,s)){let l=se(e,s);n+=e.slice(s,l),s=l,o=!1;continue}if(i==="i"&&(s===0||!/[\w$.]/.test(e[s-1]))&&(Re.lastIndex=s,Re.test(e))){n+="$__import",s+=6,o=!1;continue}if(r===0&&o){$t.lastIndex=s;let l=$t.exec(e);if(l){let d=s+l[0].length,b=Nt(e,d),{vars:O,code:D}=Dn(e.slice(d,b));t.push(...O),n+=D,s=b,o=!1;continue}Tt.lastIndex=s;let p=Tt.exec(e);if(p){xt.lastIndex=s;let d=xt.exec(e);d&&t.push(d[1]);let b=s+p[0].length,O=Nt(e,b);n+=`$__effect(() => { ${xe(e.slice(b,O)).code} });`,s=O;continue}}"([{".includes(i)?r++:")]}".includes(i)&&(r=Math.max(0,r-1)),i===`
5
- `||i===";"||i==="}"?o=!0:/\s/.test(i)||(o=!1),n+=i,s++}return{vars:t,code:n}},$e=/export\s+default(?![\w$])/y,Ct=/import\s*(?:([\w$\s,{}*]+?)\s*from\s*)?(["'])([^"'\n]+)\2/y,In=e=>{let t=[],n=0,s=0;for(let r=0;r<=e.length;r++){let o=e[r];if(o==="{")n++;else if(o==="}")n--;else if(r===e.length||o===","&&n===0){let i=e.slice(s,r).trim();i&&t.push(i),s=r+1}}return t},qn=(e,t,n)=>{let s=`await $__import(${JSON.stringify(t)})`;if(e===void 0)return s;let r=In(e),o=[],i=s;if(r.length>1){let a=`$__mod${n}`;o.push(`${a} = ${s}`),i=a}for(let a of r)a.startsWith("{")?o.push(`${a.replace(/\s+as\s+/g,": ")} = ${i}`):a.startsWith("*")?o.push(`${a.replace(/^\*\s*as\s+/,"")} = ${i}`):o.push(`${a} = $__default(${i})`);return`const ${o.join(", ")}`},Te=/^[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},Be=(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},He=e=>{let t=[],n=0,s=0,r=0;for(;r<=e.length;){let o=e[r];if(o==="'"||o==='"'||o==="`"){r=te(e,r);continue}if(o==="/"&&e[r+1]==="/"){r=Q(e,r);continue}if(o==="/"&&e[r+1]==="*"){r=ee(e,r);continue}if(o==="/"&&ne(e,r)){r=se(e,r);continue}if(o!==void 0&&"([{".includes(o))n++;else if(o!==void 0&&")]}".includes(o))n--;else if(r===e.length||o===","&&n===0){let i=e.slice(s,r).trim();i&&t.push(i),s=r+1}r++}return t},ze=e=>{let t=0;for(;t<e.length;){let n=Be(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},Ne=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 He(t.slice(1,n))){if(r.startsWith("..."))continue;let o=ze(r),i=o===-1?r:r.slice(0,o),a=o===-1?void 0:r.slice(o+1).trim(),l=Be(i,":"),p=(l===-1?i:i.slice(0,l)).trim();if(!Te.test(p))continue;let d={name:p};a!==void 0&&(d.default=a);let b=l===-1?"":i.slice(l+1).trim();Te.test(b)&&(d.as=b),s.push(d)}return s},Wn=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]))){$e.lastIndex=t;let o=$e.exec(e);if(o)return t+o[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},Un=/^async(?![\w$])/,Fn=/^function(?![\w$])\s*\*?\s*[A-Za-z_$][\w$]*|^function(?![\w$])\s*\*?/,Bn=e=>{let t=Wn(e);if(t===-1)return null;let n=we(e,t),s=e.slice(n);Un.test(s)&&(n=we(e,n+5));let r=Fn.exec(e.slice(n));if(r&&(n=we(e,n+r[0].length)),e[n]!=="(")return null;let o=0,i=n;for(;i<e.length;){let a=e[i];if(a==="'"||a==='"'||a==="`"){i=te(e,i);continue}if(a==="/"&&e[i+1]==="/"){i=Q(e,i);continue}if(a==="/"&&e[i+1]==="*"){i=ee(e,i);continue}if(a==="/"&&ne(e,i)){i=se(e,i);continue}if("([{".includes(a))o++;else if(")]}".includes(a)&&--o===0)break;i++}return He(e.slice(n+1,i))[0]??""},Ce=e=>{let t=Bn(e);if(t===null)return null;let n=Ne(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,o=!1,i=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 d=te(e,n);t+=e.slice(n,d),n=d,r=!1;continue}if(a==="/"&&(l==="/"||l==="*")){let d=l==="/"?Q(e,n):ee(e,n);t+=e.slice(n,d),n=d;continue}if(a==="/"&&ne(e,n)){let d=se(e,n);t+=e.slice(n,d),n=d,r=!1;continue}if(a==="i"&&p){if(Re.lastIndex=n,Re.test(e)){t+="$__import",n+=6,r=!1;continue}if(s===0&&r){Ct.lastIndex=n;let d=Ct.exec(e);if(d){t+=qn(d[1],d[3],i++),n+=d[0].length,r=!1;continue}}}if(a==="e"&&p&&s===0&&r){$e.lastIndex=n;let d=$e.exec(e);if(d){o=!0,t+="$__exports.default =",n+=d[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 o?t:null};var Hn="0.6.3",Zt=e=>Object.fromEntries(Array.from(e.attributes).map(t=>[t.name,t.value])),Kt=e=>{let t=Zt(e),n=t[je];return delete t[je],{tag:e.tagName.toLowerCase(),attrs:t,...n===void 0?{}:{component:n},children:Array.from((e instanceof HTMLTemplateElement?e.content:e).childNodes).flatMap(s=>{if(s.nodeType===Node.TEXT_NODE){let r=s.textContent??"";return r?[r]:[]}return s.nodeType===Node.ELEMENT_NODE?[Kt(s)]:[]})}},_t=new Map,Vt=(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},zn=/^(?:([\w$]+) is not defined|Can't find variable: ([\w$]+))/,Gn=100,fe=new Map,ot=new Set,Oe=0,Je=!1,Ye=new Set,Zn=()=>{Je=!1,!(Oe>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())},Xt=()=>{Je||Oe>0||!fe.size||(Je=!0,queueMicrotask(Zn))},Jt=e=>{Oe++;let t=()=>{Oe--,Xt()};e.then(t,t)},Kn=(e,t)=>{if(Ye.has(e))return;Ye.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.`)},Yt=(e,t,n)=>{if(!(n instanceof ReferenceError))return Kn(e,n);let s=zn.exec(n.message),r=s?.[1]??s?.[2];if(!r)return;let o=`${r}|${e}`;ot.has(o)||fe.has(o)||fe.size>=Gn||(fe.set(o,{name:r,expr:e,scope:t}),Xt())},Qt=(e,t,n)=>{let s=Vt(e,n?Object.keys(n):[]);if(s)return s(t,...n?Object.values(n):[])},M=(e,t,n)=>{try{return Qt(e,t,n)}catch(s){Yt(e,t,s);return}},en=(e,t,n)=>{try{return Qt(e,t,n)}catch(s){if(!(s instanceof ReferenceError))throw s;Yt(e,t,s);return}},Ge=/{{\s*([\s\S]+?)\s*}}/g,jt=new Map,tn=e=>{let t=jt.get(e);if(t)return t;let n=[],s=0;Ge.lastIndex=0;for(let r=Ge.exec(e);r;r=Ge.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},nn=(e,t)=>{if(e.length===1){let s=e[0];return typeof s=="string"?s:String(M(s.expr,t)??"")}let n="";for(let s of e)n+=typeof s=="string"?s:String(M(s.expr,t)??"");return n},Vn=new Set([":attrs",":class",":value",":checked",":selected",":if",":elseif",":else",":each",":key",":with",":text",":html",":html.allowed",":props"]),ke=e=>Vn.has(e)||e.startsWith(":class.")||e.startsWith(":props.")||e===":slot"||e.startsWith(":slot."),Xn=/^\s*\(?\s*(\w+)\s*(?:,\s*(\w+))?\s*\)?\s+in\s+([\s\S]+)$/,sn=(e,t,n,s)=>{let[r,...o]=t.slice(1).split("."),i=new Set(o);e.addEventListener(r,a=>{if(i.has("self")&&a.target!==e)return;i.has("prevent")&&a.preventDefault(),i.has("stop")&&a.stopPropagation();let l=en(n,s,{$event:a});typeof l=="function"&&l.call(e,a)},{once:i.has("once"),capture:i.has("capture")})},Jn=(e,t,n,s)=>{let[r,...o]=t.slice(1).split("."),i=new Set(o),a=l=>{i.has("prevent")&&l.preventDefault(),i.has("stop")&&l.stopPropagation(),i.has("once")&&e.off(r,a),me(()=>{let p=en(n,s,{$event:l});typeof p=="function"&&p(l)})};e.on(r,a)},re=e=>e.replace(/-(\w)/g,(t,n)=>n.toUpperCase()),Qe=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),it=e=>e instanceof DocumentFragment?{first:e.firstChild,last:e.lastChild}:{first:e,last:e},ve=({first:e,last:t})=>{for(let n=e;n;){let s=n===t?null:n.nextSibling;n.parentNode?.removeChild(n),n=s}},Yn=e=>{e.forEach(t=>{if(t.first===t.last)return ve(t);if(!t.first.parentNode)return;let s=document.createRange();s.setStartBefore(t.first),s.setEndAfter(t.last),s.deleteContents()})},Qn=(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},es=({first:e,last:t},n)=>{let s=n.nextSibling;for(let r=e;r;){let o=r===t?null:r.nextSibling;n.parentNode.insertBefore(r,s),r=o}},Pt=(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,_e=null,rn=new WeakSet,ts=e=>{let t={memo:ue,base:_e};return ue=new Map,_e=e,t},ns=e=>{ue=e.memo,_e=e.base},Ze=(e,t)=>{if(!ue)return Pt(e,t);let n=t.replace(/-/g,"").toLowerCase();for(let s=e;s&&s!==Object.prototype;s=Object.getPrototypeOf(s)){if(s===_e){if(ue.has(t))return ue.get(t);let r=Pt(s,t);return ue.set(t,r),r}if(!rn.has(s)){for(let r of Object.keys(s))if(/^[A-Z]/.test(r)&&r.replace(/-/g,"").toLowerCase()===n)return r}}return null},ss=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()},rs=(e,t)=>{let n=ss(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)"}.`)},kt=200,Ke=0,on=Symbol("jq79.slots"),an=e=>e==="slot"||e.startsWith("slot."),ln=e=>e?re(e):"default",at=e=>Object.keys(e.attrs).find(t=>t===":slot"||t.startsWith(":slot.")),os=e=>e==="default"?":slot":`:slot.${e}`,is=e=>typeof e!="string"||e.trim()!=="",as=e=>{let t={},n=[];e.children.forEach(r=>{let o=typeof r=="object"&&r.tag==="template"?at(r):void 0;if(typeof r=="string"||o===void 0){n.push(r);return}let i=ln(o.slice(6));if(i in t){console.warn(`jq79: two <template ${os(i)}> in <${e.tag}>; the second was ignored`);return}t[i]={nodes:r.children,binder:r.attrs[o]||void 0}});let s=n.some(is);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},ls=(e,t,n)=>{Ne(t)?.forEach(({name:s,as:r,default:o})=>{let i=r??s;Object.defineProperty(e,i,{enumerable:!0,configurable:!0,get:()=>{let a=n[s]?.();return a===void 0&&o!==void 0?M(o,e):a},set:()=>console.warn(`jq79: "${i}" is a slot prop - it comes from the component, so assigning to it does nothing`)})})},cs=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}`)},us=(e,t)=>{let n=Object.entries(as(e));if(!n.length)return null;let s={};return n.forEach(([r,o])=>{s[r]=fs(o,t)}),s},fs=(e,t)=>(n,s,r,o)=>{let i=Object.create(t);ls(i,e.binder,n);let a=i[Ee]??[];Object.defineProperty(i,Ee,{value:[...a,s]});let l=ce(i);return r.onDispose(()=>l.dispose()),pe(e.nodes,i,l,o)},ds=(e,t,n,s)=>{let r=ln(e.tag.slice(5)),o=document.createDocumentFragment(),i=document.createComment(e.tag),a=document.createComment(`/${e.tag}`);o.append(i,a);let l=t[on]?.[r];if(!l)return o.insertBefore(pe(e.children,t,n,s),a),o;let p={};return Object.entries(e.attrs).forEach(([d,b])=>{if(!(d===Le||ke(d)||d.startsWith("@")))if(d.startsWith(":")){let O=b||d.slice(1);p[re(d.slice(1))]=()=>M(O,t)}else p[re(d)]=()=>b}),o.insertBefore(l(p,t,n,s),a),o},vt=(e,t,n,s,r)=>{let o=document.createComment(e),i=document.createComment(`/${e}`),a=document.createDocumentFragment();a.append(o,i);let l=us(t,n),p={},d={},b=[],O=[],D=!1;Object.entries(t.attrs).forEach(([S,A])=>{if(S!==Le){if(S===":props"||S.startsWith(":props.")){D=!0,O.push({expr:A});return}if(!ke(S))if(S.startsWith("@"))b.push([S,A]);else if(S===":model"||S.startsWith(":model.")){let h=S===":model"?"default":re(S.slice(7));d[h]=A||(S===":model"?"model":h)}else if(S.startsWith(":")){let h=re(S.slice(1));p[h]=A||h,O.push({name:h,expr:A||h})}else{let h=re(S),T=JSON.stringify(A);p[h]=T,O.push({name:h,expr:T})}}});let I=S=>S==="default"?":model":`:model.${S}`,U=S=>S==="default"?"model":S,L=S=>`${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
- `)},zs=/^[A-Z][A-Za-z0-9]*$/,tt=e=>{let t=js(ks(Us(e))),s=new DOMParser().parseFromString(`<template>${t}</template>`,"text/html").querySelector("template"),r=[],o=[];Array.from(s.content.children).forEach(l=>{l.tagName==="TEMPLATE"?o.push(l):r.push(l)});let i=qt(r,e),a={};return o.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(!zs.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({...qt(Array.from(l.content.children),l.innerHTML),siblings:a,name:p})}),Object.keys(a).length&&(i.siblings=a),i},qt=(e,t)=>{let n=[],s=[],r=[];e.forEach(i=>{let a={attrs:Zt(i),content:i.textContent??""};i.tagName==="SCRIPT"?n.push(a):i.tagName==="STYLE"?s.push(a):r.push(Kt(i))}),s.forEach(i=>{"lang"in i.attrs&&console.warn(`jq79: <style lang="${i.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 o=i=>"scoped"in i.attrs&&!("lang"in i.attrs);if(s.some(o)){let i=Fs(t);mn(r,i),s.forEach(a=>{o(a)&&(a.scoped=Hs(a.content,i))})}return hn(r),{template:r,scripts:n,styles:s}},ut=e=>/\.html?([?#]|$)/.test(e)?st(e):import(e),Gs=/^(?:\.\.?\/|\/|[a-z][a-z0-9+.-]*:)/i,Zs=(e,t)=>{if(!Gs.test(e))return e;try{return new URL(e,new URL(t??"",document.baseURI)).href}catch{return e}},bn=(e,t)=>e?`
11
- //# sourceURL=${e}?jq79-script=${t}`:"",Wt=e=>e.scoped??e.content,Pe=new Map,Ks=e=>{let t=Pe.get(e);if(!t){let n=document.createElement("style");n.textContent=e,document.head.appendChild(n),t={el:n,count:0},Pe.set(e,t)}t.count++},Vs=e=>{let t=Pe.get(e);t&&--t.count<=0&&(t.el.remove(),Pe.delete(e))},Xs=(e,t,n,s={},r=ut,o={})=>{let i={...Sn,...s},a=new Proxy(t,{has:(d,b)=>b!=="$__effect"&&b!=="$__import"&&b!=="$__state"&&(Reflect.has(d,b)||!(b in globalThis)&&!(b in i))}),l={},p=new Function("$scope","$__effect","$__import","$__state",...Object.keys(i),`return (async () => { with ($scope) { ${e} }
12
- ;$__state.done = true })()${bn(o.filename,o.index??0)}`)(a,n,r,l,...Object.values(i));return p.catch(d=>console.error("jq79: error in :setup script",d)),Jt(p),{settled:p,sync:l.done===!0}},Ut=(e,t)=>{t?.forEach(({name:n,default:s})=>{e[n]===void 0&&(e[n]=s===void 0?void 0:M(s,e))})},ft=e=>{let t=e.attrs[":setup"];if(t===void 0)return null;if(t.trim()==="")return[];let n=Ne(t);return n||Js(e,t),n},Ft=new WeakSet,Js=(e,t)=>{t.trim()==="_"||Ft.has(e)||(Ft.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`))},Ys=e=>{let t=new Set;return e.forEach(n=>{(Ce(n.content)??ft(n))?.forEach(({name:r})=>t.add(r))}),t},Qs=e=>{let t=null;return e.forEach(n=>{let s=Ce(n.content)??ft(n);if(!s)return;let r=t??(t=new Set);s.forEach(({name:o})=>r.add(o))}),t},Bt=(e,t)=>{if(t===null)return e;let n={};return Object.keys(e).forEach(s=>{t.has(s)&&(n[s]=e[s])}),n},Ht=new WeakMap,er=(e,t,n,s)=>{if(s===null)return;let r=Ht.get(e)??new Set;Ht.set(e,r),n.forEach(o=>{s.has(o)||r.has(o)||(r.add(o),console.warn(`jq79: :${o} is not declared by <${t}> - add it to the :setup signature, or drop it`))})},tr=(e,t)=>{if(!e)return null;let n=Object.create(null),s=!1;return Object.entries(e).forEach(([r,o])=>{t.has(r)||(n[r]=o,s=!0)}),s?n:null},En=Symbol("jq79.unfilledProps"),nt=Symbol("jq79.pendingScripts"),nr=e=>e&&e.default!==void 0?e.default:e,sr=(e,t,n,s={},r=ut,o={})=>{let i={...Sn,...s},a={},l=new Function("$__exports","$__default","$__import",...Object.keys(i),`return (async () => { "use strict";
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 })()${bn(o.filename,o.index??0)}`)(a,nr,r,...Object.values(i)),p=I=>console.error("jq79: error in factory script",I),d=!1,b,O=()=>{if(d)return b;d=!0;let I=a.default;if(typeof I!="function")return;let U=L=>{L&&typeof L=="object"&&Object.assign(t,L)};try{let L=I(t,{$data:t,$props:t,$effect:n,...s});L instanceof Promise?b=L.then(U).catch(p):U(L)}catch(L){p(L)}return b},D=l.then(O,p);return Jt(D),a.done&&O(),{settled:D,sync:a.done===!0&&b===void 0}},rr="__JQ79_HMR_ENABLED__",or="__JQ79_HMR__",de=null,ir=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))},zt=e=>{try{return new URL(e,document.baseURI).pathname}catch{return e}},ar=(e,t)=>{if(!de)return 0;let n=zt(e),s=tt(t),r=!1,o=a=>a.name===void 0?s:s.siblings?.[a.name]??null,i=0;for(let[a,l]of de)if(zt(a)===n){for(let p of l){let d=p.deref();if(!d){l.delete(p);continue}let b=o(d);if(!b){r=!0;continue}d.hotReplace(b)&&i++}l.size||de.delete(a)}return r?0:i},lr=()=>{de??(de=new Map),globalThis[or]={update:ar}},Gt=3e3,cr=(e,t)=>{let n=setTimeout(()=>{console.warn(`jq79: ${e.name?`<${e.name}>`:"a component"}${e.filename?` (${e.filename})`:""} has been waiting ${Gt/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.`)},Gt);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={}){v(this,"template");v(this,"scripts");v(this,"styles");v(this,"modules");v(this,"filename");v(this,"siblings");v(this,"name");v(this,"slots");v(this,"modelWriteback");v(this,"data",null);v(this,"fx",null);v(this,"content",null);v(this,"startMarker",null);v(this,"endMarker",null);v(this,"styleEls",[]);v(this,"ownsSharedStyles",!1);v(this,"useShadow",!1);v(this,"mountRoot",null);v(this,"resolveMounted",null);v(this,"renderDone",!1);v(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(),ir(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(),Ye.clear();let s=this.startMarker,r=!!(s&&this.content),o=r&&s.isConnected,i=o?s.parentNode:null,a=o?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),!i)?!1:(p&&this.styleEls.forEach(d=>i.insertBefore(d,a)),i.insertBefore(this.content,a),this.mountRoot=i,this.settleMounted(),!0)}static debug(t){if(t)for(let n in t){let s=t[n];typeof s=="boolean"?Ae[n]=s:console.warn(`jq79: Component79.debug ignored "${n}" - the flags are booleans, and the ones it knows are: ${Object.keys(Ae).join(", ")}`)}return{...Ae}}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=Ys(this.scripts),r=tr(this.siblings,s),o=r?Object.assign(Object.create(r),t):{...t},i=new Set([...s].filter(h=>!(h in t)));i.size&&Object.defineProperty(o,En,{value:i}),this.slots&&Object.defineProperty(o,on,{value:this.slots}),Object.defineProperty(o,nt,{value:{count:0}});let a=Se(o),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,d=!1,b=(h,T)=>{h==="model:update"&&!d&&(d=!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:T,bubbles:!0,composed:!0,cancelable:!0});return p===this.startMarker&&this.emitListeners.get(h)?.forEach(B=>B(_,T)),_.cancelBubble||p.dispatchEvent(_),!_.defaultPrevented},O,D=new Promise(h=>{O=h});this.resolveMounted=O,this.renderDone=!1;let I=this.endMarker,U=h=>{let T=[];for(let _=p.nextSibling;_&&_!==I;_=_.nextSibling)_ instanceof Element&&(_.matches(h)&&T.push(_),T.push(...Array.from(_.querySelectorAll(h))));return T},L=h=>U(h)[0]??null,F=this.modules,N=h=>F&&h in F?Promise.resolve(F[h]):ut(Zs(h,this.filename)),P=Object.assign(Object.create(null),{$emit:b,$updateModel:(...h)=>{let[T,_]=h.length>1?h:[void 0,h[0]];return p!==this.startMarker?!1:this.modelWriteback?.(T,_)??!1},$slots:Object.fromEntries(Object.keys(this.slots??{}).map(h=>[h,!0]))}),q=h=>`await $mounted();${h}`,V=[],Y=!0;this.scripts.forEach((h,T)=>{let _;V.push(new Promise(c=>{_=c}));let B=!1,H=()=>{B=!0,_()},w={$mounted:()=>(H(),D),$self:L,$$self:U,...P,...r},W={filename:this.filename,index:T},k=":mounted"in h.attrs,z=Ot(h.content),G=(()=>{if(z!==null){k&&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."),Ut(a,Ce(h.content));let f=k?q(z):z;return sr(f,a,E=>l.effect(E),w,N,W)}let{vars:c,code:u}=xe(h.content);Ut(a,ft(h)),c.forEach(f=>{f in a||(a[f]=void 0)});let g=k?q(u):u;return Xs(g,a,f=>l.effect(f),w,N,W)})();if(G.sync)G.settled.then(H,H);else{let c=o[nt];c.count++;let u=()=>{c.count--,H()};G.settled.then(u,u)}!G.sync&&!B&&(Y=!1)});let S=document.createDocumentFragment(),A=new Proxy(a,{has:(h,T)=>typeof T=="string"&&T in P||Reflect.has(h,T),get:(h,T,_)=>typeof T=="string"&&T in P&&!Reflect.has(h,T)?P[T]:Reflect.get(h,T,_)});return S.append(this.startMarker,this.endMarker),this.content=S,Y?(this.endMarker.parentNode.insertBefore(pe(this.template,A,l,n),this.endMarker),this.renderDone=!0,this.settleMounted()):(Promise.all(V).then(()=>{p===this.startMarker&&(this.endMarker.parentNode.insertBefore(pe(this.template,A,l,n),this.endMarker),this.renderDone=!0,this.settleMounted())}),cr(this,V)),n?this.styleEls=this.styles.map(h=>{let T=document.createElement("style");return T.textContent=h.content,T}):(this.styles.forEach(h=>Ks(Wt(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=>Vs(Wt(t))),this.ownsSharedStyles=!1),this.content=null,this.startMarker=null,this.endMarker=null,this.renderDone=!1,this.data=null,this.resolveMounted=null,this}};v(oe,"version",Hn);var rt=class{constructor(t){v(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 Er=e=>new oe(e),Sn={$:ge,$$:Me,$create:De,$reactive:Se,$toRaw:Z,Component79:oe};typeof globalThis<"u"&&globalThis[rr]&&lr();export{ge as $,Me as $$,De as $create,Se as $reactive,Z as $toRaw,oe as C79,oe as Component79,rt as PendingComponent79,lr as enableHotReload,ar as hotUpdate,Er as parseComponent,br as renderComponent};
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