xote 4.1.0 → 4.1.1

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 R={contents:0};function z(){return R.contents=R.contents+1|0,R.contents}function ge(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 Se(e){if(e!=null)return ge(e)}function Q(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 V(e,t){return e!==void 0?Q(e):t}function ve(e,t,n){return e.reduce(n,t)}function Ee(e,t){let n=e.length,r=new Array(n),l=0;for(let o=0;o<n;++o){let u=e[o],s=t(u);s!==void 0&&(r[l]=Q(s),l=l+1|0)}return r.length=l,r}function we(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 d=new Map,N=new Map,M=new Map,a={contents:void 0},C=new Set,E={contents:!1},g={contents:!1};function B(e){if(N.get(e)===void 0){N.set(e,new Set);return}}function be(e,t){let n=N.get(e);if(n!==void 0){n.forEach(t);return}}function ye(e,t){let n=N.get(e);if(n!==void 0){n.add(t);return}}function ke(e,t){let n=N.get(e);if(n!==void 0){n.delete(t);return}}function Te(e){return Array.from(V(N.get(e),new Set).values())}function Y(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 Ae(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 Oe(e){let t=a.contents;return t!==void 0?t===e:!1}function Ce(e){if(!E.contents){E.contents=!0;try{e(),E.contents=!1;return}catch(t){throw E.contents=!1,t}}}function Ne(e,t){B(t);let n=Oe(e),r=d.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),ye(t,e)}function $(e){e.deps.forEach(t=>ke(t,e.id)),e.deps.clear()}function $e(e){let t=M.get(e);if(t===void 0)return;M.delete(e);let n=d.get(t);if(n!==void 0){$(n),d.delete(t);return}}function Z(e){return ve(e,0,(t,n)=>n>t?n:t)}function Me(e){let t=[];return e.deps.forEach(n=>be(n,r=>{if(r===e.id)return;let l=d.get(r);if(l===void 0)return;if(typeof l.kind=="object"){t.push(l.level);return}})),Z(t)+1|0}function xe(e){let t=[];return e.deps.forEach(n=>{let r=M.get(n);if(r===void 0||r===e.id)return;let l=d.get(r);if(l!==void 0){t.push(l.level);return}}),Z(t)+1|0}function P(e){return typeof e.kind=="object"?xe(e):Me(e)}function Ie(e,t){let n=d.get(e),r=d.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,s=typeof r.kind=="object"?0:1,c=o-s|0;return c!==0?c:n.level-r.level|0}function je(e){g.contents=!0,$(e),Y(e.id,()=>{e.run(),g.contents=!1}),e.level=P(e)}function ee(){for(;C.size>0;){let e=Array.from(C.values());C.clear(),e.sort(Ie),e.forEach(t=>{let n=d.get(t);if(n!==void 0)return je(n)})}}function te(e){if(B(e),Te(e).forEach(t=>{let n=d.get(t);if(n===void 0)return;let r=n.kind;if(typeof r=="object")return n.dirty?void 0:(n.dirty=!0,te(r.VAL));C.add(t)}),C.size>0)return Ce(ee)}function ne(e){let t=M.get(e);if(t===void 0)return;let n=d.get(t);if(n!==void 0&&n.dirty){g.contents=!0,$(n),Y(t,()=>{n.run(),n.dirty=!1,g.contents=!1}),n.level=P(n);return}}function De(e){let t=E.contents;E.contents=!0;try{let n=e();return t||(E.contents=!1,C.size>0&&ee()),n}catch(n){throw t||(E.contents=!1),n}}let Pe=Ae,Ge=B;function re(e,t,n){let r=z();return Ge(r),{id:r,value:{contents:e},version:{contents:0},equals:V(n,(l,o)=>l===o),name:t}}function Re(e){ne(e.id);let t=a.contents;return t!==void 0&&Ne(t,e.id),e.value.contents}function Le(e){return ne(e.id),e.value.contents}function le(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,te(e.id)}function Fe(e,t){le(e,t(e.value.contents))}let ze,Ve,Be=De,We=Pe;const Xe=Object.freeze(Object.defineProperty({__proto__:null,Id:ze,Scheduler:Ve,batch:Be,get:Re,make:re,peek:Le,set:le,untrack:We,update:Fe},Symbol.toStringTag,{value:"Module"}));function ue(e,t,n){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0}}function qe(e){let t=z(),n={contents:void 0},l=ue(t,"Effect",()=>{let s=n.contents;s!==void 0&&s(),n.contents=e()});d.set(t,l),g.contents=!0,$(l);let o=a.contents;a.contents=t;try{l.run(),g.contents=!1}catch(s){throw a.contents=o,g.contents=!1,s}return a.contents=o,l.level=P(l),{dispose:()=>{let s=d.get(t);if(s===void 0)return;let c=n.contents;c!==void 0&&c(),$(s),d.delete(t)}}}let He,Ue,Je;const Ke=Object.freeze(Object.defineProperty({__proto__:null,Id:He,Observer:Ue,Scheduler:Je,run:qe},Symbol.toStringTag,{value:"Module"}));function Qe(e){let t=re(void 0,void 0,void 0),n=z(),r=()=>{let u=e();t.value.contents=u},l=ue(n,{NAME:"Computed",VAL:t.id},r);d.set(n,l),g.contents=!0,$(l);let o=a.contents;a.contents=n;try{l.run(),l.dirty=!1,g.contents=!1}catch(u){throw a.contents=o,g.contents=!1,u}return a.contents=o,l.level=P(l),M.set(t.id,n),t}function Ye(e){$e(e.id)}let Ze,et,tt,nt;const rt=Object.freeze(Object.defineProperty({__proto__:null,Id:Ze,Observer:tt,Scheduler:nt,Signal:et,dispose:Ye,make:Qe},Symbol.toStringTag,{value:"Module"}));let i=Xe,h=rt,_=Ke;function oe(e){return Ee(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function ie(e,t){let n=t.split("/").filter(o=>o!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((o,u)=>{let s=n[u];return o.TAG==="Static"?s===o._0:(r[o._0]=s,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function W(e,t){return ie(oe(e),t)}const lt=Object.freeze(Object.defineProperty({__proto__:null,match:W,matchPath:ie,parsePattern:oe},Symbol.toStringTag,{value:"Module"}));function se(e,t){return[e,{TAG:"Static",_0:t}]}function ut(e,t){return[e,{TAG:"SignalValue",_0:t}]}function ot(e,t){return[e,{TAG:"Compute",_0:t}]}function it(e){return{TAG:"Text",_0:e}}function st(e){return{TAG:"SignalText",_0:h.make(e)}}function ct(e){return{TAG:"Fragment",_0:e}}function X(e){return{TAG:"SignalFragment",_0:e}}function at(e,t){return{TAG:"SignalFragment",_0:h.make(()=>i.get(e).map(t))}}function m(e,t,n,r,l){let o=t!==void 0?t:[].map(c=>c),u=n!==void 0?n:[].map(c=>c),s=r!==void 0?r:[].map(c=>c);return{TAG:"Element",tag:e,attrs:o,events:u,children:s}}function dt(e,t,n,r){return m("div",e,t,n)}function ft(e,t,n,r){return m("span",e,t,n)}function pt(e,t,n,r){return m("button",e,t,n)}function ht(e,t,n){return m("input",e,t,void 0)}function mt(e,t,n,r){return m("h1",e,t,n)}function _t(e,t,n,r){return m("h2",e,t,n)}function gt(e,t,n,r){return m("h3",e,t,n)}function St(e,t,n,r){return m("p",e,t,n)}function vt(e,t,n,r){return m("ul",e,t,n)}function Et(e,t,n,r){return m("li",e,t,n)}function ce(e,t,n,r){return m("a",e,t,n)}let w={contents:void 0};function wt(){return{disposers:[],signals:[],computeds:[]}}function A(e,t){let n=w.contents;w.contents=e;let r=t();return w.contents=n,r}function bt(e){let t=w.contents;if(t!==void 0){t.signals.push(e);return}}function yt(e){let t=w.contents;if(t!==void 0){t.computeds.push(e);return}}function kt(e){let t=w.contents;if(t!==void 0){t.disposers.push(e);return}}function y(e,t){let n=V(Se(e.__xote_disposers),[]);e.__xote_disposers=n.concat([t]);let r=w.contents;if(r!==void 0){r.disposers.push(t);return}}let L=(function(e){e.__devtoolsId&&window.__xoteDevToolsMarkAsDisposed&&window.__xoteDevToolsMarkAsDisposed(e.__devtoolsId)});function D(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>{h.dispose(t),L(t)}),e.signals.forEach(t=>L(t))}function Tt(e){let t={disposers:[],signals:[],computeds:[]};return A(t,()=>e(()=>D(t))),()=>D(t)}function At(e){return{TAG:"LazyComponent",_0:e}}function q(e){let t=e.__xote_owner;t!=null&&(D(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(q)}function O(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,A(o,()=>{r.forEach(f=>{let p=f[1],S=f[0];switch(p.TAG){case"Static":let I=p._0;S==="value"&&l==="input"?u.value=I:u.setAttribute(S,I);return;case"SignalValue":let T=p._0;if(S==="value"&&l==="input"){u.value=i.peek(T);let b=_.run(()=>{let G=i.get(T);u.value=G});return y(u,b)}u.setAttribute(S,i.peek(T));let he=_.run(()=>{let b=i.get(T);u.setAttribute(S,b)});return y(u,he);case"Compute":let me=p._0,j=h.make(()=>me());if(S==="value"&&l==="input"){u.value=i.peek(j);let b=_.run(()=>{let G=i.get(j);u.value=G});return y(u,b)}u.setAttribute(S,i.peek(j));let _e=_.run(()=>{let b=i.get(j);u.setAttribute(S,b)});return y(u,_e)}}),n.forEach(f=>{u.addEventListener(f[0],f[1])}),t.forEach(f=>{let p=O(f);u.appendChild(p)})}),u;case"Text":return document.createTextNode(e._0);case"SignalText":let s=e._0,c={disposers:[],signals:[],computeds:[]},x=document.createTextNode(i.peek(s));return x.__xote_owner=c,A(c,()=>{let f=_.run(()=>{let p=i.get(s);x.textContent=p});y(x,f)}),x;case"Fragment":let H=document.createDocumentFragment();return e._0.forEach(f=>{let p=O(f);H.appendChild(p)}),H;case"SignalFragment":let fe=e._0,U={disposers:[],signals:[],computeds:[]},v=document.createElement("div");return v.setAttribute("data-signal-fragment","true"),v.setAttribute("style","display: contents"),v.__xote_owner=U,A(U,()=>{let f=_.run(()=>{let p=i.get(fe);Array.from(v.childNodes||[]).forEach(q),v.innerHTML="",p.forEach(I=>{let T=O(I);v.appendChild(T)})});y(v,f)}),v;case"LazyComponent":let J={disposers:[],signals:[],computeds:[]},pe=A(J,e._0),K=O(pe);return K.__xote_owner=J,K}}function ae(e,t){let n=O(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 ae(e,n)}const Ct=Object.freeze(Object.defineProperty({__proto__:null,a:ce,addDisposer:y,attr:se,button:pt,component:At,computedAttr:ot,createOwner:wt,createRoot:Tt,currentOwner:w,disposeElement:q,disposeOwner:D,div:dt,element:m,fragment:ct,h1:mt,h2:_t,h3:gt,input:ht,li:Et,list:at,markAsDisposedInDevTools:L,mount:ae,mountById:Ot,p:St,registerComputed:yt,registerEffectDisposer:kt,registerSignal:bt,render:O,runWithOwner:A,signalAttr:ut,signalFragment:X,span:ft,text:it,textSignal:st,ul:vt},Symbol.toStringTag,{value:"Module"}));let k=i.make({pathname:"/",search:"",hash:""},void 0,void 0);function F(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function Nt(){i.set(k,F());let e=t=>i.set(k,F());window.addEventListener("popstate",e)}function de(e,t,n,r){let l=t!==void 0?t:"",o=n!==void 0?n:"",u={pathname:e,search:l,hash:o},s=e+l+o,c={};window.history.pushState(c,"",s),i.set(k,u)}function $t(e,t,n,r){let l=t!==void 0?t:"",o=n!==void 0?n:"",u={pathname:e,search:l,hash:o},s=e+l+o,c={};window.history.replaceState(c,"",s),i.set(k,u)}function Mt(e,t){return X(h.make(()=>{let n=i.get(k),r=W(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]}))}function xt(e){return X(h.make(()=>{let t=i.get(k),n=we(e,r=>{let l=W(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]}))}function It(e,t,n,r){let l=t!==void 0?t:[],o=n!==void 0?n:[],u=s=>{s.preventDefault(),de(e,void 0,void 0)};return ce(l.concat([se("href",e)]),[["click",u]],o)}let jt,Dt;const Pt=Object.freeze(Object.defineProperty({__proto__:null,Component:jt,Route:Dt,getCurrentLocation:F,init:Nt,link:It,location:k,push:de,replace:$t,route:Mt,routes:xt},Symbol.toStringTag,{value:"Module"}));let Gt=i.Id,Rt=i.Scheduler,Lt=i.make,Ft=i.get,zt=i.peek,Vt=i.set,Bt=i.update,Wt=i.batch,Xt=i.untrack,qt={Id:Gt,Scheduler:Rt,make:Lt,get:Ft,peek:zt,set:Vt,update:Bt,batch:Wt,untrack:Xt},Ht=h.Id,Ut=h.Signal,Jt=h.Observer,Kt=h.Scheduler,Qt=h.make,Yt=h.dispose,Zt={Id:Ht,Signal:Ut,Observer:Jt,Scheduler:Kt,make:Qt,dispose:Yt},en=_.Id,tn=_.Observer,nn=_.Scheduler,rn=_.run,ln={Id:en,Observer:tn,Scheduler:nn,run:rn},un=Ct,on=lt,sn=Pt;exports.Component=un;exports.Computed=Zt;exports.Effect=ln;exports.Route=on;exports.Router=sn;exports.Signal=qt;