@tempots/dom 24.0.0-next.12 → 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;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 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,F)=>T===F);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 F=(performance.now()-h)/p.get(n),ct=i(F);a==null&&(a=Ce(c));let ye=a(c,u,ct);F>=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",U="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,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=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(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=()=>{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)}),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(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=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=_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=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=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=Ut;
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
@@ -412,7 +412,7 @@ class C extends d {
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
  /**
@@ -660,23 +660,23 @@ function ne(s) {
660
660
  }
661
661
  const Ue = (s, e, t, r) => {
662
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);
663
- let c = r == null ? void 0 : r.interpolate, a = s, u = e(), h = performance.now(), m = null, w = !0;
664
- const X = new C(e, l), A = N(s, l);
665
- 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(() => {
666
666
  m !== null && cancelAnimationFrame(m);
667
- }), A.onDispose(X.dispose), t.forEach((T) => {
668
- T.setDerivative(X), T.onDispose(A.dispose);
667
+ }), _.onDispose(X.dispose), t.forEach((T) => {
668
+ T.setDerivative(X), T.onDispose(_.dispose);
669
669
  });
670
670
  const He = (T) => {
671
- 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));
672
672
  }, K = () => {
673
673
  const I = (performance.now() - h) / p.get(n), $e = i(I);
674
- c == null && (c = Ve(a));
674
+ c == null && (c = qe(a));
675
675
  let ee = c(a, u, $e);
676
- I >= 1 ? (w = !0, ee = u) : m = ne(K), A.set(ee);
676
+ I >= 1 ? (A = !0, ee = u) : m = ne(K), _.set(ee);
677
677
  };
678
- return X.on(He), A;
679
- }, jt = (s, e) => {
678
+ return X.on(He), _;
679
+ }, Vt = (s, e) => {
680
680
  const { initialValue: t, ...r } = e ?? {};
681
681
  return Ue(
682
682
  t ?? s.get(),
@@ -684,7 +684,7 @@ const Ue = (s, e, t, r) => {
684
684
  [s],
685
685
  r
686
686
  );
687
- }, qt = (s, e) => {
687
+ }, jt = (s, e) => {
688
688
  const { signals: t, literals: r } = Object.entries(s).reduce(
689
689
  ({ signals: i, literals: l }, [c, a]) => (d.is(a) ? i.push([c, a]) : l[c] = a, { signals: i, literals: l }),
690
690
  { signals: [], literals: {} }
@@ -926,7 +926,7 @@ class P {
926
926
  const Z = (s, e) => {
927
927
  const t = s(e);
928
928
  return () => t(!0);
929
- }, Vt = (s, e, { doc: t, clear: r } = {}) => {
929
+ }, qt = (s, e, { doc: t, clear: r } = {}) => {
930
930
  const n = typeof e == "string" ? (t ?? document).querySelector(e) : e;
931
931
  if (n === null)
932
932
  throw new ze(
@@ -951,7 +951,7 @@ class ze extends Error {
951
951
  super(e);
952
952
  }
953
953
  }
954
- const pe = "data-tts-node", j = "data-tts-class", q = "data-tts-style", V = "data-tts-html", F = "data-tts-text", B = "data-tts-attrs";
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
955
  class Bt {
956
956
  constructor({
957
957
  select: e,
@@ -965,7 +965,7 @@ class Bt {
965
965
  getInnerHTML: u,
966
966
  setInnerHTML: h,
967
967
  getInnerText: m,
968
- setInnerText: w
968
+ setInnerText: A
969
969
  }) {
970
970
  /**
971
971
  * Selects elements from the headless environment.
@@ -1058,7 +1058,7 @@ class Bt {
1058
1058
  if (n.hasChildren() && this.appendHTML(i, n.contentToHTML(t)), n.hasInnerHTML()) {
1059
1059
  if (t) {
1060
1060
  const l = this.getInnerHTML(i);
1061
- l != null && this.setAttribute(i, V, l);
1061
+ l != null && this.setAttribute(i, q, l);
1062
1062
  }
1063
1063
  this.setInnerHTML(i, n.getInnerHTML());
1064
1064
  }
@@ -1072,7 +1072,7 @@ class Bt {
1072
1072
  if (n.hasClasses()) {
1073
1073
  if (t) {
1074
1074
  const l = this.getClass(i);
1075
- l != null && this.setAttribute(i, j, l);
1075
+ l != null && this.setAttribute(i, V, l);
1076
1076
  }
1077
1077
  this.setClass(i, n.getClasses().join(" "));
1078
1078
  }
@@ -1081,7 +1081,7 @@ class Bt {
1081
1081
  const l = this.getStyles(i);
1082
1082
  Object.keys(l).length > 0 && this.setAttribute(
1083
1083
  i,
1084
- q,
1084
+ j,
1085
1085
  JSON.stringify(l)
1086
1086
  );
1087
1087
  }
@@ -1107,36 +1107,36 @@ class Bt {
1107
1107
  }
1108
1108
  });
1109
1109
  });
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 = 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;
1111
1111
  }
1112
1112
  }
1113
1113
  const Xe = () => {
1114
1114
  document.querySelectorAll(`[${pe}]`).forEach(R);
1115
1115
  }, Ye = (s) => {
1116
- const e = s.getAttribute(j);
1117
- 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);
1118
1118
  }, Qe = () => {
1119
- document.querySelectorAll(`[${j}]`).forEach((e) => Ye(e));
1119
+ document.querySelectorAll(`[${V}]`).forEach((e) => Ye(e));
1120
1120
  }, Ze = (s) => {
1121
- const e = s.getAttribute(V);
1122
- s.removeAttribute(V), e != null && (s.innerHTML = e);
1121
+ const e = s.getAttribute(q);
1122
+ s.removeAttribute(q), e != null && (s.innerHTML = e);
1123
1123
  }, Ke = () => {
1124
- document.querySelectorAll(`[${V}]`).forEach((e) => Ze(e));
1124
+ document.querySelectorAll(`[${q}]`).forEach((e) => Ze(e));
1125
1125
  }, et = (s) => {
1126
1126
  const e = s.getAttribute(F);
1127
1127
  s.removeAttribute(F), e != null && (s.innerText = e);
1128
1128
  }, tt = () => {
1129
1129
  document.querySelectorAll(`[${F}]`).forEach((e) => et(e));
1130
1130
  }, ge = (s) => JSON.parse(s.replace(/&quot;/g, '"')), st = (s) => {
1131
- const e = s.getAttribute(q);
1132
- if (s.removeAttribute(q), e != null) {
1131
+ const e = s.getAttribute(j);
1132
+ if (s.removeAttribute(j), e != null) {
1133
1133
  const t = ge(e);
1134
1134
  Object.entries(t).forEach(([r, n]) => {
1135
1135
  s.style.setProperty(r, n);
1136
1136
  });
1137
1137
  }
1138
1138
  }, rt = () => {
1139
- document.querySelectorAll(`[${q}]`).forEach((e) => st(e));
1139
+ document.querySelectorAll(`[${j}]`).forEach((e) => st(e));
1140
1140
  }, nt = (s) => {
1141
1141
  const e = s.getAttribute(B);
1142
1142
  if (s.removeAttribute(B), e != null) {
@@ -1377,7 +1377,7 @@ const ht = /* @__PURE__ */ new Set([
1377
1377
  return (r) => {
1378
1378
  t.forEach((n) => n(r));
1379
1379
  };
1380
- }, _ = () => () => {
1380
+ }, w = () => () => {
1381
1381
  }, dt = (s) => (e) => (e.addClasses(s), (t) => {
1382
1382
  t && e.removeClasses(s);
1383
1383
  }), pt = (s) => (e) => {
@@ -1496,7 +1496,7 @@ const ht = /* @__PURE__ */ new Set([
1496
1496
  }
1497
1497
  ), f = (s) => {
1498
1498
  if (s == null)
1499
- return _;
1499
+ return w;
1500
1500
  if (Array.isArray(s))
1501
1501
  return g(...s.map(f));
1502
1502
  if (typeof s == "string")
@@ -1506,12 +1506,12 @@ const ht = /* @__PURE__ */ new Set([
1506
1506
  if (typeof s == "function")
1507
1507
  return s;
1508
1508
  throw new Error(`Unknown type: '${typeof s}' for child: ${s}`);
1509
- }, _e = (s, ...e) => (t) => {
1509
+ }, we = (s, ...e) => (t) => {
1510
1510
  const r = t.makeChildElement(s, void 0), n = e.map((i) => f(i)(r));
1511
1511
  return (i) => {
1512
1512
  n.forEach((l) => l(!1)), r.clear(i);
1513
1513
  };
1514
- }, we = (s, e, ...t) => (r) => {
1514
+ }, Ae = (s, e, ...t) => (r) => {
1515
1515
  const n = r.makeChildElement(s, e), i = t.map((l) => f(l)(n));
1516
1516
  return (l) => {
1517
1517
  i.forEach((c) => c(!1)), n.clear(l);
@@ -1524,7 +1524,7 @@ const ht = /* @__PURE__ */ new Set([
1524
1524
  * @param tagName - The HTML tag name.
1525
1525
  * @returns A renderable function that creates and appends the HTML element to the DOM.
1526
1526
  */
1527
- get: (s, e) => (...t) => _e(e, t.flatMap(f))
1527
+ get: (s, e) => (...t) => we(e, t.flatMap(f))
1528
1528
  }
1529
1529
  ), Qt = new Proxy(
1530
1530
  {},
@@ -1534,7 +1534,7 @@ const ht = /* @__PURE__ */ new Set([
1534
1534
  * @param type - The input type name.
1535
1535
  * @returns A renderable function that creates and appends the HTMLInput element to the DOM.
1536
1536
  */
1537
- get: (s, e) => (...t) => _e("input", L.type(e), ...t)
1537
+ get: (s, e) => (...t) => we("input", L.type(e), ...t)
1538
1538
  }
1539
1539
  ), gt = "http://www.w3.org/2000/svg", Zt = new Proxy(
1540
1540
  {},
@@ -1544,7 +1544,7 @@ const ht = /* @__PURE__ */ new Set([
1544
1544
  * @param tagName - The SVG tag name.
1545
1545
  * @returns A renderable function that creates and appends the SVG element to the DOM.
1546
1546
  */
1547
- get: (s, e) => (...t) => we(e, gt, t.flatMap(f))
1547
+ get: (s, e) => (...t) => Ae(e, gt, t.flatMap(f))
1548
1548
  }
1549
1549
  ), mt = "http://www.w3.org/1998/Math/MathML", Kt = new Proxy(
1550
1550
  {},
@@ -1554,12 +1554,12 @@ const ht = /* @__PURE__ */ new Set([
1554
1554
  * @param tagName - The Math tag name.
1555
1555
  * @returns A renderable function that creates and appends the Math element to the DOM.
1556
1556
  */
1557
- get: (s, e) => (...t) => we(e, mt, t.flatMap(f))
1557
+ get: (s, e) => (...t) => Ae(e, mt, t.flatMap(f))
1558
1558
  }
1559
- ), Ae = (s, e) => {
1559
+ ), _e = (s, e) => {
1560
1560
  if (typeof e == "function")
1561
- return Ae(s, { then: e });
1562
- 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;
1563
1563
  return (i) => {
1564
1564
  let l = !0;
1565
1565
  const c = s(), a = i.makeRef();
@@ -1575,7 +1575,7 @@ const ht = /* @__PURE__ */ new Set([
1575
1575
  l = !1, u(h), a.clear(h);
1576
1576
  };
1577
1577
  };
1578
- }, 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) => {
1579
1579
  e.preventDefault();
1580
1580
  const t = e.target;
1581
1581
  setTimeout(() => {
@@ -1608,7 +1608,7 @@ const ht = /* @__PURE__ */ new Set([
1608
1608
  Number(r[2].substring(0, 2))
1609
1609
  );
1610
1610
  s(n);
1611
- }, _t = (s) => (e) => {
1611
+ }, wt = (s) => (e) => {
1612
1612
  const t = e.target;
1613
1613
  if (t.value === "")
1614
1614
  return;
@@ -1632,7 +1632,7 @@ const ht = /* @__PURE__ */ new Set([
1632
1632
  G[e](St(s.set))
1633
1633
  ), os = (s, e = "input") => g(
1634
1634
  L.valueAsDate(s),
1635
- G[e](_t(s.set))
1635
+ G[e](wt(s.set))
1636
1636
  ), ls = (s, e = "input") => g(
1637
1637
  L.valueAsNumber(s),
1638
1638
  G[e](bt(s.set))
@@ -1645,7 +1645,7 @@ const ht = /* @__PURE__ */ new Set([
1645
1645
  let a;
1646
1646
  const u = c.on((h) => {
1647
1647
  if (h !== a) {
1648
- 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]);
1649
1649
  const m = e[h](l);
1650
1650
  i = f(m)(n), a = h;
1651
1651
  }
@@ -1663,12 +1663,12 @@ const ht = /* @__PURE__ */ new Set([
1663
1663
  ), us = (s, e) => Ee(s, "kind", e), hs = (s, e) => {
1664
1664
  const t = p.map(s, ([r, n]) => ({ [r]: n }));
1665
1665
  return z(t, e);
1666
- }, fs = (s, e) => Ee(s, "type", e), wt = (s, e) => z(
1666
+ }, fs = (s, e) => Ee(s, "type", e), At = (s, e) => z(
1667
1667
  p.map(s, (t) => ({ [t]: !0 })),
1668
1668
  e
1669
1669
  ), ds = (s, e = {}) => (t) => {
1670
1670
  const r = (e == null ? void 0 : e.firstSeparator) ?? s, n = (e == null ? void 0 : e.lastSeparator) ?? s;
1671
- return wt(
1671
+ return At(
1672
1672
  t.map((i) => i.isFirst ? "first" : i.isLast ? "last" : "other"),
1673
1673
  {
1674
1674
  first: () => r,
@@ -1692,7 +1692,7 @@ const ht = /* @__PURE__ */ new Set([
1692
1692
  return r.push(e(n)(t)), (i) => {
1693
1693
  r.forEach((l) => l(i));
1694
1694
  };
1695
- }, 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) ?? (() => {
1696
1696
  }), ys = (s) => (e) => (e.appendOrInsert(s), (t) => {
1697
1697
  t && R(s);
1698
1698
  }), vt = (s, e, t) => {
@@ -1702,7 +1702,7 @@ const ht = /* @__PURE__ */ new Set([
1702
1702
  const i = n.makeRef();
1703
1703
  let l = null, c = !1;
1704
1704
  const a = N(null), u = r.on((h) => {
1705
- 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))(
1706
1706
  i
1707
1707
  ), c = !0));
1708
1708
  });
@@ -1714,7 +1714,7 @@ const ht = /* @__PURE__ */ new Set([
1714
1714
  const r = s;
1715
1715
  if (r == null) {
1716
1716
  const n = t == null ? void 0 : t();
1717
- return n != null ? f(n) : _;
1717
+ return n != null ? f(n) : w;
1718
1718
  }
1719
1719
  return f(e(J(r)));
1720
1720
  }
@@ -1742,7 +1742,7 @@ const ht = /* @__PURE__ */ new Set([
1742
1742
  return g(
1743
1743
  U(n.dispose),
1744
1744
  f(e(r)),
1745
- Pe(r.isLast, _, t(n))
1745
+ Pe(r.isLast, w, t(n))
1746
1746
  );
1747
1747
  }) : d.is(s) ? (r) => {
1748
1748
  const n = r.makeRef(), i = Array.from(
@@ -1777,7 +1777,7 @@ const ht = /* @__PURE__ */ new Set([
1777
1777
  return g([
1778
1778
  U(i.dispose),
1779
1779
  f(e(r, n)),
1780
- Pe(n.isLast, _, t(i))
1780
+ Pe(n.isLast, w, t(i))
1781
1781
  ]);
1782
1782
  });
1783
1783
  {
@@ -1795,7 +1795,7 @@ const ht = /* @__PURE__ */ new Set([
1795
1795
  }, bs = (s) => (e) => e.isHeadlessDOM() ? s(e) ?? (() => {
1796
1796
  }) : () => {
1797
1797
  }, Ss = (s) => Pt((e) => s(e.element) ?? (() => {
1798
- })), _s = (s, e) => {
1798
+ })), ws = (s, e) => {
1799
1799
  if (d.is(s)) {
1800
1800
  const t = s;
1801
1801
  return (r) => {
@@ -1812,7 +1812,7 @@ const ht = /* @__PURE__ */ new Set([
1812
1812
  };
1813
1813
  }
1814
1814
  return f(e(s));
1815
- }, ws = (s, e, t = () => _) => z(
1815
+ }, As = (s, e, t = () => w) => z(
1816
1816
  p.map(
1817
1817
  s,
1818
1818
  (r) => r.length > 0 ? { notEmpty: r } : { whenEmpty: null }
@@ -1821,7 +1821,7 @@ const ht = /* @__PURE__ */ new Set([
1821
1821
  notEmpty: (r) => e(r),
1822
1822
  whenEmpty: () => t()
1823
1823
  }
1824
- ), As = (s, e) => (t) => {
1824
+ ), _s = (s, e) => (t) => {
1825
1825
  const r = t.makePortal(s);
1826
1826
  return Z(f(e), r);
1827
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 = ({
@@ -1849,7 +1849,7 @@ const ht = /* @__PURE__ */ new Set([
1849
1849
  U(() => clearTimeout(n)),
1850
1850
  Lt(De, i, t)
1851
1851
  );
1852
- }, Dt = (s, e) => At(De, (t) => {
1852
+ }, Dt = (s, e) => _t(De, (t) => {
1853
1853
  const r = E.get(s);
1854
1854
  return r == null ? e(() => {
1855
1855
  }) : (clearTimeout(r.timeoutId), r.counter++, e(() => t(s)));
@@ -1888,14 +1888,14 @@ export {
1888
1888
  ls as BindNumber,
1889
1889
  cs as BindText,
1890
1890
  P as BrowserContext,
1891
- j as CLASS_PLACEHOLDER_ATTR,
1891
+ V as CLASS_PLACEHOLDER_ATTR,
1892
1892
  C as Computed,
1893
1893
  ds as Conjunction,
1894
1894
  ys as DOMNode,
1895
- _e as El,
1896
- we as ElNS,
1895
+ we as El,
1896
+ Ae as ElNS,
1897
1897
  D as ElementPosition,
1898
- _ as Empty,
1898
+ w as Empty,
1899
1899
  vt as Ensure,
1900
1900
  Ct as ForEach,
1901
1901
  g as Fragment,
@@ -1906,9 +1906,9 @@ export {
1906
1906
  ut as HeadlessText,
1907
1907
  Et as LazyUnless,
1908
1908
  xe as LazyWhen,
1909
- _s as MapSignal,
1909
+ ws as MapSignal,
1910
1910
  oe as MemoryStore,
1911
- ws as NotEmpty,
1911
+ As as NotEmpty,
1912
1912
  Pt as OnBrowserCtx,
1913
1913
  yt as OnChecked,
1914
1914
  ms as OnCtx,
@@ -1920,8 +1920,8 @@ export {
1920
1920
  us as OneOfKind,
1921
1921
  hs as OneOfTuple,
1922
1922
  fs as OneOfType,
1923
- wt as OneOfValue,
1924
- As as Portal,
1923
+ At as OneOfValue,
1924
+ _s as Portal,
1925
1925
  k as Prop,
1926
1926
  vs as Provide,
1927
1927
  Cs as ProvideGlobalProbe,
@@ -1930,13 +1930,13 @@ export {
1930
1930
  ze as RenderingError,
1931
1931
  Le as Repeat,
1932
1932
  d as Signal,
1933
- Ae as Task,
1933
+ _e as Task,
1934
1934
  Wt as TextNode,
1935
1935
  Ts as Unless,
1936
1936
  ps as Use,
1937
1937
  Ps as UseGlobalProbe,
1938
1938
  Dt as UseProbe,
1939
- At as UseProvider,
1939
+ _t as UseProvider,
1940
1940
  gs as UseProviders,
1941
1941
  p as Value,
1942
1942
  Pe as When,
@@ -1950,7 +1950,7 @@ export {
1950
1950
  R as _removeDOMNode,
1951
1951
  Se as _signalText,
1952
1952
  be as _staticText,
1953
- jt as animateSignal,
1953
+ Vt as animateSignal,
1954
1954
  Ue as animateSignals,
1955
1955
  Gt as aria,
1956
1956
  L as attr,
@@ -1961,20 +1961,20 @@ export {
1961
1961
  rs as emitStopPropagation,
1962
1962
  Tt as emitValue,
1963
1963
  St as emitValueAsDate,
1964
- _t as emitValueAsDateTime,
1964
+ wt as emitValueAsDateTime,
1965
1965
  bt as emitValueAsNumber,
1966
- qe as endInterpolate,
1966
+ je as endInterpolate,
1967
1967
  ie as getWindow,
1968
- Ve as guessInterpolate,
1968
+ qe as guessInterpolate,
1969
1969
  Yt as html,
1970
1970
  Qt as input,
1971
- je as interpolateDate,
1971
+ Ve as interpolateDate,
1972
1972
  Ne as interpolateNumber,
1973
1973
  Re as interpolateString,
1974
1974
  Nt as localStorageProp,
1975
1975
  Q as makeComputed,
1976
1976
  It as makeComputedOf,
1977
- qt as makeComputedRecord,
1977
+ jt as makeComputedRecord,
1978
1978
  Be as makeEffect,
1979
1979
  kt as makeEffectOf,
1980
1980
  N as makeProp,
@@ -1984,7 +1984,7 @@ export {
1984
1984
  Xt as mathAttr,
1985
1985
  G as on,
1986
1986
  De as probeMarker,
1987
- Vt as render,
1987
+ qt as render,
1988
1988
  Z as renderWithContext,
1989
1989
  f as renderableOfTNode,
1990
1990
  Ut as restoreTempoPlaceholders,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/dom",
3
- "version": "24.0.0-next.12",
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
  */