jq79 0.4.12 → 0.4.13

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,14 +1,14 @@
1
- var Xt=Object.defineProperty;var Jt=(t,n,e)=>n in t?Xt(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var j=(t,n,e)=>Jt(t,typeof n!="symbol"?n+"":n,e);function H(t,n){return typeof t=="string"?document.querySelector(t):t.querySelector(n)}function st(t,n){return Array.from(typeof t=="string"?document.querySelectorAll(t):t.querySelectorAll(n))}var ot=(t,n={})=>{let e=document.createElement(t);for(let[s,o]of Object.entries(n))if(s==="className")e.className=Array.isArray(o)?o.join(" "):o;else if(s==="textContent")e.textContent=o;else if(s==="children")for(let r of o)e.appendChild(r);else e.setAttribute(s,o);return e},Vt=new Set(["a","b","i","em","strong","p","br","ul","ol","li","blockquote","code","pre","span","div","h1","h2","h3","h4","h5","h6","img"]),Et={a:new Set(["href","title"]),img:new Set(["src","alt"]),"*":new Set(["class"])},Qt=new Set(["http:","https:","mailto:"]);function Yt(t){try{let n=new URL(t,"https://example.com");return Qt.has(n.protocol)}catch{return!1}}var te={"https:":"443","http:":"80"};function ee(t){let n=t.trim().toLowerCase().match(/^([a-z\d*][a-z\d.*-]*?)(?::(\d{1,5}|\*))?$/);if(!n)return null;let[,e,s]=n,o=e.split(".");return o.some(i=>i!=="*"&&!/^[a-z\d-]+$/.test(i))?null:{host:new RegExp(`^${o.map(i=>i==="*"?"[^.]+":i).join("\\.")}$`),port:!s||s==="*"?null:s}}var wt=t=>{let n=(Array.isArray(t)?t:t.split(",")).map(ee).filter(e=>e!==null);return e=>{let s=e.hostname.toLowerCase(),o=e.port||te[e.protocol]||"";return n.some(r=>r.host.test(s)&&(r.port===null||r.port===o))}};function ne(t,n,e,s){try{return!!t(new URL(n,document.baseURI),e,s)}catch{return!1}}var bt=512;function $t(t,n,e,s){if(e>bt)throw new RangeError(`jq79: sanitizeHTML input nests deeper than ${bt} elements`);for(let o of Array.from(t.childNodes))if(o.nodeType===Node.ELEMENT_NODE){let r=se(o,e,s);r&&n.appendChild(r)}else o.nodeType===Node.TEXT_NODE&&n.appendChild(o.cloneNode())}function se(t,n,e){let s=t.tagName.toLowerCase();if(!Vt.has(s))return null;let o=document.createElement(s);for(let r of Array.from(t.attributes)){let i=r.name.toLowerCase(),l=Et[s]?.has(i),c=Et["*"]?.has(i);!l&&!c||(i==="href"||i==="src")&&(!Yt(r.value)||e&&!ne(e,r.value,s,i))||o.setAttribute(i,r.value)}return s==="a"&&o.setAttribute("rel","noopener noreferrer"),$t(t,o,n+1,e),o}function St(t,n){let e=document.createElement("template");e.innerHTML=t;let s=document.createElement("div");return $t(e.content,s,0,n?.allowUrl),s.innerHTML}var oe=(t,n)=>n.split(".").reduce((e,s)=>e?.[s],t),Rt=t=>{if(Array.isArray(t))return!0;let n=Object.getPrototypeOf(t);return n===Object.prototype||n===null},xt=(t,n,e)=>{Object.entries(t).forEach(([s,o])=>{let r=n?`${n}.${s}`:s;o&&typeof o=="object"&&Rt(o)?xt(o,r,e):e(r,o)})},re=(t,n)=>t===n||t.startsWith(`${n}.`)||n.startsWith(`${t}.`),rt=Symbol("jq79.raw"),K=t=>{let n=t;for(;n!==null&&typeof n=="object"&&n[rt];)n=n[rt];return n},Tt=Symbol("jq79.store"),q=t=>t!==null&&typeof t=="object"&&t[Tt]===!0,k=[],B=t=>{k.push(new Set);try{return t()}finally{k.pop()}},X=t=>{let n=new Map,e=new Set,s=new Set,o=new WeakMap,r=Object.create(null),i=(u,a,g=!1)=>{n.get(u)?.forEach(f=>f(a,u)),e.forEach(f=>f(u,a)),s.forEach(f=>{(g||Array.from(f.deps).some(y=>re(y,u)))&&f.run()})},l=u=>u!==null&&typeof u=="object"&&Rt(u),c=new Map,p=(u,a)=>{let g=c.get(a);g?.store!==u&&(g?.unsubscribe(),c.set(a,{store:u,unsubscribe:u.$onAny((f,y)=>i(`${a}.${f}`,y))}))},d=u=>{c.get(u)?.unsubscribe(),c.delete(u)},E=(u,a)=>{let g=o.get(u);if(g)return g;let f=null,y=new Proxy(u,{has(h,m){return Reflect.has(h,m)||typeof m=="string"&&f?.has(m)===!0},get(h,m,w){if(m===rt)return h;if(m===Tt)return a==="";if(typeof m!="string")return Reflect.get(h,m,w);if(a===""&&m in r)return r[m];let C=a?`${a}.${m}`:m;k[k.length-1]?.add(C);let R=Reflect.get(h,m,w);if(q(R))return p(R,C),R;let $=K(R);return l($)?E($,C):$},set(h,m,w,C){if(C!==y&&!Object.prototype.hasOwnProperty.call(h,m))return Reflect.set(h,m,w,C);let R=a?`${a}.${m}`:m,$=q(w)?w:K(w),v=!Object.prototype.hasOwnProperty.call(h,m);if(!v&&Object.is(h[m],$)&&($===null||typeof $!="object"))return!0;h[m]=$,f?.delete(m),q($)?p($,R):d(R);let T=q($)||!l($)?$:E($,R);return i(R,T,v),!0},deleteProperty(h,m){if(typeof m!="string")return Reflect.deleteProperty(h,m);let w=Object.prototype.hasOwnProperty.call(h,m),C=Reflect.deleteProperty(h,m);if(C&&w){let R=a?`${a}.${m}`:m;(f??(f=new Set)).add(m),d(R),i(R,void 0)}return C}});return o.set(u,y),y},S=E(K(t),"");Object.entries(K(t)).forEach(([u,a])=>{q(a)&&p(a,u)});let A=(u,a,{immediate:g=!1}={})=>(n.has(u)||n.set(u,new Set),n.get(u).add(a),g&&a(oe(S,u),u),()=>n.get(u)?.delete(a)),_=(u,{immediate:a=!1}={})=>(e.add(u),a&&xt(S,"",(g,f)=>u(g,f)),()=>e.delete(u)),b=u=>{let a=!1,g=!1,f={deps:new Set,run:()=>{if(a){g=!0;return}a=!0;try{let y=0;do{g=!1;let h=new Set;k.push(h);try{u()}finally{k.pop(),f.deps=h}}while(g&&++y<100);g&&console.error("jq79: an effect re-woke itself 100 times in a row (it writes what it reads); giving up on it settling")}finally{a=!1}}};return s.add(f),f.run(),()=>{s.delete(f)}},x=()=>{c.forEach(({unsubscribe:u})=>u()),c.clear()};return r.$on=A,r.$onAny=_,r.$effect=b,r.$dispose=x,S},I=t=>{let n=[],e=[];return{effect:s=>{n.push(t.$effect(s)),e.push(s)},onDispose:s=>{n.push(s)},refresh:()=>{e.forEach(s=>s())},dispose:()=>{n.splice(0).forEach(s=>s()),e.length=0}}};var Ct=/(?:let|var|const)(?:\s+(?=[A-Za-z_$])|\s*(?=[{[]))/y,At=/\$:\s*/y,V=/import(?=\s*\()/y,_t=/\$:\s*([A-Za-z_$][\w$]*)\s*=(?!=)/y,M=(t,n)=>{let e=t[n],s=n+1;for(;s<t.length;){if(t[s]==="\\"){s+=2;continue}if(t[s]===e)return s+1;s++}return t.length},L=(t,n)=>{let e=t.indexOf(`
2
- `,n);return e===-1?t.length:e},O=(t,n)=>{let e=t.indexOf("*/",n+2);return e===-1?t.length:e+2},J=(t,n)=>{let e=n;for(;e<t.length;){if(/\s/.test(t[e])){e++;continue}if(t[e]==="/"&&t[e+1]==="/"){e=L(t,e);continue}if(t[e]==="/"&&t[e+1]==="*"){e=O(t,e);continue}break}return e},ie=new Set(["return","typeof","case","in","instanceof","new","delete","void","do","else","yield","await"]),P=(t,n)=>{let e=n-1;for(;e>=0;){let o=t[e];if(/\s/.test(o)){e--;continue}if(o==="/"&&t[e-1]==="*"){let r=t.lastIndexOf("/*",e-2);if(r===-1)return!0;e=r-1;continue}break}if(e<0)return!0;let s=t[e];if(/[\w$]/.test(s)){let o=e;for(;o>0&&/[\w$]/.test(t[o-1]);)o--;return ie.has(t.slice(o,e+1))}return(s==="+"||s==="-")&&t[e-1]===s?!1:!")]}\"'`.".includes(s)},D=(t,n)=>{let e=n+1,s=!1;for(;e<t.length;){let o=t[e];if(o==="\\"){e+=2;continue}if(o===`
3
- `)return e;if(o==="[")s=!0;else if(o==="]")s=!1;else if(o==="/"&&!s){for(e++;e<t.length&&/[a-z]/i.test(t[e]);)e++;return e}e++}return t.length},le=/^(\?\.|\?\?|&&|\|\||\*\*|[.,+\-*/%&|^<>=?:([])/,ce=(t,n)=>{let e=n-1;for(;e>=0;){let s=t[e];if(/\s/.test(s)){e--;continue}if(s==="/"&&t[e-1]==="*"){let o=t.lastIndexOf("/*",e-2);if(o===-1)return"";e=o-1;continue}return s}return""},Nt=(t,n)=>{let e=0,s=n;for(;s<t.length;){let o=t[s];if(o==="'"||o==='"'||o==="`"){s=M(t,s);continue}if(o==="/"&&t[s+1]==="/"){s=L(t,s);continue}if(o==="/"&&t[s+1]==="*"){s=O(t,s);continue}if(o==="/"&&P(t,s)){s=D(t,s);continue}if("([{".includes(o))e++;else if(")]}".includes(o))e--;else{if(e<=0&&o===";")return s;if(e<=0&&o===`
4
- `){let r=J(t,s+1);if(!(r<t.length&&(le.test(t.slice(r,r+2))||[",","="].includes(ce(t,s)))))return s;s=r;continue}}s++}return t.length},ae=t=>{let n=[],e=0,s=0,o=0,r=l=>{n.push({raw:t.slice(s,l),codeEnd:Math.max(0,o-s)}),s=l+1,o=s},i=0;for(;i<t.length;){let l=t[i];if(l==="'"||l==='"'||l==="`"){i=M(t,i),o=i;continue}if(l==="/"&&t[i+1]==="/"){i=L(t,i);continue}if(l==="/"&&t[i+1]==="*"){i=O(t,i);continue}if(l==="/"&&P(t,i)){i=D(t,i),o=i;continue}if("([{".includes(l))e++;else if(")]}".includes(l))e--;else if(l===","&&e<=0){r(i),i++;continue}/\s/.test(l)||(o=i+1),i++}return r(t.length),n},it=t=>{let n=t.trim();if(!n.startsWith("{")&&!n.startsWith("["))return lt.test(n)?[n]:[];let e=[];for(let s of at(n.slice(1,vt(n)))){s.startsWith("...")&&(s=s.slice(3).trim());let o=ft(s);if(o!==-1&&(s=s.slice(0,o).trim()),n.startsWith("{")){let r=ct(s,":");if(r!==-1){e.push(...it(s.slice(r+1)));continue}}e.push(...it(s))}return e},fe=t=>{let n=[],e=ae(t).map(({raw:r,codeEnd:i})=>{let l=r.match(/^\s*/)[0];if(i<=l.length)return{text:r,empty:!0};let c=r.slice(l.length,i),p=r.slice(i),d=ft(c),E=(d===-1?c:c.slice(0,d)).trim(),S=c[0]==="{"||c[0]==="[";S?n.push(...it(E)):lt.test(E)&&n.push(E);let A=Y(c).code;return{text:`${l}${S?`(${A})`:A}${p}`,empty:!1}}),s=[];for(;e.length&&e[e.length-1].empty;)s.unshift(e.pop().text);let o=e.map(r=>r.text).join(",")+s.join("");return o.trimStart().startsWith("(")&&(o=`;${o}`),{vars:n,code:o}},Y=t=>{let n=[],e="",s=0,o=0,r=!0;for(;s<t.length;){let i=t[s],l=t[s+1];if(i==="'"||i==='"'||i==="`"){let c=M(t,s);e+=t.slice(s,c),s=c,r=!1;continue}if(i==="/"&&(l==="/"||l==="*")){let c=l==="/"?L(t,s):O(t,s);e+=t.slice(s,c),s=c;continue}if(i==="/"&&P(t,s)){let c=D(t,s);e+=t.slice(s,c),s=c,r=!1;continue}if(i==="i"&&(s===0||!/[\w$.]/.test(t[s-1]))&&(V.lastIndex=s,V.test(t))){e+="$__import",s+=6,r=!1;continue}if(o===0&&r){Ct.lastIndex=s;let c=Ct.exec(t);if(c){let d=s+c[0].length,E=Nt(t,d),{vars:S,code:A}=fe(t.slice(d,E));n.push(...S),e+=A,s=E,r=!1;continue}At.lastIndex=s;let p=At.exec(t);if(p){_t.lastIndex=s;let d=_t.exec(t);d&&n.push(d[1]);let E=s+p[0].length,S=Nt(t,E);e+=`$__effect(() => { ${Y(t.slice(E,S)).code} });`,s=S;continue}}"([{".includes(i)?o++:")]}".includes(i)&&(o=Math.max(0,o-1)),i===`
5
- `||i===";"||i==="}"?r=!0:/\s/.test(i)||(r=!1),e+=i,s++}return{vars:n,code:e}},Q=/export\s+default(?![\w$])/y,jt=/import\s*(?:([\w$\s,{}*]+?)\s*from\s*)?(["'])([^"'\n]+)\2/y,ue=t=>{let n=[],e=0,s=0;for(let o=0;o<=t.length;o++){let r=t[o];if(r==="{")e++;else if(r==="}")e--;else if(o===t.length||r===","&&e===0){let i=t.slice(s,o).trim();i&&n.push(i),s=o+1}}return n},de=(t,n,e)=>{let s=`await $__import(${JSON.stringify(n)})`;if(t===void 0)return s;let o=ue(t),r=[],i=s;if(o.length>1){let l=`$__mod${e}`;r.push(`${l} = ${s}`),i=l}for(let l of o)l.startsWith("{")?r.push(`${l.replace(/\s+as\s+/g,": ")} = ${i}`):l.startsWith("*")?r.push(`${l.replace(/^\*\s*as\s+/,"")} = ${i}`):r.push(`${l} = $__default(${i})`);return`const ${r.join(", ")}`},lt=/^[A-Za-z_$][\w$]*$/,vt=t=>{let n=0,e=0;for(;e<t.length;){let s=t[e];if(s==="'"||s==='"'||s==="`"){e=M(t,e);continue}if(s==="/"&&t[e+1]==="/"){e=L(t,e);continue}if(s==="/"&&t[e+1]==="*"){e=O(t,e);continue}if(s==="/"&&P(t,e)){e=D(t,e);continue}if("([{".includes(s))n++;else if(")]}".includes(s)&&--n===0)return e;e++}return t.length},ct=(t,n)=>{let e=0,s=0;for(;s<t.length;){let o=t[s];if(o==="'"||o==='"'||o==="`"){s=M(t,s);continue}if(o==="/"&&t[s+1]==="/"){s=L(t,s);continue}if(o==="/"&&t[s+1]==="*"){s=O(t,s);continue}if(o==="/"&&o!==n&&P(t,s)){s=D(t,s);continue}if("([{".includes(o))e++;else if(")]}".includes(o))e--;else if(e===0&&o===n)return s;s++}return-1},at=t=>{let n=[],e=0,s=0,o=0;for(;o<=t.length;){let r=t[o];if(r==="'"||r==='"'||r==="`"){o=M(t,o);continue}if(r==="/"&&t[o+1]==="/"){o=L(t,o);continue}if(r==="/"&&t[o+1]==="*"){o=O(t,o);continue}if(r==="/"&&P(t,o)){o=D(t,o);continue}if(r!==void 0&&"([{".includes(r))e++;else if(r!==void 0&&")]}".includes(r))e--;else if(o===t.length||r===","&&e===0){let i=t.slice(s,o).trim();i&&n.push(i),s=o+1}o++}return n},ft=t=>{let n=0;for(;n<t.length;){let e=ct(t.slice(n),"=");if(e===-1)return-1;let s=n+e;if(t[s+1]!=="="&&t[s+1]!==">"&&t[s-1]!=="="&&t[s-1]!=="!")return s;n=s+1}return-1},ut=t=>{let n=(t??"").trim();if(!n.startsWith("{"))return null;let e=vt(n);if(e>=n.length)return null;let s=[];for(let o of at(n.slice(1,e))){if(o.startsWith("..."))continue;let r=ft(o),i=r===-1?o:o.slice(0,r),l=r===-1?void 0:o.slice(r+1).trim(),c=ct(i,":"),p=(c===-1?i:i.slice(0,c)).trim();lt.test(p)&&s.push(l===void 0?{name:p}:{name:p,default:l})}return s},pe=t=>{let n=0,e=0,s=!0;for(;n<t.length;){let o=t[n];if(o==="'"||o==='"'||o==="`"){n=M(t,n),s=!1;continue}if(o==="/"&&t[n+1]==="/"){n=L(t,n);continue}if(o==="/"&&t[n+1]==="*"){n=O(t,n);continue}if(o==="/"&&P(t,n)){n=D(t,n),s=!1;continue}if(o==="e"&&e===0&&s&&(n===0||!/[\w$.]/.test(t[n-1]))){Q.lastIndex=n;let r=Q.exec(t);if(r)return n+r[0].length}"([{".includes(o)?e++:")]}".includes(o)&&(e=Math.max(0,e-1)),o===`
6
- `||o===";"||o==="}"?s=!0:/\s/.test(o)||(s=!1),n++}return-1},he=/^async(?![\w$])/,ge=/^function(?![\w$])\s*\*?\s*[A-Za-z_$][\w$]*|^function(?![\w$])\s*\*?/,me=t=>{let n=pe(t);if(n===-1)return null;let e=J(t,n),s=t.slice(e);he.test(s)&&(e=J(t,e+5));let o=ge.exec(t.slice(e));if(o&&(e=J(t,e+o[0].length)),t[e]!=="(")return null;let r=0,i=e;for(;i<t.length;){let l=t[i];if(l==="'"||l==='"'||l==="`"){i=M(t,i);continue}if(l==="/"&&t[i+1]==="/"){i=L(t,i);continue}if(l==="/"&&t[i+1]==="*"){i=O(t,i);continue}if(l==="/"&&P(t,i)){i=D(t,i);continue}if("([{".includes(l))r++;else if(")]}".includes(l)&&--r===0)break;i++}return at(t.slice(e+1,i))[0]??""},Lt=t=>{let n=me(t);if(n===null)return null;let e=ut(n),s=e?.find(o=>o.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 e},Ot=t=>{let n="",e=0,s=0,o=!0,r=!1,i=0;for(;e<t.length;){let l=t[e],c=t[e+1],p=e===0||!/[\w$.]/.test(t[e-1]);if(l==="'"||l==='"'||l==="`"){let d=M(t,e);n+=t.slice(e,d),e=d,o=!1;continue}if(l==="/"&&(c==="/"||c==="*")){let d=c==="/"?L(t,e):O(t,e);n+=t.slice(e,d),e=d;continue}if(l==="/"&&P(t,e)){let d=D(t,e);n+=t.slice(e,d),e=d,o=!1;continue}if(l==="i"&&p){if(V.lastIndex=e,V.test(t)){n+="$__import",e+=6,o=!1;continue}if(s===0&&o){jt.lastIndex=e;let d=jt.exec(t);if(d){n+=de(d[1],d[3],i++),e+=d[0].length,o=!1;continue}}}if(l==="e"&&p&&s===0&&o){Q.lastIndex=e;let d=Q.exec(t);if(d){r=!0,n+="$__exports.default =",e+=d[0].length,o=!1;continue}}"([{".includes(l)?s++:")]}".includes(l)&&(s=Math.max(0,s-1)),l===`
7
- `||l===";"||l==="}"?o=!0:/\s/.test(l)||(o=!1),n+=l,e++}return r?n:null};var kt=t=>Object.fromEntries(Array.from(t.attributes).map(n=>[n.name,n.value])),It=t=>({tag:t.tagName.toLowerCase(),attrs:kt(t),children:Array.from(t.childNodes).flatMap(n=>{if(n.nodeType===Node.TEXT_NODE){let e=n.textContent??"";return e?[e]:[]}return n.nodeType===Node.ELEMENT_NODE?[It(n)]:[]})}),Mt=new Map,Ht=(t,n)=>{let e=`${n.join(",")}|${t}`,s=Mt.get(e);if(s===void 0){try{s=new Function("$scope",...n,`with ($scope) { return (${t}
8
- ); }`)}catch{s=null}Mt.set(e,s)}return s},N=(t,n,e)=>{let s=Ht(t,e?Object.keys(e):[]);if(s)try{return s(n,...e?Object.values(e):[])}catch{return}},ye=(t,n)=>t.replace(/{{\s*([\s\S]+?)\s*}}/g,(e,s)=>N(s,n)??""),Ee=new Set([":attrs",":class",":value",":checked",":selected",":if",":elseif",":else",":each",":key",":with",":text",":html",":html.allowed",":props"]),qt=t=>Ee.has(t)||t.startsWith(":class.")||t.startsWith(":props."),be=/^\s*\(?\s*(\w+)\s*(?:,\s*(\w+))?\s*\)?\s+in\s+([\s\S]+)$/,we=(t,n,e,s)=>{let[o,...r]=n.slice(1).split("."),i=new Set(r);t.addEventListener(o,l=>{if(i.has("self")&&l.target!==t)return;i.has("prevent")&&l.preventDefault(),i.has("stop")&&l.stopPropagation();let c=N(e,s,{$event:l});typeof c=="function"&&c.call(t,l)},{once:i.has("once"),capture:i.has("capture")})},$e=(t,n,e,s)=>{let[o,...r]=n.slice(1).split("."),i=new Set(r),l=c=>{i.has("prevent")&&c.preventDefault(),i.has("stop")&&c.stopPropagation(),i.has("once")&&t.off(o,l),B(()=>{let p=N(e,s,{$event:c});typeof p=="function"&&p(c)})};t.on(o,l)},tt=t=>t.replace(/-(\w)/g,(n,e)=>e.toUpperCase()),pt=t=>t instanceof DocumentFragment?{first:t.firstChild,last:t.lastChild}:{first:t,last:t},et=({first:t,last:n})=>{for(let e=t;e;){let s=e===n?null:e.nextSibling;e.parentNode?.removeChild(e),e=s}},Se=({first:t,last:n},e)=>{let s=e.nextSibling;for(let o=t;o;){let r=o===n?null:o.nextSibling;e.parentNode.insertBefore(o,s),o=r}},Pt=(t,n)=>{let e=n.replace(/-/g,"").toLowerCase();for(let s=t;s&&s!==Object.prototype;s=Object.getPrototypeOf(s))for(let o of Object.keys(s))if(/^[A-Z]/.test(o)&&o.replace(/-/g,"").toLowerCase()===e)return o;return null},Dt=(t,n,e,s,o)=>{let r=document.createComment(t),i=document.createComment(`/${t}`),l=document.createDocumentFragment();l.append(r,i);let c={},p={},d=[],E=[],S=!1;Object.entries(n.attrs).forEach(([f,y])=>{if(f!==mt){if(f===":props"||f.startsWith(":props.")){S=!0,E.push({expr:y});return}if(!qt(f))if(f.startsWith("@"))d.push([f,y]);else if(f===":model"||f.startsWith(":model.")){let h=f===":model"?"default":tt(f.slice(7));p[h]=y||(f===":model"?"model":h)}else if(f.startsWith(":")){let h=tt(f.slice(1));c[h]=y||h,E.push({name:h,expr:y||h})}else{let h=tt(f),m=JSON.stringify(y);c[h]=m,E.push({name:h,expr:m})}}});let A=f=>f==="default"?":model":`:model.${f}`,_=f=>f==="default"?"model":f,b=f=>`${f}
9
- = $value`;Object.entries(p).forEach(([f,y])=>{let h=_(f);c[h]!==void 0&&console.warn(`jq79: <${n.tag}> binds prop "${h}" through both :${h} and ${A(f)} - ${A(f)} wins`),c[h]=y,Ht(b(y),["$value"])===null&&console.warn(`jq79: ${A(f)}="${y}" is not assignable - updates from <${n.tag}> will be dropped`)});let x=()=>{let f={};return E.forEach(({name:y,expr:h})=>{if(y!==void 0)f[y]=N(h,e);else{let m=N(h,e);m!==null&&typeof m=="object"&&Object.assign(f,m)}}),Object.entries(p).forEach(([y,h])=>{f[_(y)]=N(h,e)}),f},u=null,a=null,g=null;return s.effect(()=>{let f=N(t,e),y=f instanceof W?f:null;if(y===a||(g?.dispose(),g=null,u?.destroy(),u=null,a=y,!y))return;let h=new W({template:y.template,scripts:y.scripts,styles:y.styles,modules:y.modules,filename:y.filename});if(Object.keys(p).length){let R=new Set,$=(v,T)=>{R.has(v)||(R.add(v),console.warn(T))};h.on("model:update",(v,T)=>{if(T===null||typeof T!="object"){$("payload",`jq79: model:update expects a { name?, value } payload, got ${T===null?"null":typeof T}`);return}let F=T.name==null?"default":tt(String(T.name)),G=p[F];if(G===void 0){$(F,`jq79: <${n.tag}> has no ${A(F)} - bound: ${Object.keys(p).map(A).join(", ")}`);return}B(()=>N(b(G),e,{$value:T.value}))})}d.forEach(([R,$])=>$e(h,R,$,e));let m=B(x),w=document.createDocumentFragment();(o?h.renderShadow(m):h.render(m)).mount(w),i.parentNode.insertBefore(w,i);let C=I(e);if(S){let R=[];C.effect(()=>{let $=x(),v=Object.keys($);R.forEach(T=>{T in $||(h.data[T]=void 0)}),v.forEach(T=>{h.data[T]=$[T]}),R=v})}else Object.entries(c).forEach(([R,$])=>{C.effect(()=>{h.data[R]=N($,e)})});g=C,u=h}),s.onDispose(()=>{g?.dispose(),u?.destroy()}),l},Re=(t,n)=>{let e=()=>{let s=N(t,n);return s!==null&&typeof s=="object"?s:null};return new Proxy(n,{has(s,o){let r=e();return r!==null&&Reflect.has(r,o)||Reflect.has(s,o)},get(s,o){let r=e();return r!==null&&Reflect.has(r,o)?r[o]:Reflect.get(s,o)},set(s,o,r){let i=e();return i!==null&&Reflect.has(i,o)?(i[o]=r,!0):Reflect.set(s,o,r)}})},Z=t=>typeof t=="string"?t.split(/\s+/).filter(Boolean):Array.isArray(t)?t.flatMap(Z):t!==null&&typeof t=="object"?Object.entries(t).flatMap(([n,e])=>e?Z(n):[]):[],xe=t=>typeof t=="function"?(n,e,s)=>{try{return!!t(n,e,s)}catch{return!1}}:typeof t=="string"||Array.isArray(t)?wt(t):()=>!1,ht=(t,n,e,s)=>{let o=t.attrs[":with"],r=o!==void 0?Re(o,n):n,i=Pt(r,t.tag);if(i)return Dt(i,t,r,e,s);let l=document.createElement(t.tag);if(l instanceof HTMLUnknownElement||t.tag.includes("-")){let b=!1;e.effect(()=>{if(b)return;let x=Pt(r,t.tag);if(!x)return;b=!0;let u=Dt(x,t,r,e,s),a=pt(u);e.onDispose(()=>et(a)),l.replaceWith(u)})}Object.entries(t.attrs).forEach(([b,x])=>{b.startsWith("@")?we(l,b,x,r):b===":model"||b.startsWith(":model.")?l instanceof HTMLUnknownElement||t.tag.includes("-")||console.warn(`jq79: ${b} on <${t.tag}> does nothing - :model binds component tags only (for now)`):qt(b)||l.setAttribute(b,x)});let c=t.attrs[":attrs"];if(c!==void 0){let b=[];e.effect(()=>{b.forEach(u=>l.removeAttribute(u));let x=N(c,r);b=x&&typeof x=="object"?Object.keys(x):[],b.forEach(u=>{let a=x[u];a!=null&&a!==!1&&l.setAttribute(u,String(a))})})}let p=t.attrs[":class"],d=Object.entries(t.attrs).filter(([b])=>b.startsWith(":class.")).map(([b,x])=>[b.slice(7),x]);if(p!==void 0||d.length){let b=new Set(Z(t.attrs.class??"")),x=[];e.effect(()=>{let u=p!==void 0?Z(N(p,r)):[];d.forEach(([a,g])=>{N(g,r)&&u.push(...Z(a))}),x.forEach(a=>{!u.includes(a)&&!b.has(a)&&l.classList.remove(a)}),l.classList.add(...u),x=u})}let E=t.attrs[":text"],S=t.attrs[":html"],A=t.attrs[":html.allowed"];A!==void 0&&S===void 0&&console.warn("jq79: :html.allowed without :html on the same element does nothing"),E!==void 0?e.effect(()=>{l.textContent=String(N(E,r)??"")}):S!==void 0?e.effect(()=>{let b=A!==void 0?{allowUrl:xe(N(A,r))}:void 0;l.innerHTML=St(String(N(S,r)??""),b)}):l.appendChild(gt(t.children,r,e,s));let _=t.attrs[":value"];return _!==void 0&&e.effect(()=>{let b=String(N(_,r)??"");l.value!==b&&(l.value=b)}),[":checked",":selected"].forEach(b=>{let x=t.attrs[b];if(x===void 0)return;let u=b.slice(1);e.effect(()=>{l[u]=!!N(x,r)})}),l},Te=(t,n,e,s)=>{let o=document.createComment("if"),r=document.createDocumentFragment();r.appendChild(o);let i=null,l=null,c=null;return e.effect(()=>{let p=t.find(E=>E.expr===void 0||N(E.expr,n))??null;if(p===l||(c?.dispose(),i&&et(i),i=null,l=p,!p))return;c=I(n);let d=ht(p.node,n,c,s);i=pt(d),o.parentNode.insertBefore(d,o.nextSibling)}),r},z=(t,n,e)=>{Object.defineProperty(t,n,{value:e,writable:!0,enumerable:!0,configurable:!0})},Ce=t=>{if(t===null||typeof t!="object"||Array.isArray(t))return!1;let n=Object.getPrototypeOf(t);return n===Object.prototype||n===null},Ae=(t,n,e,s)=>{let o=t.attrs[":each"].match(be);if(!o)return document.createComment(`invalid :each expression "${t.attrs[":each"]}"`);let[,r,i,l]=o,c=t.attrs[":key"],{[":each"]:p,[":key"]:d,...E}=t.attrs,S={...t,attrs:E},A=document.createComment("each"),_=document.createDocumentFragment();_.appendChild(A),(":if"in t.attrs||":elseif"in t.attrs||":else"in t.attrs)&&console.warn("jq79: :if/:elseif/:else on a :each element is ignored; filter the list expression instead");let b=[],x=!1;return e.effect(()=>{let u=N(l,n),a=Array.isArray(u)?u.map((w,C)=>[C,w]):Ce(u)?Object.entries(u):[],g=new Map;b.forEach(w=>{let C=g.get(w.key);C?C.push(w):g.set(w.key,[w])});let f=new Set,y=[],h=a.map(([w,C],R)=>{let $=Object.create(n);z($,r,C),i&&z($,i,w),z($,"$index",R);let v=c!==void 0?N(c,$):w;f.has(v)&&!x&&(x=!0,console.warn(`jq79: duplicate :key in :each "${t.attrs[":each"]}"; duplicates pair up by position`)),f.add(v);let T=g.get(v)?.shift();if(T&&Object.is(T.item,C))return T.scope.$index!==R&&y.push(T),z(T.scope,"$index",R),i&&z(T.scope,i,w),T;T&&(T.fx.dispose(),et(T.range));let F=I(n),G=pt(ht(S,$,F,s));return{key:v,item:C,scope:$,fx:F,range:G}});g.forEach(w=>w.forEach(C=>{C.fx.dispose(),et(C.range)}));let m=A;h.forEach(w=>{m.nextSibling!==w.range.first&&Se(w.range,m),m=w.range.last}),y.forEach(w=>B(()=>w.fx.refresh())),b=h}),_},gt=(t,n,e,s=!1)=>{let o=document.createDocumentFragment(),r=0;for(;r<t.length;){let i=t[r];if(typeof i=="string"){let l=document.createTextNode(i);i.includes("{{")&&e.effect(()=>{l.textContent=ye(i,n)}),o.appendChild(l),r++;continue}if(":each"in i.attrs){o.appendChild(Ae(i,n,e,s)),r++;continue}if(":if"in i.attrs){let l=[{expr:i.attrs[":if"],node:i}];r++;let c=d=>{let E=r;for(;E<t.length&&typeof t[E]=="string"&&!t[E].trim();)E++;let S=t[E];if(typeof S=="object"&&d in S.attrs)return r=E+1,S};for(let d=c(":elseif");d;d=c(":elseif"))l.push({expr:d.attrs[":elseif"],node:d});let p=c(":else");p&&l.push({node:p}),o.appendChild(Te(l,n,e,s));continue}o.appendChild(ht(i,n,e,s)),r++}return o},tn=(t,n,e=!1)=>gt(t.template,n,I(n),e),_e=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Ne=/<([A-Za-z][\w-]*)((?:"[^"]*"|'[^']*'|[^>"'])*?)\/>/g,Bt=/(<script[\s\S]*?<\/script\s*>|<style[\s\S]*?<\/style\s*>)/gi,je=t=>t.split(Bt).map((n,e)=>e%2===1?n:n.replace(Ne,(s,o,r)=>_e.has(o.toLowerCase())?s:`<${o}${r}></${o}>`)).join(""),ve=/<([A-Za-z][\w-]*)((?:"[^"]*"|'[^']*'|[^>"'])*)>/g,Le=/"[^"]*"|'[^']*'|(^|\s)\.\.\.([A-Za-z_$][\w$.]*)/g,Oe=t=>t.split(Bt).map((n,e)=>e%2===1?n:n.replace(ve,(s,o,r)=>{let i=0,l=r.replace(Le,(c,p,d)=>d===void 0?c:`${p}:props.${i++}="${d}"`);return`<${o}${l}>`})).join(""),mt="data-jq79",Me=t=>{let n=2166136261;for(let e=0;e<t.length;e++)n=Math.imul(n^t.charCodeAt(e),16777619);return(n>>>0).toString(36)},zt=(t,n)=>{t.forEach(e=>{typeof e!="string"&&(e.attrs[mt]=n,zt(e.children,n))})},Pe=(t,n)=>t.split(",").map(e=>{let s=e.trim(),o=s.indexOf("::"),r=o===-1?s:s.slice(0,o),i=o===-1?"":s.slice(o);return`${r}[${mt}="${n}"]${i}`}).join(", "),Zt=(t,n)=>{Array.from(t).forEach(e=>{e instanceof CSSStyleRule?e.selectorText=Pe(e.selectorText,n):e instanceof CSSGroupingRule&&Zt(e.cssRules,n)})},De=(t,n)=>{/:deep\(|::v-deep|>>>/.test(t)&&console.warn("jq79: :deep()/::v-deep/>>> are not supported in <style scoped>; the rule will be dropped by the browser");let e=new CSSStyleSheet;return e.replaceSync(t),Zt(e.cssRules,n),Array.from(e.cssRules).map(s=>s.cssText).join(`
10
- `)},dt=t=>{let n=je(Oe(t)),s=new DOMParser().parseFromString(`<template>${n}</template>`,"text/html").querySelector("template"),o=[],r=[],i=[];Array.from(s.content.children).forEach(c=>{let p={attrs:kt(c),content:c.textContent??""};c.tagName==="SCRIPT"?o.push(p):c.tagName==="STYLE"?r.push(p):i.push(It(c))}),r.forEach(c=>{"lang"in c.attrs&&console.warn(`jq79: <style lang="${c.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 l=c=>"scoped"in c.attrs&&!("lang"in c.attrs);if(r.some(l)){let c=Me(t);zt(i,c),r.forEach(p=>{l(p)&&(p.scoped=De(p.content,c))})}return{template:i,scripts:o,styles:r}},yt=t=>/\.html?([?#]|$)/.test(t)?W.fetch(t):import(t),Gt=(t,n)=>t?`
11
- //# sourceURL=${t}?jq79-script=${n}`:"",Ut=t=>t.scoped??t.content,nt=new Map,Ue=t=>{let n=nt.get(t);if(!n){let e=document.createElement("style");e.textContent=t,document.head.appendChild(e),n={el:e,count:0},nt.set(t,n)}n.count++},We=t=>{let n=nt.get(t);n&&--n.count<=0&&(n.el.remove(),nt.delete(t))},Fe=(t,n,e,s={},o=yt,r={})=>{let i={...Kt,...s},l=new Proxy(n,{has:(p,d)=>d!=="$__effect"&&d!=="$__import"&&(Reflect.has(p,d)||!(d in globalThis)&&!(d in i))});new Function("$scope","$__effect","$__import",...Object.keys(i),`return (async () => { with ($scope) { ${t} } })()${Gt(r.filename,r.index??0)}`)(l,e,o,...Object.values(i)).catch(p=>console.error("jq79: error in :setup script",p))},Wt=(t,n)=>{n?.forEach(({name:e,default:s})=>{t[e]===void 0&&(t[e]=s===void 0?void 0:N(s,t))})},ke=t=>t&&t.default!==void 0?t.default:t,Ie=(t,n,e,s={},o=yt,r={})=>{let i={...Kt,...s},l={},c=new Function("$__exports","$__default","$__import",...Object.keys(i),`return (async () => { "use strict";
12
- ${t}
13
- ;$__exports.done = true })()${Gt(r.filename,r.index??0)}`)(l,ke,o,...Object.values(i)),p=S=>console.error("jq79: error in factory script",S),d=!1,E=()=>{if(d)return;d=!0;let S=l.default;if(typeof S!="function")return;let A=_=>{_&&typeof _=="object"&&Object.assign(n,_)};try{let _=S(n,{$data:n,$props:n,$effect:e,...s});_ instanceof Promise?_.then(A).catch(p):A(_)}catch(_){p(_)}};c.then(E,p),l.done&&E()},He="__JQ79_HMR_ENABLED__",qe="__JQ79_HMR__",U=null,Be=t=>{if(!U||!t.filename)return;let n=U.get(t.filename);n||U.set(t.filename,n=new Set),n.add(new WeakRef(t))},Ft=t=>{try{return new URL(t,document.baseURI).pathname}catch{return t}},ze=(t,n)=>{if(!U)return 0;let e=Ft(t),s=dt(n),o=0;for(let[r,i]of U)if(Ft(r)===e){for(let l of i){let c=l.deref();if(!c){i.delete(l);continue}c.hotReplace(s)&&o++}i.size||U.delete(r)}return o},Ze=()=>{U??(U=new Map),globalThis[qe]={update:ze}},W=class t{constructor(n,e={}){j(this,"template");j(this,"scripts");j(this,"styles");j(this,"modules");j(this,"filename");j(this,"data",null);j(this,"fx",null);j(this,"content",null);j(this,"startMarker",null);j(this,"endMarker",null);j(this,"styleEls",[]);j(this,"ownsSharedStyles",!1);j(this,"useShadow",!1);j(this,"mountRoot",null);j(this,"resolveMounted",null);j(this,"emitListeners",new Map);let s=typeof n=="string"?dt(n):n;this.template=s.template,this.scripts=s.scripts,this.styles=s.styles,this.modules=e.modules??(typeof n=="string"?void 0:n.modules),this.filename=e.filename??(typeof n=="string"?void 0:n.filename),Be(this)}hotReplace(n){let e=typeof n=="string"?dt(n):n,s=this.startMarker,o=!!(s&&this.content),r=o&&s.isConnected,i=r?s.parentNode:null,l=r?this.endMarker.nextSibling:null,c={...this.data},p=this.useShadow;return o&&this.destroy(),this.template=e.template,this.scripts=e.scripts,this.styles=e.styles,!o||(this.renderWith(c,p),!i)?!1:(p&&this.styleEls.forEach(d=>i.insertBefore(d,l)),i.insertBefore(this.content,l),this.mountRoot=i,this.resolveMounted?.(),!0)}static async fetch(n){let e=await fetch(n);if(!e.ok)throw new Error(`failed to fetch component from ${n}: ${e.status}`);return new t(await e.text(),{filename:n})}on(n,e){return this.emitListeners.has(n)||this.emitListeners.set(n,new Set),this.emitListeners.get(n).add(e),this}off(n,e){return this.emitListeners.get(n)?.delete(e),this}render(n={}){return this.renderWith(n,!1)}renderShadow(n={}){return this.renderWith(n,!0)}renderWith(n,e){this.destroy();let s=X({...n}),o=I(s);this.data=s,this.fx=o,this.useShadow=e,this.startMarker=document.createComment("jq79"),this.endMarker=document.createComment("/jq79");let r=this.startMarker,i=(a,g)=>{let f=new CustomEvent(a,{detail:g,bubbles:!0,composed:!0,cancelable:!0});return r===this.startMarker&&this.emitListeners.get(a)?.forEach(y=>y(f,g)),f.cancelBubble||r.dispatchEvent(f),!f.defaultPrevented},l,c=new Promise(a=>{l=a});this.resolveMounted=l;let p=()=>c,d=this.endMarker,E=a=>{let g=[];for(let f=r.nextSibling;f&&f!==d;f=f.nextSibling)f instanceof Element&&(f.matches(a)&&g.push(f),g.push(...Array.from(f.querySelectorAll(a))));return g},S=a=>E(a)[0]??null,A=this.modules,_=a=>A&&a in A?Promise.resolve(A[a]):yt(a),b=a=>`await $mounted();${a}`;this.scripts.forEach((a,g)=>{let f={$emit:i,$mounted:p,$self:S,$$self:E},y={filename:this.filename,index:g},h=Ot(a.content);if(h!==null){Wt(s,Lt(a.content));let R=":mounted"in a.attrs?b(h):h;Ie(R,s,o.effect,f,_,y);return}let{vars:m,code:w}=Y(a.content);Wt(s,ut(a.attrs[":setup"])),m.forEach(R=>{R in s||(s[R]=void 0)});let C=":mounted"in a.attrs?b(w):w;Fe(C,s,o.effect,f,_,y)});let x=document.createDocumentFragment(),u=new Proxy(s,{has:(a,g)=>g==="$emit"||Reflect.has(a,g),get:(a,g,f)=>g==="$emit"&&!Reflect.has(a,g)?i:Reflect.get(a,g,f)});return x.append(this.startMarker,gt(this.template,u,o,e),this.endMarker),this.content=x,e?this.styleEls=this.styles.map(a=>{let g=document.createElement("style");return g.textContent=a.content,g}):(this.styles.forEach(a=>Ue(Ut(a))),this.ownsSharedStyles=!0),this}mount(n,e){let s=typeof n=="string"?H(n):n;if(!s)throw new Error(`mount target not found: ${n}`);return(!this.content||e!==void 0)&&this.renderWith(e??{},this.useShadow),this.attach(s)}mountShadow(n,e){let s=typeof n=="string"?H(n):n;if(!s)throw new Error(`mount target not found: ${n}`);return(!this.content||e!==void 0||!this.useShadow)&&this.renderWith(e??{},!0),this.attach(s)}attach(n){this.mountRoot&&this.detach();let e=this.useShadow&&n instanceof Element?n.shadowRoot??n.attachShadow({mode:"open"}):n;return this.useShadow&&this.styleEls.forEach(s=>e.appendChild(s)),e.appendChild(this.content),this.mountRoot=e,this.resolveMounted?.(),this}detach(){if(!this.mountRoot||!this.content||!this.startMarker||!this.endMarker)return this;let n=this.startMarker;for(;n;){let e=n.nextSibling;if(this.content.appendChild(n),n===this.endMarker)break;n=e}return this.mountRoot=null,this}destroy(){return this.detach(),this.fx?.dispose(),this.fx=null,this.data?.$dispose(),this.styleEls.forEach(n=>n.parentNode?.removeChild(n)),this.styleEls=[],this.ownsSharedStyles&&(this.styles.forEach(n=>We(Ut(n))),this.ownsSharedStyles=!1),this.content=null,this.startMarker=null,this.endMarker=null,this.data=null,this.resolveMounted=null,this}};var en=t=>new W(t),Kt={$:H,$$:st,$create:ot,$reactive:X,Component79:W};typeof globalThis<"u"&&globalThis[He]&&Ze();export{H as $,st as $$,ot as $create,X as $reactive,W as C79,W as Component79,Ze as enableHotReload,ze as hotUpdate,en as parseComponent,tn as renderComponent};
1
+ var nt=Object.defineProperty;var st=(e,n,t)=>n in e?nt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var N=(e,n,t)=>st(e,typeof n!="symbol"?n+"":n,t);function H(e,n){return typeof e=="string"?document.querySelector(e):e.querySelector(n)}function re(e,n){return Array.from(typeof e=="string"?document.querySelectorAll(e):e.querySelectorAll(n))}var ie=(e,n={})=>{let t=document.createElement(e);for(let[s,o]of Object.entries(n))if(s==="className")t.className=Array.isArray(o)?o.join(" "):o;else if(s==="textContent")t.textContent=o;else if(s==="children")for(let i of o)t.appendChild(i);else t.setAttribute(s,o);return t},ot=new Set(["a","b","i","em","strong","p","br","ul","ol","li","blockquote","code","pre","span","div","h1","h2","h3","h4","h5","h6","img"]),$e={a:new Set(["href","title"]),img:new Set(["src","alt"]),"*":new Set(["class"])},rt=new Set(["http:","https:","mailto:"]);function it(e){try{let n=new URL(e,"https://example.com");return rt.has(n.protocol)}catch{return!1}}var lt={"https:":"443","http:":"80"};function at(e){let n=e.trim().toLowerCase().match(/^([a-z\d*][a-z\d.*-]*?)(?::(\d{1,5}|\*))?$/);if(!n)return null;let[,t,s]=n,o=t.split(".");return o.some(r=>r!=="*"&&!/^[a-z\d-]+$/.test(r))?null:{host:new RegExp(`^${o.map(r=>r==="*"?"[^.]+":r).join("\\.")}$`),port:!s||s==="*"?null:s}}var xe=e=>{let n=(Array.isArray(e)?e:e.split(",")).map(at).filter(t=>t!==null);return t=>{let s=t.hostname.toLowerCase(),o=t.port||lt[t.protocol]||"";return n.some(i=>i.host.test(s)&&(i.port===null||i.port===o))}};function ct(e,n,t,s){try{return!!e(new URL(n,document.baseURI),t,s)}catch{return!1}}var Re=512;function Te(e,n,t,s){if(t>Re)throw new RangeError(`jq79: sanitizeHTML input nests deeper than ${Re} elements`);for(let o of Array.from(e.childNodes))if(o.nodeType===Node.ELEMENT_NODE){let i=ft(o,t,s);i&&n.appendChild(i)}else o.nodeType===Node.TEXT_NODE&&n.appendChild(o.cloneNode())}function ft(e,n,t){let s=e.tagName.toLowerCase();if(!ot.has(s))return null;let o=document.createElement(s);for(let i of Array.from(e.attributes)){let r=i.name.toLowerCase(),l=$e[s]?.has(r),c=$e["*"]?.has(r);!l&&!c||(r==="href"||r==="src")&&(!it(i.value)||t&&!ct(t,i.value,s,r))||o.setAttribute(r,i.value)}return s==="a"&&o.setAttribute("rel","noopener noreferrer"),Te(e,o,n+1,t),o}function Ce(e,n){let t=document.createElement("template");t.innerHTML=e;let s=document.createElement("div");return Te(t.content,s,0,n?.allowUrl),s.innerHTML}var ut=(e,n)=>n.split(".").reduce((t,s)=>t?.[s],e),Ae=e=>{if(Array.isArray(e))return!0;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null},je=(e,n,t)=>{Object.entries(e).forEach(([s,o])=>{let i=n?`${n}.${s}`:s;o&&typeof o=="object"&&Ae(o)?je(o,i,t):t(i,o)})},dt=(e,n)=>e===n||e.startsWith(`${n}.`)||n.startsWith(`${e}.`),le=Symbol("jq79.raw"),K=e=>{let n=e;for(;n!==null&&typeof n=="object"&&n[le];)n=n[le];return n},_e=Symbol("jq79.store"),B=e=>e!==null&&typeof e=="object"&&e[_e]===!0,k=[],z=e=>{k.push(new Set);try{return e()}finally{k.pop()}},X=e=>{let n=new Map,t=new Set,s=new Set,o=new WeakMap,i=Object.create(null),r=(h,g,w=!1)=>{n.get(h)?.forEach(S=>S(g,h)),t.forEach(S=>S(h,g)),s.forEach(S=>{(w||Array.from(S.deps).some(v=>dt(v,h)))&&S.run()})},l=h=>h!==null&&typeof h=="object"&&Ae(h),c=new Map,d=(h,g)=>{let w=c.get(g);w?.store!==h&&(w?.unsubscribe(),c.set(g,{store:h,unsubscribe:h.$onAny((S,v)=>r(`${g}.${S}`,v))}))},p=h=>{c.get(h)?.unsubscribe(),c.delete(h)},m=(h,g)=>{let w=o.get(h);if(w)return w;let S=null,v=new Proxy(h,{has(a,f){return Reflect.has(a,f)||typeof f=="string"&&S?.has(f)===!0},get(a,f,u){if(f===le)return a;if(f===_e)return g==="";if(typeof f!="string")return Reflect.get(a,f,u);if(g===""&&f in i)return i[f];let E=g?`${g}.${f}`:f;k[k.length-1]?.add(E);let C=Reflect.get(a,f,u);if(B(C))return d(C,E),C;let R=K(C);return l(R)?m(R,E):R},set(a,f,u,E){if(E!==v&&!Object.prototype.hasOwnProperty.call(a,f))return Reflect.set(a,f,u,E);let C=g?`${g}.${f}`:f,R=B(u)?u:K(u),_=!Object.prototype.hasOwnProperty.call(a,f);if(!_&&Object.is(a[f],R)&&(R===null||typeof R!="object"))return!0;a[f]=R,S?.delete(f),B(R)?d(R,C):p(C);let x=B(R)||!l(R)?R:m(R,C);return r(C,x,_),!0},deleteProperty(a,f){if(typeof f!="string")return Reflect.deleteProperty(a,f);let u=Object.prototype.hasOwnProperty.call(a,f),E=Reflect.deleteProperty(a,f);if(E&&u){let C=g?`${g}.${f}`:f;(S??(S=new Set)).add(f),p(C),r(C,void 0)}return E}});return o.set(h,v),v},b=m(K(e),"");Object.entries(K(e)).forEach(([h,g])=>{B(g)&&d(g,h)});let T=(h,g,{immediate:w=!1}={})=>(n.has(h)||n.set(h,new Set),n.get(h).add(g),w&&g(ut(b,h),h),()=>n.get(h)?.delete(g)),A=(h,{immediate:g=!1}={})=>(t.add(h),g&&je(b,"",(w,S)=>h(w,S)),()=>t.delete(h)),y=h=>{let g=!1,w=!1,S={deps:new Set,run:()=>{if(g){w=!0;return}g=!0;try{let v=0;do{w=!1;let a=new Set;k.push(a);try{h()}finally{k.pop(),S.deps=a}}while(w&&++v<100);w&&console.error("jq79: an effect re-woke itself 100 times in a row (it writes what it reads); giving up on it settling")}finally{g=!1}}};return s.add(S),S.run(),()=>{s.delete(S)}},$=()=>{c.forEach(({unsubscribe:h})=>h()),c.clear()};return i.$on=T,i.$onAny=A,i.$effect=y,i.$dispose=$,b},q=e=>{let n=[],t=[];return{effect:s=>{n.push(e.$effect(s)),t.push(s)},onDispose:s=>{n.push(s)},refresh:()=>{t.forEach(s=>s())},dispose:()=>{n.splice(0).forEach(s=>s()),t.length=0}}};var Ne=/(?:let|var|const)(?:\s+(?=[A-Za-z_$])|\s*(?=[{[]))/y,Oe=/\$:\s*/y,V=/import(?=\s*\()/y,ve=/\$:\s*([A-Za-z_$][\w$]*)\s*=(?!=)/y,D=(e,n)=>{let t=e[n],s=n+1;for(;s<e.length;){if(e[s]==="\\"){s+=2;continue}if(e[s]===t)return s+1;s++}return e.length},P=(e,n)=>{let t=e.indexOf(`
2
+ `,n);return t===-1?e.length:t},M=(e,n)=>{let t=e.indexOf("*/",n+2);return t===-1?e.length:t+2},J=(e,n)=>{let t=n;for(;t<e.length;){if(/\s/.test(e[t])){t++;continue}if(e[t]==="/"&&e[t+1]==="/"){t=P(e,t);continue}if(e[t]==="/"&&e[t+1]==="*"){t=M(e,t);continue}break}return t},pt=new Set(["return","typeof","case","in","instanceof","new","delete","void","do","else","yield","await"]),U=(e,n)=>{let t=n-1;for(;t>=0;){let o=e[t];if(/\s/.test(o)){t--;continue}if(o==="/"&&e[t-1]==="*"){let i=e.lastIndexOf("/*",t-2);if(i===-1)return!0;t=i-1;continue}break}if(t<0)return!0;let s=e[t];if(/[\w$]/.test(s)){let o=t;for(;o>0&&/[\w$]/.test(e[o-1]);)o--;return pt.has(e.slice(o,t+1))}return(s==="+"||s==="-")&&e[t-1]===s?!1:!")]}\"'`.".includes(s)},F=(e,n)=>{let t=n+1,s=!1;for(;t<e.length;){let o=e[t];if(o==="\\"){t+=2;continue}if(o===`
3
+ `)return t;if(o==="[")s=!0;else if(o==="]")s=!1;else if(o==="/"&&!s){for(t++;t<e.length&&/[a-z]/i.test(e[t]);)t++;return t}t++}return e.length},ht=/^(\?\.|\?\?|&&|\|\||\*\*|[.,+\-*/%&|^<>=?:([])/,gt=(e,n)=>{let t=n-1;for(;t>=0;){let s=e[t];if(/\s/.test(s)){t--;continue}if(s==="/"&&e[t-1]==="*"){let o=e.lastIndexOf("/*",t-2);if(o===-1)return"";t=o-1;continue}return s}return""},Le=(e,n)=>{let t=0,s=n;for(;s<e.length;){let o=e[s];if(o==="'"||o==='"'||o==="`"){s=D(e,s);continue}if(o==="/"&&e[s+1]==="/"){s=P(e,s);continue}if(o==="/"&&e[s+1]==="*"){s=M(e,s);continue}if(o==="/"&&U(e,s)){s=F(e,s);continue}if("([{".includes(o))t++;else if(")]}".includes(o))t--;else{if(t<=0&&o===";")return s;if(t<=0&&o===`
4
+ `){let i=J(e,s+1);if(!(i<e.length&&(ht.test(e.slice(i,i+2))||[",","="].includes(gt(e,s)))))return s;s=i;continue}}s++}return e.length},mt=e=>{let n=[],t=0,s=0,o=0,i=l=>{n.push({raw:e.slice(s,l),codeEnd:Math.max(0,o-s)}),s=l+1,o=s},r=0;for(;r<e.length;){let l=e[r];if(l==="'"||l==='"'||l==="`"){r=D(e,r),o=r;continue}if(l==="/"&&e[r+1]==="/"){r=P(e,r);continue}if(l==="/"&&e[r+1]==="*"){r=M(e,r);continue}if(l==="/"&&U(e,r)){r=F(e,r),o=r;continue}if("([{".includes(l))t++;else if(")]}".includes(l))t--;else if(l===","&&t<=0){i(r),r++;continue}/\s/.test(l)||(o=r+1),r++}return i(e.length),n},ae=e=>{let n=e.trim();if(!n.startsWith("{")&&!n.startsWith("["))return ce.test(n)?[n]:[];let t=[];for(let s of ue(n.slice(1,Me(n)))){s.startsWith("...")&&(s=s.slice(3).trim());let o=de(s);if(o!==-1&&(s=s.slice(0,o).trim()),n.startsWith("{")){let i=fe(s,":");if(i!==-1){t.push(...ae(s.slice(i+1)));continue}}t.push(...ae(s))}return t},yt=e=>{let n=[],t=mt(e).map(({raw:i,codeEnd:r})=>{let l=i.match(/^\s*/)[0];if(r<=l.length)return{text:i,empty:!0};let c=i.slice(l.length,r),d=i.slice(r),p=de(c),m=(p===-1?c:c.slice(0,p)).trim(),b=c[0]==="{"||c[0]==="[";b?n.push(...ae(m)):ce.test(m)&&n.push(m);let T=Y(c).code;return{text:`${l}${b?`(${T})`:T}${d}`,empty:!1}}),s=[];for(;t.length&&t[t.length-1].empty;)s.unshift(t.pop().text);let o=t.map(i=>i.text).join(",")+s.join("");return o.trimStart().startsWith("(")&&(o=`;${o}`),{vars:n,code:o}},Y=e=>{let n=[],t="",s=0,o=0,i=!0;for(;s<e.length;){let r=e[s],l=e[s+1];if(r==="'"||r==='"'||r==="`"){let c=D(e,s);t+=e.slice(s,c),s=c,i=!1;continue}if(r==="/"&&(l==="/"||l==="*")){let c=l==="/"?P(e,s):M(e,s);t+=e.slice(s,c),s=c;continue}if(r==="/"&&U(e,s)){let c=F(e,s);t+=e.slice(s,c),s=c,i=!1;continue}if(r==="i"&&(s===0||!/[\w$.]/.test(e[s-1]))&&(V.lastIndex=s,V.test(e))){t+="$__import",s+=6,i=!1;continue}if(o===0&&i){Ne.lastIndex=s;let c=Ne.exec(e);if(c){let p=s+c[0].length,m=Le(e,p),{vars:b,code:T}=yt(e.slice(p,m));n.push(...b),t+=T,s=m,i=!1;continue}Oe.lastIndex=s;let d=Oe.exec(e);if(d){ve.lastIndex=s;let p=ve.exec(e);p&&n.push(p[1]);let m=s+d[0].length,b=Le(e,m);t+=`$__effect(() => { ${Y(e.slice(m,b)).code} });`,s=b;continue}}"([{".includes(r)?o++:")]}".includes(r)&&(o=Math.max(0,o-1)),r===`
5
+ `||r===";"||r==="}"?i=!0:/\s/.test(r)||(i=!1),t+=r,s++}return{vars:n,code:t}},Q=/export\s+default(?![\w$])/y,Pe=/import\s*(?:([\w$\s,{}*]+?)\s*from\s*)?(["'])([^"'\n]+)\2/y,Et=e=>{let n=[],t=0,s=0;for(let o=0;o<=e.length;o++){let i=e[o];if(i==="{")t++;else if(i==="}")t--;else if(o===e.length||i===","&&t===0){let r=e.slice(s,o).trim();r&&n.push(r),s=o+1}}return n},bt=(e,n,t)=>{let s=`await $__import(${JSON.stringify(n)})`;if(e===void 0)return s;let o=Et(e),i=[],r=s;if(o.length>1){let l=`$__mod${t}`;i.push(`${l} = ${s}`),r=l}for(let l of o)l.startsWith("{")?i.push(`${l.replace(/\s+as\s+/g,": ")} = ${r}`):l.startsWith("*")?i.push(`${l.replace(/^\*\s*as\s+/,"")} = ${r}`):i.push(`${l} = $__default(${r})`);return`const ${i.join(", ")}`},ce=/^[A-Za-z_$][\w$]*$/,Me=e=>{let n=0,t=0;for(;t<e.length;){let s=e[t];if(s==="'"||s==='"'||s==="`"){t=D(e,t);continue}if(s==="/"&&e[t+1]==="/"){t=P(e,t);continue}if(s==="/"&&e[t+1]==="*"){t=M(e,t);continue}if(s==="/"&&U(e,t)){t=F(e,t);continue}if("([{".includes(s))n++;else if(")]}".includes(s)&&--n===0)return t;t++}return e.length},fe=(e,n)=>{let t=0,s=0;for(;s<e.length;){let o=e[s];if(o==="'"||o==='"'||o==="`"){s=D(e,s);continue}if(o==="/"&&e[s+1]==="/"){s=P(e,s);continue}if(o==="/"&&e[s+1]==="*"){s=M(e,s);continue}if(o==="/"&&o!==n&&U(e,s)){s=F(e,s);continue}if("([{".includes(o))t++;else if(")]}".includes(o))t--;else if(t===0&&o===n)return s;s++}return-1},ue=e=>{let n=[],t=0,s=0,o=0;for(;o<=e.length;){let i=e[o];if(i==="'"||i==='"'||i==="`"){o=D(e,o);continue}if(i==="/"&&e[o+1]==="/"){o=P(e,o);continue}if(i==="/"&&e[o+1]==="*"){o=M(e,o);continue}if(i==="/"&&U(e,o)){o=F(e,o);continue}if(i!==void 0&&"([{".includes(i))t++;else if(i!==void 0&&")]}".includes(i))t--;else if(o===e.length||i===","&&t===0){let r=e.slice(s,o).trim();r&&n.push(r),s=o+1}o++}return n},de=e=>{let n=0;for(;n<e.length;){let t=fe(e.slice(n),"=");if(t===-1)return-1;let s=n+t;if(e[s+1]!=="="&&e[s+1]!==">"&&e[s-1]!=="="&&e[s-1]!=="!")return s;n=s+1}return-1},ee=e=>{let n=(e??"").trim();if(!n.startsWith("{"))return null;let t=Me(n);if(t>=n.length)return null;let s=[];for(let o of ue(n.slice(1,t))){if(o.startsWith("..."))continue;let i=de(o),r=i===-1?o:o.slice(0,i),l=i===-1?void 0:o.slice(i+1).trim(),c=fe(r,":"),d=(c===-1?r:r.slice(0,c)).trim();ce.test(d)&&s.push(l===void 0?{name:d}:{name:d,default:l})}return s},wt=e=>{let n=0,t=0,s=!0;for(;n<e.length;){let o=e[n];if(o==="'"||o==='"'||o==="`"){n=D(e,n),s=!1;continue}if(o==="/"&&e[n+1]==="/"){n=P(e,n);continue}if(o==="/"&&e[n+1]==="*"){n=M(e,n);continue}if(o==="/"&&U(e,n)){n=F(e,n),s=!1;continue}if(o==="e"&&t===0&&s&&(n===0||!/[\w$.]/.test(e[n-1]))){Q.lastIndex=n;let i=Q.exec(e);if(i)return n+i[0].length}"([{".includes(o)?t++:")]}".includes(o)&&(t=Math.max(0,t-1)),o===`
6
+ `||o===";"||o==="}"?s=!0:/\s/.test(o)||(s=!1),n++}return-1},St=/^async(?![\w$])/,$t=/^function(?![\w$])\s*\*?\s*[A-Za-z_$][\w$]*|^function(?![\w$])\s*\*?/,Rt=e=>{let n=wt(e);if(n===-1)return null;let t=J(e,n),s=e.slice(t);St.test(s)&&(t=J(e,t+5));let o=$t.exec(e.slice(t));if(o&&(t=J(e,t+o[0].length)),e[t]!=="(")return null;let i=0,r=t;for(;r<e.length;){let l=e[r];if(l==="'"||l==='"'||l==="`"){r=D(e,r);continue}if(l==="/"&&e[r+1]==="/"){r=P(e,r);continue}if(l==="/"&&e[r+1]==="*"){r=M(e,r);continue}if(l==="/"&&U(e,r)){r=F(e,r);continue}if("([{".includes(l))i++;else if(")]}".includes(l)&&--i===0)break;r++}return ue(e.slice(t+1,r))[0]??""},pe=e=>{let n=Rt(e);if(n===null)return null;let t=ee(n),s=t?.find(o=>o.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 t},De=e=>{let n="",t=0,s=0,o=!0,i=!1,r=0;for(;t<e.length;){let l=e[t],c=e[t+1],d=t===0||!/[\w$.]/.test(e[t-1]);if(l==="'"||l==='"'||l==="`"){let p=D(e,t);n+=e.slice(t,p),t=p,o=!1;continue}if(l==="/"&&(c==="/"||c==="*")){let p=c==="/"?P(e,t):M(e,t);n+=e.slice(t,p),t=p;continue}if(l==="/"&&U(e,t)){let p=F(e,t);n+=e.slice(t,p),t=p,o=!1;continue}if(l==="i"&&d){if(V.lastIndex=t,V.test(e)){n+="$__import",t+=6,o=!1;continue}if(s===0&&o){Pe.lastIndex=t;let p=Pe.exec(e);if(p){n+=bt(p[1],p[3],r++),t+=p[0].length,o=!1;continue}}}if(l==="e"&&d&&s===0&&o){Q.lastIndex=t;let p=Q.exec(e);if(p){i=!0,n+="$__exports.default =",t+=p[0].length,o=!1;continue}}"([{".includes(l)?s++:")]}".includes(l)&&(s=Math.max(0,s-1)),l===`
7
+ `||l===";"||l==="}"?o=!0:/\s/.test(l)||(o=!1),n+=l,t++}return i?n:null};var Ze=e=>Object.fromEntries(Array.from(e.attributes).map(n=>[n.name,n.value])),Ge=e=>({tag:e.tagName.toLowerCase(),attrs:Ze(e),children:Array.from(e.childNodes).flatMap(n=>{if(n.nodeType===Node.TEXT_NODE){let t=n.textContent??"";return t?[t]:[]}return n.nodeType===Node.ELEMENT_NODE?[Ge(n)]:[]})}),Ue=new Map,Ke=(e,n)=>{let t=`${n.join(",")}|${e}`,s=Ue.get(t);if(s===void 0){try{s=new Function("$scope",...n,`with ($scope) { return (${e}
8
+ ); }`)}catch{s=null}Ue.set(t,s)}return s},j=(e,n,t)=>{let s=Ke(e,t?Object.keys(t):[]);if(s)try{return s(n,...t?Object.values(t):[])}catch{return}},xt=(e,n)=>e.replace(/{{\s*([\s\S]+?)\s*}}/g,(t,s)=>j(s,n)??""),Tt=new Set([":attrs",":class",":value",":checked",":selected",":if",":elseif",":else",":each",":key",":with",":text",":html",":html.allowed",":props"]),Xe=e=>Tt.has(e)||e.startsWith(":class.")||e.startsWith(":props."),Ct=/^\s*\(?\s*(\w+)\s*(?:,\s*(\w+))?\s*\)?\s+in\s+([\s\S]+)$/,At=(e,n,t,s)=>{let[o,...i]=n.slice(1).split("."),r=new Set(i);e.addEventListener(o,l=>{if(r.has("self")&&l.target!==e)return;r.has("prevent")&&l.preventDefault(),r.has("stop")&&l.stopPropagation();let c=j(t,s,{$event:l});typeof c=="function"&&c.call(e,l)},{once:r.has("once"),capture:r.has("capture")})},jt=(e,n,t,s)=>{let[o,...i]=n.slice(1).split("."),r=new Set(i),l=c=>{r.has("prevent")&&c.preventDefault(),r.has("stop")&&c.stopPropagation(),r.has("once")&&e.off(o,l),z(()=>{let d=j(t,s,{$event:c});typeof d=="function"&&d(c)})};e.on(o,l)},te=e=>e.replace(/-(\w)/g,(n,t)=>t.toUpperCase()),me=e=>e instanceof DocumentFragment?{first:e.firstChild,last:e.lastChild}:{first:e,last:e},ne=({first:e,last:n})=>{for(let t=e;t;){let s=t===n?null:t.nextSibling;t.parentNode?.removeChild(t),t=s}},_t=({first:e,last:n},t)=>{let s=t.nextSibling;for(let o=e;o;){let i=o===n?null:o.nextSibling;t.parentNode.insertBefore(o,s),o=i}},Fe=(e,n)=>{let t=n.replace(/-/g,"").toLowerCase();for(let s=e;s&&s!==Object.prototype;s=Object.getPrototypeOf(s))for(let o of Object.keys(s))if(/^[A-Z]/.test(o)&&o.replace(/-/g,"").toLowerCase()===t)return o;return null},Ie=200,he=0,We=(e,n,t,s,o)=>{let i=document.createComment(e),r=document.createComment(`/${e}`),l=document.createDocumentFragment();l.append(i,r);let c={},d={},p=[],m=[],b=!1;Object.entries(n.attrs).forEach(([a,f])=>{if(a!==be){if(a===":props"||a.startsWith(":props.")){b=!0,m.push({expr:f});return}if(!Xe(a))if(a.startsWith("@"))p.push([a,f]);else if(a===":model"||a.startsWith(":model.")){let u=a===":model"?"default":te(a.slice(7));d[u]=f||(a===":model"?"model":u)}else if(a.startsWith(":")){let u=te(a.slice(1));c[u]=f||u,m.push({name:u,expr:f||u})}else{let u=te(a),E=JSON.stringify(f);c[u]=E,m.push({name:u,expr:E})}}});let T=a=>a==="default"?":model":`:model.${a}`,A=a=>a==="default"?"model":a,y=a=>`${a}
9
+ = $value`;Object.entries(d).forEach(([a,f])=>{let u=A(a);c[u]!==void 0&&console.warn(`jq79: <${n.tag}> binds prop "${u}" through both :${u} and ${T(a)} - ${T(a)} wins`),c[u]=f,Ke(y(f),["$value"])===null&&console.warn(`jq79: ${T(a)}="${f}" is not assignable - updates from <${n.tag}> will be dropped`)});let $=()=>{let a={};return m.forEach(({name:f,expr:u})=>{if(f!==void 0)a[f]=j(u,t);else{let E=j(u,t);E!==null&&typeof E=="object"&&Object.assign(a,E)}}),Object.entries(d).forEach(([f,u])=>{a[A(f)]=j(u,t)}),a},h=null,g=null,w=null,S=new Set,v=a=>{if(a==null){if(!t[et]?.has(e)||S.has("unfilled"))return;S.add("unfilled"),console.error(`jq79: <${n.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}S.has("type")||(S.add("type"),console.error(`jq79: <${n.tag}> is ${typeof a}, not a component - nothing renders here`))};return s.effect(()=>{let a=j(e,t),f=a instanceof I?a:null;if(f||v(a),f===g||(w?.dispose(),w=null,h?.destroy(),h=null,g=f,!f))return;let u=new I({template:f.template,scripts:f.scripts,styles:f.styles,modules:f.modules,filename:f.filename,siblings:f.siblings,name:f.name});if(Object.keys(d).length){let _=new Set,x=(L,O)=>{_.has(L)||(_.add(L),console.warn(O))};u.on("model:update",(L,O)=>{if(O===null||typeof O!="object"){x("payload",`jq79: model:update expects a { name?, value } payload, got ${O===null?"null":typeof O}`);return}let oe=O.name==null?"default":te(String(O.name)),Se=d[oe];if(Se===void 0){x(oe,`jq79: <${n.tag}> has no ${T(oe)} - bound: ${Object.keys(d).map(T).join(", ")}`);return}z(()=>j(y(Se),t,{$value:O.value}))})}p.forEach(([_,x])=>jt(u,_,x,t));let E=z($),C=document.createDocumentFragment();if(he>=Ie){console.error(`jq79: <${n.tag}> is ${Ie} levels deep inside itself; giving up here. A component that renders itself stops when its data stops - is there a cycle in it?`);return}he++;try{(o?u.renderShadow(E):u.render(E)).mount(C)}finally{he--}r.parentNode.insertBefore(C,r);let R=q(t);if(b){let _=[];R.effect(()=>{let x=$(),L=Object.keys(x);_.forEach(O=>{O in x||(u.data[O]=void 0)}),L.forEach(O=>{u.data[O]=x[O]}),_=L})}else Object.entries(c).forEach(([_,x])=>{R.effect(()=>{u.data[_]=j(x,t)})});w=R,h=u}),s.onDispose(()=>{w?.dispose(),h?.destroy()}),l},Nt=(e,n)=>{let t=()=>{let s=j(e,n);return s!==null&&typeof s=="object"?s:null};return new Proxy(n,{has(s,o){let i=t();return i!==null&&Reflect.has(i,o)||Reflect.has(s,o)},get(s,o){let i=t();return i!==null&&Reflect.has(i,o)?i[o]:Reflect.get(s,o)},set(s,o,i){let r=t();return r!==null&&Reflect.has(r,o)?(r[o]=i,!0):Reflect.set(s,o,i)}})},G=e=>typeof e=="string"?e.split(/\s+/).filter(Boolean):Array.isArray(e)?e.flatMap(G):e!==null&&typeof e=="object"?Object.entries(e).flatMap(([n,t])=>t?G(n):[]):[],Ot=e=>typeof e=="function"?(n,t,s)=>{try{return!!e(n,t,s)}catch{return!1}}:typeof e=="string"||Array.isArray(e)?xe(e):()=>!1,ye=(e,n,t,s)=>{let o=e.attrs[":with"],i=o!==void 0?Nt(o,n):n,r=Fe(i,e.tag);if(r)return We(r,e,i,t,s);let l=document.createElement(e.tag);if(l instanceof HTMLUnknownElement||e.tag.includes("-")){let y=!1;t.effect(()=>{if(y)return;let $=Fe(i,e.tag);if(!$)return;y=!0;let h=We($,e,i,t,s),g=me(h);t.onDispose(()=>ne(g)),l.replaceWith(h)})}Object.entries(e.attrs).forEach(([y,$])=>{y.startsWith("@")?At(l,y,$,i):y===":model"||y.startsWith(":model.")?l instanceof HTMLUnknownElement||e.tag.includes("-")||console.warn(`jq79: ${y} on <${e.tag}> does nothing - :model binds component tags only (for now)`):Xe(y)||l.setAttribute(y,$)});let c=e.attrs[":attrs"];if(c!==void 0){let y=[];t.effect(()=>{y.forEach(h=>l.removeAttribute(h));let $=j(c,i);y=$&&typeof $=="object"?Object.keys($):[],y.forEach(h=>{let g=$[h];g!=null&&g!==!1&&l.setAttribute(h,String(g))})})}let d=e.attrs[":class"],p=Object.entries(e.attrs).filter(([y])=>y.startsWith(":class.")).map(([y,$])=>[y.slice(7),$]);if(d!==void 0||p.length){let y=new Set(G(e.attrs.class??"")),$=[];t.effect(()=>{let h=d!==void 0?G(j(d,i)):[];p.forEach(([g,w])=>{j(w,i)&&h.push(...G(g))}),$.forEach(g=>{!h.includes(g)&&!y.has(g)&&l.classList.remove(g)}),l.classList.add(...h),$=h})}let m=e.attrs[":text"],b=e.attrs[":html"],T=e.attrs[":html.allowed"];T!==void 0&&b===void 0&&console.warn("jq79: :html.allowed without :html on the same element does nothing"),m!==void 0?t.effect(()=>{l.textContent=String(j(m,i)??"")}):b!==void 0?t.effect(()=>{let y=T!==void 0?{allowUrl:Ot(j(T,i))}:void 0;l.innerHTML=Ce(String(j(b,i)??""),y)}):l.appendChild(Ee(e.children,i,t,s));let A=e.attrs[":value"];return A!==void 0&&t.effect(()=>{let y=String(j(A,i)??"");l.value!==y&&(l.value=y)}),[":checked",":selected"].forEach(y=>{let $=e.attrs[y];if($===void 0)return;let h=y.slice(1);t.effect(()=>{l[h]=!!j($,i)})}),l},vt=(e,n,t,s)=>{let o=document.createComment("if"),i=document.createDocumentFragment();i.appendChild(o);let r=null,l=null,c=null;return t.effect(()=>{let d=e.find(m=>m.expr===void 0||j(m.expr,n))??null;if(d===l||(c?.dispose(),r&&ne(r),r=null,l=d,!d))return;c=q(n);let p=ye(d.node,n,c,s);r=me(p),o.parentNode.insertBefore(p,o.nextSibling)}),i},Z=(e,n,t)=>{Object.defineProperty(e,n,{value:t,writable:!0,enumerable:!0,configurable:!0})},Lt=e=>{if(e===null||typeof e!="object"||Array.isArray(e))return!1;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null},Pt=(e,n,t,s)=>{let o=e.attrs[":each"].match(Ct);if(!o)return document.createComment(`invalid :each expression "${e.attrs[":each"]}"`);let[,i,r,l]=o,c=e.attrs[":key"],{[":each"]:d,[":key"]:p,...m}=e.attrs,b={...e,attrs:m},T=document.createComment("each"),A=document.createDocumentFragment();A.appendChild(T),(":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 y=[],$=!1;return t.effect(()=>{let h=j(l,n),g=Array.isArray(h)?h.map((u,E)=>[E,u]):Lt(h)?Object.entries(h):[],w=new Map;y.forEach(u=>{let E=w.get(u.key);E?E.push(u):w.set(u.key,[u])});let S=new Set,v=[],a=g.map(([u,E],C)=>{let R=Object.create(n);Z(R,i,E),r&&Z(R,r,u),Z(R,"$index",C);let _=c!==void 0?j(c,R):u;S.has(_)&&!$&&($=!0,console.warn(`jq79: duplicate :key in :each "${e.attrs[":each"]}"; duplicates pair up by position`)),S.add(_);let x=w.get(_)?.shift();if(x&&Object.is(x.item,E))return x.scope.$index!==C&&v.push(x),Z(x.scope,"$index",C),r&&Z(x.scope,r,u),x;x&&(x.fx.dispose(),ne(x.range));let L=q(n),O=me(ye(b,R,L,s));return{key:_,item:E,scope:R,fx:L,range:O}});w.forEach(u=>u.forEach(E=>{E.fx.dispose(),ne(E.range)}));let f=T;a.forEach(u=>{f.nextSibling!==u.range.first&&_t(u.range,f),f=u.range.last}),v.forEach(u=>z(()=>u.fx.refresh())),y=a}),A},Ee=(e,n,t,s=!1)=>{let o=document.createDocumentFragment(),i=0;for(;i<e.length;){let r=e[i];if(typeof r=="string"){let l=document.createTextNode(r);r.includes("{{")&&t.effect(()=>{l.textContent=xt(r,n)}),o.appendChild(l),i++;continue}if(":each"in r.attrs){o.appendChild(Pt(r,n,t,s)),i++;continue}if(":if"in r.attrs){let l=[{expr:r.attrs[":if"],node:r}];i++;let c=p=>{let m=i;for(;m<e.length&&typeof e[m]=="string"&&!e[m].trim();)m++;let b=e[m];if(typeof b=="object"&&p in b.attrs)return i=m+1,b};for(let p=c(":elseif");p;p=c(":elseif"))l.push({expr:p.attrs[":elseif"],node:p});let d=c(":else");d&&l.push({node:d}),o.appendChild(vt(l,n,t,s));continue}o.appendChild(ye(r,n,t,s)),i++}return o},un=(e,n,t=!1)=>Ee(e.template,n,q(n),t),Mt=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Dt=/<([A-Za-z][\w-]*)((?:"[^"]*"|'[^']*'|[^>"'])*?)\/>/g,Je=/(<script[\s\S]*?<\/script\s*>|<style[\s\S]*?<\/style\s*>)/gi,Ut=e=>e.split(Je).map((n,t)=>t%2===1?n:n.replace(Dt,(s,o,i)=>Mt.has(o.toLowerCase())?s:`<${o}${i}></${o}>`)).join(""),Ft=/<([A-Za-z][\w-]*)((?:"[^"]*"|'[^']*'|[^>"'])*)>/g,It=/"[^"]*"|'[^']*'|(^|\s)\.\.\.([A-Za-z_$][\w$.]*)/g,Wt=e=>e.split(Je).map((n,t)=>t%2===1?n:n.replace(Ft,(s,o,i)=>{let r=0,l=i.replace(It,(c,d,p)=>p===void 0?c:`${d}:props.${r++}="${p}"`);return`<${o}${l}>`})).join(""),be="data-jq79",kt=e=>{let n=2166136261;for(let t=0;t<e.length;t++)n=Math.imul(n^e.charCodeAt(t),16777619);return(n>>>0).toString(36)},Ve=(e,n)=>{e.forEach(t=>{typeof t!="string"&&(t.attrs[be]=n,Ve(t.children,n))})},qt=(e,n)=>e.split(",").map(t=>{let s=t.trim(),o=s.indexOf("::"),i=o===-1?s:s.slice(0,o),r=o===-1?"":s.slice(o);return`${i}[${be}="${n}"]${r}`}).join(", "),Qe=(e,n)=>{Array.from(e).forEach(t=>{t instanceof CSSStyleRule?t.selectorText=qt(t.selectorText,n):t instanceof CSSGroupingRule&&Qe(t.cssRules,n)})},Ht=(e,n)=>{/: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 t=new CSSStyleSheet;return t.replaceSync(e),Qe(t.cssRules,n),Array.from(t.cssRules).map(s=>s.cssText).join(`
10
+ `)},Bt=/^[A-Z][A-Za-z0-9]*$/,ge=e=>{let n=Ut(Wt(e)),s=new DOMParser().parseFromString(`<template>${n}</template>`,"text/html").querySelector("template"),o=[],i=[];Array.from(s.content.children).forEach(c=>{c.tagName==="TEMPLATE"?i.push(c):o.push(c)});let r=ke(o,e),l={};return i.forEach(c=>{let d=c.getAttribute("name");if(d===null){console.warn("jq79: a top-level <template> without a name declares nothing and was ignored");return}if(!Bt.test(d)){console.warn(`jq79: <template name="${d}"> was ignored - a component name has to be PascalCase, or no tag could ever reference it (only capitalized names resolve as components)`);return}if(d in l){console.warn(`jq79: two <template name="${d}"> in one file; the second was ignored`);return}l[d]=new I({...ke(Array.from(c.content.children),c.innerHTML),siblings:l,name:d})}),Object.keys(l).length&&(r.siblings=l),r},ke=(e,n)=>{let t=[],s=[],o=[];e.forEach(r=>{let l={attrs:Ze(r),content:r.textContent??""};r.tagName==="SCRIPT"?t.push(l):r.tagName==="STYLE"?s.push(l):o.push(Ge(r))}),s.forEach(r=>{"lang"in r.attrs&&console.warn(`jq79: <style lang="${r.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=r=>"scoped"in r.attrs&&!("lang"in r.attrs);if(s.some(i)){let r=kt(n);Ve(o,r),s.forEach(l=>{i(l)&&(l.scoped=Ht(l.content,r))})}return{template:o,scripts:t,styles:s}},we=e=>/\.html?([?#]|$)/.test(e)?I.fetch(e):import(e),Ye=(e,n)=>e?`
11
+ //# sourceURL=${e}?jq79-script=${n}`:"",qe=e=>e.scoped??e.content,se=new Map,zt=e=>{let n=se.get(e);if(!n){let t=document.createElement("style");t.textContent=e,document.head.appendChild(t),n={el:t,count:0},se.set(e,n)}n.count++},Zt=e=>{let n=se.get(e);n&&--n.count<=0&&(n.el.remove(),se.delete(e))},Gt=(e,n,t,s={},o=we,i={})=>{let r={...tt,...s},l=new Proxy(n,{has:(d,p)=>p!=="$__effect"&&p!=="$__import"&&(Reflect.has(d,p)||!(p in globalThis)&&!(p in r))});new Function("$scope","$__effect","$__import",...Object.keys(r),`return (async () => { with ($scope) { ${e} } })()${Ye(i.filename,i.index??0)}`)(l,t,o,...Object.values(r)).catch(d=>console.error("jq79: error in :setup script",d))},He=(e,n)=>{n?.forEach(({name:t,default:s})=>{e[t]===void 0&&(e[t]=s===void 0?void 0:j(s,e))})},Kt=e=>{let n=new Set;return e.forEach(t=>{(pe(t.content)??ee(t.attrs[":setup"]))?.forEach(({name:o})=>n.add(o))}),n},Xt=(e,n)=>{if(!e)return null;let t=Object.create(null),s=!1;return Object.entries(e).forEach(([o,i])=>{n.has(o)||(t[o]=i,s=!0)}),s?t:null},et=Symbol("jq79.unfilledProps"),Jt=e=>e&&e.default!==void 0?e.default:e,Vt=(e,n,t,s={},o=we,i={})=>{let r={...tt,...s},l={},c=new Function("$__exports","$__default","$__import",...Object.keys(r),`return (async () => { "use strict";
12
+ ${e}
13
+ ;$__exports.done = true })()${Ye(i.filename,i.index??0)}`)(l,Jt,o,...Object.values(r)),d=b=>console.error("jq79: error in factory script",b),p=!1,m=()=>{if(p)return;p=!0;let b=l.default;if(typeof b!="function")return;let T=A=>{A&&typeof A=="object"&&Object.assign(n,A)};try{let A=b(n,{$data:n,$props:n,$effect:t,...s});A instanceof Promise?A.then(T).catch(d):T(A)}catch(A){d(A)}};c.then(m,d),l.done&&m()},Qt="__JQ79_HMR_ENABLED__",Yt="__JQ79_HMR__",W=null,en=e=>{if(!W||!e.filename)return;let n=W.get(e.filename);n||W.set(e.filename,n=new Set),n.add(new WeakRef(e))},Be=e=>{try{return new URL(e,document.baseURI).pathname}catch{return e}},tn=(e,n)=>{if(!W)return 0;let t=Be(e),s=ge(n),o=!1,i=l=>l.name===void 0?s:s.siblings?.[l.name]??null,r=0;for(let[l,c]of W)if(Be(l)===t){for(let d of c){let p=d.deref();if(!p){c.delete(d);continue}let m=i(p);if(!m){o=!0;continue}p.hotReplace(m)&&r++}c.size||W.delete(l)}return o?0:r},nn=()=>{W??(W=new Map),globalThis[Yt]={update:tn}},ze=async e=>{let n=await fetch(e);if(!n.ok)throw new Error(`failed to fetch component from ${e}: ${n.status}`);return new I(await n.text(),{filename:e})},I=class{constructor(n,t={}){N(this,"template");N(this,"scripts");N(this,"styles");N(this,"modules");N(this,"filename");N(this,"siblings");N(this,"name");N(this,"data",null);N(this,"fx",null);N(this,"content",null);N(this,"startMarker",null);N(this,"endMarker",null);N(this,"styleEls",[]);N(this,"ownsSharedStyles",!1);N(this,"useShadow",!1);N(this,"mountRoot",null);N(this,"resolveMounted",null);N(this,"emitListeners",new Map);let s=typeof n=="string"?ge(n):n;this.template=s.template,this.scripts=s.scripts,this.styles=s.styles,this.modules=t.modules??(typeof n=="string"?void 0:n.modules),this.filename=t.filename??(typeof n=="string"?void 0:n.filename),this.siblings=s.siblings,this.name=s.name,this.adoptSiblings(),en(this)}adoptSiblings(){this.siblings&&Object.entries(this.siblings).forEach(([n,t])=>{t.filename??(t.filename=this.filename),t.modules??(t.modules=this.modules),this.name||(this[n]=t)})}hotReplace(n){let t=typeof n=="string"?ge(n):n,s=this.startMarker,o=!!(s&&this.content),i=o&&s.isConnected,r=i?s.parentNode:null,l=i?this.endMarker.nextSibling:null,c={...this.data},d=this.useShadow;return o&&this.destroy(),this.template=t.template,this.scripts=t.scripts,this.styles=t.styles,this.siblings=t.siblings,this.adoptSiblings(),!o||(this.renderWith(c,d),!r)?!1:(d&&this.styleEls.forEach(p=>r.insertBefore(p,l)),r.insertBefore(this.content,l),this.mountRoot=r,this.resolveMounted?.(),!0)}static fetch(n){return Array.isArray(n)?Promise.all(n.map(ze)):ze(n)}on(n,t){return this.emitListeners.has(n)||this.emitListeners.set(n,new Set),this.emitListeners.get(n).add(t),this}off(n,t){return this.emitListeners.get(n)?.delete(t),this}render(n={}){return this.renderWith(n,!1)}renderShadow(n={}){return this.renderWith(n,!0)}renderWith(n,t){this.destroy();let s=Kt(this.scripts),o=Xt(this.siblings,s),i=o?Object.assign(Object.create(o),n):{...n},r=new Set([...s].filter(a=>!(a in n)));r.size&&Object.defineProperty(i,et,{value:r});let l=X(i),c=q(l);this.data=l,this.fx=c,this.useShadow=t,this.startMarker=document.createComment("jq79"),this.endMarker=document.createComment("/jq79");let d=this.startMarker,p=(a,f)=>{let u=new CustomEvent(a,{detail:f,bubbles:!0,composed:!0,cancelable:!0});return d===this.startMarker&&this.emitListeners.get(a)?.forEach(E=>E(u,f)),u.cancelBubble||d.dispatchEvent(u),!u.defaultPrevented},m,b=new Promise(a=>{m=a});this.resolveMounted=m;let T=()=>b,A=this.endMarker,y=a=>{let f=[];for(let u=d.nextSibling;u&&u!==A;u=u.nextSibling)u instanceof Element&&(u.matches(a)&&f.push(u),f.push(...Array.from(u.querySelectorAll(a))));return f},$=a=>y(a)[0]??null,h=this.modules,g=a=>h&&a in h?Promise.resolve(h[a]):we(a),w=a=>`await $mounted();${a}`;this.scripts.forEach((a,f)=>{let u={$emit:p,$mounted:T,$self:$,$$self:y,...o},E={filename:this.filename,index:f},C=De(a.content);if(C!==null){He(l,pe(a.content));let L=":mounted"in a.attrs?w(C):C;Vt(L,l,c.effect,u,g,E);return}let{vars:R,code:_}=Y(a.content);He(l,ee(a.attrs[":setup"])),R.forEach(L=>{L in l||(l[L]=void 0)});let x=":mounted"in a.attrs?w(_):_;Gt(x,l,c.effect,u,g,E)});let S=document.createDocumentFragment(),v=new Proxy(l,{has:(a,f)=>f==="$emit"||Reflect.has(a,f),get:(a,f,u)=>f==="$emit"&&!Reflect.has(a,f)?p:Reflect.get(a,f,u)});return S.append(this.startMarker,Ee(this.template,v,c,t),this.endMarker),this.content=S,t?this.styleEls=this.styles.map(a=>{let f=document.createElement("style");return f.textContent=a.content,f}):(this.styles.forEach(a=>zt(qe(a))),this.ownsSharedStyles=!0),this}mount(n,t){let s=typeof n=="string"?H(n):n;if(!s)throw new Error(`mount target not found: ${n}`);return(!this.content||t!==void 0)&&this.renderWith(t??{},this.useShadow),this.attach(s)}mountShadow(n,t){let s=typeof n=="string"?H(n):n;if(!s)throw new Error(`mount target not found: ${n}`);return(!this.content||t!==void 0||!this.useShadow)&&this.renderWith(t??{},!0),this.attach(s)}attach(n){this.mountRoot&&this.detach();let t=this.useShadow&&n instanceof Element?n.shadowRoot??n.attachShadow({mode:"open"}):n;return this.useShadow&&this.styleEls.forEach(s=>t.appendChild(s)),t.appendChild(this.content),this.mountRoot=t,this.resolveMounted?.(),this}detach(){if(!this.mountRoot||!this.content||!this.startMarker||!this.endMarker)return this;let n=this.startMarker;for(;n;){let t=n.nextSibling;if(this.content.appendChild(n),n===this.endMarker)break;n=t}return this.mountRoot=null,this}destroy(){return this.detach(),this.fx?.dispose(),this.fx=null,this.data?.$dispose(),this.styleEls.forEach(n=>n.parentNode?.removeChild(n)),this.styleEls=[],this.ownsSharedStyles&&(this.styles.forEach(n=>Zt(qe(n))),this.ownsSharedStyles=!1),this.content=null,this.startMarker=null,this.endMarker=null,this.data=null,this.resolveMounted=null,this}};var dn=e=>new I(e),tt={$:H,$$:re,$create:ie,$reactive:X,Component79:I};typeof globalThis<"u"&&globalThis[Qt]&&nn();export{H as $,re as $$,ie as $create,X as $reactive,I as C79,I as Component79,nn as enableHotReload,tn as hotUpdate,dn as parseComponent,un as renderComponent};
14
14
  //# sourceMappingURL=jq79.js.map