@memoized-dom/runtime 0.0.5 → 0.0.6
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/README.md +15 -2
- package/dist/access.d.ts +3 -7
- package/dist/access.d.ts.map +1 -1
- package/dist/chunks/chunk-S23GGVHN.js +1 -0
- package/dist/hot.d.ts +14 -0
- package/dist/hot.d.ts.map +1 -0
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/kernel.d.ts +3 -0
- package/dist/kernel.d.ts.map +1 -1
- package/dist/mount.d.ts +24 -0
- package/dist/mount.d.ts.map +1 -0
- package/dist/setters.d.ts +2 -0
- package/dist/setters.d.ts.map +1 -1
- package/dist/testing.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-BRFV3POR.js +0 -1
package/README.md
CHANGED
|
@@ -4,13 +4,26 @@ Dependency-free registry, scheduling, optional dirty-reason batching, access
|
|
|
4
4
|
routing, keyed regions, props boxes, cleanup/ref ownership, and DOM value helpers
|
|
5
5
|
for memoized-dom compiler output.
|
|
6
6
|
|
|
7
|
-
Application source does not need to import reactive primitives.
|
|
8
|
-
|
|
7
|
+
Application source does not need to import reactive primitives. The ordinary
|
|
8
|
+
browser entry imports only the mounting boundary:
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
import { mount } from '@memoized-dom/runtime';
|
|
12
|
+
import { App } from './App';
|
|
13
|
+
|
|
14
|
+
mount('root', App);
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Generated modules import this package as one namespace:
|
|
9
18
|
|
|
10
19
|
```js
|
|
11
20
|
import * as MD from '@memoized-dom/runtime';
|
|
12
21
|
```
|
|
13
22
|
|
|
23
|
+
`mount()` resolves string targets with `document.getElementById()`, owns only
|
|
24
|
+
the nodes produced by the compiled root, returns an idempotent `unmount()`
|
|
25
|
+
handle, and keeps the compiler's private factory ABI out of authored code.
|
|
26
|
+
|
|
14
27
|
The package is independently buildable:
|
|
15
28
|
|
|
16
29
|
```bash
|
package/dist/access.d.ts
CHANGED
|
@@ -28,13 +28,9 @@ export interface AccessTable {
|
|
|
28
28
|
pattern: string;
|
|
29
29
|
}[]>;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
* of them must stay live — a write in module A can target a component
|
|
35
|
-
* declared in module B. Re-installing the same fragment is idempotent.
|
|
36
|
-
*/
|
|
37
|
-
export declare function installAccessTable(table: AccessTable, root: EntityId): void;
|
|
31
|
+
export declare function installAccessTable(table: AccessTable, root: EntityId, owner?: string): void;
|
|
32
|
+
/** Remove one compiler module's analysis fragment during hot replacement. */
|
|
33
|
+
export declare function uninstallAccessTable(owner: string): void;
|
|
38
34
|
/** Clear every installed fragment — test isolation, not app code. */
|
|
39
35
|
export declare function resetAccessTable(): void;
|
|
40
36
|
export declare function isOpaque(variable: string): boolean;
|
package/dist/access.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAmC,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CACzD;
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAmC,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CACzD;AAiID,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,QAAQ,EACd,KAAK,SAAsC,GAC1C,IAAI,CAGN;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGxD;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,SAAS,IAAI,QAAQ,CAEpC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,QAAQ,EAAE,GAAG,cAAc,CAG7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,QAAQ,EAAE,GAAG,cAAc,CAuD7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var T=new Map;function We(e,t,n){if(n===void 0||Array.isArray(n)&&n.length===0){T.size!==0&&T.delete(e);return}if(!t){typeof n=="number"?T.set(e,n):n.length===1?T.set(e,n[0]):T.set(e,new Set(n));return}let o=T.get(e);if(o===void 0)return;let r=typeof n=="number"?[n]:n;if(typeof o=="number"){r.some(i=>i!==o)&&T.set(e,new Set([o,...r]));return}for(let i of r)o.add(i)}function $e(e){if(T.size===0)return null;let t=T.get(e)??null;return T.delete(e),t}function j(e){T.size!==0&&T.delete(e)}var v=new Map,S=new Set,P=new Set,ye=!1,vt=-1;function ze(){ye||P.size===0||typeof globalThis.requestAnimationFrame!="function"||(ye=!0,globalThis.requestAnimationFrame(()=>{if(ye=!1,!(typeof globalThis.document<"u"&&globalThis.document.hidden))for(let t of P)N(t,vt);ze()}))}var Be=typeof queueMicrotask=="function"?queueMicrotask:e=>Promise.resolve().then(e),he=Be;function kt(e){he=e}function Ct(){he=Be}function Rt(e){let t=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===47&&t++;return t}var Y=null,Ve=0;var je=[],ge=[];function ee(e){ge.includes(e)||ge.push(e)}function te(e){je.push(e)}function Ke(e,t){for(let n of je)n(e,t)}function ne(e){let t=e.parent!==null?v.get(e.parent):void 0;e.depth=e.depth??(t&&t.depth!==void 0?t.depth+1:Rt(e.id)),v.set(e.id,e),e.volatile===!0?P.add(e.id):P.delete(e.id),t&&(t.children??=new Set).add(e.id),Y=null,Ve++,Ke(e.id,"add"),ze()}function x(e){let t=v.get(e);if(!t)return;t.parent!==null&&v.get(t.parent)?.children?.delete(e);let n=[e],o=[],r=[];for(;n.length>0;){let i=n.pop(),s=v.get(i);if(s&&(o.push(i),s.children))for(let d of s.children)n.push(d)}o.reverse();for(let i of o)v.delete(i),S.delete(i),P.delete(i),j(i),Ke(i,"remove");for(let i of o)for(let s of ge){let d=s(i);d!==void 0&&r.push(...d)}if(Y=null,Ve++,r.length===1)throw r[0];if(r.length>1)throw new AggregateError(r,`[memo-dom] ${r.length} cleanup disposers failed while unregistering '${e}'`)}function It(e){x(e)}function K(e){return v.has(e)}function Ee(e){return v.get(e)}function Tt(e){let t=r=>{if(r.children!==void 0)for(let i of r.children){let s=v.get(i);s!==void 0&&(s.phase!=="effect"&&(s.render(),O(i)),t(s))}},n=r=>{if(r.children!==void 0)for(let i of r.children){let s=v.get(i);s!==void 0&&(s.phase==="effect"&&(s.render(),O(i)),n(s))}},o=v.get(e);o!==void 0&&(t(o),n(o))}function _(){return Y??=[...v.keys()],Y}function N(e,t){if(!v.has(e))return;let n=S.has(e);(t!==void 0||n)&&We(e,n,t),S.add(e),_e()}function O(e){S.size!==0&&S.delete(e)&&j(e)}function L(e){let t=e+"/",n=!1;for(let o of v.keys())(o===e||o.startsWith(t))&&(S.add(o),j(o),n=!0);n&&_e()}var me=!1,Q=!1;function _e(){me||Q||(me=!0,he(Ue))}function Ue(){if(me=!1,!Q){Q=!0;try{for(let e=0;e<100&&S.size>0;e++){let t=[];for(let r of S){let i=v.get(r);i?t.push(i):(S.delete(r),j(r))}let o=t.some(r=>r.phase!=="effect")?t.filter(r=>r.phase!=="effect"):t;o.sort((r,i)=>(r.depth??0)-(i.depth??0));for(let r of o)S.delete(r.id)&&r.render($e(r.id))}if(S.size>0)throw new Error("[memo-dom] commit cascade exceeded 100 passes \u2014 an update is dirtying its own readers (cycle)")}finally{Q=!1}}}function Ln(){return{registry:v,dirtySet:S,volatileSet:P}}var oe=new Map,we=new Set,qe=!1;function St(){qe||(qe=!0,ee(At))}function re(e,t){if(typeof t!="function")throw new TypeError("[memo-dom] cleanup(disposer) requires a function");if(we.has(e))throw new Error(`[memo-dom] cannot register cleanup while '${e}' is being unregistered`);St();let n=oe.get(e);return n===void 0&&(n=[],oe.set(e,n)),n.push(t),t}function At(e){let t=oe.get(e);if(t===void 0)return[];oe.delete(e),we.add(e);let n=[];try{for(let o=t.length-1;o>=0;o--)try{t[o]()}catch(r){n.push(r)}}finally{we.delete(e)}return n}function Dt(e,t){let n=[],o=!0;try{Je(e,t,n)}catch(r){let i=Ge(n);throw i.length>0?new AggregateError([r,...i],"[memo-dom] ref setup and rollback failed"):r}return()=>{if(!o)return;o=!1;let r=Ge(n);if(r.length===1)throw r[0];if(r.length>1)throw new AggregateError(r,"[memo-dom] multiple ref cleanups failed")}}function Je(e,t,n){if(t==null||t===!1)return;if(Array.isArray(t)){for(let r of t)Je(e,r,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 o=t(e);if(o!=null){if(typeof o!="function")throw new TypeError("[memo-dom] ref callback must return a cleanup function or nothing");n.push(o)}}function Ge(e){let t=[];for(let n=e.length-1;n>=0;n--)try{e[n]()}catch(o){t.push(o)}return e.length=0,t}function Ze(e,t,n){let o;K(e)&&x(e),ne({id:e,parent:t,phase:"effect",render(){let r=o;o=void 0,r?.();let i=n();if(i!==void 0&&typeof i!="function")throw new TypeError(`[memo-dom] effect '${e}' must return a cleanup function or undefined`);o=typeof i=="function"?i:void 0}}),re(e,()=>{let r=o;o=void 0,r?.()}),N(e)}function Nt(e,t,n,o){let r=`${e}/$active`,i=!1;K(e)&&x(e),ne({id:e,parent:t,phase:"effect",render(){let s=!!n();s!==i&&(i=s,i?Ze(r,e,o):x(r))}}),re(e,()=>{i=!1,K(r)&&x(r)}),N(e)}function Mt(e,t,n,o){e[t]!==o&&(e[t]=o,n.data=o==null||typeof o=="boolean"?"":String(o))}function Lt(e,t,n,o){e[t]!==o&&(e[t]=o,n.className=o)}function Ht(e,t,n,o,r){e[t]!==r&&(e[t]=r,n.classList.toggle(o,r))}function Ft(e,t,n,o,r){e[t]!==r&&(e[t]=r,r==null||r===!1?n.removeAttribute(o):r===!0?n.setAttribute(o,""):n.setAttribute(o,String(r)))}function Pt(e,t,n,o,r){e[t]!==r&&(e[t]=r,n[o]=r)}function Ot(e,t,n,o,r){e[t]!==r&&(e[t]=r,r==null?n.style.removeProperty(o):n.style.setProperty(o,r))}function Wt(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])||be(e[n]))return!0;return!1}return be(e)||be(t)?!0:!Object.is(e,t)}function $t(e,t){return!Object.is(e,t)}function be(e){return typeof e=="object"&&e!==null||typeof e=="function"}var xe="",W=new Map,H=new Map,ie=new Map,ve=new Set,de=new Map,Xe=[],U=new Map,se=0,ke=new Map,Ce=new Map;function zt(){U=new Map;let e=_();for(let[t,n]of H){let o=new Set;for(let r of n)for(let i of e)r.test(i)&&o.add(i);U.set(t,o)}}te((e,t)=>{if(H.size===0)return;let n=!1;if(t==="add")for(let[o,r]of H){let i=U.get(o);if(i){for(let s of r)if(s.test(e)){i.add(e),n=!0;break}}}else for(let o of U.values())o.delete(e)&&(n=!0);n&&se++});function Bt(e){if(!e.includes("*"))return null;let t=e.split("*").map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*");return new RegExp(`^${t}$`)}function Re(){xe="",W=new Map,H=new Map,ie=new Map,ve=new Set;for(let{table:e,root:t}of de.values()){xe=t;for(let[n,o]of Object.entries(e.readers))for(let r of o){let i=Bt(r);if(i===null){let s=W.get(n)??[];s.includes(r)||s.push(r),W.set(n,s)}else{let s=H.get(n)??[];s.some(d=>d.source===i.source)||s.push(i),H.set(n,s)}}for(let[n,o]of Object.entries(e.params??{})){let r=ie.get(n)??[];for(let i of o)r.includes(i.pattern)||r.push(i.pattern);ie.set(n,r)}for(let n of e.opaque??[])ve.add(n)}Xe=[...new Set([...W.keys(),...H.keys()])],ke.clear(),Ce.clear(),zt(),se++}function Vt(e,t,n=`${t}\0${JSON.stringify(e)}`){de.set(n,{table:e,root:t}),Re()}function Ie(e){de.delete(e)&&Re()}function jt(){de.clear(),Re()}function Te(e){return ve.has(e)}function le(){return xe}function Se(e){return e.some(Te)?"root-subtree":Qe(e)}function Ae(e,t,n){if(e.some(Te))return"root-subtree";if(n){let o=new Set,r=!0;for(let i of e){let s=ie.get(i);if(s===void 0||s.length===0){r=!1;break}for(let d of s){let l=!1,f=d.replace(/\{([^}]+)\}/g,(h,p)=>{let A=p.trim();if(!A.startsWith("payload."))return l=!0,"";let b=n;for(let k of A.slice(8).split(".")){if(b===null||typeof b!="object")return l=!0,"";b=b[k]}return b==null?(l=!0,""):String(b)});if(l){r=!1;break}o.add(f)}if(!r)break;for(let d of W.get(i)??[])o.add(d)}if(r&&o.size>0)return[...o]}return Qe(e)}function Qe(e){let t=e.length===1?e[0]:e.join(" "),n=Ce.get(t);if(n!==void 0&&n.v===se)return n.result;let o=new Set,r=new Set;for(let s of e){let d=ke.get(s);if(d===void 0){d=[];for(let l of Xe)(l===s||l.startsWith(`${s}.`)||s.startsWith(`${l}.`))&&d.push(l);ke.set(s,d)}for(let l of d)r.add(l)}for(let s of r){for(let d of W.get(s)??[])o.add(d);for(let d of U.get(s)??[])o.add(d)}let i=[...o];return Ce.set(t,{v:se,result:i}),i}var Kt=1e3,q=[];function _t(){return q}function Ut(){q.length=0}function Ye(e){let t=Se(e);if(t==="root-subtree"){L(le());return}for(let n of t)N(n)}function qt(e,t){let n=Ae(e,[],t);if(n==="root-subtree"){L(le());return}for(let o of n)N(o)}function Gt(e,t,n){return o=>{n(o),q.push({origin:e,writes:t,at:Date.now()}),q.length>Kt&&q.shift(),Ye(t)}}var Jt=e=>e,Zt=[],Xt=[],Qt=[];function Yt(e){let t=e.length,n=Zt,o=Xt,r=Qt;n.length=t,r.length=t,o.length=0;for(let s=0;s<t;s++)n[s]=!1,r[s]=-1;for(let s=0;s<t;s++){let d=e[s];if(d<0)continue;let l=0,f=o.length;for(;l<f;){let h=l+f>>1;e[o[h]]<d?l=h+1:f=h}o[l]=s,l>0&&(r[s]=o[l-1])}let i=o.length>0?o[o.length-1]:-1;for(;i>=0;)n[i]=!0,i=r[i];return n}function en(e,t,n,o=Jt,r=!0){let i=document.createComment(`list:${t}`);e.appendChild(i);let s=new Map,d=new Map,l=0,f=[],h=[],p=[],A=new Map,b=[],k=[],z=[];function pe(y,E,u,C){if(y.updateProps?.(E,C),y.update!==void 0)y.update(),u!==null&&O(u);else if(u!==null){let M=Ee(u);M&&(M.render(),O(u))}}function gt(y){let E=typeof y;if(E==="string"||E==="number"||E==="boolean"||E==="bigint")return`${t}/Row[${String(y)}]`;let u=d.get(y);return u===void 0&&(u=`#${++l}`,d.set(y,u)),`${t}/Row[${u}]`}function mt(y,E=!0){if(y.length===f.length){let a=!0;for(let c=0;c<y.length;c++)if(y[c]!==f[c]){a=!1;break}if(a){if(!E)return;for(let c=0;c<y.length;c++)pe(h[c],y[c],r?p[c]??null:null,c);return}}let u=s,C=u.size===0;A.clear();let M=A,F=k,R=b,B=y.length;F.length=r?B:0,R.length=B,z.length=C?0:B;let Z=!1,Le=0,He=!0,Fe=-1;for(let a=0;a<y.length;a++){let c=y[a],w=o(c,a);if(M.has(w))throw new Error(`[memo-dom] duplicate list key: ${String(w)}`);let m=C?void 0:u.get(w);if(m!==void 0){Le++,u.delete(w);let g=m.pos;z[a]=g,g<=Fe?He=!1:Fe=g,m.pos=a,(E||c!==f[g])&&pe(m.e,c,m.id,a)}else{let g=r?gt(w):t;m={e:n(c,g,a),id:r?g:null,pos:a},C||(z[a]=-1),Z=!0}M.set(w,m),R[a]=m.e,r&&(F[a]=m.id)}if(!C&&Le===0&&(B===0||Z)){for(let[,g]of u)g.e.dispose?.();let a=!1,c;for(let g of h){let I=g.nodes;if(c=Array.isArray(I)?I[0]:I,c!==void 0)break}if(c!==void 0&&c.parentNode===e&&i.parentNode===e&&typeof document.createRange=="function"){let g=document.createRange();g.setStartBefore(c),g.setEndBefore(i),g.deleteContents(),a=!0}for(let[g,I]of u){if(!a){let D=I.e.nodes;if(Array.isArray(D))for(let X of D)X.parentNode?.removeChild(X);else D.parentNode?.removeChild(D)}for(let D of I.e.entities)x(D);d.delete(g)}if(u.clear(),B!==0){let g=document.createDocumentFragment();for(let I=0;I<R.length;I++){let D=R[I].nodes;if(Array.isArray(D))for(let X of D)g.appendChild(X);else g.appendChild(D)}e.insertBefore(g,i)}s=M,A=u;let w=h;h=R,b=w;let m=p;p=F,k=m,b.length=0,k.length=0,f=y.slice();return}if(C&&Z){let a=document.createDocumentFragment();for(let m=0;m<R.length;m++){let g=R[m].nodes;if(Array.isArray(g))for(let I of g)a.appendChild(I);else a.appendChild(g)}e.insertBefore(a,i),s=M,A=u;let c=h;h=R,b=c;let w=p;p=F,k=w,b.length=0,k.length=0,f=y.slice();return}if(!Z&&u.size===0&&He){s=M,A=u;let a=h;h=R,b=a;let c=p;p=F,k=c,b.length=0,k.length=0,f=y.slice();return}for(let[a,c]of u){c.e.dispose?.();let w=c.e.nodes;if(Array.isArray(w))for(let m of w)m.parentNode?.removeChild(m);else w.parentNode?.removeChild(w);for(let m of c.e.entities)x(m);d.delete(a)}u.clear();let wt=Yt(z),Pe=i,V=null,Oe=()=>{if(V===null)return;let a=document.createDocumentFragment();for(let c=V.length-1;c>=0;c--){let w=V[c].nodes;if(Array.isArray(w))for(let m of w)a.appendChild(m);else a.appendChild(w)}e.insertBefore(a,Pe),V=null};for(let a=R.length-1;a>=0;a--){let c=R[a];z[a]===-1||!wt[a]?(V??=[]).push(c):(Oe(),Pe=Array.isArray(c.nodes)?c.nodes[0]:c.nodes)}Oe(),s=M,A=u;let bt=h;h=R,b=bt;let xt=p;p=F,k=xt,b.length=0,k.length=0,f=y.slice()}function ht(y){let E=s.get(y);E!==void 0&&pe(E.e,f[E.pos],E.id,E.pos)}function Et(){for(let[y,E]of s){E.e.dispose?.();let u=E.e.nodes;if(Array.isArray(u))for(let C of u)C.parentNode?.removeChild(C);else u.parentNode?.removeChild(u);for(let C of E.e.entities)x(C);d.delete(y)}s.clear(),A.clear(),f=[],h.length=0,p.length=0,b.length=0,k.length=0,i.parentNode?.removeChild(i)}return{reconcile:mt,refreshKey:ht,size:()=>s.size,dispose:Et}}function G(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(e.childNodes):[e]}var tt=new WeakMap,De=new WeakMap,ce=new Map;function tn(e,t){tt.set(e,t)}function et(e){for(let t of e)t.parentNode?.removeChild(t)}function nn(e){if(typeof e!="string")return e;let t=document.getElementById(e);if(t===null)throw new Error(`memoized-dom: mount target '#${e}' was not found`);return t}function on(e,t){let n=nn(e);if(De.has(n))throw new Error("memoized-dom: mount target already owns an application");let o=tt.get(t);if(o===void 0)throw new Error("memoized-dom: mount received a component that is not a compiled application root");if(ce.has(o.id))throw new Error(`memoized-dom: root entity '${o.id}' is already mounted`);if(ce.size>0)throw new Error("memoized-dom: the runtime currently supports one mounted application");let r;try{r=o.create({mode:"create",host:n})}catch(l){throw x(o.id),l}let i=G(r);try{n.appendChild(r)}catch(l){throw x(o.id),et(i),l}let s=!0,d={host:n,rootId:o.id,nodes:i,get mounted(){return s},unmount(){if(s){s=!1,De.delete(n),ce.delete(o.id);try{x(o.id)}finally{et(i)}}}};return De.set(n,d),ce.set(o.id,d),d}var nt=new Map,ot=new Map;function rn(e,t,n){let o=t;o[e.handler]=n,o[e.rootKey]=e.root}function sn(e,t){let n=dn(t);return ln(e,n),{root:e,handler:n.handler,rootKey:n.root}}function dn(e){let t=ot.get(e);if(t!==void 0)return t;let n=an(e);return t=nt.get(n),t===void 0&&(t={handler:Symbol(`memo-dom:${n}:handler`),root:Symbol(`memo-dom:${n}:root`),roots:new WeakSet,type:n},nt.set(n,t)),ot.set(e,t),t}function ln(e,t){t.roots.has(e)||(t.roots.add(e),e.addEventListener(t.type,n=>{n.bubbles&&rt(e,t,n)}),e.addEventListener(t.type,n=>{n.bubbles||rt(e,t,n)},!0))}function rt(e,t,n){let o=typeof n.composedPath=="function"?n.composedPath():cn(n.target,e);for(let r of o){if(r===void 0)continue;let i=r;if(i[t.root]===e){let s=i[t.handler];s!==void 0&&s.call(r,n)===!1&&n.preventDefault()}if(r===e||n.cancelBubble)break}}function cn(e,t){let n=[],o=e;for(;o!==null&&(n.push(o),o!==t);)o="parentNode"in o?o.parentNode:null;return n}function an(e){let t=e.startsWith("on")?e.slice(2).toLowerCase():e.toLowerCase();return t==="doubleclick"?"dblclick":t}var ae=new WeakMap,fn=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 fe(e){let t=[];return it(e,t),t.join(" ")}function Ne(e,t){let n=fe(t);e.namespaceURI==="http://www.w3.org/2000/svg"?n===""?e.removeAttribute("class"):e.setAttribute("class",n):e.className=n}function Me(e,t){let n=e.style;if(n===void 0)return;if(typeof t=="string"){let i=ae.get(e);if(i?.size===1&&i.get("$cssText")===t)return;n.cssText=t,ae.set(e,new Map([["$cssText",t]]));return}let o=new Map;if(t!==null&&typeof t=="object")for(let[i,s]of Object.entries(t)){if(s==null)continue;let d=un(i);o.set(d,pn(d,s))}let r=ae.get(e)??new Map;r.has("$cssText")&&(n.cssText="");for(let i of r.keys())i!=="$cssText"&&!o.has(i)&&n.removeProperty(i);for(let[i,s]of o)r.get(i)!==s&&n.setProperty(i,s);ae.set(e,o)}function it(e,t){if(e==null||e===!1||e===!0)return;if(Array.isArray(e)){for(let o of e)it(o,t);return}if(typeof e=="object"){for(let[o,r]of Object.entries(e))r&&t.push(o);return}let n=String(e).trim();n!==""&&t.push(n)}function un(e){return e.startsWith("--")||e.includes("-")?e:e.replace(/^ms([A-Z])/,"ms-$1").replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function pn(e,t){return typeof t=="number"&&t!==0&&!e.startsWith("--")&&!fn.has(e)?`${t}px`:String(t)}var st=new WeakMap,dt=new WeakMap,yn=new Set(["innerHTML","checked","value","selected","disabled","hidden","multiple","required","readOnly","muted","open","controls","loop","autoFocus","autoPlay","tabIndex"]),lt={className:"class",htmlFor:"for",readOnly:"readonly",autoFocus:"autofocus",autoPlay:"autoplay",tabIndex:"tabindex",crossOrigin:"crossorigin"},gn={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"},mn={doubleclick:"dblclick"};function hn(e,t,n,o=[]){let r=t!==null&&typeof t=="object"?t:{},i=st.get(e)??new Map,s=new Set(o);for(let l of i.keys())Object.prototype.hasOwnProperty.call(r,l)||ct(e,l,null,i,n,s);for(let[l,f]of Object.entries(r))ct(e,l,f,i,n,s);let d=new Map;for(let[l,f]of Object.entries(r))d.set(l,ft(l,f));st.set(e,d)}function at(e,t,n){if(t==="class"||t==="className"){Ne(e,n);return}if(t==="style"){Me(e,n);return}bn(e,t,n)}function ct(e,t,n,o,r,i){if(t==="key"||t==="children"||t==="ref")return;if(/^on[A-Z]/.test(t)){En(e,t,typeof n=="function"?n:null,r,i.has(t));return}let s=ft(t,n);Object.is(o.get(t),s)||at(e,t,n)}function ft(e,t){return e==="class"||e==="className"?fe(t):e==="style"?Symbol("style-snapshot"):t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:String(t)}function En(e,t,n,o,r){let i=dt.get(e);i===void 0&&(i=new Map,dt.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=wn(t),l=r?n:function(h){let p=n.call(this,h);return L(o),p!==null&&typeof p=="object"&&"then"in p&&typeof p.then=="function"&&p.then(()=>{L(o)}),p};e.addEventListener(d,l),i.set(t,{source:n,listener:l,type:d})}function wn(e){let t=e.slice(2).toLowerCase();return mn[t]??t}function bn(e,t,n){let o=e.namespaceURI!=="http://www.w3.org/2000/svg";if(o&&yn.has(t)){if(t==="tabIndex"&&n==null){e.removeAttribute("tabindex");return}e[t]=n??xn(t);return}let r=o?lt[t]??t:gn[t]??lt[t]??t;n==null||n===!1?e.removeAttribute(r):n===!0?e.setAttribute(r,""):!o&&t==="xlinkHref"?e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",String(n)):e.setAttribute(r,String(n))}function xn(e){return e==="value"||e==="innerHTML"?"":!1}var J=new Map,$=new Map,ut=!1;function pt(e){$.delete(e.id);let t=J.get(e.factory);t?.delete(e),t?.size===0&&J.delete(e.factory)}function vn(){ut||(ut=!0,ee(e=>{let t=$.get(e);t!==void 0&&pt(t)}))}function kn(e,t,n,o,r){vn();let i=$.get(t);i!==void 0&&pt(i);let s={factory:e,id:t,parent:n,nodes:o,props:r};$.set(t,s);let d=J.get(e)??new Set;d.add(s),J.set(e,d)}function yt(e,t){if($.get(e.id)!==e)return;let n=e.nodes.find(l=>l.parentNode!==null),o=n?.parentNode,i=n?.ownerDocument?.createComment("memoized-dom-hmr");n!==void 0&&o!==void 0&&o!==null&&i!==void 0&&o.insertBefore(i,n),x(e.id);for(let l of e.nodes)l.parentNode?.removeChild(l);let s=e.props===null?t(e.id,e.parent):t(e.id,e.parent,e.props),d=G(s);if(i?.parentNode!==null&&i?.parentNode!==void 0){let l=i.parentNode;for(let f of d)l.insertBefore(f,i);l.removeChild(i)}}function Cn(e,t){let n=[...J.get(e)??[]];for(let o of n)yt(o,t);return n.length}function Rn(){let e=[...$.values()].filter(t=>t.parent===null);for(let t of e)yt(t,t.factory)}function In(e,t){if(e.some(([,o,r])=>o===void 0||r)){Rn();return}let n=0;for(let[o,r]of e)r!==void 0&&(n+=Cn(o,r));n===0&&L(t)}function Tn(e,t){Ie(e);let n=encodeURIComponent(e),o=`${t}/$computed/${n}#`,r=`${t}/$module-effects/${n}/`;for(let i of[..._()])(i.startsWith(o)||i.startsWith(r))&&x(i)}function Sn(e,t,n,o){let r=document.createComment(`when:${t}`);e.appendChild(r);let i=-1,s=null;function d(){let f=n();if(f===i){s?.update();return}if(s!==null){s.dispose?.();for(let p of s.nodes)p.parentNode?.removeChild(p);s=null}let h=o[f]??null;if(h!==null){s=h();for(let p=s.nodes.length-1;p>=0;p--)r.parentNode.insertBefore(s.nodes[p],r)}i=f}function l(){if(s!==null){s.dispose?.();for(let f of s.nodes)f.parentNode?.removeChild(f);s=null}r.parentNode?.removeChild(r),i=-1}return d(),{update:d,index:()=>i,dispose:l}}var ue=new Map;function An(e,t){ue.set(e,t)}function Dn(e,t){let n=ue.get(e);if(n===void 0)return;let o=n.length!==t.length;if(!o){for(let r=0;r<t.length;r++)if(!Object.is(n[r],t[r])){o=!0;break}}if(o){n.length=t.length;for(let r=0;r<t.length;r++)n[r]=t[r];N(e)}}function fo(e){return ue.get(e)}te((e,t)=>{t==="remove"&&ue.delete(e)});export{kt as a,Ct as b,ne as c,x as d,It as e,K as f,Ee as g,Tt as h,_ as i,N as j,O as k,L as l,Ue as m,Ln as n,re as o,Dt as p,Ze as q,Nt as r,Mt as s,Lt as t,Ht as u,Ft as v,Pt as w,Ot as x,Wt as y,$t as z,Vt as A,Ie as B,jt as C,Te as D,le as E,Se as F,Ae as G,_t as H,Ut as I,Ye as J,qt as K,Gt as L,en as M,G as N,tn as O,on as P,rn as Q,sn as R,fe as S,Ne as T,Me as U,hn as V,at as W,kn as X,In as Y,Tn as Z,Sn as _,An as $,Dn as aa,fo as ba};
|
package/dist/hot.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Dev-only ownership and replacement for compiler-emitted component roots. */
|
|
2
|
+
import { type EntityId } from './kernel';
|
|
3
|
+
export type HotComponentFactory = (id: string, parent: string | null, props?: unknown[]) => Node;
|
|
4
|
+
export type HotComponentUpdate = readonly [
|
|
5
|
+
previous: HotComponentFactory,
|
|
6
|
+
next: HotComponentFactory | undefined,
|
|
7
|
+
lightweight: boolean
|
|
8
|
+
];
|
|
9
|
+
export declare function registerHotComponent(factory: HotComponentFactory, id: EntityId, parent: EntityId | null, nodes: Node[], props: unknown[] | null): void;
|
|
10
|
+
/** Apply one accepted Vite module update to its live component instances. */
|
|
11
|
+
export declare function applyHotUpdate(updates: readonly HotComponentUpdate[], rootId: EntityId): void;
|
|
12
|
+
/** Remove stale module-owned singleton entities and analysis before reevaluation. */
|
|
13
|
+
export declare function disposeHotModule(moduleId: string, rootId: EntityId): void;
|
|
14
|
+
//# sourceMappingURL=hot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hot.d.ts","sourceRoot":"","sources":["../src/hot.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,mBAAmB,GAAG,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,CAAC,EAAE,OAAO,EAAE,KACd,IAAI,CAAC;AAUV,MAAM,MAAM,kBAAkB,GAAG,SAAS;IACxC,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,mBAAmB,GAAG,SAAS;IACrC,WAAW,EAAE,OAAO;CACrB,CAAC;AAyBF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,QAAQ,GAAG,IAAI,EACvB,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,GACtB,IAAI,CASN;AAkDD,6EAA6E;AAC7E,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,kBAAkB,EAAE,EACtC,MAAM,EAAE,QAAQ,GACf,IAAI,CAYN;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,CAUzE"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The compiler emits `import * as MD from '<runtimePath>'` and calls every
|
|
5
5
|
* primitive through the `MD.` namespace, so this barrel must re-export the
|
|
6
|
-
* full runtime surface.
|
|
7
|
-
* compiler-
|
|
6
|
+
* full runtime surface. Ordinary browser entries additionally import mount;
|
|
7
|
+
* reactive and emission primitives remain compiler-owned.
|
|
8
8
|
*/
|
|
9
9
|
export { register, unregister, unregisterSubtree, registeredIds, has, markDirty, undirty, markDirtySubtree, commit, setScheduler, resetScheduler, getEntity, renderDescendants, } from './kernel';
|
|
10
10
|
export type { DirtyReasonInput, DirtyReasons, Entity, EntityId, } from './kernel';
|
|
@@ -14,18 +14,22 @@ export { mountRef } from './refs';
|
|
|
14
14
|
export type { RefCallback, RefValue } from './refs';
|
|
15
15
|
export { registerConditionalEffect, registerEffect } from './effect';
|
|
16
16
|
export type { EffectCallback, EffectCondition } from './effect';
|
|
17
|
-
export { setText, setClassName, setClass, setAttr, setProp, setStyle, computedChanged, } from './setters';
|
|
17
|
+
export { setText, setClassName, setClass, setAttr, setProp, setStyle, computedChanged, effectAssignmentChanged, } from './setters';
|
|
18
18
|
export type { SlotCache } from './setters';
|
|
19
|
-
export { installAccessTable, resetAccessTable, resolveWrites, resolveStaticWrites, isOpaque, getRootId, } from './access';
|
|
19
|
+
export { installAccessTable, resetAccessTable, uninstallAccessTable, resolveWrites, resolveStaticWrites, isOpaque, getRootId, } from './access';
|
|
20
20
|
export type { AccessTable } from './access';
|
|
21
21
|
export { commitWrites, commitWritesWithPayload, handle, getEventLog, clearEventLog, } from './events';
|
|
22
22
|
export type { EventRecord } from './events';
|
|
23
23
|
export { createListRegion } from './list';
|
|
24
24
|
export type { ListRegion, ListEntry, KeyFn } from './list';
|
|
25
25
|
export { rootNodes } from './jsx-dom';
|
|
26
|
+
export { mount, registerRootFactory } from './mount';
|
|
27
|
+
export type { MountableComponent, MountTarget, MountedApplication, RootMountContext, } from './mount';
|
|
26
28
|
export { createDelegatedEventBinding, setDelegatedEvent, type DelegatedEventBinding, } from './delegated-events';
|
|
27
29
|
export { patchDomProps, setDomValue } from './dom-props';
|
|
28
30
|
export { classValue, setClassValue, setStyleValue } from './dom-values';
|
|
31
|
+
export { applyHotUpdate, disposeHotModule, registerHotComponent, } from './hot';
|
|
32
|
+
export type { HotComponentFactory, HotComponentUpdate } from './hot';
|
|
29
33
|
export { createCondRegion } from './cond';
|
|
30
34
|
export { registerProps, setProps } from './props';
|
|
31
35
|
export type { CondRegion, CondEntry, CondBranchFactory } from './cond';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,GAAG,EACH,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,QAAQ,GACT,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhE,OAAO,EACL,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAQ,EACR,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,GAAG,EACH,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,QAAQ,GACT,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhE,OAAO,EACL,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAQ,EACR,eAAe,EACf,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,SAAS,GACV,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,MAAM,EACN,WAAW,EACX,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACrD,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,OAAO,CAAC;AACf,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC"}
|
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,V as U,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-
|
|
1
|
+
import{$ as _,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,V as U,W as V,X as W,Y as X,Z as Y,_ as Z,a,aa as $,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-S23GGVHN.js";export{X as applyHotUpdate,R as classValue,n as cleanup,H as clearEventLog,m as commit,I as commitWrites,J as commitWritesWithPayload,x as computedChanged,Z as createCondRegion,Q as createDelegatedEventBinding,L as createListRegion,Y as disposeHotModule,y as effectAssignmentChanged,g as getEntity,G as getEventLog,D as getRootId,K as handle,f as has,z as installAccessTable,C as isOpaque,j as markDirty,l as markDirtySubtree,O as mount,o as mountRef,U as patchDomProps,c as register,q as registerConditionalEffect,p as registerEffect,W as registerHotComponent,_ as registerProps,N as registerRootFactory,i as registeredIds,h as renderDescendants,B as resetAccessTable,b as resetScheduler,E as resolveStaticWrites,F as resolveWrites,M as rootNodes,u as setAttr,t as setClass,s as setClassName,S as setClassValue,P as setDelegatedEvent,V as setDomValue,v as setProp,$ as setProps,a as setScheduler,w as setStyle,T as setStyleValue,r as setText,k as undirty,A as uninstallAccessTable,e as unregister,d as unregisterSubtree};
|
package/dist/kernel.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ export interface Entity {
|
|
|
36
36
|
id: EntityId;
|
|
37
37
|
parent: EntityId | null;
|
|
38
38
|
render: (reasons?: DirtyReasons) => void;
|
|
39
|
+
/** Opaque pull state is conservatively reevaluated once per browser frame. */
|
|
40
|
+
volatile?: boolean;
|
|
39
41
|
/** Effects drain only after all ordinary render work is complete. */
|
|
40
42
|
phase?: 'render' | 'effect';
|
|
41
43
|
depth?: number;
|
|
@@ -125,5 +127,6 @@ export declare function commit(): void;
|
|
|
125
127
|
export declare function _internals(): {
|
|
126
128
|
registry: ReadonlyMap<EntityId, Entity>;
|
|
127
129
|
dirtySet: ReadonlySet<EntityId>;
|
|
130
|
+
volatileSet: ReadonlySet<EntityId>;
|
|
128
131
|
};
|
|
129
132
|
//# sourceMappingURL=kernel.d.ts.map
|
package/dist/kernel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,QAAQ,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,qEAAqE;IACrE,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,QAAQ,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;CAC1B;AAoCD,KAAK,SAAS,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;AAS1C,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAEhD;AAED,mDAAmD;AACnD,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAwBD,4EAA4E;AAC5E,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;GAKG;AACH,KAAK,gBAAgB,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,KAAK,IAAI,CAAC;AAGvE;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,EAAE,EAAE,QAAQ,KAAK,SAAS,OAAO,EAAE,GAAG,IAAI,CAAC;AAG5E,wBAAgB,eAAe,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI,CAE3D;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,CAE3D;AAMD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAmB7C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAiDpD;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAE7C;AAED,wBAAgB,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAEzC;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CA8BpD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,SAAS,QAAQ,EAAE,CAGnD;AAKD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,EACZ,MAAM,CAAC,EAAE,gBAAgB,GACxB,IAAI,CAQN;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAM1C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAWnD;AAcD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,IAAI,IAAI,CA8C7B;AAKD,wBAAgB,UAAU,IAAI;IAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CACpC,CAEA"}
|
package/dist/mount.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Authored zero-argument component reference accepted by the browser entry. */
|
|
2
|
+
export type MountableComponent = () => unknown;
|
|
3
|
+
export type MountTarget = string | Element;
|
|
4
|
+
export interface RootMountContext {
|
|
5
|
+
readonly mode: 'create';
|
|
6
|
+
readonly host: Element;
|
|
7
|
+
}
|
|
8
|
+
interface RootFactoryDefinition {
|
|
9
|
+
id: string;
|
|
10
|
+
create(context: RootMountContext): Node;
|
|
11
|
+
}
|
|
12
|
+
export interface MountedApplication {
|
|
13
|
+
readonly host: Element;
|
|
14
|
+
readonly rootId: string;
|
|
15
|
+
readonly nodes: readonly Node[];
|
|
16
|
+
readonly mounted: boolean;
|
|
17
|
+
unmount(): void;
|
|
18
|
+
}
|
|
19
|
+
/** Compiler-emitted root metadata. Application code should call mount(). */
|
|
20
|
+
export declare function registerRootFactory(component: Function, definition: RootFactoryDefinition): void;
|
|
21
|
+
/** Mount one compiled application root into an ordinary DOM host. */
|
|
22
|
+
export declare function mount(target: MountTarget, component: MountableComponent): MountedApplication;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=mount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"AAGA,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,qBAAqB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB;AAMD,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,QAAQ,EACnB,UAAU,EAAE,qBAAqB,GAChC,IAAI,CAEN;AAeD,qEAAqE;AACrE,wBAAgB,KAAK,CACnB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,kBAAkB,GAC5B,kBAAkB,CA6DpB"}
|
package/dist/setters.d.ts
CHANGED
|
@@ -46,4 +46,6 @@ export declare function setStyle($: SlotCache, key: string, el: HTMLElement, pro
|
|
|
46
46
|
* an in-place change.
|
|
47
47
|
*/
|
|
48
48
|
export declare function computedChanged(prev: unknown, next: unknown): boolean;
|
|
49
|
+
/** Equal plain assignments inside effects do not create feedback work. */
|
|
50
|
+
export declare function effectAssignmentChanged(prev: unknown, next: unknown): boolean;
|
|
49
51
|
//# sourceMappingURL=setters.d.ts.map
|
package/dist/setters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setters.d.ts","sourceRoot":"","sources":["../src/setters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,sFAAsF;AACtF,wBAAgB,OAAO,CACrB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,OAAO,GACb,IAAI,CAIN;AAED,yCAAyC;AACzC,wBAAgB,YAAY,CAC1B,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,kDAAkD;AAClD,wBAAgB,QAAQ,CACtB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GACZ,IAAI,CAIN;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,IAAI,CAIN;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAYrE"}
|
|
1
|
+
{"version":3,"file":"setters.d.ts","sourceRoot":"","sources":["../src/setters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,sFAAsF;AACtF,wBAAgB,OAAO,CACrB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,OAAO,GACb,IAAI,CAIN;AAED,yCAAyC;AACzC,wBAAgB,YAAY,CAC1B,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,kDAAkD;AAClD,wBAAgB,QAAQ,CACtB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GACZ,IAAI,CAIN;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,IAAI,CAIN;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,SAAS,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAYrE;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAE7E"}
|
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,W as
|
|
1
|
+
import{$ as oo,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,W,X,Y,Z,_ as $,a as p,aa as ro,b as e,ba as r,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-S23GGVHN.js";export{o as _internals,r as _propsBox,Y as applyHotUpdate,S as classValue,b as cleanup,I as clearEventLog,B as commit,J as commitWrites,K as commitWritesWithPayload,w as computedChanged,$ as createCondRegion,R as createDelegatedEventBinding,M as createListRegion,Z as disposeHotModule,y as effectAssignmentChanged,n as getEntity,H as getEventLog,E as getRootId,L as handle,m as has,z as installAccessTable,D as isOpaque,a as markDirty,l as markDirtySubtree,P as mount,c as mountRef,V as patchDomProps,t as register,g as registerConditionalEffect,d as registerEffect,X as registerHotComponent,oo as registerProps,O as registerRootFactory,_ as registeredIds,s as renderDescendants,C as resetAccessTable,e as resetScheduler,F as resolveStaticWrites,G as resolveWrites,N as rootNodes,q as setAttr,k as setClass,j as setClassName,T as setClassValue,Q as setDelegatedEvent,W as setDomValue,u as setProp,ro as setProps,p as setScheduler,v as setStyle,U as setStyleValue,h as setText,i as undirty,A as uninstallAccessTable,f as unregister,x as unregisterSubtree};
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var C=new Map;function Se(e,t,n){if(n===void 0||Array.isArray(n)&&n.length===0){C.size!==0&&C.delete(e);return}if(!t){typeof n=="number"?C.set(e,n):n.length===1?C.set(e,n[0]):C.set(e,new Set(n));return}let r=C.get(e);if(r===void 0)return;let o=typeof n=="number"?[n]:n;if(typeof r=="number"){o.some(i=>i!==r)&&C.set(e,new Set([r,...o]));return}for(let i of o)r.add(i)}function De(e){if(C.size===0)return null;let t=C.get(e)??null;return C.delete(e),t}function F(e){C.size!==0&&C.delete(e)}var x=new Map,T=new Set,Ae=typeof queueMicrotask=="function"?queueMicrotask:e=>Promise.resolve().then(e),fe=Ae;function st(e){fe=e}function dt(){fe=Ae}function lt(e){let t=0;for(let n=0;n<e.length;n++)e.charCodeAt(n)===47&&t++;return t}var Z=null,Ne=0;var Le=[],le=[];function Me(e){le.includes(e)||le.push(e)}function J(e){Le.push(e)}function Pe(e,t){for(let n of Le)n(e,t)}function X(e){let t=e.parent!==null?x.get(e.parent):void 0;e.depth=e.depth??(t&&t.depth!==void 0?t.depth+1:lt(e.id)),x.set(e.id,e),t&&(t.children??=new Set).add(e.id),Z=null,Ne++,Pe(e.id,"add")}function S(e){let t=x.get(e);if(!t)return;t.parent!==null&&x.get(t.parent)?.children?.delete(e);let n=[e],r=[],o=[];for(;n.length>0;){let i=n.pop(),s=x.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)x.delete(i),T.delete(i),F(i),Pe(i,"remove");for(let i of r)for(let s of le){let d=s(i);d!==void 0&&o.push(...d)}if(Z=null,Ne++,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 ct(e){S(e)}function H(e){return x.has(e)}function ae(e){return x.get(e)}function ft(e){let t=o=>{if(o.children!==void 0)for(let i of o.children){let s=x.get(i);s!==void 0&&(s.phase!=="effect"&&(s.render(),W(i)),t(s))}},n=o=>{if(o.children!==void 0)for(let i of o.children){let s=x.get(i);s!==void 0&&(s.phase==="effect"&&(s.render(),W(i)),n(s))}},r=x.get(e);r!==void 0&&(t(r),n(r))}function ue(){return Z??=[...x.keys()],Z}function L(e,t){if(!x.has(e))return;let n=T.has(e);(t!==void 0||n)&&Se(e,n,t),T.add(e),Oe()}function W(e){T.size!==0&&T.delete(e)&&F(e)}function M(e){let t=e+"/",n=!1;for(let r of x.keys())(r===e||r.startsWith(t))&&(T.add(r),F(r),n=!0);n&&Oe()}var ce=!1,G=!1;function Oe(){ce||G||(ce=!0,fe(We))}function We(){if(ce=!1,!G){G=!0;try{for(let e=0;e<100&&T.size>0;e++){let t=[];for(let o of T){let i=x.get(o);i?t.push(i):(T.delete(o),F(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)T.delete(o.id)&&o.render(De(o.id))}if(T.size>0)throw new Error("[memo-dom] commit cascade exceeded 100 passes \u2014 an update is dirtying its own readers (cycle)")}finally{G=!1}}}function dn(){return{registry:x,dirtySet:T}}var Q=new Map,pe=new Set,$e=!1;function at(){$e||($e=!0,Me(ut))}function Y(e,t){if(typeof t!="function")throw new TypeError("[memo-dom] cleanup(disposer) requires a function");if(pe.has(e))throw new Error(`[memo-dom] cannot register cleanup while '${e}' is being unregistered`);at();let n=Q.get(e);return n===void 0&&(n=[],Q.set(e,n)),n.push(t),t}function ut(e){let t=Q.get(e);if(t===void 0)return[];Q.delete(e),pe.add(e);let n=[];try{for(let r=t.length-1;r>=0;r--)try{t[r]()}catch(o){n.push(o)}}finally{pe.delete(e)}return n}function pt(e,t){let n=[],r=!0;try{ze(e,t,n)}catch(o){let i=Ve(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=Ve(n);if(o.length===1)throw o[0];if(o.length>1)throw new AggregateError(o,"[memo-dom] multiple ref cleanups failed")}}function ze(e,t,n){if(t==null||t===!1)return;if(Array.isArray(t)){for(let o of t)ze(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 Ve(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 Be(e,t,n){let r;H(e)&&S(e),X({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}}),Y(e,()=>{let o=r;r=void 0,o?.()}),L(e)}function yt(e,t,n,r){let o=`${e}/$active`,i=!1;H(e)&&S(e),X({id:e,parent:t,phase:"effect",render(){let s=!!n();s!==i&&(i=s,i?Be(o,e,r):S(o))}}),Y(e,()=>{i=!1,H(o)&&S(o)}),L(e)}function gt(e,t,n,r){e[t]!==r&&(e[t]=r,n.data=r==null||typeof r=="boolean"?"":String(r))}function ht(e,t,n,r){e[t]!==r&&(e[t]=r,n.className=r)}function mt(e,t,n,r,o){e[t]!==o&&(e[t]=o,n.classList.toggle(r,o))}function Et(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 wt(e,t,n,r,o){e[t]!==o&&(e[t]=o,n[r]=o)}function bt(e,t,n,r,o){e[t]!==o&&(e[t]=o,o==null?n.style.removeProperty(r):n.style.setProperty(r,o))}function xt(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])||ye(e[n]))return!0;return!1}return ye(e)||ye(t)?!0:!Object.is(e,t)}function ye(e){return typeof e=="object"&&e!==null||typeof e=="function"}var ge="",$=new Map,P=new Map,ee=new Map,he=new Set,me=[],V=new Map,K=0,te=new Map,ne=new Map;function kt(){V=new Map;let e=ue();for(let[t,n]of P){let r=new Set;for(let o of n)for(let i of e)o.test(i)&&r.add(i);V.set(t,r)}}J((e,t)=>{if(P.size===0)return;let n=!1;if(t==="add")for(let[r,o]of P){let i=V.get(r);if(i){for(let s of o)if(s.test(e)){i.add(e),n=!0;break}}}else for(let r of V.values())r.delete(e)&&(n=!0);n&&K++});function vt(e){if(!e.includes("*"))return null;let t=e.split("*").map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*");return new RegExp(`^${t}$`)}function Rt(e,t){ge=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=vt(i);if(d===null){let l=$.get(r)??[];l.includes(i)||l.push(i),$.set(r,l)}else{let l=P.get(r)??[];l.some(a=>a.source===d.source)||l.push(d),P.set(r,l)}}for(let[r,o]of Object.entries(e.params??{})){let i=ee.get(r)??[];for(let s of o)i.includes(s.pattern)||i.push(s.pattern);ee.set(r,i)}for(let r of e.opaque??[])he.add(r);me=[...new Set([...$.keys(),...P.keys()])],te.clear(),ne.clear(),kt(),K++}function It(){ge="",$=new Map,P=new Map,ee=new Map,he=new Set,me=[],V=new Map,te.clear(),ne.clear(),K++}function Ee(e){return he.has(e)}function re(){return ge}function we(e){return e.some(Ee)?"root-subtree":je(e)}function be(e,t,n){if(e.some(Ee))return"root-subtree";if(n){let r=new Set,o=!0;for(let i of e){let s=ee.get(i);if(s===void 0||s.length===0){o=!1;break}for(let d of s){let l=!1,a=d.replace(/\{([^}]+)\}/g,(m,p)=>{let D=p.trim();if(!D.startsWith("payload."))return l=!0,"";let b=n;for(let k of D.slice(8).split(".")){if(b===null||typeof b!="object")return l=!0,"";b=b[k]}return b==null?(l=!0,""):String(b)});if(l){o=!1;break}r.add(a)}if(!o)break;for(let d of $.get(i)??[])r.add(d)}if(o&&r.size>0)return[...r]}return je(e)}function je(e){let t=e.length===1?e[0]:e.join(" "),n=ne.get(t);if(n!==void 0&&n.v===K)return n.result;let r=new Set,o=new Set;for(let s of e){let d=te.get(s);if(d===void 0){d=[];for(let l of me)(l===s||l.startsWith(`${s}.`)||s.startsWith(`${l}.`))&&d.push(l);te.set(s,d)}for(let l of d)o.add(l)}for(let s of o){for(let d of $.get(s)??[])r.add(d);for(let d of V.get(s)??[])r.add(d)}let i=[...r];return ne.set(t,{v:K,result:i}),i}var Ct=1e3,_=[];function Tt(){return _}function St(){_.length=0}function Fe(e){let t=we(e);if(t==="root-subtree"){M(re());return}for(let n of t)L(n)}function Dt(e,t){let n=be(e,[],t);if(n==="root-subtree"){M(re());return}for(let r of n)L(r)}function At(e,t,n){return r=>{n(r),_.push({origin:e,writes:t,at:Date.now()}),_.length>Ct&&_.shift(),Fe(t)}}var Nt=e=>e,Lt=[],Mt=[],Pt=[];function Ot(e){let t=e.length,n=Lt,r=Mt,o=Pt;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 m=l+a>>1;e[r[m]]<d?l=m+1:a=m}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 Wt(e,t,n,r=Nt,o=!0){let i=document.createComment(`list:${t}`);e.appendChild(i);let s=new Map,d=new Map,l=0,a=[],m=[],p=[],D=new Map,b=[],k=[],z=[];function de(y,E,u,v){if(y.updateProps?.(E,v),y.update!==void 0)y.update(),u!==null&&W(u);else if(u!==null){let N=ae(u);N&&(N.render(),W(u))}}function Ye(y){let E=typeof y;if(E==="string"||E==="number"||E==="boolean"||E==="bigint")return`${t}/Row[${String(y)}]`;let u=d.get(y);return u===void 0&&(u=`#${++l}`,d.set(y,u)),`${t}/Row[${u}]`}function et(y,E=!0){if(y.length===a.length){let f=!0;for(let c=0;c<y.length;c++)if(y[c]!==a[c]){f=!1;break}if(f){if(!E)return;for(let c=0;c<y.length;c++)de(m[c],y[c],o?p[c]??null:null,c);return}}let u=s,v=u.size===0;D.clear();let N=D,O=k,R=b,B=y.length;O.length=o?B:0,R.length=B,z.length=v?0:B;let q=!1,ve=0,Re=!0,Ie=-1;for(let f=0;f<y.length;f++){let c=y[f],w=r(c,f);if(N.has(w))throw new Error(`[memo-dom] duplicate list key: ${String(w)}`);let h=v?void 0:u.get(w);if(h!==void 0){ve++,u.delete(w);let g=h.pos;z[f]=g,g<=Ie?Re=!1:Ie=g,h.pos=f,(E||c!==a[g])&&de(h.e,c,h.id,f)}else{let g=o?Ye(w):t;h={e:n(c,g,f),id:o?g:null,pos:f},v||(z[f]=-1),q=!0}N.set(w,h),R[f]=h.e,o&&(O[f]=h.id)}if(!v&&ve===0&&(B===0||q)){for(let[,g]of u)g.e.dispose?.();let f=!1,c;for(let g of m){let I=g.nodes;if(c=Array.isArray(I)?I[0]:I,c!==void 0)break}if(c!==void 0&&c.parentNode===e&&i.parentNode===e&&typeof document.createRange=="function"){let g=document.createRange();g.setStartBefore(c),g.setEndBefore(i),g.deleteContents(),f=!0}for(let[g,I]of u){if(!f){let A=I.e.nodes;if(Array.isArray(A))for(let U of A)U.parentNode?.removeChild(U);else A.parentNode?.removeChild(A)}for(let A of I.e.entities)S(A);d.delete(g)}if(u.clear(),B!==0){let g=document.createDocumentFragment();for(let I=0;I<R.length;I++){let A=R[I].nodes;if(Array.isArray(A))for(let U of A)g.appendChild(U);else g.appendChild(A)}e.insertBefore(g,i)}s=N,D=u;let w=m;m=R,b=w;let h=p;p=O,k=h,b.length=0,k.length=0,a=y.slice();return}if(v&&q){let f=document.createDocumentFragment();for(let h=0;h<R.length;h++){let g=R[h].nodes;if(Array.isArray(g))for(let I of g)f.appendChild(I);else f.appendChild(g)}e.insertBefore(f,i),s=N,D=u;let c=m;m=R,b=c;let w=p;p=O,k=w,b.length=0,k.length=0,a=y.slice();return}if(!q&&u.size===0&&Re){s=N,D=u;let f=m;m=R,b=f;let c=p;p=O,k=c,b.length=0,k.length=0,a=y.slice();return}for(let[f,c]of u){c.e.dispose?.();let w=c.e.nodes;if(Array.isArray(w))for(let h of w)h.parentNode?.removeChild(h);else w.parentNode?.removeChild(w);for(let h of c.e.entities)S(h);d.delete(f)}u.clear();let rt=Ot(z),Ce=i,j=null,Te=()=>{if(j===null)return;let f=document.createDocumentFragment();for(let c=j.length-1;c>=0;c--){let w=j[c].nodes;if(Array.isArray(w))for(let h of w)f.appendChild(h);else f.appendChild(w)}e.insertBefore(f,Ce),j=null};for(let f=R.length-1;f>=0;f--){let c=R[f];z[f]===-1||!rt[f]?(j??=[]).push(c):(Te(),Ce=Array.isArray(c.nodes)?c.nodes[0]:c.nodes)}Te(),s=N,D=u;let ot=m;m=R,b=ot;let it=p;p=O,k=it,b.length=0,k.length=0,a=y.slice()}function tt(y){let E=s.get(y);E!==void 0&&de(E.e,a[E.pos],E.id,E.pos)}function nt(){for(let[y,E]of s){E.e.dispose?.();let u=E.e.nodes;if(Array.isArray(u))for(let v of u)v.parentNode?.removeChild(v);else u.parentNode?.removeChild(u);for(let v of E.e.entities)S(v);d.delete(y)}s.clear(),D.clear(),a=[],m.length=0,p.length=0,b.length=0,k.length=0,i.parentNode?.removeChild(i)}return{reconcile:et,refreshKey:tt,size:()=>s.size,dispose:nt}}function $t(e){return e.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(e.childNodes):[e]}var He=new Map,Ke=new Map;function Vt(e,t,n){let r=t;r[e.handler]=n,r[e.rootKey]=e.root}function zt(e,t){let n=Bt(t);return jt(e,n),{root:e,handler:n.handler,rootKey:n.root}}function Bt(e){let t=Ke.get(e);if(t!==void 0)return t;let n=Ht(e);return t=He.get(n),t===void 0&&(t={handler:Symbol(`memo-dom:${n}:handler`),root:Symbol(`memo-dom:${n}:root`),roots:new WeakSet,type:n},He.set(n,t)),Ke.set(e,t),t}function jt(e,t){t.roots.has(e)||(t.roots.add(e),e.addEventListener(t.type,n=>{n.bubbles&&_e(e,t,n)}),e.addEventListener(t.type,n=>{n.bubbles||_e(e,t,n)},!0))}function _e(e,t,n){let r=typeof n.composedPath=="function"?n.composedPath():Ft(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 Ft(e,t){let n=[],r=e;for(;r!==null&&(n.push(r),r!==t);)r="parentNode"in r?r.parentNode:null;return n}function Ht(e){let t=e.startsWith("on")?e.slice(2).toLowerCase():e.toLowerCase();return t==="doubleclick"?"dblclick":t}var oe=new WeakMap,Kt=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 ie(e){let t=[];return qe(e,t),t.join(" ")}function xe(e,t){let n=ie(t);e.namespaceURI==="http://www.w3.org/2000/svg"?n===""?e.removeAttribute("class"):e.setAttribute("class",n):e.className=n}function ke(e,t){let n=e.style;if(n===void 0)return;if(typeof t=="string"){let i=oe.get(e);if(i?.size===1&&i.get("$cssText")===t)return;n.cssText=t,oe.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=_t(i);r.set(d,qt(d,s))}let o=oe.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);oe.set(e,r)}function qe(e,t){if(e==null||e===!1||e===!0)return;if(Array.isArray(e)){for(let r of e)qe(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 _t(e){return e.startsWith("--")||e.includes("-")?e:e.replace(/^ms([A-Z])/,"ms-$1").replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function qt(e,t){return typeof t=="number"&&t!==0&&!e.startsWith("--")&&!Kt.has(e)?`${t}px`:String(t)}var Ue=new WeakMap,Ge=new WeakMap,Ut=new Set(["innerHTML","checked","value","selected","disabled","hidden","multiple","required","readOnly","muted","open","controls","loop","autoFocus","autoPlay","tabIndex"]),Ze={className:"class",htmlFor:"for",readOnly:"readonly",autoFocus:"autofocus",autoPlay:"autoplay",tabIndex:"tabindex",crossOrigin:"crossorigin"},Gt={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"},Zt={doubleclick:"dblclick"};function Jt(e,t,n,r=[]){let o=t!==null&&typeof t=="object"?t:{},i=Ue.get(e)??new Map,s=new Set(r);for(let l of i.keys())Object.prototype.hasOwnProperty.call(o,l)||Je(e,l,null,i,n,s);for(let[l,a]of Object.entries(o))Je(e,l,a,i,n,s);let d=new Map;for(let[l,a]of Object.entries(o))d.set(l,Qe(l,a));Ue.set(e,d)}function Xe(e,t,n){if(t==="class"||t==="className"){xe(e,n);return}if(t==="style"){ke(e,n);return}Yt(e,t,n)}function Je(e,t,n,r,o,i){if(t==="key"||t==="children"||t==="ref")return;if(/^on[A-Z]/.test(t)){Xt(e,t,typeof n=="function"?n:null,o,i.has(t));return}let s=Qe(t,n);Object.is(r.get(t),s)||Xe(e,t,n)}function Qe(e,t){return e==="class"||e==="className"?ie(t):e==="style"?Symbol("style-snapshot"):t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:String(t)}function Xt(e,t,n,r,o){let i=Ge.get(e);i===void 0&&(i=new Map,Ge.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=Qt(t),l=o?n:function(m){let p=n.call(this,m);return M(r),p!==null&&typeof p=="object"&&"then"in p&&typeof p.then=="function"&&p.then(()=>{M(r)}),p};e.addEventListener(d,l),i.set(t,{source:n,listener:l,type:d})}function Qt(e){let t=e.slice(2).toLowerCase();return Zt[t]??t}function Yt(e,t,n){let r=e.namespaceURI!=="http://www.w3.org/2000/svg";if(r&&Ut.has(t)){if(t==="tabIndex"&&n==null){e.removeAttribute("tabindex");return}e[t]=n??en(t);return}let o=r?Ze[t]??t:Gt[t]??Ze[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 en(e){return e==="value"||e==="innerHTML"?"":!1}function tn(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 p of s.nodes)p.parentNode?.removeChild(p);s=null}let m=r[a]??null;if(m!==null){s=m();for(let p=s.nodes.length-1;p>=0;p--)o.parentNode.insertBefore(s.nodes[p],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 se=new Map;function nn(e,t){se.set(e,t)}function rn(e,t){let n=se.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];L(e)}}function Nn(e){return se.get(e)}J((e,t)=>{t==="remove"&&se.delete(e)});export{st as a,dt as b,X as c,S as d,ct as e,H as f,ae as g,ft as h,ue as i,L as j,W as k,M as l,We as m,dn as n,Y as o,pt as p,Be as q,yt as r,gt as s,ht as t,mt as u,Et as v,wt as w,bt as x,xt as y,Rt as z,It as A,Ee as B,re as C,we as D,be as E,Tt as F,St as G,Fe as H,Dt as I,At as J,Wt as K,$t as L,Vt as M,zt as N,ie as O,xe as P,ke as Q,Jt as R,Xe as S,tn as T,nn as U,rn as V,Nn as W};
|