@tempots/dom 24.0.0-next.11 → 24.0.0-next.13

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/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var ut=Object.defineProperty;var Te=s=>{throw TypeError(s)};var ht=(s,e,t)=>e in s?ut(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e,t)=>ht(s,typeof e!="symbol"?e+"":e,t),Se=(s,e,t)=>e.has(s)||Te("Cannot "+t);var D=(s,e,t)=>(Se(s,e,"read from private field"),t?t.call(s):e.get(s)),be=(s,e,t)=>e.has(s)?Te("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),Z=(s,e,t,r)=>(Se(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ee=(s,e,t)=>s+(e-s)*t,_e=97,Pe=(s,e,t)=>{const r=Math.max(s.length,e.length);let n="";for(let i=0;i<r;i++){let l=s.charCodeAt(i);isNaN(l)&&(l=_e);let a=e.charCodeAt(i);isNaN(a)&&(a=_e),n+=String.fromCharCode(l+(a-l)*t)}return n},ve=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),we=(s,e)=>e,Ce=s=>typeof s=="number"?Ee:typeof s=="string"?Pe:s instanceof Date?ve:we;var S;class L{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");be(this,S);o(this,"dispose",()=>{D(this,S)!=null&&(D(this,S).dispose(),Z(this,S,void 0))});this.index=e,this.total=t,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}get isLast(){return D(this,S)==null&&Z(this,S,this.total.map(e=>this.counter===e)),D(this,S)}}S=new WeakMap;const M=class M{constructor(e,t){o(this,"$__signal__",!0);o(this,"_value");o(this,"_derivatives",[]);o(this,"_onValueListeners",[]);o(this,"_onDisposeListeners",[]);o(this,"get",()=>this._value);o(this,"hasListeners",()=>this._onValueListeners.length>0);o(this,"on",(e,t={})=>{t.skipInitial||e(this.get());const r=t.once?i=>{n(),e(i)}:e;this._onValueListeners.push(r);const n=()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(r),1),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",n)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",n),n});o(this,"_setAndNotify",(e,t)=>{const r=this.equals(this._value,e);r||(this._value=e),(t||!r)&&this._onValueListeners.forEach(n=>n(e))});o(this,"_disposed",!1);o(this,"isDisposed",()=>this._disposed);o(this,"onDispose",e=>{this._onDisposeListeners.push(e)});o(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});o(this,"map",(e,t=(r,n)=>r===n)=>{const r=new E(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(r),r});o(this,"flatMap",(e,t=(r,n)=>r===n)=>{const r=new E(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(r),r});o(this,"tap",e=>this.map(t=>(e(t),t)));o(this,"at",e=>this.map(t=>t[e]));o(this,"_$");o(this,"filter",(e,t)=>{let r=t??this.get();const n=new E(()=>{try{const i=this.get();return r=e(i)?i:r}catch(i){throw console.error("Error in Signal.filter:",i),i}},this.equals);return this.setDerivative(n),n});o(this,"filterMap",(e,t,r=(n,i)=>n===i)=>{let n=t;const i=new E(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},r);return this.setDerivative(i),i});o(this,"mapAsync",(e,t,r,n=(i,l)=>i===l)=>{const i=H(t,n);let l=0,a=new AbortController;return i.onDispose(this.on(async c=>{const u=++l;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});u===l&&i.set(h)}catch(h){if(u===l)if(r!=null)i.set(r(h));else throw h}})),i});o(this,"mapMaybe",(e,t)=>this.map(r=>e(r)??t));o(this,"feedProp",(e,t=!1)=>{const r=this.on(e.set);return e.onDispose(r),t?this.onDispose(e.dispose):this.onDispose(r),e});o(this,"deriveProp",(e=!0)=>this.feedProp(H(this.get()),e));o(this,"count",()=>{let e=0;return this.map(()=>++e)});o(this,"setDerivative",e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty)),this.onDispose(e.dispose)});this.equals=t,this._value=e}get value(){return this._value}get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,t)=>this.at(t)})}};o(M,"ofPromise",(e,t,r,n=(i,l)=>i===l)=>{const i=new M(t,n);return e.then(l=>i._setAndNotify(l,!1)).catch(l=>{r!=null?i._setAndNotify(r(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),i}),o(M,"is",e=>e!=null&&e.$__signal__===!0);let f=M;const dt=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class E extends f{constructor(t,r){super(void 0,r);o(this,"$__computed__",!0);o(this,"_isDirty",!1);o(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});o(this,"_scheduleCount",0);o(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;dt(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});o(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._value=this._fn(),this._setAndNotify(this._value,!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const z=class z extends f{constructor(){super(...arguments);o(this,"$__prop__",!0);o(this,"set",t=>{this._setAndNotify(t,!1)});o(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});o(this,"reducer",(t,...r)=>{const n=this;return function i(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&r.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:i}))}});o(this,"iso",(t,r,n=(i,l)=>i===l)=>{const i=new z(t(this.get()),n);return i.onDispose(this.on(l=>i.set(t(l)))),i.on(l=>this._setAndNotify(r(l),!1)),i});o(this,"atProp",t=>this.iso(r=>r[t],r=>({...this.value,[t]:r})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};o(z,"is",t=>t!=null&&t.$__prop__===!0);let k=z;const X=(s,e,t=(r,n)=>r===n)=>{const r=new E(s,t);return e.forEach(n=>n.setDerivative(r)),r},Oe=(s,e,t={})=>{let r=t.once?()=>{i(),s()}:s;if(t.skipInitial){let l=!1;r=()=>{l?r():l=!0}}const n=X(r,e),i=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",i)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",i),i},H=(s,e=(t,r)=>t===r)=>new k(s,e),R=(s,e=(t,r)=>t===r)=>new f(s,e),K=()=>typeof window<"u"?window:void 0,p={map:(s,e)=>f.is(s)?s.map(e):e(s),toSignal:(s,e)=>f.is(s)?s:R(s,e),maybeToSignal:(s,e)=>{if(s!=null)return p.toSignal(s,e)},get:s=>f.is(s)?s.get():s,on:(s,e)=>f.is(s)?s.on(e):(e(s),()=>{}),dispose:s=>{f.is(s)&&s.dispose()}},ft=(...s)=>(e,t)=>{const r=s.filter(n=>f.is(n));return X(()=>e(...s.map(n=>p.get(n))),r,t)},pt=(...s)=>(e,t={})=>{const r=s.filter(n=>f.is(n));return Oe(()=>e(...s.map(p.get)),r,t)};class ee{constructor(){o(this,"_store",new Map);o(this,"getItem",e=>this._store.get(e)??null);o(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const te=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:i=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(s),c=new k(a!=null?l(n(a)):typeof e=="function"?e():e,i);return c.on(u=>{t.setItem(s,r(u))}),c},gt=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.localStorage)??new ee})},mt=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.sessionStorage)??new ee})};function Ae(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const xe=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,i=(r==null?void 0:r.easing)??(T=>T),l=(r==null?void 0:r.equals)??((T,U)=>T===U);let a=r==null?void 0:r.interpolate,c=s,u=e(),h=performance.now(),m=null,A=!0;const Q=new E(e,l),C=H(s,l);C.onDispose(()=>{m!==null&&cancelAnimationFrame(m)}),C.onDispose(Q.dispose),t.forEach(T=>{T.setDerivative(Q),T.onDispose(C.dispose)});const at=T=>{u=T,h=performance.now(),c=C.value,A&&(A=!1,m=Ae(me))},me=()=>{const U=(performance.now()-h)/p.get(n),ct=i(U);a==null&&(a=Ce(c));let ye=a(c,u,ct);U>=1?(A=!0,ye=u):m=Ae(me),C.set(ye)};return Q.on(at),C},yt=(s,e)=>{const{initialValue:t,...r}=e??{};return xe(t??s.get(),s.get,[s],r)},Tt=(s,e)=>{const{signals:t,literals:r}=Object.entries(s).reduce(({signals:i,literals:l},[a,c])=>(f.is(c)?i.push([a,c]):l[a]=c,{signals:i,literals:l}),{signals:[],literals:{}}),n=t.map(([,i])=>i);return X(()=>(t.forEach(([i,l])=>r[i]=l.value),e(r)),n)},Le=new Set(["checked","disabled","hidden","selected"]),De=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Me=new Set(["valueAsDate"]),ke=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),He=(s,e)=>Le.has(s)?t=>{t==null?e[s]=null:e[s]=!!t}:De.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:Me.has(s)?t=>{t==null?e[s]=null:e[s]=t}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},Ie=(s,e)=>Le.has(s)?()=>!!e[s]:De.has(s)?()=>Number(e[s]):Me.has(s)?()=>e[s]:ke.has(s)?()=>String(e[s]):()=>e.getAttribute(s),I=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},Ne=s=>se(s)?s:s.parentElement,se=s=>s.nodeType===1;class re extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class P{constructor(e,t,r,n){o(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));o(this,"makeChildElement",(e,t)=>{const r=this.createElement(e,t);return this.appendOrInsert(r),this.withElement(r)});o(this,"createText",e=>this.document.createTextNode(e));o(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});o(this,"setText",e=>{this.reference.nodeValue=e});o(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});o(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});o(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});o(this,"withElement",e=>new P(this.document,e,void 0,this.providers));o(this,"makePortal",e=>{const t=this.document.querySelector(e);if(t==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(t)});o(this,"withReference",e=>new P(this.document,this.element,e,this.providers));o(this,"withProviders",e=>new P(this.document,this.element,this.reference,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?I(this.reference):I(this.element))});o(this,"addClasses",e=>{this.element.classList.add(...e)});o(this,"removeClasses",e=>{this.element.classList.remove(...e)});o(this,"getClasses",()=>Array.from(this.element.classList));o(this,"on",(e,t,r)=>(this.element.addEventListener(e,t,r),n=>{n&&this.element.removeEventListener(e,t,r)}));o(this,"isBrowserDOM",()=>!0);o(this,"isHeadlessDOM",()=>!1);o(this,"setStyle",(e,t)=>{this.element.style.setProperty(e,t)});o(this,"getStyle",e=>this.element.style.getPropertyValue(e));o(this,"makeAccessors",e=>({get:Ie(e,this.element),set:He(e,this.element)}));this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t){return new P(e.ownerDocument,e,t,{})}}const Y=(s,e)=>{const t=s(e);return()=>t(!0)},St=(s,e,{doc:t,clear:r}={})=>{const n=typeof e=="string"?(t??document).querySelector(e):e;if(n===null)throw new $e(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??n.ownerDocument)!=null&&n.nodeType===1&&(n.innerHTML="");const i=Ne(n),l=se(n)?void 0:n,a=P.of(i,l);return Y(s,a)},bt=(s,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const r=p.toSignal(e).deriveProp(),n=new ie(t,void 0),i=new v(n,void 0,{currentURL:r},{});return{clear:Y(s(),i),root:n,currentURL:r}};class $e extends Error{constructor(e){super(e)}}const ne="data-tts-node",N="data-tts-class",F="data-tts-style",W="data-tts-html",G="data-tts-text",J="data-tts-attrs";class _t{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:a,appendHTML:c,getInnerHTML:u,setInnerHTML:h,getInnerText:m,setInnerText:A}){o(this,"select");o(this,"getAttribute");o(this,"setAttribute");o(this,"getClass");o(this,"setClass");o(this,"getStyles");o(this,"setStyles");o(this,"appendHTML");o(this,"getInnerHTML");o(this,"setInnerHTML");o(this,"getInnerText");o(this,"setInnerText");o(this,"setFromRoot",(e,t)=>{e.getPortals().forEach(n=>{for(const i of this.select(n.selector)){if(i==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(i,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const l=this.getInnerHTML(i);l!=null&&this.setAttribute(i,W,l)}this.setInnerHTML(i,n.getInnerHTML())}if(n.hasInnerText()){if(t){const l=this.getInnerText(i);l!=null&&this.setAttribute(i,G,l)}this.setInnerText(i,n.getInnerText())}if(n.hasClasses()){if(t){const l=this.getClass(i);l!=null&&this.setAttribute(i,N,l)}this.setClass(i,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const l=this.getStyles(i);Object.keys(l).length>0&&this.setAttribute(i,F,JSON.stringify(l))}this.setStyles(i,n.getStyles())}if(n.hasAttributes()){const l=n.getAttributes();if(t){const a=[];l.forEach(([c])=>{const u=this.getAttribute(i,c);u!=null&&a.push([c,u])}),a.length>0&&this.setAttribute(i,J,JSON.stringify(Object.fromEntries(a)))}l.forEach(([a,c])=>{this.setAttribute(i,a,c)})}}})});this.select=e,this.getAttribute=t,this.setAttribute=r,this.getClass=n,this.setClass=i,this.getStyles=l,this.setStyles=a,this.appendHTML=c,this.getInnerHTML=u,this.setInnerHTML=h,this.getInnerText=m,this.setInnerText=A}}const At=()=>{document.querySelectorAll(`[${ne}]`).forEach(I)},Et=s=>{const e=s.getAttribute(N);s.removeAttribute(N),e!=null&&s.setAttribute("class",e)},Pt=()=>{document.querySelectorAll(`[${N}]`).forEach(e=>Et(e))},vt=s=>{const e=s.getAttribute(W);s.removeAttribute(W),e!=null&&(s.innerHTML=e)},wt=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>vt(e))},Ct=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},Ot=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>Ct(e))},Re=s=>JSON.parse(s.replace(/&quot;/g,'"')),xt=s=>{const e=s.getAttribute(F);if(s.removeAttribute(F),e!=null){const t=Re(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},Lt=()=>{document.querySelectorAll(`[${F}]`).forEach(e=>xt(e))},Dt=s=>{const e=s.getAttribute(J);if(s.removeAttribute(J),e!=null){const t=Re(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Mt=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>Dt(e))},kt=()=>{At(),Pt(),Ot(),wt(),Lt(),Mt()},y=Symbol("class"),_=Symbol("style"),O=Symbol("handler"),Ve=()=>Math.random().toString(36).substring(2,15),Ht=s=>s.replace(/<[^>]*>?/g,"");class je{constructor(e){o(this,"id",Ve());o(this,"properties",{});o(this,"children",[]);o(this,"isElement",()=>!0);o(this,"isText",()=>!1);o(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?Ht(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));o(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});o(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});o(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});o(this,"elements",()=>this.children.filter(e=>e.isElement()));o(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);o(this,"getInnerHTML",()=>this.properties.innerHTML??"");o(this,"getInnerText",()=>this.properties.innerText??"");o(this,"hasInnerText",()=>this.properties.innerText!=null);o(this,"hasChildren",()=>this.children.length>0);o(this,"hasClasses",()=>this.properties[y]!=null);o(this,"hasStyles",()=>this.properties[_]!=null);o(this,"hasAttributes",()=>Object.keys(this.properties).length>0);o(this,"hasHandlers",()=>this.properties[O]!=null);o(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());o(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const r=t.getById(e);if(r!=null)return r}});o(this,"trigger",(e,t)=>{((this.properties[O]??{})[e]??[]).forEach(n=>n(t))});o(this,"click",()=>{this.trigger("click",{})});o(this,"on",(e,t,r)=>{var a;const n=(a=this.properties)[O]??(a[O]={}),i=r!=null&&r.once?c=>{l(),t(c)}:c=>t(c);n[e]=[...n[e]??[],i];const l=()=>{const c=n[e]??[],u=c.indexOf(i);u!==-1&&(c.splice(u,1),c.length===0?(delete n[e],Object.keys(n).length===0&&delete this.properties[O]):n[e]=c,(r==null?void 0:r.signal)!=null&&r.signal.removeEventListener("abort",l))};return(r==null?void 0:r.signal)!=null&&r.signal.addEventListener("abort",l),l});o(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[y]??(r[y]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});o(this,"removeClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[y]??(r[y]=[]);e.forEach(n=>{const i=t.indexOf(n);i!==-1&&t.splice(i,1)}),t.length===0&&delete this.properties[y]});o(this,"getClasses",()=>this.properties[y]??[]);o(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));o(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===y?[["class",this.getClasses()]]:e===_?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[_]??(n[_]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[_])});o(this,"getStyle",e=>{var t;return((t=this.properties[_])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[_]??{});o(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const It=s=>s.replace(/"/g,"&quot;"),Nt=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class qe extends je{constructor(t,r,n){super(n);o(this,"isPortal",()=>!1);o(this,"toHTML",(t=!1)=>{const r=this.children.map(c=>c.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let i=null;const l=this.getVisibleAttributes().map(([c,u])=>c==="class"?` class="${u.join(" ")}"`:c==="style"?typeof u=="string"?` style="${u}"`:` style="${Object.entries(u).map(([h,m])=>`${h}: ${m};`).join(" ")}"`:$t.has(c)?` ${c}`:c==="innerHTML"?(i=u,""):c==="innerText"?(i=Nt(u),""):` ${c}="${It(u)}"`).join(""),a=t?` ${ne}`:"";return Rt.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${a} />`:`<${this.tagName}${n}${l}${a}>${i??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class ie extends je{constructor(t,r){super(r);o(this,"isPortal",()=>!0);o(this,"toHTML",()=>"");o(this,"contentToHTML",(t=!1)=>this.children.map(r=>r.toHTML(t)).join(""));this.selector=t}}class Be{constructor(e){o(this,"id",Ve());o(this,"isElement",()=>!1);o(this,"isText",()=>!0);o(this,"getText",()=>this.text);o(this,"toHTML",()=>this.text);this.text=e}}class v{constructor(e,t,r,n){o(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});o(this,"makeChildElement",(e,t)=>{const r=new qe(e,t,this.element);return this.appendOrInsert(r),new v(r,void 0,this.container,this.providers)});o(this,"makeChildText",e=>{const t=new Be(e);return this.appendOrInsert(t),new v(this.element,t,this.container,this.providers)});o(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});o(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});o(this,"makeRef",()=>this.makeChildText(""));o(this,"makePortal",e=>{const t=new ie(e,this.element);return this.appendOrInsert(t),new v(t,void 0,this.container,this.providers)});o(this,"withProviders",e=>new v(this.element,this.reference,this.container,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});o(this,"on",(e,t)=>this.element.on(e,t));o(this,"addClasses",e=>this.element.addClasses(e));o(this,"removeClasses",e=>this.element.removeClasses(e));o(this,"getClasses",()=>this.element.getClasses());o(this,"isBrowserDOM",()=>!1);o(this,"isHeadlessDOM",()=>!0);o(this,"setStyle",(e,t)=>this.element.setStyle(e,t));o(this,"getStyle",e=>this.element.getStyle(e));o(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=r,this.providers=n}}const $t=new Set(["checked","disabled","multiple","readonly","required","selected"]),Rt=new Set(["img","br","hr","input","link","meta"]),oe=s=>e=>{const t=e.makeChildText(s);return r=>t.clear(r)},le=s=>e=>{const t=e.makeChildText(s.value),r=s.on(n=>t.setText(n));return n=>{r(),t.clear(n)}},Vt=s=>f.is(s)?le(s):oe(s),g=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},b=()=>()=>{},jt=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),qt=s=>e=>{let t=[];const r=s.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(i=>i.length>0),e.addClasses(t)});return n=>{r(),n&&e.removeClasses(t),t.length=0}},V=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r();return n(e),l=>{l&&n(i)}},j=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r(),l=e.on(n);return a=>{l(),a&&n(i)}},w=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?qt(t):jt((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?j(e,t):V(e,t)}),Bt=new Proxy({},{get:(s,e)=>t=>f.is(t)?j(`data-${e}`,t):V(`data-${e}`,t)}),Ut=new Proxy({},{get:(s,e)=>t=>f.is(t)?j(`aria-${e}`,t):V(`aria-${e}`,t)}),Ft=new Proxy({},{get:(s,e)=>t=>f.is(t)?j(e,t):V(e,t)}),Wt=new Proxy({},{get:(s,e)=>t=>f.is(t)?j(e,t):V(e,t)}),d=s=>{if(s==null)return b;if(Array.isArray(s))return g(...s.map(d));if(typeof s=="string")return oe(s);if(f.is(s))return le(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ae=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(i=>d(i)(r));return i=>{n.forEach(l=>l(!1)),r.clear(i)}},ce=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),i=t.map(l=>d(l)(n));return l=>{i.forEach(a=>a(!1)),n.clear(l)}},Gt=new Proxy({},{get:(s,e)=>(...t)=>ae(e,t.flatMap(d))}),Jt=new Proxy({},{get:(s,e)=>(...t)=>ae("input",w.type(e),...t)}),zt="http://www.w3.org/2000/svg",Xt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,zt,t.flatMap(d))}),Yt="http://www.w3.org/1998/Math/MathML",Qt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Yt,t.flatMap(d))}),ue=(s,e)=>{if(typeof e=="function")return ue(s,{then:e});const t=e.pending!=null?d(e.pending):b,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>b;return i=>{let l=!0;const a=s(),c=i.makeRef();let u=d(t)(c);return a.then(h=>{l&&(u(!0),u=d(r(h))(c))},h=>{l&&(u(!0),u=d(n(h))(c))}),h=>{l=!1,u(h),c.clear(h)}}},Zt=(s,e)=>ue(()=>s,e),Ue=(s,e,t)=>r=>r.on(s,e,t),Fe=s=>Ue("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const r=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;r!=null&&s(!r)},0)}),q=new Proxy({},{get:(s,e)=>t=>Ue(e,t)}),We=s=>e=>{const t=e.target;s(t.value)},Ge=s=>e=>{const t=e.target;s(t.valueAsNumber)},Je=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("-"),n=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));s(n)},ze=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("T"),n=r[0].split("-"),i=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=r[1].split(":");i.setHours(Number(l[0])),i.setMinutes(Number(l[1])),i.setSeconds(Number(l[2])),s(i)},Kt=s=>e=>{const t=e.target;s(t.checked)},es=s=>e=>{e.preventDefault(),s()},ts=s=>e=>{e.stopPropagation(),s()},ss=s=>e=>{e.stopImmediatePropagation(),s()},rs=(s,e="input")=>g(w.valueAsDate(s),q[e](Je(s.set))),ns=(s,e="input")=>g(w.valueAsDate(s),q[e](ze(s.set))),is=(s,e="input")=>g(w.valueAsNumber(s),q[e](Ge(s.set))),os=(s,e="input")=>g(w.value(s),q[e](We(s.set))),ls=s=>g(w.checked(s),Fe(s.set)),B=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let i,l;const a=s.map(h=>Object.keys(h)[0]);let c;const u=a.on(h=>{if(h!==c){l==null||l.dispose(),i==null||i(!0),l=s.map(A=>A[h]);const m=e[h](l);i=d(m)(n),c=h}});return h=>{u(),n.clear(h),i==null||i(h)}};const t=Object.keys(s)[0];return d(e[t](R(s[t])))},he=(s,e,t)=>B(p.map(s,r=>({[r[e]]:r})),t),as=(s,e)=>he(s,"kind",e),cs=(s,e)=>{const t=p.map(s,([r,n])=>({[r]:n}));return B(t,e)},us=(s,e)=>he(s,"type",e),Xe=(s,e)=>B(p.map(s,t=>({[t]:!0})),e),hs=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return Xe(t.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:()=>r,last:()=>n,other:()=>s})},Ye=(s,e)=>t=>{const r=Object.values(s).reduce((n,i)=>{const l=t.getProvider(i);return n[i]=l,n},{});return d(e(r))(t)},ds=(s,e)=>t=>{const r=[],n=Object.entries(s).reduce((i,[l,a])=>(r.push(a(c=>(Reflect.set(i,l,c),null))(t)),i),{});return r.push(e(n)(t)),i=>{r.forEach(l=>l(i))}},Qe=(s,e)=>Ye([s],t=>d(e(t[s]))),fs=(s,e)=>Ye(s,t=>d(e(t))),ps=s=>e=>s(e)??(()=>{}),gs=s=>e=>(e.appendOrInsert(s),t=>{t&&I(s)}),Ze=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=null,a=!1;const c=H(null),u=r.on(h=>{h==null?(l==null||l(!0),l=d((t==null?void 0:t())??b)(i),a=!1):(c.value=h,a||(l==null||l(!0),l=d(e(c))(i),a=!0))});return h=>{u(),l==null||l(h),i.clear(h)}}}else{const r=s;if(r==null){const n=t==null?void 0:t();return n!=null?d(n):b}return d(e(R(r)))}},$=s=>e=>t=>s(t,e),de=(s,e,t)=>fe(s,()=>e,()=>t),fe=(s,e,t)=>Ze(p.map(s,r=>r?!0:null),e,t??void 0),ms=(s,e,t)=>Ke(s,()=>e,()=>t),Ke=(s,e,t)=>fe(p.map(s,r=>!r),e,t),pe=(s,e,t)=>t!=null?pe(s,r=>{const n=new L(r.index,r.total.map(i=>i-1));return g($(n.dispose),d(e(r)),de(r.isLast,b,t(n)))}):f.is(s)?r=>{const n=r.makeRef(),i=Array.from({length:s.value},(c,u)=>u).map(c=>new L(c,s)),l=i.map(c=>d(e(c))(n)),a=s.on(c=>{for(;c<l.length;)i.pop().dispose(),l.pop()(!0);for(let u=0;u<c;u++)if(i[u]==null){i[u]=new L(u,s);const h=d(e(i[u]));l[u]=h(n)}});return c=>{a(),n.clear(c)}}:g(...Array.from({length:s},(r,n)=>n).map(r=>d(e(new L(r,R(s)))))),et=(s,e,t)=>{if(t!=null)return et(s,(r,n)=>{const i=new L(n.index,n.total.map(l=>l-1));return g([$(i.dispose),d(e(r,n)),de(n.isLast,b,t(i))])});{const r=p.map(s,i=>i.length),n=p.toSignal(s);return pe(r,i=>{const l=n.map(a=>a[i.index]);return g($(l.dispose),d(e(l,i)))})}},tt=s=>e=>e.isBrowserDOM()?s(e)??(()=>{}):()=>{},ys=s=>e=>e.isHeadlessDOM()?s(e)??(()=>{}):()=>{},Ts=s=>tt(e=>s(e.element)??(()=>{})),Ss=(s,e)=>{if(f.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(a=>d(e(a)));let i=()=>{};const l=n.on(a=>{i(!0),i=a(r)});return a=>{l(),i(a)}}}return d(e(s))},bs=(s,e,t=()=>b)=>B(p.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),_s=(s,e)=>t=>{const r=t.makePortal(s);return Y(d(e),r)},st=s=>Symbol(s),rt=(s,e)=>t=>d(e)(t.withProviders(s)),As=(...s)=>s.length>0?s.reduceRight((e,t)=>r=>e(t(r))):d,nt=(s,e,t)=>rt({[s]:e},d(t)),Es=(s,e)=>rt(s,d(e)),ge=st("Probe"),x=new Map,it=({identifier:s,callback:e=()=>{},child:t,timeout:r=10})=>{if(x.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>e("timeout"),r);x.set(s,{counter:0,timeoutId:n});const i=l=>{clearTimeout(n);const a=x.get(l);if(a==null)throw new Error(`Probe not found: ${l.description}`);--a.counter===0?(e("resolved"),x.delete(l)):x.set(l,a)};return g($(()=>clearTimeout(n)),nt(ge,i,t))},ot=(s,e)=>Qe(ge,t=>{const r=x.get(s);return r==null?e(()=>{}):(clearTimeout(r.timeoutId),r.counter++,e(()=>t(s)))}),lt=Symbol("globalProbe"),Ps=({callback:s,timeout:e},t)=>it({identifier:lt,callback:s,child:t,timeout:e}),vs=s=>ot(lt,s),ws=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},Cs=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},Os=new Proxy({},{get:(s,e)=>t=>f.is(t)?Cs(e,t):ws(e,t)});exports.Async=Zt;exports.BindChecked=ls;exports.BindDate=rs;exports.BindDateTime=ns;exports.BindNumber=is;exports.BindText=os;exports.BrowserContext=P;exports.CLASS_PLACEHOLDER_ATTR=N;exports.Computed=E;exports.Conjunction=hs;exports.DOMNode=gs;exports.El=ae;exports.ElNS=ce;exports.ElementPosition=L;exports.Empty=b;exports.Ensure=Ze;exports.ForEach=et;exports.Fragment=g;exports.HeadlessAdapter=_t;exports.HeadlessContext=v;exports.HeadlessElement=qe;exports.HeadlessPortal=ie;exports.HeadlessText=Be;exports.LazyUnless=Ke;exports.LazyWhen=fe;exports.MapSignal=Ss;exports.MemoryStore=ee;exports.NotEmpty=bs;exports.OnBrowserCtx=tt;exports.OnChecked=Fe;exports.OnCtx=ps;exports.OnDispose=$;exports.OnElement=Ts;exports.OnHeadlessCtx=ys;exports.OneOf=B;exports.OneOfField=he;exports.OneOfKind=as;exports.OneOfTuple=cs;exports.OneOfType=us;exports.OneOfValue=Xe;exports.Portal=_s;exports.Prop=k;exports.Provide=As;exports.ProvideGlobalProbe=Ps;exports.ProvideProbe=it;exports.ProviderNotFoundError=re;exports.RenderingError=$e;exports.Repeat=pe;exports.Signal=f;exports.Task=ue;exports.TextNode=Vt;exports.Unless=ms;exports.Use=ds;exports.UseGlobalProbe=vs;exports.UseProbe=ot;exports.UseProvider=Qe;exports.UseProviders=fs;exports.Value=p;exports.When=de;exports.WithProvider=nt;exports.WithProviders=Es;exports._NODE_PLACEHOLDER_ATTR=ne;exports._getSelfOrParentElement=Ne;exports._isElement=se;exports._makeGetter=Ie;exports._makeSetter=He;exports._removeDOMNode=I;exports._signalText=le;exports._staticText=oe;exports.animateSignal=yt;exports.animateSignals=xe;exports.aria=Ut;exports.attr=w;exports.dataAttr=Bt;exports.emitChecked=Kt;exports.emitPreventDefault=es;exports.emitStopImmediatePropagation=ss;exports.emitStopPropagation=ts;exports.emitValue=We;exports.emitValueAsDate=Je;exports.emitValueAsDateTime=ze;exports.emitValueAsNumber=Ge;exports.endInterpolate=we;exports.getWindow=K;exports.guessInterpolate=Ce;exports.html=Gt;exports.input=Jt;exports.interpolateDate=ve;exports.interpolateNumber=Ee;exports.interpolateString=Pe;exports.localStorageProp=gt;exports.makeComputed=X;exports.makeComputedOf=ft;exports.makeComputedRecord=Tt;exports.makeEffect=Oe;exports.makeEffectOf=pt;exports.makeProp=H;exports.makeProviderMark=st;exports.makeSignal=R;exports.math=Qt;exports.mathAttr=Wt;exports.on=q;exports.probeMarker=ge;exports.render=St;exports.renderWithContext=Y;exports.renderableOfTNode=d;exports.restoreTempoPlaceholders=kt;exports.runHeadless=bt;exports.sessionStorageProp=mt;exports.storedProp=te;exports.style=Os;exports.svg=Xt;exports.svgAttr=Ft;
1
+ "use strict";var ut=Object.defineProperty;var Te=s=>{throw TypeError(s)};var ht=(s,e,t)=>e in s?ut(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e,t)=>ht(s,typeof e!="symbol"?e+"":e,t),Se=(s,e,t)=>e.has(s)||Te("Cannot "+t);var D=(s,e,t)=>(Se(s,e,"read from private field"),t?t.call(s):e.get(s)),be=(s,e,t)=>e.has(s)?Te("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),Z=(s,e,t,r)=>(Se(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Pe=(s,e,t)=>s+(e-s)*t,Ae=97,_e=(s,e,t)=>{const r=Math.max(s.length,e.length);let n="";for(let i=0;i<r;i++){let l=s.charCodeAt(i);isNaN(l)&&(l=Ae);let a=e.charCodeAt(i);isNaN(a)&&(a=Ae),n+=String.fromCharCode(l+(a-l)*t)}return n},ve=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),we=(s,e)=>e,Ce=s=>typeof s=="number"?Pe:typeof s=="string"?_e:s instanceof Date?ve:we;var S;class L{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");be(this,S);o(this,"dispose",()=>{D(this,S)!=null&&(D(this,S).dispose(),Z(this,S,void 0))});this.index=e,this.total=t,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}get isLast(){return D(this,S)==null&&Z(this,S,this.total.map(e=>this.counter===e)),D(this,S)}}S=new WeakMap;const M=class M{constructor(e,t){o(this,"$__signal__",!0);o(this,"_value");o(this,"_derivatives",[]);o(this,"_onValueListeners",[]);o(this,"_onDisposeListeners",[]);o(this,"get",()=>this._value);o(this,"hasListeners",()=>this._onValueListeners.length>0);o(this,"on",(e,t={})=>{t.skipInitial||e(this.get(),void 0);const r=t.once?(i,l)=>{n(),e(i,l)}:e;this._onValueListeners.push(r);const n=()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(r),1),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",n)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",n),n});o(this,"_setAndNotify",(e,t)=>{const r=this._value,n=this.equals(r,e);n||(this._value=e),(t||!n)&&this._onValueListeners.forEach(i=>i(e,r))});o(this,"_disposed",!1);o(this,"isDisposed",()=>this._disposed);o(this,"onDispose",e=>{this._onDisposeListeners.push(e)});o(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});o(this,"map",(e,t=(r,n)=>r===n)=>{const r=new P(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(r),r});o(this,"flatMap",(e,t=(r,n)=>r===n)=>{const r=new P(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(r),r});o(this,"tap",e=>this.map(t=>(e(t),t)));o(this,"at",e=>this.map(t=>t[e]));o(this,"_$");o(this,"filter",(e,t)=>{let r=t??this.get();const n=new P(()=>{try{const i=this.get();return r=e(i)?i:r}catch(i){throw console.error("Error in Signal.filter:",i),i}},this.equals);return this.setDerivative(n),n});o(this,"filterMap",(e,t,r=(n,i)=>n===i)=>{let n=t;const i=new P(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},r);return this.setDerivative(i),i});o(this,"mapAsync",(e,t,r,n=(i,l)=>i===l)=>{const i=H(t,n);let l=0,a=new AbortController;return i.onDispose(this.on(async c=>{const u=++l;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});u===l&&i.set(h)}catch(h){if(u===l)if(r!=null)i.set(r(h));else throw h}})),i});o(this,"mapMaybe",(e,t)=>this.map(r=>e(r)??t));o(this,"feedProp",(e,t=!1)=>{const r=this.on(e.set);return e.onDispose(r),t?this.onDispose(e.dispose):this.onDispose(r),e});o(this,"deriveProp",(e=!0)=>this.feedProp(H(this.get()),e));o(this,"count",()=>{let e=0;return this.map(()=>++e)});o(this,"setDerivative",e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty)),this.onDispose(e.dispose)});this.equals=t,this._value=e}get value(){return this._value}get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,t)=>this.at(t)})}};o(M,"ofPromise",(e,t,r,n=(i,l)=>i===l)=>{const i=new M(t,n);return e.then(l=>i._setAndNotify(l,!1)).catch(l=>{r!=null?i._setAndNotify(r(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),i}),o(M,"is",e=>e!=null&&e.$__signal__===!0);let f=M;const dt=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class P extends f{constructor(t,r){super(void 0,r);o(this,"$__computed__",!0);o(this,"_isDirty",!1);o(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});o(this,"_scheduleCount",0);o(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;dt(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});o(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const z=class z extends f{constructor(){super(...arguments);o(this,"$__prop__",!0);o(this,"set",t=>{this._setAndNotify(t,!1)});o(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});o(this,"reducer",(t,...r)=>{const n=this;return function i(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&r.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:i}))}});o(this,"iso",(t,r,n=(i,l)=>i===l)=>{const i=new z(t(this.get()),n);return i.onDispose(this.on(l=>i.set(t(l)))),i.on(l=>this._setAndNotify(r(l),!1)),i});o(this,"atProp",t=>this.iso(r=>r[t],r=>({...this.value,[t]:r})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};o(z,"is",t=>t!=null&&t.$__prop__===!0);let k=z;const X=(s,e,t=(r,n)=>r===n)=>{const r=new P(s,t);return e.forEach(n=>n.setDerivative(r)),r},Oe=(s,e,t={})=>{let r=t.once?()=>{i(),s()}:s;if(t.skipInitial){let l=!1;const a=r;r=()=>{l?a():l=!0}}const n=X(r,e),i=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",i)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",i),i},H=(s,e=(t,r)=>t===r)=>new k(s,e),R=(s,e=(t,r)=>t===r)=>new f(s,e),K=()=>typeof window<"u"?window:void 0,p={map:(s,e)=>f.is(s)?s.map(e):e(s),toSignal:(s,e)=>f.is(s)?s:R(s,e),maybeToSignal:(s,e)=>{if(s!=null)return p.toSignal(s,e)},get:s=>f.is(s)?s.get():s,on:(s,e)=>f.is(s)?s.on(e):(e(s),()=>{}),dispose:s=>{f.is(s)&&s.dispose()}},ft=(...s)=>(e,t)=>{const r=s.filter(n=>f.is(n));return X(()=>e(...s.map(n=>p.get(n))),r,t)},pt=(...s)=>(e,t={})=>{const r=s.filter(n=>f.is(n));return Oe(()=>e(...s.map(p.get)),r,t)};class ee{constructor(){o(this,"_store",new Map);o(this,"getItem",e=>this._store.get(e)??null);o(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const te=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:i=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(s),c=new k(a!=null?l(n(a)):typeof e=="function"?e():e,i);return c.on(u=>{t.setItem(s,r(u))}),c},gt=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.localStorage)??new ee})},mt=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.sessionStorage)??new ee})};function Ee(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const xe=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,i=(r==null?void 0:r.easing)??(T=>T),l=(r==null?void 0:r.equals)??((T,F)=>T===F);let a=r==null?void 0:r.interpolate,c=s,u=e(),h=performance.now(),m=null,E=!0;const Q=new P(e,l),C=H(s,l);C.onDispose(()=>{m!==null&&cancelAnimationFrame(m)}),C.onDispose(Q.dispose),t.forEach(T=>{T.setDerivative(Q),T.onDispose(C.dispose)});const at=T=>{u=T,h=performance.now(),c=C.value,E&&(E=!1,m=Ee(me))},me=()=>{const F=(performance.now()-h)/p.get(n),ct=i(F);a==null&&(a=Ce(c));let ye=a(c,u,ct);F>=1?(E=!0,ye=u):m=Ee(me),C.set(ye)};return Q.on(at),C},yt=(s,e)=>{const{initialValue:t,...r}=e??{};return xe(t??s.get(),s.get,[s],r)},Tt=(s,e)=>{const{signals:t,literals:r}=Object.entries(s).reduce(({signals:i,literals:l},[a,c])=>(f.is(c)?i.push([a,c]):l[a]=c,{signals:i,literals:l}),{signals:[],literals:{}}),n=t.map(([,i])=>i);return X(()=>(t.forEach(([i,l])=>r[i]=l.value),e(r)),n)},Le=new Set(["checked","disabled","hidden","selected"]),De=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Me=new Set(["valueAsDate"]),ke=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),He=(s,e)=>Le.has(s)?t=>{t==null?e[s]=null:e[s]=!!t}:De.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:Me.has(s)?t=>{t==null?e[s]=null:e[s]=t}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},Ie=(s,e)=>Le.has(s)?()=>!!e[s]:De.has(s)?()=>Number(e[s]):Me.has(s)?()=>e[s]:ke.has(s)?()=>String(e[s]):()=>e.getAttribute(s),I=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},Ne=s=>se(s)?s:s.parentElement,se=s=>s.nodeType===1;class re extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class _{constructor(e,t,r,n){o(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));o(this,"makeChildElement",(e,t)=>{const r=this.createElement(e,t);return this.appendOrInsert(r),this.withElement(r)});o(this,"createText",e=>this.document.createTextNode(e));o(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});o(this,"setText",e=>{this.reference.nodeValue=e});o(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});o(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});o(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});o(this,"withElement",e=>new _(this.document,e,void 0,this.providers));o(this,"makePortal",e=>{const t=this.document.querySelector(e);if(t==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(t)});o(this,"withReference",e=>new _(this.document,this.element,e,this.providers));o(this,"withProviders",e=>new _(this.document,this.element,this.reference,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?I(this.reference):I(this.element))});o(this,"addClasses",e=>{this.element.classList.add(...e)});o(this,"removeClasses",e=>{this.element.classList.remove(...e)});o(this,"getClasses",()=>Array.from(this.element.classList));o(this,"on",(e,t,r)=>(this.element.addEventListener(e,t,r),n=>{n&&this.element.removeEventListener(e,t,r)}));o(this,"isBrowserDOM",()=>!0);o(this,"isHeadlessDOM",()=>!1);o(this,"setStyle",(e,t)=>{this.element.style.setProperty(e,t)});o(this,"getStyle",e=>this.element.style.getPropertyValue(e));o(this,"makeAccessors",e=>({get:Ie(e,this.element),set:He(e,this.element)}));this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t){return new _(e.ownerDocument,e,t,{})}}const Y=(s,e)=>{const t=s(e);return()=>t(!0)},St=(s,e,{doc:t,clear:r}={})=>{const n=typeof e=="string"?(t??document).querySelector(e):e;if(n===null)throw new $e(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??n.ownerDocument)!=null&&n.nodeType===1&&(n.innerHTML="");const i=Ne(n),l=se(n)?void 0:n,a=_.of(i,l);return Y(s,a)},bt=(s,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const r=p.toSignal(e).deriveProp(),n=new ie(t,void 0),i=new v(n,void 0,{currentURL:r},{});return{clear:Y(s(),i),root:n,currentURL:r}};class $e extends Error{constructor(e){super(e)}}const ne="data-tts-node",N="data-tts-class",U="data-tts-style",W="data-tts-html",G="data-tts-text",J="data-tts-attrs";class At{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:a,appendHTML:c,getInnerHTML:u,setInnerHTML:h,getInnerText:m,setInnerText:E}){o(this,"select");o(this,"getAttribute");o(this,"setAttribute");o(this,"getClass");o(this,"setClass");o(this,"getStyles");o(this,"setStyles");o(this,"appendHTML");o(this,"getInnerHTML");o(this,"setInnerHTML");o(this,"getInnerText");o(this,"setInnerText");o(this,"setFromRoot",(e,t)=>{e.getPortals().forEach(n=>{for(const i of this.select(n.selector)){if(i==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(i,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const l=this.getInnerHTML(i);l!=null&&this.setAttribute(i,W,l)}this.setInnerHTML(i,n.getInnerHTML())}if(n.hasInnerText()){if(t){const l=this.getInnerText(i);l!=null&&this.setAttribute(i,G,l)}this.setInnerText(i,n.getInnerText())}if(n.hasClasses()){if(t){const l=this.getClass(i);l!=null&&this.setAttribute(i,N,l)}this.setClass(i,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const l=this.getStyles(i);Object.keys(l).length>0&&this.setAttribute(i,U,JSON.stringify(l))}this.setStyles(i,n.getStyles())}if(n.hasAttributes()){const l=n.getAttributes();if(t){const a=[];l.forEach(([c])=>{const u=this.getAttribute(i,c);u!=null&&a.push([c,u])}),a.length>0&&this.setAttribute(i,J,JSON.stringify(Object.fromEntries(a)))}l.forEach(([a,c])=>{this.setAttribute(i,a,c)})}}})});this.select=e,this.getAttribute=t,this.setAttribute=r,this.getClass=n,this.setClass=i,this.getStyles=l,this.setStyles=a,this.appendHTML=c,this.getInnerHTML=u,this.setInnerHTML=h,this.getInnerText=m,this.setInnerText=E}}const Et=()=>{document.querySelectorAll(`[${ne}]`).forEach(I)},Pt=s=>{const e=s.getAttribute(N);s.removeAttribute(N),e!=null&&s.setAttribute("class",e)},_t=()=>{document.querySelectorAll(`[${N}]`).forEach(e=>Pt(e))},vt=s=>{const e=s.getAttribute(W);s.removeAttribute(W),e!=null&&(s.innerHTML=e)},wt=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>vt(e))},Ct=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},Ot=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>Ct(e))},Re=s=>JSON.parse(s.replace(/&quot;/g,'"')),xt=s=>{const e=s.getAttribute(U);if(s.removeAttribute(U),e!=null){const t=Re(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},Lt=()=>{document.querySelectorAll(`[${U}]`).forEach(e=>xt(e))},Dt=s=>{const e=s.getAttribute(J);if(s.removeAttribute(J),e!=null){const t=Re(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Mt=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>Dt(e))},kt=()=>{Et(),_t(),Ot(),wt(),Lt(),Mt()},y=Symbol("class"),A=Symbol("style"),O=Symbol("handler"),Ve=()=>Math.random().toString(36).substring(2,15),Ht=s=>s.replace(/<[^>]*>?/g,"");class je{constructor(e){o(this,"id",Ve());o(this,"properties",{});o(this,"children",[]);o(this,"isElement",()=>!0);o(this,"isText",()=>!1);o(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?Ht(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));o(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});o(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});o(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});o(this,"elements",()=>this.children.filter(e=>e.isElement()));o(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);o(this,"getInnerHTML",()=>this.properties.innerHTML??"");o(this,"getInnerText",()=>this.properties.innerText??"");o(this,"hasInnerText",()=>this.properties.innerText!=null);o(this,"hasChildren",()=>this.children.length>0);o(this,"hasClasses",()=>this.properties[y]!=null);o(this,"hasStyles",()=>this.properties[A]!=null);o(this,"hasAttributes",()=>Object.keys(this.properties).length>0);o(this,"hasHandlers",()=>this.properties[O]!=null);o(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());o(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const r=t.getById(e);if(r!=null)return r}});o(this,"trigger",(e,t)=>{((this.properties[O]??{})[e]??[]).forEach(n=>n(t))});o(this,"click",()=>{this.trigger("click",{})});o(this,"on",(e,t,r)=>{var a;const n=(a=this.properties)[O]??(a[O]={}),i=r!=null&&r.once?c=>{l(),t(c)}:c=>t(c);n[e]=[...n[e]??[],i];const l=()=>{const c=n[e]??[],u=c.indexOf(i);u!==-1&&(c.splice(u,1),c.length===0?(delete n[e],Object.keys(n).length===0&&delete this.properties[O]):n[e]=c,(r==null?void 0:r.signal)!=null&&r.signal.removeEventListener("abort",l))};return(r==null?void 0:r.signal)!=null&&r.signal.addEventListener("abort",l),l});o(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[y]??(r[y]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});o(this,"removeClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[y]??(r[y]=[]);e.forEach(n=>{const i=t.indexOf(n);i!==-1&&t.splice(i,1)}),t.length===0&&delete this.properties[y]});o(this,"getClasses",()=>this.properties[y]??[]);o(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));o(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===y?[["class",this.getClasses()]]:e===A?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[A]??(n[A]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[A])});o(this,"getStyle",e=>{var t;return((t=this.properties[A])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[A]??{});o(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const It=s=>s.replace(/"/g,"&quot;"),Nt=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class qe extends je{constructor(t,r,n){super(n);o(this,"isPortal",()=>!1);o(this,"toHTML",(t=!1)=>{const r=this.children.map(c=>c.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let i=null;const l=this.getVisibleAttributes().map(([c,u])=>c==="class"?` class="${u.join(" ")}"`:c==="style"?typeof u=="string"?` style="${u}"`:` style="${Object.entries(u).map(([h,m])=>`${h}: ${m};`).join(" ")}"`:$t.has(c)?` ${c}`:c==="innerHTML"?(i=u,""):c==="innerText"?(i=Nt(u),""):` ${c}="${It(u)}"`).join(""),a=t?` ${ne}`:"";return Rt.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${a} />`:`<${this.tagName}${n}${l}${a}>${i??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class ie extends je{constructor(t,r){super(r);o(this,"isPortal",()=>!0);o(this,"toHTML",()=>"");o(this,"contentToHTML",(t=!1)=>this.children.map(r=>r.toHTML(t)).join(""));this.selector=t}}class Be{constructor(e){o(this,"id",Ve());o(this,"isElement",()=>!1);o(this,"isText",()=>!0);o(this,"getText",()=>this.text);o(this,"toHTML",()=>this.text);this.text=e}}class v{constructor(e,t,r,n){o(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});o(this,"makeChildElement",(e,t)=>{const r=new qe(e,t,this.element);return this.appendOrInsert(r),new v(r,void 0,this.container,this.providers)});o(this,"makeChildText",e=>{const t=new Be(e);return this.appendOrInsert(t),new v(this.element,t,this.container,this.providers)});o(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});o(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});o(this,"makeRef",()=>this.makeChildText(""));o(this,"makePortal",e=>{const t=new ie(e,this.element);return this.appendOrInsert(t),new v(t,void 0,this.container,this.providers)});o(this,"withProviders",e=>new v(this.element,this.reference,this.container,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});o(this,"on",(e,t)=>this.element.on(e,t));o(this,"addClasses",e=>this.element.addClasses(e));o(this,"removeClasses",e=>this.element.removeClasses(e));o(this,"getClasses",()=>this.element.getClasses());o(this,"isBrowserDOM",()=>!1);o(this,"isHeadlessDOM",()=>!0);o(this,"setStyle",(e,t)=>this.element.setStyle(e,t));o(this,"getStyle",e=>this.element.getStyle(e));o(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=r,this.providers=n}}const $t=new Set(["checked","disabled","multiple","readonly","required","selected"]),Rt=new Set(["img","br","hr","input","link","meta"]),oe=s=>e=>{const t=e.makeChildText(s);return r=>t.clear(r)},le=s=>e=>{const t=e.makeChildText(s.value),r=s.on(n=>t.setText(n));return n=>{r(),t.clear(n)}},Vt=s=>f.is(s)?le(s):oe(s),g=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},b=()=>()=>{},jt=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),qt=s=>e=>{let t=[];const r=s.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(i=>i.length>0),e.addClasses(t)});return n=>{r(),n&&e.removeClasses(t),t.length=0}},V=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r();return n(e),l=>{l&&n(i)}},j=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r(),l=e.on(n);return a=>{l(),a&&n(i)}},w=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?qt(t):jt((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?j(e,t):V(e,t)}),Bt=new Proxy({},{get:(s,e)=>t=>f.is(t)?j(`data-${e}`,t):V(`data-${e}`,t)}),Ft=new Proxy({},{get:(s,e)=>t=>f.is(t)?j(`aria-${e}`,t):V(`aria-${e}`,t)}),Ut=new Proxy({},{get:(s,e)=>t=>f.is(t)?j(e,t):V(e,t)}),Wt=new Proxy({},{get:(s,e)=>t=>f.is(t)?j(e,t):V(e,t)}),d=s=>{if(s==null)return b;if(Array.isArray(s))return g(...s.map(d));if(typeof s=="string")return oe(s);if(f.is(s))return le(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ae=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(i=>d(i)(r));return i=>{n.forEach(l=>l(!1)),r.clear(i)}},ce=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),i=t.map(l=>d(l)(n));return l=>{i.forEach(a=>a(!1)),n.clear(l)}},Gt=new Proxy({},{get:(s,e)=>(...t)=>ae(e,t.flatMap(d))}),Jt=new Proxy({},{get:(s,e)=>(...t)=>ae("input",w.type(e),...t)}),zt="http://www.w3.org/2000/svg",Xt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,zt,t.flatMap(d))}),Yt="http://www.w3.org/1998/Math/MathML",Qt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Yt,t.flatMap(d))}),ue=(s,e)=>{if(typeof e=="function")return ue(s,{then:e});const t=e.pending!=null?d(e.pending):b,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>b;return i=>{let l=!0;const a=s(),c=i.makeRef();let u=d(t)(c);return a.then(h=>{l&&(u(!0),u=d(r(h))(c))},h=>{l&&(u(!0),u=d(n(h))(c))}),h=>{l=!1,u(h),c.clear(h)}}},Zt=(s,e)=>ue(()=>s,e),Fe=(s,e,t)=>r=>r.on(s,e,t),Ue=s=>Fe("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const r=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;r!=null&&s(!r)},0)}),q=new Proxy({},{get:(s,e)=>t=>Fe(e,t)}),We=s=>e=>{const t=e.target;s(t.value)},Ge=s=>e=>{const t=e.target;s(t.valueAsNumber)},Je=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("-"),n=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));s(n)},ze=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("T"),n=r[0].split("-"),i=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=r[1].split(":");i.setHours(Number(l[0])),i.setMinutes(Number(l[1])),i.setSeconds(Number(l[2])),s(i)},Kt=s=>e=>{const t=e.target;s(t.checked)},es=s=>e=>{e.preventDefault(),s()},ts=s=>e=>{e.stopPropagation(),s()},ss=s=>e=>{e.stopImmediatePropagation(),s()},rs=(s,e="input")=>g(w.valueAsDate(s),q[e](Je(s.set))),ns=(s,e="input")=>g(w.valueAsDate(s),q[e](ze(s.set))),is=(s,e="input")=>g(w.valueAsNumber(s),q[e](Ge(s.set))),os=(s,e="input")=>g(w.value(s),q[e](We(s.set))),ls=s=>g(w.checked(s),Ue(s.set)),B=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let i,l;const a=s.map(h=>Object.keys(h)[0]);let c;const u=a.on(h=>{if(h!==c){l==null||l.dispose(),i==null||i(!0),l=s.map(E=>E[h]);const m=e[h](l);i=d(m)(n),c=h}});return h=>{u(),n.clear(h),i==null||i(h)}};const t=Object.keys(s)[0];return d(e[t](R(s[t])))},he=(s,e,t)=>B(p.map(s,r=>({[r[e]]:r})),t),as=(s,e)=>he(s,"kind",e),cs=(s,e)=>{const t=p.map(s,([r,n])=>({[r]:n}));return B(t,e)},us=(s,e)=>he(s,"type",e),Xe=(s,e)=>B(p.map(s,t=>({[t]:!0})),e),hs=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return Xe(t.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:()=>r,last:()=>n,other:()=>s})},Ye=(s,e)=>t=>{const r=Object.values(s).reduce((n,i)=>{const l=t.getProvider(i);return n[i]=l,n},{});return d(e(r))(t)},ds=(s,e)=>t=>{const r=[],n=Object.entries(s).reduce((i,[l,a])=>(r.push(a(c=>(Reflect.set(i,l,c),null))(t)),i),{});return r.push(e(n)(t)),i=>{r.forEach(l=>l(i))}},Qe=(s,e)=>Ye([s],t=>d(e(t[s]))),fs=(s,e)=>Ye(s,t=>d(e(t))),ps=s=>e=>s(e)??(()=>{}),gs=s=>e=>(e.appendOrInsert(s),t=>{t&&I(s)}),Ze=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=null,a=!1;const c=H(null),u=r.on(h=>{h==null?(l==null||l(!0),l=d((t==null?void 0:t())??b)(i),a=!1):(c.value=h,a||(l==null||l(!0),l=d(e(c))(i),a=!0))});return h=>{u(),l==null||l(h),i.clear(h)}}}else{const r=s;if(r==null){const n=t==null?void 0:t();return n!=null?d(n):b}return d(e(R(r)))}},$=s=>e=>t=>s(t,e),de=(s,e,t)=>fe(s,()=>e,()=>t),fe=(s,e,t)=>Ze(p.map(s,r=>r?!0:null),e,t??void 0),ms=(s,e,t)=>Ke(s,()=>e,()=>t),Ke=(s,e,t)=>fe(p.map(s,r=>!r),e,t),pe=(s,e,t)=>t!=null?pe(s,r=>{const n=new L(r.index,r.total.map(i=>i-1));return g($(n.dispose),d(e(r)),de(r.isLast,b,t(n)))}):f.is(s)?r=>{const n=r.makeRef(),i=Array.from({length:s.value},(c,u)=>u).map(c=>new L(c,s)),l=i.map(c=>d(e(c))(n)),a=s.on(c=>{for(;c<l.length;)i.pop().dispose(),l.pop()(!0);for(let u=0;u<c;u++)if(i[u]==null){i[u]=new L(u,s);const h=d(e(i[u]));l[u]=h(n)}});return c=>{a(),n.clear(c)}}:g(...Array.from({length:s},(r,n)=>n).map(r=>d(e(new L(r,R(s)))))),et=(s,e,t)=>{if(t!=null)return et(s,(r,n)=>{const i=new L(n.index,n.total.map(l=>l-1));return g([$(i.dispose),d(e(r,n)),de(n.isLast,b,t(i))])});{const r=p.map(s,i=>i.length),n=p.toSignal(s);return pe(r,i=>{const l=n.map(a=>a[i.index]);return g($(l.dispose),d(e(l,i)))})}},tt=s=>e=>e.isBrowserDOM()?s(e)??(()=>{}):()=>{},ys=s=>e=>e.isHeadlessDOM()?s(e)??(()=>{}):()=>{},Ts=s=>tt(e=>s(e.element)??(()=>{})),Ss=(s,e)=>{if(f.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(a=>d(e(a)));let i=()=>{};const l=n.on(a=>{i(!0),i=a(r)});return a=>{l(),i(a)}}}return d(e(s))},bs=(s,e,t=()=>b)=>B(p.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),As=(s,e)=>t=>{const r=t.makePortal(s);return Y(d(e),r)},st=s=>Symbol(s),rt=(s,e)=>t=>d(e)(t.withProviders(s)),Es=(...s)=>s.length>0?s.reduceRight((e,t)=>r=>e(t(r))):d,nt=(s,e,t)=>rt({[s]:e},d(t)),Ps=(s,e)=>rt(s,d(e)),ge=st("Probe"),x=new Map,it=({identifier:s,callback:e=()=>{},child:t,timeout:r=10})=>{if(x.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>e("timeout"),r);x.set(s,{counter:0,timeoutId:n});const i=l=>{clearTimeout(n);const a=x.get(l);if(a==null)throw new Error(`Probe not found: ${l.description}`);--a.counter===0?(e("resolved"),x.delete(l)):x.set(l,a)};return g($(()=>clearTimeout(n)),nt(ge,i,t))},ot=(s,e)=>Qe(ge,t=>{const r=x.get(s);return r==null?e(()=>{}):(clearTimeout(r.timeoutId),r.counter++,e(()=>t(s)))}),lt=Symbol("globalProbe"),_s=({callback:s,timeout:e},t)=>it({identifier:lt,callback:s,child:t,timeout:e}),vs=s=>ot(lt,s),ws=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},Cs=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},Os=new Proxy({},{get:(s,e)=>t=>f.is(t)?Cs(e,t):ws(e,t)});exports.Async=Zt;exports.BindChecked=ls;exports.BindDate=rs;exports.BindDateTime=ns;exports.BindNumber=is;exports.BindText=os;exports.BrowserContext=_;exports.CLASS_PLACEHOLDER_ATTR=N;exports.Computed=P;exports.Conjunction=hs;exports.DOMNode=gs;exports.El=ae;exports.ElNS=ce;exports.ElementPosition=L;exports.Empty=b;exports.Ensure=Ze;exports.ForEach=et;exports.Fragment=g;exports.HeadlessAdapter=At;exports.HeadlessContext=v;exports.HeadlessElement=qe;exports.HeadlessPortal=ie;exports.HeadlessText=Be;exports.LazyUnless=Ke;exports.LazyWhen=fe;exports.MapSignal=Ss;exports.MemoryStore=ee;exports.NotEmpty=bs;exports.OnBrowserCtx=tt;exports.OnChecked=Ue;exports.OnCtx=ps;exports.OnDispose=$;exports.OnElement=Ts;exports.OnHeadlessCtx=ys;exports.OneOf=B;exports.OneOfField=he;exports.OneOfKind=as;exports.OneOfTuple=cs;exports.OneOfType=us;exports.OneOfValue=Xe;exports.Portal=As;exports.Prop=k;exports.Provide=Es;exports.ProvideGlobalProbe=_s;exports.ProvideProbe=it;exports.ProviderNotFoundError=re;exports.RenderingError=$e;exports.Repeat=pe;exports.Signal=f;exports.Task=ue;exports.TextNode=Vt;exports.Unless=ms;exports.Use=ds;exports.UseGlobalProbe=vs;exports.UseProbe=ot;exports.UseProvider=Qe;exports.UseProviders=fs;exports.Value=p;exports.When=de;exports.WithProvider=nt;exports.WithProviders=Ps;exports._NODE_PLACEHOLDER_ATTR=ne;exports._getSelfOrParentElement=Ne;exports._isElement=se;exports._makeGetter=Ie;exports._makeSetter=He;exports._removeDOMNode=I;exports._signalText=le;exports._staticText=oe;exports.animateSignal=yt;exports.animateSignals=xe;exports.aria=Ft;exports.attr=w;exports.dataAttr=Bt;exports.emitChecked=Kt;exports.emitPreventDefault=es;exports.emitStopImmediatePropagation=ss;exports.emitStopPropagation=ts;exports.emitValue=We;exports.emitValueAsDate=Je;exports.emitValueAsDateTime=ze;exports.emitValueAsNumber=Ge;exports.endInterpolate=we;exports.getWindow=K;exports.guessInterpolate=Ce;exports.html=Gt;exports.input=Jt;exports.interpolateDate=ve;exports.interpolateNumber=Pe;exports.interpolateString=_e;exports.localStorageProp=gt;exports.makeComputed=X;exports.makeComputedOf=ft;exports.makeComputedRecord=Tt;exports.makeEffect=Oe;exports.makeEffectOf=pt;exports.makeProp=H;exports.makeProviderMark=st;exports.makeSignal=R;exports.math=Qt;exports.mathAttr=Wt;exports.on=q;exports.probeMarker=ge;exports.render=St;exports.renderWithContext=Y;exports.renderableOfTNode=d;exports.restoreTempoPlaceholders=kt;exports.runHeadless=bt;exports.sessionStorageProp=mt;exports.storedProp=te;exports.style=Os;exports.svg=Xt;exports.svgAttr=Ut;
package/index.js CHANGED
@@ -16,7 +16,7 @@ const Re = (s, e, t) => {
16
16
  isNaN(c) && (c = 97), n += String.fromCharCode(l + (c - l) * t);
17
17
  }
18
18
  return n;
19
- }, je = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), qe = (s, e) => e, Ve = (s) => typeof s == "number" ? Ne : typeof s == "string" ? Re : s instanceof Date ? je : qe;
19
+ }, Ve = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), je = (s, e) => e, qe = (s) => typeof s == "number" ? Ne : typeof s == "string" ? Re : s instanceof Date ? Ve : je;
20
20
  var b;
21
21
  class D {
22
22
  /**
@@ -107,9 +107,9 @@ const M = class M {
107
107
  * @param options - Options for the listener.
108
108
  */
109
109
  o(this, "on", (e, t = {}) => {
110
- t.skipInitial || e(this.get());
111
- const r = t.once ? (i) => {
112
- n(), e(i);
110
+ t.skipInitial || e(this.get(), void 0);
111
+ const r = t.once ? (i, l) => {
112
+ n(), e(i, l);
113
113
  } : e;
114
114
  this._onValueListeners.push(r);
115
115
  const n = () => {
@@ -124,8 +124,8 @@ const M = class M {
124
124
  * @internal
125
125
  */
126
126
  o(this, "_setAndNotify", (e, t) => {
127
- const r = this.equals(this._value, e);
128
- r || (this._value = e), (t || !r) && this._onValueListeners.forEach((n) => n(e));
127
+ const r = this._value, n = this.equals(r, e);
128
+ n || (this._value = e), (t || !n) && this._onValueListeners.forEach((i) => i(e, r));
129
129
  });
130
130
  /**
131
131
  * @internal
@@ -371,7 +371,7 @@ o(M, "is", (e) => (
371
371
  e != null && e.$__signal__ === !0
372
372
  ));
373
373
  let d = M;
374
- const Be = typeof queueMicrotask == "function" ? queueMicrotask : (s) => Promise.resolve().then(s);
374
+ const Fe = typeof queueMicrotask == "function" ? queueMicrotask : (s) => Promise.resolve().then(s);
375
375
  class C extends d {
376
376
  /**
377
377
  * Represents a Signal object.
@@ -407,12 +407,12 @@ class C extends d {
407
407
  */
408
408
  o(this, "_scheduleNotify", () => {
409
409
  const t = ++this._scheduleCount;
410
- Be(() => {
410
+ Fe(() => {
411
411
  this._scheduleCount !== t || this._disposed !== !1 || this._isDirty && (this._isDirty = !1, this._setAndNotify(this._fn(), !1));
412
412
  });
413
413
  });
414
414
  /** {@inheritDoc Signal.get} */
415
- o(this, "get", () => (this._isDirty && (this._isDirty = !1, this._value = this._fn(), this._setAndNotify(this._value, !0)), this._value));
415
+ o(this, "get", () => (this._isDirty && (this._isDirty = !1, this._setAndNotify(this._fn(), !0)), this._value));
416
416
  this._fn = t, this.setDirty();
417
417
  }
418
418
  /**
@@ -520,14 +520,15 @@ let k = W;
520
520
  const Q = (s, e, t = (r, n) => r === n) => {
521
521
  const r = new C(s, t);
522
522
  return e.forEach((n) => n.setDerivative(r)), r;
523
- }, Fe = (s, e, t = {}) => {
523
+ }, Be = (s, e, t = {}) => {
524
524
  let r = t.once ? () => {
525
525
  i(), s();
526
526
  } : s;
527
527
  if (t.skipInitial) {
528
528
  let l = !1;
529
+ const c = r;
529
530
  r = () => {
530
- l ? r() : l = !0;
531
+ l ? c() : l = !0;
531
532
  };
532
533
  }
533
534
  const n = Q(r, e), i = () => {
@@ -600,7 +601,7 @@ const Q = (s, e, t = (r, n) => r === n) => {
600
601
  );
601
602
  }, kt = (...s) => (e, t = {}) => {
602
603
  const r = s.filter((n) => d.is(n));
603
- return Fe(
604
+ return Be(
604
605
  () => e(...s.map(p.get)),
605
606
  r,
606
607
  t
@@ -659,23 +660,23 @@ function ne(s) {
659
660
  }
660
661
  const Ue = (s, e, t, r) => {
661
662
  const n = (r == null ? void 0 : r.duration) ?? 300, i = (r == null ? void 0 : r.easing) ?? ((T) => T), l = (r == null ? void 0 : r.equals) ?? ((T, I) => T === I);
662
- let c = r == null ? void 0 : r.interpolate, a = s, u = e(), h = performance.now(), m = null, w = !0;
663
- const X = new C(e, l), A = N(s, l);
664
- A.onDispose(() => {
663
+ let c = r == null ? void 0 : r.interpolate, a = s, u = e(), h = performance.now(), m = null, A = !0;
664
+ const X = new C(e, l), _ = N(s, l);
665
+ _.onDispose(() => {
665
666
  m !== null && cancelAnimationFrame(m);
666
- }), A.onDispose(X.dispose), t.forEach((T) => {
667
- T.setDerivative(X), T.onDispose(A.dispose);
667
+ }), _.onDispose(X.dispose), t.forEach((T) => {
668
+ T.setDerivative(X), T.onDispose(_.dispose);
668
669
  });
669
670
  const He = (T) => {
670
- u = T, h = performance.now(), a = A.value, w && (w = !1, m = ne(K));
671
+ u = T, h = performance.now(), a = _.value, A && (A = !1, m = ne(K));
671
672
  }, K = () => {
672
673
  const I = (performance.now() - h) / p.get(n), $e = i(I);
673
- c == null && (c = Ve(a));
674
+ c == null && (c = qe(a));
674
675
  let ee = c(a, u, $e);
675
- I >= 1 ? (w = !0, ee = u) : m = ne(K), A.set(ee);
676
+ I >= 1 ? (A = !0, ee = u) : m = ne(K), _.set(ee);
676
677
  };
677
- return X.on(He), A;
678
- }, jt = (s, e) => {
678
+ return X.on(He), _;
679
+ }, Vt = (s, e) => {
679
680
  const { initialValue: t, ...r } = e ?? {};
680
681
  return Ue(
681
682
  t ?? s.get(),
@@ -683,7 +684,7 @@ const Ue = (s, e, t, r) => {
683
684
  [s],
684
685
  r
685
686
  );
686
- }, qt = (s, e) => {
687
+ }, jt = (s, e) => {
687
688
  const { signals: t, literals: r } = Object.entries(s).reduce(
688
689
  ({ signals: i, literals: l }, [c, a]) => (d.is(a) ? i.push([c, a]) : l[c] = a, { signals: i, literals: l }),
689
690
  { signals: [], literals: {} }
@@ -925,7 +926,7 @@ class P {
925
926
  const Z = (s, e) => {
926
927
  const t = s(e);
927
928
  return () => t(!0);
928
- }, Vt = (s, e, { doc: t, clear: r } = {}) => {
929
+ }, qt = (s, e, { doc: t, clear: r } = {}) => {
929
930
  const n = typeof e == "string" ? (t ?? document).querySelector(e) : e;
930
931
  if (n === null)
931
932
  throw new ze(
@@ -934,7 +935,7 @@ const Z = (s, e) => {
934
935
  r !== !1 && (t ?? n.ownerDocument) != null && n.nodeType === 1 && (n.innerHTML = "");
935
936
  const i = Ge(n), l = fe(n) ? void 0 : n, c = P.of(i, l);
936
937
  return Z(s, c);
937
- }, Bt = (s, {
938
+ }, Ft = (s, {
938
939
  startUrl: e = "https://example.com",
939
940
  selector: t = ":root"
940
941
  } = {}) => {
@@ -950,8 +951,8 @@ class ze extends Error {
950
951
  super(e);
951
952
  }
952
953
  }
953
- const pe = "data-tts-node", j = "data-tts-class", q = "data-tts-style", V = "data-tts-html", B = "data-tts-text", F = "data-tts-attrs";
954
- class Ft {
954
+ const pe = "data-tts-node", V = "data-tts-class", j = "data-tts-style", q = "data-tts-html", F = "data-tts-text", B = "data-tts-attrs";
955
+ class Bt {
955
956
  constructor({
956
957
  select: e,
957
958
  getAttribute: t,
@@ -964,7 +965,7 @@ class Ft {
964
965
  getInnerHTML: u,
965
966
  setInnerHTML: h,
966
967
  getInnerText: m,
967
- setInnerText: w
968
+ setInnerText: A
968
969
  }) {
969
970
  /**
970
971
  * Selects elements from the headless environment.
@@ -1057,21 +1058,21 @@ class Ft {
1057
1058
  if (n.hasChildren() && this.appendHTML(i, n.contentToHTML(t)), n.hasInnerHTML()) {
1058
1059
  if (t) {
1059
1060
  const l = this.getInnerHTML(i);
1060
- l != null && this.setAttribute(i, V, l);
1061
+ l != null && this.setAttribute(i, q, l);
1061
1062
  }
1062
1063
  this.setInnerHTML(i, n.getInnerHTML());
1063
1064
  }
1064
1065
  if (n.hasInnerText()) {
1065
1066
  if (t) {
1066
1067
  const l = this.getInnerText(i);
1067
- l != null && this.setAttribute(i, B, l);
1068
+ l != null && this.setAttribute(i, F, l);
1068
1069
  }
1069
1070
  this.setInnerText(i, n.getInnerText());
1070
1071
  }
1071
1072
  if (n.hasClasses()) {
1072
1073
  if (t) {
1073
1074
  const l = this.getClass(i);
1074
- l != null && this.setAttribute(i, j, l);
1075
+ l != null && this.setAttribute(i, V, l);
1075
1076
  }
1076
1077
  this.setClass(i, n.getClasses().join(" "));
1077
1078
  }
@@ -1080,7 +1081,7 @@ class Ft {
1080
1081
  const l = this.getStyles(i);
1081
1082
  Object.keys(l).length > 0 && this.setAttribute(
1082
1083
  i,
1083
- q,
1084
+ j,
1084
1085
  JSON.stringify(l)
1085
1086
  );
1086
1087
  }
@@ -1095,7 +1096,7 @@ class Ft {
1095
1096
  u != null && c.push([a, u]);
1096
1097
  }), c.length > 0 && this.setAttribute(
1097
1098
  i,
1098
- F,
1099
+ B,
1099
1100
  JSON.stringify(Object.fromEntries(c))
1100
1101
  );
1101
1102
  }
@@ -1106,46 +1107,46 @@ class Ft {
1106
1107
  }
1107
1108
  });
1108
1109
  });
1109
- this.select = e, this.getAttribute = t, this.setAttribute = r, this.getClass = n, this.setClass = i, this.getStyles = l, this.setStyles = c, this.appendHTML = a, this.getInnerHTML = u, this.setInnerHTML = h, this.getInnerText = m, this.setInnerText = w;
1110
+ this.select = e, this.getAttribute = t, this.setAttribute = r, this.getClass = n, this.setClass = i, this.getStyles = l, this.setStyles = c, this.appendHTML = a, this.getInnerHTML = u, this.setInnerHTML = h, this.getInnerText = m, this.setInnerText = A;
1110
1111
  }
1111
1112
  }
1112
1113
  const Xe = () => {
1113
1114
  document.querySelectorAll(`[${pe}]`).forEach(R);
1114
1115
  }, Ye = (s) => {
1115
- const e = s.getAttribute(j);
1116
- s.removeAttribute(j), e != null && s.setAttribute("class", e);
1116
+ const e = s.getAttribute(V);
1117
+ s.removeAttribute(V), e != null && s.setAttribute("class", e);
1117
1118
  }, Qe = () => {
1118
- document.querySelectorAll(`[${j}]`).forEach((e) => Ye(e));
1119
+ document.querySelectorAll(`[${V}]`).forEach((e) => Ye(e));
1119
1120
  }, Ze = (s) => {
1120
- const e = s.getAttribute(V);
1121
- s.removeAttribute(V), e != null && (s.innerHTML = e);
1121
+ const e = s.getAttribute(q);
1122
+ s.removeAttribute(q), e != null && (s.innerHTML = e);
1122
1123
  }, Ke = () => {
1123
- document.querySelectorAll(`[${V}]`).forEach((e) => Ze(e));
1124
+ document.querySelectorAll(`[${q}]`).forEach((e) => Ze(e));
1124
1125
  }, et = (s) => {
1125
- const e = s.getAttribute(B);
1126
- s.removeAttribute(B), e != null && (s.innerText = e);
1126
+ const e = s.getAttribute(F);
1127
+ s.removeAttribute(F), e != null && (s.innerText = e);
1127
1128
  }, tt = () => {
1128
- document.querySelectorAll(`[${B}]`).forEach((e) => et(e));
1129
+ document.querySelectorAll(`[${F}]`).forEach((e) => et(e));
1129
1130
  }, ge = (s) => JSON.parse(s.replace(/&quot;/g, '"')), st = (s) => {
1130
- const e = s.getAttribute(q);
1131
- if (s.removeAttribute(q), e != null) {
1131
+ const e = s.getAttribute(j);
1132
+ if (s.removeAttribute(j), e != null) {
1132
1133
  const t = ge(e);
1133
1134
  Object.entries(t).forEach(([r, n]) => {
1134
1135
  s.style.setProperty(r, n);
1135
1136
  });
1136
1137
  }
1137
1138
  }, rt = () => {
1138
- document.querySelectorAll(`[${q}]`).forEach((e) => st(e));
1139
+ document.querySelectorAll(`[${j}]`).forEach((e) => st(e));
1139
1140
  }, nt = (s) => {
1140
- const e = s.getAttribute(F);
1141
- if (s.removeAttribute(F), e != null) {
1141
+ const e = s.getAttribute(B);
1142
+ if (s.removeAttribute(B), e != null) {
1142
1143
  const t = ge(e);
1143
1144
  Object.entries(t).forEach(([r, n]) => {
1144
1145
  n == null ? s.removeAttribute(r) : s.setAttribute(r, n);
1145
1146
  });
1146
1147
  }
1147
1148
  }, it = () => {
1148
- document.querySelectorAll(`[${F}]`).forEach((e) => nt(e));
1149
+ document.querySelectorAll(`[${B}]`).forEach((e) => nt(e));
1149
1150
  }, Ut = () => {
1150
1151
  Xe(), Qe(), tt(), Ke(), rt(), it();
1151
1152
  }, y = Symbol("class"), S = Symbol("style"), v = Symbol("handler"), me = () => Math.random().toString(36).substring(2, 15), ot = (s) => s.replace(/<[^>]*>?/g, "");
@@ -1376,7 +1377,7 @@ const ht = /* @__PURE__ */ new Set([
1376
1377
  return (r) => {
1377
1378
  t.forEach((n) => n(r));
1378
1379
  };
1379
- }, _ = () => () => {
1380
+ }, w = () => () => {
1380
1381
  }, dt = (s) => (e) => (e.addClasses(s), (t) => {
1381
1382
  t && e.removeClasses(s);
1382
1383
  }), pt = (s) => (e) => {
@@ -1495,7 +1496,7 @@ const ht = /* @__PURE__ */ new Set([
1495
1496
  }
1496
1497
  ), f = (s) => {
1497
1498
  if (s == null)
1498
- return _;
1499
+ return w;
1499
1500
  if (Array.isArray(s))
1500
1501
  return g(...s.map(f));
1501
1502
  if (typeof s == "string")
@@ -1505,12 +1506,12 @@ const ht = /* @__PURE__ */ new Set([
1505
1506
  if (typeof s == "function")
1506
1507
  return s;
1507
1508
  throw new Error(`Unknown type: '${typeof s}' for child: ${s}`);
1508
- }, _e = (s, ...e) => (t) => {
1509
+ }, we = (s, ...e) => (t) => {
1509
1510
  const r = t.makeChildElement(s, void 0), n = e.map((i) => f(i)(r));
1510
1511
  return (i) => {
1511
1512
  n.forEach((l) => l(!1)), r.clear(i);
1512
1513
  };
1513
- }, we = (s, e, ...t) => (r) => {
1514
+ }, Ae = (s, e, ...t) => (r) => {
1514
1515
  const n = r.makeChildElement(s, e), i = t.map((l) => f(l)(n));
1515
1516
  return (l) => {
1516
1517
  i.forEach((c) => c(!1)), n.clear(l);
@@ -1523,7 +1524,7 @@ const ht = /* @__PURE__ */ new Set([
1523
1524
  * @param tagName - The HTML tag name.
1524
1525
  * @returns A renderable function that creates and appends the HTML element to the DOM.
1525
1526
  */
1526
- get: (s, e) => (...t) => _e(e, t.flatMap(f))
1527
+ get: (s, e) => (...t) => we(e, t.flatMap(f))
1527
1528
  }
1528
1529
  ), Qt = new Proxy(
1529
1530
  {},
@@ -1533,7 +1534,7 @@ const ht = /* @__PURE__ */ new Set([
1533
1534
  * @param type - The input type name.
1534
1535
  * @returns A renderable function that creates and appends the HTMLInput element to the DOM.
1535
1536
  */
1536
- get: (s, e) => (...t) => _e("input", L.type(e), ...t)
1537
+ get: (s, e) => (...t) => we("input", L.type(e), ...t)
1537
1538
  }
1538
1539
  ), gt = "http://www.w3.org/2000/svg", Zt = new Proxy(
1539
1540
  {},
@@ -1543,7 +1544,7 @@ const ht = /* @__PURE__ */ new Set([
1543
1544
  * @param tagName - The SVG tag name.
1544
1545
  * @returns A renderable function that creates and appends the SVG element to the DOM.
1545
1546
  */
1546
- get: (s, e) => (...t) => we(e, gt, t.flatMap(f))
1547
+ get: (s, e) => (...t) => Ae(e, gt, t.flatMap(f))
1547
1548
  }
1548
1549
  ), mt = "http://www.w3.org/1998/Math/MathML", Kt = new Proxy(
1549
1550
  {},
@@ -1553,12 +1554,12 @@ const ht = /* @__PURE__ */ new Set([
1553
1554
  * @param tagName - The Math tag name.
1554
1555
  * @returns A renderable function that creates and appends the Math element to the DOM.
1555
1556
  */
1556
- get: (s, e) => (...t) => we(e, mt, t.flatMap(f))
1557
+ get: (s, e) => (...t) => Ae(e, mt, t.flatMap(f))
1557
1558
  }
1558
- ), Ae = (s, e) => {
1559
+ ), _e = (s, e) => {
1559
1560
  if (typeof e == "function")
1560
- return Ae(s, { then: e });
1561
- const t = e.pending != null ? f(e.pending) : _, r = e.then, n = e.error != null ? (i) => f(e.error(i)) : () => _;
1561
+ return _e(s, { then: e });
1562
+ const t = e.pending != null ? f(e.pending) : w, r = e.then, n = e.error != null ? (i) => f(e.error(i)) : () => w;
1562
1563
  return (i) => {
1563
1564
  let l = !0;
1564
1565
  const c = s(), a = i.makeRef();
@@ -1574,7 +1575,7 @@ const ht = /* @__PURE__ */ new Set([
1574
1575
  l = !1, u(h), a.clear(h);
1575
1576
  };
1576
1577
  };
1577
- }, es = (s, e) => Ae(() => s, e), ve = (s, e, t) => (r) => r.on(s, e, t), yt = (s) => ve("click", (e) => {
1578
+ }, es = (s, e) => _e(() => s, e), ve = (s, e, t) => (r) => r.on(s, e, t), yt = (s) => ve("click", (e) => {
1578
1579
  e.preventDefault();
1579
1580
  const t = e.target;
1580
1581
  setTimeout(() => {
@@ -1607,7 +1608,7 @@ const ht = /* @__PURE__ */ new Set([
1607
1608
  Number(r[2].substring(0, 2))
1608
1609
  );
1609
1610
  s(n);
1610
- }, _t = (s) => (e) => {
1611
+ }, wt = (s) => (e) => {
1611
1612
  const t = e.target;
1612
1613
  if (t.value === "")
1613
1614
  return;
@@ -1631,7 +1632,7 @@ const ht = /* @__PURE__ */ new Set([
1631
1632
  G[e](St(s.set))
1632
1633
  ), os = (s, e = "input") => g(
1633
1634
  L.valueAsDate(s),
1634
- G[e](_t(s.set))
1635
+ G[e](wt(s.set))
1635
1636
  ), ls = (s, e = "input") => g(
1636
1637
  L.valueAsNumber(s),
1637
1638
  G[e](bt(s.set))
@@ -1644,7 +1645,7 @@ const ht = /* @__PURE__ */ new Set([
1644
1645
  let a;
1645
1646
  const u = c.on((h) => {
1646
1647
  if (h !== a) {
1647
- l == null || l.dispose(), i == null || i(!0), l = s.map((w) => w[h]);
1648
+ l == null || l.dispose(), i == null || i(!0), l = s.map((A) => A[h]);
1648
1649
  const m = e[h](l);
1649
1650
  i = f(m)(n), a = h;
1650
1651
  }
@@ -1662,12 +1663,12 @@ const ht = /* @__PURE__ */ new Set([
1662
1663
  ), us = (s, e) => Ee(s, "kind", e), hs = (s, e) => {
1663
1664
  const t = p.map(s, ([r, n]) => ({ [r]: n }));
1664
1665
  return z(t, e);
1665
- }, fs = (s, e) => Ee(s, "type", e), wt = (s, e) => z(
1666
+ }, fs = (s, e) => Ee(s, "type", e), At = (s, e) => z(
1666
1667
  p.map(s, (t) => ({ [t]: !0 })),
1667
1668
  e
1668
1669
  ), ds = (s, e = {}) => (t) => {
1669
1670
  const r = (e == null ? void 0 : e.firstSeparator) ?? s, n = (e == null ? void 0 : e.lastSeparator) ?? s;
1670
- return wt(
1671
+ return At(
1671
1672
  t.map((i) => i.isFirst ? "first" : i.isLast ? "last" : "other"),
1672
1673
  {
1673
1674
  first: () => r,
@@ -1691,7 +1692,7 @@ const ht = /* @__PURE__ */ new Set([
1691
1692
  return r.push(e(n)(t)), (i) => {
1692
1693
  r.forEach((l) => l(i));
1693
1694
  };
1694
- }, At = (s, e) => Ce([s], (t) => f(e(t[s]))), gs = (s, e) => Ce(s, (t) => f(e(t))), ms = (s) => (e) => s(e) ?? (() => {
1695
+ }, _t = (s, e) => Ce([s], (t) => f(e(t[s]))), gs = (s, e) => Ce(s, (t) => f(e(t))), ms = (s) => (e) => s(e) ?? (() => {
1695
1696
  }), ys = (s) => (e) => (e.appendOrInsert(s), (t) => {
1696
1697
  t && R(s);
1697
1698
  }), vt = (s, e, t) => {
@@ -1701,7 +1702,7 @@ const ht = /* @__PURE__ */ new Set([
1701
1702
  const i = n.makeRef();
1702
1703
  let l = null, c = !1;
1703
1704
  const a = N(null), u = r.on((h) => {
1704
- h == null ? (l == null || l(!0), l = f((t == null ? void 0 : t()) ?? _)(i), c = !1) : (a.value = h, c || (l == null || l(!0), l = f(e(a))(
1705
+ h == null ? (l == null || l(!0), l = f((t == null ? void 0 : t()) ?? w)(i), c = !1) : (a.value = h, c || (l == null || l(!0), l = f(e(a))(
1705
1706
  i
1706
1707
  ), c = !0));
1707
1708
  });
@@ -1713,7 +1714,7 @@ const ht = /* @__PURE__ */ new Set([
1713
1714
  const r = s;
1714
1715
  if (r == null) {
1715
1716
  const n = t == null ? void 0 : t();
1716
- return n != null ? f(n) : _;
1717
+ return n != null ? f(n) : w;
1717
1718
  }
1718
1719
  return f(e(J(r)));
1719
1720
  }
@@ -1741,7 +1742,7 @@ const ht = /* @__PURE__ */ new Set([
1741
1742
  return g(
1742
1743
  U(n.dispose),
1743
1744
  f(e(r)),
1744
- Pe(r.isLast, _, t(n))
1745
+ Pe(r.isLast, w, t(n))
1745
1746
  );
1746
1747
  }) : d.is(s) ? (r) => {
1747
1748
  const n = r.makeRef(), i = Array.from(
@@ -1776,7 +1777,7 @@ const ht = /* @__PURE__ */ new Set([
1776
1777
  return g([
1777
1778
  U(i.dispose),
1778
1779
  f(e(r, n)),
1779
- Pe(n.isLast, _, t(i))
1780
+ Pe(n.isLast, w, t(i))
1780
1781
  ]);
1781
1782
  });
1782
1783
  {
@@ -1794,7 +1795,7 @@ const ht = /* @__PURE__ */ new Set([
1794
1795
  }, bs = (s) => (e) => e.isHeadlessDOM() ? s(e) ?? (() => {
1795
1796
  }) : () => {
1796
1797
  }, Ss = (s) => Pt((e) => s(e.element) ?? (() => {
1797
- })), _s = (s, e) => {
1798
+ })), ws = (s, e) => {
1798
1799
  if (d.is(s)) {
1799
1800
  const t = s;
1800
1801
  return (r) => {
@@ -1811,7 +1812,7 @@ const ht = /* @__PURE__ */ new Set([
1811
1812
  };
1812
1813
  }
1813
1814
  return f(e(s));
1814
- }, ws = (s, e, t = () => _) => z(
1815
+ }, As = (s, e, t = () => w) => z(
1815
1816
  p.map(
1816
1817
  s,
1817
1818
  (r) => r.length > 0 ? { notEmpty: r } : { whenEmpty: null }
@@ -1820,7 +1821,7 @@ const ht = /* @__PURE__ */ new Set([
1820
1821
  notEmpty: (r) => e(r),
1821
1822
  whenEmpty: () => t()
1822
1823
  }
1823
- ), As = (s, e) => (t) => {
1824
+ ), _s = (s, e) => (t) => {
1824
1825
  const r = t.makePortal(s);
1825
1826
  return Z(f(e), r);
1826
1827
  }, xt = (s) => Symbol(s), Oe = (s, e) => (t) => f(e)(t.withProviders(s)), vs = (...s) => s.length > 0 ? s.reduceRight((e, t) => (r) => e(t(r))) : f, Lt = (s, e, t) => Oe({ [s]: e }, f(t)), Es = (s, e) => Oe(s, f(e)), De = xt("Probe"), E = /* @__PURE__ */ new Map(), Ot = ({
@@ -1848,7 +1849,7 @@ const ht = /* @__PURE__ */ new Set([
1848
1849
  U(() => clearTimeout(n)),
1849
1850
  Lt(De, i, t)
1850
1851
  );
1851
- }, Dt = (s, e) => At(De, (t) => {
1852
+ }, Dt = (s, e) => _t(De, (t) => {
1852
1853
  const r = E.get(s);
1853
1854
  return r == null ? e(() => {
1854
1855
  }) : (clearTimeout(r.timeoutId), r.counter++, e(() => t(s)));
@@ -1887,27 +1888,27 @@ export {
1887
1888
  ls as BindNumber,
1888
1889
  cs as BindText,
1889
1890
  P as BrowserContext,
1890
- j as CLASS_PLACEHOLDER_ATTR,
1891
+ V as CLASS_PLACEHOLDER_ATTR,
1891
1892
  C as Computed,
1892
1893
  ds as Conjunction,
1893
1894
  ys as DOMNode,
1894
- _e as El,
1895
- we as ElNS,
1895
+ we as El,
1896
+ Ae as ElNS,
1896
1897
  D as ElementPosition,
1897
- _ as Empty,
1898
+ w as Empty,
1898
1899
  vt as Ensure,
1899
1900
  Ct as ForEach,
1900
1901
  g as Fragment,
1901
- Ft as HeadlessAdapter,
1902
+ Bt as HeadlessAdapter,
1902
1903
  x as HeadlessContext,
1903
1904
  at as HeadlessElement,
1904
1905
  Te as HeadlessPortal,
1905
1906
  ut as HeadlessText,
1906
1907
  Et as LazyUnless,
1907
1908
  xe as LazyWhen,
1908
- _s as MapSignal,
1909
+ ws as MapSignal,
1909
1910
  oe as MemoryStore,
1910
- ws as NotEmpty,
1911
+ As as NotEmpty,
1911
1912
  Pt as OnBrowserCtx,
1912
1913
  yt as OnChecked,
1913
1914
  ms as OnCtx,
@@ -1919,8 +1920,8 @@ export {
1919
1920
  us as OneOfKind,
1920
1921
  hs as OneOfTuple,
1921
1922
  fs as OneOfType,
1922
- wt as OneOfValue,
1923
- As as Portal,
1923
+ At as OneOfValue,
1924
+ _s as Portal,
1924
1925
  k as Prop,
1925
1926
  vs as Provide,
1926
1927
  Cs as ProvideGlobalProbe,
@@ -1929,13 +1930,13 @@ export {
1929
1930
  ze as RenderingError,
1930
1931
  Le as Repeat,
1931
1932
  d as Signal,
1932
- Ae as Task,
1933
+ _e as Task,
1933
1934
  Wt as TextNode,
1934
1935
  Ts as Unless,
1935
1936
  ps as Use,
1936
1937
  Ps as UseGlobalProbe,
1937
1938
  Dt as UseProbe,
1938
- At as UseProvider,
1939
+ _t as UseProvider,
1939
1940
  gs as UseProviders,
1940
1941
  p as Value,
1941
1942
  Pe as When,
@@ -1949,7 +1950,7 @@ export {
1949
1950
  R as _removeDOMNode,
1950
1951
  Se as _signalText,
1951
1952
  be as _staticText,
1952
- jt as animateSignal,
1953
+ Vt as animateSignal,
1953
1954
  Ue as animateSignals,
1954
1955
  Gt as aria,
1955
1956
  L as attr,
@@ -1960,21 +1961,21 @@ export {
1960
1961
  rs as emitStopPropagation,
1961
1962
  Tt as emitValue,
1962
1963
  St as emitValueAsDate,
1963
- _t as emitValueAsDateTime,
1964
+ wt as emitValueAsDateTime,
1964
1965
  bt as emitValueAsNumber,
1965
- qe as endInterpolate,
1966
+ je as endInterpolate,
1966
1967
  ie as getWindow,
1967
- Ve as guessInterpolate,
1968
+ qe as guessInterpolate,
1968
1969
  Yt as html,
1969
1970
  Qt as input,
1970
- je as interpolateDate,
1971
+ Ve as interpolateDate,
1971
1972
  Ne as interpolateNumber,
1972
1973
  Re as interpolateString,
1973
1974
  Nt as localStorageProp,
1974
1975
  Q as makeComputed,
1975
1976
  It as makeComputedOf,
1976
- qt as makeComputedRecord,
1977
- Fe as makeEffect,
1977
+ jt as makeComputedRecord,
1978
+ Be as makeEffect,
1978
1979
  kt as makeEffectOf,
1979
1980
  N as makeProp,
1980
1981
  xt as makeProviderMark,
@@ -1983,11 +1984,11 @@ export {
1983
1984
  Xt as mathAttr,
1984
1985
  G as on,
1985
1986
  De as probeMarker,
1986
- Vt as render,
1987
+ qt as render,
1987
1988
  Z as renderWithContext,
1988
1989
  f as renderableOfTNode,
1989
1990
  Ut as restoreTempoPlaceholders,
1990
- Bt as runHeadless,
1991
+ Ft as runHeadless,
1991
1992
  Rt as sessionStorageProp,
1992
1993
  le as storedProp,
1993
1994
  xs as style,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/dom",
3
- "version": "24.0.0-next.11",
3
+ "version": "24.0.0-next.13",
4
4
  "type": "module",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
package/std/signal.d.ts CHANGED
@@ -59,7 +59,7 @@ export declare class Signal<T> {
59
59
  /**
60
60
  * @internal
61
61
  */
62
- protected readonly _onValueListeners: Array<(value: T) => void>;
62
+ protected readonly _onValueListeners: Array<(value: T, previousValue: T | undefined) => void>;
63
63
  /**
64
64
  * @internal
65
65
  */
@@ -95,7 +95,7 @@ export declare class Signal<T> {
95
95
  * @param listener - The listener function to be called when the value of the signal changes.
96
96
  * @param options - Options for the listener.
97
97
  */
98
- readonly on: (listener: (value: T) => void, options?: ListenerOptions) => () => void;
98
+ readonly on: (listener: (value: T, previousValue: T | undefined) => void, options?: ListenerOptions) => () => void;
99
99
  /**
100
100
  * @internal
101
101
  */