@hozu/runtime-client 0.11.0 → 0.13.0

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.
@@ -1 +1 @@
1
- var I=function(f,t){return typeof f=="string"&&/^\.\.?\//.test(f)?f.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(d,a,o,i,e){return a?t?".jsx":".js":o&&(!i||!e)?d:o+i+"."+e.toLowerCase()+"js"}):f},O=Symbol.for("hozu.fetchFail");function j(f,t,d=f,a=""){let o=[],i=a||"(root)",e=f;typeof e.$ref=="string"&&(e=e.$ref.split("/").slice(1).reduce((r,p)=>r?.[p],d)??{});let h=e.anyOf??e.oneOf;if(Array.isArray(h)){for(let r of h){let p=j(r,t,d,a);if(!p.issues.length)return p}return{issues:[`${i}: matches none of the allowed shapes`],value:t}}"const"in e&&t!==e.const&&o.push(`${i}: expected ${JSON.stringify(e.const)}`),Array.isArray(e.enum)&&!e.enum.includes(t)&&o.push(`${i}: expected one of ${e.enum.join(", ")}`);let b=e.type===void 0?[]:Array.isArray(e.type)?e.type:[e.type],k=r=>r==="null"?t===null:r==="array"?Array.isArray(t):r==="integer"?Number.isInteger(t):r==="object"?typeof t=="object"&&t!==null&&!Array.isArray(t):typeof t===r;if(b.length&&!b.some(k))return{issues:[`${i}: expected ${b.join(" or ")}`],value:t};if(typeof t=="string"&&(e.minLength!==void 0&&t.length<e.minLength&&o.push(`${i}: too short`),e.maxLength!==void 0&&t.length>e.maxLength&&o.push(`${i}: too long`),e.pattern&&!new RegExp(e.pattern).test(t)&&o.push(`${i}: does not match ${e.pattern}`)),typeof t=="number"&&(e.minimum!==void 0&&t<e.minimum&&o.push(`${i}: below ${e.minimum}`),e.maximum!==void 0&&t>e.maximum&&o.push(`${i}: above ${e.maximum}`)),Array.isArray(t)){if(!e.items)return{issues:o,value:t};let r=t.map((p,c)=>{let g=j(e.items,p,d,`${a}${a?".":""}${c}`);return o.push(...g.issues),g.value});return{issues:o,value:r}}if(typeof t=="object"&&t!==null&&e.properties){let r=t,p={};for(let c of e.required??[])c in r||o.push(`${a}${a?".":""}${c}: required`);for(let[c,g]of Object.entries(e.properties))if(c in r){let n=j(g,r[c],d,`${a}${a?".":""}${c}`);o.push(...n.issues),p[c]=n.value}if(e.additionalProperties&&typeof e.additionalProperties=="object")for(let c of Object.keys(r))c in p||(p[c]=r[c]);return{issues:o,value:p}}return{issues:o,value:t}}var x=f=>({ok:!1,error:"Unexpected",data:{message:f}});function S(f,t,d,a,o=i=>import(I(i))){let i=f.effects??{},e=new Map,h=new Set;globalThis.addEventListener?.("pagehide",()=>{for(let n of h)n.abort()});let b=n=>{let u=e.get(n);if(!u){let s=f.fetches?.[n];u=s?o(s):Promise.reject(new Error(`No fetch bundle for ${n}`)),e.set(n,u)}return u},k=(n,u)=>(i[n]?.tags??[]).map(s=>s.param?`${s.tag}(${a.stringify(a.compile(s.param,t)({input:u}))})`:s.tag);async function r(n,u){let s=i[n];if(!s)return x(`${n} does not run in the browser`);let l=j(s.input,u);if(l.issues.length)return s.kind==="mutation"?{ok:!1,error:"Invalid",data:{message:l.issues.join("; "),fields:{}}}:x(`Invalid input: ${l.issues.join("; ")}`);let $=n.indexOf("."),m=new AbortController;h.add(m);try{let y=(await b(n.slice(0,$)))[n.slice($+1)];if(typeof y!="function")return x(`fetch.ts exports no ${n.slice($+1)}`);let w=await y(l.value,{fail:(E,L)=>{throw{[O]:{error:E,data:L}}},signal:m.signal,env:f.env??{}}),A=j(s.output,w);return A.issues.length?x(`${n} returned a value that does not match its output: ${A.issues.join("; ")}`):{ok:!0,value:A.value}}catch(y){let w=y?.[O];return w?{ok:!1,error:w.error,data:w.data??null}:x(y instanceof Error?y.message:String(y))}finally{h.delete(m)}}let p=n=>i[n]?.kind==="query";async function c(n){let u=!1;for(let s of[...d.data.keys()]){let l=Object.keys(i).find(m=>p(m)&&s.startsWith(m)&&'{["tfn0123456789-'.includes(s[m.length]??""));if(!l)continue;let $=JSON.parse(s.slice(l.length));k(l,$).some(m=>n.includes(m))&&(d.data.set(s,await r(l,$)),d.versions.set(s,(d.versions.get(s)??0)+1),u=!0)}return u}async function g(n,u){let s=await r(n,u);return{result:s,changed:s.ok?await c(k(n,u)):!1}}return{run:r,mutate:g,reread:c,runs:n=>n in i}}export{j as checked,S as createRunner};
1
+ var I=function(f,t){return typeof f=="string"&&/^\.\.?\//.test(f)?f.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(d,a,o,i,e){return a?t?".jsx":".js":o&&(!i||!e)?d:o+i+"."+e.toLowerCase()+"js"}):f},O=Symbol.for("hozu.fetchFail");function j(f,t,d=f,a=""){let o=[],i=a||"(root)",e=f;typeof e.$ref=="string"&&(e=e.$ref.split("/").slice(1).reduce((r,p)=>r?.[p],d)??{});let h=e.anyOf??e.oneOf;if(Array.isArray(h)){for(let r of h){let p=j(r,t,d,a);if(!p.issues.length)return p}return{issues:[`${i}: matches none of the allowed shapes`],value:t}}"const"in e&&t!==e.const&&o.push(`${i}: expected ${JSON.stringify(e.const)}`),Array.isArray(e.enum)&&!e.enum.includes(t)&&o.push(`${i}: expected one of ${e.enum.join(", ")}`);let b=e.type===void 0?[]:Array.isArray(e.type)?e.type:[e.type],k=r=>r==="null"?t===null:r==="array"?Array.isArray(t):r==="integer"?Number.isInteger(t):r==="object"?typeof t=="object"&&t!==null&&!Array.isArray(t):typeof t===r;if(b.length&&!b.some(k))return{issues:[`${i}: expected ${b.join(" or ")}`],value:t};if(typeof t=="string"&&(e.minLength!==void 0&&t.length<e.minLength&&o.push(`${i}: too short`),e.maxLength!==void 0&&t.length>e.maxLength&&o.push(`${i}: too long`),e.pattern&&!new RegExp(e.pattern).test(t)&&o.push(`${i}: does not match ${e.pattern}`)),typeof t=="number"&&(e.minimum!==void 0&&t<e.minimum&&o.push(`${i}: below ${e.minimum}`),e.maximum!==void 0&&t>e.maximum&&o.push(`${i}: above ${e.maximum}`)),Array.isArray(t)){if(!e.items)return{issues:o,value:t};let r=t.map((p,c)=>{let g=j(e.items,p,d,`${a}${a?".":""}${c}`);return o.push(...g.issues),g.value});return{issues:o,value:r}}if(typeof t=="object"&&t!==null&&e.properties){let r=t,p={};for(let c of e.required??[])c in r||o.push(`${a}${a?".":""}${c}: required`);for(let[c,g]of Object.entries(e.properties))if(c in r){let n=j(g,r[c],d,`${a}${a?".":""}${c}`);o.push(...n.issues),p[c]=n.value}if(e.additionalProperties&&typeof e.additionalProperties=="object")for(let c of Object.keys(r))c in p||(p[c]=r[c]);return{issues:o,value:p}}return{issues:o,value:t}}var x=f=>({ok:!1,error:"Unexpected",data:{message:f}});function S(f,t,d,a,o=i=>import(I(i))){let i=f.effects??{},e=new Map,h=new Set;globalThis.addEventListener?.("pagehide",()=>{for(let n of h)n.abort()});let b=n=>{let u=e.get(n);if(!u){let s=f.fetches?.[n];u=s?o(s):Promise.reject(new Error(`No fetch bundle for ${n}`)),e.set(n,u)}return u},k=(n,u)=>(i[n]?.tags??[]).map(s=>s.param?`${s.tag}(${a.stringify(a.compile(s.param,t)({input:u}))})`:s.tag);async function r(n,u){let s=i[n];if(!s)return x(`${n} does not run in the browser`);let l=j(s.input,u);if(l.issues.length)return s.kind==="mutation"?{ok:!1,error:"Invalid",data:{message:l.issues.join("; "),fields:{}}}:x(`Invalid input: ${l.issues.join("; ")}`);let $=n.indexOf("."),m=new AbortController;h.add(m);try{let y=(await b(n.slice(0,$)))[n.slice($+1)];if(typeof y!="function")return x(`fetch.ts exports no ${n.slice($+1)}`);let w=await y(l.value,{fail:(E,L)=>{throw{[O]:{error:E,data:L}}},signal:m.signal,env:f.env??{}}),A=j(s.output,w);return A.issues.length?x(`${n} returned a value that does not match its output: ${A.issues.join("; ")}`):{ok:!0,value:A.value}}catch(y){let w=y?.[O];return w?{ok:!1,error:w.error,data:w.data??null}:x(y instanceof Error?y.message:String(y))}finally{h.delete(m)}}let p=n=>i[n]?.kind==="query";async function c(n){let u=!1;for(let s of[...d.data.keys()]){let l=Object.keys(i).find(m=>p(m)&&s.startsWith(m)&&'{["tfn0123456789-'.includes(s[m.length]??""));if(!l)continue;let $=JSON.parse(s.slice(l.length));k(l,$).some(m=>n.includes(m))&&(d.data.set(s,await r(l,$)),d.versions.set(s,(d.versions.get(s)??0)+1),u=!0)}return u}async function g(n,u){let s=await r(n,u),l=s.ok?k(n,u):[];return{result:s,changed:l.length?await c(l):!1,tags:l}}return{run:r,mutate:g,reread:c,runs:n=>n in i}}export{j as checked,S as createRunner};
@@ -1 +1 @@
1
- var St=JSON.stringify;function et(t){if(t===null)return"null";switch(typeof t){case"string":return St(t);case"boolean":return t?"true":"false";case"number":if(!Number.isFinite(t))throw new TypeError(`Non-finite number ${t} is not valid JSON`);return Object.is(t,-0)?"0":String(t);case"object":{if(Array.isArray(t))return`[${t.map(et).join(",")}]`;let e=t,r=Object.keys(e).sort(),o="{";for(let s=0;s<r.length;s++){let a=r[s],u=e[a];if(u===void 0)throw new TypeError(`Undefined value at key "${a}"`);o+=`${s?",":""}${St(a)}:${et(u)}`}return`${o}}`}default:throw new TypeError(`Value of type ${typeof t} is not valid JSON`)}}function q(t,e){let r=t;for(let o of e){if(typeof r=="string"&&o==="length")return r.length;if(r===null||typeof r!="object")return null;r=r[o]}return r===void 0?null:r}function Z(t,e,r,o=0){if(o===e.length)return r;let s=e[o];if(Array.isArray(t)){let u=t.slice();return u[Number(s)]=Z(t[Number(s)]??null,e,r,o+1),u}let a=t!==null&&typeof t=="object"?t:{};return{...a,[s]:Z(a[s]??null,e,r,o+1)}}function J(t,e){if(t===e)return!0;if(t===null||e===null||typeof t!="object"||typeof e!="object")return!1;if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let o=0;o<t.length;o++)if(!J(t[o],e[o]))return!1;return!0}if(Array.isArray(e))return!1;let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!1;for(let o of r)if(!Object.hasOwn(e,o)||!J(t[o],e[o]))return!1;return!0}var ut=(t,e,r)=>{let[o="",s=""]=t.split("?"),a=o.replace(/\/:([A-Za-z]\w*)[?*+]?/g,(j,b)=>[q(e,[b])??[]].flat().map(N=>`/${encodeURIComponent(String(N))}`).join(""))||"/",u=s.split("&"),d="";if(r&&typeof r=="object")for(let j of Object.keys(r).sort()){let b=r[j],y=`${encodeURIComponent(j)}=${encodeURIComponent(String(b))}`;b!==null&&typeof b!="object"&&!u.includes(y)&&(d+=`${d&&"&"}${y}`)}return d?`${a}?${d}`:a};var nt=class extends Error{name="CompileError"};function E(t,e){if("literal"in t||"formRef"in t){let a="literal"in t?t.literal:t.formRef;return()=>a}if("object"in t){let a=Object.entries(t.object).map(([u,d])=>[u,E(d,e)]);return u=>{let d={};for(let[j,b]of a)d[j]=b(u);return d}}if("fn"in t){let a=e[t.fn];if(!a)throw new nt(`No implementation bound for fn ${t.fn}`);let u=E(t.arg,e);return d=>a(u(d))}if("link"in t){let a=t.link,u=E(t.params,e),d=E(t.search,e);return j=>ut(j.routes?.[a]??"",u(j),d(j))}if("test"in t){let a=at(t.test,e);return u=>a(u)}if("endpoint"in t){let a=t.endpoint,u=E(t.input??{literal:null},e);return d=>ut(d.routes?.[a]??"",null,u(d))}let r=t,{path:o}=r;if(r.ref==="binding"){let a=r.depth;return o.length?u=>q(u.bindings?.[a],o):u=>u.bindings?.[a]??null}if(r.ref==="dom"){let[a,...u]=o;return d=>d.dom&&a?q(d.dom(a),u)??(a==="formAll"?[]:null):null}let s=r.ref;return o.length===0?a=>a[s]??null:a=>q(a[s],o)}var P=t=>typeof t=="number"||typeof t=="string"?t:Number.NaN;function at(t,e){switch(t.op){case"and":{let r=t.args.map(o=>at(o,e));return o=>r.every(s=>s(o))}case"or":{let r=t.args.map(o=>at(o,e));return o=>r.some(s=>s(o))}case"not":{let r=at(t.arg,e);return o=>!r(o)}case"fn":{let r=E({fn:t.fn,arg:t.arg},e);return o=>r(o)===!0}default:{let r=E(t.left,e),o=E(t.right,e);switch(t.op){case"eq":return s=>J(r(s),o(s));case"neq":return s=>!J(r(s),o(s));case"lt":return s=>P(r(s))<P(o(s));case"lte":return s=>P(r(s))<=P(o(s));case"gt":return s=>P(r(s))>P(o(s));default:return s=>P(r(s))>=P(o(s))}}}}function Ut(t,e){let{path:r}=t,o=E(t.value,e);switch(t.op){case"set":return(s,a)=>Z(s,r,o({...a,context:s}));case"append":return(s,a)=>{let u=q(s,r);return Z(s,r,[...Array.isArray(u)?u:[],o({...a,context:s})])};case"inc":return(s,a)=>Z(s,r,Number(q(s,r)??0)+Number(o({...a,context:s})));case"removeWhere":{let s=t.key;return(a,u)=>{let d=q(a,r),j=o({...u,context:a}),b=Array.isArray(d)?d:[];return Z(a,r,b.filter(y=>!J(s===null?y:y!==null&&typeof y=="object"&&!Array.isArray(y)?y[s]:null,j)))}}}}var qt=(t,e)=>r=>t({...r,routes:e});function gt(t,e={},r={}){let o=t.machine;if(!o)throw new nt(`Feature ${t.id} has no machine`);let s=Object.keys(o.states),a=new Map(s.map((y,N)=>[y,N])),u=y=>{let N=a.get(y);if(N===void 0)throw new nt(`Unknown state "${y}" in ${t.id}`);return N},d=[],j=(y,N)=>(d.push(N),{id:N,guard:y.guard?at(y.guard,e):null,target:u(y.target),assign:y.assign.map(C=>Ut(C,e)),navigate:y.navigate?qt(E(y.navigate,e),r):null}),b=s.map(y=>{let N=o.states[y],C=new Map;for(let[A,k]of Object.entries(N.on))C.set(A,k.map((V,I)=>j(V,`${y}/on/${A}/${I}`)));let D=new Map;N.after.forEach((A,k)=>{let V=j(A.transition,`${y}/after/${k}`);D.set(A.ms,[...D.get(A.ms)??[],V])});let M=N.invoke;return{name:y,final:N.final,on:C,invoke:M&&{effect:M.effect,input:E(M.input,e),done:M.done.map((A,k)=>j(A,`${y}/invoke/done/${k}`)),failed:new Map(Object.entries(M.failed).map(([A,k])=>[A,k.map((V,I)=>j(V,`${y}/invoke/failed/${A}/${I}`))]))},after:D,timers:[...D.keys()].sort((A,k)=>A-k)}});return{feature:t.id,initial:u(o.initial),initialContext:o.initialContext,states:b,index:a,transitions:d}}function jt(t,e,r,o,s){let a=t.states[e];a.invoke&&s.push({type:"invoke",entry:o,effect:a.invoke.effect,input:a.invoke.input({context:r})});for(let u of a.timers)s.push({type:"timer",entry:o,ms:u})}function Ot(t,e,r,o=1){let s=t.index.get(e);if(s===void 0)throw new Error(`Unknown state "${e}" in ${t.feature}`);let a=[];return jt(t,s,r,o,a),{snapshot:{state:e,context:r,entry:o},effects:a,taken:null}}var yt=t=>Ot(t,t.states[t.initial].name,t.initialContext),rt=t=>({snapshot:t,effects:[],taken:null});function pt(t,e,r,o){if(!r)return rt(e);for(let s of r){if(s.guard&&!s.guard(o))continue;let a=e.context;for(let j of s.assign)a=j(a,o);let u=e.entry+1,d=s.navigate===null?[]:[{type:"navigate",url:String(s.navigate(o))}];return jt(t,s.target,a,u,d),{snapshot:{state:t.states[s.target].name,context:a,entry:u},effects:d,taken:s.id}}return rt(e)}function ht(t,e,r){let o=t.states[t.index.get(e.state)??-1];if(!o||o.final)return rt(e);let s=e.context;switch(r.type){case"event":return pt(t,e,o.on.get(r.event),{context:s,event:r.payload});case"done":return r.entry!==e.entry||!o.invoke?rt(e):pt(t,e,o.invoke.done,{context:s,result:r.result});case"failed":{if(r.entry!==e.entry||!o.invoke)return rt(e);let a=o.invoke.failed,u=a.has(r.error),d=u?r.data:{message:Dt(r.data,r.error)};return pt(t,e,a.get(u?r.error:"Unexpected"),{context:s,error:d})}case"timer":return r.entry!==e.entry?rt(e):pt(t,e,o.after.get(r.ms),{context:s})}}function Dt(t,e){return t!==null&&typeof t=="object"&&!Array.isArray(t)&&typeof t.message=="string"?t.message:e}function Nt(t,e){let r=Object.create(null),o=Object.create(null),s=(a,u)=>{let d=typeof u=="string"?u:u.name,j=o[a];j?j.push(d):(o[a]=[d],r[a]=d)};for(let[a,u]of t)s(a,u);return e&&s(...e),{first:r,all:o}}var mt="http://www.w3.org/2000/svg",zt=new Set(["contenteditable","draggable","spellcheck"]),W=t=>t==null?"":typeof t=="object"?JSON.stringify(t):String(t);function $t(t,e){return e==null?null:typeof e=="boolean"?t.startsWith("aria-")||t.startsWith("data-")||zt.has(t)?String(e):e?"":null:W(e)}var At=new Set(["value","checked","selected","muted"]),xt=new Set(["scroll","wheel","touchstart","touchmove","touchend","pointermove","mousemove"]),_t=t=>typeof t=="number"&&!Number.isNaN(t)?t:null,lt=new Map,Bt=t=>t?[...t].map(e=>{let r=`u${lt.size+1}`;return lt.set(r,e),{name:e.name,size:e.size,type:e.type,token:r}}):[],bt=t=>e=>{let r=t.target;switch(e){case"value":return typeof r?.value=="string"?r.value:"";case"checked":return r?.checked===!0;case"valueAsNumber":return _t(r?.valueAsNumber);case"files":return Bt(r?.files??t.dataTransfer?.files);case"form":case"formAll":{let o=t.target,s=o.ownerDocument.defaultView,a=Nt(new(s?.FormData??FormData)(o,t.submitter));return e==="form"?a.first:a.all}case"open":return r?.open===!0;case"returnValue":return typeof r?.returnValue=="string"?r.returnValue:"";default:{let o=e in t?t[e]:r?.[e];return typeof o=="number"?_t(o):typeof o=="string"||typeof o=="boolean"?o:null}}},Tt=(t,e)=>t?e.length?`${t} ${e.join(" ")}`:t:e.join(" ");var kt=t=>{switch(t.op){case"and":case"or":return t.args.some(kt);case"not":return kt(t.arg);case"fn":return G(t.arg);default:return G(t.left)||G(t.right)}},G=t=>"ref"in t?t.ref==="context"||t.ref==="binding":"object"in t?Object.values(t.object).some(G):"fn"in t?G(t.arg):"test"in t&&kt(t.test),Ct=(t,e)=>t+et(e),Ft=t=>t instanceof Map?{data:t,versions:new Map}:t;var ot=(t,e)=>t!==null&&t.nodeType===8&&t.data===e;function K(t,e){let r=[t],o=t;for(;o!==e&&(o=o.nextSibling,!!o);)r.push(o);return r}function wt(t,e){let r=t.next?t.next.previousSibling:t.parent.lastChild;return e(),[r?r.nextSibling:t.parent.firstChild,t.next?t.next.previousSibling:t.parent.lastChild]}function Et(t,e){for(;t.nextSibling&&t.nextSibling!==e;)t.nextSibling.remove()}function Mt(t,e){let{machine:r,fns:o={},params:s=null,search:a=null,routes:u={}}=e,{data:d}=Ft(e.payload),j=[],b=new Set,y=r?e.snapshot?null:yt(r):null,N=e.snapshot??y?.snapshot??null,C=[],D=new Set,M=new Set,A=new WeakMap,k=(n,l,i)=>{let g=A.get(n);return g||(g=E(n,o),A.set(n,g)),g({context:N?.context??null,bindings:l,params:s,search:a,routes:u,...i?{dom:i}:{}})},V=(n,l,i,g)=>{let w=k(l,i);g(w),G(l)&&n.push(()=>{let f=k(l,i);f!==w&&(w=f,g(f))})},I=(n,l)=>{if(n.claim&&ot(n.next,l)){let i=n.next;return n.next=i.nextSibling,i}return n.parent.insertBefore(t.createComment(l),n.next)},st=n=>{if(!n.claim||!ot(n.next,"["))return;let l=0;for(;n.next;){let i=n.next;if(n.next=i.nextSibling,ot(i,"["))l++;else if(ot(i,"]")&&--l===0)return}},R=(n,l,i,g,w)=>{switch(n.kind){case"text":{let f;i.claim&&i.next?.nodeType===3?(f=i.next,i.next=f.nextSibling):f=i.parent.insertBefore(t.createTextNode(""),i.next),i.claim&&ot(i.next,"")&&(i.next=i.next.nextSibling),V(g,n.value,l,h=>{let c=W(h);f.data!==c&&(f.data=c)});return}case"el":{let f=n.tag,h=f==="svg"?mt:w,c,p=i.claim&&i.next?.nodeType===1&&i.next.localName===f;p?(c=i.next,i.next=c.nextSibling):(c=h?t.createElementNS(h,f):t.createElement(f),n.class&&c.setAttribute("class",n.class),i.parent.insertBefore(c,i.next));for(let m in n.attrs){let v=n.attrs[m],U=At.has(m)&&m in c;p&&!G(v)||V(g,v,l,z=>{if(U){let B=c,ct=m==="value"?W(z):z===!0;B[m]!==ct&&(B[m]=ct);return}let L=$t(m,z);L===null?c.removeAttribute(m):c.getAttribute(m)!==L&&c.setAttribute(m,L)})}F(c,n,l,g);for(let m in n.on){let v=n.on[m];c.addEventListener(m,U=>{m==="submit"&&U.preventDefault(),_({type:"event",event:v.event,payload:k(v.payload,l,bt(U))})},xt.has(m)?{passive:!0}:void 0)}if(f==="textarea")return;let x={parent:c,next:p?c.firstChild:null,claim:p},$=f==="foreignObject"?null:h;for(let m of n.children)R(m,l,x,g,$);return}case"when":{let f=()=>N?n.states.includes(N.state):!1;Q(i,g,f,(h,c)=>{if(f())for(let p of n.children)R(p,l,h,c,w)},n.motion);return}case"query":{let f=l;Q(i,g,()=>{let c=Ct(n.query,k(n.input,l)),p=d.get(c);return p&&f!==l&&f.splice(0,f.length,...l,p.ok?p.value:p.data),`${c}|${p?p.ok?"ready":n.failed[p.error]?p.error:"Unexpected":""}`},(c,p)=>{let x=k(n.input,l),$=Ct(n.query,x),m=d.get($);if(f=l,!m){(!c.claim||e.readsInBrowser?.(n.query))&&vt($,n.query,x),n.pending&&R(n.pending,l,c,p,w);return}let v=m.ok?n.ready:n.failed[m.error]??n.failed.Unexpected;f=[...l,m.ok?m.value:m.data],v&&R(v,f,c,p,w)});return}case"each":S(n,l,i,g,w);return;case"component":X(n,l,i,g);return;case"if":{let f=()=>k({test:n.test},l)===!0;Q(i,g,f,(h,c)=>{let p=f()?n.ifTrue:n.ifFalse;for(let x of p)R(x,l,h,c,w)},n.motion);return}case"html":{let f=I(i,"["),h;if(i.claim){for(;i.next&&!ot(i.next,"]");)i.next=i.next.nextSibling;h=i.next??i.parent.appendChild(t.createComment("]")),i.next=h.nextSibling}else h=I(i,"]");let c=i.claim?W(k(n.value,l)):null;V(g,n.value,l,p=>{let x=W(p);if(x===c)return;c=x,Et(f,h);let $=t.createElement("template");$.innerHTML=x,h.parentNode.insertBefore($.content,h)});return}case"global":{let f=I(i,"g"),h=n.target==="window"?t.defaultView:t,c=[];for(let p in n.on){let x=n.on[p],$=v=>_({type:"event",event:x.event,payload:k(x.payload,l,bt(v))}),m=xt.has(p)?{passive:!0}:void 0;h.addEventListener(p,$,m),c.push(()=>h.removeEventListener(p,$))}M.add({el:f,stop:()=>c.forEach(p=>p())});return}default:st(i)}},F=(n,l,i,g)=>{let w=Object.entries(l.toggle);if(w.length){let f=()=>{let c=[];for(let[p,x]of w)k(x,i)===!0&&c.push(p);return Tt(l.class,c)},h=f();n.getAttribute("class")!==h&&n.setAttribute("class",h),w.some(([,c])=>G(c))&&g.push(()=>{let c=f();c!==h&&(h=c,n.setAttribute("class",c))})}for(let f in l.vars)V(g,l.vars[f],i,h=>{let c=n.style;h===null||h===""?c.removeProperty(f):c.getPropertyValue(f)!==W(h)&&c.setProperty(f,W(h))})},X=(n,l,i,g)=>{let w=n.use.component,f=e.components?.[w],h=f?.tag??"div",c,p=i.claim&&i.next?.nodeType===1&&i.next.localName===h;if(p?(c=i.next,i.next=c.nextSibling):(c=t.createElement(h),n.class&&c.setAttribute("class",n.class),i.parent.insertBefore(c,i.next)),F(c,n,l,g),!p||n.children.length){let x={parent:c,next:p?c.firstChild:null,claim:p};for(let $ of n.children)R($,l,x,g,null)}f||console.error(`Hozu: component ${w} has no client code (bundleComponents)`),!(!f||!e.loadComponent||!e.mountComponent)&&e.mountComponent({el:c,ref:f,name:w,doc:t,props:()=>k(n.props,l),emit:(x,$)=>{let m=n.on[x];m&&_({type:"event",event:m.event,payload:k(m.payload,l,v=>v==="detail"?$:null)})},load:e.loadComponent,watch:x=>g.push(x),own:x=>M.add({el:c,stop:x}),same:J})},it=new Set,vt=(n,l,i)=>{!e.onQuery||it.has(n)||(it.add(n),e.onQuery(l,i).then(g=>{it.delete(n),d.set(n,g);for(let w of C)w();Y()}))},Y=()=>{for(let n=C.length-1;n>=0;n--)D.delete(C[n])&&C.splice(n,1);for(let n of M)n.el.isConnected||(n.stop(),M.delete(n))},Q=(n,l,i,g,w=null)=>{let f=I(n,"["),h=i(),c=[];g(n,c);let p=I(n,"]");l.push(()=>{let x=i();if(x===h){for(let U of c)U();return}h=x,c=[];let $=e.motion;if(!w||!$||$.reduced(t)){Et(f,p),g({parent:p.parentNode,next:p,claim:!1},c);return}$.leave(f.nextSibling===p?[]:K(f.nextSibling,p.previousSibling),w);let[m,v]=wt({parent:p.parentNode,next:p,claim:!1},()=>g({parent:p.parentNode,next:p,claim:!1},c));m&&v&&m!==p&&$.enter(K(m,v),w)})},S=(n,l,i,g,w)=>{let f=I(i,"["),h=m=>{let v=n.key===null?m:q(m,[n.key]);return typeof v=="string"?`s${v}`:JSON.stringify(v)},c=()=>{let m=k(n.source,l);return Array.isArray(m)?m:[]},p=(m,v)=>{let U=[...l,m],z=[],[L,B]=wt(v,()=>R(n.item,U,v,z,w));return{key:h(m),value:m,scope:U,block:z,first:L,last:B}},x=c().map(m=>p(m,i)),$=I(i,"]");g.push(()=>{let m=e.motion,v=n.motion&&m&&!m.reduced(t)?n.motion:null,U=v?new Map(x.flatMap(O=>O.first.nodeType===1?[[O,O.first.getBoundingClientRect()]]:[])):null,z=new Map(x.map(O=>[O.key,O])),L=new Set,B=[];for(let O of c()){let H=h(O),tt=z.get(H);if(tt){z.delete(H),tt.value=O,tt.scope.splice(0,tt.scope.length,...l,O);for(let ft of tt.block)ft();B.push(tt)}else{let ft=p(O,{parent:t.createDocumentFragment(),next:null,claim:!1});L.add(ft),B.push(ft)}}for(let O of z.values())if(v)m.leave(K(O.first,O.last),v);else for(let H of K(O.first,O.last))H.remove();let ct=$.parentNode,dt=f.nextSibling??$;for(let O of B)if(O.first===dt)dt=O.last.nextSibling??$;else for(let H of K(O.first,O.last))ct.insertBefore(H,dt);if(x=B,!!v)for(let O of B)if(L.has(O))m.enter(K(O.first,O.last),v);else{let H=U?.get(O);H&&m.flip(O.first,H,v)}})},T=n=>{for(let l of n.effects)if(l.type==="navigate")e.onNavigate?.(l.url);else if(l.type==="timer"){let i=setTimeout(()=>{b.delete(i),_({type:"timer",entry:l.entry,ms:l.ms})},l.ms);b.add(i)}else e.onInvoke?.(l.effect,l.input).then(i=>_(i.ok?{type:"done",entry:l.entry,result:i.value}:{type:"failed",entry:l.entry,error:i.error,data:i.data}))};function _(n){if(!r||!N)return;let l=ht(r,N,n);if(l.taken){N=l.snapshot;for(let i of C)i();Y(),T(l)}}return{attach(n,l,i,g,w){let f={parent:n,next:l,claim:w},h=n.namespaceURI===mt?mt:null,c=[],[p,x]=wt(f,()=>R(i,g,f,c,h));p&&x&&j.push([p,x]);let $=p?.isConnected===!0,m=()=>{if($&&!p.isConnected)D.add(m);else for(let v of c)v()};C.push(m)},start(){y&&T(y),y=null},sync:()=>{for(let n of C)n();Y()},dispatch:_,snapshot:()=>N,destroy:()=>{for(let n of b)clearTimeout(n);b.clear();for(let n of M)n.stop();M.clear(),C.length=0;for(let[n,l]of j)for(let i of K(n,l))i.remove();j.length=0}}}var Vt=function(t,e){return typeof t=="string"&&/^\.\.?\//.test(t)?t.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(r,o,s,a,u){return o?e?".jsx":".js":s&&(!a||!u)?r:s+a+"."+u.toLowerCase()+"js"}):t},Ht=t=>t.islands.flatMap(([e,r,...o])=>{let s=t.ids[e],a=s.slice(0,s.indexOf("."));return o.map(u=>({feature:a,node:s,scope:[...Array(r).fill(null),...u]}))}),It=t=>new URL(t,import.meta.url),Jt=async(t,e,r)=>{let o=JSON.stringify({effect:t,input:e,keys:r}),s=lt.size?await(await import("./chunk-7HUHKEFT.js")).encode(o,e,lt):o;return await(await fetch(It("effect"),{method:"POST",headers:typeof s=="string"?{"content-type":"application/json"}:{},body:s})).json()},Lt=async(t,e)=>await(await fetch(It("query"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:t,input:e})})).json(),Zt=async t=>(await import(Vt(t))).default,Pt=async t=>(await import(Vt(t))).fns;async function Rt(t,{transport:e=Jt,query:r=Lt,live:o,loadFns:s=Pt,loadComponent:a=Zt,loadFetch:u}={}){let d=new Map,j=t.getElementById("hozu-payload");if(!j?.textContent)return d;let b=JSON.parse(j.textContent),y={data:new Map(b.data),versions:new Map},N=b.fns?await s(b.fns):{},{components:C,routes:D}=b,M=b.motion?await import("./chunk-HGZ7KQUC.js"):void 0,A=Object.keys(C).length?(await import("./chunk-G6LC6QZB.js")).mountComponent:void 0;b.visible&&import("./chunk-DRLGN2D4.js").then(S=>S.watch(t));let k=b.effects?(await import("./chunk-CE5MSQHF.js")).createRunner(b,N,y,{stringify:et,compile:E},u):null,V=new Map,I=(S,T)=>{let _=S+JSON.stringify(T),n=V.get(_);return n||(n=(k?.runs(S)?k.run(S,T):r(S,T)).finally(()=>V.delete(_)),V.set(_,n)),n},st=Object.entries(b.live??{}),R=async S=>{if(F)return void X.push(...S);let T=st.filter(([,_])=>_.tags.some(n=>S.includes(n)));for(let[_,n]of T)y.data.set(_,await r(n.query,n.input));if(T.length)for(let _ of d.values())_.sync()},F=0,X=[],it=async(S,T)=>{if(k?.runs(S)){F++;let{result:g,changed:w}=await k.mutate(S,T).finally(()=>F--);if(w)for(let f of d.values())f.sync();return g}F++;let{result:_,refreshed:n,session:l,tags:i}=await e(S,T,[...y.data.keys()]).finally(()=>F--);if(i&&k&&await k.reread(i))for(let g of d.values())g.sync();l&&(y.data.clear(),X=[]);for(let[g,w]of n)y.data.set(g,w),y.versions.set(g,(y.versions.get(g)??0)+1);if(n.length||l)for(let g of d.values())g.sync();return!F&&X.length&&R(X.splice(0)),_},vt=null;for(let[S,T]of Object.entries(b.features)){let _=b.snapshots?.[S];d.set(S,Mt(t,{machine:T?gt({id:S,machine:T},N,D):null,payload:y,params:b.params,search:b.search,..._?{snapshot:_}:{},fns:N,components:C,routes:D,motion:M,mountComponent:A,loadComponent:a,onQuery:I,onInvoke:it,...k?{readsInBrowser:n=>k.runs(n)}:{},onNavigate:n=>t.defaultView?.location.assign(n)}))}let Y=[],Q=t.createTreeWalker(t.body??t,128);for(;Q.nextNode();)Q.currentNode.data==="i"&&Y.push(Q.currentNode);Ht(b).forEach((S,T)=>{let _=Y[T],n=b.nodes[S.node];_?.parentNode&&n&&d.get(S.feature)?.attach(_.parentNode,_.nextSibling,n,S.scope,!0)});for(let S of d.values())S.sync();for(let S of d.values())S.start();return st.length&&(o??(await import("./chunk-627YWRJ6.js")).liveStream(t))(R,st.flatMap(([,S])=>S.tags)),t.documentElement.setAttribute("data-hozu-ready",""),d}Rt(document);
1
+ var St=JSON.stringify;function Y(t){if(t===null)return"null";switch(typeof t){case"string":return St(t);case"boolean":return t?"true":"false";case"number":if(!Number.isFinite(t))throw new TypeError(`Non-finite number ${t} is not valid JSON`);return Object.is(t,-0)?"0":String(t);case"object":{if(Array.isArray(t))return`[${t.map(Y).join(",")}]`;let e=t,r=Object.keys(e).sort(),o="{";for(let s=0;s<r.length;s++){let l=r[s],u=e[l];if(u===void 0)throw new TypeError(`Undefined value at key "${l}"`);o+=`${s?",":""}${St(l)}:${Y(u)}`}return`${o}}`}default:throw new TypeError(`Value of type ${typeof t} is not valid JSON`)}}function U(t,e){let r=t;for(let o of e){if(typeof r=="string"&&o==="length")return r.length;if(r===null||typeof r!="object")return null;r=r[o]}return r===void 0?null:r}function L(t,e,r,o=0){if(o===e.length)return r;let s=e[o];if(Array.isArray(t)){let u=t.slice();return u[Number(s)]=L(t[Number(s)]??null,e,r,o+1),u}let l=t!==null&&typeof t=="object"?t:{};return{...l,[s]:L(l[s]??null,e,r,o+1)}}function H(t,e){if(t===e)return!0;if(t===null||e===null||typeof t!="object"||typeof e!="object")return!1;if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let o=0;o<t.length;o++)if(!H(t[o],e[o]))return!1;return!0}if(Array.isArray(e))return!1;let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!1;for(let o of r)if(!Object.hasOwn(e,o)||!H(t[o],e[o]))return!1;return!0}var ut=(t,e,r)=>{let[o="",s=""]=t.split("?"),l=o.replace(/\/:([A-Za-z]\w*)[?*+]?/g,(j,w)=>[U(e,[w])??[]].flat().map(N=>`/${encodeURIComponent(String(N))}`).join(""))||"/",u=s.split("&"),d="";if(r&&typeof r=="object")for(let j of Object.keys(r).sort()){let w=r[j],y=`${encodeURIComponent(j)}=${encodeURIComponent(String(w))}`;w!==null&&typeof w!="object"&&!u.includes(y)&&(d+=`${d&&"&"}${y}`)}return d?`${l}?${d}`:l};var tt=class extends Error{name="CompileError"};function C(t,e){if("literal"in t||"formRef"in t){let l="literal"in t?t.literal:t.formRef;return()=>l}if("object"in t){let l=Object.entries(t.object).map(([u,d])=>[u,C(d,e)]);return u=>{let d={};for(let[j,w]of l)d[j]=w(u);return d}}if("fn"in t){let l=e[t.fn];if(!l)throw new tt(`No implementation bound for fn ${t.fn}`);let u=C(t.arg,e);return d=>l(u(d))}if("link"in t){let l=t.link,u=C(t.params,e),d=C(t.search,e);return j=>ut(j.routes?.[l]??"",u(j),d(j))}if("test"in t){let l=it(t.test,e);return u=>l(u)}if("endpoint"in t){let l=t.endpoint,u=C(t.input??{literal:null},e);return d=>ut(d.routes?.[l]??"",null,u(d))}let r=t,{path:o}=r;if(r.ref==="binding"){let l=r.depth;return o.length?u=>U(u.bindings?.[l],o):u=>u.bindings?.[l]??null}if(r.ref==="dom"){let[l,...u]=o;return d=>d.dom&&l?U(d.dom(l),u)??(l==="formAll"?[]:null):null}let s=r.ref;return o.length===0?l=>l[s]??null:l=>U(l[s],o)}var Z=t=>typeof t=="number"||typeof t=="string"?t:Number.NaN;function it(t,e){switch(t.op){case"and":{let r=t.args.map(o=>it(o,e));return o=>r.every(s=>s(o))}case"or":{let r=t.args.map(o=>it(o,e));return o=>r.some(s=>s(o))}case"not":{let r=it(t.arg,e);return o=>!r(o)}case"fn":{let r=C({fn:t.fn,arg:t.arg},e);return o=>r(o)===!0}default:{let r=C(t.left,e),o=C(t.right,e);switch(t.op){case"eq":return s=>H(r(s),o(s));case"neq":return s=>!H(r(s),o(s));case"lt":return s=>Z(r(s))<Z(o(s));case"lte":return s=>Z(r(s))<=Z(o(s));case"gt":return s=>Z(r(s))>Z(o(s));default:return s=>Z(r(s))>=Z(o(s))}}}}function Ut(t,e){let{path:r}=t,o=C(t.value,e);switch(t.op){case"set":return(s,l)=>L(s,r,o({...l,context:s}));case"append":return(s,l)=>{let u=U(s,r);return L(s,r,[...Array.isArray(u)?u:[],o({...l,context:s})])};case"inc":return(s,l)=>L(s,r,Number(U(s,r)??0)+Number(o({...l,context:s})));case"removeWhere":{let s=t.key;return(l,u)=>{let d=U(l,r),j=o({...u,context:l}),w=Array.isArray(d)?d:[];return L(l,r,w.filter(y=>!H(s===null?y:y!==null&&typeof y=="object"&&!Array.isArray(y)?y[s]:null,j)))}}}}var qt=(t,e)=>r=>t({...r,routes:e});function yt(t,e={},r={}){let o=t.machine;if(!o)throw new tt(`Feature ${t.id} has no machine`);let s=Object.keys(o.states),l=new Map(s.map((y,N)=>[y,N])),u=y=>{let N=l.get(y);if(N===void 0)throw new tt(`Unknown state "${y}" in ${t.id}`);return N},d=[],j=(y,N)=>(d.push(N),{id:N,guard:y.guard?it(y.guard,e):null,target:u(y.target),assign:y.assign.map(T=>Ut(T,e)),navigate:y.navigate?qt(C(y.navigate,e),r):null}),w=s.map(y=>{let N=o.states[y],T=new Map;for(let[A,v]of Object.entries(N.on))T.set(A,v.map((M,V)=>j(M,`${y}/on/${A}/${V}`)));let q=new Map;N.after.forEach((A,v)=>{let M=j(A.transition,`${y}/after/${v}`);q.set(A.ms,[...q.get(A.ms)??[],M])});let E=N.invoke;return{name:y,final:N.final,on:T,invoke:E&&{effect:E.effect,input:C(E.input,e),done:E.done.map((A,v)=>j(A,`${y}/invoke/done/${v}`)),failed:new Map(Object.entries(E.failed).map(([A,v])=>[A,v.map((M,V)=>j(M,`${y}/invoke/failed/${A}/${V}`))]))},after:q,timers:[...q.keys()].sort((A,v)=>A-v)}});return{feature:t.id,initial:u(o.initial),initialContext:o.initialContext,states:w,index:l,transitions:d}}function jt(t,e,r,o,s){let l=t.states[e];l.invoke&&s.push({type:"invoke",entry:o,effect:l.invoke.effect,input:l.invoke.input({context:r})});for(let u of l.timers)s.push({type:"timer",entry:o,ms:u})}function Ot(t,e,r,o=1){let s=t.index.get(e);if(s===void 0)throw new Error(`Unknown state "${e}" in ${t.feature}`);let l=[];return jt(t,s,r,o,l),{snapshot:{state:e,context:r,entry:o},effects:l,taken:null}}var ht=t=>Ot(t,t.states[t.initial].name,t.initialContext),et=t=>({snapshot:t,effects:[],taken:null});function pt(t,e,r,o){if(!r)return et(e);for(let s of r){if(s.guard&&!s.guard(o))continue;let l=e.context;for(let j of s.assign)l=j(l,o);let u=e.entry+1,d=s.navigate===null?[]:[{type:"navigate",url:String(s.navigate(o))}];return jt(t,s.target,l,u,d),{snapshot:{state:t.states[s.target].name,context:l,entry:u},effects:d,taken:s.id}}return et(e)}function xt(t,e,r){let o=t.states[t.index.get(e.state)??-1];if(!o||o.final)return et(e);let s=e.context;switch(r.type){case"event":return pt(t,e,o.on.get(r.event),{context:s,event:r.payload});case"done":return r.entry!==e.entry||!o.invoke?et(e):pt(t,e,o.invoke.done,{context:s,result:r.result});case"failed":{if(r.entry!==e.entry||!o.invoke)return et(e);let l=o.invoke.failed,u=l.has(r.error),d=u?r.data:{message:Dt(r.data,r.error)};return pt(t,e,l.get(u?r.error:"Unexpected"),{context:s,error:d})}case"timer":return r.entry!==e.entry?et(e):pt(t,e,o.after.get(r.ms),{context:s})}}function Dt(t,e){return t!==null&&typeof t=="object"&&!Array.isArray(t)&&typeof t.message=="string"?t.message:e}function Nt(t,e){let r=Object.create(null),o=Object.create(null),s=(l,u)=>{let d=typeof u=="string"?u:u.name,j=o[l];j?j.push(d):(o[l]=[d],r[l]=d)};for(let[l,u]of t)s(l,u);return e&&s(...e),{first:r,all:o}}var mt="http://www.w3.org/2000/svg",zt=new Set(["contenteditable","draggable","spellcheck"]),P=t=>t==null?"":typeof t=="object"?JSON.stringify(t):String(t);function $t(t,e){return e==null?null:typeof e=="boolean"?t.startsWith("aria-")||t.startsWith("data-")||zt.has(t)?String(e):e?"":null:P(e)}var At=new Set(["value","checked","selected","muted"]),bt=new Set(["scroll","wheel","touchstart","touchmove","touchend","pointermove","mousemove"]),_t=t=>typeof t=="number"&&!Number.isNaN(t)?t:null,at=new Map,Bt=t=>t?[...t].map(e=>{let r=`u${at.size+1}`;return at.set(r,e),{name:e.name,size:e.size,type:e.type,token:r}}):[],wt=t=>e=>{let r=t.target;switch(e){case"value":return typeof r?.value=="string"?r.value:"";case"checked":return r?.checked===!0;case"valueAsNumber":return _t(r?.valueAsNumber);case"files":return Bt(r?.files??t.dataTransfer?.files);case"form":case"formAll":{let o=t.target,s=o.ownerDocument.defaultView,l=Nt(new(s?.FormData??FormData)(o,t.submitter));return e==="form"?l.first:l.all}case"open":return r?.open===!0;case"returnValue":return typeof r?.returnValue=="string"?r.returnValue:"";default:{let o=e in t?t[e]:r?.[e];return typeof o=="number"?_t(o):typeof o=="string"||typeof o=="boolean"?o:null}}},Tt=(t,e)=>t?e.length?`${t} ${e.join(" ")}`:t:e.join(" ");var vt=t=>{switch(t.op){case"and":case"or":return t.args.some(vt);case"not":return vt(t.arg);case"fn":return Q(t.arg);default:return Q(t.left)||Q(t.right)}},Q=t=>"ref"in t?t.ref==="context"||t.ref==="binding":"object"in t?Object.values(t.object).some(Q):"fn"in t?Q(t.arg):"test"in t&&vt(t.test),Ct=(t,e)=>t+Y(e),Ft=t=>t instanceof Map?{data:t,versions:new Map}:t;var nt=(t,e)=>t!==null&&t.nodeType===8&&t.data===e;function W(t,e){let r=[t],o=t;for(;o!==e&&(o=o.nextSibling,!!o);)r.push(o);return r}function kt(t,e){let r=t.next?t.next.previousSibling:t.parent.lastChild;return e(),[r?r.nextSibling:t.parent.firstChild,t.next?t.next.previousSibling:t.parent.lastChild]}function Et(t,e){for(;t.nextSibling&&t.nextSibling!==e;)t.nextSibling.remove()}function Mt(t,e){let{machine:r,fns:o={},params:s=null,search:l=null,routes:u={}}=e,{data:d}=Ft(e.payload),j=[],w=new Set,y=r?e.snapshot?null:ht(r):null,N=e.snapshot??y?.snapshot??null,T=[],q=new Set,E=new Set,A=new WeakMap,v=(n,i,a)=>{let h=A.get(n);return h||(h=C(n,o),A.set(n,h)),h({context:N?.context??null,bindings:i,params:s,search:l,routes:u,...a?{dom:a}:{}})},M=(n,i,a,h)=>{let x=v(i,a);h(x),Q(i)&&n.push(()=>{let f=v(i,a);f!==x&&(x=f,h(f))})},V=(n,i)=>{if(n.claim&&nt(n.next,i)){let a=n.next;return n.next=a.nextSibling,a}return n.parent.insertBefore(t.createComment(i),n.next)},rt=n=>{if(!n.claim||!nt(n.next,"["))return;let i=0;for(;n.next;){let a=n.next;if(n.next=a.nextSibling,nt(a,"["))i++;else if(nt(a,"]")&&--i===0)return}},I=(n,i,a,h,x)=>{switch(n.kind){case"text":{let f;a.claim&&a.next?.nodeType===3?(f=a.next,a.next=f.nextSibling):f=a.parent.insertBefore(t.createTextNode(""),a.next),a.claim&&nt(a.next,"")&&(a.next=a.next.nextSibling),M(h,n.value,i,g=>{let c=P(g);f.data!==c&&(f.data=c)});return}case"el":{let f=n.tag,g=f==="svg"?mt:x,c,p=a.claim&&a.next?.nodeType===1&&a.next.localName===f;p?(c=a.next,a.next=c.nextSibling):(c=g?t.createElementNS(g,f):t.createElement(f),n.class&&c.setAttribute("class",n.class),a.parent.insertBefore(c,a.next));for(let m in n.attrs){let S=n.attrs[m],R=At.has(m)&&m in c;p&&!Q(S)||M(h,S,i,D=>{if(R){let z=c,ct=m==="value"?P(D):D===!0;z[m]!==ct&&(z[m]=ct);return}let J=$t(m,D);J===null?c.removeAttribute(m):c.getAttribute(m)!==J&&c.setAttribute(m,J)})}B(c,n,i,h);for(let m in n.on){let S=n.on[m];c.addEventListener(m,R=>{m==="submit"&&R.preventDefault(),$({type:"event",event:S.event,payload:v(S.payload,i,wt(R))})},bt.has(m)?{passive:!0}:void 0)}if(f==="textarea")return;let b={parent:c,next:p?c.firstChild:null,claim:p},_=f==="foreignObject"?null:g;for(let m of n.children)I(m,i,b,h,_);return}case"when":{let f=()=>N?n.states.includes(N.state):!1;K(a,h,f,(g,c)=>{if(f())for(let p of n.children)I(p,i,g,c,x)},n.motion);return}case"query":{let f=i;K(a,h,()=>{let c=Ct(n.query,v(n.input,i)),p=d.get(c);return p&&f!==i&&f.splice(0,f.length,...i,p.ok?p.value:p.data),`${c}|${p?p.ok?"ready":n.failed[p.error]?p.error:"Unexpected":""}`},(c,p)=>{let b=v(n.input,i),_=Ct(n.query,b),m=d.get(_);if(f=i,!m){(!c.claim||e.readsInBrowser?.(n.query))&&dt(_,n.query,b),n.pending&&I(n.pending,i,c,p,x);return}let S=m.ok?n.ready:n.failed[m.error]??n.failed.Unexpected;f=[...i,m.ok?m.value:m.data],S&&I(S,f,c,p,x)});return}case"each":st(n,i,a,h,x);return;case"component":G(n,i,a,h);return;case"if":{let f=()=>v({test:n.test},i)===!0;K(a,h,f,(g,c)=>{let p=f()?n.ifTrue:n.ifFalse;for(let b of p)I(b,i,g,c,x)},n.motion);return}case"html":{let f=V(a,"["),g;if(a.claim){for(;a.next&&!nt(a.next,"]");)a.next=a.next.nextSibling;g=a.next??a.parent.appendChild(t.createComment("]")),a.next=g.nextSibling}else g=V(a,"]");let c=a.claim?P(v(n.value,i)):null;M(h,n.value,i,p=>{let b=P(p);if(b===c)return;c=b,Et(f,g);let _=t.createElement("template");_.innerHTML=b,g.parentNode.insertBefore(_.content,g)});return}case"global":{let f=V(a,"g"),g=n.target==="window"?t.defaultView:t,c=[];for(let p in n.on){let b=n.on[p],_=S=>$({type:"event",event:b.event,payload:v(b.payload,i,wt(S))}),m=bt.has(p)?{passive:!0}:void 0;g.addEventListener(p,_,m),c.push(()=>g.removeEventListener(p,_))}E.add({el:f,stop:()=>c.forEach(p=>p())});return}default:rt(a)}},B=(n,i,a,h)=>{let x=Object.entries(i.toggle);if(x.length){let f=()=>{let c=[];for(let[p,b]of x)v(b,a)===!0&&c.push(p);return Tt(i.class,c)},g=f();n.getAttribute("class")!==g&&n.setAttribute("class",g),x.some(([,c])=>Q(c))&&h.push(()=>{let c=f();c!==g&&(g=c,n.setAttribute("class",c))})}for(let f in i.vars)M(h,i.vars[f],a,g=>{let c=n.style;g===null||g===""?c.removeProperty(f):c.getPropertyValue(f)!==P(g)&&c.setProperty(f,P(g))})},G=(n,i,a,h)=>{let x=n.use.component,f=e.components?.[x],g=f?.tag??"div",c,p=a.claim&&a.next?.nodeType===1&&a.next.localName===g;if(p?(c=a.next,a.next=c.nextSibling):(c=t.createElement(g),n.class&&c.setAttribute("class",n.class),a.parent.insertBefore(c,a.next)),B(c,n,i,h),!p||n.children.length){let b={parent:c,next:p?c.firstChild:null,claim:p};for(let _ of n.children)I(_,i,b,h,null)}f||console.error(`Hozu: component ${x} has no client code (bundleComponents)`),!(!f||!e.loadComponent||!e.mountComponent)&&e.mountComponent({el:c,ref:f,name:x,doc:t,props:()=>v(n.props,i),emit:(b,_)=>{let m=n.on[b];m&&$({type:"event",event:m.event,payload:v(m.payload,i,S=>S==="detail"?_:null)})},load:e.loadComponent,watch:b=>h.push(b),own:b=>E.add({el:c,stop:b}),same:H})},ot=new Set,dt=(n,i,a)=>{!e.onQuery||ot.has(n)||(ot.add(n),e.onQuery(i,a).then(h=>{ot.delete(n),d.set(n,h);for(let x of T)x();lt()}))},lt=()=>{for(let n=T.length-1;n>=0;n--)q.delete(T[n])&&T.splice(n,1);for(let n of E)n.el.isConnected||(n.stop(),E.delete(n))},K=(n,i,a,h,x=null)=>{let f=V(n,"["),g=a(),c=[];h(n,c);let p=V(n,"]");i.push(()=>{let b=a();if(b===g){for(let R of c)R();return}g=b,c=[];let _=e.motion;if(!x||!_||_.reduced(t)){Et(f,p),h({parent:p.parentNode,next:p,claim:!1},c);return}_.leave(f.nextSibling===p?[]:W(f.nextSibling,p.previousSibling),x);let[m,S]=kt({parent:p.parentNode,next:p,claim:!1},()=>h({parent:p.parentNode,next:p,claim:!1},c));m&&S&&m!==p&&_.enter(W(m,S),x)})},st=(n,i,a,h,x)=>{let f=V(a,"["),g=m=>{let S=n.key===null?m:U(m,[n.key]);return typeof S=="string"?`s${S}`:JSON.stringify(S)},c=()=>{let m=v(n.source,i);return Array.isArray(m)?m:[]},p=(m,S)=>{let R=[...i,m],D=[],[J,z]=kt(S,()=>I(n.item,R,S,D,x));return{key:g(m),value:m,scope:R,block:D,first:J,last:z}},b=c().map(m=>p(m,a)),_=V(a,"]");h.push(()=>{let m=e.motion,S=n.motion&&m&&!m.reduced(t)?n.motion:null,R=S?new Map(b.flatMap(O=>O.first.nodeType===1?[[O,O.first.getBoundingClientRect()]]:[])):null,D=new Map(b.map(O=>[O.key,O])),J=new Set,z=[];for(let O of c()){let F=g(O),X=D.get(F);if(X){D.delete(F),X.value=O,X.scope.splice(0,X.scope.length,...i,O);for(let ft of X.block)ft();z.push(X)}else{let ft=p(O,{parent:t.createDocumentFragment(),next:null,claim:!1});J.add(ft),z.push(ft)}}for(let O of D.values())if(S)m.leave(W(O.first,O.last),S);else for(let F of W(O.first,O.last))F.remove();let ct=_.parentNode,gt=f.nextSibling??_;for(let O of z)if(O.first===gt)gt=O.last.nextSibling??_;else for(let F of W(O.first,O.last))ct.insertBefore(F,gt);if(b=z,!!S)for(let O of z)if(J.has(O))m.enter(W(O.first,O.last),S);else{let F=R?.get(O);F&&m.flip(O.first,F,S)}})},k=n=>{for(let i of n.effects)if(i.type==="navigate")e.onNavigate?.(i.url);else if(i.type==="timer"){let a=setTimeout(()=>{w.delete(a),$({type:"timer",entry:i.entry,ms:i.ms})},i.ms);w.add(a)}else e.onInvoke?.(i.effect,i.input).then(a=>$(a.ok?{type:"done",entry:i.entry,result:a.value}:{type:"failed",entry:i.entry,error:a.error,data:a.data}))};function $(n){if(!r||!N)return;let i=xt(r,N,n);if(i.taken){N=i.snapshot;for(let a of T)a();lt(),k(i)}}return{attach(n,i,a,h,x){let f={parent:n,next:i,claim:x},g=n.namespaceURI===mt?mt:null,c=[],[p,b]=kt(f,()=>I(a,h,f,c,g));p&&b&&j.push([p,b]);let _=p?.isConnected===!0,m=()=>{if(_&&!p.isConnected)q.add(m);else for(let S of c)S()};T.push(m)},start(){y&&k(y),y=null},sync:()=>{for(let n of T)n();lt()},dispatch:$,snapshot:()=>N,destroy:()=>{for(let n of w)clearTimeout(n);w.clear();for(let n of E)n.stop();E.clear(),T.length=0;for(let[n,i]of j)for(let a of W(n,i))a.remove();j.length=0}}}var Vt=function(t,e){return typeof t=="string"&&/^\.\.?\//.test(t)?t.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(r,o,s,l,u){return o?e?".jsx":".js":s&&(!l||!u)?r:s+l+"."+u.toLowerCase()+"js"}):t},Ht=t=>t.islands.flatMap(([e,r,...o])=>{let s=t.ids[e],l=s.slice(0,s.indexOf("."));return o.map(u=>({feature:l,node:s,scope:[...Array(r).fill(null),...u]}))}),It=t=>new URL(t,import.meta.url),Jt=async(t,e,r)=>{let o=JSON.stringify({effect:t,input:e,keys:r}),s=at.size?await(await import("./chunk-7HUHKEFT.js")).encode(o,e,at):o;return await(await fetch(It("effect"),{method:"POST",headers:typeof s=="string"?{"content-type":"application/json"}:{},body:s})).json()},Lt=async(t,e)=>await(await fetch(It("query"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:t,input:e})})).json(),Zt=async t=>(await import(Vt(t))).default,Pt=async t=>(await import(Vt(t))).fns;async function Rt(t,{transport:e=Jt,query:r=Lt,live:o,loadFns:s=Pt,loadComponent:l=Zt,loadFetch:u}={}){let d=new Map,j=t.getElementById("hozu-payload");if(!j?.textContent)return d;let w=JSON.parse(j.textContent),y={data:new Map(w.data),versions:new Map},N=w.fns?Object.assign({},...await Promise.all(w.fns.map(s))):{},{components:T,routes:q}=w,E=w.motion?await import("./chunk-HGZ7KQUC.js"):void 0,A=Object.keys(T).length?(await import("./chunk-G6LC6QZB.js")).mountComponent:void 0;w.visible&&import("./chunk-DRLGN2D4.js").then(k=>k.watch(t));let v=w.effects?(await import("./chunk-QPPJ5CKU.js")).createRunner(w,N,y,{stringify:Y,compile:C},u):null,M=new Map,V=(k,$)=>{let n=k+JSON.stringify($),i=M.get(n);return i||(i=(v?.runs(k)?v.run(k,$):r(k,$)).finally(()=>M.delete(n)),M.set(n,i)),i},rt=Object.entries(w.live??{}),I=async k=>{if(B)return void G.push(...k);let $=rt.filter(([,n])=>n.tags.some(i=>k.includes(i)));for(let[n,i]of $)y.data.set(n,await r(i.query,i.input));if($.length)for(let n of d.values())n.sync()},B=0,G=[],ot=async(k,$)=>{if(v?.runs(k)){B++;let{result:x,changed:f,tags:g}=await v.mutate(k,$).finally(()=>B--);if(f)for(let c of d.values())c.sync();return{result:x,tags:g}}B++;let{result:n,refreshed:i,session:a,tags:h}=await e(k,$,[...y.data.keys()]).finally(()=>B--);if(h&&v&&await v.reread(h))for(let x of d.values())x.sync();a&&(y.data.clear(),G=[]);for(let[x,f]of i)y.data.set(x,f),y.versions.set(x,(y.versions.get(x)??0)+1);if(i.length||a)for(let x of d.values())x.sync();return!B&&G.length&&I(G.splice(0)),{result:n,tags:h??[]}},dt=async(k,$)=>(await ot(k,$)).result,lt=null;for(let[k,$]of Object.entries(w.features)){let n=w.snapshots?.[k];d.set(k,Mt(t,{machine:$?yt({id:k,machine:$},N,q):null,payload:y,params:w.params,search:w.search,...n?{snapshot:n}:{},fns:N,components:T,routes:q,motion:E,mountComponent:A,loadComponent:l,onQuery:V,onInvoke:dt,...v?{readsInBrowser:i=>v.runs(i)}:{},onNavigate:i=>t.defaultView?.location.assign(i)}))}let K=[],st=t.createTreeWalker(t.body??t,128);for(;st.nextNode();)st.currentNode.data==="i"&&K.push(st.currentNode);Ht(w).forEach((k,$)=>{let n=K[$],i=w.nodes[k.node];n?.parentNode&&i&&d.get(k.feature)?.attach(n.parentNode,n.nextSibling,i,k.scope,!0)});for(let k of d.values())k.sync();for(let k of d.values())k.start();return rt.length&&(o??(await import("./chunk-627YWRJ6.js")).liveStream(t))(I,rt.flatMap(([,k])=>k.tags)),t.documentElement.setAttribute("data-hozu-ready",""),d}Rt(document);
@@ -384,7 +384,8 @@ function createRunner(payload, fns, shared, tools, load = (url) => import(__rewr
384
384
  }
385
385
  async function mutate(ref, input) {
386
386
  const result = await run(ref, input);
387
- return { result, changed: result.ok ? await reread(tagsOf(ref, input)) : false };
387
+ const tags = result.ok ? tagsOf(ref, input) : [];
388
+ return { result, changed: tags.length ? await reread(tags) : false, tags };
388
389
  }
389
390
  return { run, mutate, reread, runs: (ref) => ref in effects };
390
391
  }
@@ -426,11 +427,12 @@ function restore(doc) {
426
427
  return machine.states[entry.snapshot.state]?.invoke ? void 0 : entry.snapshot;
427
428
  };
428
429
  }
429
- function expose(doc, apps, machines) {
430
+ function expose(doc, apps, machines, effects) {
430
431
  const win = doc.defaultView;
431
432
  if (!win)
432
433
  return;
433
434
  win.__hozu = {
435
+ ...effects,
434
436
  save() {
435
437
  const saved = {};
436
438
  for (const [id, app] of apps) {
@@ -1485,7 +1487,7 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
1485
1487
  return apps;
1486
1488
  const payload = JSON.parse(script.textContent);
1487
1489
  const shared = { data: new Map(payload.data), versions: /* @__PURE__ */ new Map() };
1488
- const fns = payload.fns ? await loadFns(payload.fns) : {};
1490
+ const fns = payload.fns ? Object.assign({}, ...await Promise.all(payload.fns.map(loadFns))) : {};
1489
1491
  const { components, routes } = payload;
1490
1492
  const motion = payload.motion ? await Promise.resolve().then(() => (init_motion(), motion_exports)) : void 0;
1491
1493
  const mountComponent2 = Object.keys(components).length ? (await Promise.resolve().then(() => (init_component(), component_exports))).mountComponent : void 0;
@@ -1521,14 +1523,14 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
1521
1523
  };
1522
1524
  let busy = 0;
1523
1525
  let queued = [];
1524
- const onInvoke = async (effect, input) => {
1526
+ const invoke = async (effect, input) => {
1525
1527
  if (local?.runs(effect)) {
1526
1528
  busy++;
1527
- const { result: result2, changed } = await local.mutate(effect, input).finally(() => busy--);
1529
+ const { result: result2, changed, tags: tags2 } = await local.mutate(effect, input).finally(() => busy--);
1528
1530
  if (changed)
1529
1531
  for (const app of apps.values())
1530
1532
  app.sync();
1531
- return result2;
1533
+ return { result: result2, tags: tags2 };
1532
1534
  }
1533
1535
  busy++;
1534
1536
  const { result, refreshed, session, tags } = await transport(effect, input, [
@@ -1550,8 +1552,9 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
1550
1552
  app.sync();
1551
1553
  if (!busy && queued.length)
1552
1554
  onTags(queued.splice(0));
1553
- return result;
1555
+ return { result, tags: tags ?? [] };
1554
1556
  };
1557
+ const onInvoke = async (effect, input) => (await invoke(effect, input)).result;
1555
1558
  const dev = true ? { restore: (await Promise.resolve().then(() => (init_dev(), dev_exports))).restore(doc), machines: /* @__PURE__ */ new Map() } : null;
1556
1559
  for (const [id, machine] of Object.entries(payload.features)) {
1557
1560
  const snapshot = dev?.restore(id, machine) || payload.snapshots?.[id];
@@ -1593,7 +1596,7 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
1593
1596
  if (liveKeys.length)
1594
1597
  (live ?? (await Promise.resolve().then(() => (init_live(), live_exports))).liveStream(doc))(onTags, liveKeys.flatMap(([, l]) => l.tags));
1595
1598
  if (dev)
1596
- (await Promise.resolve().then(() => (init_dev(), dev_exports))).expose(doc, apps, dev.machines);
1599
+ (await Promise.resolve().then(() => (init_dev(), dev_exports))).expose(doc, apps, dev.machines, { invoke, query: onQuery });
1597
1600
  doc.documentElement.setAttribute("data-hozu-ready", "");
1598
1601
  return apps;
1599
1602
  }
package/dist/dev.d.ts CHANGED
@@ -1,6 +1,14 @@
1
- import type { MachineIR } from '@hozu/core/ir';
1
+ import type { Json, MachineIR } from '@hozu/core/ir';
2
2
  import type { Snapshot } from '@hozu/machine';
3
- import type { App } from './mount.ts';
3
+ import type { App, Result } from './mount.ts';
4
4
  export declare function restore(doc: Document): (id: string, machine: MachineIR | null) => Snapshot | undefined;
5
- export declare function expose(doc: Document, apps: Map<string, App>, machines: Map<string, MachineIR | null>): void;
5
+ /** What the page offers Hozu DevTools in development: the machine's own effect paths (ADR 0050 G). */
6
+ export interface DevEffects {
7
+ invoke(effect: string, input: Json): Promise<{
8
+ result: Result;
9
+ tags: string[];
10
+ }>;
11
+ query(query: string, input: Json): Promise<Result>;
12
+ }
13
+ export declare function expose(doc: Document, apps: Map<string, App>, machines: Map<string, MachineIR | null>, effects: DevEffects): void;
6
14
  //# sourceMappingURL=dev.d.ts.map
package/dist/dev.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAcrC,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,KAAK,QAAQ,GAAG,SAAS,CAYtG;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,QAcpG"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAc7C,wBAAgB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,KAAK,QAAQ,GAAG,SAAS,CAYtG;AAED,sGAAsG;AACtG,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IAChF,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACnD;AAED,wBAAgB,MAAM,CACpB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,EACvC,OAAO,EAAE,UAAU,QAgBpB"}
package/dist/dev.js CHANGED
@@ -22,11 +22,12 @@ export function restore(doc) {
22
22
  return machine.states[entry.snapshot.state]?.invoke ? undefined : entry.snapshot;
23
23
  };
24
24
  }
25
- export function expose(doc, apps, machines) {
25
+ export function expose(doc, apps, machines, effects) {
26
26
  const win = doc.defaultView;
27
27
  if (!win)
28
28
  return;
29
29
  win.__hozu = {
30
+ ...effects,
30
31
  save() {
31
32
  const saved = {};
32
33
  for (const [id, app] of apps) {
package/dist/dev.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAIA,MAAM,GAAG,GAAG,gBAAgB,CAAA;AAI5B,MAAM,OAAO,GAAG,CAAC,GAAa,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,WAAW,EAAE,cAAc,IAAI,IAAI,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,KAAK,GAAU,EAAE,CAAA;IACrB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAU,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IACtB,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAA;QACvB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAA;QACrF,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;IAClF,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAa,EAAE,IAAsB,EAAE,QAAuC;IACnG,MAAM,GAAG,GAAG,GAAG,CAAC,WAA8D,CAAA;IAC9E,IAAI,CAAC,GAAG;QAAE,OAAM;IAChB,GAAG,CAAC,MAAM,GAAG;QACX,IAAI;YACF,MAAM,KAAK,GAAU,EAAE,CAAA;YACvB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;gBAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAChC,IAAI,QAAQ,IAAI,OAAO;oBAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAA;YACrF,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QACnD,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAIA,MAAM,GAAG,GAAG,gBAAgB,CAAA;AAI5B,MAAM,OAAO,GAAG,CAAC,GAAa,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,WAAW,EAAE,cAAc,IAAI,IAAI,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,UAAU,OAAO,CAAC,GAAa;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,KAAK,GAAU,EAAE,CAAA;IACrB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAU,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;IACtB,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAA;QACvB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAA;QACrF,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;IAClF,CAAC,CAAA;AACH,CAAC;AAQD,MAAM,UAAU,MAAM,CACpB,GAAa,EACb,IAAsB,EACtB,QAAuC,EACvC,OAAmB;IAEnB,MAAM,GAAG,GAAG,GAAG,CAAC,WAA2E,CAAA;IAC3F,IAAI,CAAC,GAAG;QAAE,OAAM;IAChB,GAAG,CAAC,MAAM,GAAG;QACX,GAAG,OAAO;QACV,IAAI;YACF,MAAM,KAAK,GAAU,EAAE,CAAA;YACvB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;gBAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAChC,IAAI,QAAQ,IAAI,OAAO;oBAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAA;YACrF,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QACnD,CAAC;KACF,CAAA;AACH,CAAC"}
package/dist/fetch.d.ts CHANGED
@@ -21,6 +21,7 @@ tools: {
21
21
  mutate: (ref: string, input: Json) => Promise<{
22
22
  result: Result;
23
23
  changed: boolean;
24
+ tags: string[];
24
25
  }>;
25
26
  reread: (tags: string[]) => Promise<boolean>;
26
27
  runs: (ref: string) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAI/C,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE5B;;;GAGG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,CAAU,EAChB,EAAE,SAAK,GACN;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAkEtC;AAID,mHAAmH;AACnH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,MAAM,EAAE,KAAK;AACb,mFAAmF;AACnF,KAAK,EAAE;IACL,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAA;IACrC,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAC9E,EACD,IAAI,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAA2C;eAqBzE,MAAM,SAAS,IAAI,KAAG,OAAO,CAAC,MAAM,CAAC;kBAmDlC,MAAM,SAAS,IAAI,KAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;mBAhBlE,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC;gBAoBb,MAAM;EACjD;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAI/C,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE5B;;;GAGG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,EACd,IAAI,GAAE,CAAU,EAChB,EAAE,SAAK,GACN;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAkEtC;AAID,mHAAmH;AACnH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,MAAM,EAAE,KAAK;AACb,mFAAmF;AACnF,KAAK,EAAE;IACL,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAA;IACrC,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAC9E,EACD,IAAI,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAA2C;eAqBzE,MAAM,SAAS,IAAI,KAAG,OAAO,CAAC,MAAM,CAAC;kBAoDtD,MAAM,SACJ,IAAI,KACV,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;mBAnBpC,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC;gBAwBb,MAAM;EACjD;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA"}
package/dist/fetch.js CHANGED
@@ -170,7 +170,8 @@ tools, load = (url) => import(__rewriteRelativeImportExtension(/* @vite-ignore *
170
170
  /** Runs a browser-run mutation, then re-reads what its tags name. */
171
171
  async function mutate(ref, input) {
172
172
  const result = await run(ref, input);
173
- return { result, changed: result.ok ? await reread(tagsOf(ref, input)) : false };
173
+ const tags = result.ok ? tagsOf(ref, input) : [];
174
+ return { result, changed: tags.length ? await reread(tags) : false, tags };
174
175
  }
175
176
  return { run, mutate, reread, runs: (ref) => ref in effects };
176
177
  }
package/dist/fetch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
package/dist/files.js CHANGED
@@ -1 +1 @@
1
- export const files = {"chunk-627YWRJ6.js":"var s=a=>(n,o)=>{let t=a.defaultView?.EventSource;if(!t)return;let r=new URL(\"live\",import.meta.url);for(let e of new Set(o))r.searchParams.append(\"tag\",e);new t(r).addEventListener(\"message\",e=>n(JSON.parse(e.data)))};export{s as liveStream};\n","chunk-7HUHKEFT.js":"var s=(t,e,n=[])=>{if(typeof t==\"string\")e.has(t)&&n.push(t);else if(t&&typeof t==\"object\")for(let o of Object.values(t))s(o,e,n);return n};function c(t,e,n){let o=s(e,n);if(!o.length)return t;let r=new FormData;r.append(\"request\",t);for(let f of o)r.append(f,n.get(f));return r}export{c as encode};\n","chunk-CE5MSQHF.js":"var I=function(f,t){return typeof f==\"string\"&&/^\\.\\.?\\//.test(f)?f.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i,function(d,a,o,i,e){return a?t?\".jsx\":\".js\":o&&(!i||!e)?d:o+i+\".\"+e.toLowerCase()+\"js\"}):f},O=Symbol.for(\"hozu.fetchFail\");function j(f,t,d=f,a=\"\"){let o=[],i=a||\"(root)\",e=f;typeof e.$ref==\"string\"&&(e=e.$ref.split(\"/\").slice(1).reduce((r,p)=>r?.[p],d)??{});let h=e.anyOf??e.oneOf;if(Array.isArray(h)){for(let r of h){let p=j(r,t,d,a);if(!p.issues.length)return p}return{issues:[`${i}: matches none of the allowed shapes`],value:t}}\"const\"in e&&t!==e.const&&o.push(`${i}: expected ${JSON.stringify(e.const)}`),Array.isArray(e.enum)&&!e.enum.includes(t)&&o.push(`${i}: expected one of ${e.enum.join(\", \")}`);let b=e.type===void 0?[]:Array.isArray(e.type)?e.type:[e.type],k=r=>r===\"null\"?t===null:r===\"array\"?Array.isArray(t):r===\"integer\"?Number.isInteger(t):r===\"object\"?typeof t==\"object\"&&t!==null&&!Array.isArray(t):typeof t===r;if(b.length&&!b.some(k))return{issues:[`${i}: expected ${b.join(\" or \")}`],value:t};if(typeof t==\"string\"&&(e.minLength!==void 0&&t.length<e.minLength&&o.push(`${i}: too short`),e.maxLength!==void 0&&t.length>e.maxLength&&o.push(`${i}: too long`),e.pattern&&!new RegExp(e.pattern).test(t)&&o.push(`${i}: does not match ${e.pattern}`)),typeof t==\"number\"&&(e.minimum!==void 0&&t<e.minimum&&o.push(`${i}: below ${e.minimum}`),e.maximum!==void 0&&t>e.maximum&&o.push(`${i}: above ${e.maximum}`)),Array.isArray(t)){if(!e.items)return{issues:o,value:t};let r=t.map((p,c)=>{let g=j(e.items,p,d,`${a}${a?\".\":\"\"}${c}`);return o.push(...g.issues),g.value});return{issues:o,value:r}}if(typeof t==\"object\"&&t!==null&&e.properties){let r=t,p={};for(let c of e.required??[])c in r||o.push(`${a}${a?\".\":\"\"}${c}: required`);for(let[c,g]of Object.entries(e.properties))if(c in r){let n=j(g,r[c],d,`${a}${a?\".\":\"\"}${c}`);o.push(...n.issues),p[c]=n.value}if(e.additionalProperties&&typeof e.additionalProperties==\"object\")for(let c of Object.keys(r))c in p||(p[c]=r[c]);return{issues:o,value:p}}return{issues:o,value:t}}var x=f=>({ok:!1,error:\"Unexpected\",data:{message:f}});function S(f,t,d,a,o=i=>import(I(i))){let i=f.effects??{},e=new Map,h=new Set;globalThis.addEventListener?.(\"pagehide\",()=>{for(let n of h)n.abort()});let b=n=>{let u=e.get(n);if(!u){let s=f.fetches?.[n];u=s?o(s):Promise.reject(new Error(`No fetch bundle for ${n}`)),e.set(n,u)}return u},k=(n,u)=>(i[n]?.tags??[]).map(s=>s.param?`${s.tag}(${a.stringify(a.compile(s.param,t)({input:u}))})`:s.tag);async function r(n,u){let s=i[n];if(!s)return x(`${n} does not run in the browser`);let l=j(s.input,u);if(l.issues.length)return s.kind===\"mutation\"?{ok:!1,error:\"Invalid\",data:{message:l.issues.join(\"; \"),fields:{}}}:x(`Invalid input: ${l.issues.join(\"; \")}`);let $=n.indexOf(\".\"),m=new AbortController;h.add(m);try{let y=(await b(n.slice(0,$)))[n.slice($+1)];if(typeof y!=\"function\")return x(`fetch.ts exports no ${n.slice($+1)}`);let w=await y(l.value,{fail:(E,L)=>{throw{[O]:{error:E,data:L}}},signal:m.signal,env:f.env??{}}),A=j(s.output,w);return A.issues.length?x(`${n} returned a value that does not match its output: ${A.issues.join(\"; \")}`):{ok:!0,value:A.value}}catch(y){let w=y?.[O];return w?{ok:!1,error:w.error,data:w.data??null}:x(y instanceof Error?y.message:String(y))}finally{h.delete(m)}}let p=n=>i[n]?.kind===\"query\";async function c(n){let u=!1;for(let s of[...d.data.keys()]){let l=Object.keys(i).find(m=>p(m)&&s.startsWith(m)&&'{[\"tfn0123456789-'.includes(s[m.length]??\"\"));if(!l)continue;let $=JSON.parse(s.slice(l.length));k(l,$).some(m=>n.includes(m))&&(d.data.set(s,await r(l,$)),d.versions.set(s,(d.versions.get(s)??0)+1),u=!0)}return u}async function g(n,u){let s=await r(n,u);return{result:s,changed:s.ok?await c(k(n,u)):!1}}return{run:r,mutate:g,reread:c,runs:n=>n in i}}export{j as checked,S as createRunner};\n","chunk-DRLGN2D4.js":"var a=new WeakSet;function c(n){let s=n.defaultView;if(!s?.IntersectionObserver||a.has(n))return;a.add(n);let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&t.target.dispatchEvent(new s.Event(\"visible\"))}),i=e=>{e instanceof s.Element&&e.hasAttribute(\"data-hozu-visible\")&&r.observe(e);for(let t of e.querySelectorAll(\"[data-hozu-visible]\"))r.observe(t)};i(n),new s.MutationObserver(e=>{for(let t of e)for(let o of t.addedNodes)o.nodeType===1&&i(o)}).observe(n.body,{childList:!0,subtree:!0})}export{c as watch};\n","chunk-G6LC6QZB.js":"function d(e){let r=new AbortController;e.el.setAttribute(\"data-hozu-component\",e.name),e.el.setAttribute(\"data-hozu-component-state\",\"loading\");let i=e.props(),s,l=t=>{s=void 0,e.el.setAttribute(\"data-hozu-component-state\",\"failed\"),e.doc.defaultView?.console.error(`Component ${e.name} failed`,t)},a=()=>{e.load(e.ref.url).then(t=>{if(!r.signal.aborted)try{s=t({el:e.el,props:i,emit:e.emit,signal:r.signal})??void 0,e.el.setAttribute(\"data-hozu-component-state\",\"mounted\")}catch(o){l(o)}},l)},n=e.doc.defaultView;if(e.ref.load===\"eager\"||!n)a();else if(e.ref.load===\"idle\")(n.requestIdleCallback??n.setTimeout)(a);else if(!n.IntersectionObserver)a();else{let t=new n.IntersectionObserver(o=>{o.some(c=>c.isIntersecting)&&(t.disconnect(),a())});t.observe(e.el),r.signal.addEventListener(\"abort\",()=>t.disconnect())}e.watch(()=>{let t=e.props();if(!e.same(t,i)){i=t;try{s?.update?.(t)}catch(o){l(o)}}}),e.own(()=>{r.abort(),s?.destroy?.()})}export{d as mountComponent};\n","chunk-HGZ7KQUC.js":"var a=t=>t.split(\",\").map(n=>Number.parseFloat(n)*(n.trim().endsWith(\"ms\")?1:1e3)||0);function u(t){let n=t.ownerDocument.defaultView?.getComputedStyle(t);if(!n)return 0;let e=(s,o)=>{let r=a(s),i=a(o);return Math.max(0,...r.map((d,f)=>d+(i[f%i.length]??0)))};return Math.max(e(n.transitionDuration,n.transitionDelay),e(n.animationDuration,n.animationDelay))}var p=(t,n)=>{let e=t.ownerDocument.defaultView;if(!e?.requestAnimationFrame)return n();e.requestAnimationFrame(()=>e.requestAnimationFrame(n))};function c(t,n){let e=u(t);if(e===0)return n();let s=!1,o=()=>{s||(s=!0,t.removeEventListener(\"transitionend\",o),t.removeEventListener(\"animationend\",o),n())};t.addEventListener(\"transitionend\",o),t.addEventListener(\"animationend\",o),setTimeout(o,e+50)}var v=t=>t.defaultView?.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches===!0;function m(t,n,e,s){let o=`${n}-${e}-from`,r=`${n}-${e}-active`,i=`${n}-${e}-to`;t.classList.add(o,r),p(t,()=>{t.classList.remove(o),t.classList.add(i),c(t,()=>{t.classList.remove(r,i),s()})})}function l(t,n){for(let e of t)e.nodeType===1&&m(e,n,\"enter\",()=>{})}function L(t,n){for(let e of t)e.nodeType===1?m(e,n,\"leave\",()=>e.remove()):e.remove()}function $(t,n,e){let s=t.getBoundingClientRect(),o=n.left-s.left,r=n.top-s.top;if(!o&&!r)return;let i=t.style;i.transitionDuration=\"0s\",i.transform=`translate(${o}px, ${r}px)`,t.offsetWidth,t.classList.add(`${e}-move`),i.transitionDuration=\"\",i.transform=\"\",c(t,()=>t.classList.remove(`${e}-move`))}export{l as enter,$ as flip,L as leave,v as reduced};\n","client.js":"var St=JSON.stringify;function et(t){if(t===null)return\"null\";switch(typeof t){case\"string\":return St(t);case\"boolean\":return t?\"true\":\"false\";case\"number\":if(!Number.isFinite(t))throw new TypeError(`Non-finite number ${t} is not valid JSON`);return Object.is(t,-0)?\"0\":String(t);case\"object\":{if(Array.isArray(t))return`[${t.map(et).join(\",\")}]`;let e=t,r=Object.keys(e).sort(),o=\"{\";for(let s=0;s<r.length;s++){let a=r[s],u=e[a];if(u===void 0)throw new TypeError(`Undefined value at key \"${a}\"`);o+=`${s?\",\":\"\"}${St(a)}:${et(u)}`}return`${o}}`}default:throw new TypeError(`Value of type ${typeof t} is not valid JSON`)}}function q(t,e){let r=t;for(let o of e){if(typeof r==\"string\"&&o===\"length\")return r.length;if(r===null||typeof r!=\"object\")return null;r=r[o]}return r===void 0?null:r}function Z(t,e,r,o=0){if(o===e.length)return r;let s=e[o];if(Array.isArray(t)){let u=t.slice();return u[Number(s)]=Z(t[Number(s)]??null,e,r,o+1),u}let a=t!==null&&typeof t==\"object\"?t:{};return{...a,[s]:Z(a[s]??null,e,r,o+1)}}function J(t,e){if(t===e)return!0;if(t===null||e===null||typeof t!=\"object\"||typeof e!=\"object\")return!1;if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let o=0;o<t.length;o++)if(!J(t[o],e[o]))return!1;return!0}if(Array.isArray(e))return!1;let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!1;for(let o of r)if(!Object.hasOwn(e,o)||!J(t[o],e[o]))return!1;return!0}var ut=(t,e,r)=>{let[o=\"\",s=\"\"]=t.split(\"?\"),a=o.replace(/\\/:([A-Za-z]\\w*)[?*+]?/g,(j,b)=>[q(e,[b])??[]].flat().map(N=>`/${encodeURIComponent(String(N))}`).join(\"\"))||\"/\",u=s.split(\"&\"),d=\"\";if(r&&typeof r==\"object\")for(let j of Object.keys(r).sort()){let b=r[j],y=`${encodeURIComponent(j)}=${encodeURIComponent(String(b))}`;b!==null&&typeof b!=\"object\"&&!u.includes(y)&&(d+=`${d&&\"&\"}${y}`)}return d?`${a}?${d}`:a};var nt=class extends Error{name=\"CompileError\"};function E(t,e){if(\"literal\"in t||\"formRef\"in t){let a=\"literal\"in t?t.literal:t.formRef;return()=>a}if(\"object\"in t){let a=Object.entries(t.object).map(([u,d])=>[u,E(d,e)]);return u=>{let d={};for(let[j,b]of a)d[j]=b(u);return d}}if(\"fn\"in t){let a=e[t.fn];if(!a)throw new nt(`No implementation bound for fn ${t.fn}`);let u=E(t.arg,e);return d=>a(u(d))}if(\"link\"in t){let a=t.link,u=E(t.params,e),d=E(t.search,e);return j=>ut(j.routes?.[a]??\"\",u(j),d(j))}if(\"test\"in t){let a=at(t.test,e);return u=>a(u)}if(\"endpoint\"in t){let a=t.endpoint,u=E(t.input??{literal:null},e);return d=>ut(d.routes?.[a]??\"\",null,u(d))}let r=t,{path:o}=r;if(r.ref===\"binding\"){let a=r.depth;return o.length?u=>q(u.bindings?.[a],o):u=>u.bindings?.[a]??null}if(r.ref===\"dom\"){let[a,...u]=o;return d=>d.dom&&a?q(d.dom(a),u)??(a===\"formAll\"?[]:null):null}let s=r.ref;return o.length===0?a=>a[s]??null:a=>q(a[s],o)}var P=t=>typeof t==\"number\"||typeof t==\"string\"?t:Number.NaN;function at(t,e){switch(t.op){case\"and\":{let r=t.args.map(o=>at(o,e));return o=>r.every(s=>s(o))}case\"or\":{let r=t.args.map(o=>at(o,e));return o=>r.some(s=>s(o))}case\"not\":{let r=at(t.arg,e);return o=>!r(o)}case\"fn\":{let r=E({fn:t.fn,arg:t.arg},e);return o=>r(o)===!0}default:{let r=E(t.left,e),o=E(t.right,e);switch(t.op){case\"eq\":return s=>J(r(s),o(s));case\"neq\":return s=>!J(r(s),o(s));case\"lt\":return s=>P(r(s))<P(o(s));case\"lte\":return s=>P(r(s))<=P(o(s));case\"gt\":return s=>P(r(s))>P(o(s));default:return s=>P(r(s))>=P(o(s))}}}}function Ut(t,e){let{path:r}=t,o=E(t.value,e);switch(t.op){case\"set\":return(s,a)=>Z(s,r,o({...a,context:s}));case\"append\":return(s,a)=>{let u=q(s,r);return Z(s,r,[...Array.isArray(u)?u:[],o({...a,context:s})])};case\"inc\":return(s,a)=>Z(s,r,Number(q(s,r)??0)+Number(o({...a,context:s})));case\"removeWhere\":{let s=t.key;return(a,u)=>{let d=q(a,r),j=o({...u,context:a}),b=Array.isArray(d)?d:[];return Z(a,r,b.filter(y=>!J(s===null?y:y!==null&&typeof y==\"object\"&&!Array.isArray(y)?y[s]:null,j)))}}}}var qt=(t,e)=>r=>t({...r,routes:e});function gt(t,e={},r={}){let o=t.machine;if(!o)throw new nt(`Feature ${t.id} has no machine`);let s=Object.keys(o.states),a=new Map(s.map((y,N)=>[y,N])),u=y=>{let N=a.get(y);if(N===void 0)throw new nt(`Unknown state \"${y}\" in ${t.id}`);return N},d=[],j=(y,N)=>(d.push(N),{id:N,guard:y.guard?at(y.guard,e):null,target:u(y.target),assign:y.assign.map(C=>Ut(C,e)),navigate:y.navigate?qt(E(y.navigate,e),r):null}),b=s.map(y=>{let N=o.states[y],C=new Map;for(let[A,k]of Object.entries(N.on))C.set(A,k.map((V,I)=>j(V,`${y}/on/${A}/${I}`)));let D=new Map;N.after.forEach((A,k)=>{let V=j(A.transition,`${y}/after/${k}`);D.set(A.ms,[...D.get(A.ms)??[],V])});let M=N.invoke;return{name:y,final:N.final,on:C,invoke:M&&{effect:M.effect,input:E(M.input,e),done:M.done.map((A,k)=>j(A,`${y}/invoke/done/${k}`)),failed:new Map(Object.entries(M.failed).map(([A,k])=>[A,k.map((V,I)=>j(V,`${y}/invoke/failed/${A}/${I}`))]))},after:D,timers:[...D.keys()].sort((A,k)=>A-k)}});return{feature:t.id,initial:u(o.initial),initialContext:o.initialContext,states:b,index:a,transitions:d}}function jt(t,e,r,o,s){let a=t.states[e];a.invoke&&s.push({type:\"invoke\",entry:o,effect:a.invoke.effect,input:a.invoke.input({context:r})});for(let u of a.timers)s.push({type:\"timer\",entry:o,ms:u})}function Ot(t,e,r,o=1){let s=t.index.get(e);if(s===void 0)throw new Error(`Unknown state \"${e}\" in ${t.feature}`);let a=[];return jt(t,s,r,o,a),{snapshot:{state:e,context:r,entry:o},effects:a,taken:null}}var yt=t=>Ot(t,t.states[t.initial].name,t.initialContext),rt=t=>({snapshot:t,effects:[],taken:null});function pt(t,e,r,o){if(!r)return rt(e);for(let s of r){if(s.guard&&!s.guard(o))continue;let a=e.context;for(let j of s.assign)a=j(a,o);let u=e.entry+1,d=s.navigate===null?[]:[{type:\"navigate\",url:String(s.navigate(o))}];return jt(t,s.target,a,u,d),{snapshot:{state:t.states[s.target].name,context:a,entry:u},effects:d,taken:s.id}}return rt(e)}function ht(t,e,r){let o=t.states[t.index.get(e.state)??-1];if(!o||o.final)return rt(e);let s=e.context;switch(r.type){case\"event\":return pt(t,e,o.on.get(r.event),{context:s,event:r.payload});case\"done\":return r.entry!==e.entry||!o.invoke?rt(e):pt(t,e,o.invoke.done,{context:s,result:r.result});case\"failed\":{if(r.entry!==e.entry||!o.invoke)return rt(e);let a=o.invoke.failed,u=a.has(r.error),d=u?r.data:{message:Dt(r.data,r.error)};return pt(t,e,a.get(u?r.error:\"Unexpected\"),{context:s,error:d})}case\"timer\":return r.entry!==e.entry?rt(e):pt(t,e,o.after.get(r.ms),{context:s})}}function Dt(t,e){return t!==null&&typeof t==\"object\"&&!Array.isArray(t)&&typeof t.message==\"string\"?t.message:e}function Nt(t,e){let r=Object.create(null),o=Object.create(null),s=(a,u)=>{let d=typeof u==\"string\"?u:u.name,j=o[a];j?j.push(d):(o[a]=[d],r[a]=d)};for(let[a,u]of t)s(a,u);return e&&s(...e),{first:r,all:o}}var mt=\"http://www.w3.org/2000/svg\",zt=new Set([\"contenteditable\",\"draggable\",\"spellcheck\"]),W=t=>t==null?\"\":typeof t==\"object\"?JSON.stringify(t):String(t);function $t(t,e){return e==null?null:typeof e==\"boolean\"?t.startsWith(\"aria-\")||t.startsWith(\"data-\")||zt.has(t)?String(e):e?\"\":null:W(e)}var At=new Set([\"value\",\"checked\",\"selected\",\"muted\"]),xt=new Set([\"scroll\",\"wheel\",\"touchstart\",\"touchmove\",\"touchend\",\"pointermove\",\"mousemove\"]),_t=t=>typeof t==\"number\"&&!Number.isNaN(t)?t:null,lt=new Map,Bt=t=>t?[...t].map(e=>{let r=`u${lt.size+1}`;return lt.set(r,e),{name:e.name,size:e.size,type:e.type,token:r}}):[],bt=t=>e=>{let r=t.target;switch(e){case\"value\":return typeof r?.value==\"string\"?r.value:\"\";case\"checked\":return r?.checked===!0;case\"valueAsNumber\":return _t(r?.valueAsNumber);case\"files\":return Bt(r?.files??t.dataTransfer?.files);case\"form\":case\"formAll\":{let o=t.target,s=o.ownerDocument.defaultView,a=Nt(new(s?.FormData??FormData)(o,t.submitter));return e===\"form\"?a.first:a.all}case\"open\":return r?.open===!0;case\"returnValue\":return typeof r?.returnValue==\"string\"?r.returnValue:\"\";default:{let o=e in t?t[e]:r?.[e];return typeof o==\"number\"?_t(o):typeof o==\"string\"||typeof o==\"boolean\"?o:null}}},Tt=(t,e)=>t?e.length?`${t} ${e.join(\" \")}`:t:e.join(\" \");var kt=t=>{switch(t.op){case\"and\":case\"or\":return t.args.some(kt);case\"not\":return kt(t.arg);case\"fn\":return G(t.arg);default:return G(t.left)||G(t.right)}},G=t=>\"ref\"in t?t.ref===\"context\"||t.ref===\"binding\":\"object\"in t?Object.values(t.object).some(G):\"fn\"in t?G(t.arg):\"test\"in t&&kt(t.test),Ct=(t,e)=>t+et(e),Ft=t=>t instanceof Map?{data:t,versions:new Map}:t;var ot=(t,e)=>t!==null&&t.nodeType===8&&t.data===e;function K(t,e){let r=[t],o=t;for(;o!==e&&(o=o.nextSibling,!!o);)r.push(o);return r}function wt(t,e){let r=t.next?t.next.previousSibling:t.parent.lastChild;return e(),[r?r.nextSibling:t.parent.firstChild,t.next?t.next.previousSibling:t.parent.lastChild]}function Et(t,e){for(;t.nextSibling&&t.nextSibling!==e;)t.nextSibling.remove()}function Mt(t,e){let{machine:r,fns:o={},params:s=null,search:a=null,routes:u={}}=e,{data:d}=Ft(e.payload),j=[],b=new Set,y=r?e.snapshot?null:yt(r):null,N=e.snapshot??y?.snapshot??null,C=[],D=new Set,M=new Set,A=new WeakMap,k=(n,l,i)=>{let g=A.get(n);return g||(g=E(n,o),A.set(n,g)),g({context:N?.context??null,bindings:l,params:s,search:a,routes:u,...i?{dom:i}:{}})},V=(n,l,i,g)=>{let w=k(l,i);g(w),G(l)&&n.push(()=>{let f=k(l,i);f!==w&&(w=f,g(f))})},I=(n,l)=>{if(n.claim&&ot(n.next,l)){let i=n.next;return n.next=i.nextSibling,i}return n.parent.insertBefore(t.createComment(l),n.next)},st=n=>{if(!n.claim||!ot(n.next,\"[\"))return;let l=0;for(;n.next;){let i=n.next;if(n.next=i.nextSibling,ot(i,\"[\"))l++;else if(ot(i,\"]\")&&--l===0)return}},R=(n,l,i,g,w)=>{switch(n.kind){case\"text\":{let f;i.claim&&i.next?.nodeType===3?(f=i.next,i.next=f.nextSibling):f=i.parent.insertBefore(t.createTextNode(\"\"),i.next),i.claim&&ot(i.next,\"\")&&(i.next=i.next.nextSibling),V(g,n.value,l,h=>{let c=W(h);f.data!==c&&(f.data=c)});return}case\"el\":{let f=n.tag,h=f===\"svg\"?mt:w,c,p=i.claim&&i.next?.nodeType===1&&i.next.localName===f;p?(c=i.next,i.next=c.nextSibling):(c=h?t.createElementNS(h,f):t.createElement(f),n.class&&c.setAttribute(\"class\",n.class),i.parent.insertBefore(c,i.next));for(let m in n.attrs){let v=n.attrs[m],U=At.has(m)&&m in c;p&&!G(v)||V(g,v,l,z=>{if(U){let B=c,ct=m===\"value\"?W(z):z===!0;B[m]!==ct&&(B[m]=ct);return}let L=$t(m,z);L===null?c.removeAttribute(m):c.getAttribute(m)!==L&&c.setAttribute(m,L)})}F(c,n,l,g);for(let m in n.on){let v=n.on[m];c.addEventListener(m,U=>{m===\"submit\"&&U.preventDefault(),_({type:\"event\",event:v.event,payload:k(v.payload,l,bt(U))})},xt.has(m)?{passive:!0}:void 0)}if(f===\"textarea\")return;let x={parent:c,next:p?c.firstChild:null,claim:p},$=f===\"foreignObject\"?null:h;for(let m of n.children)R(m,l,x,g,$);return}case\"when\":{let f=()=>N?n.states.includes(N.state):!1;Q(i,g,f,(h,c)=>{if(f())for(let p of n.children)R(p,l,h,c,w)},n.motion);return}case\"query\":{let f=l;Q(i,g,()=>{let c=Ct(n.query,k(n.input,l)),p=d.get(c);return p&&f!==l&&f.splice(0,f.length,...l,p.ok?p.value:p.data),`${c}|${p?p.ok?\"ready\":n.failed[p.error]?p.error:\"Unexpected\":\"\"}`},(c,p)=>{let x=k(n.input,l),$=Ct(n.query,x),m=d.get($);if(f=l,!m){(!c.claim||e.readsInBrowser?.(n.query))&&vt($,n.query,x),n.pending&&R(n.pending,l,c,p,w);return}let v=m.ok?n.ready:n.failed[m.error]??n.failed.Unexpected;f=[...l,m.ok?m.value:m.data],v&&R(v,f,c,p,w)});return}case\"each\":S(n,l,i,g,w);return;case\"component\":X(n,l,i,g);return;case\"if\":{let f=()=>k({test:n.test},l)===!0;Q(i,g,f,(h,c)=>{let p=f()?n.ifTrue:n.ifFalse;for(let x of p)R(x,l,h,c,w)},n.motion);return}case\"html\":{let f=I(i,\"[\"),h;if(i.claim){for(;i.next&&!ot(i.next,\"]\");)i.next=i.next.nextSibling;h=i.next??i.parent.appendChild(t.createComment(\"]\")),i.next=h.nextSibling}else h=I(i,\"]\");let c=i.claim?W(k(n.value,l)):null;V(g,n.value,l,p=>{let x=W(p);if(x===c)return;c=x,Et(f,h);let $=t.createElement(\"template\");$.innerHTML=x,h.parentNode.insertBefore($.content,h)});return}case\"global\":{let f=I(i,\"g\"),h=n.target===\"window\"?t.defaultView:t,c=[];for(let p in n.on){let x=n.on[p],$=v=>_({type:\"event\",event:x.event,payload:k(x.payload,l,bt(v))}),m=xt.has(p)?{passive:!0}:void 0;h.addEventListener(p,$,m),c.push(()=>h.removeEventListener(p,$))}M.add({el:f,stop:()=>c.forEach(p=>p())});return}default:st(i)}},F=(n,l,i,g)=>{let w=Object.entries(l.toggle);if(w.length){let f=()=>{let c=[];for(let[p,x]of w)k(x,i)===!0&&c.push(p);return Tt(l.class,c)},h=f();n.getAttribute(\"class\")!==h&&n.setAttribute(\"class\",h),w.some(([,c])=>G(c))&&g.push(()=>{let c=f();c!==h&&(h=c,n.setAttribute(\"class\",c))})}for(let f in l.vars)V(g,l.vars[f],i,h=>{let c=n.style;h===null||h===\"\"?c.removeProperty(f):c.getPropertyValue(f)!==W(h)&&c.setProperty(f,W(h))})},X=(n,l,i,g)=>{let w=n.use.component,f=e.components?.[w],h=f?.tag??\"div\",c,p=i.claim&&i.next?.nodeType===1&&i.next.localName===h;if(p?(c=i.next,i.next=c.nextSibling):(c=t.createElement(h),n.class&&c.setAttribute(\"class\",n.class),i.parent.insertBefore(c,i.next)),F(c,n,l,g),!p||n.children.length){let x={parent:c,next:p?c.firstChild:null,claim:p};for(let $ of n.children)R($,l,x,g,null)}f||console.error(`Hozu: component ${w} has no client code (bundleComponents)`),!(!f||!e.loadComponent||!e.mountComponent)&&e.mountComponent({el:c,ref:f,name:w,doc:t,props:()=>k(n.props,l),emit:(x,$)=>{let m=n.on[x];m&&_({type:\"event\",event:m.event,payload:k(m.payload,l,v=>v===\"detail\"?$:null)})},load:e.loadComponent,watch:x=>g.push(x),own:x=>M.add({el:c,stop:x}),same:J})},it=new Set,vt=(n,l,i)=>{!e.onQuery||it.has(n)||(it.add(n),e.onQuery(l,i).then(g=>{it.delete(n),d.set(n,g);for(let w of C)w();Y()}))},Y=()=>{for(let n=C.length-1;n>=0;n--)D.delete(C[n])&&C.splice(n,1);for(let n of M)n.el.isConnected||(n.stop(),M.delete(n))},Q=(n,l,i,g,w=null)=>{let f=I(n,\"[\"),h=i(),c=[];g(n,c);let p=I(n,\"]\");l.push(()=>{let x=i();if(x===h){for(let U of c)U();return}h=x,c=[];let $=e.motion;if(!w||!$||$.reduced(t)){Et(f,p),g({parent:p.parentNode,next:p,claim:!1},c);return}$.leave(f.nextSibling===p?[]:K(f.nextSibling,p.previousSibling),w);let[m,v]=wt({parent:p.parentNode,next:p,claim:!1},()=>g({parent:p.parentNode,next:p,claim:!1},c));m&&v&&m!==p&&$.enter(K(m,v),w)})},S=(n,l,i,g,w)=>{let f=I(i,\"[\"),h=m=>{let v=n.key===null?m:q(m,[n.key]);return typeof v==\"string\"?`s${v}`:JSON.stringify(v)},c=()=>{let m=k(n.source,l);return Array.isArray(m)?m:[]},p=(m,v)=>{let U=[...l,m],z=[],[L,B]=wt(v,()=>R(n.item,U,v,z,w));return{key:h(m),value:m,scope:U,block:z,first:L,last:B}},x=c().map(m=>p(m,i)),$=I(i,\"]\");g.push(()=>{let m=e.motion,v=n.motion&&m&&!m.reduced(t)?n.motion:null,U=v?new Map(x.flatMap(O=>O.first.nodeType===1?[[O,O.first.getBoundingClientRect()]]:[])):null,z=new Map(x.map(O=>[O.key,O])),L=new Set,B=[];for(let O of c()){let H=h(O),tt=z.get(H);if(tt){z.delete(H),tt.value=O,tt.scope.splice(0,tt.scope.length,...l,O);for(let ft of tt.block)ft();B.push(tt)}else{let ft=p(O,{parent:t.createDocumentFragment(),next:null,claim:!1});L.add(ft),B.push(ft)}}for(let O of z.values())if(v)m.leave(K(O.first,O.last),v);else for(let H of K(O.first,O.last))H.remove();let ct=$.parentNode,dt=f.nextSibling??$;for(let O of B)if(O.first===dt)dt=O.last.nextSibling??$;else for(let H of K(O.first,O.last))ct.insertBefore(H,dt);if(x=B,!!v)for(let O of B)if(L.has(O))m.enter(K(O.first,O.last),v);else{let H=U?.get(O);H&&m.flip(O.first,H,v)}})},T=n=>{for(let l of n.effects)if(l.type===\"navigate\")e.onNavigate?.(l.url);else if(l.type===\"timer\"){let i=setTimeout(()=>{b.delete(i),_({type:\"timer\",entry:l.entry,ms:l.ms})},l.ms);b.add(i)}else e.onInvoke?.(l.effect,l.input).then(i=>_(i.ok?{type:\"done\",entry:l.entry,result:i.value}:{type:\"failed\",entry:l.entry,error:i.error,data:i.data}))};function _(n){if(!r||!N)return;let l=ht(r,N,n);if(l.taken){N=l.snapshot;for(let i of C)i();Y(),T(l)}}return{attach(n,l,i,g,w){let f={parent:n,next:l,claim:w},h=n.namespaceURI===mt?mt:null,c=[],[p,x]=wt(f,()=>R(i,g,f,c,h));p&&x&&j.push([p,x]);let $=p?.isConnected===!0,m=()=>{if($&&!p.isConnected)D.add(m);else for(let v of c)v()};C.push(m)},start(){y&&T(y),y=null},sync:()=>{for(let n of C)n();Y()},dispatch:_,snapshot:()=>N,destroy:()=>{for(let n of b)clearTimeout(n);b.clear();for(let n of M)n.stop();M.clear(),C.length=0;for(let[n,l]of j)for(let i of K(n,l))i.remove();j.length=0}}}var Vt=function(t,e){return typeof t==\"string\"&&/^\\.\\.?\\//.test(t)?t.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i,function(r,o,s,a,u){return o?e?\".jsx\":\".js\":s&&(!a||!u)?r:s+a+\".\"+u.toLowerCase()+\"js\"}):t},Ht=t=>t.islands.flatMap(([e,r,...o])=>{let s=t.ids[e],a=s.slice(0,s.indexOf(\".\"));return o.map(u=>({feature:a,node:s,scope:[...Array(r).fill(null),...u]}))}),It=t=>new URL(t,import.meta.url),Jt=async(t,e,r)=>{let o=JSON.stringify({effect:t,input:e,keys:r}),s=lt.size?await(await import(\"./chunk-7HUHKEFT.js\")).encode(o,e,lt):o;return await(await fetch(It(\"effect\"),{method:\"POST\",headers:typeof s==\"string\"?{\"content-type\":\"application/json\"}:{},body:s})).json()},Lt=async(t,e)=>await(await fetch(It(\"query\"),{method:\"POST\",headers:{\"content-type\":\"application/json\"},body:JSON.stringify({query:t,input:e})})).json(),Zt=async t=>(await import(Vt(t))).default,Pt=async t=>(await import(Vt(t))).fns;async function Rt(t,{transport:e=Jt,query:r=Lt,live:o,loadFns:s=Pt,loadComponent:a=Zt,loadFetch:u}={}){let d=new Map,j=t.getElementById(\"hozu-payload\");if(!j?.textContent)return d;let b=JSON.parse(j.textContent),y={data:new Map(b.data),versions:new Map},N=b.fns?await s(b.fns):{},{components:C,routes:D}=b,M=b.motion?await import(\"./chunk-HGZ7KQUC.js\"):void 0,A=Object.keys(C).length?(await import(\"./chunk-G6LC6QZB.js\")).mountComponent:void 0;b.visible&&import(\"./chunk-DRLGN2D4.js\").then(S=>S.watch(t));let k=b.effects?(await import(\"./chunk-CE5MSQHF.js\")).createRunner(b,N,y,{stringify:et,compile:E},u):null,V=new Map,I=(S,T)=>{let _=S+JSON.stringify(T),n=V.get(_);return n||(n=(k?.runs(S)?k.run(S,T):r(S,T)).finally(()=>V.delete(_)),V.set(_,n)),n},st=Object.entries(b.live??{}),R=async S=>{if(F)return void X.push(...S);let T=st.filter(([,_])=>_.tags.some(n=>S.includes(n)));for(let[_,n]of T)y.data.set(_,await r(n.query,n.input));if(T.length)for(let _ of d.values())_.sync()},F=0,X=[],it=async(S,T)=>{if(k?.runs(S)){F++;let{result:g,changed:w}=await k.mutate(S,T).finally(()=>F--);if(w)for(let f of d.values())f.sync();return g}F++;let{result:_,refreshed:n,session:l,tags:i}=await e(S,T,[...y.data.keys()]).finally(()=>F--);if(i&&k&&await k.reread(i))for(let g of d.values())g.sync();l&&(y.data.clear(),X=[]);for(let[g,w]of n)y.data.set(g,w),y.versions.set(g,(y.versions.get(g)??0)+1);if(n.length||l)for(let g of d.values())g.sync();return!F&&X.length&&R(X.splice(0)),_},vt=null;for(let[S,T]of Object.entries(b.features)){let _=b.snapshots?.[S];d.set(S,Mt(t,{machine:T?gt({id:S,machine:T},N,D):null,payload:y,params:b.params,search:b.search,..._?{snapshot:_}:{},fns:N,components:C,routes:D,motion:M,mountComponent:A,loadComponent:a,onQuery:I,onInvoke:it,...k?{readsInBrowser:n=>k.runs(n)}:{},onNavigate:n=>t.defaultView?.location.assign(n)}))}let Y=[],Q=t.createTreeWalker(t.body??t,128);for(;Q.nextNode();)Q.currentNode.data===\"i\"&&Y.push(Q.currentNode);Ht(b).forEach((S,T)=>{let _=Y[T],n=b.nodes[S.node];_?.parentNode&&n&&d.get(S.feature)?.attach(_.parentNode,_.nextSibling,n,S.scope,!0)});for(let S of d.values())S.sync();for(let S of d.values())S.start();return st.length&&(o??(await import(\"./chunk-627YWRJ6.js\")).liveStream(t))(R,st.flatMap(([,S])=>S.tags)),t.documentElement.setAttribute(\"data-hozu-ready\",\"\"),d}Rt(document);\n"}
1
+ export const files = {"chunk-627YWRJ6.js":"var s=a=>(n,o)=>{let t=a.defaultView?.EventSource;if(!t)return;let r=new URL(\"live\",import.meta.url);for(let e of new Set(o))r.searchParams.append(\"tag\",e);new t(r).addEventListener(\"message\",e=>n(JSON.parse(e.data)))};export{s as liveStream};\n","chunk-7HUHKEFT.js":"var s=(t,e,n=[])=>{if(typeof t==\"string\")e.has(t)&&n.push(t);else if(t&&typeof t==\"object\")for(let o of Object.values(t))s(o,e,n);return n};function c(t,e,n){let o=s(e,n);if(!o.length)return t;let r=new FormData;r.append(\"request\",t);for(let f of o)r.append(f,n.get(f));return r}export{c as encode};\n","chunk-DRLGN2D4.js":"var a=new WeakSet;function c(n){let s=n.defaultView;if(!s?.IntersectionObserver||a.has(n))return;a.add(n);let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&t.target.dispatchEvent(new s.Event(\"visible\"))}),i=e=>{e instanceof s.Element&&e.hasAttribute(\"data-hozu-visible\")&&r.observe(e);for(let t of e.querySelectorAll(\"[data-hozu-visible]\"))r.observe(t)};i(n),new s.MutationObserver(e=>{for(let t of e)for(let o of t.addedNodes)o.nodeType===1&&i(o)}).observe(n.body,{childList:!0,subtree:!0})}export{c as watch};\n","chunk-G6LC6QZB.js":"function d(e){let r=new AbortController;e.el.setAttribute(\"data-hozu-component\",e.name),e.el.setAttribute(\"data-hozu-component-state\",\"loading\");let i=e.props(),s,l=t=>{s=void 0,e.el.setAttribute(\"data-hozu-component-state\",\"failed\"),e.doc.defaultView?.console.error(`Component ${e.name} failed`,t)},a=()=>{e.load(e.ref.url).then(t=>{if(!r.signal.aborted)try{s=t({el:e.el,props:i,emit:e.emit,signal:r.signal})??void 0,e.el.setAttribute(\"data-hozu-component-state\",\"mounted\")}catch(o){l(o)}},l)},n=e.doc.defaultView;if(e.ref.load===\"eager\"||!n)a();else if(e.ref.load===\"idle\")(n.requestIdleCallback??n.setTimeout)(a);else if(!n.IntersectionObserver)a();else{let t=new n.IntersectionObserver(o=>{o.some(c=>c.isIntersecting)&&(t.disconnect(),a())});t.observe(e.el),r.signal.addEventListener(\"abort\",()=>t.disconnect())}e.watch(()=>{let t=e.props();if(!e.same(t,i)){i=t;try{s?.update?.(t)}catch(o){l(o)}}}),e.own(()=>{r.abort(),s?.destroy?.()})}export{d as mountComponent};\n","chunk-HGZ7KQUC.js":"var a=t=>t.split(\",\").map(n=>Number.parseFloat(n)*(n.trim().endsWith(\"ms\")?1:1e3)||0);function u(t){let n=t.ownerDocument.defaultView?.getComputedStyle(t);if(!n)return 0;let e=(s,o)=>{let r=a(s),i=a(o);return Math.max(0,...r.map((d,f)=>d+(i[f%i.length]??0)))};return Math.max(e(n.transitionDuration,n.transitionDelay),e(n.animationDuration,n.animationDelay))}var p=(t,n)=>{let e=t.ownerDocument.defaultView;if(!e?.requestAnimationFrame)return n();e.requestAnimationFrame(()=>e.requestAnimationFrame(n))};function c(t,n){let e=u(t);if(e===0)return n();let s=!1,o=()=>{s||(s=!0,t.removeEventListener(\"transitionend\",o),t.removeEventListener(\"animationend\",o),n())};t.addEventListener(\"transitionend\",o),t.addEventListener(\"animationend\",o),setTimeout(o,e+50)}var v=t=>t.defaultView?.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches===!0;function m(t,n,e,s){let o=`${n}-${e}-from`,r=`${n}-${e}-active`,i=`${n}-${e}-to`;t.classList.add(o,r),p(t,()=>{t.classList.remove(o),t.classList.add(i),c(t,()=>{t.classList.remove(r,i),s()})})}function l(t,n){for(let e of t)e.nodeType===1&&m(e,n,\"enter\",()=>{})}function L(t,n){for(let e of t)e.nodeType===1?m(e,n,\"leave\",()=>e.remove()):e.remove()}function $(t,n,e){let s=t.getBoundingClientRect(),o=n.left-s.left,r=n.top-s.top;if(!o&&!r)return;let i=t.style;i.transitionDuration=\"0s\",i.transform=`translate(${o}px, ${r}px)`,t.offsetWidth,t.classList.add(`${e}-move`),i.transitionDuration=\"\",i.transform=\"\",c(t,()=>t.classList.remove(`${e}-move`))}export{l as enter,$ as flip,L as leave,v as reduced};\n","chunk-QPPJ5CKU.js":"var I=function(f,t){return typeof f==\"string\"&&/^\\.\\.?\\//.test(f)?f.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i,function(d,a,o,i,e){return a?t?\".jsx\":\".js\":o&&(!i||!e)?d:o+i+\".\"+e.toLowerCase()+\"js\"}):f},O=Symbol.for(\"hozu.fetchFail\");function j(f,t,d=f,a=\"\"){let o=[],i=a||\"(root)\",e=f;typeof e.$ref==\"string\"&&(e=e.$ref.split(\"/\").slice(1).reduce((r,p)=>r?.[p],d)??{});let h=e.anyOf??e.oneOf;if(Array.isArray(h)){for(let r of h){let p=j(r,t,d,a);if(!p.issues.length)return p}return{issues:[`${i}: matches none of the allowed shapes`],value:t}}\"const\"in e&&t!==e.const&&o.push(`${i}: expected ${JSON.stringify(e.const)}`),Array.isArray(e.enum)&&!e.enum.includes(t)&&o.push(`${i}: expected one of ${e.enum.join(\", \")}`);let b=e.type===void 0?[]:Array.isArray(e.type)?e.type:[e.type],k=r=>r===\"null\"?t===null:r===\"array\"?Array.isArray(t):r===\"integer\"?Number.isInteger(t):r===\"object\"?typeof t==\"object\"&&t!==null&&!Array.isArray(t):typeof t===r;if(b.length&&!b.some(k))return{issues:[`${i}: expected ${b.join(\" or \")}`],value:t};if(typeof t==\"string\"&&(e.minLength!==void 0&&t.length<e.minLength&&o.push(`${i}: too short`),e.maxLength!==void 0&&t.length>e.maxLength&&o.push(`${i}: too long`),e.pattern&&!new RegExp(e.pattern).test(t)&&o.push(`${i}: does not match ${e.pattern}`)),typeof t==\"number\"&&(e.minimum!==void 0&&t<e.minimum&&o.push(`${i}: below ${e.minimum}`),e.maximum!==void 0&&t>e.maximum&&o.push(`${i}: above ${e.maximum}`)),Array.isArray(t)){if(!e.items)return{issues:o,value:t};let r=t.map((p,c)=>{let g=j(e.items,p,d,`${a}${a?\".\":\"\"}${c}`);return o.push(...g.issues),g.value});return{issues:o,value:r}}if(typeof t==\"object\"&&t!==null&&e.properties){let r=t,p={};for(let c of e.required??[])c in r||o.push(`${a}${a?\".\":\"\"}${c}: required`);for(let[c,g]of Object.entries(e.properties))if(c in r){let n=j(g,r[c],d,`${a}${a?\".\":\"\"}${c}`);o.push(...n.issues),p[c]=n.value}if(e.additionalProperties&&typeof e.additionalProperties==\"object\")for(let c of Object.keys(r))c in p||(p[c]=r[c]);return{issues:o,value:p}}return{issues:o,value:t}}var x=f=>({ok:!1,error:\"Unexpected\",data:{message:f}});function S(f,t,d,a,o=i=>import(I(i))){let i=f.effects??{},e=new Map,h=new Set;globalThis.addEventListener?.(\"pagehide\",()=>{for(let n of h)n.abort()});let b=n=>{let u=e.get(n);if(!u){let s=f.fetches?.[n];u=s?o(s):Promise.reject(new Error(`No fetch bundle for ${n}`)),e.set(n,u)}return u},k=(n,u)=>(i[n]?.tags??[]).map(s=>s.param?`${s.tag}(${a.stringify(a.compile(s.param,t)({input:u}))})`:s.tag);async function r(n,u){let s=i[n];if(!s)return x(`${n} does not run in the browser`);let l=j(s.input,u);if(l.issues.length)return s.kind===\"mutation\"?{ok:!1,error:\"Invalid\",data:{message:l.issues.join(\"; \"),fields:{}}}:x(`Invalid input: ${l.issues.join(\"; \")}`);let $=n.indexOf(\".\"),m=new AbortController;h.add(m);try{let y=(await b(n.slice(0,$)))[n.slice($+1)];if(typeof y!=\"function\")return x(`fetch.ts exports no ${n.slice($+1)}`);let w=await y(l.value,{fail:(E,L)=>{throw{[O]:{error:E,data:L}}},signal:m.signal,env:f.env??{}}),A=j(s.output,w);return A.issues.length?x(`${n} returned a value that does not match its output: ${A.issues.join(\"; \")}`):{ok:!0,value:A.value}}catch(y){let w=y?.[O];return w?{ok:!1,error:w.error,data:w.data??null}:x(y instanceof Error?y.message:String(y))}finally{h.delete(m)}}let p=n=>i[n]?.kind===\"query\";async function c(n){let u=!1;for(let s of[...d.data.keys()]){let l=Object.keys(i).find(m=>p(m)&&s.startsWith(m)&&'{[\"tfn0123456789-'.includes(s[m.length]??\"\"));if(!l)continue;let $=JSON.parse(s.slice(l.length));k(l,$).some(m=>n.includes(m))&&(d.data.set(s,await r(l,$)),d.versions.set(s,(d.versions.get(s)??0)+1),u=!0)}return u}async function g(n,u){let s=await r(n,u),l=s.ok?k(n,u):[];return{result:s,changed:l.length?await c(l):!1,tags:l}}return{run:r,mutate:g,reread:c,runs:n=>n in i}}export{j as checked,S as createRunner};\n","client.js":"var St=JSON.stringify;function Y(t){if(t===null)return\"null\";switch(typeof t){case\"string\":return St(t);case\"boolean\":return t?\"true\":\"false\";case\"number\":if(!Number.isFinite(t))throw new TypeError(`Non-finite number ${t} is not valid JSON`);return Object.is(t,-0)?\"0\":String(t);case\"object\":{if(Array.isArray(t))return`[${t.map(Y).join(\",\")}]`;let e=t,r=Object.keys(e).sort(),o=\"{\";for(let s=0;s<r.length;s++){let l=r[s],u=e[l];if(u===void 0)throw new TypeError(`Undefined value at key \"${l}\"`);o+=`${s?\",\":\"\"}${St(l)}:${Y(u)}`}return`${o}}`}default:throw new TypeError(`Value of type ${typeof t} is not valid JSON`)}}function U(t,e){let r=t;for(let o of e){if(typeof r==\"string\"&&o===\"length\")return r.length;if(r===null||typeof r!=\"object\")return null;r=r[o]}return r===void 0?null:r}function L(t,e,r,o=0){if(o===e.length)return r;let s=e[o];if(Array.isArray(t)){let u=t.slice();return u[Number(s)]=L(t[Number(s)]??null,e,r,o+1),u}let l=t!==null&&typeof t==\"object\"?t:{};return{...l,[s]:L(l[s]??null,e,r,o+1)}}function H(t,e){if(t===e)return!0;if(t===null||e===null||typeof t!=\"object\"||typeof e!=\"object\")return!1;if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let o=0;o<t.length;o++)if(!H(t[o],e[o]))return!1;return!0}if(Array.isArray(e))return!1;let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!1;for(let o of r)if(!Object.hasOwn(e,o)||!H(t[o],e[o]))return!1;return!0}var ut=(t,e,r)=>{let[o=\"\",s=\"\"]=t.split(\"?\"),l=o.replace(/\\/:([A-Za-z]\\w*)[?*+]?/g,(j,w)=>[U(e,[w])??[]].flat().map(N=>`/${encodeURIComponent(String(N))}`).join(\"\"))||\"/\",u=s.split(\"&\"),d=\"\";if(r&&typeof r==\"object\")for(let j of Object.keys(r).sort()){let w=r[j],y=`${encodeURIComponent(j)}=${encodeURIComponent(String(w))}`;w!==null&&typeof w!=\"object\"&&!u.includes(y)&&(d+=`${d&&\"&\"}${y}`)}return d?`${l}?${d}`:l};var tt=class extends Error{name=\"CompileError\"};function C(t,e){if(\"literal\"in t||\"formRef\"in t){let l=\"literal\"in t?t.literal:t.formRef;return()=>l}if(\"object\"in t){let l=Object.entries(t.object).map(([u,d])=>[u,C(d,e)]);return u=>{let d={};for(let[j,w]of l)d[j]=w(u);return d}}if(\"fn\"in t){let l=e[t.fn];if(!l)throw new tt(`No implementation bound for fn ${t.fn}`);let u=C(t.arg,e);return d=>l(u(d))}if(\"link\"in t){let l=t.link,u=C(t.params,e),d=C(t.search,e);return j=>ut(j.routes?.[l]??\"\",u(j),d(j))}if(\"test\"in t){let l=it(t.test,e);return u=>l(u)}if(\"endpoint\"in t){let l=t.endpoint,u=C(t.input??{literal:null},e);return d=>ut(d.routes?.[l]??\"\",null,u(d))}let r=t,{path:o}=r;if(r.ref===\"binding\"){let l=r.depth;return o.length?u=>U(u.bindings?.[l],o):u=>u.bindings?.[l]??null}if(r.ref===\"dom\"){let[l,...u]=o;return d=>d.dom&&l?U(d.dom(l),u)??(l===\"formAll\"?[]:null):null}let s=r.ref;return o.length===0?l=>l[s]??null:l=>U(l[s],o)}var Z=t=>typeof t==\"number\"||typeof t==\"string\"?t:Number.NaN;function it(t,e){switch(t.op){case\"and\":{let r=t.args.map(o=>it(o,e));return o=>r.every(s=>s(o))}case\"or\":{let r=t.args.map(o=>it(o,e));return o=>r.some(s=>s(o))}case\"not\":{let r=it(t.arg,e);return o=>!r(o)}case\"fn\":{let r=C({fn:t.fn,arg:t.arg},e);return o=>r(o)===!0}default:{let r=C(t.left,e),o=C(t.right,e);switch(t.op){case\"eq\":return s=>H(r(s),o(s));case\"neq\":return s=>!H(r(s),o(s));case\"lt\":return s=>Z(r(s))<Z(o(s));case\"lte\":return s=>Z(r(s))<=Z(o(s));case\"gt\":return s=>Z(r(s))>Z(o(s));default:return s=>Z(r(s))>=Z(o(s))}}}}function Ut(t,e){let{path:r}=t,o=C(t.value,e);switch(t.op){case\"set\":return(s,l)=>L(s,r,o({...l,context:s}));case\"append\":return(s,l)=>{let u=U(s,r);return L(s,r,[...Array.isArray(u)?u:[],o({...l,context:s})])};case\"inc\":return(s,l)=>L(s,r,Number(U(s,r)??0)+Number(o({...l,context:s})));case\"removeWhere\":{let s=t.key;return(l,u)=>{let d=U(l,r),j=o({...u,context:l}),w=Array.isArray(d)?d:[];return L(l,r,w.filter(y=>!H(s===null?y:y!==null&&typeof y==\"object\"&&!Array.isArray(y)?y[s]:null,j)))}}}}var qt=(t,e)=>r=>t({...r,routes:e});function yt(t,e={},r={}){let o=t.machine;if(!o)throw new tt(`Feature ${t.id} has no machine`);let s=Object.keys(o.states),l=new Map(s.map((y,N)=>[y,N])),u=y=>{let N=l.get(y);if(N===void 0)throw new tt(`Unknown state \"${y}\" in ${t.id}`);return N},d=[],j=(y,N)=>(d.push(N),{id:N,guard:y.guard?it(y.guard,e):null,target:u(y.target),assign:y.assign.map(T=>Ut(T,e)),navigate:y.navigate?qt(C(y.navigate,e),r):null}),w=s.map(y=>{let N=o.states[y],T=new Map;for(let[A,v]of Object.entries(N.on))T.set(A,v.map((M,V)=>j(M,`${y}/on/${A}/${V}`)));let q=new Map;N.after.forEach((A,v)=>{let M=j(A.transition,`${y}/after/${v}`);q.set(A.ms,[...q.get(A.ms)??[],M])});let E=N.invoke;return{name:y,final:N.final,on:T,invoke:E&&{effect:E.effect,input:C(E.input,e),done:E.done.map((A,v)=>j(A,`${y}/invoke/done/${v}`)),failed:new Map(Object.entries(E.failed).map(([A,v])=>[A,v.map((M,V)=>j(M,`${y}/invoke/failed/${A}/${V}`))]))},after:q,timers:[...q.keys()].sort((A,v)=>A-v)}});return{feature:t.id,initial:u(o.initial),initialContext:o.initialContext,states:w,index:l,transitions:d}}function jt(t,e,r,o,s){let l=t.states[e];l.invoke&&s.push({type:\"invoke\",entry:o,effect:l.invoke.effect,input:l.invoke.input({context:r})});for(let u of l.timers)s.push({type:\"timer\",entry:o,ms:u})}function Ot(t,e,r,o=1){let s=t.index.get(e);if(s===void 0)throw new Error(`Unknown state \"${e}\" in ${t.feature}`);let l=[];return jt(t,s,r,o,l),{snapshot:{state:e,context:r,entry:o},effects:l,taken:null}}var ht=t=>Ot(t,t.states[t.initial].name,t.initialContext),et=t=>({snapshot:t,effects:[],taken:null});function pt(t,e,r,o){if(!r)return et(e);for(let s of r){if(s.guard&&!s.guard(o))continue;let l=e.context;for(let j of s.assign)l=j(l,o);let u=e.entry+1,d=s.navigate===null?[]:[{type:\"navigate\",url:String(s.navigate(o))}];return jt(t,s.target,l,u,d),{snapshot:{state:t.states[s.target].name,context:l,entry:u},effects:d,taken:s.id}}return et(e)}function xt(t,e,r){let o=t.states[t.index.get(e.state)??-1];if(!o||o.final)return et(e);let s=e.context;switch(r.type){case\"event\":return pt(t,e,o.on.get(r.event),{context:s,event:r.payload});case\"done\":return r.entry!==e.entry||!o.invoke?et(e):pt(t,e,o.invoke.done,{context:s,result:r.result});case\"failed\":{if(r.entry!==e.entry||!o.invoke)return et(e);let l=o.invoke.failed,u=l.has(r.error),d=u?r.data:{message:Dt(r.data,r.error)};return pt(t,e,l.get(u?r.error:\"Unexpected\"),{context:s,error:d})}case\"timer\":return r.entry!==e.entry?et(e):pt(t,e,o.after.get(r.ms),{context:s})}}function Dt(t,e){return t!==null&&typeof t==\"object\"&&!Array.isArray(t)&&typeof t.message==\"string\"?t.message:e}function Nt(t,e){let r=Object.create(null),o=Object.create(null),s=(l,u)=>{let d=typeof u==\"string\"?u:u.name,j=o[l];j?j.push(d):(o[l]=[d],r[l]=d)};for(let[l,u]of t)s(l,u);return e&&s(...e),{first:r,all:o}}var mt=\"http://www.w3.org/2000/svg\",zt=new Set([\"contenteditable\",\"draggable\",\"spellcheck\"]),P=t=>t==null?\"\":typeof t==\"object\"?JSON.stringify(t):String(t);function $t(t,e){return e==null?null:typeof e==\"boolean\"?t.startsWith(\"aria-\")||t.startsWith(\"data-\")||zt.has(t)?String(e):e?\"\":null:P(e)}var At=new Set([\"value\",\"checked\",\"selected\",\"muted\"]),bt=new Set([\"scroll\",\"wheel\",\"touchstart\",\"touchmove\",\"touchend\",\"pointermove\",\"mousemove\"]),_t=t=>typeof t==\"number\"&&!Number.isNaN(t)?t:null,at=new Map,Bt=t=>t?[...t].map(e=>{let r=`u${at.size+1}`;return at.set(r,e),{name:e.name,size:e.size,type:e.type,token:r}}):[],wt=t=>e=>{let r=t.target;switch(e){case\"value\":return typeof r?.value==\"string\"?r.value:\"\";case\"checked\":return r?.checked===!0;case\"valueAsNumber\":return _t(r?.valueAsNumber);case\"files\":return Bt(r?.files??t.dataTransfer?.files);case\"form\":case\"formAll\":{let o=t.target,s=o.ownerDocument.defaultView,l=Nt(new(s?.FormData??FormData)(o,t.submitter));return e===\"form\"?l.first:l.all}case\"open\":return r?.open===!0;case\"returnValue\":return typeof r?.returnValue==\"string\"?r.returnValue:\"\";default:{let o=e in t?t[e]:r?.[e];return typeof o==\"number\"?_t(o):typeof o==\"string\"||typeof o==\"boolean\"?o:null}}},Tt=(t,e)=>t?e.length?`${t} ${e.join(\" \")}`:t:e.join(\" \");var vt=t=>{switch(t.op){case\"and\":case\"or\":return t.args.some(vt);case\"not\":return vt(t.arg);case\"fn\":return Q(t.arg);default:return Q(t.left)||Q(t.right)}},Q=t=>\"ref\"in t?t.ref===\"context\"||t.ref===\"binding\":\"object\"in t?Object.values(t.object).some(Q):\"fn\"in t?Q(t.arg):\"test\"in t&&vt(t.test),Ct=(t,e)=>t+Y(e),Ft=t=>t instanceof Map?{data:t,versions:new Map}:t;var nt=(t,e)=>t!==null&&t.nodeType===8&&t.data===e;function W(t,e){let r=[t],o=t;for(;o!==e&&(o=o.nextSibling,!!o);)r.push(o);return r}function kt(t,e){let r=t.next?t.next.previousSibling:t.parent.lastChild;return e(),[r?r.nextSibling:t.parent.firstChild,t.next?t.next.previousSibling:t.parent.lastChild]}function Et(t,e){for(;t.nextSibling&&t.nextSibling!==e;)t.nextSibling.remove()}function Mt(t,e){let{machine:r,fns:o={},params:s=null,search:l=null,routes:u={}}=e,{data:d}=Ft(e.payload),j=[],w=new Set,y=r?e.snapshot?null:ht(r):null,N=e.snapshot??y?.snapshot??null,T=[],q=new Set,E=new Set,A=new WeakMap,v=(n,i,a)=>{let h=A.get(n);return h||(h=C(n,o),A.set(n,h)),h({context:N?.context??null,bindings:i,params:s,search:l,routes:u,...a?{dom:a}:{}})},M=(n,i,a,h)=>{let x=v(i,a);h(x),Q(i)&&n.push(()=>{let f=v(i,a);f!==x&&(x=f,h(f))})},V=(n,i)=>{if(n.claim&&nt(n.next,i)){let a=n.next;return n.next=a.nextSibling,a}return n.parent.insertBefore(t.createComment(i),n.next)},rt=n=>{if(!n.claim||!nt(n.next,\"[\"))return;let i=0;for(;n.next;){let a=n.next;if(n.next=a.nextSibling,nt(a,\"[\"))i++;else if(nt(a,\"]\")&&--i===0)return}},I=(n,i,a,h,x)=>{switch(n.kind){case\"text\":{let f;a.claim&&a.next?.nodeType===3?(f=a.next,a.next=f.nextSibling):f=a.parent.insertBefore(t.createTextNode(\"\"),a.next),a.claim&&nt(a.next,\"\")&&(a.next=a.next.nextSibling),M(h,n.value,i,g=>{let c=P(g);f.data!==c&&(f.data=c)});return}case\"el\":{let f=n.tag,g=f===\"svg\"?mt:x,c,p=a.claim&&a.next?.nodeType===1&&a.next.localName===f;p?(c=a.next,a.next=c.nextSibling):(c=g?t.createElementNS(g,f):t.createElement(f),n.class&&c.setAttribute(\"class\",n.class),a.parent.insertBefore(c,a.next));for(let m in n.attrs){let S=n.attrs[m],R=At.has(m)&&m in c;p&&!Q(S)||M(h,S,i,D=>{if(R){let z=c,ct=m===\"value\"?P(D):D===!0;z[m]!==ct&&(z[m]=ct);return}let J=$t(m,D);J===null?c.removeAttribute(m):c.getAttribute(m)!==J&&c.setAttribute(m,J)})}B(c,n,i,h);for(let m in n.on){let S=n.on[m];c.addEventListener(m,R=>{m===\"submit\"&&R.preventDefault(),$({type:\"event\",event:S.event,payload:v(S.payload,i,wt(R))})},bt.has(m)?{passive:!0}:void 0)}if(f===\"textarea\")return;let b={parent:c,next:p?c.firstChild:null,claim:p},_=f===\"foreignObject\"?null:g;for(let m of n.children)I(m,i,b,h,_);return}case\"when\":{let f=()=>N?n.states.includes(N.state):!1;K(a,h,f,(g,c)=>{if(f())for(let p of n.children)I(p,i,g,c,x)},n.motion);return}case\"query\":{let f=i;K(a,h,()=>{let c=Ct(n.query,v(n.input,i)),p=d.get(c);return p&&f!==i&&f.splice(0,f.length,...i,p.ok?p.value:p.data),`${c}|${p?p.ok?\"ready\":n.failed[p.error]?p.error:\"Unexpected\":\"\"}`},(c,p)=>{let b=v(n.input,i),_=Ct(n.query,b),m=d.get(_);if(f=i,!m){(!c.claim||e.readsInBrowser?.(n.query))&&dt(_,n.query,b),n.pending&&I(n.pending,i,c,p,x);return}let S=m.ok?n.ready:n.failed[m.error]??n.failed.Unexpected;f=[...i,m.ok?m.value:m.data],S&&I(S,f,c,p,x)});return}case\"each\":st(n,i,a,h,x);return;case\"component\":G(n,i,a,h);return;case\"if\":{let f=()=>v({test:n.test},i)===!0;K(a,h,f,(g,c)=>{let p=f()?n.ifTrue:n.ifFalse;for(let b of p)I(b,i,g,c,x)},n.motion);return}case\"html\":{let f=V(a,\"[\"),g;if(a.claim){for(;a.next&&!nt(a.next,\"]\");)a.next=a.next.nextSibling;g=a.next??a.parent.appendChild(t.createComment(\"]\")),a.next=g.nextSibling}else g=V(a,\"]\");let c=a.claim?P(v(n.value,i)):null;M(h,n.value,i,p=>{let b=P(p);if(b===c)return;c=b,Et(f,g);let _=t.createElement(\"template\");_.innerHTML=b,g.parentNode.insertBefore(_.content,g)});return}case\"global\":{let f=V(a,\"g\"),g=n.target===\"window\"?t.defaultView:t,c=[];for(let p in n.on){let b=n.on[p],_=S=>$({type:\"event\",event:b.event,payload:v(b.payload,i,wt(S))}),m=bt.has(p)?{passive:!0}:void 0;g.addEventListener(p,_,m),c.push(()=>g.removeEventListener(p,_))}E.add({el:f,stop:()=>c.forEach(p=>p())});return}default:rt(a)}},B=(n,i,a,h)=>{let x=Object.entries(i.toggle);if(x.length){let f=()=>{let c=[];for(let[p,b]of x)v(b,a)===!0&&c.push(p);return Tt(i.class,c)},g=f();n.getAttribute(\"class\")!==g&&n.setAttribute(\"class\",g),x.some(([,c])=>Q(c))&&h.push(()=>{let c=f();c!==g&&(g=c,n.setAttribute(\"class\",c))})}for(let f in i.vars)M(h,i.vars[f],a,g=>{let c=n.style;g===null||g===\"\"?c.removeProperty(f):c.getPropertyValue(f)!==P(g)&&c.setProperty(f,P(g))})},G=(n,i,a,h)=>{let x=n.use.component,f=e.components?.[x],g=f?.tag??\"div\",c,p=a.claim&&a.next?.nodeType===1&&a.next.localName===g;if(p?(c=a.next,a.next=c.nextSibling):(c=t.createElement(g),n.class&&c.setAttribute(\"class\",n.class),a.parent.insertBefore(c,a.next)),B(c,n,i,h),!p||n.children.length){let b={parent:c,next:p?c.firstChild:null,claim:p};for(let _ of n.children)I(_,i,b,h,null)}f||console.error(`Hozu: component ${x} has no client code (bundleComponents)`),!(!f||!e.loadComponent||!e.mountComponent)&&e.mountComponent({el:c,ref:f,name:x,doc:t,props:()=>v(n.props,i),emit:(b,_)=>{let m=n.on[b];m&&$({type:\"event\",event:m.event,payload:v(m.payload,i,S=>S===\"detail\"?_:null)})},load:e.loadComponent,watch:b=>h.push(b),own:b=>E.add({el:c,stop:b}),same:H})},ot=new Set,dt=(n,i,a)=>{!e.onQuery||ot.has(n)||(ot.add(n),e.onQuery(i,a).then(h=>{ot.delete(n),d.set(n,h);for(let x of T)x();lt()}))},lt=()=>{for(let n=T.length-1;n>=0;n--)q.delete(T[n])&&T.splice(n,1);for(let n of E)n.el.isConnected||(n.stop(),E.delete(n))},K=(n,i,a,h,x=null)=>{let f=V(n,\"[\"),g=a(),c=[];h(n,c);let p=V(n,\"]\");i.push(()=>{let b=a();if(b===g){for(let R of c)R();return}g=b,c=[];let _=e.motion;if(!x||!_||_.reduced(t)){Et(f,p),h({parent:p.parentNode,next:p,claim:!1},c);return}_.leave(f.nextSibling===p?[]:W(f.nextSibling,p.previousSibling),x);let[m,S]=kt({parent:p.parentNode,next:p,claim:!1},()=>h({parent:p.parentNode,next:p,claim:!1},c));m&&S&&m!==p&&_.enter(W(m,S),x)})},st=(n,i,a,h,x)=>{let f=V(a,\"[\"),g=m=>{let S=n.key===null?m:U(m,[n.key]);return typeof S==\"string\"?`s${S}`:JSON.stringify(S)},c=()=>{let m=v(n.source,i);return Array.isArray(m)?m:[]},p=(m,S)=>{let R=[...i,m],D=[],[J,z]=kt(S,()=>I(n.item,R,S,D,x));return{key:g(m),value:m,scope:R,block:D,first:J,last:z}},b=c().map(m=>p(m,a)),_=V(a,\"]\");h.push(()=>{let m=e.motion,S=n.motion&&m&&!m.reduced(t)?n.motion:null,R=S?new Map(b.flatMap(O=>O.first.nodeType===1?[[O,O.first.getBoundingClientRect()]]:[])):null,D=new Map(b.map(O=>[O.key,O])),J=new Set,z=[];for(let O of c()){let F=g(O),X=D.get(F);if(X){D.delete(F),X.value=O,X.scope.splice(0,X.scope.length,...i,O);for(let ft of X.block)ft();z.push(X)}else{let ft=p(O,{parent:t.createDocumentFragment(),next:null,claim:!1});J.add(ft),z.push(ft)}}for(let O of D.values())if(S)m.leave(W(O.first,O.last),S);else for(let F of W(O.first,O.last))F.remove();let ct=_.parentNode,gt=f.nextSibling??_;for(let O of z)if(O.first===gt)gt=O.last.nextSibling??_;else for(let F of W(O.first,O.last))ct.insertBefore(F,gt);if(b=z,!!S)for(let O of z)if(J.has(O))m.enter(W(O.first,O.last),S);else{let F=R?.get(O);F&&m.flip(O.first,F,S)}})},k=n=>{for(let i of n.effects)if(i.type===\"navigate\")e.onNavigate?.(i.url);else if(i.type===\"timer\"){let a=setTimeout(()=>{w.delete(a),$({type:\"timer\",entry:i.entry,ms:i.ms})},i.ms);w.add(a)}else e.onInvoke?.(i.effect,i.input).then(a=>$(a.ok?{type:\"done\",entry:i.entry,result:a.value}:{type:\"failed\",entry:i.entry,error:a.error,data:a.data}))};function $(n){if(!r||!N)return;let i=xt(r,N,n);if(i.taken){N=i.snapshot;for(let a of T)a();lt(),k(i)}}return{attach(n,i,a,h,x){let f={parent:n,next:i,claim:x},g=n.namespaceURI===mt?mt:null,c=[],[p,b]=kt(f,()=>I(a,h,f,c,g));p&&b&&j.push([p,b]);let _=p?.isConnected===!0,m=()=>{if(_&&!p.isConnected)q.add(m);else for(let S of c)S()};T.push(m)},start(){y&&k(y),y=null},sync:()=>{for(let n of T)n();lt()},dispatch:$,snapshot:()=>N,destroy:()=>{for(let n of w)clearTimeout(n);w.clear();for(let n of E)n.stop();E.clear(),T.length=0;for(let[n,i]of j)for(let a of W(n,i))a.remove();j.length=0}}}var Vt=function(t,e){return typeof t==\"string\"&&/^\\.\\.?\\//.test(t)?t.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i,function(r,o,s,l,u){return o?e?\".jsx\":\".js\":s&&(!l||!u)?r:s+l+\".\"+u.toLowerCase()+\"js\"}):t},Ht=t=>t.islands.flatMap(([e,r,...o])=>{let s=t.ids[e],l=s.slice(0,s.indexOf(\".\"));return o.map(u=>({feature:l,node:s,scope:[...Array(r).fill(null),...u]}))}),It=t=>new URL(t,import.meta.url),Jt=async(t,e,r)=>{let o=JSON.stringify({effect:t,input:e,keys:r}),s=at.size?await(await import(\"./chunk-7HUHKEFT.js\")).encode(o,e,at):o;return await(await fetch(It(\"effect\"),{method:\"POST\",headers:typeof s==\"string\"?{\"content-type\":\"application/json\"}:{},body:s})).json()},Lt=async(t,e)=>await(await fetch(It(\"query\"),{method:\"POST\",headers:{\"content-type\":\"application/json\"},body:JSON.stringify({query:t,input:e})})).json(),Zt=async t=>(await import(Vt(t))).default,Pt=async t=>(await import(Vt(t))).fns;async function Rt(t,{transport:e=Jt,query:r=Lt,live:o,loadFns:s=Pt,loadComponent:l=Zt,loadFetch:u}={}){let d=new Map,j=t.getElementById(\"hozu-payload\");if(!j?.textContent)return d;let w=JSON.parse(j.textContent),y={data:new Map(w.data),versions:new Map},N=w.fns?Object.assign({},...await Promise.all(w.fns.map(s))):{},{components:T,routes:q}=w,E=w.motion?await import(\"./chunk-HGZ7KQUC.js\"):void 0,A=Object.keys(T).length?(await import(\"./chunk-G6LC6QZB.js\")).mountComponent:void 0;w.visible&&import(\"./chunk-DRLGN2D4.js\").then(k=>k.watch(t));let v=w.effects?(await import(\"./chunk-QPPJ5CKU.js\")).createRunner(w,N,y,{stringify:Y,compile:C},u):null,M=new Map,V=(k,$)=>{let n=k+JSON.stringify($),i=M.get(n);return i||(i=(v?.runs(k)?v.run(k,$):r(k,$)).finally(()=>M.delete(n)),M.set(n,i)),i},rt=Object.entries(w.live??{}),I=async k=>{if(B)return void G.push(...k);let $=rt.filter(([,n])=>n.tags.some(i=>k.includes(i)));for(let[n,i]of $)y.data.set(n,await r(i.query,i.input));if($.length)for(let n of d.values())n.sync()},B=0,G=[],ot=async(k,$)=>{if(v?.runs(k)){B++;let{result:x,changed:f,tags:g}=await v.mutate(k,$).finally(()=>B--);if(f)for(let c of d.values())c.sync();return{result:x,tags:g}}B++;let{result:n,refreshed:i,session:a,tags:h}=await e(k,$,[...y.data.keys()]).finally(()=>B--);if(h&&v&&await v.reread(h))for(let x of d.values())x.sync();a&&(y.data.clear(),G=[]);for(let[x,f]of i)y.data.set(x,f),y.versions.set(x,(y.versions.get(x)??0)+1);if(i.length||a)for(let x of d.values())x.sync();return!B&&G.length&&I(G.splice(0)),{result:n,tags:h??[]}},dt=async(k,$)=>(await ot(k,$)).result,lt=null;for(let[k,$]of Object.entries(w.features)){let n=w.snapshots?.[k];d.set(k,Mt(t,{machine:$?yt({id:k,machine:$},N,q):null,payload:y,params:w.params,search:w.search,...n?{snapshot:n}:{},fns:N,components:T,routes:q,motion:E,mountComponent:A,loadComponent:l,onQuery:V,onInvoke:dt,...v?{readsInBrowser:i=>v.runs(i)}:{},onNavigate:i=>t.defaultView?.location.assign(i)}))}let K=[],st=t.createTreeWalker(t.body??t,128);for(;st.nextNode();)st.currentNode.data===\"i\"&&K.push(st.currentNode);Ht(w).forEach((k,$)=>{let n=K[$],i=w.nodes[k.node];n?.parentNode&&i&&d.get(k.feature)?.attach(n.parentNode,n.nextSibling,i,k.scope,!0)});for(let k of d.values())k.sync();for(let k of d.values())k.start();return rt.length&&(o??(await import(\"./chunk-627YWRJ6.js\")).liveStream(t))(I,rt.flatMap(([,k])=>k.tags)),t.documentElement.setAttribute(\"data-hozu-ready\",\"\"),d}Rt(document);\n"}
package/dist/hydrate.d.ts CHANGED
@@ -17,7 +17,8 @@ export interface PagePayload {
17
17
  data: [string, Result][];
18
18
  features: Record<string, MachineIR | null>;
19
19
  nodes: Record<string, ViewNode>;
20
- fns: string | null;
20
+ /** The page's `fn` modules (ADR 0050 C). */
21
+ fns: string[] | null;
21
22
  params: Json;
22
23
  search: Json;
23
24
  snapshots?: Record<string, Snapshot>;
@@ -1 +1 @@
1
- {"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":"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"}
package/dist/hydrate.js CHANGED
@@ -43,7 +43,9 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
43
43
  return apps;
44
44
  const payload = JSON.parse(script.textContent);
45
45
  const shared = { data: new Map(payload.data), versions: new Map() };
46
- const fns = payload.fns ? await loadFns(payload.fns) : {};
46
+ const fns = payload.fns
47
+ ? Object.assign({}, ...(await Promise.all(payload.fns.map(loadFns))))
48
+ : {};
47
49
  const { components, routes } = payload;
48
50
  const motion = payload.motion ? await import('./motion.js') : undefined;
49
51
  const mountComponent = Object.keys(components).length
@@ -82,14 +84,14 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
82
84
  };
83
85
  let busy = 0;
84
86
  let queued = [];
85
- const onInvoke = async (effect, input) => {
87
+ const invoke = async (effect, input) => {
86
88
  if (local?.runs(effect)) {
87
89
  busy++;
88
- const { result, changed } = await local.mutate(effect, input).finally(() => busy--);
90
+ const { result, changed, tags } = await local.mutate(effect, input).finally(() => busy--);
89
91
  if (changed)
90
92
  for (const app of apps.values())
91
93
  app.sync();
92
- return result;
94
+ return { result, tags };
93
95
  }
94
96
  busy++;
95
97
  const { result, refreshed, session, tags } = await transport(effect, input, [
@@ -111,8 +113,9 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
111
113
  app.sync();
112
114
  if (!busy && queued.length)
113
115
  onTags(queued.splice(0));
114
- return result;
116
+ return { result, tags: tags ?? [] };
115
117
  };
118
+ const onInvoke = async (effect, input) => (await invoke(effect, input)).result;
116
119
  const dev = globalThis.__HOZU_DEV__
117
120
  ? { restore: (await import('./dev.js')).restore(doc), machines: new Map() }
118
121
  : null;
@@ -156,7 +159,7 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
156
159
  if (liveKeys.length)
157
160
  (live ?? (await import('./live.js')).liveStream(doc))(onTags, liveKeys.flatMap(([, l]) => l.tags));
158
161
  if (globalThis.__HOZU_DEV__ && dev)
159
- (await import('./dev.js')).expose(doc, apps, dev.machines);
162
+ (await import('./dev.js')).expose(doc, apps, dev.machines, { invoke, query: onQuery });
160
163
  doc.documentElement.setAttribute('data-hozu-ready', '');
161
164
  return apps;
162
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hozu/runtime-client",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "Hozu client runtime: fine-grained DOM islands, no virtual DOM, about 7.5 KB gzipped",
5
5
  "keywords": [
6
6
  "hozu",
@@ -46,8 +46,8 @@
46
46
  "access": "public"
47
47
  },
48
48
  "dependencies": {
49
- "@hozu/core": "0.11.0",
50
- "@hozu/machine": "0.11.0"
49
+ "@hozu/core": "0.13.0",
50
+ "@hozu/machine": "0.13.0"
51
51
  },
52
52
  "sideEffects": false
53
53
  }
@@ -1,18 +0,0 @@
1
- import type { PagePayload, Session } from './hydrate.ts';
2
- export interface State {
3
- views: Map<string, Set<string>>;
4
- soft: Record<string, string[]>;
5
- routes: Record<string, string>;
6
- }
7
- export declare function routeOf(routes: Record<string, string>, pathname: string): string | null;
8
- export declare function islandsIn(root: Node): {
9
- marker: Comment;
10
- view: string | null;
11
- }[];
12
- export declare function track(state: State, session: Session, payload: PagePayload, found: {
13
- view: string | null;
14
- }[]): void;
15
- export declare function ranges(body: Node): Map<string, Node[]>;
16
- export declare function swap(session: Session, state: State, next: Document, kept: string[]): Promise<boolean>;
17
- export declare function soft(session: Session): void;
18
- //# sourceMappingURL=navigate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AA+BD,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWvF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CAWhF;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,QAWjC;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAatD;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA4C3G;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,QA8DpC"}
package/dist/navigate.js DELETED
@@ -1,197 +0,0 @@
1
- const HEAD = 'title,meta[name=description],meta[name=robots],link[rel=canonical],meta[property],script[type="application/ld+json"]';
2
- const groups = { '?': '(?:/[^/]+)?', '+': '(?:/[^/]+)+', '*': '(?:/[^/]+)*' };
3
- const patternOf = (path) => {
4
- let keys = 0;
5
- const source = path
6
- .split(/(\/:[A-Za-z]\w*[?*+]?)/)
7
- .map((part, i) => {
8
- if (i % 2 === 0)
9
- return part.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
10
- const mod = part.at(-1);
11
- keys += mod === '+' || mod === '*' ? 1.01 : 1;
12
- return groups[mod] ?? '/[^/]+';
13
- })
14
- .join('');
15
- return { pattern: new RegExp(`^${source.replace(/\/$/, '')}/?$`), keys };
16
- };
17
- export function routeOf(routes, pathname) {
18
- let best = null;
19
- let fewest = Infinity;
20
- for (const [id, path] of Object.entries(routes)) {
21
- const { pattern, keys } = patternOf(path);
22
- if (keys < fewest && pattern.test(pathname)) {
23
- best = id;
24
- fewest = keys;
25
- }
26
- }
27
- return best;
28
- }
29
- export function islandsIn(root) {
30
- const found = [];
31
- const walker = (root.ownerDocument ?? root).createTreeWalker(root, 128);
32
- let view = null;
33
- while (walker.nextNode()) {
34
- const c = walker.currentNode;
35
- if (c.data === 'i')
36
- found.push({ marker: c, view });
37
- else if (c.data.startsWith('v:'))
38
- view = c.data.slice(2);
39
- else if (c.data === '/v')
40
- view = null;
41
- }
42
- return found;
43
- }
44
- export function track(state, session, payload, found) {
45
- session.islands(payload).forEach((island, i) => {
46
- const view = found[i]?.view;
47
- if (!view)
48
- return;
49
- const owners = state.views.get(view) ?? new Set();
50
- owners.add(island.feature);
51
- state.views.set(view, owners);
52
- });
53
- state.soft = payload.soft ?? {};
54
- Object.assign(state.routes, payload.routes);
55
- }
56
- export function ranges(body) {
57
- const out = new Map();
58
- let current = null;
59
- for (const n of [...body.childNodes]) {
60
- if (n.nodeType === 8 && n.data.startsWith('v:')) {
61
- current = [n];
62
- out.set(n.data.slice(2), current);
63
- }
64
- else if (current) {
65
- current.push(n);
66
- if (n.nodeType === 8 && n.data === '/v')
67
- current = null;
68
- }
69
- }
70
- return out;
71
- }
72
- export async function swap(session, state, next, kept) {
73
- const { doc, apps } = session;
74
- const { views } = state;
75
- const script = next.getElementById('hozu-payload');
76
- const fresh = ranges(next.body);
77
- const live = ranges(doc.body);
78
- if (!script?.textContent || kept.some((v) => !fresh.has(v) || !live.has(v)))
79
- return false;
80
- const payload = JSON.parse(script.textContent);
81
- const keep = new Set(kept);
82
- const found = islandsIn(next.body);
83
- const needed = new Set();
84
- for (const v of keep)
85
- for (const f of views.get(v) ?? [])
86
- needed.add(f);
87
- session.islands(payload).forEach((island, i) => {
88
- const view = found[i]?.view;
89
- if (view === undefined || view === null || !keep.has(view))
90
- needed.add(island.feature);
91
- });
92
- for (const [id, app] of apps)
93
- if (!needed.has(id)) {
94
- app.destroy();
95
- apps.delete(id);
96
- }
97
- for (const v of [...views.keys()])
98
- if (!keep.has(v))
99
- views.delete(v);
100
- const anchor = doc.getElementById('hozu-payload');
101
- let cursor = 0;
102
- const order = [...live.keys()].filter((v) => keep.has(v));
103
- for (const [ref, nodes] of fresh) {
104
- if (keep.has(ref)) {
105
- cursor++;
106
- continue;
107
- }
108
- const before = order[cursor] ? live.get(order[cursor])[0] : anchor;
109
- for (const n of nodes)
110
- doc.body.insertBefore(n, before);
111
- }
112
- for (const [ref, nodes] of live)
113
- if (!keep.has(ref))
114
- for (const n of nodes)
115
- n.remove();
116
- if (anchor)
117
- anchor.textContent = script.textContent;
118
- for (const el of doc.head.querySelectorAll(HEAD))
119
- el.remove();
120
- for (const el of next.head.querySelectorAll(HEAD))
121
- doc.head.append(el);
122
- doc.documentElement.lang = next.documentElement.lang;
123
- await session.mount(payload, found.map((f) => (f.view !== null && keep.has(f.view) ? undefined : f.marker)));
124
- track(state, session, payload, found);
125
- return true;
126
- }
127
- export function soft(session) {
128
- const { doc } = session;
129
- const win = doc.defaultView;
130
- const script = doc.getElementById('hozu-payload');
131
- if (!win?.navigation || !script?.textContent)
132
- return;
133
- const state = { views: new Map(), soft: {}, routes: {} };
134
- track(state, session, JSON.parse(script.textContent), islandsIn(doc.body));
135
- let announcer = null;
136
- let bypass = false;
137
- const announce = (title) => {
138
- if (!announcer) {
139
- announcer = doc.createElement('div');
140
- announcer.setAttribute('aria-live', 'polite');
141
- announcer.style.cssText =
142
- 'position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap';
143
- doc.body.append(announcer);
144
- }
145
- announcer.textContent = title;
146
- };
147
- win.navigation.addEventListener('navigate', (event) => {
148
- const e = event;
149
- if (bypass || !e.canIntercept || e.hashChange || e.downloadRequest !== null || e.formData)
150
- return;
151
- if (e.navigationType === 'reload')
152
- return;
153
- const url = new URL(e.destination.url);
154
- if (url.origin !== win.location.origin)
155
- return;
156
- const target = routeOf(state.routes, url.pathname);
157
- const kept = target ? state.soft[target] : undefined;
158
- if (!kept)
159
- return;
160
- const hard = () => {
161
- bypass = true;
162
- win.location.replace(url.href);
163
- };
164
- e.intercept({
165
- handler: async () => {
166
- const root = doc.documentElement;
167
- root.setAttribute('data-hozu-navigating', '');
168
- try {
169
- const response = await win.fetch(url.href, { headers: { accept: 'text/html' } });
170
- const type = response.headers.get('content-type') ?? '';
171
- if (response.status !== 200 || response.redirected || !type.includes('text/html'))
172
- return hard();
173
- const next = new win.DOMParser().parseFromString(await response.text(), 'text/html');
174
- let ok = true;
175
- const run = async () => {
176
- ok = await swap(session, state, next, kept);
177
- };
178
- const transition = doc.startViewTransition;
179
- if (transition)
180
- await transition.call(doc, run).updateCallbackDone;
181
- else
182
- await run();
183
- if (!ok)
184
- return hard();
185
- announce(doc.title);
186
- }
187
- catch {
188
- hard();
189
- }
190
- finally {
191
- root.removeAttribute('data-hozu-navigating');
192
- }
193
- },
194
- });
195
- });
196
- }
197
- //# sourceMappingURL=navigate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigate.js","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"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"}
package/dist/widget.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import type { Json } from '@hozu/core/ir';
2
- import type { WidgetRef, WidgetSetup } from './mount.ts';
3
- export interface WidgetHost {
4
- el: HTMLElement;
5
- ref: WidgetRef;
6
- name: string;
7
- doc: Document;
8
- props(): Json;
9
- emit(name: string, detail: unknown): void;
10
- load(url: string): Promise<WidgetSetup>;
11
- watch(update: () => void): void;
12
- own(stop: () => void): void;
13
- same(a: Json, b: Json): boolean;
14
- }
15
- export declare function mountWidget(h: WidgetHost): void;
16
- //# sourceMappingURL=widget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,WAAW,CAAA;IACf,GAAG,EAAE,SAAS,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,QAAQ,CAAA;IACb,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACzC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IACvC,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IAC/B,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAAA;CAChC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,QAgDxC"}
package/dist/widget.js DELETED
@@ -1,57 +0,0 @@
1
- export function mountWidget(h) {
2
- const controller = new AbortController();
3
- h.el.setAttribute('data-hozu-widget', h.name);
4
- h.el.setAttribute('data-hozu-widget-state', 'loading');
5
- let props = h.props();
6
- let instance;
7
- const fail = (error) => {
8
- instance = undefined;
9
- h.el.setAttribute('data-hozu-widget-state', 'failed');
10
- h.doc.defaultView?.console.error(`Widget ${h.name} failed`, error);
11
- };
12
- const start = () => void h.load(h.ref.url).then((setup) => {
13
- if (controller.signal.aborted)
14
- return;
15
- try {
16
- instance = setup({ el: h.el, props, emit: h.emit, signal: controller.signal }) ?? undefined;
17
- h.el.setAttribute('data-hozu-widget-state', 'mounted');
18
- }
19
- catch (error) {
20
- fail(error);
21
- }
22
- }, fail);
23
- const win = h.doc.defaultView;
24
- if (h.ref.load === 'eager' || !win)
25
- start();
26
- else if (h.ref.load === 'idle')
27
- (win.requestIdleCallback ?? win.setTimeout)(start);
28
- else if (!win.IntersectionObserver)
29
- start();
30
- else {
31
- const io = new win.IntersectionObserver((entries) => {
32
- if (!entries.some((e) => e.isIntersecting))
33
- return;
34
- io.disconnect();
35
- start();
36
- });
37
- io.observe(h.el);
38
- controller.signal.addEventListener('abort', () => io.disconnect());
39
- }
40
- h.watch(() => {
41
- const next = h.props();
42
- if (h.same(next, props))
43
- return;
44
- props = next;
45
- try {
46
- instance?.update?.(next);
47
- }
48
- catch (error) {
49
- fail(error);
50
- }
51
- });
52
- h.own(() => {
53
- controller.abort();
54
- instance?.destroy?.();
55
- });
56
- }
57
- //# sourceMappingURL=widget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}