@memoized-dom/runtime 0.0.2 → 0.0.3

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.
@@ -0,0 +1 @@
1
+ var b=new Map;function ke(e,t,n){if(n===void 0||Array.isArray(n)&&n.length===0){b.size!==0&&b.delete(e);return}if(!t){typeof n=="number"?b.set(e,n):n.length===1?b.set(e,n[0]):b.set(e,new Set(n));return}let r=b.get(e);if(r===void 0)return;let o=typeof n=="number"?[n]:n;if(typeof r=="number"){o.some(i=>i!==r)&&b.set(e,new Set([r,...o]));return}for(let i of o)r.add(i)}function xe(e){if(b.size===0)return null;let t=b.get(e)??null;return b.delete(e),t}function O(e){b.size!==0&&b.delete(e)}var m=new Map,k=new Set,ve=typeof requestAnimationFrame=="function"?e=>requestAnimationFrame(e):e=>setTimeout(e,0),ne=ve;function Qe(e){ne=e}function Ye(){ne=ve}function et(e){let t=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===47&&t++;return t}var z=null,Re=0;var Ie=[],ee=[];function Se(e){ee.includes(e)||ee.push(e)}function F(e){Ie.push(e)}function Te(e,t){for(let n of Ie)n(e,t)}function H(e){let t=e.parent!==null?m.get(e.parent):void 0;e.depth=e.depth??(t&&t.depth!==void 0?t.depth+1:et(e.id)),m.set(e.id,e),t&&(t.children??=new Set).add(e.id),z=null,Re++,Te(e.id,"add")}function v(e){let t=m.get(e);if(!t)return;t.parent!==null&&m.get(t.parent)?.children?.delete(e);let n=[e],r=[],o=[];for(;n.length>0;){let i=n.pop(),s=m.get(i);if(s&&(r.push(i),s.children))for(let d of s.children)n.push(d)}r.reverse();for(let i of r)m.delete(i),k.delete(i),O(i),Te(i,"remove");for(let i of r)for(let s of ee){let d=s(i);d!==void 0&&o.push(...d)}if(z=null,Re++,o.length===1)throw o[0];if(o.length>1)throw new AggregateError(o,`[memo-dom] ${o.length} cleanup disposers failed while unregistering '${e}'`)}function tt(e){v(e)}function W(e){return m.has(e)}function re(e){return m.get(e)}function nt(e){let t=o=>{if(o.children!==void 0)for(let i of o.children){let s=m.get(i);s!==void 0&&(s.phase!=="effect"&&(s.render(),M(i)),t(s))}},n=o=>{if(o.children!==void 0)for(let i of o.children){let s=m.get(i);s!==void 0&&(s.phase==="effect"&&(s.render(),M(i)),n(s))}},r=m.get(e);r!==void 0&&(t(r),n(r))}function oe(){return z??=[...m.keys()],z}function S(e,t){if(!m.has(e))return;let n=k.has(e);(t!==void 0||n)&&ke(e,n,t),k.add(e),Ce()}function M(e){k.size!==0&&k.delete(e)&&O(e)}function C(e){let t=e+"/",n=!1;for(let r of m.keys())(r===e||r.startsWith(t))&&(k.add(r),O(r),n=!0);n&&Ce()}var te=!1,j=!1;function Ce(){te||j||(te=!0,ne(De))}function De(){if(te=!1,!j){j=!0;try{for(let e=0;e<100&&k.size>0;e++){let t=[];for(let o of k){let i=m.get(o);i?t.push(i):(k.delete(o),O(o))}let r=t.some(o=>o.phase!=="effect")?t.filter(o=>o.phase!=="effect"):t;r.sort((o,i)=>(o.depth??0)-(i.depth??0));for(let o of r)k.delete(o.id)&&o.render(xe(o.id))}if(k.size>0)throw new Error("[memo-dom] commit cascade exceeded 100 passes \u2014 an update is dirtying its own readers (cycle)")}finally{j=!1}}}function Zt(){return{registry:m,dirtySet:k}}var K=new Map,ie=new Set,Le=!1;function rt(){Le||(Le=!0,Se(ot))}function _(e,t){if(typeof t!="function")throw new TypeError("[memo-dom] cleanup(disposer) requires a function");if(ie.has(e))throw new Error(`[memo-dom] cannot register cleanup while '${e}' is being unregistered`);rt();let n=K.get(e);return n===void 0&&(n=[],K.set(e,n)),n.push(t),t}function ot(e){let t=K.get(e);if(t===void 0)return[];K.delete(e),ie.add(e);let n=[];try{for(let r=t.length-1;r>=0;r--)try{t[r]()}catch(o){n.push(o)}}finally{ie.delete(e)}return n}function it(e,t){let n=[],r=!0;try{Ae(e,t,n)}catch(o){let i=Me(n);throw i.length>0?new AggregateError([o,...i],"[memo-dom] ref setup and rollback failed"):o}return()=>{if(!r)return;r=!1;let o=Me(n);if(o.length===1)throw o[0];if(o.length>1)throw new AggregateError(o,"[memo-dom] multiple ref cleanups failed")}}function Ae(e,t,n){if(t==null||t===!1)return;if(Array.isArray(t)){for(let o of t)Ae(e,o,n);return}if(typeof t!="function")throw new TypeError("[memo-dom] ref value must be a callback, an assignable JSX target, or an array of refs");let r=t(e);if(r!=null){if(typeof r!="function")throw new TypeError("[memo-dom] ref callback must return a cleanup function or nothing");n.push(r)}}function Me(e){let t=[];for(let n=e.length-1;n>=0;n--)try{e[n]()}catch(r){t.push(r)}return e.length=0,t}function Ne(e,t,n){let r;W(e)&&v(e),H({id:e,parent:t,phase:"effect",render(){let o=r;r=void 0,o?.();let i=n();if(i!==void 0&&typeof i!="function")throw new TypeError(`[memo-dom] effect '${e}' must return a cleanup function or undefined`);r=typeof i=="function"?i:void 0}}),_(e,()=>{let o=r;r=void 0,o?.()}),S(e)}function st(e,t,n,r){let o=`${e}/$active`,i=!1;W(e)&&v(e),H({id:e,parent:t,phase:"effect",render(){let s=!!n();s!==i&&(i=s,i?Ne(o,e,r):v(o))}}),_(e,()=>{i=!1,W(o)&&v(o)}),S(e)}function dt(e,t,n,r){e[t]!==r&&(e[t]=r,n.data=r==null||typeof r=="boolean"?"":String(r))}function lt(e,t,n,r){e[t]!==r&&(e[t]=r,n.className=r)}function ct(e,t,n,r,o){e[t]!==o&&(e[t]=o,n.classList.toggle(r,o))}function ft(e,t,n,r,o){e[t]!==o&&(e[t]=o,o==null||o===!1?n.removeAttribute(r):o===!0?n.setAttribute(r,""):n.setAttribute(r,String(o)))}function at(e,t,n,r,o){e[t]!==o&&(e[t]=o,n[r]=o)}function ut(e,t,n,r,o){e[t]!==o&&(e[t]=o,o==null?n.style.removeProperty(r):n.style.setProperty(r,o))}function pt(e,t){if(Array.isArray(e)&&Array.isArray(t)){if(e===t||e.length!==t.length)return!0;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n])||se(e[n]))return!0;return!1}return se(e)||se(t)?!0:!Object.is(e,t)}function se(e){return typeof e=="object"&&e!==null||typeof e=="function"}var de="",A=new Map,D=new Map,B=new Map,le=new Set,ce=[],N=new Map,$=0,q=new Map,U=new Map;function yt(){N=new Map;let e=oe();for(let[t,n]of D){let r=new Set;for(let o of n)for(let i of e)o.test(i)&&r.add(i);N.set(t,r)}}F((e,t)=>{if(D.size===0)return;let n=!1;if(t==="add")for(let[r,o]of D){let i=N.get(r);if(i){for(let s of o)if(s.test(e)){i.add(e),n=!0;break}}}else for(let r of N.values())r.delete(e)&&(n=!0);n&&$++});function gt(e){if(!e.includes("*"))return null;let t=e.split("*").map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*");return new RegExp(`^${t}$`)}function ht(e,t){de=t;let n=new Set;for(let[r,o]of Object.entries(e.readers))for(let i of o){let s=`${r}${i}`;if(n.has(s))continue;n.add(s);let d=gt(i);if(d===null){let l=A.get(r)??[];l.includes(i)||l.push(i),A.set(r,l)}else{let l=D.get(r)??[];l.some(a=>a.source===d.source)||l.push(d),D.set(r,l)}}for(let[r,o]of Object.entries(e.params??{})){let i=B.get(r)??[];for(let s of o)i.includes(s.pattern)||i.push(s.pattern);B.set(r,i)}for(let r of e.opaque??[])le.add(r);ce=[...new Set([...A.keys(),...D.keys()])],q.clear(),U.clear(),yt(),$++}function mt(){de="",A=new Map,D=new Map,B=new Map,le=new Set,ce=[],N=new Map,q.clear(),U.clear(),$++}function fe(e){return le.has(e)}function G(){return de}function ae(e){return e.some(fe)?"root-subtree":Pe(e)}function ue(e,t,n){if(e.some(fe))return"root-subtree";if(n){let r=new Set,o=!0;for(let i of e){let s=B.get(i);if(s===void 0||s.length===0){o=!1;break}for(let d of s){let l=!1,a=d.replace(/\{([^}]+)\}/g,(h,y)=>{let R=y.trim();if(!R.startsWith("payload."))return l=!0,"";let E=n;for(let T of R.slice(8).split(".")){if(E===null||typeof E!="object")return l=!0,"";E=E[T]}return E==null?(l=!0,""):String(E)});if(l){o=!1;break}r.add(a)}if(!o)break;for(let d of A.get(i)??[])r.add(d)}if(o&&r.size>0)return[...r]}return Pe(e)}function Pe(e){let t=e.length===1?e[0]:e.join(" "),n=U.get(t);if(n!==void 0&&n.v===$)return n.result;let r=new Set,o=new Set;for(let s of e){let d=q.get(s);if(d===void 0){d=[];for(let l of ce)(l===s||l.startsWith(`${s}.`)||s.startsWith(`${l}.`))&&d.push(l);q.set(s,d)}for(let l of d)o.add(l)}for(let s of o){for(let d of A.get(s)??[])r.add(d);for(let d of N.get(s)??[])r.add(d)}let i=[...r];return U.set(t,{v:$,result:i}),i}var Et=1e3,V=[];function wt(){return V}function bt(){V.length=0}function Oe(e){let t=ae(e);if(t==="root-subtree"){C(G());return}for(let n of t)S(n)}function kt(e,t){let n=ue(e,[],t);if(n==="root-subtree"){C(G());return}for(let r of n)S(r)}function xt(e,t,n){return r=>{n(r),V.push({origin:e,writes:t,at:Date.now()}),V.length>Et&&V.shift(),Oe(t)}}var vt=e=>e,Rt=[],It=[],St=[];function Tt(e){let t=e.length,n=Rt,r=It,o=St;n.length=t,o.length=t,r.length=0;for(let s=0;s<t;s++)n[s]=!1,o[s]=-1;for(let s=0;s<t;s++){let d=e[s];if(d<0)continue;let l=0,a=r.length;for(;l<a;){let h=l+a>>1;e[r[h]]<d?l=h+1:a=h}r[l]=s,l>0&&(o[s]=r[l-1])}let i=r.length>0?r[r.length-1]:-1;for(;i>=0;)n[i]=!0,i=o[i];return n}function Ct(e,t,n,r=vt){let o=document.createComment(`list:${t}`);e.appendChild(o);let i=new Map,s=new Map,d=0,l=[],a=[],h=[],y=new Map,R=[],E=[],T=[];function Q(p,u,g,L){if(p.updateProps?.(u,L),p.update!==void 0)p.update(),M(g);else{let I=re(g);I&&(I.render(),M(g))}}function Be(p){let u=typeof p;if(u==="string"||u==="number"||u==="boolean"||u==="bigint")return`${t}/Row[${String(p)}]`;let g=s.get(p);return g===void 0&&(g=`#${++d}`,s.set(p,g)),`${t}/Row[${g}]`}function qe(p){if(p.length===l.length){let c=!0;for(let f=0;f<p.length;f++)if(p[f]!==l[f]){c=!1;break}if(c){for(let f=0;f<p.length;f++)Q(a[f],p[f],h[f],f);return}}let u=i;y.clear();let g=y,L=E,I=R,Y=p.length;L.length=Y,I.length=Y,T.length=Y;let ge=!1,he=!0,me=-1;for(let c=0;c<p.length;c++){let f=p[c],w=r(f,c);if(g.has(w))throw new Error(`[memo-dom] duplicate list key: ${String(w)}`);let x=u.get(w);if(x!==void 0)u.delete(w),T[c]=x.pos,x.pos<=me?he=!1:me=x.pos,x.pos=c,Q(x.e,f,x.id,c);else{let be=Be(w);x={e:n(f,be,c),id:be,pos:c},T[c]=-1,ge=!0}g.set(w,x),I[c]=x.e,L[c]=x.id}if(!ge&&u.size===0&&he){i=g,y=u;let c=a;a=I,R=c;let f=h;h=L,E=f,R.length=0,E.length=0,l=p.slice();return}for(let[c,f]of u){f.e.dispose?.();for(let w of f.e.nodes)w.parentNode?.removeChild(w);for(let w of f.e.entities)v(w);s.delete(c)}u.clear();let Ze=Tt(T),Ee=o,P=null,we=()=>{if(P===null)return;let c=document.createDocumentFragment();for(let f=P.length-1;f>=0;f--)for(let w of P[f].nodes)c.appendChild(w);e.insertBefore(c,Ee),P=null};for(let c=I.length-1;c>=0;c--){let f=I[c];T[c]===-1||!Ze[c]?(P??=[]).push(f):(we(),Ee=f.nodes[0])}we(),i=g,y=u;let Je=a;a=I,R=Je;let Xe=h;h=L,E=Xe,R.length=0,E.length=0,l=p.slice()}function Ue(p){let u=i.get(p);u!==void 0&&Q(u.e,l[u.pos],u.id,u.pos)}function Ge(){for(let[p,u]of i){u.e.dispose?.();for(let g of u.e.nodes)g.parentNode?.removeChild(g);for(let g of u.e.entities)v(g);s.delete(p)}i.clear(),y.clear(),l=[],a.length=0,h.length=0,R.length=0,E.length=0,o.parentNode?.removeChild(o)}return{reconcile:qe,refreshKey:Ue,size:()=>i.size,dispose:Ge}}function Dt(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(e.childNodes):[e]}var We=new Map;function Lt(e,t,n,r){let o=At(n),i=We.get(o);i===void 0&&(i={captureRoots:new WeakSet,handler:Symbol(`memo-dom:${o}:handler`),root:Symbol(`memo-dom:${o}:root`),bubbleRoots:new WeakSet},We.set(o,i));let s=t;s[i.handler]=r,s[i.root]=e,i.bubbleRoots.has(e)||(i.bubbleRoots.add(e),e.addEventListener(o,d=>{d.bubbles&&$e(e,i,d)})),i.captureRoots.has(e)||(i.captureRoots.add(e),e.addEventListener(o,d=>{d.bubbles||$e(e,i,d)},!0))}function $e(e,t,n){let r=typeof n.composedPath=="function"?n.composedPath():Mt(n.target,e);for(let o of r){let i=o;if(i[t.root]===e){let s=i[t.handler];s!==void 0&&s.call(o,n)===!1&&n.preventDefault()}if(o===e||n.cancelBubble)break}}function Mt(e,t){let n=[],r=e;for(;r!==null&&(n.push(r),r!==t);)r="parentNode"in r?r.parentNode:null;return n}function At(e){let t=e.startsWith("on")?e.slice(2).toLowerCase():e.toLowerCase();return t==="doubleclick"?"dblclick":t}var Z=new WeakMap,Nt=new Set(["animation-iteration-count","border-image-outset","border-image-slice","border-image-width","column-count","flex","flex-grow","flex-shrink","font-weight","grid-column","grid-row","line-height","opacity","order","orphans","scale","tab-size","widows","z-index","zoom"]);function J(e){let t=[];return Ve(e,t),t.join(" ")}function pe(e,t){let n=J(t);e.namespaceURI==="http://www.w3.org/2000/svg"?n===""?e.removeAttribute("class"):e.setAttribute("class",n):e.className=n}function ye(e,t){let n=e.style;if(n===void 0)return;if(typeof t=="string"){let i=Z.get(e);if(i?.size===1&&i.get("$cssText")===t)return;n.cssText=t,Z.set(e,new Map([["$cssText",t]]));return}let r=new Map;if(t!==null&&typeof t=="object")for(let[i,s]of Object.entries(t)){if(s==null)continue;let d=Pt(i);r.set(d,Ot(d,s))}let o=Z.get(e)??new Map;o.has("$cssText")&&(n.cssText="");for(let i of o.keys())i!=="$cssText"&&!r.has(i)&&n.removeProperty(i);for(let[i,s]of r)o.get(i)!==s&&n.setProperty(i,s);Z.set(e,r)}function Ve(e,t){if(e==null||e===!1||e===!0)return;if(Array.isArray(e)){for(let r of e)Ve(r,t);return}if(typeof e=="object"){for(let[r,o]of Object.entries(e))o&&t.push(r);return}let n=String(e).trim();n!==""&&t.push(n)}function Pt(e){return e.startsWith("--")||e.includes("-")?e:e.replace(/^ms([A-Z])/,"ms-$1").replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function Ot(e,t){return typeof t=="number"&&t!==0&&!e.startsWith("--")&&!Nt.has(e)?`${t}px`:String(t)}var je=new WeakMap,ze=new WeakMap,Wt=new Set(["innerHTML","checked","value","selected","disabled","hidden","multiple","required","readOnly","muted","open","controls","loop","autoFocus","autoPlay","tabIndex"]),Fe={className:"class",htmlFor:"for",readOnly:"readonly",autoFocus:"autofocus",autoPlay:"autoplay",tabIndex:"tabindex",crossOrigin:"crossorigin"},$t={className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",dominantBaseline:"dominant-baseline",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",stopColor:"stop-color",stopOpacity:"stop-opacity",strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",textAnchor:"text-anchor",vectorEffect:"vector-effect",xlinkHref:"xlink:href"},Vt={doubleclick:"dblclick"};function jt(e,t,n,r=[]){let o=t!==null&&typeof t=="object"?t:{},i=je.get(e)??new Map,s=new Set(r);for(let l of i.keys())Object.prototype.hasOwnProperty.call(o,l)||He(e,l,null,i,n,s);for(let[l,a]of Object.entries(o))He(e,l,a,i,n,s);let d=new Map;for(let[l,a]of Object.entries(o))d.set(l,_e(l,a));je.set(e,d)}function Ke(e,t,n){if(t==="class"||t==="className"){pe(e,n);return}if(t==="style"){ye(e,n);return}Ht(e,t,n)}function He(e,t,n,r,o,i){if(t==="key"||t==="children"||t==="ref")return;if(/^on[A-Z]/.test(t)){zt(e,t,typeof n=="function"?n:null,o,i.has(t));return}let s=_e(t,n);Object.is(r.get(t),s)||Ke(e,t,n)}function _e(e,t){return e==="class"||e==="className"?J(t):e==="style"?Symbol("style-snapshot"):t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:String(t)}function zt(e,t,n,r,o){let i=ze.get(e);i===void 0&&(i=new Map,ze.set(e,i));let s=i.get(t);if(s?.source===n||(s!==void 0&&(e.removeEventListener(s.type,s.listener),i.delete(t)),n===null))return;let d=Ft(t),l=o?n:function(h){let y=n.call(this,h);return C(r),y!==null&&typeof y=="object"&&"then"in y&&typeof y.then=="function"&&y.then(()=>{C(r)}),y};e.addEventListener(d,l),i.set(t,{source:n,listener:l,type:d})}function Ft(e){let t=e.slice(2).toLowerCase();return Vt[t]??t}function Ht(e,t,n){let r=e.namespaceURI!=="http://www.w3.org/2000/svg";if(r&&Wt.has(t)){if(t==="tabIndex"&&n==null){e.removeAttribute("tabindex");return}e[t]=n??Kt(t);return}let o=r?Fe[t]??t:$t[t]??Fe[t]??t;n==null||n===!1?e.removeAttribute(o):n===!0?e.setAttribute(o,""):!r&&t==="xlinkHref"?e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",String(n)):e.setAttribute(o,String(n))}function Kt(e){return e==="value"||e==="innerHTML"?"":!1}function _t(e,t,n,r){let o=document.createComment(`when:${t}`);e.appendChild(o);let i=-1,s=null;function d(){let a=n();if(a===i){s?.update();return}if(s!==null){s.dispose?.();for(let y of s.nodes)y.parentNode?.removeChild(y);s=null}let h=r[a]??null;if(h!==null){s=h();for(let y=s.nodes.length-1;y>=0;y--)o.parentNode.insertBefore(s.nodes[y],o)}i=a}function l(){if(s!==null){s.dispose?.();for(let a of s.nodes)a.parentNode?.removeChild(a);s=null}o.parentNode?.removeChild(o),i=-1}return d(),{update:d,index:()=>i,dispose:l}}var X=new Map;function Bt(e,t){X.set(e,t)}function qt(e,t){let n=X.get(e);if(n===void 0)return;let r=n.length!==t.length;if(!r){for(let o=0;o<t.length;o++)if(!Object.is(n[o],t[o])){r=!0;break}}if(r){n.length=t.length;for(let o=0;o<t.length;o++)n[o]=t[o];S(e)}}function bn(e){return X.get(e)}F((e,t)=>{t==="remove"&&X.delete(e)});export{Qe as a,Ye as b,H as c,v as d,tt as e,W as f,re as g,nt as h,oe as i,S as j,M as k,C as l,De as m,Zt as n,_ as o,it as p,Ne as q,st as r,dt as s,lt as t,ct as u,ft as v,at as w,ut as x,pt as y,ht as z,mt as A,fe as B,G as C,ae as D,ue as E,wt as F,bt as G,Oe as H,kt as I,xt as J,Ct as K,Dt as L,Lt as M,J as N,pe as O,ye as P,jt as Q,Ke as R,_t as S,Bt as T,qt as U,bn as V};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{A as z,B as A,C as B,D as C,E as D,F as E,G as F,H as G,I as H,J as I,K as J,L as K,M as L,N as M,O as N,P as O,Q as P,R as Q,S as R,T as S,U as T,a,b,c,d,e,f,g,h,i,j,k,l,m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u,w as v,x as w,y as x,z as y}from"./chunks/chunk-TPQC547Y.js";export{M as classValue,n as cleanup,F as clearEventLog,m as commit,G as commitWrites,H as commitWritesWithPayload,x as computedChanged,R as createCondRegion,J as createListRegion,g as getEntity,E as getEventLog,B as getRootId,I as handle,f as has,y as installAccessTable,A as isOpaque,j as markDirty,l as markDirtySubtree,o as mountRef,P as patchDomProps,c as register,q as registerConditionalEffect,p as registerEffect,S as registerProps,i as registeredIds,h as renderDescendants,z as resetAccessTable,b as resetScheduler,C as resolveStaticWrites,D as resolveWrites,K as rootNodes,u as setAttr,t as setClass,s as setClassName,N as setClassValue,L as setDelegatedEvent,Q as setDomValue,v as setProp,T as setProps,a as setScheduler,w as setStyle,O as setStyleValue,r as setText,k as undirty,e as unregister,d as unregisterSubtree};
1
+ import{A as z,B as A,C as B,D as C,E as D,F as E,G as F,H as G,I as H,J as I,K as J,L as K,M as L,N as M,O as N,P as O,Q as P,R as Q,S as R,T as S,U as T,a,b,c,d,e,f,g,h,i,j,k,l,m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u,w as v,x as w,y as x,z as y}from"./chunks/chunk-URM32S7R.js";export{M as classValue,n as cleanup,F as clearEventLog,m as commit,G as commitWrites,H as commitWritesWithPayload,x as computedChanged,R as createCondRegion,J as createListRegion,g as getEntity,E as getEventLog,B as getRootId,I as handle,f as has,y as installAccessTable,A as isOpaque,j as markDirty,l as markDirtySubtree,o as mountRef,P as patchDomProps,c as register,q as registerConditionalEffect,p as registerEffect,S as registerProps,i as registeredIds,h as renderDescendants,z as resetAccessTable,b as resetScheduler,C as resolveStaticWrites,D as resolveWrites,K as rootNodes,u as setAttr,t as setClass,s as setClassName,N as setClassValue,L as setDelegatedEvent,Q as setDomValue,v as setProp,T as setProps,a as setScheduler,w as setStyle,O as setStyleValue,r as setText,k as undirty,e as unregister,d as unregisterSubtree};
package/dist/list.d.ts CHANGED
@@ -56,6 +56,8 @@ export interface ListEntry {
56
56
  export type KeyFn<T> = (item: T, index: number) => unknown;
57
57
  export interface ListRegion<T> {
58
58
  reconcile(items: readonly T[]): void;
59
+ /** Re-sync one retained row through the region's O(1) key cache. */
60
+ refreshKey(key: unknown): void;
59
61
  size(): number;
60
62
  /** Remove retained nodes and unregister every entity owned by the region. */
61
63
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../src/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAyC,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEhF,MAAM,WAAW,SAAS;IACxB,4EAA4E;IAC5E,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,kEAAkE;IAClE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAK3D,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC;IACrC,IAAI,IAAI,MAAM,CAAC;IACf,6EAA6E;IAC7E,OAAO,IAAI,IAAI,CAAC;CACjB;AAiDD,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,EAC9D,GAAG,GAAE,KAAK,CAAC,CAAC,CAAe,GAC1B,UAAU,CAAC,CAAC,CAAC,CA4Nf"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../src/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAyC,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEhF,MAAM,WAAW,SAAS;IACxB,4EAA4E;IAC5E,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,kEAAkE;IAClE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAK3D,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC;IACrC,oEAAoE;IACpE,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,IAAI,IAAI,MAAM,CAAC;IACf,6EAA6E;IAC7E,OAAO,IAAI,IAAI,CAAC;CACjB;AAiDD,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,EAC9D,GAAG,GAAE,KAAK,CAAC,CAAC,CAAe,GAC1B,UAAU,CAAC,CAAC,CAAC,CA0Of"}
package/dist/testing.js CHANGED
@@ -1 +1 @@
1
- import{A as z,B as A,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V as r,a as p,b as e,c as t,d as x,e as f,f as m,g as n,h as s,i as _,j as a,k as i,l,m as B,n as o,o as b,p as c,q as d,r as g,s as h,t as j,u as k,v as q,w as u,x as v,y as w,z as y}from"./chunks/chunk-TPQC547Y.js";export{o as _internals,r as _propsBox,N as classValue,b as cleanup,G as clearEventLog,B as commit,H as commitWrites,I as commitWritesWithPayload,w as computedChanged,S as createCondRegion,K as createListRegion,n as getEntity,F as getEventLog,C as getRootId,J as handle,m as has,y as installAccessTable,A as isOpaque,a as markDirty,l as markDirtySubtree,c as mountRef,Q as patchDomProps,t as register,g as registerConditionalEffect,d as registerEffect,T as registerProps,_ as registeredIds,s as renderDescendants,z as resetAccessTable,e as resetScheduler,D as resolveStaticWrites,E as resolveWrites,L as rootNodes,q as setAttr,k as setClass,j as setClassName,O as setClassValue,M as setDelegatedEvent,R as setDomValue,u as setProp,U as setProps,p as setScheduler,v as setStyle,P as setStyleValue,h as setText,i as undirty,f as unregister,x as unregisterSubtree};
1
+ import{A as z,B as A,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V as r,a as p,b as e,c as t,d as x,e as f,f as m,g as n,h as s,i as _,j as a,k as i,l,m as B,n as o,o as b,p as c,q as d,r as g,s as h,t as j,u as k,v as q,w as u,x as v,y as w,z as y}from"./chunks/chunk-URM32S7R.js";export{o as _internals,r as _propsBox,N as classValue,b as cleanup,G as clearEventLog,B as commit,H as commitWrites,I as commitWritesWithPayload,w as computedChanged,S as createCondRegion,K as createListRegion,n as getEntity,F as getEventLog,C as getRootId,J as handle,m as has,y as installAccessTable,A as isOpaque,a as markDirty,l as markDirtySubtree,c as mountRef,Q as patchDomProps,t as register,g as registerConditionalEffect,d as registerEffect,T as registerProps,_ as registeredIds,s as renderDescendants,z as resetAccessTable,e as resetScheduler,D as resolveStaticWrites,E as resolveWrites,L as rootNodes,q as setAttr,k as setClass,j as setClassName,O as setClassValue,M as setDelegatedEvent,R as setDomValue,u as setProp,U as setProps,p as setScheduler,v as setStyle,P as setStyleValue,h as setText,i as undirty,f as unregister,x as unregisterSubtree};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memoized-dom/runtime",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Dependency-free runtime for compiler-analyzed memoized DOM updates",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -1 +0,0 @@
1
- var b=new Map;function xe(e,t,n){if(n===void 0||Array.isArray(n)&&n.length===0){b.size!==0&&b.delete(e);return}if(!t){typeof n=="number"?b.set(e,n):n.length===1?b.set(e,n[0]):b.set(e,new Set(n));return}let r=b.get(e);if(r===void 0)return;let o=typeof n=="number"?[n]:n;if(typeof r=="number"){o.some(i=>i!==r)&&b.set(e,new Set([r,...o]));return}for(let i of o)r.add(i)}function ke(e){if(b.size===0)return null;let t=b.get(e)??null;return b.delete(e),t}function O(e){b.size!==0&&b.delete(e)}var m=new Map,x=new Set,ve=typeof requestAnimationFrame=="function"?e=>requestAnimationFrame(e):e=>setTimeout(e,0),te=ve;function Xe(e){te=e}function Qe(){te=ve}function Ye(e){let t=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===47&&t++;return t}var z=null,Re=0;var Ie=[],Y=[];function Se(e){Y.includes(e)||Y.push(e)}function F(e){Ie.push(e)}function Te(e,t){for(let n of Ie)n(e,t)}function H(e){let t=e.parent!==null?m.get(e.parent):void 0;e.depth=e.depth??(t&&t.depth!==void 0?t.depth+1:Ye(e.id)),m.set(e.id,e),t&&(t.children??=new Set).add(e.id),z=null,Re++,Te(e.id,"add")}function v(e){let t=m.get(e);if(!t)return;t.parent!==null&&m.get(t.parent)?.children?.delete(e);let n=[e],r=[],o=[];for(;n.length>0;){let i=n.pop(),s=m.get(i);if(s&&(r.push(i),s.children))for(let d of s.children)n.push(d)}r.reverse();for(let i of r)m.delete(i),x.delete(i),O(i),Te(i,"remove");for(let i of r)for(let s of Y){let d=s(i);d!==void 0&&o.push(...d)}if(z=null,Re++,o.length===1)throw o[0];if(o.length>1)throw new AggregateError(o,`[memo-dom] ${o.length} cleanup disposers failed while unregistering '${e}'`)}function et(e){v(e)}function W(e){return m.has(e)}function ne(e){return m.get(e)}function tt(e){let t=o=>{if(o.children!==void 0)for(let i of o.children){let s=m.get(i);s!==void 0&&(s.phase!=="effect"&&(s.render(),M(i)),t(s))}},n=o=>{if(o.children!==void 0)for(let i of o.children){let s=m.get(i);s!==void 0&&(s.phase==="effect"&&(s.render(),M(i)),n(s))}},r=m.get(e);r!==void 0&&(t(r),n(r))}function re(){return z??=[...m.keys()],z}function I(e,t){if(!m.has(e))return;let n=x.has(e);(t!==void 0||n)&&xe(e,n,t),x.add(e),Ce()}function M(e){x.size!==0&&x.delete(e)&&O(e)}function C(e){let t=e+"/",n=!1;for(let r of m.keys())(r===e||r.startsWith(t))&&(x.add(r),O(r),n=!0);n&&Ce()}var ee=!1,j=!1;function Ce(){ee||j||(ee=!0,te(De))}function De(){if(ee=!1,!j){j=!0;try{for(let e=0;e<100&&x.size>0;e++){let t=[];for(let o of x){let i=m.get(o);i?t.push(i):(x.delete(o),O(o))}let r=t.some(o=>o.phase!=="effect")?t.filter(o=>o.phase!=="effect"):t;r.sort((o,i)=>(o.depth??0)-(i.depth??0));for(let o of r)x.delete(o.id)&&o.render(ke(o.id))}if(x.size>0)throw new Error("[memo-dom] commit cascade exceeded 100 passes \u2014 an update is dirtying its own readers (cycle)")}finally{j=!1}}}function Gt(){return{registry:m,dirtySet:x}}var _=new Map,oe=new Set,Le=!1;function nt(){Le||(Le=!0,Se(rt))}function B(e,t){if(typeof t!="function")throw new TypeError("[memo-dom] cleanup(disposer) requires a function");if(oe.has(e))throw new Error(`[memo-dom] cannot register cleanup while '${e}' is being unregistered`);nt();let n=_.get(e);return n===void 0&&(n=[],_.set(e,n)),n.push(t),t}function rt(e){let t=_.get(e);if(t===void 0)return[];_.delete(e),oe.add(e);let n=[];try{for(let r=t.length-1;r>=0;r--)try{t[r]()}catch(o){n.push(o)}}finally{oe.delete(e)}return n}function ot(e,t){let n=[],r=!0;try{Ae(e,t,n)}catch(o){let i=Me(n);throw i.length>0?new AggregateError([o,...i],"[memo-dom] ref setup and rollback failed"):o}return()=>{if(!r)return;r=!1;let o=Me(n);if(o.length===1)throw o[0];if(o.length>1)throw new AggregateError(o,"[memo-dom] multiple ref cleanups failed")}}function Ae(e,t,n){if(t==null||t===!1)return;if(Array.isArray(t)){for(let o of t)Ae(e,o,n);return}if(typeof t!="function")throw new TypeError("[memo-dom] ref value must be a callback, an assignable JSX target, or an array of refs");let r=t(e);if(r!=null){if(typeof r!="function")throw new TypeError("[memo-dom] ref callback must return a cleanup function or nothing");n.push(r)}}function Me(e){let t=[];for(let n=e.length-1;n>=0;n--)try{e[n]()}catch(r){t.push(r)}return e.length=0,t}function Ne(e,t,n){let r;W(e)&&v(e),H({id:e,parent:t,phase:"effect",render(){let o=r;r=void 0,o?.();let i=n();if(i!==void 0&&typeof i!="function")throw new TypeError(`[memo-dom] effect '${e}' must return a cleanup function or undefined`);r=typeof i=="function"?i:void 0}}),B(e,()=>{let o=r;r=void 0,o?.()}),I(e)}function it(e,t,n,r){let o=`${e}/$active`,i=!1;W(e)&&v(e),H({id:e,parent:t,phase:"effect",render(){let s=!!n();s!==i&&(i=s,i?Ne(o,e,r):v(o))}}),B(e,()=>{i=!1,W(o)&&v(o)}),I(e)}function st(e,t,n,r){e[t]!==r&&(e[t]=r,n.data=r==null||typeof r=="boolean"?"":String(r))}function dt(e,t,n,r){e[t]!==r&&(e[t]=r,n.className=r)}function ct(e,t,n,r,o){e[t]!==o&&(e[t]=o,n.classList.toggle(r,o))}function lt(e,t,n,r,o){e[t]!==o&&(e[t]=o,o==null||o===!1?n.removeAttribute(r):o===!0?n.setAttribute(r,""):n.setAttribute(r,String(o)))}function ft(e,t,n,r,o){e[t]!==o&&(e[t]=o,n[r]=o)}function at(e,t,n,r,o){e[t]!==o&&(e[t]=o,o==null?n.style.removeProperty(r):n.style.setProperty(r,o))}function ut(e,t){if(Array.isArray(e)&&Array.isArray(t)){if(e===t||e.length!==t.length)return!0;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n])||ie(e[n]))return!0;return!1}return ie(e)||ie(t)?!0:!Object.is(e,t)}function ie(e){return typeof e=="object"&&e!==null||typeof e=="function"}var se="",A=new Map,D=new Map,K=new Map,de=new Set,ce=[],N=new Map,$=0,q=new Map,U=new Map;function pt(){N=new Map;let e=re();for(let[t,n]of D){let r=new Set;for(let o of n)for(let i of e)o.test(i)&&r.add(i);N.set(t,r)}}F((e,t)=>{if(D.size===0)return;let n=!1;if(t==="add")for(let[r,o]of D){let i=N.get(r);if(i){for(let s of o)if(s.test(e)){i.add(e),n=!0;break}}}else for(let r of N.values())r.delete(e)&&(n=!0);n&&$++});function yt(e){if(!e.includes("*"))return null;let t=e.split("*").map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*");return new RegExp(`^${t}$`)}function gt(e,t){se=t;let n=new Set;for(let[r,o]of Object.entries(e.readers))for(let i of o){let s=`${r}${i}`;if(n.has(s))continue;n.add(s);let d=yt(i);if(d===null){let c=A.get(r)??[];c.includes(i)||c.push(i),A.set(r,c)}else{let c=D.get(r)??[];c.some(a=>a.source===d.source)||c.push(d),D.set(r,c)}}for(let[r,o]of Object.entries(e.params??{})){let i=K.get(r)??[];for(let s of o)i.includes(s.pattern)||i.push(s.pattern);K.set(r,i)}for(let r of e.opaque??[])de.add(r);ce=[...new Set([...A.keys(),...D.keys()])],q.clear(),U.clear(),pt(),$++}function ht(){se="",A=new Map,D=new Map,K=new Map,de=new Set,ce=[],N=new Map,q.clear(),U.clear(),$++}function le(e){return de.has(e)}function G(){return se}function fe(e){return e.some(le)?"root-subtree":Pe(e)}function ae(e,t,n){if(e.some(le))return"root-subtree";if(n){let r=new Set,o=!0;for(let i of e){let s=K.get(i);if(s===void 0||s.length===0){o=!1;break}for(let d of s){let c=!1,a=d.replace(/\{([^}]+)\}/g,(h,u)=>{let S=u.trim();if(!S.startsWith("payload."))return c=!0,"";let w=n;for(let T of S.slice(8).split(".")){if(w===null||typeof w!="object")return c=!0,"";w=w[T]}return w==null?(c=!0,""):String(w)});if(c){o=!1;break}r.add(a)}if(!o)break;for(let d of A.get(i)??[])r.add(d)}if(o&&r.size>0)return[...r]}return Pe(e)}function Pe(e){let t=e.length===1?e[0]:e.join(" "),n=U.get(t);if(n!==void 0&&n.v===$)return n.result;let r=new Set,o=new Set;for(let s of e){let d=q.get(s);if(d===void 0){d=[];for(let c of ce)(c===s||c.startsWith(`${s}.`)||s.startsWith(`${c}.`))&&d.push(c);q.set(s,d)}for(let c of d)o.add(c)}for(let s of o){for(let d of A.get(s)??[])r.add(d);for(let d of N.get(s)??[])r.add(d)}let i=[...r];return U.set(t,{v:$,result:i}),i}var mt=1e3,V=[];function Et(){return V}function wt(){V.length=0}function Oe(e){let t=fe(e);if(t==="root-subtree"){C(G());return}for(let n of t)I(n)}function bt(e,t){let n=ae(e,[],t);if(n==="root-subtree"){C(G());return}for(let r of n)I(r)}function xt(e,t,n){return r=>{n(r),V.push({origin:e,writes:t,at:Date.now()}),V.length>mt&&V.shift(),Oe(t)}}var kt=e=>e,vt=[],Rt=[],It=[];function St(e){let t=e.length,n=vt,r=Rt,o=It;n.length=t,o.length=t,r.length=0;for(let s=0;s<t;s++)n[s]=!1,o[s]=-1;for(let s=0;s<t;s++){let d=e[s];if(d<0)continue;let c=0,a=r.length;for(;c<a;){let h=c+a>>1;e[r[h]]<d?c=h+1:a=h}r[c]=s,c>0&&(o[s]=r[c-1])}let i=r.length>0?r[r.length-1]:-1;for(;i>=0;)n[i]=!0,i=o[i];return n}function Tt(e,t,n,r=kt){let o=document.createComment(`list:${t}`);e.appendChild(o);let i=new Map,s=new Map,d=0,c=[],a=[],h=[],u=new Map,S=[],w=[],T=[];function ye(p,y,g,L){if(p.updateProps?.(y,L),p.update!==void 0)p.update(),M(g);else{let R=ne(g);R&&(R.render(),M(g))}}function Ke(p){let y=typeof p;if(y==="string"||y==="number"||y==="boolean"||y==="bigint")return`${t}/Row[${String(p)}]`;let g=s.get(p);return g===void 0&&(g=`#${++d}`,s.set(p,g)),`${t}/Row[${g}]`}function qe(p){if(p.length===c.length){let l=!0;for(let f=0;f<p.length;f++)if(p[f]!==c[f]){l=!1;break}if(l){for(let f=0;f<p.length;f++)ye(a[f],p[f],h[f],f);return}}let y=i;u.clear();let g=u,L=w,R=S,Q=p.length;L.length=Q,R.length=Q,T.length=Q;let ge=!1,he=!0,me=-1;for(let l=0;l<p.length;l++){let f=p[l],E=r(f,l);if(g.has(E))throw new Error(`[memo-dom] duplicate list key: ${String(E)}`);let k=y.get(E);if(k!==void 0)y.delete(E),T[l]=k.pos,k.pos<=me?he=!1:me=k.pos,k.pos=l,ye(k.e,f,k.id,l);else{let be=Ke(E);k={e:n(f,be,l),id:be,pos:l},T[l]=-1,ge=!0}g.set(E,k),R[l]=k.e,L[l]=k.id}if(!ge&&y.size===0&&he){i=g,u=y;let l=a;a=R,S=l;let f=h;h=L,w=f,c=p.slice();return}for(let[l,f]of y){f.e.dispose?.();for(let E of f.e.nodes)E.parentNode?.removeChild(E);for(let E of f.e.entities)v(E);s.delete(l)}y.clear();let Ge=St(T),Ee=o,P=null,we=()=>{if(P===null)return;let l=document.createDocumentFragment();for(let f=P.length-1;f>=0;f--)for(let E of P[f].nodes)l.appendChild(E);e.insertBefore(l,Ee),P=null};for(let l=R.length-1;l>=0;l--){let f=R[l];T[l]===-1||!Ge[l]?(P??=[]).push(f):(we(),Ee=f.nodes[0])}we(),i=g,u=y;let Ze=a;a=R,S=Ze;let Je=h;h=L,w=Je,c=p.slice()}function Ue(){for(let[p,y]of i){y.e.dispose?.();for(let g of y.e.nodes)g.parentNode?.removeChild(g);for(let g of y.e.entities)v(g);s.delete(p)}i.clear(),u.clear(),c=[],a.length=0,h.length=0,S.length=0,w.length=0,o.parentNode?.removeChild(o)}return{reconcile:qe,size:()=>i.size,dispose:Ue}}function Ct(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(e.childNodes):[e]}var We=new Map;function Dt(e,t,n,r){let o=Mt(n),i=We.get(o);i===void 0&&(i={captureRoots:new WeakSet,handler:Symbol(`memo-dom:${o}:handler`),root:Symbol(`memo-dom:${o}:root`),bubbleRoots:new WeakSet},We.set(o,i));let s=t;s[i.handler]=r,s[i.root]=e,i.bubbleRoots.has(e)||(i.bubbleRoots.add(e),e.addEventListener(o,d=>{d.bubbles&&$e(e,i,d)})),i.captureRoots.has(e)||(i.captureRoots.add(e),e.addEventListener(o,d=>{d.bubbles||$e(e,i,d)},!0))}function $e(e,t,n){let r=typeof n.composedPath=="function"?n.composedPath():Lt(n.target,e);for(let o of r){let i=o;if(i[t.root]===e){let s=i[t.handler];s!==void 0&&s.call(o,n)===!1&&n.preventDefault()}if(o===e||n.cancelBubble)break}}function Lt(e,t){let n=[],r=e;for(;r!==null&&(n.push(r),r!==t);)r="parentNode"in r?r.parentNode:null;return n}function Mt(e){let t=e.startsWith("on")?e.slice(2).toLowerCase():e.toLowerCase();return t==="doubleclick"?"dblclick":t}var Z=new WeakMap,At=new Set(["animation-iteration-count","border-image-outset","border-image-slice","border-image-width","column-count","flex","flex-grow","flex-shrink","font-weight","grid-column","grid-row","line-height","opacity","order","orphans","scale","tab-size","widows","z-index","zoom"]);function J(e){let t=[];return Ve(e,t),t.join(" ")}function ue(e,t){let n=J(t);e.namespaceURI==="http://www.w3.org/2000/svg"?n===""?e.removeAttribute("class"):e.setAttribute("class",n):e.className=n}function pe(e,t){let n=e.style;if(n===void 0)return;if(typeof t=="string"){let i=Z.get(e);if(i?.size===1&&i.get("$cssText")===t)return;n.cssText=t,Z.set(e,new Map([["$cssText",t]]));return}let r=new Map;if(t!==null&&typeof t=="object")for(let[i,s]of Object.entries(t)){if(s==null)continue;let d=Nt(i);r.set(d,Pt(d,s))}let o=Z.get(e)??new Map;o.has("$cssText")&&(n.cssText="");for(let i of o.keys())i!=="$cssText"&&!r.has(i)&&n.removeProperty(i);for(let[i,s]of r)o.get(i)!==s&&n.setProperty(i,s);Z.set(e,r)}function Ve(e,t){if(e==null||e===!1||e===!0)return;if(Array.isArray(e)){for(let r of e)Ve(r,t);return}if(typeof e=="object"){for(let[r,o]of Object.entries(e))o&&t.push(r);return}let n=String(e).trim();n!==""&&t.push(n)}function Nt(e){return e.startsWith("--")||e.includes("-")?e:e.replace(/^ms([A-Z])/,"ms-$1").replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function Pt(e,t){return typeof t=="number"&&t!==0&&!e.startsWith("--")&&!At.has(e)?`${t}px`:String(t)}var je=new WeakMap,ze=new WeakMap,Ot=new Set(["innerHTML","checked","value","selected","disabled","hidden","multiple","required","readOnly","muted","open","controls","loop","autoFocus","autoPlay","tabIndex"]),Fe={className:"class",htmlFor:"for",readOnly:"readonly",autoFocus:"autofocus",autoPlay:"autoplay",tabIndex:"tabindex",crossOrigin:"crossorigin"},Wt={className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",dominantBaseline:"dominant-baseline",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",stopColor:"stop-color",stopOpacity:"stop-opacity",strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",textAnchor:"text-anchor",vectorEffect:"vector-effect",xlinkHref:"xlink:href"},$t={doubleclick:"dblclick"};function Vt(e,t,n,r=[]){let o=t!==null&&typeof t=="object"?t:{},i=je.get(e)??new Map,s=new Set(r);for(let c of i.keys())Object.prototype.hasOwnProperty.call(o,c)||He(e,c,null,i,n,s);for(let[c,a]of Object.entries(o))He(e,c,a,i,n,s);let d=new Map;for(let[c,a]of Object.entries(o))d.set(c,Be(c,a));je.set(e,d)}function _e(e,t,n){if(t==="class"||t==="className"){ue(e,n);return}if(t==="style"){pe(e,n);return}Ft(e,t,n)}function He(e,t,n,r,o,i){if(t==="key"||t==="children"||t==="ref")return;if(/^on[A-Z]/.test(t)){jt(e,t,typeof n=="function"?n:null,o,i.has(t));return}let s=Be(t,n);Object.is(r.get(t),s)||_e(e,t,n)}function Be(e,t){return e==="class"||e==="className"?J(t):e==="style"?Symbol("style-snapshot"):t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:String(t)}function jt(e,t,n,r,o){let i=ze.get(e);i===void 0&&(i=new Map,ze.set(e,i));let s=i.get(t);if(s?.source===n||(s!==void 0&&(e.removeEventListener(s.type,s.listener),i.delete(t)),n===null))return;let d=zt(t),c=o?n:function(h){let u=n.call(this,h);return C(r),u!==null&&typeof u=="object"&&"then"in u&&typeof u.then=="function"&&u.then(()=>{C(r)}),u};e.addEventListener(d,c),i.set(t,{source:n,listener:c,type:d})}function zt(e){let t=e.slice(2).toLowerCase();return $t[t]??t}function Ft(e,t,n){let r=e.namespaceURI!=="http://www.w3.org/2000/svg";if(r&&Ot.has(t)){if(t==="tabIndex"&&n==null){e.removeAttribute("tabindex");return}e[t]=n??Ht(t);return}let o=r?Fe[t]??t:Wt[t]??Fe[t]??t;n==null||n===!1?e.removeAttribute(o):n===!0?e.setAttribute(o,""):!r&&t==="xlinkHref"?e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",String(n)):e.setAttribute(o,String(n))}function Ht(e){return e==="value"||e==="innerHTML"?"":!1}function _t(e,t,n,r){let o=document.createComment(`when:${t}`);e.appendChild(o);let i=-1,s=null;function d(){let a=n();if(a===i){s?.update();return}if(s!==null){s.dispose?.();for(let u of s.nodes)u.parentNode?.removeChild(u);s=null}let h=r[a]??null;if(h!==null){s=h();for(let u=s.nodes.length-1;u>=0;u--)o.parentNode.insertBefore(s.nodes[u],o)}i=a}function c(){if(s!==null){s.dispose?.();for(let a of s.nodes)a.parentNode?.removeChild(a);s=null}o.parentNode?.removeChild(o),i=-1}return d(),{update:d,index:()=>i,dispose:c}}var X=new Map;function Bt(e,t){X.set(e,t)}function Kt(e,t){let n=X.get(e);if(n===void 0)return;let r=n.length!==t.length;if(!r){for(let o=0;o<t.length;o++)if(!Object.is(n[o],t[o])){r=!0;break}}if(r){n.length=t.length;for(let o=0;o<t.length;o++)n[o]=t[o];I(e)}}function wn(e){return X.get(e)}F((e,t)=>{t==="remove"&&X.delete(e)});export{Xe as a,Qe as b,H as c,v as d,et as e,W as f,ne as g,tt as h,re as i,I as j,M as k,C as l,De as m,Gt as n,B as o,ot as p,Ne as q,it as r,st as s,dt as t,ct as u,lt as v,ft as w,at as x,ut as y,gt as z,ht as A,le as B,G as C,fe as D,ae as E,Et as F,wt as G,Oe as H,bt as I,xt as J,Tt as K,Ct as L,Dt as M,J as N,ue as O,pe as P,Vt as Q,_e as R,_t as S,Bt as T,Kt as U,wn as V};