@hozu/runtime-client 0.18.1 → 0.19.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.
- package/dist/browser/chunk-DBYBPDZ3.js +1 -0
- package/dist/browser/client.js +1 -1
- package/dist/browser-dev/client.js +111 -23
- package/dist/files.js +1 -1
- package/dist/hydrate.d.ts +2 -0
- package/dist/hydrate.d.ts.map +1 -1
- package/dist/hydrate.js +11 -10
- package/dist/hydrate.js.map +1 -1
- package/dist/poll.d.ts +9 -0
- package/dist/poll.d.ts.map +1 -0
- package/dist/poll.js +61 -0
- package/dist/poll.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var v=(t,s)=>{let e=new Set,n=t.get;t.get=r=>(e.add(r),n.call(t,r));try{s()}finally{Reflect.deleteProperty(t,"get")}return e},h=t=>{try{return[JSON.parse(t)]}catch{return null}},w=(t,s)=>{for(let e of s){let n=t.startsWith(e)?h(t.slice(e.length)):null;if(n)return[e,n[0]]}return null},y=(t,s,e,n,r,u)=>{let c=new Map;for(let[i,o]of Object.entries(s))c.set(o,[...c.get(o)??[],i]);for(let[i,o]of c){let f=!1;setInterval(async()=>{if(f||t.visibilityState==="hidden"||r())return;f=!0;let a=!1;for(let l of v(e.data,u)){let g=w(l,o);if(!g)continue;let d=e.versions.get(l),p=await n(...g).catch(()=>null);p===null||r()||e.versions.get(l)!==d||(e.data.set(l,p),a=!0)}f=!1,a&&u()},i*1e3)}};export{y as poll};
|
package/dist/browser/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var jt=JSON.stringify;function X(t){if(t===null)return"null";switch(typeof t){case"string":return jt(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(X).join(",")}]`;let n=t,r=Object.keys(n).sort(),s="{";for(let i=0;i<r.length;i++){let l=r[i],f=n[l];if(f===void 0)throw new TypeError(`Undefined value at key "${l}"`);s+=`${i?",":""}${jt(l)}:${X(f)}`}return`${s}}`}default:throw new TypeError(`Value of type ${typeof t} is not valid JSON`)}}function U(t,n){let r=t;for(let s of n){if(typeof r=="string"&&s==="length")return r.length;if(r===null||typeof r!="object")return null;r=r[s]}return r===void 0?null:r}function H(t,n,r,s=0){if(s===n.length)return r;let i=n[s];if(Array.isArray(t)){let f=t.slice();return f[Number(i)]=H(t[Number(i)]??null,n,r,s+1),f}let l=t!==null&&typeof t=="object"?t:{};return{...l,[i]:H(l[i]??null,n,r,s+1)}}function B(t,n){if(t===n)return!0;if(t===null||n===null||typeof t!="object"||typeof n!="object")return!1;if(Array.isArray(t)){if(!Array.isArray(n)||t.length!==n.length)return!1;for(let s=0;s<t.length;s++)if(!B(t[s],n[s]))return!1;return!0}if(Array.isArray(n))return!1;let r=Object.keys(t);if(r.length!==Object.keys(n).length)return!1;for(let s of r)if(!Object.hasOwn(n,s)||!B(t[s],n[s]))return!1;return!0}var ut=(t,n,r)=>{let[s="",i=""]=t.split("?"),l=s.replace(/\/:([A-Za-z]\w*)[?*+]?/g,(b,x)=>[U(n,[x])??[]].flat().map(j=>`/${encodeURIComponent(String(j))}`).join(""))||"/",f=i.split("&"),d="";if(r&&typeof r=="object")for(let b of Object.keys(r).sort()){let x=r[b],h=`${encodeURIComponent(b)}=${encodeURIComponent(String(x))}`;x!==null&&typeof x!="object"&&!f.includes(h)&&(d+=`${d&&"&"}${h}`)}return d?`${l}?${d}`:l};var Y=class extends Error{name="CompileError"};function T(t,n){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(([f,d])=>[f,T(d,n)]);return f=>{let d={};for(let[b,x]of l)d[b]=x(f);return d}}if("fn"in t){let l=n[t.fn];if(!l)throw new Y(`No implementation bound for fn ${t.fn}`);let f=T(t.arg,n);return d=>l(f(d))}if("link"in t){let l=t.link,f=T(t.params,n),d=T(t.search,n);return b=>ut(b.routes?.[l]??"",f(b),d(b))}if("test"in t){let l=at(t.test,n);return f=>l(f)}if("endpoint"in t){let l=t.endpoint,f=T(t.input??{literal:null},n);return d=>ut(d.routes?.[l]??"",null,f(d))}let r=t,{path:s}=r;if(r.ref==="binding"){let l=r.depth;return s.length?f=>U(f.bindings?.[l],s):f=>f.bindings?.[l]??null}if(r.ref==="dom"){let[l,...f]=s;return d=>d.dom&&l?U(d.dom(l),f)??(l==="formAll"?[]:null):null}let i=r.ref;return s.length===0?l=>l[i]??null:l=>U(l[i],s)}var J=t=>typeof t=="number"||typeof t=="string"?t:Number.NaN;function at(t,n){switch(t.op){case"and":{let r=t.args.map(s=>at(s,n));return s=>r.every(i=>i(s))}case"or":{let r=t.args.map(s=>at(s,n));return s=>r.some(i=>i(s))}case"not":{let r=at(t.arg,n);return s=>!r(s)}case"fn":{let r=T({fn:t.fn,arg:t.arg},n);return s=>r(s)===!0}default:{let r=T(t.left,n),s=T(t.right,n);switch(t.op){case"eq":return i=>B(r(i),s(i));case"neq":return i=>!B(r(i),s(i));case"lt":return i=>J(r(i))<J(s(i));case"lte":return i=>J(r(i))<=J(s(i));case"gt":return i=>J(r(i))>J(s(i));default:return i=>J(r(i))>=J(s(i))}}}}function qt(t,n){let{path:r}=t,s=T(t.value,n);switch(t.op){case"set":return(i,l)=>H(i,r,s({...l,context:i}));case"append":return(i,l)=>{let f=U(i,r);return H(i,r,[...Array.isArray(f)?f:[],s({...l,context:i})])};case"inc":return(i,l)=>H(i,r,Number(U(i,r)??0)+Number(s({...l,context:i})));case"removeWhere":{let i=t.key;return(l,f)=>{let d=U(l,r),b=s({...f,context:l}),x=Array.isArray(d)?d:[];return H(l,r,x.filter(h=>!B(i===null?h:h!==null&&typeof h=="object"&&!Array.isArray(h)?h[i]:null,b)))}}}}var Dt=(t,n)=>r=>t({...r,routes:n});function dt(t,n={},r={}){let s=t.machine;if(!s)throw new Y(`Feature ${t.id} has no machine`);let i=Object.keys(s.states),l=new Map(i.map((h,j)=>[h,j])),f=h=>{let j=l.get(h);if(j===void 0)throw new Y(`Unknown state "${h}" in ${t.id}`);return j},d=[],b=(h,j)=>(d.push(j),{id:j,guard:h.guard?at(h.guard,n):null,target:f(h.target),assign:h.assign.map(A=>qt(A,n)),navigate:h.navigate?Dt(T(h.navigate,n),r):null}),x=i.map(h=>{let j=s.states[h],A=new Map;for(let[$,O]of Object.entries(j.on))A.set($,O.map((I,N)=>b(I,`${h}/on/${$}/${N}`)));let M=new Map;j.after.forEach(($,O)=>{let I=b($.transition,`${h}/after/${O}`);M.set($.ms,[...M.get($.ms)??[],I])});let E=j.invoke;return{name:h,final:j.final,on:A,invoke:E&&{effect:E.effect,input:T(E.input,n),done:E.done.map(($,O)=>b($,`${h}/invoke/done/${O}`)),failed:new Map(Object.entries(E.failed).map(([$,O])=>[$,O.map((I,N)=>b(I,`${h}/invoke/failed/${$}/${N}`))]))},after:M,timers:[...M.keys()].sort(($,O)=>$-O)}});return{feature:t.id,initial:f(s.initial),initialContext:s.initialContext,states:x,index:l,transitions:d}}function Ot(t,n,r,s,i){let l=t.states[n];l.invoke&&i.push({type:"invoke",entry:s,effect:l.invoke.effect,input:l.invoke.input({context:r})});for(let f of l.timers)i.push({type:"timer",entry:s,ms:f})}function vt(t,n,r,s=1){let i=t.index.get(n);if(i===void 0)throw new Error(`Unknown state "${n}" in ${t.feature}`);let l=[];return Ot(t,i,r,s,l),{snapshot:{state:n,context:r,entry:s},effects:l,taken:null}}var gt=t=>vt(t,t.states[t.initial].name,t.initialContext),tt=t=>({snapshot:t,effects:[],taken:null});function pt(t,n,r,s){if(!r)return tt(n);for(let i of r){if(i.guard&&!i.guard(s))continue;let l=n.context;for(let b of i.assign)l=b(l,s);let f=n.entry+1,d=i.navigate===null?[]:[{type:"navigate",url:String(i.navigate(s))}];return Ot(t,i.target,l,f,d),{snapshot:{state:t.states[i.target].name,context:l,entry:f},effects:d,taken:i.id}}return tt(n)}function yt(t,n,r){let s=t.states[t.index.get(n.state)??-1];if(!s||s.final)return tt(n);let i=n.context;switch(r.type){case"event":return pt(t,n,s.on.get(r.event),{context:i,event:r.payload});case"done":return r.entry!==n.entry||!s.invoke?tt(n):pt(t,n,s.invoke.done,{context:i,result:r.result});case"failed":{if(r.entry!==n.entry||!s.invoke)return tt(n);let l=s.invoke.failed,f=l.has(r.error),d=f?r.data:{message:zt(r.data,r.error)};return pt(t,n,l.get(f?r.error:"Unexpected"),{context:i,error:d})}case"timer":return r.entry!==n.entry?tt(n):pt(t,n,s.after.get(r.ms),{context:i})}}function zt(t,n){return t!==null&&typeof t=="object"&&!Array.isArray(t)&&typeof t.message=="string"?t.message:n}function _t(t,n){let r=Object.create(null),s=Object.create(null),i=(l,f)=>{let d=typeof f=="string"?f:f.name,b=s[l];b?b.push(d):(s[l]=[d],r[l]=d)};for(let[l,f]of t)i(l,f);return n&&i(...n),{first:r,all:s}}var mt="http://www.w3.org/2000/svg",Ft=new Set(["contenteditable","draggable","spellcheck"]),L=t=>t==null?"":typeof t=="object"?JSON.stringify(t):String(t);function $t(t,n){return n==null?null:typeof n=="boolean"?t.startsWith("aria-")||t.startsWith("data-")||Ft.has(t)?String(n):n?"":null:L(n)}var At=new Set(["value","checked","selected","muted"]),ht=new Set(["scroll","wheel","touchstart","touchmove","touchend","pointermove","mousemove"]),Nt=t=>typeof t=="number"&&!Number.isNaN(t)?t:null,lt=new Map,Bt=t=>t?[...t].map(n=>{let r=`u${lt.size+1}`;return lt.set(r,n),{name:n.name,size:n.size,type:n.type,token:r}}):[],xt=t=>n=>{let r=t.target;switch(n){case"value":return typeof r?.value=="string"?r.value:"";case"checked":return r?.checked===!0;case"valueAsNumber":return Nt(r?.valueAsNumber);case"files":return Bt(r?.files??t.dataTransfer?.files);case"form":case"formAll":{let s=t.target,i=s.ownerDocument.defaultView,l=_t(new(i?.FormData??FormData)(s,t.submitter));return n==="form"?l.first:l.all}case"open":return r?.open===!0;case"returnValue":return typeof r?.returnValue=="string"?r.returnValue:"";default:{let s=n in t?t[n]:r?.[n];return typeof s=="number"?Nt(s):typeof s=="string"||typeof s=="boolean"?s:null}}},Tt=(t,n)=>t?n.length?`${t} ${n.join(" ")}`:t:n.join(" ");var wt=t=>{switch(t.op){case"and":case"or":return t.args.some(wt);case"not":return wt(t.arg);case"fn":return R(t.arg);default:return R(t.left)||R(t.right)}},R=t=>"ref"in t?t.ref==="context"||t.ref==="binding":"object"in t?Object.values(t.object).some(R):"fn"in t?R(t.arg):"link"in t?R(t.params)||t.search!==null&&R(t.search):"endpoint"in t?t.input!=null&&R(t.input):"test"in t&&wt(t.test),Et=(t,n)=>t+X(n),Ht=t=>t instanceof Map?{data:t,versions:new Map}:t;var et=(t,n)=>t!==null&&t.nodeType===8&&t.data===n;function Z(t,n){let r=[t],s=t;for(;s!==n&&(s=s.nextSibling,!!s);)r.push(s);return r}function bt(t,n){let r=t.next?t.next.previousSibling:t.parent.lastChild;return n(),[r?r.nextSibling:t.parent.firstChild,t.next?t.next.previousSibling:t.parent.lastChild]}function Ct(t,n){for(;t.nextSibling&&t.nextSibling!==n;)t.nextSibling.remove()}function It(t,n){let{machine:r,fns:s={},params:i=null,search:l=null,routes:f={}}=n,{data:d}=Ht(n.payload),b=[],x=new Set,h=r?n.snapshot?null:gt(r):null,j=n.snapshot??h?.snapshot??null,A=[],M=new Set,E=new Set,$=new WeakMap,O=(e,a,o)=>{let m=$.get(e);return m||(m=T(e,s),$.set(e,m)),m({context:j?.context??null,bindings:a,params:i,search:l,routes:f,...o?{dom:o}:{}})},I=(e,a,o,m)=>{let w=O(a,o);m(w),R(a)&&e.push(()=>{let u=O(a,o);u!==w&&(w=u,m(u))})},N=(e,a)=>{if(e.claim&&et(e.next,a)){let o=e.next;return e.next=o.nextSibling,o}return e.parent.insertBefore(t.createComment(a),e.next)},nt=e=>{if(!e.claim||!et(e.next,"["))return;let a=0;for(;e.next;){let o=e.next;if(e.next=o.nextSibling,et(o,"["))a++;else if(et(o,"]")&&--a===0)return}},q=(e,a,o,m,w)=>{switch(e.kind){case"text":{let u;o.claim&&o.next?.nodeType===3?(u=o.next,o.next=u.nextSibling):u=o.parent.insertBefore(t.createTextNode(""),o.next),o.claim&&et(o.next,"")&&(o.next=o.next.nextSibling),I(m,e.value,a,g=>{let c=L(g);u.data!==c&&(u.data=c)});return}case"el":{let u=e.tag,g=u==="svg"?mt:w,c,p=o.claim&&o.next?.nodeType===1&&o.next.localName===u;p?(c=o.next,o.next=c.nextSibling):(c=g?t.createElementNS(g,u):t.createElement(u),e.class&&c.setAttribute("class",e.class),o.parent.insertBefore(c,o.next));for(let y in e.attrs){let S=e.attrs[y],C=At.has(y)&&y in c;p&&!R(S)||I(m,S,a,F=>{if(C){let W=c,G=y==="value"?L(F):F===!0;W[y]!==G&&(W[y]=G);return}let V=$t(y,F);V===null?c.removeAttribute(y):c.getAttribute(y)!==V&&c.setAttribute(y,V)})}P(c,e,a,m);for(let y in e.on){let S=e.on[y];c.addEventListener(y,C=>{y==="submit"&&C.preventDefault(),z({type:"event",event:S.event,payload:O(S.payload,a,xt(C))})},ht.has(y)?{passive:!0}:void 0)}if(u==="textarea")return;let k={parent:c,next:p?c.firstChild:null,claim:p},_=u==="foreignObject"?null:g;for(let y of e.children)q(y,a,k,m,_);return}case"when":{let u=()=>j?e.states.includes(j.state):!1;st(o,m,u,(g,c)=>{if(u())for(let p of e.children)q(p,a,g,c,w)},e.motion);return}case"query":{let u=a;st(o,m,()=>{let c=Et(e.query,O(e.input,a)),p=d.get(c);return p&&u!==a&&u.splice(0,u.length,...a,p.ok?p.value:p.data),`${c}|${p?p.ok?"ready":e.failed[p.error]?p.error:"Unexpected":""}`},(c,p)=>{let k=O(e.input,a),_=Et(e.query,k),y=d.get(_);if(u=a,!y){(!c.claim||n.readsInBrowser?.(e.query))&&Q(_,e.query,k),e.pending&&q(e.pending,a,c,p,w);return}let S=y.ok?e.ready:e.failed[y.error]??e.failed.Unexpected;u=[...a,y.ok?y.value:y.data],S&&q(S,u,c,p,w)});return}case"each":St(e,a,o,m,w);return;case"component":n.component?n.component(ct,e,a,o,m):o.claim&&o.next?.nodeType===1&&(o.next=o.next.nextSibling);return;case"if":{let u=()=>O({test:e.test},a)===!0;st(o,m,u,(g,c)=>{let p=u()?e.ifTrue:e.ifFalse;for(let k of p)q(k,a,g,c,w)},e.motion);return}case"html":{let u=N(o,"["),g;if(o.claim){for(;o.next&&!et(o.next,"]");)o.next=o.next.nextSibling;g=o.next??o.parent.appendChild(t.createComment("]")),o.next=g.nextSibling}else g=N(o,"]");let c=o.claim?L(O(e.value,a)):null;I(m,e.value,a,p=>{let k=L(p);if(k===c)return;c=k,Ct(u,g);let _=t.createElement("template");_.innerHTML=k,g.parentNode.insertBefore(_.content,g)});return}case"global":{let u=N(o,"g"),g=e.target==="window"?t.defaultView:t,c=[];for(let p in e.on){let k=e.on[p],_=S=>z({type:"event",event:k.event,payload:O(k.payload,a,xt(S))}),y=ht.has(p)?{passive:!0}:void 0;g.addEventListener(p,_,y),c.push(()=>g.removeEventListener(p,_))}E.add({el:u,stop:()=>c.forEach(p=>p())});return}default:nt(o)}},P=(e,a,o,m)=>{let w=Object.entries(a.toggle);if(w.length){let u=()=>{let c=[];for(let[p,k]of w)O(k,o)===!0&&c.push(p);return Tt(a.class,c)},g=u();e.getAttribute("class")!==g&&e.setAttribute("class",g),w.some(([,c])=>R(c))&&m.push(()=>{let c=u();c!==g&&(g=c,e.setAttribute("class",c))})}for(let u in a.vars)I(m,a.vars[u],o,g=>{let c=e.style;g===null||g===""?c.removeProperty(u):c.getPropertyValue(u)!==L(g)&&c.setProperty(u,L(g))})},ct={doc:t,options:n,render:q,value:O,dispatch:e=>z(e),own:(e,a)=>E.add({el:e,stop:a}),same:B,styling:P},D=new Set,Q=(e,a,o)=>{!n.onQuery||D.has(e)||(D.add(e),n.onQuery(a,o).then(m=>{D.delete(e),d.set(e,m);for(let w of A)w();rt()}))},rt=()=>{for(let e=A.length-1;e>=0;e--)M.delete(A[e])&&A.splice(e,1);for(let e of E)e.el.isConnected||(e.stop(),E.delete(e))},st=(e,a,o,m,w=null)=>{let u=N(e,"["),g=o(),c=[];m(e,c);let p=N(e,"]");a.push(()=>{let k=o();if(k===g){for(let C of c)C();return}g=k,c=[];let _=n.motion;if(!w||!_||_.reduced(t)){Ct(u,p),m({parent:p.parentNode,next:p,claim:!1},c);return}_.leave(u.nextSibling===p?[]:Z(u.nextSibling,p.previousSibling),w);let[y,S]=bt({parent:p.parentNode,next:p,claim:!1},()=>m({parent:p.parentNode,next:p,claim:!1},c));y&&S&&y!==p&&_.enter(Z(y,S),w)})},St=(e,a,o,m,w)=>{let u=N(o,"["),g=y=>{let S=e.key===null?y:U(y,[e.key]);return typeof S=="string"?`s${S}`:JSON.stringify(S)},c=()=>{let y=O(e.source,a);return Array.isArray(y)?y:[]},p=(y,S)=>{let C=[...a,y],F=[],[V,W]=bt(S,()=>q(e.item,C,S,F,w));return{key:g(y),scope:C,block:F,first:V,last:W}},k=c().map(y=>p(y,o)),_=N(o,"]");m.push(()=>{let y=n.motion,S=e.motion&&y&&!y.reduced(t)?y.track(k.map(v=>v.first),e.motion):null,C=new Map(k.map(v=>[v.key,v])),F=new Set,V=[];for(let v of c()){let K=g(v),it=C.get(K);if(it){C.delete(K),it.scope.splice(0,it.scope.length,...a,v);for(let ft of it.block)ft();V.push(it)}else{let ft=p(v,{parent:t.createDocumentFragment(),next:null,claim:!1});F.add(ft),V.push(ft)}}for(let v of C.values())if(S)S.leave(Z(v.first,v.last));else for(let K of Z(v.first,v.last))K.remove();let W=_.parentNode,G=u.nextSibling??_;for(let v of V)if(v.first===G)G=v.last.nextSibling??_;else for(let K of Z(v.first,v.last))W.insertBefore(K,G);k=V,S?.settle(V.map(v=>[Z(v.first,v.last),F.has(v)]))})},ot=e=>{for(let a of e.effects)if(a.type==="navigate")n.onNavigate?.(a.url);else if(a.type==="timer"){let o=setTimeout(()=>{x.delete(o),z({type:"timer",entry:a.entry,ms:a.ms})},a.ms);x.add(o)}else n.onInvoke?.(a.effect,a.input).then(o=>z(o.ok?{type:"done",entry:a.entry,result:o.value}:{type:"failed",entry:a.entry,error:o.error,data:o.data}))};function z(e){if(!r||!j)return;let a=yt(r,j,e);if(a.taken){j=a.snapshot;for(let o of A)o();rt(),ot(a)}}return{attach(e,a,o,m,w){let u={parent:e,next:a,claim:w},g=e.namespaceURI===mt?mt:null,c=[],[p,k]=bt(u,()=>q(o,m,u,c,g));p&&k&&b.push([p,k]);let _=p?.isConnected===!0,y=()=>{if(_&&!p.isConnected)M.add(y);else for(let S of c)S()};A.push(y)},start(){h&&ot(h),h=null},sync:()=>{for(let e of A)e();rt()},dispatch:z,snapshot:()=>j,destroy:()=>{for(let e of x)clearTimeout(e);x.clear();for(let e of E)e.stop();E.clear(),A.length=0;for(let[e,a]of b)for(let o of Z(e,a))o.remove();b.length=0}}}var Mt=function(t,n){return typeof t=="string"&&/^\.\.?\//.test(t)?t.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(r,s,i,l,f){return s?n?".jsx":".js":i&&(!l||!f)?r:i+l+"."+f.toLowerCase()+"js"}):t},Jt=t=>t.islands.flatMap(([n,r,...s])=>{let i=t.ids[n],l=i.slice(0,i.indexOf("."));return s.map(f=>({feature:l,node:i,scope:[...Array(r).fill(null),...f]}))}),Vt=t=>new URL(t,import.meta.url),Lt=async(t,n,r)=>{let s=JSON.stringify({effect:t,input:n,keys:r}),i=lt.size?await(await import("./chunk-7HUHKEFT.js")).encode(s,n,lt):s;return await(await fetch(Vt("effect"),{method:"POST",headers:typeof i=="string"?{"content-type":"application/json"}:{},body:i})).json()},Zt=async(t,n)=>await(await fetch(Vt("query"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:t,input:n})})).json(),Pt=async t=>(await import(Mt(t))).default,Qt=async t=>(await import(Mt(t))).fns;async function Ut(t,{transport:n=Lt,query:r=Zt,live:s,loadFns:i=Qt,loadComponent:l=Pt,loadFetch:f}={}){let d=new Map,b=t.getElementById("hozu-payload");if(!b?.textContent)return d;let x=JSON.parse(b.textContent),h={data:new Map(x.data),versions:new Map},j=globalThis.__hozuFns??{},A=e=>j[new URL(e,t.baseURI).href],M=x.fns?Object.assign({},...x.fns.every(A)?x.fns.map(A):await Promise.all(x.fns.map(e=>A(e)??i(e)))):{},{components:E,routes:$}=x,O=x.motion?await import("./chunk-PTMR5OH4.js"):void 0,I=Object.keys(E).length?(await import("./chunk-7JYW54P6.js")).renderComponent:void 0;x.visible&&import("./chunk-DRLGN2D4.js").then(e=>e.watch(t));let N=x.effects?(await import("./chunk-QPPJ5CKU.js")).createRunner(x,M,h,{stringify:X,compile:T},f):null,nt=new Map,q=(e,a)=>{let o=e+JSON.stringify(a),m=nt.get(o);return m||(m=(N?.runs(e)?N.run(e,a):r(e,a)).finally(()=>nt.delete(o)),nt.set(o,m)),m},P=Object.entries(x.live??{}),ct=async e=>{if(D)return void Q.push(...e);let a=P.filter(([,o])=>o.tags.some(m=>e.includes(m)));for(let[o,m]of a)h.data.set(o,await r(m.query,m.input));if(a.length)for(let o of d.values())o.sync()},D=0,Q=[],rt=async(e,a)=>{if(N?.runs(e)){D++;let{result:g,changed:c,tags:p}=await N.mutate(e,a).finally(()=>D--);if(c)for(let k of d.values())k.sync();return{result:g,tags:p}}D++;let{result:o,refreshed:m,session:w,tags:u}=await n(e,a,[...h.data.keys()]).finally(()=>D--);if(u&&N&&await N.reread(u))for(let g of d.values())g.sync();w&&(h.data.clear(),Q=[]);for(let[g,c]of m)h.data.set(g,c),h.versions.set(g,(h.versions.get(g)??0)+1);if(m.length||w)for(let g of d.values())g.sync();return!D&&Q.length&&ct(Q.splice(0)),{result:o,tags:u??[]}},st=async(e,a)=>(await rt(e,a)).result,St=null;for(let[e,a]of Object.entries(x.features)){let o=x.snapshots?.[e];d.set(e,It(t,{machine:a?dt({id:e,machine:a},M,$):null,payload:h,params:x.params,search:x.search,...o?{snapshot:o}:{},fns:M,components:E,routes:$,motion:O,component:I,loadComponent:l,onQuery:q,onInvoke:st,...N?{readsInBrowser:m=>N.runs(m)}:{},onNavigate:m=>t.defaultView?.location.assign(m)}))}let ot=[],z=t.createTreeWalker(t.body??t,128);for(;z.nextNode();)z.currentNode.data==="i"&&ot.push(z.currentNode);Jt(x).forEach((e,a)=>{let o=ot[a],m=x.nodes[e.node];o?.parentNode&&m&&d.get(e.feature)?.attach(o.parentNode,o.nextSibling,m,e.scope,!0)});for(let e of d.values())e.sync();for(let e of d.values())e.start();return P.length&&(s??(await import("./chunk-627YWRJ6.js")).liveStream(t))(ct,P.flatMap(([,e])=>e.tags)),t.documentElement.setAttribute("data-hozu-ready",""),d}var kt="hozu:reloaded",Rt=t=>{try{if(!t)return sessionStorage.removeItem(kt);let n=!sessionStorage.getItem(kt);return sessionStorage.setItem(kt,"1"),n}catch{return!1}};Ut(document).then(()=>Rt(!1),t=>{if(t instanceof TypeError&&/import|module/i.test(t.message)&&Rt(!0))location.reload();else throw t});
|
|
1
|
+
var Ot=JSON.stringify;function tt(t){if(t===null)return"null";switch(typeof t){case"string":return Ot(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(tt).join(",")}]`;let e=t,n=Object.keys(e).sort(),s="{";for(let a=0;a<n.length;a++){let l=n[a],f=e[l];if(f===void 0)throw new TypeError(`Undefined value at key "${l}"`);s+=`${a?",":""}${Ot(l)}:${tt(f)}`}return`${s}}`}default:throw new TypeError(`Value of type ${typeof t} is not valid JSON`)}}function R(t,e){let n=t;for(let s of e){if(typeof n=="string"&&s==="length")return n.length;if(n===null||typeof n!="object")return null;n=n[s]}return n===void 0?null:n}function P(t,e,n,s=0){if(s===e.length)return n;let a=e[s];if(Array.isArray(t)){let f=t.slice();return f[Number(a)]=P(t[Number(a)]??null,e,n,s+1),f}let l=t!==null&&typeof t=="object"?t:{};return{...l,[a]:P(l[a]??null,e,n,s+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 s=0;s<t.length;s++)if(!J(t[s],e[s]))return!1;return!0}if(Array.isArray(e))return!1;let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let s of n)if(!Object.hasOwn(e,s)||!J(t[s],e[s]))return!1;return!0}var ft=(t,e,n)=>{let[s="",a=""]=t.split("?"),l=s.replace(/\/:([A-Za-z]\w*)[?*+]?/g,(k,h)=>[R(e,[h])??[]].flat().map(b=>`/${encodeURIComponent(String(b))}`).join(""))||"/",f=a.split("&"),g="";if(n&&typeof n=="object")for(let k of Object.keys(n).sort()){let h=n[k],w=`${encodeURIComponent(k)}=${encodeURIComponent(String(h))}`;h!==null&&typeof h!="object"&&!f.includes(w)&&(g+=`${g&&"&"}${w}`)}return g?`${l}?${g}`:l};var et=class extends Error{name="CompileError"};function E(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(([f,g])=>[f,E(g,e)]);return f=>{let g={};for(let[k,h]of l)g[k]=h(f);return g}}if("fn"in t){let l=e[t.fn];if(!l)throw new et(`No implementation bound for fn ${t.fn}`);let f=E(t.arg,e);return g=>l(f(g))}if("link"in t){let l=t.link,f=E(t.params,e),g=E(t.search,e);return k=>ft(k.routes?.[l]??"",f(k),g(k))}if("test"in t){let l=at(t.test,e);return f=>l(f)}if("endpoint"in t){let l=t.endpoint,f=E(t.input??{literal:null},e);return g=>ft(g.routes?.[l]??"",null,f(g))}let n=t,{path:s}=n;if(n.ref==="binding"){let l=n.depth;return s.length?f=>R(f.bindings?.[l],s):f=>f.bindings?.[l]??null}if(n.ref==="dom"){let[l,...f]=s;return g=>g.dom&&l?R(g.dom(l),f)??(l==="formAll"?[]:null):null}let a=n.ref;return s.length===0?l=>l[a]??null:l=>R(l[a],s)}var Z=t=>typeof t=="number"||typeof t=="string"?t:Number.NaN;function at(t,e){switch(t.op){case"and":{let n=t.args.map(s=>at(s,e));return s=>n.every(a=>a(s))}case"or":{let n=t.args.map(s=>at(s,e));return s=>n.some(a=>a(s))}case"not":{let n=at(t.arg,e);return s=>!n(s)}case"fn":{let n=E({fn:t.fn,arg:t.arg},e);return s=>n(s)===!0}default:{let n=E(t.left,e),s=E(t.right,e);switch(t.op){case"eq":return a=>J(n(a),s(a));case"neq":return a=>!J(n(a),s(a));case"lt":return a=>Z(n(a))<Z(s(a));case"lte":return a=>Z(n(a))<=Z(s(a));case"gt":return a=>Z(n(a))>Z(s(a));default:return a=>Z(n(a))>=Z(s(a))}}}}function Dt(t,e){let{path:n}=t,s=E(t.value,e);switch(t.op){case"set":return(a,l)=>P(a,n,s({...l,context:a}));case"append":return(a,l)=>{let f=R(a,n);return P(a,n,[...Array.isArray(f)?f:[],s({...l,context:a})])};case"inc":return(a,l)=>P(a,n,Number(R(a,n)??0)+Number(s({...l,context:a})));case"removeWhere":{let a=t.key;return(l,f)=>{let g=R(l,n),k=s({...f,context:l}),h=Array.isArray(g)?g:[];return P(l,n,h.filter(w=>!J(a===null?w:w!==null&&typeof w=="object"&&!Array.isArray(w)?w[a]:null,k)))}}}}var gt=-1,zt=(t,e)=>n=>t({...n,routes:e});function yt(t,e={},n={}){let s=t.machine;if(!s)throw new et(`Feature ${t.id} has no machine`);let a=Object.keys(s.states),l=new Map(a.map((b,v)=>[b,v])),f=b=>{let v=l.get(b);if(v===void 0)throw new et(`Unknown state "${b}" in ${t.id}`);return v},g=[],k=!1,h=(b,v)=>(g.push(v),b.target==="previous"&&(k=!0),{id:v,guard:b.guard?at(b.guard,e):null,target:b.target==="previous"?gt:f(b.target),assign:b.assign.map(C=>Dt(C,e)),navigate:b.navigate?zt(E(b.navigate,e),n):null}),w=a.map(b=>{let v=s.states[b],C=new Map;for(let[S,A]of Object.entries(v.on))C.set(S,A.map((_,D)=>h(_,`${b}/on/${S}/${D}`)));let T=new Map;v.after.forEach((S,A)=>{let _=h(S.transition,`${b}/after/${A}`);T.set(S.ms,[...T.get(S.ms)??[],_])});let V=v.invoke;return{name:b,final:v.final,on:C,invoke:V&&{effect:V.effect,input:E(V.input,e),done:V.done.map((S,A)=>h(S,`${b}/invoke/done/${A}`)),failed:new Map(Object.entries(V.failed).map(([S,A])=>[S,A.map((_,D)=>h(_,`${b}/invoke/failed/${S}/${D}`))]))},after:T,timers:[...T.keys()].sort((S,A)=>S-A)}});return{feature:t.id,initial:f(s.initial),initialContext:s.initialContext,states:w,index:l,transitions:g,remembers:k}}function vt(t,e,n,s,a){let l=t.states[e];l.invoke&&a.push({type:"invoke",entry:s,effect:l.invoke.effect,input:l.invoke.input({context:n})});for(let f of l.timers)a.push({type:"timer",entry:s,ms:f})}function _t(t,e,n,s=1,a){let l=t.index.get(e);if(l===void 0)throw new Error(`Unknown state "${e}" in ${t.feature}`);let f=[];return vt(t,l,n,s,f),{snapshot:{state:e,context:n,entry:s,...a===void 0?{}:{previous:a}},effects:f,taken:null}}var ht=t=>_t(t,t.states[t.initial].name,t.initialContext),nt=t=>({snapshot:t,effects:[],taken:null});function ut(t,e,n,s){if(!n)return nt(e);for(let a of n){let l=a.target===gt?t.index.get(e.previous??""):a.target;if(l===void 0||a.guard&&!a.guard(s))continue;let f=e.context;for(let b of a.assign)f=b(f,s);let g=e.entry+1,k=a.navigate===null?[]:[{type:"navigate",url:String(a.navigate(s))}];vt(t,l,f,g,k);let h=t.states[l].name,w=!t.remembers||h===e.state?e.previous:e.state;return{snapshot:{state:h,context:f,entry:g,...w===void 0?{}:{previous:w}},effects:k,taken:a.id}}return nt(e)}function xt(t,e,n){let s=t.states[t.index.get(e.state)??-1];if(!s||s.final)return nt(e);let a=e.context;switch(n.type){case"event":return ut(t,e,s.on.get(n.event),{context:a,event:n.payload});case"done":return n.entry!==e.entry||!s.invoke?nt(e):ut(t,e,s.invoke.done,{context:a,result:n.result});case"failed":{if(n.entry!==e.entry||!s.invoke)return nt(e);let l=s.invoke.failed,f=l.has(n.error),g=f?n.data:{message:Ft(n.data,n.error)};return ut(t,e,l.get(f?n.error:"Unexpected"),{context:a,error:g})}case"timer":return n.entry!==e.entry?nt(e):ut(t,e,s.after.get(n.ms),{context:a})}}function Ft(t,e){return t!==null&&typeof t=="object"&&!Array.isArray(t)&&typeof t.message=="string"?t.message:e}function Nt(t,e){let n=Object.create(null),s=Object.create(null),a=(l,f)=>{let g=typeof f=="string"?f:f.name,k=s[l];k?k.push(g):(s[l]=[g],n[l]=g)};for(let[l,f]of t)a(l,f);return e&&a(...e),{first:n,all:s}}var pt="http://www.w3.org/2000/svg",Bt=new Set(["contenteditable","draggable","spellcheck"]),Q=t=>t==null?"":typeof t=="object"?JSON.stringify(t):String(t);function At(t,e){return e==null?null:typeof e=="boolean"?t.startsWith("aria-")||t.startsWith("data-")||Bt.has(t)?String(e):e?"":null:Q(e)}var Et=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,lt=new Map,Ht=t=>t?[...t].map(e=>{let n=`u${lt.size+1}`;return lt.set(n,e),{name:e.name,size:e.size,type:e.type,token:n}}):[],wt=t=>e=>{let n=t.target;switch(e){case"value":return typeof n?.value=="string"?n.value:"";case"checked":return n?.checked===!0;case"valueAsNumber":return $t(n?.valueAsNumber);case"files":return Ht(n?.files??t.dataTransfer?.files);case"form":case"formAll":{let s=t.target,a=s.ownerDocument.defaultView,l=Nt(new(a?.FormData??FormData)(s,t.submitter));return e==="form"?l.first:l.all}case"open":return n?.open===!0;case"returnValue":return typeof n?.returnValue=="string"?n.returnValue:"";default:{let s=e in t?t[e]:n?.[e];return typeof s=="number"?$t(s):typeof s=="string"||typeof s=="boolean"?s:null}}},Tt=(t,e)=>t?e.length?`${t} ${e.join(" ")}`:t:e.join(" ");var St=t=>{switch(t.op){case"and":case"or":return t.args.some(St);case"not":return St(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):"link"in t?q(t.params)||t.search!==null&&q(t.search):"endpoint"in t?t.input!=null&&q(t.input):"test"in t&&St(t.test),It=(t,e)=>t+tt(e),Jt=t=>t instanceof Map?{data:t,versions:new Map}:t;var rt=(t,e)=>t!==null&&t.nodeType===8&&t.data===e;function W(t,e){let n=[t],s=t;for(;s!==e&&(s=s.nextSibling,!!s);)n.push(s);return n}function kt(t,e){let n=t.next?t.next.previousSibling:t.parent.lastChild;return e(),[n?n.nextSibling:t.parent.firstChild,t.next?t.next.previousSibling:t.parent.lastChild]}function Ct(t,e){for(;t.nextSibling&&t.nextSibling!==e;)t.nextSibling.remove()}function Vt(t,e){let{machine:n,fns:s={},params:a=null,search:l=null,routes:f={}}=e,{data:g}=Jt(e.payload),k=[],h=new Set,w=n?e.snapshot?null:ht(n):null,b=e.snapshot??w?.snapshot??null,v=[],C=new Set,T=new Set,V=new WeakMap,S=(r,o,i)=>{let m=V.get(r);return m||(m=E(r,s),V.set(r,m)),m({context:b?.context??null,bindings:o,params:a,search:l,routes:f,...i?{dom:i}:{}})},A=(r,o,i,m)=>{let y=S(o,i);m(y),q(o)&&r.push(()=>{let u=S(o,i);u!==y&&(y=u,m(u))})},_=(r,o)=>{if(r.claim&&rt(r.next,o)){let i=r.next;return r.next=i.nextSibling,i}return r.parent.insertBefore(t.createComment(o),r.next)},D=r=>{if(!r.claim||!rt(r.next,"["))return;let o=0;for(;r.next;){let i=r.next;if(r.next=i.nextSibling,rt(i,"["))o++;else if(rt(i,"]")&&--o===0)return}},U=(r,o,i,m,y)=>{switch(r.kind){case"text":{let u;i.claim&&i.next?.nodeType===3?(u=i.next,i.next=u.nextSibling):u=i.parent.insertBefore(t.createTextNode(""),i.next),i.claim&&rt(i.next,"")&&(i.next=i.next.nextSibling),A(m,r.value,o,x=>{let c=Q(x);u.data!==c&&(u.data=c)});return}case"el":{let u=r.tag,x=u==="svg"?pt:y,c,p=i.claim&&i.next?.nodeType===1&&i.next.localName===u;p?(c=i.next,i.next=c.nextSibling):(c=x?t.createElementNS(x,u):t.createElement(u),r.class&&c.setAttribute("class",r.class),i.parent.insertBefore(c,i.next));for(let d in r.attrs){let O=r.attrs[d],I=Et.has(d)&&d in c;p&&!q(O)||A(m,O,o,H=>{if(I){let K=c,X=d==="value"?Q(H):H===!0;K[d]!==X&&(K[d]=X);return}let M=At(d,H);M===null?c.removeAttribute(d):c.getAttribute(d)!==M&&c.setAttribute(d,M)})}z(c,r,o,m);for(let d in r.on){let O=r.on[d];c.addEventListener(d,I=>{d==="submit"&&I.preventDefault(),B({type:"event",event:O.event,payload:S(O.payload,o,wt(I))})},bt.has(d)?{passive:!0}:void 0)}if(u==="textarea")return;let j={parent:c,next:p?c.firstChild:null,claim:p},$=u==="foreignObject"?null:x;for(let d of r.children)U(d,o,j,m,$);return}case"when":{let u=()=>b?r.states.includes(b.state):!1;ot(i,m,u,(x,c)=>{if(u())for(let p of r.children)U(p,o,x,c,y)},r.motion);return}case"query":{let u=o;ot(i,m,()=>{let c=It(r.query,S(r.input,o)),p=g.get(c);return p&&u!==o&&u.splice(0,u.length,...o,p.ok?p.value:p.data),`${c}|${p?p.ok?"ready":r.failed[p.error]?p.error:"Unexpected":""}`},(c,p)=>{let j=S(r.input,o),$=It(r.query,j),d=g.get($);if(u=o,!d){(!c.claim||e.readsInBrowser?.(r.query))&&F($,r.query,j),r.pending&&U(r.pending,o,c,p,y);return}let O=d.ok?r.ready:r.failed[d.error]??r.failed.Unexpected;u=[...o,d.ok?d.value:d.data],O&&U(O,u,c,p,y)});return}case"each":mt(r,o,i,m,y);return;case"component":e.component?e.component(st,r,o,i,m):i.claim&&i.next?.nodeType===1&&(i.next=i.next.nextSibling);return;case"if":{let u=()=>S({test:r.test},o)===!0;ot(i,m,u,(x,c)=>{let p=u()?r.ifTrue:r.ifFalse;for(let j of p)U(j,o,x,c,y)},r.motion);return}case"html":{let u=_(i,"["),x;if(i.claim){for(;i.next&&!rt(i.next,"]");)i.next=i.next.nextSibling;x=i.next??i.parent.appendChild(t.createComment("]")),i.next=x.nextSibling}else x=_(i,"]");let c=i.claim?Q(S(r.value,o)):null;A(m,r.value,o,p=>{let j=Q(p);if(j===c)return;c=j,Ct(u,x);let $=t.createElement("template");$.innerHTML=j,x.parentNode.insertBefore($.content,x)});return}case"global":{let u=_(i,"g"),x=r.target==="window"?t.defaultView:t,c=[];for(let p in r.on){let j=r.on[p],$=O=>B({type:"event",event:j.event,payload:S(j.payload,o,wt(O))}),d=bt.has(p)?{passive:!0}:void 0;x.addEventListener(p,$,d),c.push(()=>x.removeEventListener(p,$))}T.add({el:u,stop:()=>c.forEach(p=>p())});return}default:D(i)}},z=(r,o,i,m)=>{let y=Object.entries(o.toggle);if(y.length){let u=()=>{let c=[];for(let[p,j]of y)S(j,i)===!0&&c.push(p);return Tt(o.class,c)},x=u();r.getAttribute("class")!==x&&r.setAttribute("class",x),y.some(([,c])=>q(c))&&m.push(()=>{let c=u();c!==x&&(x=c,r.setAttribute("class",c))})}for(let u in o.vars)A(m,o.vars[u],i,x=>{let c=r.style;x===null||x===""?c.removeProperty(u):c.getPropertyValue(u)!==Q(x)&&c.setProperty(u,Q(x))})},st={doc:t,options:e,render:U,value:S,dispatch:r=>B(r),own:(r,o)=>T.add({el:r,stop:o}),same:J,styling:z},G=new Set,F=(r,o,i)=>{!e.onQuery||G.has(r)||(G.add(r),e.onQuery(o,i).then(m=>{G.delete(r),g.set(r,m);for(let y of v)y();L()}))},L=()=>{for(let r=v.length-1;r>=0;r--)C.delete(v[r])&&v.splice(r,1);for(let r of T)r.el.isConnected||(r.stop(),T.delete(r))},ot=(r,o,i,m,y=null)=>{let u=_(r,"["),x=i(),c=[];m(r,c);let p=_(r,"]");o.push(()=>{let j=i();if(j===x){for(let I of c)I();return}x=j,c=[];let $=e.motion;if(!y||!$||$.reduced(t)){Ct(u,p),m({parent:p.parentNode,next:p,claim:!1},c);return}$.leave(u.nextSibling===p?[]:W(u.nextSibling,p.previousSibling),y);let[d,O]=kt({parent:p.parentNode,next:p,claim:!1},()=>m({parent:p.parentNode,next:p,claim:!1},c));d&&O&&d!==p&&$.enter(W(d,O),y)})},mt=(r,o,i,m,y)=>{let u=_(i,"["),x=d=>{let O=r.key===null?d:R(d,[r.key]);return typeof O=="string"?`s${O}`:JSON.stringify(O)},c=()=>{let d=S(r.source,o);return Array.isArray(d)?d:[]},p=(d,O)=>{let I=[...o,d],H=[],[M,K]=kt(O,()=>U(r.item,I,O,H,y));return{key:x(d),scope:I,block:H,first:M,last:K}},j=c().map(d=>p(d,i)),$=_(i,"]");m.push(()=>{let d=e.motion,O=r.motion&&d&&!d.reduced(t)?d.track(j.map(N=>N.first),r.motion):null,I=new Map(j.map(N=>[N.key,N])),H=new Set,M=[];for(let N of c()){let Y=x(N),it=I.get(Y);if(it){I.delete(Y),it.scope.splice(0,it.scope.length,...o,N);for(let ct of it.block)ct();M.push(it)}else{let ct=p(N,{parent:t.createDocumentFragment(),next:null,claim:!1});H.add(ct),M.push(ct)}}for(let N of I.values())if(O)O.leave(W(N.first,N.last));else for(let Y of W(N.first,N.last))Y.remove();let K=$.parentNode,X=u.nextSibling??$;for(let N of M)if(N.first===X)X=N.last.nextSibling??$;else for(let Y of W(N.first,N.last))K.insertBefore(Y,X);j=M,O?.settle(M.map(N=>[W(N.first,N.last),H.has(N)]))})},dt=r=>{for(let o of r.effects)if(o.type==="navigate")e.onNavigate?.(o.url);else if(o.type==="timer"){let i=setTimeout(()=>{h.delete(i),B({type:"timer",entry:o.entry,ms:o.ms})},o.ms);h.add(i)}else e.onInvoke?.(o.effect,o.input).then(i=>B(i.ok?{type:"done",entry:o.entry,result:i.value}:{type:"failed",entry:o.entry,error:i.error,data:i.data}))};function B(r){if(!n||!b)return;let o=xt(n,b,r);if(o.taken){b=o.snapshot;for(let i of v)i();L(),dt(o)}}return{attach(r,o,i,m,y){let u={parent:r,next:o,claim:y},x=r.namespaceURI===pt?pt:null,c=[],[p,j]=kt(u,()=>U(i,m,u,c,x));p&&j&&k.push([p,j]);let $=p?.isConnected===!0,d=()=>{if($&&!p.isConnected)C.add(d);else for(let O of c)O()};v.push(d)},start(){w&&dt(w),w=null},sync:()=>{for(let r of v)r();L()},dispatch:B,snapshot:()=>b,destroy:()=>{for(let r of h)clearTimeout(r);h.clear();for(let r of T)r.stop();T.clear(),v.length=0;for(let[r,o]of k)for(let i of W(r,o))i.remove();k.length=0}}}var Ut=function(t,e){return typeof t=="string"&&/^\.\.?\//.test(t)?t.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(n,s,a,l,f){return s?e?".jsx":".js":a&&(!l||!f)?n:a+l+"."+f.toLowerCase()+"js"}):t},Lt=t=>t.islands.flatMap(([e,n,...s])=>{let a=t.ids[e],l=a.slice(0,a.indexOf("."));return s.map(f=>({feature:l,node:a,scope:[...Array(n).fill(null),...f]}))}),Mt=t=>new URL(t,import.meta.url),Pt=async(t,e,n)=>{let s=JSON.stringify({effect:t,input:e,keys:n}),a=lt.size?await(await import("./chunk-7HUHKEFT.js")).encode(s,e,lt):s;return await(await fetch(Mt("effect"),{method:"POST",headers:typeof a=="string"?{"content-type":"application/json"}:{},body:a})).json()},Zt=async(t,e)=>await(await fetch(Mt("query"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:t,input:e})})).json(),Qt=async t=>(await import(Ut(t))).default,Wt=async t=>(await import(Ut(t))).fns;async function Rt(t,{transport:e=Pt,query:n=Zt,live:s,loadFns:a=Wt,loadComponent:l=Qt,loadFetch:f}={}){let g=new Map,k=t.getElementById("hozu-payload");if(!k?.textContent)return g;let h=JSON.parse(k.textContent),w={data:new Map(h.data),versions:new Map},b=globalThis.__hozuFns??{},v=o=>b[new URL(o,t.baseURI).href],C=h.fns?Object.assign({},...h.fns.every(v)?h.fns.map(v):await Promise.all(h.fns.map(o=>v(o)??a(o)))):{},{components:T,routes:V}=h,S=h.motion?await import("./chunk-PTMR5OH4.js"):void 0,A=Object.keys(T).length?(await import("./chunk-7JYW54P6.js")).renderComponent:void 0;h.visible&&import("./chunk-DRLGN2D4.js").then(o=>o.watch(t));let _=h.effects?(await import("./chunk-QPPJ5CKU.js")).createRunner(h,C,w,{stringify:tt,compile:E},f):null,D=new Map,U=(o,i)=>{let m=o+JSON.stringify(i),y=D.get(m);return y||(y=(_?.runs(o)?_.run(o,i):n(o,i)).finally(()=>D.delete(m)),D.set(m,y)),y},z=()=>{for(let o of g.values())o.sync()},st=Object.entries(h.live??{}),G=async o=>{if(F)return void L.push(...o);let i=st.filter(([,m])=>m.tags.some(y=>o.includes(y)));for(let[m,y]of i)w.data.set(m,await n(y.query,y.input));i.length&&z()},F=0,L=[],ot=async(o,i)=>{if(_?.runs(o)){F++;let{result:c,changed:p,tags:j}=await _.mutate(o,i).finally(()=>F--);return p&&z(),{result:c,tags:j}}F++;let{result:m,refreshed:y,session:u,tags:x}=await e(o,i,[...w.data.keys()]).finally(()=>F--);x&&_&&await _.reread(x)&&z(),u&&(w.data.clear(),L=[]);for(let[c,p]of y)w.data.set(c,p),w.versions.set(c,(w.versions.get(c)??0)+1);return(y.length||u)&&z(),!F&&L.length&&G(L.splice(0)),{result:m,tags:x??[]}},mt=async(o,i)=>(await ot(o,i)).result,dt=null;for(let[o,i]of Object.entries(h.features)){let m=h.snapshots?.[o];g.set(o,Vt(t,{machine:i?yt({id:o,machine:i},C,V):null,payload:w,params:h.params,search:h.search,...m?{snapshot:m}:{},fns:C,components:T,routes:V,motion:S,component:A,loadComponent:l,onQuery:U,onInvoke:mt,..._?{readsInBrowser:y=>_.runs(y)}:{},onNavigate:y=>t.defaultView?.location.assign(y)}))}let B=[],r=t.createTreeWalker(t.body??t,128);for(;r.nextNode();)r.currentNode.data==="i"&&B.push(r.currentNode);Lt(h).forEach((o,i)=>{let m=B[i],y=h.nodes[o.node];m?.parentNode&&y&&g.get(o.feature)?.attach(m.parentNode,m.nextSibling,y,o.scope,!0)}),z();for(let o of g.values())o.start();return st.length&&(s??(await import("./chunk-627YWRJ6.js")).liveStream(t))(G,st.flatMap(([,o])=>o.tags)),h.poll&&(await import("./chunk-DBYBPDZ3.js")).poll(t,h.poll,w,U,()=>F,z),t.documentElement.setAttribute("data-hozu-ready",""),g}var jt="hozu:reloaded",qt=t=>{try{if(!t)return sessionStorage.removeItem(jt);let e=!sessionStorage.getItem(jt);return sessionStorage.setItem(jt,"1"),e}catch{return!1}};Rt(document).then(()=>qt(!1),t=>{if(t instanceof TypeError&&/import|module/i.test(t.message)&&qt(!0))location.reload();else throw t});
|
|
@@ -547,6 +547,75 @@ var init_live = __esm({
|
|
|
547
547
|
}
|
|
548
548
|
});
|
|
549
549
|
|
|
550
|
+
// packages/runtime-client/dist/poll.js
|
|
551
|
+
var poll_exports = {};
|
|
552
|
+
__export(poll_exports, {
|
|
553
|
+
poll: () => poll
|
|
554
|
+
});
|
|
555
|
+
var mounted, parse, split, poll;
|
|
556
|
+
var init_poll = __esm({
|
|
557
|
+
"packages/runtime-client/dist/poll.js"() {
|
|
558
|
+
"use strict";
|
|
559
|
+
mounted = (data, sync) => {
|
|
560
|
+
const seen = /* @__PURE__ */ new Set();
|
|
561
|
+
const get = data.get;
|
|
562
|
+
data.get = (key) => {
|
|
563
|
+
seen.add(key);
|
|
564
|
+
return get.call(data, key);
|
|
565
|
+
};
|
|
566
|
+
try {
|
|
567
|
+
sync();
|
|
568
|
+
} finally {
|
|
569
|
+
Reflect.deleteProperty(data, "get");
|
|
570
|
+
}
|
|
571
|
+
return seen;
|
|
572
|
+
};
|
|
573
|
+
parse = (text2) => {
|
|
574
|
+
try {
|
|
575
|
+
return [JSON.parse(text2)];
|
|
576
|
+
} catch {
|
|
577
|
+
return null;
|
|
578
|
+
}
|
|
579
|
+
};
|
|
580
|
+
split = (key, refs) => {
|
|
581
|
+
for (const ref of refs) {
|
|
582
|
+
const input = key.startsWith(ref) ? parse(key.slice(ref.length)) : null;
|
|
583
|
+
if (input)
|
|
584
|
+
return [ref, input[0]];
|
|
585
|
+
}
|
|
586
|
+
return null;
|
|
587
|
+
};
|
|
588
|
+
poll = (doc, every, shared, read, busy, sync) => {
|
|
589
|
+
const groups = /* @__PURE__ */ new Map();
|
|
590
|
+
for (const [ref, seconds2] of Object.entries(every))
|
|
591
|
+
groups.set(seconds2, [...groups.get(seconds2) ?? [], ref]);
|
|
592
|
+
for (const [seconds2, refs] of groups) {
|
|
593
|
+
let reading = false;
|
|
594
|
+
setInterval(async () => {
|
|
595
|
+
if (reading || doc.visibilityState === "hidden" || busy())
|
|
596
|
+
return;
|
|
597
|
+
reading = true;
|
|
598
|
+
let changed = false;
|
|
599
|
+
for (const key of mounted(shared.data, sync)) {
|
|
600
|
+
const hit = split(key, refs);
|
|
601
|
+
if (!hit)
|
|
602
|
+
continue;
|
|
603
|
+
const version = shared.versions.get(key);
|
|
604
|
+
const result = await read(...hit).catch(() => null);
|
|
605
|
+
if (result === null || busy() || shared.versions.get(key) !== version)
|
|
606
|
+
continue;
|
|
607
|
+
shared.data.set(key, result);
|
|
608
|
+
changed = true;
|
|
609
|
+
}
|
|
610
|
+
reading = false;
|
|
611
|
+
if (changed)
|
|
612
|
+
sync();
|
|
613
|
+
}, seconds2 * 1e3);
|
|
614
|
+
}
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
});
|
|
618
|
+
|
|
550
619
|
// packages/core/dist/canonical/stringify.js
|
|
551
620
|
var quote = JSON.stringify;
|
|
552
621
|
function canonicalStringify(value) {
|
|
@@ -764,6 +833,7 @@ function assign(a, fns) {
|
|
|
764
833
|
}
|
|
765
834
|
}
|
|
766
835
|
}
|
|
836
|
+
var PREVIOUS = -1;
|
|
767
837
|
var navigateTo = (url, routes) => (env) => url({ ...env, routes });
|
|
768
838
|
function compileMachine(feature, fns = {}, routes = {}) {
|
|
769
839
|
const m = feature.machine;
|
|
@@ -778,12 +848,15 @@ function compileMachine(feature, fns = {}, routes = {}) {
|
|
|
778
848
|
return i;
|
|
779
849
|
};
|
|
780
850
|
const transitions = [];
|
|
851
|
+
let remembers = false;
|
|
781
852
|
const compile = (t, id) => {
|
|
782
853
|
transitions.push(id);
|
|
854
|
+
if (t.target === "previous")
|
|
855
|
+
remembers = true;
|
|
783
856
|
return {
|
|
784
857
|
id,
|
|
785
858
|
guard: t.guard ? guard(t.guard, fns) : null,
|
|
786
|
-
target: indexOf(t.target),
|
|
859
|
+
target: t.target === "previous" ? PREVIOUS : indexOf(t.target),
|
|
787
860
|
assign: t.assign.map((a) => assign(a, fns)),
|
|
788
861
|
navigate: t.navigate ? navigateTo(compileValue(t.navigate, fns), routes) : null
|
|
789
862
|
};
|
|
@@ -822,7 +895,8 @@ function compileMachine(feature, fns = {}, routes = {}) {
|
|
|
822
895
|
initialContext: m.initialContext,
|
|
823
896
|
states,
|
|
824
897
|
index,
|
|
825
|
-
transitions
|
|
898
|
+
transitions,
|
|
899
|
+
remembers
|
|
826
900
|
};
|
|
827
901
|
}
|
|
828
902
|
|
|
@@ -834,13 +908,17 @@ function enterEffects(machine, state, context, entry, effects) {
|
|
|
834
908
|
for (const ms of s.timers)
|
|
835
909
|
effects.push({ type: "timer", entry, ms });
|
|
836
910
|
}
|
|
837
|
-
function enter(machine, state, context, entry = 1) {
|
|
911
|
+
function enter(machine, state, context, entry = 1, previous) {
|
|
838
912
|
const index = machine.index.get(state);
|
|
839
913
|
if (index === void 0)
|
|
840
914
|
throw new Error(`Unknown state "${state}" in ${machine.feature}`);
|
|
841
915
|
const effects = [];
|
|
842
916
|
enterEffects(machine, index, context, entry, effects);
|
|
843
|
-
return {
|
|
917
|
+
return {
|
|
918
|
+
snapshot: { state, context, entry, ...previous === void 0 ? {} : { previous } },
|
|
919
|
+
effects,
|
|
920
|
+
taken: null
|
|
921
|
+
};
|
|
844
922
|
}
|
|
845
923
|
var init = (machine) => enter(machine, machine.states[machine.initial].name, machine.initialContext);
|
|
846
924
|
var ignored = (snapshot) => ({ snapshot, effects: [], taken: null });
|
|
@@ -848,6 +926,9 @@ function fire(machine, snapshot, candidates, env) {
|
|
|
848
926
|
if (!candidates)
|
|
849
927
|
return ignored(snapshot);
|
|
850
928
|
for (const t of candidates) {
|
|
929
|
+
const target = t.target === PREVIOUS ? machine.index.get(snapshot.previous ?? "") : t.target;
|
|
930
|
+
if (target === void 0)
|
|
931
|
+
continue;
|
|
851
932
|
if (t.guard && !t.guard(env))
|
|
852
933
|
continue;
|
|
853
934
|
let context = snapshot.context;
|
|
@@ -855,8 +936,14 @@ function fire(machine, snapshot, candidates, env) {
|
|
|
855
936
|
context = update(context, env);
|
|
856
937
|
const entry = snapshot.entry + 1;
|
|
857
938
|
const effects = t.navigate === null ? [] : [{ type: "navigate", url: String(t.navigate(env)) }];
|
|
858
|
-
enterEffects(machine,
|
|
859
|
-
|
|
939
|
+
enterEffects(machine, target, context, entry, effects);
|
|
940
|
+
const state = machine.states[target].name;
|
|
941
|
+
const previous = !machine.remembers || state === snapshot.state ? snapshot.previous : snapshot.state;
|
|
942
|
+
return {
|
|
943
|
+
snapshot: { state, context, entry, ...previous === void 0 ? {} : { previous } },
|
|
944
|
+
effects,
|
|
945
|
+
taken: t.id
|
|
946
|
+
};
|
|
860
947
|
}
|
|
861
948
|
return ignored(snapshot);
|
|
862
949
|
}
|
|
@@ -1021,7 +1108,7 @@ function createApp(doc, options) {
|
|
|
1021
1108
|
let snapshot = options.snapshot ?? first?.snapshot ?? null;
|
|
1022
1109
|
const root = [];
|
|
1023
1110
|
const detached = /* @__PURE__ */ new Set();
|
|
1024
|
-
const
|
|
1111
|
+
const mounted2 = /* @__PURE__ */ new Set();
|
|
1025
1112
|
const getters = /* @__PURE__ */ new WeakMap();
|
|
1026
1113
|
const value = (v, scope, dom) => {
|
|
1027
1114
|
let get = getters.get(v);
|
|
@@ -1235,7 +1322,7 @@ function createApp(doc, options) {
|
|
|
1235
1322
|
target.addEventListener(event, listener, opts);
|
|
1236
1323
|
stops.push(() => target.removeEventListener(event, listener));
|
|
1237
1324
|
}
|
|
1238
|
-
|
|
1325
|
+
mounted2.add({ el: anchor, stop: () => stops.forEach((s) => s()) });
|
|
1239
1326
|
return;
|
|
1240
1327
|
}
|
|
1241
1328
|
default:
|
|
@@ -1279,7 +1366,7 @@ function createApp(doc, options) {
|
|
|
1279
1366
|
render,
|
|
1280
1367
|
value,
|
|
1281
1368
|
dispatch: (input) => dispatch(input),
|
|
1282
|
-
own: (el, stop) =>
|
|
1369
|
+
own: (el, stop) => mounted2.add({ el, stop }),
|
|
1283
1370
|
same: equal,
|
|
1284
1371
|
styling
|
|
1285
1372
|
};
|
|
@@ -1300,10 +1387,10 @@ function createApp(doc, options) {
|
|
|
1300
1387
|
for (let i = root.length - 1; i >= 0; i--)
|
|
1301
1388
|
if (detached.delete(root[i]))
|
|
1302
1389
|
root.splice(i, 1);
|
|
1303
|
-
for (const m of
|
|
1390
|
+
for (const m of mounted2)
|
|
1304
1391
|
if (!m.el.isConnected) {
|
|
1305
1392
|
m.stop();
|
|
1306
|
-
|
|
1393
|
+
mounted2.delete(m);
|
|
1307
1394
|
}
|
|
1308
1395
|
};
|
|
1309
1396
|
const region = (c, block, key, fill, motion = null) => {
|
|
@@ -1451,9 +1538,9 @@ function createApp(doc, options) {
|
|
|
1451
1538
|
for (const t of timers)
|
|
1452
1539
|
clearTimeout(t);
|
|
1453
1540
|
timers.clear();
|
|
1454
|
-
for (const m of
|
|
1541
|
+
for (const m of mounted2)
|
|
1455
1542
|
m.stop();
|
|
1456
|
-
|
|
1543
|
+
mounted2.clear();
|
|
1457
1544
|
root.length = 0;
|
|
1458
1545
|
for (const [a, b] of ranges)
|
|
1459
1546
|
for (const n of range(a, b))
|
|
@@ -1536,6 +1623,10 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
|
|
|
1536
1623
|
}
|
|
1537
1624
|
return pending;
|
|
1538
1625
|
};
|
|
1626
|
+
const syncAll = () => {
|
|
1627
|
+
for (const app of apps.values())
|
|
1628
|
+
app.sync();
|
|
1629
|
+
};
|
|
1539
1630
|
const liveKeys = Object.entries(payload.live ?? {});
|
|
1540
1631
|
const onTags = async (tags) => {
|
|
1541
1632
|
if (busy)
|
|
@@ -1544,8 +1635,7 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
|
|
|
1544
1635
|
for (const [key, l] of stale)
|
|
1545
1636
|
shared.data.set(key, await query(l.query, l.input));
|
|
1546
1637
|
if (stale.length)
|
|
1547
|
-
|
|
1548
|
-
app.sync();
|
|
1638
|
+
syncAll();
|
|
1549
1639
|
};
|
|
1550
1640
|
let busy = 0;
|
|
1551
1641
|
let queued = [];
|
|
@@ -1554,8 +1644,7 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
|
|
|
1554
1644
|
busy++;
|
|
1555
1645
|
const { result: result2, changed, tags: tags2 } = await local.mutate(effect, input).finally(() => busy--);
|
|
1556
1646
|
if (changed)
|
|
1557
|
-
|
|
1558
|
-
app.sync();
|
|
1647
|
+
syncAll();
|
|
1559
1648
|
return { result: result2, tags: tags2 };
|
|
1560
1649
|
}
|
|
1561
1650
|
busy++;
|
|
@@ -1563,8 +1652,7 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
|
|
|
1563
1652
|
...shared.data.keys()
|
|
1564
1653
|
]).finally(() => busy--);
|
|
1565
1654
|
if (tags && local && await local.reread(tags))
|
|
1566
|
-
|
|
1567
|
-
app.sync();
|
|
1655
|
+
syncAll();
|
|
1568
1656
|
if (session) {
|
|
1569
1657
|
shared.data.clear();
|
|
1570
1658
|
queued = [];
|
|
@@ -1574,8 +1662,7 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
|
|
|
1574
1662
|
shared.versions.set(key, (shared.versions.get(key) ?? 0) + 1);
|
|
1575
1663
|
}
|
|
1576
1664
|
if (refreshed.length || session)
|
|
1577
|
-
|
|
1578
|
-
app.sync();
|
|
1665
|
+
syncAll();
|
|
1579
1666
|
if (!busy && queued.length)
|
|
1580
1667
|
onTags(queued.splice(0));
|
|
1581
1668
|
return { result, tags: tags ?? [] };
|
|
@@ -1615,12 +1702,13 @@ async function hydrate(doc, { transport = fetchTransport, query = fetchQuery, li
|
|
|
1615
1702
|
if (at?.parentNode && node)
|
|
1616
1703
|
apps.get(island.feature)?.attach(at.parentNode, at.nextSibling, node, island.scope, true);
|
|
1617
1704
|
});
|
|
1618
|
-
|
|
1619
|
-
app.sync();
|
|
1705
|
+
syncAll();
|
|
1620
1706
|
for (const app of apps.values())
|
|
1621
1707
|
app.start();
|
|
1622
1708
|
if (liveKeys.length)
|
|
1623
1709
|
(live ?? (await Promise.resolve().then(() => (init_live(), live_exports))).liveStream(doc))(onTags, liveKeys.flatMap(([, l]) => l.tags));
|
|
1710
|
+
if (payload.poll)
|
|
1711
|
+
(await Promise.resolve().then(() => (init_poll(), poll_exports))).poll(doc, payload.poll, shared, onQuery, () => busy, syncAll);
|
|
1624
1712
|
if (dev)
|
|
1625
1713
|
(await Promise.resolve().then(() => (init_dev(), dev_exports))).expose(doc, apps, dev.machines, { invoke, query: onQuery });
|
|
1626
1714
|
doc.documentElement.setAttribute("data-hozu-ready", "");
|
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-7JYW54P6.js":"function b(e){let o=new AbortController;e.el.setAttribute(\"data-hozu-component\",e.name),e.el.setAttribute(\"data-hozu-component-state\",\"loading\");let l=e.props(),r,a=n=>{r=void 0,e.el.setAttribute(\"data-hozu-component-state\",\"failed\"),e.doc.defaultView?.console.error(`Component ${e.name} failed`,n)},i=()=>{e.load(e.ref.url).then(n=>{if(!o.signal.aborted)try{r=n({el:e.el,props:l,emit:e.emit,signal:o.signal})??void 0,e.el.setAttribute(\"data-hozu-component-state\",\"mounted\")}catch(t){a(t)}},a)},s=e.doc.defaultView;if(e.ref.load===\"eager\"||!s)i();else if(e.ref.load===\"idle\")(s.requestIdleCallback??s.setTimeout)(i);else if(!s.IntersectionObserver)i();else{let n=new s.IntersectionObserver(t=>{t.some(d=>d.isIntersecting)&&(n.disconnect(),i())});n.observe(e.el),o.signal.addEventListener(\"abort\",()=>n.disconnect())}e.watch(()=>{let n=e.props();if(!e.same(n,l)){l=n;try{r?.update?.(n)}catch(t){a(t)}}}),e.own(()=>{o.abort(),r?.destroy?.()})}var g=(e,o,l,r,a)=>{let i=o.use.component,s=e.options.components?.[i],n=s?.tag??\"div\",t,d=r.claim&&r.next?.nodeType===1&&r.next.localName===n;if(d?(t=r.next,r.next=t.nextSibling):(t=e.doc.createElement(n),o.class&&t.setAttribute(\"class\",o.class),r.parent.insertBefore(t,r.next)),e.styling(t,o,l,a),!d||o.children.length){let c={parent:t,next:d?t.firstChild:null,claim:d};for(let u of o.children)e.render(u,l,c,a,null)}s||console.error(`Hozu: component ${i} has no client code (bundleComponents)`),!(!s||!e.options.loadComponent)&&b({el:t,ref:s,name:i,doc:e.doc,props:()=>e.value(o.props,l),emit:(c,u)=>{let m=o.on[c];m&&e.dispatch({type:\"event\",event:m.event,payload:e.value(m.payload,l,f=>f===\"detail\"?u:null)})},load:e.options.loadComponent,watch:c=>a.push(c),own:c=>e.own(t,c),same:e.same})};export{b as mountComponent,g as renderComponent};\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-PTMR5OH4.js":"var a=t=>t.split(\",\").map(e=>Number.parseFloat(e)*(e.trim().endsWith(\"ms\")?1:1e3)||0);function m(t){let e=t.ownerDocument.defaultView?.getComputedStyle(t);if(!e)return 0;let n=(o,i)=>{let r=a(o),s=a(i);return Math.max(0,...r.map((d,u)=>d+(s[u%s.length]??0)))};return Math.max(n(e.transitionDuration,e.transitionDelay),n(e.animationDuration,e.animationDelay))}var p=(t,e)=>{let n=t.ownerDocument.defaultView;if(!n?.requestAnimationFrame)return e();n.requestAnimationFrame(()=>n.requestAnimationFrame(e))};function c(t,e){let n=m(t);if(n===0)return e();let o=!1,i=()=>{o||(o=!0,t.removeEventListener(\"transitionend\",i),t.removeEventListener(\"animationend\",i),e())};t.addEventListener(\"transitionend\",i),t.addEventListener(\"animationend\",i),setTimeout(i,n+50)}var x=t=>t.defaultView?.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches===!0;function f(t,e,n,o){let i=`${e}-${n}-from`,r=`${e}-${n}-active`,s=`${e}-${n}-to`;t.classList.add(i,r),p(t,()=>{t.classList.remove(i),t.classList.add(s),c(t,()=>{t.classList.remove(r,s),o()})})}function v(t,e){for(let n of t)n.nodeType===1&&f(n,e,\"enter\",()=>{})}function l(t,e){for(let n of t)n.nodeType===1?f(n,e,\"leave\",()=>n.remove()):n.remove()}function h(t,e,n){let o=t.getBoundingClientRect(),i=e.left-o.left,r=e.top-o.top;if(!i&&!r)return;let s=t.style;s.transitionDuration=\"0s\",s.transform=`translate(${i}px, ${r}px)`,t.offsetWidth,t.classList.add(`${n}-move`),s.transitionDuration=\"\",s.transform=\"\",c(t,()=>t.classList.remove(`${n}-move`))}function L(t,e){let n=new Map(t.flatMap(o=>o.nodeType===1?[[o,o.getBoundingClientRect()]]:[]));return{leave:o=>l(o,e),settle(o){for(let[i,r]of o){let s=n.get(i[0]);r?v(i,e):s&&h(i[0],s,e)}}}}export{v as enter,h as flip,l as leave,x as reduced,L as track};\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 jt=JSON.stringify;function X(t){if(t===null)return\"null\";switch(typeof t){case\"string\":return jt(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(X).join(\",\")}]`;let n=t,r=Object.keys(n).sort(),s=\"{\";for(let i=0;i<r.length;i++){let l=r[i],f=n[l];if(f===void 0)throw new TypeError(`Undefined value at key \"${l}\"`);s+=`${i?\",\":\"\"}${jt(l)}:${X(f)}`}return`${s}}`}default:throw new TypeError(`Value of type ${typeof t} is not valid JSON`)}}function U(t,n){let r=t;for(let s of n){if(typeof r==\"string\"&&s===\"length\")return r.length;if(r===null||typeof r!=\"object\")return null;r=r[s]}return r===void 0?null:r}function H(t,n,r,s=0){if(s===n.length)return r;let i=n[s];if(Array.isArray(t)){let f=t.slice();return f[Number(i)]=H(t[Number(i)]??null,n,r,s+1),f}let l=t!==null&&typeof t==\"object\"?t:{};return{...l,[i]:H(l[i]??null,n,r,s+1)}}function B(t,n){if(t===n)return!0;if(t===null||n===null||typeof t!=\"object\"||typeof n!=\"object\")return!1;if(Array.isArray(t)){if(!Array.isArray(n)||t.length!==n.length)return!1;for(let s=0;s<t.length;s++)if(!B(t[s],n[s]))return!1;return!0}if(Array.isArray(n))return!1;let r=Object.keys(t);if(r.length!==Object.keys(n).length)return!1;for(let s of r)if(!Object.hasOwn(n,s)||!B(t[s],n[s]))return!1;return!0}var ut=(t,n,r)=>{let[s=\"\",i=\"\"]=t.split(\"?\"),l=s.replace(/\\/:([A-Za-z]\\w*)[?*+]?/g,(b,x)=>[U(n,[x])??[]].flat().map(j=>`/${encodeURIComponent(String(j))}`).join(\"\"))||\"/\",f=i.split(\"&\"),d=\"\";if(r&&typeof r==\"object\")for(let b of Object.keys(r).sort()){let x=r[b],h=`${encodeURIComponent(b)}=${encodeURIComponent(String(x))}`;x!==null&&typeof x!=\"object\"&&!f.includes(h)&&(d+=`${d&&\"&\"}${h}`)}return d?`${l}?${d}`:l};var Y=class extends Error{name=\"CompileError\"};function T(t,n){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(([f,d])=>[f,T(d,n)]);return f=>{let d={};for(let[b,x]of l)d[b]=x(f);return d}}if(\"fn\"in t){let l=n[t.fn];if(!l)throw new Y(`No implementation bound for fn ${t.fn}`);let f=T(t.arg,n);return d=>l(f(d))}if(\"link\"in t){let l=t.link,f=T(t.params,n),d=T(t.search,n);return b=>ut(b.routes?.[l]??\"\",f(b),d(b))}if(\"test\"in t){let l=at(t.test,n);return f=>l(f)}if(\"endpoint\"in t){let l=t.endpoint,f=T(t.input??{literal:null},n);return d=>ut(d.routes?.[l]??\"\",null,f(d))}let r=t,{path:s}=r;if(r.ref===\"binding\"){let l=r.depth;return s.length?f=>U(f.bindings?.[l],s):f=>f.bindings?.[l]??null}if(r.ref===\"dom\"){let[l,...f]=s;return d=>d.dom&&l?U(d.dom(l),f)??(l===\"formAll\"?[]:null):null}let i=r.ref;return s.length===0?l=>l[i]??null:l=>U(l[i],s)}var J=t=>typeof t==\"number\"||typeof t==\"string\"?t:Number.NaN;function at(t,n){switch(t.op){case\"and\":{let r=t.args.map(s=>at(s,n));return s=>r.every(i=>i(s))}case\"or\":{let r=t.args.map(s=>at(s,n));return s=>r.some(i=>i(s))}case\"not\":{let r=at(t.arg,n);return s=>!r(s)}case\"fn\":{let r=T({fn:t.fn,arg:t.arg},n);return s=>r(s)===!0}default:{let r=T(t.left,n),s=T(t.right,n);switch(t.op){case\"eq\":return i=>B(r(i),s(i));case\"neq\":return i=>!B(r(i),s(i));case\"lt\":return i=>J(r(i))<J(s(i));case\"lte\":return i=>J(r(i))<=J(s(i));case\"gt\":return i=>J(r(i))>J(s(i));default:return i=>J(r(i))>=J(s(i))}}}}function qt(t,n){let{path:r}=t,s=T(t.value,n);switch(t.op){case\"set\":return(i,l)=>H(i,r,s({...l,context:i}));case\"append\":return(i,l)=>{let f=U(i,r);return H(i,r,[...Array.isArray(f)?f:[],s({...l,context:i})])};case\"inc\":return(i,l)=>H(i,r,Number(U(i,r)??0)+Number(s({...l,context:i})));case\"removeWhere\":{let i=t.key;return(l,f)=>{let d=U(l,r),b=s({...f,context:l}),x=Array.isArray(d)?d:[];return H(l,r,x.filter(h=>!B(i===null?h:h!==null&&typeof h==\"object\"&&!Array.isArray(h)?h[i]:null,b)))}}}}var Dt=(t,n)=>r=>t({...r,routes:n});function dt(t,n={},r={}){let s=t.machine;if(!s)throw new Y(`Feature ${t.id} has no machine`);let i=Object.keys(s.states),l=new Map(i.map((h,j)=>[h,j])),f=h=>{let j=l.get(h);if(j===void 0)throw new Y(`Unknown state \"${h}\" in ${t.id}`);return j},d=[],b=(h,j)=>(d.push(j),{id:j,guard:h.guard?at(h.guard,n):null,target:f(h.target),assign:h.assign.map(A=>qt(A,n)),navigate:h.navigate?Dt(T(h.navigate,n),r):null}),x=i.map(h=>{let j=s.states[h],A=new Map;for(let[$,O]of Object.entries(j.on))A.set($,O.map((I,N)=>b(I,`${h}/on/${$}/${N}`)));let M=new Map;j.after.forEach(($,O)=>{let I=b($.transition,`${h}/after/${O}`);M.set($.ms,[...M.get($.ms)??[],I])});let E=j.invoke;return{name:h,final:j.final,on:A,invoke:E&&{effect:E.effect,input:T(E.input,n),done:E.done.map(($,O)=>b($,`${h}/invoke/done/${O}`)),failed:new Map(Object.entries(E.failed).map(([$,O])=>[$,O.map((I,N)=>b(I,`${h}/invoke/failed/${$}/${N}`))]))},after:M,timers:[...M.keys()].sort(($,O)=>$-O)}});return{feature:t.id,initial:f(s.initial),initialContext:s.initialContext,states:x,index:l,transitions:d}}function Ot(t,n,r,s,i){let l=t.states[n];l.invoke&&i.push({type:\"invoke\",entry:s,effect:l.invoke.effect,input:l.invoke.input({context:r})});for(let f of l.timers)i.push({type:\"timer\",entry:s,ms:f})}function vt(t,n,r,s=1){let i=t.index.get(n);if(i===void 0)throw new Error(`Unknown state \"${n}\" in ${t.feature}`);let l=[];return Ot(t,i,r,s,l),{snapshot:{state:n,context:r,entry:s},effects:l,taken:null}}var gt=t=>vt(t,t.states[t.initial].name,t.initialContext),tt=t=>({snapshot:t,effects:[],taken:null});function pt(t,n,r,s){if(!r)return tt(n);for(let i of r){if(i.guard&&!i.guard(s))continue;let l=n.context;for(let b of i.assign)l=b(l,s);let f=n.entry+1,d=i.navigate===null?[]:[{type:\"navigate\",url:String(i.navigate(s))}];return Ot(t,i.target,l,f,d),{snapshot:{state:t.states[i.target].name,context:l,entry:f},effects:d,taken:i.id}}return tt(n)}function yt(t,n,r){let s=t.states[t.index.get(n.state)??-1];if(!s||s.final)return tt(n);let i=n.context;switch(r.type){case\"event\":return pt(t,n,s.on.get(r.event),{context:i,event:r.payload});case\"done\":return r.entry!==n.entry||!s.invoke?tt(n):pt(t,n,s.invoke.done,{context:i,result:r.result});case\"failed\":{if(r.entry!==n.entry||!s.invoke)return tt(n);let l=s.invoke.failed,f=l.has(r.error),d=f?r.data:{message:zt(r.data,r.error)};return pt(t,n,l.get(f?r.error:\"Unexpected\"),{context:i,error:d})}case\"timer\":return r.entry!==n.entry?tt(n):pt(t,n,s.after.get(r.ms),{context:i})}}function zt(t,n){return t!==null&&typeof t==\"object\"&&!Array.isArray(t)&&typeof t.message==\"string\"?t.message:n}function _t(t,n){let r=Object.create(null),s=Object.create(null),i=(l,f)=>{let d=typeof f==\"string\"?f:f.name,b=s[l];b?b.push(d):(s[l]=[d],r[l]=d)};for(let[l,f]of t)i(l,f);return n&&i(...n),{first:r,all:s}}var mt=\"http://www.w3.org/2000/svg\",Ft=new Set([\"contenteditable\",\"draggable\",\"spellcheck\"]),L=t=>t==null?\"\":typeof t==\"object\"?JSON.stringify(t):String(t);function $t(t,n){return n==null?null:typeof n==\"boolean\"?t.startsWith(\"aria-\")||t.startsWith(\"data-\")||Ft.has(t)?String(n):n?\"\":null:L(n)}var At=new Set([\"value\",\"checked\",\"selected\",\"muted\"]),ht=new Set([\"scroll\",\"wheel\",\"touchstart\",\"touchmove\",\"touchend\",\"pointermove\",\"mousemove\"]),Nt=t=>typeof t==\"number\"&&!Number.isNaN(t)?t:null,lt=new Map,Bt=t=>t?[...t].map(n=>{let r=`u${lt.size+1}`;return lt.set(r,n),{name:n.name,size:n.size,type:n.type,token:r}}):[],xt=t=>n=>{let r=t.target;switch(n){case\"value\":return typeof r?.value==\"string\"?r.value:\"\";case\"checked\":return r?.checked===!0;case\"valueAsNumber\":return Nt(r?.valueAsNumber);case\"files\":return Bt(r?.files??t.dataTransfer?.files);case\"form\":case\"formAll\":{let s=t.target,i=s.ownerDocument.defaultView,l=_t(new(i?.FormData??FormData)(s,t.submitter));return n===\"form\"?l.first:l.all}case\"open\":return r?.open===!0;case\"returnValue\":return typeof r?.returnValue==\"string\"?r.returnValue:\"\";default:{let s=n in t?t[n]:r?.[n];return typeof s==\"number\"?Nt(s):typeof s==\"string\"||typeof s==\"boolean\"?s:null}}},Tt=(t,n)=>t?n.length?`${t} ${n.join(\" \")}`:t:n.join(\" \");var wt=t=>{switch(t.op){case\"and\":case\"or\":return t.args.some(wt);case\"not\":return wt(t.arg);case\"fn\":return R(t.arg);default:return R(t.left)||R(t.right)}},R=t=>\"ref\"in t?t.ref===\"context\"||t.ref===\"binding\":\"object\"in t?Object.values(t.object).some(R):\"fn\"in t?R(t.arg):\"link\"in t?R(t.params)||t.search!==null&&R(t.search):\"endpoint\"in t?t.input!=null&&R(t.input):\"test\"in t&&wt(t.test),Et=(t,n)=>t+X(n),Ht=t=>t instanceof Map?{data:t,versions:new Map}:t;var et=(t,n)=>t!==null&&t.nodeType===8&&t.data===n;function Z(t,n){let r=[t],s=t;for(;s!==n&&(s=s.nextSibling,!!s);)r.push(s);return r}function bt(t,n){let r=t.next?t.next.previousSibling:t.parent.lastChild;return n(),[r?r.nextSibling:t.parent.firstChild,t.next?t.next.previousSibling:t.parent.lastChild]}function Ct(t,n){for(;t.nextSibling&&t.nextSibling!==n;)t.nextSibling.remove()}function It(t,n){let{machine:r,fns:s={},params:i=null,search:l=null,routes:f={}}=n,{data:d}=Ht(n.payload),b=[],x=new Set,h=r?n.snapshot?null:gt(r):null,j=n.snapshot??h?.snapshot??null,A=[],M=new Set,E=new Set,$=new WeakMap,O=(e,a,o)=>{let m=$.get(e);return m||(m=T(e,s),$.set(e,m)),m({context:j?.context??null,bindings:a,params:i,search:l,routes:f,...o?{dom:o}:{}})},I=(e,a,o,m)=>{let w=O(a,o);m(w),R(a)&&e.push(()=>{let u=O(a,o);u!==w&&(w=u,m(u))})},N=(e,a)=>{if(e.claim&&et(e.next,a)){let o=e.next;return e.next=o.nextSibling,o}return e.parent.insertBefore(t.createComment(a),e.next)},nt=e=>{if(!e.claim||!et(e.next,\"[\"))return;let a=0;for(;e.next;){let o=e.next;if(e.next=o.nextSibling,et(o,\"[\"))a++;else if(et(o,\"]\")&&--a===0)return}},q=(e,a,o,m,w)=>{switch(e.kind){case\"text\":{let u;o.claim&&o.next?.nodeType===3?(u=o.next,o.next=u.nextSibling):u=o.parent.insertBefore(t.createTextNode(\"\"),o.next),o.claim&&et(o.next,\"\")&&(o.next=o.next.nextSibling),I(m,e.value,a,g=>{let c=L(g);u.data!==c&&(u.data=c)});return}case\"el\":{let u=e.tag,g=u===\"svg\"?mt:w,c,p=o.claim&&o.next?.nodeType===1&&o.next.localName===u;p?(c=o.next,o.next=c.nextSibling):(c=g?t.createElementNS(g,u):t.createElement(u),e.class&&c.setAttribute(\"class\",e.class),o.parent.insertBefore(c,o.next));for(let y in e.attrs){let S=e.attrs[y],C=At.has(y)&&y in c;p&&!R(S)||I(m,S,a,F=>{if(C){let W=c,G=y===\"value\"?L(F):F===!0;W[y]!==G&&(W[y]=G);return}let V=$t(y,F);V===null?c.removeAttribute(y):c.getAttribute(y)!==V&&c.setAttribute(y,V)})}P(c,e,a,m);for(let y in e.on){let S=e.on[y];c.addEventListener(y,C=>{y===\"submit\"&&C.preventDefault(),z({type:\"event\",event:S.event,payload:O(S.payload,a,xt(C))})},ht.has(y)?{passive:!0}:void 0)}if(u===\"textarea\")return;let k={parent:c,next:p?c.firstChild:null,claim:p},_=u===\"foreignObject\"?null:g;for(let y of e.children)q(y,a,k,m,_);return}case\"when\":{let u=()=>j?e.states.includes(j.state):!1;st(o,m,u,(g,c)=>{if(u())for(let p of e.children)q(p,a,g,c,w)},e.motion);return}case\"query\":{let u=a;st(o,m,()=>{let c=Et(e.query,O(e.input,a)),p=d.get(c);return p&&u!==a&&u.splice(0,u.length,...a,p.ok?p.value:p.data),`${c}|${p?p.ok?\"ready\":e.failed[p.error]?p.error:\"Unexpected\":\"\"}`},(c,p)=>{let k=O(e.input,a),_=Et(e.query,k),y=d.get(_);if(u=a,!y){(!c.claim||n.readsInBrowser?.(e.query))&&Q(_,e.query,k),e.pending&&q(e.pending,a,c,p,w);return}let S=y.ok?e.ready:e.failed[y.error]??e.failed.Unexpected;u=[...a,y.ok?y.value:y.data],S&&q(S,u,c,p,w)});return}case\"each\":St(e,a,o,m,w);return;case\"component\":n.component?n.component(ct,e,a,o,m):o.claim&&o.next?.nodeType===1&&(o.next=o.next.nextSibling);return;case\"if\":{let u=()=>O({test:e.test},a)===!0;st(o,m,u,(g,c)=>{let p=u()?e.ifTrue:e.ifFalse;for(let k of p)q(k,a,g,c,w)},e.motion);return}case\"html\":{let u=N(o,\"[\"),g;if(o.claim){for(;o.next&&!et(o.next,\"]\");)o.next=o.next.nextSibling;g=o.next??o.parent.appendChild(t.createComment(\"]\")),o.next=g.nextSibling}else g=N(o,\"]\");let c=o.claim?L(O(e.value,a)):null;I(m,e.value,a,p=>{let k=L(p);if(k===c)return;c=k,Ct(u,g);let _=t.createElement(\"template\");_.innerHTML=k,g.parentNode.insertBefore(_.content,g)});return}case\"global\":{let u=N(o,\"g\"),g=e.target===\"window\"?t.defaultView:t,c=[];for(let p in e.on){let k=e.on[p],_=S=>z({type:\"event\",event:k.event,payload:O(k.payload,a,xt(S))}),y=ht.has(p)?{passive:!0}:void 0;g.addEventListener(p,_,y),c.push(()=>g.removeEventListener(p,_))}E.add({el:u,stop:()=>c.forEach(p=>p())});return}default:nt(o)}},P=(e,a,o,m)=>{let w=Object.entries(a.toggle);if(w.length){let u=()=>{let c=[];for(let[p,k]of w)O(k,o)===!0&&c.push(p);return Tt(a.class,c)},g=u();e.getAttribute(\"class\")!==g&&e.setAttribute(\"class\",g),w.some(([,c])=>R(c))&&m.push(()=>{let c=u();c!==g&&(g=c,e.setAttribute(\"class\",c))})}for(let u in a.vars)I(m,a.vars[u],o,g=>{let c=e.style;g===null||g===\"\"?c.removeProperty(u):c.getPropertyValue(u)!==L(g)&&c.setProperty(u,L(g))})},ct={doc:t,options:n,render:q,value:O,dispatch:e=>z(e),own:(e,a)=>E.add({el:e,stop:a}),same:B,styling:P},D=new Set,Q=(e,a,o)=>{!n.onQuery||D.has(e)||(D.add(e),n.onQuery(a,o).then(m=>{D.delete(e),d.set(e,m);for(let w of A)w();rt()}))},rt=()=>{for(let e=A.length-1;e>=0;e--)M.delete(A[e])&&A.splice(e,1);for(let e of E)e.el.isConnected||(e.stop(),E.delete(e))},st=(e,a,o,m,w=null)=>{let u=N(e,\"[\"),g=o(),c=[];m(e,c);let p=N(e,\"]\");a.push(()=>{let k=o();if(k===g){for(let C of c)C();return}g=k,c=[];let _=n.motion;if(!w||!_||_.reduced(t)){Ct(u,p),m({parent:p.parentNode,next:p,claim:!1},c);return}_.leave(u.nextSibling===p?[]:Z(u.nextSibling,p.previousSibling),w);let[y,S]=bt({parent:p.parentNode,next:p,claim:!1},()=>m({parent:p.parentNode,next:p,claim:!1},c));y&&S&&y!==p&&_.enter(Z(y,S),w)})},St=(e,a,o,m,w)=>{let u=N(o,\"[\"),g=y=>{let S=e.key===null?y:U(y,[e.key]);return typeof S==\"string\"?`s${S}`:JSON.stringify(S)},c=()=>{let y=O(e.source,a);return Array.isArray(y)?y:[]},p=(y,S)=>{let C=[...a,y],F=[],[V,W]=bt(S,()=>q(e.item,C,S,F,w));return{key:g(y),scope:C,block:F,first:V,last:W}},k=c().map(y=>p(y,o)),_=N(o,\"]\");m.push(()=>{let y=n.motion,S=e.motion&&y&&!y.reduced(t)?y.track(k.map(v=>v.first),e.motion):null,C=new Map(k.map(v=>[v.key,v])),F=new Set,V=[];for(let v of c()){let K=g(v),it=C.get(K);if(it){C.delete(K),it.scope.splice(0,it.scope.length,...a,v);for(let ft of it.block)ft();V.push(it)}else{let ft=p(v,{parent:t.createDocumentFragment(),next:null,claim:!1});F.add(ft),V.push(ft)}}for(let v of C.values())if(S)S.leave(Z(v.first,v.last));else for(let K of Z(v.first,v.last))K.remove();let W=_.parentNode,G=u.nextSibling??_;for(let v of V)if(v.first===G)G=v.last.nextSibling??_;else for(let K of Z(v.first,v.last))W.insertBefore(K,G);k=V,S?.settle(V.map(v=>[Z(v.first,v.last),F.has(v)]))})},ot=e=>{for(let a of e.effects)if(a.type===\"navigate\")n.onNavigate?.(a.url);else if(a.type===\"timer\"){let o=setTimeout(()=>{x.delete(o),z({type:\"timer\",entry:a.entry,ms:a.ms})},a.ms);x.add(o)}else n.onInvoke?.(a.effect,a.input).then(o=>z(o.ok?{type:\"done\",entry:a.entry,result:o.value}:{type:\"failed\",entry:a.entry,error:o.error,data:o.data}))};function z(e){if(!r||!j)return;let a=yt(r,j,e);if(a.taken){j=a.snapshot;for(let o of A)o();rt(),ot(a)}}return{attach(e,a,o,m,w){let u={parent:e,next:a,claim:w},g=e.namespaceURI===mt?mt:null,c=[],[p,k]=bt(u,()=>q(o,m,u,c,g));p&&k&&b.push([p,k]);let _=p?.isConnected===!0,y=()=>{if(_&&!p.isConnected)M.add(y);else for(let S of c)S()};A.push(y)},start(){h&&ot(h),h=null},sync:()=>{for(let e of A)e();rt()},dispatch:z,snapshot:()=>j,destroy:()=>{for(let e of x)clearTimeout(e);x.clear();for(let e of E)e.stop();E.clear(),A.length=0;for(let[e,a]of b)for(let o of Z(e,a))o.remove();b.length=0}}}var Mt=function(t,n){return typeof t==\"string\"&&/^\\.\\.?\\//.test(t)?t.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i,function(r,s,i,l,f){return s?n?\".jsx\":\".js\":i&&(!l||!f)?r:i+l+\".\"+f.toLowerCase()+\"js\"}):t},Jt=t=>t.islands.flatMap(([n,r,...s])=>{let i=t.ids[n],l=i.slice(0,i.indexOf(\".\"));return s.map(f=>({feature:l,node:i,scope:[...Array(r).fill(null),...f]}))}),Vt=t=>new URL(t,import.meta.url),Lt=async(t,n,r)=>{let s=JSON.stringify({effect:t,input:n,keys:r}),i=lt.size?await(await import(\"./chunk-7HUHKEFT.js\")).encode(s,n,lt):s;return await(await fetch(Vt(\"effect\"),{method:\"POST\",headers:typeof i==\"string\"?{\"content-type\":\"application/json\"}:{},body:i})).json()},Zt=async(t,n)=>await(await fetch(Vt(\"query\"),{method:\"POST\",headers:{\"content-type\":\"application/json\"},body:JSON.stringify({query:t,input:n})})).json(),Pt=async t=>(await import(Mt(t))).default,Qt=async t=>(await import(Mt(t))).fns;async function Ut(t,{transport:n=Lt,query:r=Zt,live:s,loadFns:i=Qt,loadComponent:l=Pt,loadFetch:f}={}){let d=new Map,b=t.getElementById(\"hozu-payload\");if(!b?.textContent)return d;let x=JSON.parse(b.textContent),h={data:new Map(x.data),versions:new Map},j=globalThis.__hozuFns??{},A=e=>j[new URL(e,t.baseURI).href],M=x.fns?Object.assign({},...x.fns.every(A)?x.fns.map(A):await Promise.all(x.fns.map(e=>A(e)??i(e)))):{},{components:E,routes:$}=x,O=x.motion?await import(\"./chunk-PTMR5OH4.js\"):void 0,I=Object.keys(E).length?(await import(\"./chunk-7JYW54P6.js\")).renderComponent:void 0;x.visible&&import(\"./chunk-DRLGN2D4.js\").then(e=>e.watch(t));let N=x.effects?(await import(\"./chunk-QPPJ5CKU.js\")).createRunner(x,M,h,{stringify:X,compile:T},f):null,nt=new Map,q=(e,a)=>{let o=e+JSON.stringify(a),m=nt.get(o);return m||(m=(N?.runs(e)?N.run(e,a):r(e,a)).finally(()=>nt.delete(o)),nt.set(o,m)),m},P=Object.entries(x.live??{}),ct=async e=>{if(D)return void Q.push(...e);let a=P.filter(([,o])=>o.tags.some(m=>e.includes(m)));for(let[o,m]of a)h.data.set(o,await r(m.query,m.input));if(a.length)for(let o of d.values())o.sync()},D=0,Q=[],rt=async(e,a)=>{if(N?.runs(e)){D++;let{result:g,changed:c,tags:p}=await N.mutate(e,a).finally(()=>D--);if(c)for(let k of d.values())k.sync();return{result:g,tags:p}}D++;let{result:o,refreshed:m,session:w,tags:u}=await n(e,a,[...h.data.keys()]).finally(()=>D--);if(u&&N&&await N.reread(u))for(let g of d.values())g.sync();w&&(h.data.clear(),Q=[]);for(let[g,c]of m)h.data.set(g,c),h.versions.set(g,(h.versions.get(g)??0)+1);if(m.length||w)for(let g of d.values())g.sync();return!D&&Q.length&&ct(Q.splice(0)),{result:o,tags:u??[]}},st=async(e,a)=>(await rt(e,a)).result,St=null;for(let[e,a]of Object.entries(x.features)){let o=x.snapshots?.[e];d.set(e,It(t,{machine:a?dt({id:e,machine:a},M,$):null,payload:h,params:x.params,search:x.search,...o?{snapshot:o}:{},fns:M,components:E,routes:$,motion:O,component:I,loadComponent:l,onQuery:q,onInvoke:st,...N?{readsInBrowser:m=>N.runs(m)}:{},onNavigate:m=>t.defaultView?.location.assign(m)}))}let ot=[],z=t.createTreeWalker(t.body??t,128);for(;z.nextNode();)z.currentNode.data===\"i\"&&ot.push(z.currentNode);Jt(x).forEach((e,a)=>{let o=ot[a],m=x.nodes[e.node];o?.parentNode&&m&&d.get(e.feature)?.attach(o.parentNode,o.nextSibling,m,e.scope,!0)});for(let e of d.values())e.sync();for(let e of d.values())e.start();return P.length&&(s??(await import(\"./chunk-627YWRJ6.js\")).liveStream(t))(ct,P.flatMap(([,e])=>e.tags)),t.documentElement.setAttribute(\"data-hozu-ready\",\"\"),d}var kt=\"hozu:reloaded\",Rt=t=>{try{if(!t)return sessionStorage.removeItem(kt);let n=!sessionStorage.getItem(kt);return sessionStorage.setItem(kt,\"1\"),n}catch{return!1}};Ut(document).then(()=>Rt(!1),t=>{if(t instanceof TypeError&&/import|module/i.test(t.message)&&Rt(!0))location.reload();else throw t});\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-7JYW54P6.js":"function b(e){let o=new AbortController;e.el.setAttribute(\"data-hozu-component\",e.name),e.el.setAttribute(\"data-hozu-component-state\",\"loading\");let l=e.props(),r,a=n=>{r=void 0,e.el.setAttribute(\"data-hozu-component-state\",\"failed\"),e.doc.defaultView?.console.error(`Component ${e.name} failed`,n)},i=()=>{e.load(e.ref.url).then(n=>{if(!o.signal.aborted)try{r=n({el:e.el,props:l,emit:e.emit,signal:o.signal})??void 0,e.el.setAttribute(\"data-hozu-component-state\",\"mounted\")}catch(t){a(t)}},a)},s=e.doc.defaultView;if(e.ref.load===\"eager\"||!s)i();else if(e.ref.load===\"idle\")(s.requestIdleCallback??s.setTimeout)(i);else if(!s.IntersectionObserver)i();else{let n=new s.IntersectionObserver(t=>{t.some(d=>d.isIntersecting)&&(n.disconnect(),i())});n.observe(e.el),o.signal.addEventListener(\"abort\",()=>n.disconnect())}e.watch(()=>{let n=e.props();if(!e.same(n,l)){l=n;try{r?.update?.(n)}catch(t){a(t)}}}),e.own(()=>{o.abort(),r?.destroy?.()})}var g=(e,o,l,r,a)=>{let i=o.use.component,s=e.options.components?.[i],n=s?.tag??\"div\",t,d=r.claim&&r.next?.nodeType===1&&r.next.localName===n;if(d?(t=r.next,r.next=t.nextSibling):(t=e.doc.createElement(n),o.class&&t.setAttribute(\"class\",o.class),r.parent.insertBefore(t,r.next)),e.styling(t,o,l,a),!d||o.children.length){let c={parent:t,next:d?t.firstChild:null,claim:d};for(let u of o.children)e.render(u,l,c,a,null)}s||console.error(`Hozu: component ${i} has no client code (bundleComponents)`),!(!s||!e.options.loadComponent)&&b({el:t,ref:s,name:i,doc:e.doc,props:()=>e.value(o.props,l),emit:(c,u)=>{let m=o.on[c];m&&e.dispatch({type:\"event\",event:m.event,payload:e.value(m.payload,l,f=>f===\"detail\"?u:null)})},load:e.options.loadComponent,watch:c=>a.push(c),own:c=>e.own(t,c),same:e.same})};export{b as mountComponent,g as renderComponent};\n","chunk-DBYBPDZ3.js":"var v=(t,s)=>{let e=new Set,n=t.get;t.get=r=>(e.add(r),n.call(t,r));try{s()}finally{Reflect.deleteProperty(t,\"get\")}return e},h=t=>{try{return[JSON.parse(t)]}catch{return null}},w=(t,s)=>{for(let e of s){let n=t.startsWith(e)?h(t.slice(e.length)):null;if(n)return[e,n[0]]}return null},y=(t,s,e,n,r,u)=>{let c=new Map;for(let[i,o]of Object.entries(s))c.set(o,[...c.get(o)??[],i]);for(let[i,o]of c){let f=!1;setInterval(async()=>{if(f||t.visibilityState===\"hidden\"||r())return;f=!0;let a=!1;for(let l of v(e.data,u)){let g=w(l,o);if(!g)continue;let d=e.versions.get(l),p=await n(...g).catch(()=>null);p===null||r()||e.versions.get(l)!==d||(e.data.set(l,p),a=!0)}f=!1,a&&u()},i*1e3)}};export{y as poll};\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-PTMR5OH4.js":"var a=t=>t.split(\",\").map(e=>Number.parseFloat(e)*(e.trim().endsWith(\"ms\")?1:1e3)||0);function m(t){let e=t.ownerDocument.defaultView?.getComputedStyle(t);if(!e)return 0;let n=(o,i)=>{let r=a(o),s=a(i);return Math.max(0,...r.map((d,u)=>d+(s[u%s.length]??0)))};return Math.max(n(e.transitionDuration,e.transitionDelay),n(e.animationDuration,e.animationDelay))}var p=(t,e)=>{let n=t.ownerDocument.defaultView;if(!n?.requestAnimationFrame)return e();n.requestAnimationFrame(()=>n.requestAnimationFrame(e))};function c(t,e){let n=m(t);if(n===0)return e();let o=!1,i=()=>{o||(o=!0,t.removeEventListener(\"transitionend\",i),t.removeEventListener(\"animationend\",i),e())};t.addEventListener(\"transitionend\",i),t.addEventListener(\"animationend\",i),setTimeout(i,n+50)}var x=t=>t.defaultView?.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches===!0;function f(t,e,n,o){let i=`${e}-${n}-from`,r=`${e}-${n}-active`,s=`${e}-${n}-to`;t.classList.add(i,r),p(t,()=>{t.classList.remove(i),t.classList.add(s),c(t,()=>{t.classList.remove(r,s),o()})})}function v(t,e){for(let n of t)n.nodeType===1&&f(n,e,\"enter\",()=>{})}function l(t,e){for(let n of t)n.nodeType===1?f(n,e,\"leave\",()=>n.remove()):n.remove()}function h(t,e,n){let o=t.getBoundingClientRect(),i=e.left-o.left,r=e.top-o.top;if(!i&&!r)return;let s=t.style;s.transitionDuration=\"0s\",s.transform=`translate(${i}px, ${r}px)`,t.offsetWidth,t.classList.add(`${n}-move`),s.transitionDuration=\"\",s.transform=\"\",c(t,()=>t.classList.remove(`${n}-move`))}function L(t,e){let n=new Map(t.flatMap(o=>o.nodeType===1?[[o,o.getBoundingClientRect()]]:[]));return{leave:o=>l(o,e),settle(o){for(let[i,r]of o){let s=n.get(i[0]);r?v(i,e):s&&h(i[0],s,e)}}}}export{v as enter,h as flip,l as leave,x as reduced,L as track};\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 Ot=JSON.stringify;function tt(t){if(t===null)return\"null\";switch(typeof t){case\"string\":return Ot(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(tt).join(\",\")}]`;let e=t,n=Object.keys(e).sort(),s=\"{\";for(let a=0;a<n.length;a++){let l=n[a],f=e[l];if(f===void 0)throw new TypeError(`Undefined value at key \"${l}\"`);s+=`${a?\",\":\"\"}${Ot(l)}:${tt(f)}`}return`${s}}`}default:throw new TypeError(`Value of type ${typeof t} is not valid JSON`)}}function R(t,e){let n=t;for(let s of e){if(typeof n==\"string\"&&s===\"length\")return n.length;if(n===null||typeof n!=\"object\")return null;n=n[s]}return n===void 0?null:n}function P(t,e,n,s=0){if(s===e.length)return n;let a=e[s];if(Array.isArray(t)){let f=t.slice();return f[Number(a)]=P(t[Number(a)]??null,e,n,s+1),f}let l=t!==null&&typeof t==\"object\"?t:{};return{...l,[a]:P(l[a]??null,e,n,s+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 s=0;s<t.length;s++)if(!J(t[s],e[s]))return!1;return!0}if(Array.isArray(e))return!1;let n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(let s of n)if(!Object.hasOwn(e,s)||!J(t[s],e[s]))return!1;return!0}var ft=(t,e,n)=>{let[s=\"\",a=\"\"]=t.split(\"?\"),l=s.replace(/\\/:([A-Za-z]\\w*)[?*+]?/g,(k,h)=>[R(e,[h])??[]].flat().map(b=>`/${encodeURIComponent(String(b))}`).join(\"\"))||\"/\",f=a.split(\"&\"),g=\"\";if(n&&typeof n==\"object\")for(let k of Object.keys(n).sort()){let h=n[k],w=`${encodeURIComponent(k)}=${encodeURIComponent(String(h))}`;h!==null&&typeof h!=\"object\"&&!f.includes(w)&&(g+=`${g&&\"&\"}${w}`)}return g?`${l}?${g}`:l};var et=class extends Error{name=\"CompileError\"};function E(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(([f,g])=>[f,E(g,e)]);return f=>{let g={};for(let[k,h]of l)g[k]=h(f);return g}}if(\"fn\"in t){let l=e[t.fn];if(!l)throw new et(`No implementation bound for fn ${t.fn}`);let f=E(t.arg,e);return g=>l(f(g))}if(\"link\"in t){let l=t.link,f=E(t.params,e),g=E(t.search,e);return k=>ft(k.routes?.[l]??\"\",f(k),g(k))}if(\"test\"in t){let l=at(t.test,e);return f=>l(f)}if(\"endpoint\"in t){let l=t.endpoint,f=E(t.input??{literal:null},e);return g=>ft(g.routes?.[l]??\"\",null,f(g))}let n=t,{path:s}=n;if(n.ref===\"binding\"){let l=n.depth;return s.length?f=>R(f.bindings?.[l],s):f=>f.bindings?.[l]??null}if(n.ref===\"dom\"){let[l,...f]=s;return g=>g.dom&&l?R(g.dom(l),f)??(l===\"formAll\"?[]:null):null}let a=n.ref;return s.length===0?l=>l[a]??null:l=>R(l[a],s)}var Z=t=>typeof t==\"number\"||typeof t==\"string\"?t:Number.NaN;function at(t,e){switch(t.op){case\"and\":{let n=t.args.map(s=>at(s,e));return s=>n.every(a=>a(s))}case\"or\":{let n=t.args.map(s=>at(s,e));return s=>n.some(a=>a(s))}case\"not\":{let n=at(t.arg,e);return s=>!n(s)}case\"fn\":{let n=E({fn:t.fn,arg:t.arg},e);return s=>n(s)===!0}default:{let n=E(t.left,e),s=E(t.right,e);switch(t.op){case\"eq\":return a=>J(n(a),s(a));case\"neq\":return a=>!J(n(a),s(a));case\"lt\":return a=>Z(n(a))<Z(s(a));case\"lte\":return a=>Z(n(a))<=Z(s(a));case\"gt\":return a=>Z(n(a))>Z(s(a));default:return a=>Z(n(a))>=Z(s(a))}}}}function Dt(t,e){let{path:n}=t,s=E(t.value,e);switch(t.op){case\"set\":return(a,l)=>P(a,n,s({...l,context:a}));case\"append\":return(a,l)=>{let f=R(a,n);return P(a,n,[...Array.isArray(f)?f:[],s({...l,context:a})])};case\"inc\":return(a,l)=>P(a,n,Number(R(a,n)??0)+Number(s({...l,context:a})));case\"removeWhere\":{let a=t.key;return(l,f)=>{let g=R(l,n),k=s({...f,context:l}),h=Array.isArray(g)?g:[];return P(l,n,h.filter(w=>!J(a===null?w:w!==null&&typeof w==\"object\"&&!Array.isArray(w)?w[a]:null,k)))}}}}var gt=-1,zt=(t,e)=>n=>t({...n,routes:e});function yt(t,e={},n={}){let s=t.machine;if(!s)throw new et(`Feature ${t.id} has no machine`);let a=Object.keys(s.states),l=new Map(a.map((b,v)=>[b,v])),f=b=>{let v=l.get(b);if(v===void 0)throw new et(`Unknown state \"${b}\" in ${t.id}`);return v},g=[],k=!1,h=(b,v)=>(g.push(v),b.target===\"previous\"&&(k=!0),{id:v,guard:b.guard?at(b.guard,e):null,target:b.target===\"previous\"?gt:f(b.target),assign:b.assign.map(C=>Dt(C,e)),navigate:b.navigate?zt(E(b.navigate,e),n):null}),w=a.map(b=>{let v=s.states[b],C=new Map;for(let[S,A]of Object.entries(v.on))C.set(S,A.map((_,D)=>h(_,`${b}/on/${S}/${D}`)));let T=new Map;v.after.forEach((S,A)=>{let _=h(S.transition,`${b}/after/${A}`);T.set(S.ms,[...T.get(S.ms)??[],_])});let V=v.invoke;return{name:b,final:v.final,on:C,invoke:V&&{effect:V.effect,input:E(V.input,e),done:V.done.map((S,A)=>h(S,`${b}/invoke/done/${A}`)),failed:new Map(Object.entries(V.failed).map(([S,A])=>[S,A.map((_,D)=>h(_,`${b}/invoke/failed/${S}/${D}`))]))},after:T,timers:[...T.keys()].sort((S,A)=>S-A)}});return{feature:t.id,initial:f(s.initial),initialContext:s.initialContext,states:w,index:l,transitions:g,remembers:k}}function vt(t,e,n,s,a){let l=t.states[e];l.invoke&&a.push({type:\"invoke\",entry:s,effect:l.invoke.effect,input:l.invoke.input({context:n})});for(let f of l.timers)a.push({type:\"timer\",entry:s,ms:f})}function _t(t,e,n,s=1,a){let l=t.index.get(e);if(l===void 0)throw new Error(`Unknown state \"${e}\" in ${t.feature}`);let f=[];return vt(t,l,n,s,f),{snapshot:{state:e,context:n,entry:s,...a===void 0?{}:{previous:a}},effects:f,taken:null}}var ht=t=>_t(t,t.states[t.initial].name,t.initialContext),nt=t=>({snapshot:t,effects:[],taken:null});function ut(t,e,n,s){if(!n)return nt(e);for(let a of n){let l=a.target===gt?t.index.get(e.previous??\"\"):a.target;if(l===void 0||a.guard&&!a.guard(s))continue;let f=e.context;for(let b of a.assign)f=b(f,s);let g=e.entry+1,k=a.navigate===null?[]:[{type:\"navigate\",url:String(a.navigate(s))}];vt(t,l,f,g,k);let h=t.states[l].name,w=!t.remembers||h===e.state?e.previous:e.state;return{snapshot:{state:h,context:f,entry:g,...w===void 0?{}:{previous:w}},effects:k,taken:a.id}}return nt(e)}function xt(t,e,n){let s=t.states[t.index.get(e.state)??-1];if(!s||s.final)return nt(e);let a=e.context;switch(n.type){case\"event\":return ut(t,e,s.on.get(n.event),{context:a,event:n.payload});case\"done\":return n.entry!==e.entry||!s.invoke?nt(e):ut(t,e,s.invoke.done,{context:a,result:n.result});case\"failed\":{if(n.entry!==e.entry||!s.invoke)return nt(e);let l=s.invoke.failed,f=l.has(n.error),g=f?n.data:{message:Ft(n.data,n.error)};return ut(t,e,l.get(f?n.error:\"Unexpected\"),{context:a,error:g})}case\"timer\":return n.entry!==e.entry?nt(e):ut(t,e,s.after.get(n.ms),{context:a})}}function Ft(t,e){return t!==null&&typeof t==\"object\"&&!Array.isArray(t)&&typeof t.message==\"string\"?t.message:e}function Nt(t,e){let n=Object.create(null),s=Object.create(null),a=(l,f)=>{let g=typeof f==\"string\"?f:f.name,k=s[l];k?k.push(g):(s[l]=[g],n[l]=g)};for(let[l,f]of t)a(l,f);return e&&a(...e),{first:n,all:s}}var pt=\"http://www.w3.org/2000/svg\",Bt=new Set([\"contenteditable\",\"draggable\",\"spellcheck\"]),Q=t=>t==null?\"\":typeof t==\"object\"?JSON.stringify(t):String(t);function At(t,e){return e==null?null:typeof e==\"boolean\"?t.startsWith(\"aria-\")||t.startsWith(\"data-\")||Bt.has(t)?String(e):e?\"\":null:Q(e)}var Et=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,lt=new Map,Ht=t=>t?[...t].map(e=>{let n=`u${lt.size+1}`;return lt.set(n,e),{name:e.name,size:e.size,type:e.type,token:n}}):[],wt=t=>e=>{let n=t.target;switch(e){case\"value\":return typeof n?.value==\"string\"?n.value:\"\";case\"checked\":return n?.checked===!0;case\"valueAsNumber\":return $t(n?.valueAsNumber);case\"files\":return Ht(n?.files??t.dataTransfer?.files);case\"form\":case\"formAll\":{let s=t.target,a=s.ownerDocument.defaultView,l=Nt(new(a?.FormData??FormData)(s,t.submitter));return e===\"form\"?l.first:l.all}case\"open\":return n?.open===!0;case\"returnValue\":return typeof n?.returnValue==\"string\"?n.returnValue:\"\";default:{let s=e in t?t[e]:n?.[e];return typeof s==\"number\"?$t(s):typeof s==\"string\"||typeof s==\"boolean\"?s:null}}},Tt=(t,e)=>t?e.length?`${t} ${e.join(\" \")}`:t:e.join(\" \");var St=t=>{switch(t.op){case\"and\":case\"or\":return t.args.some(St);case\"not\":return St(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):\"link\"in t?q(t.params)||t.search!==null&&q(t.search):\"endpoint\"in t?t.input!=null&&q(t.input):\"test\"in t&&St(t.test),It=(t,e)=>t+tt(e),Jt=t=>t instanceof Map?{data:t,versions:new Map}:t;var rt=(t,e)=>t!==null&&t.nodeType===8&&t.data===e;function W(t,e){let n=[t],s=t;for(;s!==e&&(s=s.nextSibling,!!s);)n.push(s);return n}function kt(t,e){let n=t.next?t.next.previousSibling:t.parent.lastChild;return e(),[n?n.nextSibling:t.parent.firstChild,t.next?t.next.previousSibling:t.parent.lastChild]}function Ct(t,e){for(;t.nextSibling&&t.nextSibling!==e;)t.nextSibling.remove()}function Vt(t,e){let{machine:n,fns:s={},params:a=null,search:l=null,routes:f={}}=e,{data:g}=Jt(e.payload),k=[],h=new Set,w=n?e.snapshot?null:ht(n):null,b=e.snapshot??w?.snapshot??null,v=[],C=new Set,T=new Set,V=new WeakMap,S=(r,o,i)=>{let m=V.get(r);return m||(m=E(r,s),V.set(r,m)),m({context:b?.context??null,bindings:o,params:a,search:l,routes:f,...i?{dom:i}:{}})},A=(r,o,i,m)=>{let y=S(o,i);m(y),q(o)&&r.push(()=>{let u=S(o,i);u!==y&&(y=u,m(u))})},_=(r,o)=>{if(r.claim&&rt(r.next,o)){let i=r.next;return r.next=i.nextSibling,i}return r.parent.insertBefore(t.createComment(o),r.next)},D=r=>{if(!r.claim||!rt(r.next,\"[\"))return;let o=0;for(;r.next;){let i=r.next;if(r.next=i.nextSibling,rt(i,\"[\"))o++;else if(rt(i,\"]\")&&--o===0)return}},U=(r,o,i,m,y)=>{switch(r.kind){case\"text\":{let u;i.claim&&i.next?.nodeType===3?(u=i.next,i.next=u.nextSibling):u=i.parent.insertBefore(t.createTextNode(\"\"),i.next),i.claim&&rt(i.next,\"\")&&(i.next=i.next.nextSibling),A(m,r.value,o,x=>{let c=Q(x);u.data!==c&&(u.data=c)});return}case\"el\":{let u=r.tag,x=u===\"svg\"?pt:y,c,p=i.claim&&i.next?.nodeType===1&&i.next.localName===u;p?(c=i.next,i.next=c.nextSibling):(c=x?t.createElementNS(x,u):t.createElement(u),r.class&&c.setAttribute(\"class\",r.class),i.parent.insertBefore(c,i.next));for(let d in r.attrs){let O=r.attrs[d],I=Et.has(d)&&d in c;p&&!q(O)||A(m,O,o,H=>{if(I){let K=c,X=d===\"value\"?Q(H):H===!0;K[d]!==X&&(K[d]=X);return}let M=At(d,H);M===null?c.removeAttribute(d):c.getAttribute(d)!==M&&c.setAttribute(d,M)})}z(c,r,o,m);for(let d in r.on){let O=r.on[d];c.addEventListener(d,I=>{d===\"submit\"&&I.preventDefault(),B({type:\"event\",event:O.event,payload:S(O.payload,o,wt(I))})},bt.has(d)?{passive:!0}:void 0)}if(u===\"textarea\")return;let j={parent:c,next:p?c.firstChild:null,claim:p},$=u===\"foreignObject\"?null:x;for(let d of r.children)U(d,o,j,m,$);return}case\"when\":{let u=()=>b?r.states.includes(b.state):!1;ot(i,m,u,(x,c)=>{if(u())for(let p of r.children)U(p,o,x,c,y)},r.motion);return}case\"query\":{let u=o;ot(i,m,()=>{let c=It(r.query,S(r.input,o)),p=g.get(c);return p&&u!==o&&u.splice(0,u.length,...o,p.ok?p.value:p.data),`${c}|${p?p.ok?\"ready\":r.failed[p.error]?p.error:\"Unexpected\":\"\"}`},(c,p)=>{let j=S(r.input,o),$=It(r.query,j),d=g.get($);if(u=o,!d){(!c.claim||e.readsInBrowser?.(r.query))&&F($,r.query,j),r.pending&&U(r.pending,o,c,p,y);return}let O=d.ok?r.ready:r.failed[d.error]??r.failed.Unexpected;u=[...o,d.ok?d.value:d.data],O&&U(O,u,c,p,y)});return}case\"each\":mt(r,o,i,m,y);return;case\"component\":e.component?e.component(st,r,o,i,m):i.claim&&i.next?.nodeType===1&&(i.next=i.next.nextSibling);return;case\"if\":{let u=()=>S({test:r.test},o)===!0;ot(i,m,u,(x,c)=>{let p=u()?r.ifTrue:r.ifFalse;for(let j of p)U(j,o,x,c,y)},r.motion);return}case\"html\":{let u=_(i,\"[\"),x;if(i.claim){for(;i.next&&!rt(i.next,\"]\");)i.next=i.next.nextSibling;x=i.next??i.parent.appendChild(t.createComment(\"]\")),i.next=x.nextSibling}else x=_(i,\"]\");let c=i.claim?Q(S(r.value,o)):null;A(m,r.value,o,p=>{let j=Q(p);if(j===c)return;c=j,Ct(u,x);let $=t.createElement(\"template\");$.innerHTML=j,x.parentNode.insertBefore($.content,x)});return}case\"global\":{let u=_(i,\"g\"),x=r.target===\"window\"?t.defaultView:t,c=[];for(let p in r.on){let j=r.on[p],$=O=>B({type:\"event\",event:j.event,payload:S(j.payload,o,wt(O))}),d=bt.has(p)?{passive:!0}:void 0;x.addEventListener(p,$,d),c.push(()=>x.removeEventListener(p,$))}T.add({el:u,stop:()=>c.forEach(p=>p())});return}default:D(i)}},z=(r,o,i,m)=>{let y=Object.entries(o.toggle);if(y.length){let u=()=>{let c=[];for(let[p,j]of y)S(j,i)===!0&&c.push(p);return Tt(o.class,c)},x=u();r.getAttribute(\"class\")!==x&&r.setAttribute(\"class\",x),y.some(([,c])=>q(c))&&m.push(()=>{let c=u();c!==x&&(x=c,r.setAttribute(\"class\",c))})}for(let u in o.vars)A(m,o.vars[u],i,x=>{let c=r.style;x===null||x===\"\"?c.removeProperty(u):c.getPropertyValue(u)!==Q(x)&&c.setProperty(u,Q(x))})},st={doc:t,options:e,render:U,value:S,dispatch:r=>B(r),own:(r,o)=>T.add({el:r,stop:o}),same:J,styling:z},G=new Set,F=(r,o,i)=>{!e.onQuery||G.has(r)||(G.add(r),e.onQuery(o,i).then(m=>{G.delete(r),g.set(r,m);for(let y of v)y();L()}))},L=()=>{for(let r=v.length-1;r>=0;r--)C.delete(v[r])&&v.splice(r,1);for(let r of T)r.el.isConnected||(r.stop(),T.delete(r))},ot=(r,o,i,m,y=null)=>{let u=_(r,\"[\"),x=i(),c=[];m(r,c);let p=_(r,\"]\");o.push(()=>{let j=i();if(j===x){for(let I of c)I();return}x=j,c=[];let $=e.motion;if(!y||!$||$.reduced(t)){Ct(u,p),m({parent:p.parentNode,next:p,claim:!1},c);return}$.leave(u.nextSibling===p?[]:W(u.nextSibling,p.previousSibling),y);let[d,O]=kt({parent:p.parentNode,next:p,claim:!1},()=>m({parent:p.parentNode,next:p,claim:!1},c));d&&O&&d!==p&&$.enter(W(d,O),y)})},mt=(r,o,i,m,y)=>{let u=_(i,\"[\"),x=d=>{let O=r.key===null?d:R(d,[r.key]);return typeof O==\"string\"?`s${O}`:JSON.stringify(O)},c=()=>{let d=S(r.source,o);return Array.isArray(d)?d:[]},p=(d,O)=>{let I=[...o,d],H=[],[M,K]=kt(O,()=>U(r.item,I,O,H,y));return{key:x(d),scope:I,block:H,first:M,last:K}},j=c().map(d=>p(d,i)),$=_(i,\"]\");m.push(()=>{let d=e.motion,O=r.motion&&d&&!d.reduced(t)?d.track(j.map(N=>N.first),r.motion):null,I=new Map(j.map(N=>[N.key,N])),H=new Set,M=[];for(let N of c()){let Y=x(N),it=I.get(Y);if(it){I.delete(Y),it.scope.splice(0,it.scope.length,...o,N);for(let ct of it.block)ct();M.push(it)}else{let ct=p(N,{parent:t.createDocumentFragment(),next:null,claim:!1});H.add(ct),M.push(ct)}}for(let N of I.values())if(O)O.leave(W(N.first,N.last));else for(let Y of W(N.first,N.last))Y.remove();let K=$.parentNode,X=u.nextSibling??$;for(let N of M)if(N.first===X)X=N.last.nextSibling??$;else for(let Y of W(N.first,N.last))K.insertBefore(Y,X);j=M,O?.settle(M.map(N=>[W(N.first,N.last),H.has(N)]))})},dt=r=>{for(let o of r.effects)if(o.type===\"navigate\")e.onNavigate?.(o.url);else if(o.type===\"timer\"){let i=setTimeout(()=>{h.delete(i),B({type:\"timer\",entry:o.entry,ms:o.ms})},o.ms);h.add(i)}else e.onInvoke?.(o.effect,o.input).then(i=>B(i.ok?{type:\"done\",entry:o.entry,result:i.value}:{type:\"failed\",entry:o.entry,error:i.error,data:i.data}))};function B(r){if(!n||!b)return;let o=xt(n,b,r);if(o.taken){b=o.snapshot;for(let i of v)i();L(),dt(o)}}return{attach(r,o,i,m,y){let u={parent:r,next:o,claim:y},x=r.namespaceURI===pt?pt:null,c=[],[p,j]=kt(u,()=>U(i,m,u,c,x));p&&j&&k.push([p,j]);let $=p?.isConnected===!0,d=()=>{if($&&!p.isConnected)C.add(d);else for(let O of c)O()};v.push(d)},start(){w&&dt(w),w=null},sync:()=>{for(let r of v)r();L()},dispatch:B,snapshot:()=>b,destroy:()=>{for(let r of h)clearTimeout(r);h.clear();for(let r of T)r.stop();T.clear(),v.length=0;for(let[r,o]of k)for(let i of W(r,o))i.remove();k.length=0}}}var Ut=function(t,e){return typeof t==\"string\"&&/^\\.\\.?\\//.test(t)?t.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i,function(n,s,a,l,f){return s?e?\".jsx\":\".js\":a&&(!l||!f)?n:a+l+\".\"+f.toLowerCase()+\"js\"}):t},Lt=t=>t.islands.flatMap(([e,n,...s])=>{let a=t.ids[e],l=a.slice(0,a.indexOf(\".\"));return s.map(f=>({feature:l,node:a,scope:[...Array(n).fill(null),...f]}))}),Mt=t=>new URL(t,import.meta.url),Pt=async(t,e,n)=>{let s=JSON.stringify({effect:t,input:e,keys:n}),a=lt.size?await(await import(\"./chunk-7HUHKEFT.js\")).encode(s,e,lt):s;return await(await fetch(Mt(\"effect\"),{method:\"POST\",headers:typeof a==\"string\"?{\"content-type\":\"application/json\"}:{},body:a})).json()},Zt=async(t,e)=>await(await fetch(Mt(\"query\"),{method:\"POST\",headers:{\"content-type\":\"application/json\"},body:JSON.stringify({query:t,input:e})})).json(),Qt=async t=>(await import(Ut(t))).default,Wt=async t=>(await import(Ut(t))).fns;async function Rt(t,{transport:e=Pt,query:n=Zt,live:s,loadFns:a=Wt,loadComponent:l=Qt,loadFetch:f}={}){let g=new Map,k=t.getElementById(\"hozu-payload\");if(!k?.textContent)return g;let h=JSON.parse(k.textContent),w={data:new Map(h.data),versions:new Map},b=globalThis.__hozuFns??{},v=o=>b[new URL(o,t.baseURI).href],C=h.fns?Object.assign({},...h.fns.every(v)?h.fns.map(v):await Promise.all(h.fns.map(o=>v(o)??a(o)))):{},{components:T,routes:V}=h,S=h.motion?await import(\"./chunk-PTMR5OH4.js\"):void 0,A=Object.keys(T).length?(await import(\"./chunk-7JYW54P6.js\")).renderComponent:void 0;h.visible&&import(\"./chunk-DRLGN2D4.js\").then(o=>o.watch(t));let _=h.effects?(await import(\"./chunk-QPPJ5CKU.js\")).createRunner(h,C,w,{stringify:tt,compile:E},f):null,D=new Map,U=(o,i)=>{let m=o+JSON.stringify(i),y=D.get(m);return y||(y=(_?.runs(o)?_.run(o,i):n(o,i)).finally(()=>D.delete(m)),D.set(m,y)),y},z=()=>{for(let o of g.values())o.sync()},st=Object.entries(h.live??{}),G=async o=>{if(F)return void L.push(...o);let i=st.filter(([,m])=>m.tags.some(y=>o.includes(y)));for(let[m,y]of i)w.data.set(m,await n(y.query,y.input));i.length&&z()},F=0,L=[],ot=async(o,i)=>{if(_?.runs(o)){F++;let{result:c,changed:p,tags:j}=await _.mutate(o,i).finally(()=>F--);return p&&z(),{result:c,tags:j}}F++;let{result:m,refreshed:y,session:u,tags:x}=await e(o,i,[...w.data.keys()]).finally(()=>F--);x&&_&&await _.reread(x)&&z(),u&&(w.data.clear(),L=[]);for(let[c,p]of y)w.data.set(c,p),w.versions.set(c,(w.versions.get(c)??0)+1);return(y.length||u)&&z(),!F&&L.length&&G(L.splice(0)),{result:m,tags:x??[]}},mt=async(o,i)=>(await ot(o,i)).result,dt=null;for(let[o,i]of Object.entries(h.features)){let m=h.snapshots?.[o];g.set(o,Vt(t,{machine:i?yt({id:o,machine:i},C,V):null,payload:w,params:h.params,search:h.search,...m?{snapshot:m}:{},fns:C,components:T,routes:V,motion:S,component:A,loadComponent:l,onQuery:U,onInvoke:mt,..._?{readsInBrowser:y=>_.runs(y)}:{},onNavigate:y=>t.defaultView?.location.assign(y)}))}let B=[],r=t.createTreeWalker(t.body??t,128);for(;r.nextNode();)r.currentNode.data===\"i\"&&B.push(r.currentNode);Lt(h).forEach((o,i)=>{let m=B[i],y=h.nodes[o.node];m?.parentNode&&y&&g.get(o.feature)?.attach(m.parentNode,m.nextSibling,y,o.scope,!0)}),z();for(let o of g.values())o.start();return st.length&&(s??(await import(\"./chunk-627YWRJ6.js\")).liveStream(t))(G,st.flatMap(([,o])=>o.tags)),h.poll&&(await import(\"./chunk-DBYBPDZ3.js\")).poll(t,h.poll,w,U,()=>F,z),t.documentElement.setAttribute(\"data-hozu-ready\",\"\"),g}var jt=\"hozu:reloaded\",qt=t=>{try{if(!t)return sessionStorage.removeItem(jt);let e=!sessionStorage.getItem(jt);return sessionStorage.setItem(jt,\"1\"),e}catch{return!1}};Rt(document).then(()=>qt(!1),t=>{if(t instanceof TypeError&&/import|module/i.test(t.message)&&qt(!0))location.reload();else throw t});\n"}
|
package/dist/hydrate.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ export interface PagePayload {
|
|
|
33
33
|
components: Record<string, ComponentRef>;
|
|
34
34
|
routes: Record<string, string>;
|
|
35
35
|
live: Record<string, LiveQuery>;
|
|
36
|
+
/** Queries this page reads again on a timer, in seconds (ADR 0063 C1). */
|
|
37
|
+
poll?: Record<string, number>;
|
|
36
38
|
/** Effects this page can call that run in the browser (ADR 0049). */
|
|
37
39
|
effects?: Record<string, ClientEffect>;
|
|
38
40
|
/** The bundled fetch module of each feature with such effects. */
|
package/dist/hydrate.d.ts.map
CHANGED
|
@@ -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":"AACA,OAAO,KAAK,EAAa,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAChG,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE3E,OAAO,EACL,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,KAAK,MAAM,EAEZ,MAAM,YAAY,CAAA;AAEnB,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,YAAY,EAAE,OAAO,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,IAAI,EAAE,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAA;IAC3D,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,CAAA;IAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/B,4CAA4C;IAC5C,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,IAAI,CAAA;IACZ,MAAM,EAAE,IAAI,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACpC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,IAAI,CAAA;KAAE,CAAA;IACjG,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/B,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACtC,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,+DAA+D;IAC/D,GAAG,CAAC,EAAE,IAAI,CAAA;CACX;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,UAAU,CAAA;IAC1B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC1B,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAClC,mDAAmD;IACnD,IAAI,EAAE,SAAS,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,IAAI,CAAA;IACX,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IAC7B,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;AAWhG,eAAO,MAAM,cAAc,EAAE,SAS5B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5E,eAAO,MAAM,UAAU,EAAE,cAOxB,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACjE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IACzD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;IACxD,2EAA2E;IAC3E,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC9D;AAQD,wBAAsB,OAAO,CAC3B,GAAG,EAAE,QAAQ,EACb,EACE,SAA0B,EAC1B,KAAkB,EAClB,IAAI,EACJ,OAAmB,EACnB,aAA+B,EAC/B,SAAS,GACV,GAAE,cAAmB,GACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAmI3B"}
|
package/dist/hydrate.js
CHANGED
|
@@ -75,6 +75,10 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
|
|
|
75
75
|
}
|
|
76
76
|
return pending;
|
|
77
77
|
};
|
|
78
|
+
const syncAll = () => {
|
|
79
|
+
for (const app of apps.values())
|
|
80
|
+
app.sync();
|
|
81
|
+
};
|
|
78
82
|
const liveKeys = Object.entries(payload.live ?? {});
|
|
79
83
|
const onTags = async (tags) => {
|
|
80
84
|
if (busy)
|
|
@@ -83,8 +87,7 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
|
|
|
83
87
|
for (const [key, l] of stale)
|
|
84
88
|
shared.data.set(key, await query(l.query, l.input));
|
|
85
89
|
if (stale.length)
|
|
86
|
-
|
|
87
|
-
app.sync();
|
|
90
|
+
syncAll();
|
|
88
91
|
};
|
|
89
92
|
let busy = 0;
|
|
90
93
|
let queued = [];
|
|
@@ -93,8 +96,7 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
|
|
|
93
96
|
busy++;
|
|
94
97
|
const { result, changed, tags } = await local.mutate(effect, input).finally(() => busy--);
|
|
95
98
|
if (changed)
|
|
96
|
-
|
|
97
|
-
app.sync();
|
|
99
|
+
syncAll();
|
|
98
100
|
return { result, tags };
|
|
99
101
|
}
|
|
100
102
|
busy++;
|
|
@@ -102,8 +104,7 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
|
|
|
102
104
|
...shared.data.keys(),
|
|
103
105
|
]).finally(() => busy--);
|
|
104
106
|
if (tags && local && (await local.reread(tags)))
|
|
105
|
-
|
|
106
|
-
app.sync();
|
|
107
|
+
syncAll();
|
|
107
108
|
if (session) {
|
|
108
109
|
shared.data.clear();
|
|
109
110
|
queued = [];
|
|
@@ -113,8 +114,7 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
|
|
|
113
114
|
shared.versions.set(key, (shared.versions.get(key) ?? 0) + 1);
|
|
114
115
|
}
|
|
115
116
|
if (refreshed.length || session)
|
|
116
|
-
|
|
117
|
-
app.sync();
|
|
117
|
+
syncAll();
|
|
118
118
|
if (!busy && queued.length)
|
|
119
119
|
onTags(queued.splice(0));
|
|
120
120
|
return { result, tags: tags ?? [] };
|
|
@@ -156,12 +156,13 @@ export async function hydrate(doc, { transport = fetchTransport, query = fetchQu
|
|
|
156
156
|
if (at?.parentNode && node)
|
|
157
157
|
apps.get(island.feature)?.attach(at.parentNode, at.nextSibling, node, island.scope, true);
|
|
158
158
|
});
|
|
159
|
-
|
|
160
|
-
app.sync();
|
|
159
|
+
syncAll();
|
|
161
160
|
for (const app of apps.values())
|
|
162
161
|
app.start();
|
|
163
162
|
if (liveKeys.length)
|
|
164
163
|
(live ?? (await import('./live.js')).liveStream(doc))(onTags, liveKeys.flatMap(([, l]) => l.tags));
|
|
164
|
+
if (payload.poll)
|
|
165
|
+
(await import('./poll.js')).poll(doc, payload.poll, shared, onQuery, () => busy, syncAll);
|
|
165
166
|
if (globalThis.__HOZU_DEV__ && dev)
|
|
166
167
|
(await import('./dev.js')).expose(doc, apps, dev.machines, { invoke, query: onQuery });
|
|
167
168
|
doc.documentElement.setAttribute('data-hozu-ready', '');
|
package/dist/hydrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAIL,SAAS,GAGV,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../src/hydrate.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAIL,SAAS,GAGV,MAAM,YAAY,CAAA;AAiEnB,MAAM,SAAS,GAAG,CAAC,OAAoB,EAAe,EAAE,CACtD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;AACpG,CAAC,CAAC,CAAA;AAEJ,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAc,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACpG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC/C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/E,IAAI;KACL,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAA;AAClD,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,UAAU,GAAmB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC9C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KACvC,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAW,CAAA;AAC1C,CAAC,CAAA;AAYD,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE,CAC3C,CAAC,MAAM,MAAM,kCAAC,kBAAkB,CAAC,GAAG,EAAC,CAAiC,CAAC,OAAO,CAAA;AAEjF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE,CACrC,CAAC,MAAM,MAAM,kCAAC,kBAAkB,CAAC,GAAG,EAAC,CAAoC,CAAC,GAAG,CAAA;AAEhF,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAa,EACb,EACE,SAAS,GAAG,cAAc,EAC1B,KAAK,GAAG,UAAU,EAClB,IAAI,EACJ,OAAO,GAAG,SAAS,EACnB,aAAa,GAAG,eAAe,EAC/B,SAAS,GACV,GAAmB,EAAE;IAEtB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAA;IACnC,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IACjD,IAAI,CAAC,MAAM,EAAE,WAAW;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAgB,CAAA;IAC7D,MAAM,MAAM,GAAU,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;IAC1E,MAAM,UAAU,GAAI,UAAoE,CAAC,SAAS,IAAI,EAAE,CAAA;IACxG,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;IACvE,MAAM,GAAG,GAA0B,OAAO,CAAC,GAAG;QAC5C,CAAC,CAAC,MAAM,CAAC,MAAM,CACX,EAAE,EACF,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YACxB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YACtB,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3E;QACH,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACvE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM;QAC9C,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe;QAClD,CAAC,CAAC,SAAS,CAAA;IACb,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO;QAC3B,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CACvC,OAAO,EACP,GAAG,EACH,MAAM,EACN,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAqB,EAAE,EACjE,SAAS,CACV;QACH,CAAC,CAAC,IAAI,CAAA;IACR,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAA;IACnD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,KAAW,EAAE,EAAE;QACzC,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAA;YAC7B,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;gBAAE,OAAO,IAAI,OAAO,CAAS,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACvF,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACtG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC5B,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7C,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;QACtC,IAAI,IAAI;YAAE,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9E,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QACjF,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;IAC7B,CAAC,CAAA;IACD,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,MAAM,GAAa,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,KAAK,EAAE,MAAc,EAAE,KAAW,EAA+C,EAAE;QAChG,IAAI,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,EAAE,CAAA;YACN,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;YACzF,IAAI,OAAO;gBAAE,OAAO,EAAE,CAAA;YACtB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACzB,CAAC;QACD,IAAI,EAAE,CAAA;QACN,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE;YAC1E,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;SACtB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QACxB,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAA;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YACnB,MAAM,GAAG,EAAE,CAAA;QACb,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,IAAI,OAAO;YAAE,OAAO,EAAE,CAAA;QAC1C,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,CAAA;IACrC,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,KAAW,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;IAC5F,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY;QACjC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,EAA4B,EAAE;QACrG,CAAC,CAAC,IAAI,CAAA;IACR,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,YAAY,IAAI,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAA;QAClG,IAAI,UAAU,CAAC,YAAY;YAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC,GAAG,CACN,EAAE,EACF,SAAS,CAAC,GAAG,EAAE;YACb,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,OAAO,EAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YACnF,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,GAAG;YACH,UAAU;YACV,MAAM;YACN,MAAM;YACN,SAAS;YACT,aAAa;YACb,OAAO;YACP,QAAQ;YACR,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;SAC3D,CAAC,CACH,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAc,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,GAAG,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,QAAQ,EAAE;QACtB,IAAK,MAAM,CAAC,WAAuB,CAAC,IAAI,KAAK,GAAG;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAsB,CAAC,CAAA;IAC/F,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,EAAE,EAAE,UAAU,IAAI,IAAI;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7F,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,CAAA;IACT,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;QAAE,GAAG,CAAC,KAAK,EAAE,CAAA;IAC5C,IAAI,QAAQ,CAAC,MAAM;QACjB,CAAC,IAAI,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CACnD,MAAM,EACN,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC,CAAA;IACH,IAAI,OAAO,CAAC,IAAI;QAAE,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC3G,IAAI,UAAU,CAAC,YAAY,IAAI,GAAG;QAChC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IACxF,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;IACvD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/poll.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Json } from '@hozu/core/ir';
|
|
2
|
+
interface Shared<T> {
|
|
3
|
+
data: Map<string, T>;
|
|
4
|
+
versions: Map<string, number>;
|
|
5
|
+
}
|
|
6
|
+
/** Reads the polled queries on the page again on their timers while it is visible and no effect runs (ADR 0063 C1). */
|
|
7
|
+
export declare const poll: <T>(doc: Document, every: Record<string, number>, shared: Shared<T>, read: (ref: string, input: Json) => Promise<T>, busy: () => number, sync: () => void) => void;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=poll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../src/poll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,UAAU,MAAM,CAAC,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAiCD,uHAAuH;AACvH,eAAO,MAAM,IAAI,GAAI,CAAC,OACf,QAAQ,SACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UACrB,MAAM,CAAC,CAAC,CAAC,QACX,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QACxC,MAAM,MAAM,QACZ,MAAM,IAAI,SAwBjB,CAAA"}
|
package/dist/poll.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const mounted = (data, sync) => {
|
|
2
|
+
const seen = new Set();
|
|
3
|
+
const get = data.get;
|
|
4
|
+
data.get = (key) => {
|
|
5
|
+
seen.add(key);
|
|
6
|
+
return get.call(data, key);
|
|
7
|
+
};
|
|
8
|
+
try {
|
|
9
|
+
sync();
|
|
10
|
+
}
|
|
11
|
+
finally {
|
|
12
|
+
Reflect.deleteProperty(data, 'get');
|
|
13
|
+
}
|
|
14
|
+
return seen;
|
|
15
|
+
};
|
|
16
|
+
const parse = (text) => {
|
|
17
|
+
try {
|
|
18
|
+
return [JSON.parse(text)];
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const split = (key, refs) => {
|
|
25
|
+
for (const ref of refs) {
|
|
26
|
+
const input = key.startsWith(ref) ? parse(key.slice(ref.length)) : null;
|
|
27
|
+
if (input)
|
|
28
|
+
return [ref, input[0]];
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
};
|
|
32
|
+
/** Reads the polled queries on the page again on their timers while it is visible and no effect runs (ADR 0063 C1). */
|
|
33
|
+
export const poll = (doc, every, shared, read, busy, sync) => {
|
|
34
|
+
const groups = new Map();
|
|
35
|
+
for (const [ref, seconds] of Object.entries(every))
|
|
36
|
+
groups.set(seconds, [...(groups.get(seconds) ?? []), ref]);
|
|
37
|
+
for (const [seconds, refs] of groups) {
|
|
38
|
+
let reading = false;
|
|
39
|
+
setInterval(async () => {
|
|
40
|
+
if (reading || doc.visibilityState === 'hidden' || busy())
|
|
41
|
+
return;
|
|
42
|
+
reading = true;
|
|
43
|
+
let changed = false;
|
|
44
|
+
for (const key of mounted(shared.data, sync)) {
|
|
45
|
+
const hit = split(key, refs);
|
|
46
|
+
if (!hit)
|
|
47
|
+
continue;
|
|
48
|
+
const version = shared.versions.get(key);
|
|
49
|
+
const result = await read(...hit).catch(() => null);
|
|
50
|
+
if (result === null || busy() || shared.versions.get(key) !== version)
|
|
51
|
+
continue;
|
|
52
|
+
shared.data.set(key, result);
|
|
53
|
+
changed = true;
|
|
54
|
+
}
|
|
55
|
+
reading = false;
|
|
56
|
+
if (changed)
|
|
57
|
+
sync();
|
|
58
|
+
}, seconds * 1000);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=poll.js.map
|
package/dist/poll.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../src/poll.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.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "Hozu client runtime: fine-grained DOM islands, no virtual DOM, under 8 KB gzipped",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hozu",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"access": "public"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@hozu/core": "0.
|
|
51
|
-
"@hozu/machine": "0.
|
|
50
|
+
"@hozu/core": "0.19.0",
|
|
51
|
+
"@hozu/machine": "0.19.0"
|
|
52
52
|
},
|
|
53
53
|
"sideEffects": false
|
|
54
54
|
}
|