xote 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,12 +3,12 @@
3
3
  ![npm bundle size](https://img.shields.io/bundlephobia/min/xote)
4
4
  ![npm bundle size](https://img.shields.io/bundlephobia/minzip/xote)
5
5
 
6
- Xote is a lightweight UI library for ReScript that combines fine-grained reactivity with a minimal component system. Built on [rescript-signals](https://github.com/pedrobslisboa/rescript-signals), it provides declarative components, JSX support, and signal-based routing for building reactive web applications.
6
+ Xote is a lightweight UI library for ReScript that combines fine-grained reactivity with a minimal component system. Built on [rescript-signals](https://github.com/brnrdog/rescript-signals), it provides declarative components, JSX support, and signal-based routing for building reactive web applications.
7
7
 
8
8
  ## Features
9
9
 
10
10
  - **Reactive Components**: Declarative UI building with JSX support and direct DOM updates
11
- - **Signal-based Reactivity**: Powered by [rescript-signals](https://github.com/pedrobslisboa/rescript-signals) for automatic dependency tracking
11
+ - **Signal-based Reactivity**: Powered by [rescript-signals](https://github.com/brnrdog/rescript-signals) for automatic dependency tracking
12
12
  - **Fine-grained Updates**: Direct DOM manipulation without virtual DOM diffing
13
13
  - **Signal-based Router**: SPA navigation with pattern matching and dynamic parameters
14
14
  - **Lightweight**: Minimal runtime footprint (~18kb minified)
package/dist/xote.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let $={contents:0};function j(){return $.contents=$.contents+1|0,$.contents}function re(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function ue(e){if(e!=null)return re(e)}function F(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}function I(e,t){return e!==void 0?F(e):t}function le(e,t,n){return e.reduce(n,t)}function ie(e,t){let n=e.length,r=new Array(n),u=0;for(let l=0;l<n;++l){let c=e[l],i=t(c);i!==void 0&&(r[u]=F(i),u=u+1|0)}return r.length=u,r}function oe(e,t){let n=0;for(;;){let r=n;if(r===e.length)return;let u=t(e[r]);if(u!==void 0)return u;n=r+1|0}}let s=new Map,y=new Map,w=new Map,a={contents:void 0},b=new Set,S={contents:!1},m={contents:!1};function P(e){if(y.get(e)===void 0){y.set(e,new Set);return}}function ce(e,t){let n=y.get(e);if(n!==void 0){n.forEach(t);return}}function ae(e,t){let n=y.get(e);if(n!==void 0){n.add(t);return}}function de(e,t){let n=y.get(e);if(n!==void 0){n.delete(t);return}}function se(e){return Array.from(I(y.get(e),new Set).values())}function L(e,t){let n=a.contents;a.contents=e;try{let r=t();return a.contents=n,r}catch(r){throw a.contents=n,r}}function fe(e){let t=a.contents;a.contents=void 0;try{let n=e();return a.contents=t,n}catch(n){throw a.contents=t,n}}function pe(e){let t=a.contents;return t!==void 0?t===e:!1}function he(e){if(!S.contents){S.contents=!0;try{e(),S.contents=!1;return}catch(t){throw S.contents=!1,t}}}function me(e,t){P(t);let n=pe(e),r=s.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),ae(t,e)}function T(e){e.deps.forEach(t=>de(t,e.id)),e.deps.clear()}function _e(e){let t=w.get(e);if(t===void 0)return;w.delete(e);let n=s.get(t);if(n!==void 0){T(n),s.delete(t);return}}function V(e){return le(e,0,(t,n)=>n>t?n:t)}function Se(e){let t=[];return e.deps.forEach(n=>ce(n,r=>{if(r===e.id)return;let u=s.get(r);if(u===void 0)return;if(typeof u.kind=="object"){t.push(u.level);return}})),V(t)+1|0}function ge(e){let t=[];return e.deps.forEach(n=>{let r=w.get(n);if(r===void 0||r===e.id)return;let u=s.get(r);if(u!==void 0){t.push(u.level);return}}),V(t)+1|0}function C(e){return typeof e.kind=="object"?ge(e):Se(e)}function Ee(e,t){let n=s.get(e),r=s.get(t);if(n===void 0)return r!==void 0?1:0;if(r===void 0)return-1;let l=typeof n.kind=="object"?0:1,i=typeof r.kind=="object"?0:1,d=l-i|0;return d!==0?d:n.level-r.level|0}function ve(e){m.contents=!0,T(e),L(e.id,()=>{e.run(),m.contents=!1}),e.level=C(e)}function B(){for(;b.size>0;){let e=Array.from(b.values());b.clear(),e.sort(Ee),e.forEach(t=>{let n=s.get(t);if(n!==void 0)return ve(n)})}}function z(e){if(P(e),se(e).forEach(t=>{let n=s.get(t);if(n===void 0)return;let r=n.kind;if(typeof r=="object")return n.dirty?void 0:(n.dirty=!0,z(r.VAL));b.add(t)}),b.size>0)return he(B)}function W(e){let t=w.get(e);if(t===void 0)return;let n=s.get(t);if(n!==void 0&&n.dirty){m.contents=!0,T(n),L(t,()=>{n.run(),n.dirty=!1,m.contents=!1}),n.level=C(n);return}}function be(e){let t=S.contents;S.contents=!0;try{let n=e();return t||(S.contents=!1,b.size>0&&B()),n}catch(n){throw t||(S.contents=!1),n}}let ye=fe,Te=P;function X(e,t,n){let r=j();return Te(r),{id:r,value:{contents:e},version:{contents:0},equals:I(n,(u,l)=>u===l),name:t}}function ke(e){W(e.id);let t=a.contents;return t!==void 0&&me(t,e.id),e.value.contents}function Ae(e){return W(e.id),e.value.contents}function q(e,t){let n;try{n=!e.equals(e.value.contents,t)}catch{n=!0}if(n)return e.value.contents=t,e.version.contents=e.version.contents+1|0,z(e.id)}function we(e,t){q(e,t(e.value.contents))}let Oe,Ce,Ne=be,$e=ye;const Me=Object.freeze(Object.defineProperty({__proto__:null,Id:Oe,Scheduler:Ce,batch:Ne,get:ke,make:X,peek:Ae,set:q,untrack:$e,update:we},Symbol.toStringTag,{value:"Module"}));function H(e,t,n){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0}}function je(e){let t=j(),n={contents:void 0},u=H(t,"Effect",()=>{let i=n.contents;i!==void 0&&i(),n.contents=e()});s.set(t,u),m.contents=!0,T(u);let l=a.contents;a.contents=t;try{u.run(),m.contents=!1}catch(i){throw a.contents=l,m.contents=!1,i}return a.contents=l,u.level=C(u),{dispose:()=>{let i=s.get(t);if(i===void 0)return;let d=n.contents;d!==void 0&&d(),T(i),s.delete(t)}}}let Ie,Pe,xe;const Ge=Object.freeze(Object.defineProperty({__proto__:null,Id:Ie,Observer:Pe,Scheduler:xe,run:je},Symbol.toStringTag,{value:"Module"}));function Re(e){let t=X(void 0,void 0,void 0),n=j(),r=()=>{let c=e();t.value.contents=c},u=H(n,{NAME:"Computed",VAL:t.id},r);s.set(n,u),m.contents=!0,T(u);let l=a.contents;a.contents=n;try{u.run(),u.dirty=!1,m.contents=!1}catch(c){throw a.contents=l,m.contents=!1,c}return a.contents=l,u.level=C(u),w.set(t.id,n),t}function De(e){_e(e.id)}let Fe,Le,Ve,Be;const ze=Object.freeze(Object.defineProperty({__proto__:null,Id:Fe,Observer:Ve,Scheduler:Be,Signal:Le,dispose:De,make:Re},Symbol.toStringTag,{value:"Module"}));let o=Me,h=ze,g=Ge;function U(e){return ie(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function J(e,t){let n=t.split("/").filter(l=>l!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((l,c)=>{let i=n[c];return l.TAG==="Static"?i===l._0:(r[l._0]=i,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function x(e,t){return J(U(e),t)}const We=Object.freeze(Object.defineProperty({__proto__:null,match:x,matchPath:J,parsePattern:U},Symbol.toStringTag,{value:"Module"}));function K(e,t){return[e,{TAG:"Static",_0:t}]}function Xe(e,t){return[e,{TAG:"SignalValue",_0:t}]}function qe(e,t){return[e,{TAG:"Compute",_0:t}]}function He(e){return{TAG:"Text",_0:e}}function Ue(e){return{TAG:"SignalText",_0:h.make(e)}}function Je(e){return{TAG:"Fragment",_0:e}}function G(e){return{TAG:"SignalFragment",_0:e}}function Ke(e,t){return{TAG:"SignalFragment",_0:h.make(()=>o.get(e).map(t))}}function p(e,t,n,r,u){let l=t!==void 0?t:[].map(d=>d),c=n!==void 0?n:[].map(d=>d),i=r!==void 0?r:[].map(d=>d);return{TAG:"Element",tag:e,attrs:l,events:c,children:i}}function Qe(e,t,n,r){return p("div",e,t,n)}function Ye(e,t,n,r){return p("span",e,t,n)}function Ze(e,t,n,r){return p("button",e,t,n)}function et(e,t,n){return p("input",e,t,void 0)}function tt(e,t,n,r){return p("h1",e,t,n)}function nt(e,t,n,r){return p("h2",e,t,n)}function rt(e,t,n,r){return p("h3",e,t,n)}function ut(e,t,n,r){return p("p",e,t,n)}function lt(e,t,n,r){return p("ul",e,t,n)}function it(e,t,n,r){return p("li",e,t,n)}function Q(e,t,n,r){return p("a",e,t,n)}function k(e,t){let n=I(ue(e.__xote_disposers),[]);e.__xote_disposers=n.concat([t])}function R(e){let t=e.__xote_disposers;t!=null&&(t.forEach(r=>r.dispose()),e.__xote_disposers=[]),Array.from(e.childNodes||[]).forEach(R)}function A(e){switch(e.TAG){case"Element":let t=document.createElement(e.tag);return e.attrs.forEach(f=>{let _=f[1],E=f[0];switch(_.TAG){case"Static":t.setAttribute(E,_._0);return;case"SignalValue":let O=_._0;t.setAttribute(E,o.peek(O));let ee=g.run(()=>{let N=o.get(O);t.setAttribute(E,N)});return k(t,ee);case"Compute":let te=_._0,D=h.make(()=>te());t.setAttribute(E,o.peek(D));let ne=g.run(()=>{let N=o.get(D);t.setAttribute(E,N)});return k(t,ne)}}),e.events.forEach(f=>{t.addEventListener(f[0],f[1])}),e.children.forEach(f=>{let _=A(f);t.appendChild(_)}),t;case"Text":return document.createTextNode(e._0);case"SignalText":let n=e._0,r=document.createTextNode(o.peek(n)),u=g.run(()=>{let f=o.get(n);r.textContent=f});return k(r,u),r;case"Fragment":let l=document.createDocumentFragment();return e._0.forEach(f=>{let _=A(f);l.appendChild(_)}),l;case"SignalFragment":let c=e._0,i=document.createElement("div");i.setAttribute("data-signal-fragment","true"),i.setAttribute("style","display: contents");let d=g.run(()=>{let f=o.get(c);Array.from(i.childNodes||[]).forEach(R),i.innerHTML="",f.forEach(E=>{let O=A(E);i.appendChild(O)})});return k(i,d),i}}function Y(e,t){let n=A(e);t.appendChild(n)}function ot(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Y(e,n)}const ct=Object.freeze(Object.defineProperty({__proto__:null,a:Q,addDisposer:k,attr:K,button:Ze,computedAttr:qe,disposeElement:R,div:Qe,element:p,fragment:Je,h1:tt,h2:nt,h3:rt,input:et,li:it,list:Ke,mount:Y,mountById:ot,p:ut,render:A,signalAttr:Xe,signalFragment:G,span:Ye,text:He,textSignal:Ue,ul:lt},Symbol.toStringTag,{value:"Module"}));let v=o.make({pathname:"/",search:"",hash:""},void 0,void 0);function M(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function at(){o.set(v,M());let e=t=>o.set(v,M());window.addEventListener("popstate",e)}function Z(e,t,n,r){let u=t!==void 0?t:"",l=n!==void 0?n:"",c={pathname:e,search:u,hash:l},i=e+u+l,d={};window.history.pushState(d,"",i),o.set(v,c)}function dt(e,t,n,r){let u=t!==void 0?t:"",l=n!==void 0?n:"",c={pathname:e,search:u,hash:l},i=e+u+l,d={};window.history.replaceState(d,"",i),o.set(v,c)}function st(e,t){return G(h.make(()=>{let n=o.get(v),r=x(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]}))}function ft(e){return G(h.make(()=>{let t=o.get(v),n=oe(e,r=>{let u=x(r.pattern,t.pathname);if(typeof u=="object")return r.render(u._0)});return n!==void 0?[n]:[]}))}function pt(e,t,n,r){let u=t!==void 0?t:[],l=n!==void 0?n:[],c=i=>{i.preventDefault(),Z(e,void 0,void 0)};return Q(u.concat([K("href",e)]),[["click",c]],l)}let ht,mt;const _t=Object.freeze(Object.defineProperty({__proto__:null,Component:ht,Route:mt,getCurrentLocation:M,init:at,link:pt,location:v,push:Z,replace:dt,route:st,routes:ft},Symbol.toStringTag,{value:"Module"}));let St=o.Id,gt=o.Scheduler,Et=o.make,vt=o.get,bt=o.peek,yt=o.set,Tt=o.update,kt=o.batch,At=o.untrack,wt={Id:St,Scheduler:gt,make:Et,get:vt,peek:bt,set:yt,update:Tt,batch:kt,untrack:At},Ot=h.Id,Ct=h.Signal,Nt=h.Observer,$t=h.Scheduler,Mt=h.make,jt=h.dispose,It={Id:Ot,Signal:Ct,Observer:Nt,Scheduler:$t,make:Mt,dispose:jt},Pt=g.Id,xt=g.Observer,Gt=g.Scheduler,Rt=g.run,Dt={Id:Pt,Observer:xt,Scheduler:Gt,run:Rt},Ft=ct,Lt=We,Vt=_t;exports.Component=Ft;exports.Computed=It;exports.Effect=Dt;exports.Route=Lt;exports.Router=Vt;exports.Signal=wt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let U={contents:0};function Y(){return U.contents=U.contents+1|0,U.contents}function xe(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function Ie(e){if(e!=null)return xe(e)}function ae(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}function K(e,t){return e!==void 0?ae(e):t}function Me(e,t,n){return e.reduce(n,t)}function je(e,t){let n=e.length,r=new Array(n),l=0;for(let o=0;o<n;++o){let u=e[o],c=t(u);c!==void 0&&(r[l]=ae(c),l=l+1|0)}return r.length=l,r}function De(e,t){let n=0;for(;;){let r=n;if(r===e.length)return;let l=t(e[r]);if(l!==void 0)return l;n=r+1|0}}let _=new Map,j=new Map,L=new Map,m={contents:void 0},M=new Set,O={contents:!1},b={contents:!1};function Z(e){if(j.get(e)===void 0){j.set(e,new Set);return}}function Pe(e,t){let n=j.get(e);if(n!==void 0){n.forEach(t);return}}function Re(e,t){let n=j.get(e);if(n!==void 0){n.add(t);return}}function Ge(e,t){let n=j.get(e);if(n!==void 0){n.delete(t);return}}function Le(e){return Array.from(K(j.get(e),new Set).values())}function de(e,t){let n=m.contents;m.contents=e;try{let r=t();return m.contents=n,r}catch(r){throw m.contents=n,r}}function Fe(e){let t=m.contents;m.contents=void 0;try{let n=e();return m.contents=t,n}catch(n){throw m.contents=t,n}}function Be(e){let t=m.contents;return t!==void 0?t===e:!1}function ze(e){if(!O.contents){O.contents=!0;try{e(),O.contents=!1;return}catch(t){throw O.contents=!1,t}}}function Ve(e,t){Z(t);let n=Be(e),r=_.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),Re(t,e)}function D(e){e.deps.forEach(t=>Ge(t,e.id)),e.deps.clear()}function We(e){let t=L.get(e);if(t===void 0)return;L.delete(e);let n=_.get(t);if(n!==void 0){D(n),_.delete(t);return}}function fe(e){return Me(e,0,(t,n)=>n>t?n:t)}function Ke(e){let t=[];return e.deps.forEach(n=>Pe(n,r=>{if(r===e.id)return;let l=_.get(r);if(l===void 0)return;if(typeof l.kind=="object"){t.push(l.level);return}})),fe(t)+1|0}function Xe(e){let t=[];return e.deps.forEach(n=>{let r=L.get(n);if(r===void 0||r===e.id)return;let l=_.get(r);if(l!==void 0){t.push(l.level);return}}),fe(t)+1|0}function X(e){return typeof e.kind=="object"?Xe(e):Ke(e)}function qe(e,t){let n=_.get(e),r=_.get(t);if(n===void 0)return r!==void 0?1:0;if(r===void 0)return-1;let o=typeof n.kind=="object"?0:1,c=typeof r.kind=="object"?0:1,f=o-c|0;return f!==0?f:n.level-r.level|0}function He(e){b.contents=!0,D(e),de(e.id,()=>{e.run(),b.contents=!1}),e.level=X(e)}function pe(){for(;M.size>0;){let e=Array.from(M.values());M.clear(),e.sort(qe),e.forEach(t=>{let n=_.get(t);if(n!==void 0)return He(n)})}}function me(e){if(Z(e),Le(e).forEach(t=>{let n=_.get(t);if(n===void 0)return;let r=n.kind;if(typeof r=="object")return n.dirty?void 0:(n.dirty=!0,me(r.VAL));M.add(t)}),M.size>0)return ze(pe)}function he(e){let t=L.get(e);if(t===void 0)return;let n=_.get(t);if(n!==void 0&&n.dirty){b.contents=!0,D(n),de(t,()=>{n.run(),n.dirty=!1,b.contents=!1}),n.level=X(n);return}}function Ue(e){let t=O.contents;O.contents=!0;try{let n=e();return t||(O.contents=!1,M.size>0&&pe()),n}catch(n){throw t||(O.contents=!1),n}}let Je=Fe,Qe=Z;function _e(e,t,n){let r=Y();return Qe(r),{id:r,value:{contents:e},version:{contents:0},equals:K(n,(l,o)=>l===o),name:t}}function Ye(e){he(e.id);let t=m.contents;return t!==void 0&&Ve(t,e.id),e.value.contents}function Ze(e){return he(e.id),e.value.contents}function ge(e,t){let n;try{n=!e.equals(e.value.contents,t)}catch{n=!0}if(n)return e.value.contents=t,e.version.contents=e.version.contents+1|0,me(e.id)}function et(e,t){ge(e,t(e.value.contents))}let tt,nt,rt=Ue,lt=Je;const ut=Object.freeze(Object.defineProperty({__proto__:null,Id:tt,Scheduler:nt,batch:rt,get:Ye,make:_e,peek:Ze,set:ge,untrack:lt,update:et},Symbol.toStringTag,{value:"Module"}));function Se(e,t,n){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0}}function ot(e){let t=Y(),n={contents:void 0},l=Se(t,"Effect",()=>{let c=n.contents;c!==void 0&&c(),n.contents=e()});_.set(t,l),b.contents=!0,D(l);let o=m.contents;m.contents=t;try{l.run(),b.contents=!1}catch(c){throw m.contents=o,b.contents=!1,c}return m.contents=o,l.level=X(l),{dispose:()=>{let c=_.get(t);if(c===void 0)return;let f=n.contents;f!==void 0&&f(),D(c),_.delete(t)}}}let it,st,ct;const at=Object.freeze(Object.defineProperty({__proto__:null,Id:it,Observer:st,Scheduler:ct,run:ot},Symbol.toStringTag,{value:"Module"}));function dt(e){let t=_e(void 0,void 0,void 0),n=Y(),r=()=>{let u=e();t.value.contents=u},l=Se(n,{NAME:"Computed",VAL:t.id},r);_.set(n,l),b.contents=!0,D(l);let o=m.contents;m.contents=n;try{l.run(),l.dirty=!1,b.contents=!1}catch(u){throw m.contents=o,b.contents=!1,u}return m.contents=o,l.level=X(l),L.set(t.id,n),t}function ft(e){We(e.id)}let pt,mt,ht,_t;const gt=Object.freeze(Object.defineProperty({__proto__:null,Id:pt,Observer:ht,Scheduler:_t,Signal:mt,dispose:ft,make:dt},Symbol.toStringTag,{value:"Module"}));let i=ut,v=gt,y=at;function ve(e){return je(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function Ee(e,t){let n=t.split("/").filter(o=>o!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((o,u)=>{let c=n[u];return o.TAG==="Static"?c===o._0:(r[o._0]=c,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function ee(e,t){return Ee(ve(e),t)}const St=Object.freeze(Object.defineProperty({__proto__:null,match:ee,matchPath:Ee,parsePattern:ve},Symbol.toStringTag,{value:"Module"}));function vt(e,t){delete e[t]}function ye(e,t){return[e,{TAG:"Static",_0:t}]}function Et(e,t){return[e,{TAG:"SignalValue",_0:t}]}function yt(e,t){return[e,{TAG:"Compute",_0:t}]}function wt(e){return{TAG:"Text",_0:e}}function bt(e){return{TAG:"SignalText",_0:v.make(e)}}function kt(e){return{TAG:"Fragment",_0:e}}function te(e){return{TAG:"SignalFragment",_0:e}}function Tt(e,t){return{TAG:"SignalFragment",_0:v.make(()=>i.get(e).map(t))}}function E(e,t,n,r,l){let o=t!==void 0?t:[].map(f=>f),u=n!==void 0?n:[].map(f=>f),c=r!==void 0?r:[].map(f=>f);return{TAG:"Element",tag:e,attrs:o,events:u,children:c}}function At(e,t,n,r){return E("div",e,t,n)}function Ot(e,t,n,r){return E("span",e,t,n)}function Ct(e,t,n,r){return E("button",e,t,n)}function $t(e,t,n){return E("input",e,t,void 0)}function Nt(e,t,n,r){return E("h1",e,t,n)}function xt(e,t,n,r){return E("h2",e,t,n)}function It(e,t,n,r){return E("h3",e,t,n)}function Mt(e,t,n,r){return E("p",e,t,n)}function jt(e,t,n,r){return E("ul",e,t,n)}function Dt(e,t,n,r){return E("li",e,t,n)}function we(e,t,n,r){return E("a",e,t,n)}let C={contents:void 0};function Pt(){return{disposers:[],signals:[],computeds:[]}}function N(e,t){let n=C.contents;C.contents=e;let r=t();return C.contents=n,r}function Rt(e){let t=C.contents;if(t!==void 0){t.signals.push(e);return}}function Gt(e){let t=C.contents;if(t!==void 0){t.computeds.push(e);return}}function Lt(e){let t=C.contents;if(t!==void 0){t.disposers.push(e);return}}function A(e,t){let n=K(Ie(e.__xote_disposers),[]);e.__xote_disposers=n.concat([t]);let r=C.contents;if(r!==void 0){r.disposers.push(t);return}}let J=(function(e){e.__devtoolsId&&window.__xoteDevToolsMarkAsDisposed&&window.__xoteDevToolsMarkAsDisposed(e.__devtoolsId)});function W(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>{v.dispose(t),J(t)}),e.signals.forEach(t=>J(t))}function Ft(e){let t={disposers:[],signals:[],computeds:[]};return N(t,()=>e(()=>W(t))),()=>W(t)}function Bt(e){return{TAG:"LazyComponent",_0:e}}function G(e){let t=e.__xote_owner;t!=null&&(W(t),e.__xote_owner={disposers:[],signals:[],computeds:[]});let n=e.__xote_disposers;n!=null&&(n.forEach(l=>l.dispose()),e.__xote_disposers=[]),Array.from(e.childNodes||[]).forEach(G)}function k(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=e.tag,o={disposers:[],signals:[],computeds:[]},u;switch(l){case"circle":case"clipPath":case"defs":case"ellipse":case"g":case"line":case"linearGradient":case"marker":case"mask":case"path":case"pattern":case"polygon":case"polyline":case"radialGradient":case"rect":case"stop":case"svg":case"symbol":case"text":case"textPath":case"tspan":case"use":u=document.createElementNS("http://www.w3.org/2000/svg",l);break;default:u=document.createElement(l)}return u.__xote_owner=o,N(o,()=>{r.forEach(a=>{let p=a[1],h=a[0];switch(p.TAG){case"Static":let w=p._0;h==="value"&&l==="input"?u.value=w:u.setAttribute(h,w);return;case"SignalValue":let g=p._0;if(h==="value"&&l==="input"){u.value=i.peek(g);let S=y.run(()=>{let R=i.get(g);u.value=R});return A(u,S)}u.setAttribute(h,i.peek(g));let V=y.run(()=>{let S=i.get(g);u.setAttribute(h,S)});return A(u,V);case"Compute":let I=p._0,s=v.make(()=>I());if(h==="value"&&l==="input"){u.value=i.peek(s);let S=y.run(()=>{let R=i.get(s);u.value=R});return A(u,S)}u.setAttribute(h,i.peek(s));let d=y.run(()=>{let S=i.get(s);u.setAttribute(h,S)});return A(u,d)}}),n.forEach(a=>{u.addEventListener(a[0],a[1])}),t.forEach(a=>{let p=k(a);u.appendChild(p)})}),u;case"Text":return document.createTextNode(e._0);case"SignalText":let c=e._0,f={disposers:[],signals:[],computeds:[]},F=document.createTextNode(i.peek(c));return F.__xote_owner=f,N(f,()=>{let a=y.run(()=>{let p=i.get(c);F.textContent=p});A(F,a)}),F;case"Fragment":let ne=document.createDocumentFragment();return e._0.forEach(a=>{let p=k(a);ne.appendChild(p)}),ne;case"SignalFragment":let Te=e._0,re={disposers:[],signals:[],computeds:[]},T=document.createElement("div");return T.setAttribute("data-signal-fragment","true"),T.setAttribute("style","display: contents"),T.__xote_owner=re,N(re,()=>{let a=y.run(()=>{let p=i.get(Te);Array.from(T.childNodes||[]).forEach(G),T.innerHTML="",p.forEach(w=>{let g=k(w);T.appendChild(g)})});A(T,a)}),T;case"LazyComponent":let le={disposers:[],signals:[],computeds:[]},Ae=N(le,e._0),ue=k(Ae);return ue.__xote_owner=le,ue;case"KeyedList":let q=e.renderItem,H=e.keyFn,oe=e.signal,ie={disposers:[],signals:[],computeds:[]},B=document.createComment(" keyed-list-start "),P=document.createComment(" keyed-list-end ");B.__xote_owner=ie;let $={},Oe=()=>{let a=P.parentNode;if(a==null)return;let p=i.get(oe),h={};p.forEach(s=>{let d=H(s);h[d]=s});let w=[];Object.keys($).forEach(s=>{if(h[s]===void 0){w.push(s);return}}),w.forEach(s=>{let d=$[s];if(d!==void 0){G(d.element),d.element.remove(),vt($,s);return}});let g=[],V={};p.forEach(s=>{let d=H(s),S=$[d];if(S!==void 0){if(S.item!==s){V[d]=!0;let $e=q(s),Ne=k($e),ce={key:d,item:s,element:Ne};g.push(ce),$[d]=ce;return}g.push(S);return}let R=q(s),Ce=k(R),se={key:d,item:s,element:Ce};g.push(se),$[d]=se});let I={contents:B.nextSibling};g.forEach(s=>{let d=I.contents;if(d==null){a.insertBefore(s.element,P);return}if(d===P){a.insertBefore(s.element,P);return}if(d===s.element){I.contents=d.nextSibling;return}K(V[s.key],!1)?(G(d),a.replaceChild(s.element,d),I.contents=s.element.nextSibling):(a.insertBefore(s.element,d),I.contents=s.element.nextSibling)})},z=document.createDocumentFragment();return z.appendChild(B),i.peek(oe).forEach(a=>{let p=H(a),h=q(a),w=k(h),g={key:p,item:a,element:w};$[p]=g,z.appendChild(w)}),z.appendChild(P),N(ie,()=>{let a=y.run(()=>{Oe()});A(B,a)}),z}}function be(e,t){let n=k(e);t.appendChild(n)}function zt(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return be(e,n)}function Vt(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}const Wt=Object.freeze(Object.defineProperty({__proto__:null,a:we,addDisposer:A,attr:ye,button:Ct,component:Bt,computedAttr:yt,createOwner:Pt,createRoot:Ft,currentOwner:C,disposeElement:G,disposeOwner:W,div:At,element:E,fragment:kt,h1:Nt,h2:xt,h3:It,input:$t,keyedList:Vt,li:Dt,list:Tt,markAsDisposedInDevTools:J,mount:be,mountById:zt,p:Mt,registerComputed:Gt,registerEffectDisposer:Lt,registerSignal:Rt,render:k,runWithOwner:N,signalAttr:Et,signalFragment:te,span:Ot,text:wt,textSignal:bt,ul:jt},Symbol.toStringTag,{value:"Module"}));let x=i.make({pathname:"/",search:"",hash:""},void 0,void 0);function Q(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function Kt(){i.set(x,Q());let e=t=>i.set(x,Q());window.addEventListener("popstate",e)}function ke(e,t,n,r){let l=t!==void 0?t:"",o=n!==void 0?n:"",u={pathname:e,search:l,hash:o},c=e+l+o,f={};window.history.pushState(f,"",c),i.set(x,u)}function Xt(e,t,n,r){let l=t!==void 0?t:"",o=n!==void 0?n:"",u={pathname:e,search:l,hash:o},c=e+l+o,f={};window.history.replaceState(f,"",c),i.set(x,u)}function qt(e,t){return te(v.make(()=>{let n=i.get(x),r=ee(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]}))}function Ht(e){return te(v.make(()=>{let t=i.get(x),n=De(e,r=>{let l=ee(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]}))}function Ut(e,t,n,r){let l=t!==void 0?t:[],o=n!==void 0?n:[],u=c=>{c.preventDefault(),ke(e,void 0,void 0)};return we(l.concat([ye("href",e)]),[["click",u]],o)}let Jt,Qt;const Yt=Object.freeze(Object.defineProperty({__proto__:null,Component:Jt,Route:Qt,getCurrentLocation:Q,init:Kt,link:Ut,location:x,push:ke,replace:Xt,route:qt,routes:Ht},Symbol.toStringTag,{value:"Module"}));let Zt=i.Id,en=i.Scheduler,tn=i.make,nn=i.get,rn=i.peek,ln=i.set,un=i.update,on=i.batch,sn=i.untrack,cn={Id:Zt,Scheduler:en,make:tn,get:nn,peek:rn,set:ln,update:un,batch:on,untrack:sn},an=v.Id,dn=v.Signal,fn=v.Observer,pn=v.Scheduler,mn=v.make,hn=v.dispose,_n={Id:an,Signal:dn,Observer:fn,Scheduler:pn,make:mn,dispose:hn},gn=y.Id,Sn=y.Observer,vn=y.Scheduler,En=y.run,yn={Id:gn,Observer:Sn,Scheduler:vn,run:En},wn=Wt,bn=St,kn=Yt;exports.Component=wn;exports.Computed=_n;exports.Effect=yn;exports.Route=bn;exports.Router=kn;exports.Signal=cn;