@tempots/dom 28.4.5 → 28.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var rt=Object.defineProperty;var Te=s=>{throw TypeError(s)};var nt=(s,e,t)=>e in s?rt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e,t)=>nt(s,typeof e!="symbol"?e+"":e,t),Se=(s,e,t)=>e.has(s)||Te("Cannot "+t);var F=(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),ee=(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 _e=(s,e,t)=>s+(e-s)*t,Ae=97,ve=(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 c=e.charCodeAt(i);isNaN(c)&&(c=Ae),n+=String.fromCharCode(l+(c-l)*t)}return n},Ce=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),Pe=(s,e)=>e,we=s=>typeof s=="number"?_e:typeof s=="string"?ve:s instanceof Date?Ce:Pe;var C;class U{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");be(this,C);o(this,"dispose",()=>{var e;(e=F(this,C))==null||e.dispose(),ee(this,C,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 F(this,C)==null&&ee(this,C,this.total.map(e=>this.counter===e)),F(this,C)}}C=new WeakMap;const H=class H{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=>{if(this._disposed)return;const t=this._value;this.equals(t,e)||(this._value=e,this._onValueListeners.forEach(n=>n(e,t)))});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 w(()=>{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 w(()=>{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 w(()=>{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 w(()=>{try{const l=this.get(),c=e(l);return n=c??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=A(t,n);let l=0,c=new AbortController;return i.onDispose(this.on(async a=>{const u=++l;c.abort(),c=new AbortController;try{const h=await e(a,{abortSignal:c.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",({autoDisposeProp:e=!0,equals:t}={})=>this.feedProp(A(this.get(),t),e));o(this,"derive",()=>this.map(e=>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(H,"ofPromise",(e,t,r,n=(i,l)=>i===l)=>{const i=new H(t,n);return e.then(l=>i._setAndNotify(l)).catch(l=>{r!=null?i._setAndNotify(r(l)):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),i}),o(H,"is",e=>e!=null&&e.$__signal__===!0);let f=H;const it=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class w 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;it(()=>{this._scheduleCount!==t||this._disposed||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn()))})});o(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn())),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)});o(this,"update",t=>{this._setAndNotify(t(this.get()))});o(this,"reducer",(t,...r)=>{const n=this;return function i(l){const c=n.value;n.update(a=>t(a,l)),!n.equals(c,n.value)&&r.forEach(a=>a({previousState:c,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))),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)}};o(z,"is",t=>t!=null&&t.$__prop__===!0);let N=z;const Q=(s,e,t=(r,n)=>r===n)=>{const r=new w(s,t);return e.forEach(n=>n.setDerivative(r)),r},xe=(s,e,t={})=>{let r=t.once?()=>{i(),s()}:s;if(t.skipInitial){let l=!1;const c=r;r=()=>{l?c():l=!0}}const n=Q(r,e),i=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",i)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",i),i},A=(s,e=(t,r)=>t===r)=>new N(s,e),$=(s,e=(t,r)=>t===r)=>new f(s,e),te=()=>typeof window<"u"?window:void 0,y={map:(s,e)=>f.is(s)?s.map(e):e(s),toSignal:(s,e)=>f.is(s)?s:$(s,e),maybeToSignal:(s,e)=>{if(s!=null)return y.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()},deriveProp:(s,{autoDisposeProp:e=!0,equals:t}={})=>f.is(s)?s.deriveProp({autoDisposeProp:e,equals:t}):A(s,t)},Oe=(...s)=>(e,t)=>{if(s.length===1)return y.toSignal(s[0]).map(e);const r=s.filter(n=>f.is(n));return Q(()=>e(...s.map(n=>y.get(n))),r,t)},ot=s=>{const e=Object.keys(s);return Oe(...Object.values(s))((...t)=>Object.fromEntries(e.map((r,n)=>[r,t[n]])))},lt=(...s)=>(e,t={})=>{const r=s.filter(n=>f.is(n));return xe(()=>e(...s.map(y.get)),r,t)};class se{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 re=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:i=(c,a)=>c===a,onLoad:l=c=>c})=>{const c=t.getItem(s),a=new N(c!=null?l(n(c)):typeof e=="function"?e():e,i);return a.on(u=>t.setItem(s,r(u))),a},ct=s=>{var e;return re({...s,store:((e=te())==null?void 0:e.localStorage)??new se})},at=s=>{var e;return re({...s,store:((e=te())==null?void 0:e.sessionStorage)??new se})};function Ee(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const De=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,i=(r==null?void 0:r.easing)??(_=>_),l=(r==null?void 0:r.equals)??((_,B)=>_===B);let c=r==null?void 0:r.interpolate,a=s,u=e(),h=performance.now(),m=null,T=!0;const p=new w(e,l),g=A(s,l);g.onDispose(()=>{m!==null&&cancelAnimationFrame(m)}),g.onDispose(p.dispose),t.forEach(_=>{_.setDerivative(p),_.onDispose(g.dispose)});const P=_=>{u=_,h=performance.now(),a=g.value,T&&(T=!1,m=Ee(ge))},ge=()=>{const B=(performance.now()-h)/y.get(n),st=i(B);c==null&&(c=we(a));let ye=c(a,u,st);B>=1?(T=!0,ye=u):m=Ee(ge),g.set(ye)};return p.on(P),g},ut=(s,e)=>{const{initialValue:t,...r}=e??{};return De(t??s.get(),s.get,[s],r)},Le=(s,e)=>{const t=Object.values(s).filter(f.is),r=Object.keys(s);return Q(()=>{const n={};for(const i of r)n[i]=y.get(s[i]);return e(n)},t)},ht=s=>Le(s,e=>e),dt=(s,e)=>{const t=A(s.get());let r=null;const n=s.on(i=>{r!=null&&clearTimeout(r),r=setTimeout(()=>{r=null,t.set(i)},typeof e=="function"?e(i):e)});return t.onDispose(()=>{n(),r!=null&&clearTimeout(r)}),t},Me=new Set(["checked","disabled","hidden"]),He=new Set(["selected"]),Ne=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),ke=new Set(["valueAsDate"]),Ie=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),$e=(s,e)=>He.has(s)?t=>{t==null||t!==!0?e.removeAttribute(s):e.setAttribute(s,"")}:Me.has(s)?t=>{t==null?e[s]=null:e[s]=!!t}:Ne.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=t}:Ie.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},Re=(s,e)=>He.has(s)?()=>e.hasAttribute(s):Me.has(s)?()=>!!e[s]:Ne.has(s)?()=>Number(e[s]):ke.has(s)?()=>e[s]:Ie.has(s)?()=>String(e[s]):()=>e.getAttribute(s),k=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},Ve=s=>ne(s)?s:s.parentElement,ne=s=>s.nodeType===1;class ie extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class x{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 x(this.document,e,void 0,this.providers));o(this,"makePortal",e=>{const t=typeof e=="string"?this.document.querySelector(e):e;if(t==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(t)});o(this,"withReference",e=>new x(this.document,this.element,e,this.providers));o(this,"setProvider",(e,t,r)=>new x(this.document,this.element,this.reference,{...this.providers,[e]:[t,r]}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new ie(e);const[t,r]=this.providers[e];return{value:t,onUse:r}});o(this,"clear",e=>{e&&(this.reference!==void 0?k(this.reference):k(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)=>{const n=i=>t(i,this);return this.element.addEventListener(e,n,r),i=>{i&&this.element.removeEventListener(e,n,r)}});o(this,"isBrowserDOM",()=>!0);o(this,"isBrowser",()=>!0);o(this,"isHeadlessDOM",()=>!1);o(this,"isHeadless",()=>!1);o(this,"setStyle",(e,t)=>{this.element.style[e]=t});o(this,"getStyle",e=>this.element.style[e]);o(this,"makeAccessors",e=>({get:Re(e,this.element),set:$e(e,this.element)}));o(this,"getWindow",()=>this.document.defaultView);this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t,r){return new x(e.ownerDocument,e,t,r)}}const je=s=>Symbol(s),Z=(s,e)=>{const t=s(e);return(r=!0)=>t(r)},ft=(s,e,{doc:t,clear:r,disposeWithParent:n=!0,providers:i={}}={})=>{const l=typeof e=="string"?(t??document).querySelector(e):e;if(l===null)throw new qe(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??l.ownerDocument)!=null&&l.nodeType===1&&(l.innerHTML="");const c=Ve(l),a=ne(l)?void 0:l,u=x.of(c,a,i),h=Z(s,u);let m;return n&&(m=new MutationObserver(T=>{var p;(p=T[0])==null||p.removedNodes.forEach(g=>{g===l&&(m==null||m.disconnect(),h(l.nodeType!==1))})}),m.observe(l.parentElement,{childList:!0,subtree:!1,attributes:!1})),()=>{m==null||m.disconnect(),h(!0)}},pt=(s,{startUrl:e="https://example.com",selector:t,providers:r={}}={selector:"body"})=>{const n=y.toSignal(e).deriveProp(),i=new le(t,void 0),l=new O(i,void 0,{currentURL:n},r);return{clear:Z(s(),l),root:i,currentURL:n}};class qe extends Error{constructor(e){super(e)}}const oe="data-tts-node",I="data-tts-class",G="data-tts-style",J="data-tts-html",X="data-tts-text",Y="data-tts-attrs";class mt{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:c,appendHTML:a,getInnerHTML:u,setInnerHTML:h,getInnerText:m,setInnerText:T}){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=>{const i=typeof n.selector=="string"?this.select(n.selector):[n.selector];for(const l of i){if(l==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(l,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const c=this.getInnerHTML(l);c!=null&&this.setAttribute(l,J,c)}this.setInnerHTML(l,n.getInnerHTML())}if(n.hasInnerText()){if(t){const c=this.getInnerText(l);c!=null&&this.setAttribute(l,X,c)}this.setInnerText(l,n.getInnerText())}if(n.hasClasses()){if(t){const c=this.getClass(l);c!=null&&this.setAttribute(l,I,c)}this.setClass(l,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const c=this.getStyles(l);Object.keys(c).length>0&&this.setAttribute(l,G,JSON.stringify(c))}this.setStyles(l,n.getStyles())}if(n.hasAttributes()){const c=n.getAttributes();if(t){const a=[];c.forEach(([u])=>{const h=this.getAttribute(l,u);h!=null&&a.push([u,h])}),a.length>0&&this.setAttribute(l,Y,JSON.stringify(Object.fromEntries(a)))}c.forEach(([a,u])=>{this.setAttribute(l,a,u)})}}})});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=T}}const gt=()=>{document.querySelectorAll(`[${oe}]`).forEach(k)},yt=s=>{const e=s.getAttribute(I);s.removeAttribute(I),e!=null&&s.setAttribute("class",e)},Tt=()=>{document.querySelectorAll(`[${I}]`).forEach(e=>yt(e))},St=s=>{const e=s.getAttribute(J);s.removeAttribute(J),e!=null&&(s.innerHTML=e)},bt=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>St(e))},At=s=>{const e=s.getAttribute(X);s.removeAttribute(X),e!=null&&(s.innerText=e)},Et=()=>{document.querySelectorAll(`[${X}]`).forEach(e=>At(e))},Be=s=>JSON.parse(s.replace(/&quot;/g,'"')),_t=s=>{const e=s.getAttribute(G);if(s.removeAttribute(G),e!=null){const t=Be(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},vt=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>_t(e))},Ct=s=>{const e=s.getAttribute(Y);if(s.removeAttribute(Y),e!=null){const t=Be(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Pt=()=>{document.querySelectorAll(`[${Y}]`).forEach(e=>Ct(e))},wt=()=>{gt(),Tt(),Et(),bt(),vt(),Pt()},b=Symbol("class"),v=Symbol("style"),L=Symbol("handler"),Fe=()=>Math.random().toString(36).substring(2,15),xt=s=>s.replace(/<[^>]*>?/g,"");class We{constructor(e){o(this,"id",Fe());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?xt(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[b]!=null);o(this,"hasStyles",()=>this.properties[v]!=null);o(this,"hasAttributes",()=>Object.keys(this.properties).length>0);o(this,"hasHandlers",()=>this.properties[L]!=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[L]??{})[e]??[]).forEach(n=>n(t))});o(this,"click",()=>{this.trigger("click",{})});o(this,"on",(e,t,r,n)=>{var a;const i=(a=this.properties)[L]??(a[L]={}),l=n!=null&&n.once?u=>{c(),t(u,r)}:u=>t(u,r);i[e]=[...i[e]??[],l];const c=()=>{const u=i[e]??[],h=u.indexOf(l);h!==-1&&(u.splice(h,1),u.length===0?(delete i[e],Object.keys(i).length===0&&delete this.properties[L]):i[e]=u,(n==null?void 0:n.signal)!=null&&n.signal.removeEventListener("abort",c))};return(n==null?void 0:n.signal)!=null&&n.signal.addEventListener("abort",c),c});o(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[b]??(r[b]=[]);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)[b]??(r[b]=[]);e.forEach(n=>{const i=t.indexOf(n);i!==-1&&t.splice(i,1)}),t.length===0&&delete this.properties[b]});o(this,"getClasses",()=>this.properties[b]??[]);o(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));o(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===b?[["class",this.getClasses()]]:e===v?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[v]??(n[v]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[v])});o(this,"getStyle",e=>{var t;return((t=this.properties[v])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[v]??{});o(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const Ot=s=>s.replace(/"/g,"&quot;"),Dt=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class Ue extends We{constructor(t,r,n){super(n);o(this,"isPortal",()=>!1);o(this,"toHTML",(t=!1)=>{const r=this.children.map(a=>a.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let i=null;const l=this.getVisibleAttributes().map(([a,u])=>a==="class"?` class="${u.join(" ")}"`:a==="style"?typeof u=="string"?` style="${u}"`:` style="${Object.entries(u).map(([h,m])=>`${h}: ${m};`).join(" ")}"`:Lt.has(a)?` ${a}`:a==="innerHTML"?(i=u,""):a==="innerText"?(i=Dt(u),""):` ${a}="${Ot(u)}"`).join(""),c=t?` ${oe}`:"";return Mt.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${c} />`:`<${this.tagName}${n}${l}${c}>${i??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class le extends We{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 Ge{constructor(e){o(this,"id",Fe());o(this,"isElement",()=>!1);o(this,"isText",()=>!0);o(this,"getText",()=>this.text);o(this,"toHTML",()=>this.text);this.text=e}}class O{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 Ue(e,t,this.element);return this.appendOrInsert(r),new O(r,void 0,this.container,this.providers)});o(this,"makeChildText",e=>{const t=new Ge(e);return this.appendOrInsert(t),new O(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 le(e,this.element);return this.appendOrInsert(t),new O(t,void 0,this.container,this.providers)});o(this,"setProvider",(e,t,r)=>new O(this.element,this.reference,this.container,{...this.providers,[e]:[t,r]}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new ie(e);const[t,r]=this.providers[e];return{value:t,onUse:r}});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,this));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,"isBrowser",()=>!1);o(this,"isHeadlessDOM",()=>!0);o(this,"isHeadless",()=>!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 Lt=new Set(["checked","disabled","multiple","readonly","required","selected"]),Mt=new Set(["img","br","hr","input","link","meta"]),ce=s=>e=>e.makeChildText(s).clear,ae=s=>e=>{const t=e.makeChildText(s.value),r=s.on(t.setText);return n=>{r(),t.clear(n)}},Ht=s=>f.is(s)?ae(s):ce(s),S=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},E=()=>()=>{},Nt=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),kt=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}},R=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r();return n(e),l=>{l&&n(i)}},V=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r(),l=e.on(n);return c=>{l(),c&&n(i)}},D=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?kt(t):Nt((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?V(e,t):R(e,t)}),It=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`data-${e}`,t):R(`data-${e}`,t)}),$t=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`aria-${e}`,t):R(`aria-${e}`,t)}),Rt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),Vt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),d=s=>{if(s==null)return E;if(Array.isArray(s))return S(...s.map(d));if(typeof s=="string")return ce(s);if(f.is(s))return ae(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ue=(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)}},he=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),i=t.map(l=>d(l)(n));return l=>{i.forEach(c=>c(!1)),n.clear(l)}},jt=new Proxy({},{get:(s,e)=>(...t)=>ue(e,t.flatMap(d))}),qt=new Proxy({},{get:(s,e)=>(...t)=>ue("input",D.type(e),...t)}),Bt="http://www.w3.org/2000/svg",Ft=new Proxy({},{get:(s,e)=>(...t)=>he(e,Bt,t.flatMap(d))}),Wt="http://www.w3.org/1998/Math/MathML",Ut=new Proxy({},{get:(s,e)=>(...t)=>he(e,Wt,t.flatMap(d))}),de=(s,e)=>{if(typeof e=="function")return de(s,{then:e});const t=e.pending!=null?d(e.pending()):E,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>E;return i=>{let l=!0;const c=s(),a=i.makeRef();let u=d(t)(a);return c.then(h=>{l&&(u(!0),u=d(r(h))(a))},h=>{l&&(u(!0),u=d(n(h))(a))}),h=>{l=!1,u(h),a.clear(h)}}},Gt=(s,e)=>de(()=>s,e),Je=(s,e,t)=>r=>r.on(s,e,t),Xe=s=>Je("click",(e,t)=>{e.preventDefault();const r=e.target;setTimeout(()=>{const n=r.ownerDocument!=null?r==null?void 0:r.checked:void 0;n!=null&&s(!n,t)},0)}),j=new Proxy({},{get:(s,e)=>t=>Je(e,t)}),Ye=s=>e=>{const t=e.target;s(t.value)},ze=s=>e=>{const t=e.target;s(t.valueAsNumber)},Qe=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)},Jt=s=>e=>{const t=e.target;if(t.value===""){s(null);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)},Xt=s=>e=>{const t=e.target;if(t.value===""){s(null);return}const r=t.value.split("T");if(r.length!==2){s(null);return}const 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]??0)),i.setMinutes(Number(l[1]??0)),i.setSeconds(Number(l[2]??0)),s(i)},Yt=s=>e=>{const t=e.target;s(t.checked)},zt=s=>e=>{e.preventDefault(),s()},Qt=s=>e=>{e.stopPropagation(),s()},Zt=s=>e=>{e.stopImmediatePropagation(),s()},Kt=(s,e="input")=>S(D.valueAsDate(s),j[e](Qe(s.set))),es=(s,e="input")=>S(D.valueAsDate(s),j[e](Ze(s.set))),ts=(s,e="input")=>S(D.valueAsNumber(s),j[e](ze(s.set))),ss=(s,e="input")=>S(D.value(s),j[e](Ye(s.set))),rs=s=>S(D.checked(s),Xe(s.set)),q=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let i,l;const c=s.map(h=>Object.keys(h)[0]);let a;const u=c.on(h=>{if(h!==a){a=h,l==null||l.dispose(),i==null||i(!0),l=s.map(T=>T[h]);const m=e[h](l);i=d(m)(n)}});return h=>{l==null||l.dispose(),u(),n.clear(h),i==null||i(h)}};const t=Object.keys(s)[0];return d(e[t]($(s[t])))},fe=(s,e,t)=>q(y.map(s,r=>({[r[e]]:r})),t),ns=(s,e)=>fe(s,"kind",e),is=(s,e)=>{const t=y.map(s,([r,n])=>({[r]:n}));return q(t,e)},os=(s,e)=>fe(s,"type",e),Ke=(s,e)=>q(y.map(s,t=>({[t]:!0})),e),ls=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return Ke(t.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:r,last:n,other:s})},cs=s=>e=>(e.appendOrInsert(s),t=>{t&&k(s)}),as=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=()=>{},c=!1,a=null;const u=r.on(h=>{h==null?(l(!0),l=d(t==null?void 0:t())(i),c=!1,a==null||a.dispose(),a=null):c?a.set(h):(a=A(h),l(!0),l=d(e(a))(i),c=!0)});return h=>{a==null||a.dispose(),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):E}return d(e($(r)))}},us=(...s)=>(e,t)=>r=>{const n=r.makeRef();if(s.some(p=>!f.is(p)&&p==null))return(t!=null?d(t==null?void 0:t()):E)(n);const l=s.map(()=>null),c=s.map(p=>f.is(p)?p.value!=null:p!=null);let a=null;const u=A(c.every(p=>p)),h=(p,g)=>{if(p.value!=null){if(l[g]==null){const P=A(p.value);l[g]=P}else l[g].value=p.value;c[g]=!0}else c[g]=!1};let m=s.length-1;const T=s.map((p,g)=>{if(!f.is(p)){const P=A(p);return l[g]=P,()=>{}}return p.on(()=>{h(p,g),m===0?u.value=c.every(P=>P):m--})});return u.on(p=>{a==null||a(!0),a=null,p?a=d(e(...l))(n):a=d((t==null?void 0:t())??E)(n)}),p=>{l.forEach(g=>g==null?void 0:g.dispose()),u.dispose(),T.forEach(g=>g()),a==null||a(p),n.clear(p)}},M=(...s)=>e=>t=>s.forEach(r=>r(t,e)),pe=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=()=>{};const c=r.on(a=>{l(!0),a?l=d(e())(i):l=d(t==null?void 0:t())(i)});return a=>{l(a),c(),i.clear(a)}}}else{if(s){const n=e();return n!=null?d(n):E}return d(t==null?void 0:t())}},hs=(s,e,t)=>pe(y.map(s,r=>!r),e,t),me=(s,e,t)=>{if(t!=null)return me(s,r=>{const n=new U(r.index,r.total.map(i=>i-1));return S(M(n.dispose),d(e(r)),pe(r.isLast,()=>E,()=>t(n)))});if(f.is(s))return r=>{const n=s.derive(),i=r.makeRef(),l=[];return n.on(c=>{const a=l.splice(c);for(const u of a)u(!0);for(let u=l.length;u<c;u++){const h=new U(u,n);l.push(S(M(h.dispose),d(e(h)))(i))}}),c=>{n.dispose();for(const a of l)a(c);l.length=0,i.clear(c)}};{const r=$(s);return S(...Array.from({length:s},(n,i)=>i).map(n=>{const i=new U(n,r);return S(M(i.dispose),d(e(i)))}))}},ds=(s,e,t)=>{const r=y.map(s,i=>i.length),n=y.toSignal(s);return me(r,i=>{const l=n.map(c=>c[i.index]);return S(M(l.dispose),d(e(l,i)))},t)},fs=(s,e)=>{if(f.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(c=>d(e(c)));let i=()=>{};const l=n.on(c=>{i(!0),i=c(r)});return c=>{l(),i(c)}}}return d(e(s))},ps=(s,e,t=()=>E)=>q(y.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),ms=(s,e)=>t=>{const r=t.makePortal(s),n=Z(d(e),r);return()=>n(!0)},W=new Map,et=s=>({mark:je(`Probe(${s.description})`),create:({callback:e=()=>{},timeout:t=10}={})=>{const r=c=>{clearTimeout(n),W.delete(s),e(c)};if(W.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>r("timeout"),t),i={counter:0,timeoutId:n};return W.set(s,i),{value:()=>{clearTimeout(n);const c=W.get(s);c!=null&&--c.counter===0&&r("resolved")},dispose:()=>r("disposed"),onUse:()=>i.counter++}}}),gs=et(Symbol("GlobalProbe")),ys=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},Ts=(s,e)=>t=>{const r=t.getStyle(s),n=e.on(i=>t.setStyle(s,i));return i=>{n(),i&&t.setStyle(s,r)}},Ss=new Proxy({},{get:(s,e)=>t=>f.is(t)?Ts(e,t):ys(e,t)}),tt=s=>e=>{if(e.isBrowser()){const t=s(e);if(t!=null)return d(t)(e)}return()=>{}},bs=s=>e=>{const t=s(e);return t==null?()=>{}:d(t)(e)},As=s=>tt(e=>s(e.element)),Es=s=>e=>{if(e.isHeadlessDOM()){const t=s(e);if(t)return d(t)(e)}return()=>{}},K=s=>e=>{let t=e;function r(){return t}function n(c){t=c}const i=[],l=s({use:({mark:c})=>{const{value:a,onUse:u}=r().getProvider(c);return u==null||u(),a},set:({mark:c,create:a},u)=>{const{value:h,dispose:m,onUse:T}=a(u,r());i.push(m),n(r().setProvider(c,h,T))}});return l==null?()=>{}:S(d(l),M(()=>i.forEach(c=>c())))(r())},_s=(s,e,t)=>K(({set:r})=>(r(s,e),t())),vs=(s,e)=>K(({use:t})=>e(t(s))),Cs=(...s)=>e=>K(({use:t})=>{const r=s.map(t);return e(...r)});exports.Async=Gt;exports.BindChecked=rs;exports.BindDate=Kt;exports.BindDateTime=es;exports.BindNumber=ts;exports.BindText=ss;exports.BrowserContext=x;exports.CLASS_PLACEHOLDER_ATTR=I;exports.Computed=w;exports.Conjunction=ls;exports.DOMNode=cs;exports.El=ue;exports.ElNS=he;exports.ElementPosition=U;exports.Empty=E;exports.Ensure=as;exports.EnsureAll=us;exports.ForEach=ds;exports.Fragment=S;exports.GlobalProbe=gs;exports.HeadlessAdapter=mt;exports.HeadlessContext=O;exports.HeadlessElement=Ue;exports.HeadlessPortal=le;exports.HeadlessText=Ge;exports.MapSignal=fs;exports.MemoryStore=se;exports.NotEmpty=ps;exports.OnChecked=Xe;exports.OnDispose=M;exports.OneOf=q;exports.OneOfField=fe;exports.OneOfKind=ns;exports.OneOfTuple=is;exports.OneOfType=os;exports.OneOfValue=Ke;exports.Portal=ms;exports.Prop=N;exports.Provide=_s;exports.ProviderNotFoundError=ie;exports.RenderingError=qe;exports.Repeat=me;exports.Signal=f;exports.Task=de;exports.TextNode=Ht;exports.Unless=hs;exports.Use=vs;exports.UseMany=Cs;exports.Value=y;exports.When=pe;exports.WithBrowserCtx=tt;exports.WithCtx=bs;exports.WithElement=As;exports.WithHeadlessCtx=Es;exports.WithProvider=K;exports._NODE_PLACEHOLDER_ATTR=oe;exports._getSelfOrParentElement=Ve;exports._isElement=ne;exports._makeGetter=Re;exports._makeSetter=$e;exports._removeDOMNode=k;exports._signalText=ae;exports._staticText=ce;exports.animateSignal=ut;exports.animateSignals=De;exports.aria=$t;exports.attr=D;exports.computed=Q;exports.computedOf=Oe;exports.computedRecord=Le;exports.dataAttr=It;exports.delaySignal=dt;exports.effect=xe;exports.effectOf=lt;exports.emitChecked=Yt;exports.emitPreventDefault=zt;exports.emitStopImmediatePropagation=Zt;exports.emitStopPropagation=Qt;exports.emitValue=Ye;exports.emitValueAsDate=Qe;exports.emitValueAsDateTime=Ze;exports.emitValueAsNullableDate=Jt;exports.emitValueAsNullableDateTime=Xt;exports.emitValueAsNumber=ze;exports.endInterpolate=Pe;exports.getWindow=te;exports.guessInterpolate=we;exports.html=jt;exports.input=qt;exports.interpolateDate=Ce;exports.interpolateNumber=_e;exports.interpolateString=ve;exports.joinSignals=ot;exports.localStorageProp=ct;exports.makeProbe=et;exports.makeProviderMark=je;exports.math=Ut;exports.mathAttr=Vt;exports.merge=ht;exports.on=j;exports.prop=A;exports.render=ft;exports.renderWithContext=Z;exports.renderableOfTNode=d;exports.restoreTempoPlaceholders=wt;exports.runHeadless=pt;exports.sessionStorageProp=at;exports.signal=$;exports.storedProp=re;exports.style=Ss;exports.svg=Ft;exports.svgAttr=Rt;
1
+ "use strict";var rt=Object.defineProperty;var Se=s=>{throw TypeError(s)};var nt=(s,e,t)=>e in s?rt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e,t)=>nt(s,typeof e!="symbol"?e+"":e,t),be=(s,e,t)=>e.has(s)||Se("Cannot "+t);var F=(s,e,t)=>(be(s,e,"read from private field"),t?t.call(s):e.get(s)),Ae=(s,e,t)=>e.has(s)?Se("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),te=(s,e,t,r)=>(be(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ve=(s,e,t)=>s+(e-s)*t,Ee=97,Ce=(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=Ee);let c=e.charCodeAt(i);isNaN(c)&&(c=Ee),n+=String.fromCharCode(l+(c-l)*t)}return n},Pe=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),we=(s,e)=>e,xe=s=>typeof s=="number"?ve:typeof s=="string"?Ce:s instanceof Date?Pe:we;var C;class U{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");Ae(this,C);o(this,"dispose",()=>{var e;(e=F(this,C))==null||e.dispose(),te(this,C,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 F(this,C)==null&&te(this,C,this.total.map(e=>this.counter===e)),F(this,C)}}C=new WeakMap;const H=class H{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=>{if(this._disposed)return;const t=this._value;this.equals(t,e)||(this._value=e,this._onValueListeners.forEach(n=>n(e,t)))});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 w(()=>{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 w(()=>{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 w(()=>{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 w(()=>{try{const l=this.get(),c=e(l);return n=c??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=A(t,n);let l=0,c=new AbortController;return i.onDispose(this.on(async a=>{const u=++l;c.abort(),c=new AbortController;try{const h=await e(a,{abortSignal:c.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",({autoDisposeProp:e=!0,equals:t}={})=>this.feedProp(A(this.get(),t),e));o(this,"derive",()=>this.map(e=>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(H,"ofPromise",(e,t,r,n=(i,l)=>i===l)=>{const i=new H(t,n);return e.then(l=>i._setAndNotify(l)).catch(l=>{r!=null?i._setAndNotify(r(l)):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),i}),o(H,"is",e=>e!=null&&e.$__signal__===!0);let f=H;const it=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class w 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;it(()=>{this._scheduleCount!==t||this._disposed||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn()))})});o(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn())),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)});o(this,"update",t=>{this._setAndNotify(t(this.get()))});o(this,"reducer",(t,...r)=>{const n=this;return function i(l){const c=n.value;n.update(a=>t(a,l)),!n.equals(c,n.value)&&r.forEach(a=>a({previousState:c,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))),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)}};o(z,"is",t=>t!=null&&t.$__prop__===!0);let N=z;const Q=(s,e,t=(r,n)=>r===n)=>{const r=new w(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 c=r;r=()=>{l?c():l=!0}}const n=Q(r,e),i=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",i)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",i),i},A=(s,e=(t,r)=>t===r)=>new N(s,e),$=(s,e=(t,r)=>t===r)=>new f(s,e),se=()=>typeof window<"u"?window:void 0,y={map:(s,e)=>f.is(s)?s.map(e):e(s),toSignal:(s,e)=>f.is(s)?s:$(s,e),maybeToSignal:(s,e)=>{if(s!=null)return y.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()},deriveProp:(s,{autoDisposeProp:e=!0,equals:t}={})=>f.is(s)?s.deriveProp({autoDisposeProp:e,equals:t}):A(s,t)},Z=(...s)=>(e,t)=>{if(s.length===1)return y.toSignal(s[0]).map(e);const r=s.filter(n=>f.is(n));return Q(()=>e(...s.map(n=>y.get(n))),r,t)},ot=s=>{const e=Object.keys(s);return Z(...Object.values(s))((...t)=>Object.fromEntries(e.map((r,n)=>[r,t[n]])))},lt=(...s)=>(e,t={})=>{const r=s.filter(n=>f.is(n));return Oe(()=>e(...s.map(y.get)),r,t)};class re{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 ne=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:i=(c,a)=>c===a,onLoad:l=c=>c})=>{const c=t.getItem(s),a=new N(c!=null?l(n(c)):typeof e=="function"?e():e,i);return a.on(u=>t.setItem(s,r(u))),a},ct=s=>{var e;return ne({...s,store:((e=se())==null?void 0:e.localStorage)??new re})},at=s=>{var e;return ne({...s,store:((e=se())==null?void 0:e.sessionStorage)??new re})};function _e(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const De=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,i=(r==null?void 0:r.easing)??(_=>_),l=(r==null?void 0:r.equals)??((_,B)=>_===B);let c=r==null?void 0:r.interpolate,a=s,u=e(),h=performance.now(),m=null,T=!0;const p=new w(e,l),g=A(s,l);g.onDispose(()=>{m!==null&&cancelAnimationFrame(m)}),g.onDispose(p.dispose),t.forEach(_=>{_.setDerivative(p),_.onDispose(g.dispose)});const P=_=>{u=_,h=performance.now(),a=g.value,T&&(T=!1,m=_e(ye))},ye=()=>{const B=(performance.now()-h)/y.get(n),st=i(B);c==null&&(c=xe(a));let Te=c(a,u,st);B>=1?(T=!0,Te=u):m=_e(ye),g.set(Te)};return p.on(P),g},ut=(s,e)=>{const{initialValue:t,...r}=e??{};return De(t??s.get(),s.get,[s],r)},Le=(s,e)=>{const t=Object.values(s).filter(f.is),r=Object.keys(s);return Q(()=>{const n={};for(const i of r)n[i]=y.get(s[i]);return e(n)},t)},ht=s=>Le(s,e=>e),dt=(s,e)=>{const t=A(s.get());let r=null;const n=s.on(i=>{r!=null&&clearTimeout(r),r=setTimeout(()=>{r=null,t.set(i)},typeof e=="function"?e(i):e)});return t.onDispose(()=>{n(),r!=null&&clearTimeout(r)}),t},ft=s=>(...e)=>Z(s,...e)((t,...r)=>t(...r)),pt=(...s)=>Z(...s)((...e)=>e.find(t=>t!=null)),Me=new Set(["checked","disabled","hidden"]),He=new Set(["selected"]),Ne=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),ke=new Set(["valueAsDate"]),Ie=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),$e=(s,e)=>He.has(s)?t=>{t==null||t!==!0?e.removeAttribute(s):e.setAttribute(s,"")}:Me.has(s)?t=>{t==null?e[s]=null:e[s]=!!t}:Ne.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=t}:Ie.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},Re=(s,e)=>He.has(s)?()=>e.hasAttribute(s):Me.has(s)?()=>!!e[s]:Ne.has(s)?()=>Number(e[s]):ke.has(s)?()=>e[s]:Ie.has(s)?()=>String(e[s]):()=>e.getAttribute(s),k=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},Ve=s=>ie(s)?s:s.parentElement,ie=s=>s.nodeType===1;class oe extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class x{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 x(this.document,e,void 0,this.providers));o(this,"makePortal",e=>{const t=typeof e=="string"?this.document.querySelector(e):e;if(t==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(t)});o(this,"withReference",e=>new x(this.document,this.element,e,this.providers));o(this,"setProvider",(e,t,r)=>new x(this.document,this.element,this.reference,{...this.providers,[e]:[t,r]}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new oe(e);const[t,r]=this.providers[e];return{value:t,onUse:r}});o(this,"clear",e=>{e&&(this.reference!==void 0?k(this.reference):k(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)=>{const n=i=>t(i,this);return this.element.addEventListener(e,n,r),i=>{i&&this.element.removeEventListener(e,n,r)}});o(this,"isBrowserDOM",()=>!0);o(this,"isBrowser",()=>!0);o(this,"isHeadlessDOM",()=>!1);o(this,"isHeadless",()=>!1);o(this,"setStyle",(e,t)=>{this.element.style[e]=t});o(this,"getStyle",e=>this.element.style[e]);o(this,"makeAccessors",e=>({get:Re(e,this.element),set:$e(e,this.element)}));o(this,"getWindow",()=>this.document.defaultView);this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t,r){return new x(e.ownerDocument,e,t,r)}}const je=s=>Symbol(s),K=(s,e)=>{const t=s(e);return(r=!0)=>t(r)},mt=(s,e,{doc:t,clear:r,disposeWithParent:n=!0,providers:i={}}={})=>{const l=typeof e=="string"?(t??document).querySelector(e):e;if(l===null)throw new qe(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??l.ownerDocument)!=null&&l.nodeType===1&&(l.innerHTML="");const c=Ve(l),a=ie(l)?void 0:l,u=x.of(c,a,i),h=K(s,u);let m;return n&&(m=new MutationObserver(T=>{var p;(p=T[0])==null||p.removedNodes.forEach(g=>{g===l&&(m==null||m.disconnect(),h(l.nodeType!==1))})}),m.observe(l.parentElement,{childList:!0,subtree:!1,attributes:!1})),()=>{m==null||m.disconnect(),h(!0)}},gt=(s,{startUrl:e="https://example.com",selector:t,providers:r={}}={selector:"body"})=>{const n=y.toSignal(e).deriveProp(),i=new ce(t,void 0),l=new O(i,void 0,{currentURL:n},r);return{clear:K(s(),l),root:i,currentURL:n}};class qe extends Error{constructor(e){super(e)}}const le="data-tts-node",I="data-tts-class",G="data-tts-style",J="data-tts-html",X="data-tts-text",Y="data-tts-attrs";class yt{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:c,appendHTML:a,getInnerHTML:u,setInnerHTML:h,getInnerText:m,setInnerText:T}){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=>{const i=typeof n.selector=="string"?this.select(n.selector):[n.selector];for(const l of i){if(l==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(l,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const c=this.getInnerHTML(l);c!=null&&this.setAttribute(l,J,c)}this.setInnerHTML(l,n.getInnerHTML())}if(n.hasInnerText()){if(t){const c=this.getInnerText(l);c!=null&&this.setAttribute(l,X,c)}this.setInnerText(l,n.getInnerText())}if(n.hasClasses()){if(t){const c=this.getClass(l);c!=null&&this.setAttribute(l,I,c)}this.setClass(l,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const c=this.getStyles(l);Object.keys(c).length>0&&this.setAttribute(l,G,JSON.stringify(c))}this.setStyles(l,n.getStyles())}if(n.hasAttributes()){const c=n.getAttributes();if(t){const a=[];c.forEach(([u])=>{const h=this.getAttribute(l,u);h!=null&&a.push([u,h])}),a.length>0&&this.setAttribute(l,Y,JSON.stringify(Object.fromEntries(a)))}c.forEach(([a,u])=>{this.setAttribute(l,a,u)})}}})});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=T}}const Tt=()=>{document.querySelectorAll(`[${le}]`).forEach(k)},St=s=>{const e=s.getAttribute(I);s.removeAttribute(I),e!=null&&s.setAttribute("class",e)},bt=()=>{document.querySelectorAll(`[${I}]`).forEach(e=>St(e))},At=s=>{const e=s.getAttribute(J);s.removeAttribute(J),e!=null&&(s.innerHTML=e)},Et=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>At(e))},_t=s=>{const e=s.getAttribute(X);s.removeAttribute(X),e!=null&&(s.innerText=e)},vt=()=>{document.querySelectorAll(`[${X}]`).forEach(e=>_t(e))},Be=s=>JSON.parse(s.replace(/&quot;/g,'"')),Ct=s=>{const e=s.getAttribute(G);if(s.removeAttribute(G),e!=null){const t=Be(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},Pt=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>Ct(e))},wt=s=>{const e=s.getAttribute(Y);if(s.removeAttribute(Y),e!=null){const t=Be(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},xt=()=>{document.querySelectorAll(`[${Y}]`).forEach(e=>wt(e))},Ot=()=>{Tt(),bt(),vt(),Et(),Pt(),xt()},b=Symbol("class"),v=Symbol("style"),L=Symbol("handler"),Fe=()=>Math.random().toString(36).substring(2,15),Dt=s=>s.replace(/<[^>]*>?/g,"");class We{constructor(e){o(this,"id",Fe());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?Dt(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[b]!=null);o(this,"hasStyles",()=>this.properties[v]!=null);o(this,"hasAttributes",()=>Object.keys(this.properties).length>0);o(this,"hasHandlers",()=>this.properties[L]!=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[L]??{})[e]??[]).forEach(n=>n(t))});o(this,"click",()=>{this.trigger("click",{})});o(this,"on",(e,t,r,n)=>{var a;const i=(a=this.properties)[L]??(a[L]={}),l=n!=null&&n.once?u=>{c(),t(u,r)}:u=>t(u,r);i[e]=[...i[e]??[],l];const c=()=>{const u=i[e]??[],h=u.indexOf(l);h!==-1&&(u.splice(h,1),u.length===0?(delete i[e],Object.keys(i).length===0&&delete this.properties[L]):i[e]=u,(n==null?void 0:n.signal)!=null&&n.signal.removeEventListener("abort",c))};return(n==null?void 0:n.signal)!=null&&n.signal.addEventListener("abort",c),c});o(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[b]??(r[b]=[]);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)[b]??(r[b]=[]);e.forEach(n=>{const i=t.indexOf(n);i!==-1&&t.splice(i,1)}),t.length===0&&delete this.properties[b]});o(this,"getClasses",()=>this.properties[b]??[]);o(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));o(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===b?[["class",this.getClasses()]]:e===v?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[v]??(n[v]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[v])});o(this,"getStyle",e=>{var t;return((t=this.properties[v])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[v]??{});o(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const Lt=s=>s.replace(/"/g,"&quot;"),Mt=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class Ue extends We{constructor(t,r,n){super(n);o(this,"isPortal",()=>!1);o(this,"toHTML",(t=!1)=>{const r=this.children.map(a=>a.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let i=null;const l=this.getVisibleAttributes().map(([a,u])=>a==="class"?` class="${u.join(" ")}"`:a==="style"?typeof u=="string"?` style="${u}"`:` style="${Object.entries(u).map(([h,m])=>`${h}: ${m};`).join(" ")}"`:Ht.has(a)?` ${a}`:a==="innerHTML"?(i=u,""):a==="innerText"?(i=Mt(u),""):` ${a}="${Lt(u)}"`).join(""),c=t?` ${le}`:"";return Nt.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${c} />`:`<${this.tagName}${n}${l}${c}>${i??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class ce extends We{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 Ge{constructor(e){o(this,"id",Fe());o(this,"isElement",()=>!1);o(this,"isText",()=>!0);o(this,"getText",()=>this.text);o(this,"toHTML",()=>this.text);this.text=e}}class O{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 Ue(e,t,this.element);return this.appendOrInsert(r),new O(r,void 0,this.container,this.providers)});o(this,"makeChildText",e=>{const t=new Ge(e);return this.appendOrInsert(t),new O(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 ce(e,this.element);return this.appendOrInsert(t),new O(t,void 0,this.container,this.providers)});o(this,"setProvider",(e,t,r)=>new O(this.element,this.reference,this.container,{...this.providers,[e]:[t,r]}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new oe(e);const[t,r]=this.providers[e];return{value:t,onUse:r}});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,this));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,"isBrowser",()=>!1);o(this,"isHeadlessDOM",()=>!0);o(this,"isHeadless",()=>!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 Ht=new Set(["checked","disabled","multiple","readonly","required","selected"]),Nt=new Set(["img","br","hr","input","link","meta"]),ae=s=>e=>e.makeChildText(s).clear,ue=s=>e=>{const t=e.makeChildText(s.value),r=s.on(t.setText);return n=>{r(),t.clear(n)}},kt=s=>f.is(s)?ue(s):ae(s),S=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},E=()=>()=>{},It=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),$t=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}},R=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r();return n(e),l=>{l&&n(i)}},V=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r(),l=e.on(n);return c=>{l(),c&&n(i)}},D=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?$t(t):It((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?V(e,t):R(e,t)}),Rt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`data-${e}`,t):R(`data-${e}`,t)}),Vt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`aria-${e}`,t):R(`aria-${e}`,t)}),jt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),qt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),d=s=>{if(s==null)return E;if(Array.isArray(s))return S(...s.map(d));if(typeof s=="string")return ae(s);if(f.is(s))return ue(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},he=(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)}},de=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),i=t.map(l=>d(l)(n));return l=>{i.forEach(c=>c(!1)),n.clear(l)}},Bt=new Proxy({},{get:(s,e)=>(...t)=>he(e,t.flatMap(d))}),Ft=new Proxy({},{get:(s,e)=>(...t)=>he("input",D.type(e),...t)}),Wt="http://www.w3.org/2000/svg",Ut=new Proxy({},{get:(s,e)=>(...t)=>de(e,Wt,t.flatMap(d))}),Gt="http://www.w3.org/1998/Math/MathML",Jt=new Proxy({},{get:(s,e)=>(...t)=>de(e,Gt,t.flatMap(d))}),fe=(s,e)=>{if(typeof e=="function")return fe(s,{then:e});const t=e.pending!=null?d(e.pending()):E,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>E;return i=>{let l=!0;const c=s(),a=i.makeRef();let u=d(t)(a);return c.then(h=>{l&&(u(!0),u=d(r(h))(a))},h=>{l&&(u(!0),u=d(n(h))(a))}),h=>{l=!1,u(h),a.clear(h)}}},Xt=(s,e)=>fe(()=>s,e),Je=(s,e,t)=>r=>r.on(s,e,t),Xe=s=>Je("click",(e,t)=>{e.preventDefault();const r=e.target;setTimeout(()=>{const n=r.ownerDocument!=null?r==null?void 0:r.checked:void 0;n!=null&&s(!n,t)},0)}),j=new Proxy({},{get:(s,e)=>t=>Je(e,t)}),Ye=s=>e=>{const t=e.target;s(t.value)},ze=s=>e=>{const t=e.target;s(t.valueAsNumber)},Qe=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)},Yt=s=>e=>{const t=e.target;if(t.value===""){s(null);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)},zt=s=>e=>{const t=e.target;if(t.value===""){s(null);return}const r=t.value.split("T");if(r.length!==2){s(null);return}const 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]??0)),i.setMinutes(Number(l[1]??0)),i.setSeconds(Number(l[2]??0)),s(i)},Qt=s=>e=>{const t=e.target;s(t.checked)},Zt=s=>e=>{e.preventDefault(),s()},Kt=s=>e=>{e.stopPropagation(),s()},es=s=>e=>{e.stopImmediatePropagation(),s()},ts=(s,e="input")=>S(D.valueAsDate(s),j[e](Qe(s.set))),ss=(s,e="input")=>S(D.valueAsDate(s),j[e](Ze(s.set))),rs=(s,e="input")=>S(D.valueAsNumber(s),j[e](ze(s.set))),ns=(s,e="input")=>S(D.value(s),j[e](Ye(s.set))),is=s=>S(D.checked(s),Xe(s.set)),q=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let i,l;const c=s.map(h=>Object.keys(h)[0]);let a;const u=c.on(h=>{if(h!==a){a=h,l==null||l.dispose(),i==null||i(!0),l=s.map(T=>T[h]);const m=e[h](l);i=d(m)(n)}});return h=>{l==null||l.dispose(),u(),n.clear(h),i==null||i(h)}};const t=Object.keys(s)[0];return d(e[t]($(s[t])))},pe=(s,e,t)=>q(y.map(s,r=>({[r[e]]:r})),t),os=(s,e)=>pe(s,"kind",e),ls=(s,e)=>{const t=y.map(s,([r,n])=>({[r]:n}));return q(t,e)},cs=(s,e)=>pe(s,"type",e),Ke=(s,e)=>q(y.map(s,t=>({[t]:!0})),e),as=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return Ke(t.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:r,last:n,other:s})},us=s=>e=>(e.appendOrInsert(s),t=>{t&&k(s)}),hs=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=()=>{},c=!1,a=null;const u=r.on(h=>{h==null?(l(!0),l=d(t==null?void 0:t())(i),c=!1,a==null||a.dispose(),a=null):c?a.set(h):(a=A(h),l(!0),l=d(e(a))(i),c=!0)});return h=>{a==null||a.dispose(),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):E}return d(e($(r)))}},ds=(...s)=>(e,t)=>r=>{const n=r.makeRef();if(s.some(p=>!f.is(p)&&p==null))return(t!=null?d(t==null?void 0:t()):E)(n);const l=s.map(()=>null),c=s.map(p=>f.is(p)?p.value!=null:p!=null);let a=null;const u=A(c.every(p=>p)),h=(p,g)=>{if(p.value!=null){if(l[g]==null){const P=A(p.value);l[g]=P}else l[g].value=p.value;c[g]=!0}else c[g]=!1};let m=s.length-1;const T=s.map((p,g)=>{if(!f.is(p)){const P=A(p);return l[g]=P,()=>{}}return p.on(()=>{h(p,g),m===0?u.value=c.every(P=>P):m--})});return u.on(p=>{a==null||a(!0),a=null,p?a=d(e(...l))(n):a=d((t==null?void 0:t())??E)(n)}),p=>{l.forEach(g=>g==null?void 0:g.dispose()),u.dispose(),T.forEach(g=>g()),a==null||a(p),n.clear(p)}},M=(...s)=>e=>t=>s.forEach(r=>r(t,e)),me=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=()=>{};const c=r.on(a=>{l(!0),a?l=d(e())(i):l=d(t==null?void 0:t())(i)});return a=>{l(a),c(),i.clear(a)}}}else{if(s){const n=e();return n!=null?d(n):E}return d(t==null?void 0:t())}},fs=(s,e,t)=>me(y.map(s,r=>!r),e,t),ge=(s,e,t)=>{if(t!=null)return ge(s,r=>{const n=new U(r.index,r.total.map(i=>i-1));return S(M(n.dispose),d(e(r)),me(r.isLast,()=>E,()=>t(n)))});if(f.is(s))return r=>{const n=s.derive(),i=r.makeRef(),l=[];return n.on(c=>{const a=l.splice(c);for(const u of a)u(!0);for(let u=l.length;u<c;u++){const h=new U(u,n);l.push(S(M(h.dispose),d(e(h)))(i))}}),c=>{n.dispose();for(const a of l)a(c);l.length=0,i.clear(c)}};{const r=$(s);return S(...Array.from({length:s},(n,i)=>i).map(n=>{const i=new U(n,r);return S(M(i.dispose),d(e(i)))}))}},ps=(s,e,t)=>{const r=y.map(s,i=>i.length),n=y.toSignal(s);return ge(r,i=>{const l=n.map(c=>c[i.index]);return S(M(l.dispose),d(e(l,i)))},t)},ms=(s,e)=>{if(f.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(c=>d(e(c)));let i=()=>{};const l=n.on(c=>{i(!0),i=c(r)});return c=>{l(),i(c)}}}return d(e(s))},gs=(s,e,t=()=>E)=>q(y.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),ys=(s,e)=>t=>{const r=t.makePortal(s),n=K(d(e),r);return()=>n(!0)},W=new Map,et=s=>({mark:je(`Probe(${s.description})`),create:({callback:e=()=>{},timeout:t=10}={})=>{const r=c=>{clearTimeout(n),W.delete(s),e(c)};if(W.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>r("timeout"),t),i={counter:0,timeoutId:n};return W.set(s,i),{value:()=>{clearTimeout(n);const c=W.get(s);c!=null&&--c.counter===0&&r("resolved")},dispose:()=>r("disposed"),onUse:()=>i.counter++}}}),Ts=et(Symbol("GlobalProbe")),Ss=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},bs=(s,e)=>t=>{const r=t.getStyle(s),n=e.on(i=>t.setStyle(s,i));return i=>{n(),i&&t.setStyle(s,r)}},As=new Proxy({},{get:(s,e)=>t=>f.is(t)?bs(e,t):Ss(e,t)}),tt=s=>e=>{if(e.isBrowser()){const t=s(e);if(t!=null)return d(t)(e)}return()=>{}},Es=s=>e=>{const t=s(e);return t==null?()=>{}:d(t)(e)},_s=s=>tt(e=>s(e.element)),vs=s=>e=>{if(e.isHeadlessDOM()){const t=s(e);if(t)return d(t)(e)}return()=>{}},ee=s=>e=>{let t=e;function r(){return t}function n(c){t=c}const i=[],l=s({use:({mark:c})=>{const{value:a,onUse:u}=r().getProvider(c);return u==null||u(),a},set:({mark:c,create:a},u)=>{const{value:h,dispose:m,onUse:T}=a(u,r());i.push(m),n(r().setProvider(c,h,T))}});return l==null?()=>{}:S(d(l),M(()=>i.forEach(c=>c())))(r())},Cs=(s,e,t)=>ee(({set:r})=>(r(s,e),t())),Ps=(s,e)=>ee(({use:t})=>e(t(s))),ws=(...s)=>e=>ee(({use:t})=>{const r=s.map(t);return e(...r)});exports.Async=Xt;exports.BindChecked=is;exports.BindDate=ts;exports.BindDateTime=ss;exports.BindNumber=rs;exports.BindText=ns;exports.BrowserContext=x;exports.CLASS_PLACEHOLDER_ATTR=I;exports.Computed=w;exports.Conjunction=as;exports.DOMNode=us;exports.El=he;exports.ElNS=de;exports.ElementPosition=U;exports.Empty=E;exports.Ensure=hs;exports.EnsureAll=ds;exports.ForEach=ps;exports.Fragment=S;exports.GlobalProbe=Ts;exports.HeadlessAdapter=yt;exports.HeadlessContext=O;exports.HeadlessElement=Ue;exports.HeadlessPortal=ce;exports.HeadlessText=Ge;exports.MapSignal=ms;exports.MemoryStore=re;exports.NotEmpty=gs;exports.OnChecked=Xe;exports.OnDispose=M;exports.OneOf=q;exports.OneOfField=pe;exports.OneOfKind=os;exports.OneOfTuple=ls;exports.OneOfType=cs;exports.OneOfValue=Ke;exports.Portal=ys;exports.Prop=N;exports.Provide=Cs;exports.ProviderNotFoundError=oe;exports.RenderingError=qe;exports.Repeat=ge;exports.Signal=f;exports.Task=fe;exports.TextNode=kt;exports.Unless=fs;exports.Use=Ps;exports.UseMany=ws;exports.Value=y;exports.When=me;exports.WithBrowserCtx=tt;exports.WithCtx=Es;exports.WithElement=_s;exports.WithHeadlessCtx=vs;exports.WithProvider=ee;exports._NODE_PLACEHOLDER_ATTR=le;exports._getSelfOrParentElement=Ve;exports._isElement=ie;exports._makeGetter=Re;exports._makeSetter=$e;exports._removeDOMNode=k;exports._signalText=ue;exports._staticText=ae;exports.animateSignal=ut;exports.animateSignals=De;exports.aria=Vt;exports.attr=D;exports.bind=ft;exports.coalesce=pt;exports.computed=Q;exports.computedOf=Z;exports.computedRecord=Le;exports.dataAttr=Rt;exports.delaySignal=dt;exports.effect=Oe;exports.effectOf=lt;exports.emitChecked=Qt;exports.emitPreventDefault=Zt;exports.emitStopImmediatePropagation=es;exports.emitStopPropagation=Kt;exports.emitValue=Ye;exports.emitValueAsDate=Qe;exports.emitValueAsDateTime=Ze;exports.emitValueAsNullableDate=Yt;exports.emitValueAsNullableDateTime=zt;exports.emitValueAsNumber=ze;exports.endInterpolate=we;exports.getWindow=se;exports.guessInterpolate=xe;exports.html=Bt;exports.input=Ft;exports.interpolateDate=Pe;exports.interpolateNumber=ve;exports.interpolateString=Ce;exports.joinSignals=ot;exports.localStorageProp=ct;exports.makeProbe=et;exports.makeProviderMark=je;exports.math=Jt;exports.mathAttr=qt;exports.merge=ht;exports.on=j;exports.prop=A;exports.render=mt;exports.renderWithContext=K;exports.renderableOfTNode=d;exports.restoreTempoPlaceholders=Ot;exports.runHeadless=gt;exports.sessionStorageProp=at;exports.signal=$;exports.storedProp=ne;exports.style=As;exports.svg=Ut;exports.svgAttr=jt;
package/index.js CHANGED
@@ -1,12 +1,12 @@
1
- var Me = Object.defineProperty;
2
- var re = (s) => {
1
+ var He = Object.defineProperty;
2
+ var ne = (s) => {
3
3
  throw TypeError(s);
4
4
  };
5
- var He = (s, e, t) => e in s ? Me(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
6
- var o = (s, e, t) => He(s, typeof e != "symbol" ? e + "" : e, t), ne = (s, e, t) => e.has(s) || re("Cannot " + t);
7
- var I = (s, e, t) => (ne(s, e, "read from private field"), t ? t.call(s) : e.get(s)), ie = (s, e, t) => e.has(s) ? re("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), z = (s, e, t, r) => (ne(s, e, "write to private field"), r ? r.call(s, t) : e.set(s, t), t);
8
- const ke = (s, e, t) => s + (e - s) * t;
9
- const Ne = (s, e, t) => {
5
+ var ke = (s, e, t) => e in s ? He(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
6
+ var o = (s, e, t) => ke(s, typeof e != "symbol" ? e + "" : e, t), ie = (s, e, t) => e.has(s) || ne("Cannot " + t);
7
+ var I = (s, e, t) => (ie(s, e, "read from private field"), t ? t.call(s) : e.get(s)), oe = (s, e, t) => e.has(s) ? ne("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), z = (s, e, t, r) => (ie(s, e, "write to private field"), r ? r.call(s, t) : e.set(s, t), t);
8
+ const Ne = (s, e, t) => s + (e - s) * t;
9
+ const $e = (s, e, t) => {
10
10
  const r = Math.max(s.length, e.length);
11
11
  let n = "";
12
12
  for (let i = 0; i < r; i++) {
@@ -16,7 +16,7 @@ const Ne = (s, e, t) => {
16
16
  isNaN(c) && (c = 97), n += String.fromCharCode(l + (c - l) * t);
17
17
  }
18
18
  return n;
19
- }, $e = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), Ie = (s, e) => e, Re = (s) => typeof s == "number" ? ke : typeof s == "string" ? Ne : s instanceof Date ? $e : Ie;
19
+ }, Ie = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), Re = (s, e) => e, je = (s) => typeof s == "number" ? Ne : typeof s == "string" ? $e : s instanceof Date ? Ie : Re;
20
20
  var w;
21
21
  class Q {
22
22
  /**
@@ -44,7 +44,7 @@ class Q {
44
44
  * @returns `true` if the counter is odd, `false` otherwise.
45
45
  */
46
46
  o(this, "isOdd");
47
- ie(this, w);
47
+ oe(this, w);
48
48
  o(this, "dispose", () => {
49
49
  var e;
50
50
  (e = I(this, w)) == null || e.dispose(), z(this, w, void 0);
@@ -455,7 +455,7 @@ o(H, "is", (e) => (
455
455
  e != null && e.$__signal__ === !0
456
456
  ));
457
457
  let d = H;
458
- const je = typeof queueMicrotask == "function" ? queueMicrotask : (s) => Promise.resolve().then(s);
458
+ const Ve = typeof queueMicrotask == "function" ? queueMicrotask : (s) => Promise.resolve().then(s);
459
459
  class P extends d {
460
460
  /**
461
461
  * Represents a Signal object.
@@ -491,7 +491,7 @@ class P extends d {
491
491
  */
492
492
  o(this, "_scheduleNotify", () => {
493
493
  const t = ++this._scheduleCount;
494
- je(() => {
494
+ Ve(() => {
495
495
  this._scheduleCount !== t || this._disposed || this._isDirty && (this._isDirty = !1, this._setAndNotify(this._fn()));
496
496
  });
497
497
  });
@@ -604,7 +604,7 @@ let j = J;
604
604
  const Z = (s, e, t = (r, n) => r === n) => {
605
605
  const r = new P(s, t);
606
606
  return e.forEach((n) => n.setDerivative(r)), r;
607
- }, Ve = (s, e, t = {}) => {
607
+ }, qe = (s, e, t = {}) => {
608
608
  let r = t.once ? () => {
609
609
  i(), s();
610
610
  } : s;
@@ -619,7 +619,7 @@ const Z = (s, e, t = (r, n) => r === n) => {
619
619
  n.dispose(), t.abortSignal != null && t.abortSignal.removeEventListener("abort", i);
620
620
  };
621
621
  return t.abortSignal != null && t.abortSignal.addEventListener("abort", i), i;
622
- }, _ = (s, e = (t, r) => t === r) => new j(s, e), G = (s, e = (t, r) => t === r) => new d(s, e), le = () => (
622
+ }, _ = (s, e = (t, r) => t === r) => new j(s, e), G = (s, e = (t, r) => t === r) => new d(s, e), ce = () => (
623
623
  /* c8 ignore next */
624
624
  typeof window < "u" ? window : void 0
625
625
  ), y = {
@@ -693,7 +693,7 @@ const Z = (s, e, t = (r, n) => r === n) => {
693
693
  autoDisposeProp: e = !0,
694
694
  equals: t
695
695
  } = {}) => d.is(s) ? s.deriveProp({ autoDisposeProp: e, equals: t }) : _(s, t)
696
- }, qe = (...s) => (e, t) => {
696
+ }, K = (...s) => (e, t) => {
697
697
  if (s.length === 1)
698
698
  return y.toSignal(s[0]).map(e);
699
699
  const r = s.filter((n) => d.is(n));
@@ -704,18 +704,18 @@ const Z = (s, e, t = (r, n) => r === n) => {
704
704
  );
705
705
  }, Pt = (s) => {
706
706
  const e = Object.keys(s);
707
- return qe(...Object.values(s))(
707
+ return K(...Object.values(s))(
708
708
  (...t) => Object.fromEntries(e.map((r, n) => [r, t[n]]))
709
709
  );
710
710
  }, Lt = (...s) => (e, t = {}) => {
711
711
  const r = s.filter((n) => d.is(n));
712
- return Ve(
712
+ return qe(
713
713
  () => e(...s.map(y.get)),
714
714
  r,
715
715
  t
716
716
  );
717
717
  };
718
- class ce {
718
+ class ae {
719
719
  constructor() {
720
720
  o(this, "_store", /* @__PURE__ */ new Map());
721
721
  /**
@@ -734,7 +734,7 @@ class ce {
734
734
  });
735
735
  }
736
736
  }
737
- const ae = ({
737
+ const ue = ({
738
738
  key: s,
739
739
  defaultValue: e,
740
740
  store: t,
@@ -750,20 +750,20 @@ const ae = ({
750
750
  return a.on((u) => t.setItem(s, r(u))), a;
751
751
  }, Dt = (s) => {
752
752
  var e;
753
- return ae({
753
+ return ue({
754
754
  ...s,
755
755
  /* c8 ignore next 3 */
756
- store: ((e = le()) == null ? void 0 : e.localStorage) ?? new ce()
756
+ store: ((e = ce()) == null ? void 0 : e.localStorage) ?? new ae()
757
757
  });
758
758
  }, Ot = (s) => {
759
759
  var e;
760
- return ae({
760
+ return ue({
761
761
  ...s,
762
762
  /* c8 ignore next 3 */
763
- store: ((e = le()) == null ? void 0 : e.sessionStorage) ?? new ce()
763
+ store: ((e = ce()) == null ? void 0 : e.sessionStorage) ?? new ae()
764
764
  });
765
765
  };
766
- function oe(s) {
766
+ function le(s) {
767
767
  return typeof requestAnimationFrame == "function" ? requestAnimationFrame(s) : setTimeout(s, 0);
768
768
  }
769
769
  const Fe = (s, e, t, r) => {
@@ -776,12 +776,12 @@ const Fe = (s, e, t, r) => {
776
776
  A.setDerivative(p), A.onDispose(m.dispose);
777
777
  });
778
778
  const C = (A) => {
779
- u = A, h = performance.now(), a = m.value, T && (T = !1, g = oe(te));
780
- }, te = () => {
781
- const $ = (performance.now() - h) / y.get(n), Oe = i($);
782
- c == null && (c = Re(a));
783
- let se = c(a, u, Oe);
784
- $ >= 1 ? (T = !0, se = u) : g = oe(te), m.set(se);
779
+ u = A, h = performance.now(), a = m.value, T && (T = !1, g = le(se));
780
+ }, se = () => {
781
+ const $ = (performance.now() - h) / y.get(n), Me = i($);
782
+ c == null && (c = je(a));
783
+ let re = c(a, u, Me);
784
+ $ >= 1 ? (T = !0, re = u) : g = le(se), m.set(re);
785
785
  };
786
786
  return p.on(C), m;
787
787
  }, Mt = (s, e) => {
@@ -815,12 +815,15 @@ const Fe = (s, e, t, r) => {
815
815
  return t.onDispose(() => {
816
816
  n(), r != null && clearTimeout(r);
817
817
  }), t;
818
- }, ue = /* @__PURE__ */ new Set(["checked", "disabled", "hidden"]), he = /* @__PURE__ */ new Set(["selected"]), fe = /* @__PURE__ */ new Set([
818
+ }, Nt = (s) => (...e) => K(
819
+ s,
820
+ ...e
821
+ )((t, ...r) => t(...r)), $t = (...s) => K(...s)((...e) => e.find((t) => t != null)), he = /* @__PURE__ */ new Set(["checked", "disabled", "hidden"]), fe = /* @__PURE__ */ new Set(["selected"]), de = /* @__PURE__ */ new Set([
819
822
  "rowSpan",
820
823
  "colSpan",
821
824
  "tabIndex",
822
825
  "valueAsNumber"
823
- ]), de = /* @__PURE__ */ new Set(["valueAsDate"]), pe = /* @__PURE__ */ new Set([
826
+ ]), pe = /* @__PURE__ */ new Set(["valueAsDate"]), ge = /* @__PURE__ */ new Set([
824
827
  "value",
825
828
  "textContent",
826
829
  "innerText",
@@ -828,23 +831,23 @@ const Fe = (s, e, t, r) => {
828
831
  "outerHTML",
829
832
  "className",
830
833
  "classList"
831
- ]), We = (s, e) => he.has(s) ? (t) => {
834
+ ]), We = (s, e) => fe.has(s) ? (t) => {
832
835
  t == null || t !== !0 ? e.removeAttribute(s) : e.setAttribute(s, "");
833
- } : ue.has(s) ? (t) => {
836
+ } : he.has(s) ? (t) => {
834
837
  t == null ? e[s] = null : e[s] = !!t;
835
- } : fe.has(s) ? (t) => {
836
- t == null ? e[s] = null : e[s] = Number(t);
837
838
  } : de.has(s) ? (t) => {
838
- t == null ? e[s] = null : e[s] = t;
839
+ t == null ? e[s] = null : e[s] = Number(t);
839
840
  } : pe.has(s) ? (t) => {
841
+ t == null ? e[s] = null : e[s] = t;
842
+ } : ge.has(s) ? (t) => {
840
843
  t == null ? e[s] = null : e[s] = String(t);
841
844
  } : (t) => {
842
845
  t == null ? e.removeAttribute(s) : e.setAttribute(s, t);
843
- }, Ue = (s, e) => he.has(s) ? () => e.hasAttribute(s) : ue.has(s) ? () => !!e[s] : fe.has(s) ? () => Number(e[s]) : de.has(s) ? () => e[s] : pe.has(s) ? () => String(e[s]) : () => e.getAttribute(s), V = (s) => {
846
+ }, Ue = (s, e) => fe.has(s) ? () => e.hasAttribute(s) : he.has(s) ? () => !!e[s] : de.has(s) ? () => Number(e[s]) : pe.has(s) ? () => e[s] : ge.has(s) ? () => String(e[s]) : () => e.getAttribute(s), V = (s) => {
844
847
  const e = s;
845
848
  e && e.onblur && (e.onblur = null), !(!s || s.ownerDocument === void 0) && s.parentElement && s.parentElement.removeChild(s);
846
- }, Je = (s) => ge(s) ? s : s.parentElement, ge = (s) => s.nodeType === 1;
847
- class me extends Error {
849
+ }, Je = (s) => me(s) ? s : s.parentElement, me = (s) => s.nodeType === 1;
850
+ class ye extends Error {
848
851
  constructor(e) {
849
852
  super(`Provider not found: ${e.description}`);
850
853
  }
@@ -1024,7 +1027,7 @@ class L {
1024
1027
  */
1025
1028
  o(this, "getProvider", (e) => {
1026
1029
  if (this.providers[e] === void 0)
1027
- throw new me(e);
1030
+ throw new ye(e);
1028
1031
  const [t, r] = this.providers[e];
1029
1032
  return { value: t, onUse: r };
1030
1033
  });
@@ -1117,17 +1120,17 @@ class L {
1117
1120
  return new L(e.ownerDocument, e, t, r);
1118
1121
  }
1119
1122
  }
1120
- const Ge = (s) => Symbol(s), K = (s, e) => {
1123
+ const Ge = (s) => Symbol(s), ee = (s, e) => {
1121
1124
  const t = s(e);
1122
1125
  return (r = !0) => t(r);
1123
- }, Nt = (s, e, { doc: t, clear: r, disposeWithParent: n = !0, providers: i = {} } = {}) => {
1126
+ }, It = (s, e, { doc: t, clear: r, disposeWithParent: n = !0, providers: i = {} } = {}) => {
1124
1127
  const l = typeof e == "string" ? (t ?? document).querySelector(e) : e;
1125
1128
  if (l === null)
1126
1129
  throw new Xe(
1127
1130
  `Cannot find element by selector for render: ${e}`
1128
1131
  );
1129
1132
  r !== !1 && (t ?? l.ownerDocument) != null && l.nodeType === 1 && (l.innerHTML = "");
1130
- const c = Je(l), a = ge(l) ? void 0 : l, u = L.of(c, a, i), h = K(s, u);
1133
+ const c = Je(l), a = me(l) ? void 0 : l, u = L.of(c, a, i), h = ee(s, u);
1131
1134
  let g;
1132
1135
  return n && (g = new MutationObserver((T) => {
1133
1136
  var p;
@@ -1141,16 +1144,16 @@ const Ge = (s) => Symbol(s), K = (s, e) => {
1141
1144
  })), () => {
1142
1145
  g == null || g.disconnect(), h(!0);
1143
1146
  };
1144
- }, $t = (s, {
1147
+ }, Rt = (s, {
1145
1148
  startUrl: e = "https://example.com",
1146
1149
  selector: t,
1147
1150
  providers: r = {}
1148
1151
  } = {
1149
1152
  selector: "body"
1150
1153
  }) => {
1151
- const n = y.toSignal(e).deriveProp(), i = new Ae(t, void 0), l = new D(i, void 0, { currentURL: n }, r);
1154
+ const n = y.toSignal(e).deriveProp(), i = new _e(t, void 0), l = new D(i, void 0, { currentURL: n }, r);
1152
1155
  return {
1153
- clear: K(s(), l),
1156
+ clear: ee(s(), l),
1154
1157
  root: i,
1155
1158
  currentURL: n
1156
1159
  };
@@ -1160,8 +1163,8 @@ class Xe extends Error {
1160
1163
  super(e);
1161
1164
  }
1162
1165
  }
1163
- const ye = "data-tts-node", q = "data-tts-class", F = "data-tts-style", B = "data-tts-html", W = "data-tts-text", U = "data-tts-attrs";
1164
- class It {
1166
+ const Te = "data-tts-node", q = "data-tts-class", F = "data-tts-style", B = "data-tts-html", W = "data-tts-text", U = "data-tts-attrs";
1167
+ class jt {
1165
1168
  constructor({
1166
1169
  select: e,
1167
1170
  getAttribute: t,
@@ -1321,7 +1324,7 @@ class It {
1321
1324
  }
1322
1325
  }
1323
1326
  const Ye = () => {
1324
- document.querySelectorAll(`[${ye}]`).forEach(V);
1327
+ document.querySelectorAll(`[${Te}]`).forEach(V);
1325
1328
  }, ze = (s) => {
1326
1329
  const e = s.getAttribute(q);
1327
1330
  s.removeAttribute(q), e != null && s.setAttribute("class", e);
@@ -1337,10 +1340,10 @@ const Ye = () => {
1337
1340
  s.removeAttribute(W), e != null && (s.innerText = e);
1338
1341
  }, tt = () => {
1339
1342
  document.querySelectorAll(`[${W}]`).forEach((e) => et(e));
1340
- }, Te = (s) => JSON.parse(s.replace(/&quot;/g, '"')), st = (s) => {
1343
+ }, be = (s) => JSON.parse(s.replace(/&quot;/g, '"')), st = (s) => {
1341
1344
  const e = s.getAttribute(F);
1342
1345
  if (s.removeAttribute(F), e != null) {
1343
- const t = Te(e);
1346
+ const t = be(e);
1344
1347
  Object.entries(t).forEach(([r, n]) => {
1345
1348
  s.style.setProperty(r, n);
1346
1349
  });
@@ -1350,19 +1353,19 @@ const Ye = () => {
1350
1353
  }, nt = (s) => {
1351
1354
  const e = s.getAttribute(U);
1352
1355
  if (s.removeAttribute(U), e != null) {
1353
- const t = Te(e);
1356
+ const t = be(e);
1354
1357
  Object.entries(t).forEach(([r, n]) => {
1355
1358
  n == null ? s.removeAttribute(r) : s.setAttribute(r, n);
1356
1359
  });
1357
1360
  }
1358
1361
  }, it = () => {
1359
1362
  document.querySelectorAll(`[${U}]`).forEach((e) => nt(e));
1360
- }, Rt = () => {
1363
+ }, Vt = () => {
1361
1364
  Ye(), Qe(), tt(), Ke(), rt(), it();
1362
- }, S = Symbol("class"), E = Symbol("style"), x = Symbol("handler"), be = () => Math.random().toString(36).substring(2, 15), ot = (s) => s.replace(/<[^>]*>?/g, "");
1363
- class Se {
1365
+ }, S = Symbol("class"), E = Symbol("style"), x = Symbol("handler"), Se = () => Math.random().toString(36).substring(2, 15), ot = (s) => s.replace(/<[^>]*>?/g, "");
1366
+ class Ae {
1364
1367
  constructor(e) {
1365
- o(this, "id", be());
1368
+ o(this, "id", Se());
1366
1369
  o(this, "properties", {});
1367
1370
  o(this, "children", []);
1368
1371
  o(this, "isElement", () => !0);
@@ -1467,20 +1470,20 @@ class Se {
1467
1470
  }
1468
1471
  }
1469
1472
  const lt = (s) => s.replace(/"/g, "&quot;"), ct = (s) => s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1470
- class at extends Se {
1473
+ class at extends Ae {
1471
1474
  constructor(t, r, n) {
1472
1475
  super(n);
1473
1476
  o(this, "isPortal", () => !1);
1474
1477
  o(this, "toHTML", (t = !1) => {
1475
1478
  const r = this.children.map((a) => a.toHTML()).join(""), n = this.namespace ? ` xmlns="${this.namespace}"` : "";
1476
1479
  let i = null;
1477
- const l = this.getVisibleAttributes().map(([a, u]) => a === "class" ? ` class="${u.join(" ")}"` : a === "style" ? typeof u == "string" ? ` style="${u}"` : ` style="${Object.entries(u).map(([h, g]) => `${h}: ${g};`).join(" ")}"` : ht.has(a) ? ` ${a}` : a === "innerHTML" ? (i = u, "") : a === "innerText" ? (i = ct(u), "") : ` ${a}="${lt(u)}"`).join(""), c = t ? ` ${ye}` : "";
1480
+ const l = this.getVisibleAttributes().map(([a, u]) => a === "class" ? ` class="${u.join(" ")}"` : a === "style" ? typeof u == "string" ? ` style="${u}"` : ` style="${Object.entries(u).map(([h, g]) => `${h}: ${g};`).join(" ")}"` : ht.has(a) ? ` ${a}` : a === "innerHTML" ? (i = u, "") : a === "innerText" ? (i = ct(u), "") : ` ${a}="${lt(u)}"`).join(""), c = t ? ` ${Te}` : "";
1478
1481
  return ft.has(this.tagName) && r === "" ? `<${this.tagName}${n}${l}${c} />` : `<${this.tagName}${n}${l}${c}>${i ?? r}</${this.tagName}>`;
1479
1482
  });
1480
1483
  this.tagName = t, this.namespace = r;
1481
1484
  }
1482
1485
  }
1483
- class Ae extends Se {
1486
+ class _e extends Ae {
1484
1487
  constructor(t, r) {
1485
1488
  super(r);
1486
1489
  o(this, "isPortal", () => !0);
@@ -1491,7 +1494,7 @@ class Ae extends Se {
1491
1494
  }
1492
1495
  class ut {
1493
1496
  constructor(e) {
1494
- o(this, "id", be());
1497
+ o(this, "id", Se());
1495
1498
  o(this, "isElement", () => !1);
1496
1499
  o(this, "isText", () => !0);
1497
1500
  o(this, "getText", () => this.text);
@@ -1535,7 +1538,7 @@ class D {
1535
1538
  });
1536
1539
  o(this, "makeRef", () => this.makeChildText(""));
1537
1540
  o(this, "makePortal", (e) => {
1538
- const t = new Ae(e, this.element);
1541
+ const t = new _e(e, this.element);
1539
1542
  return this.appendOrInsert(t), new D(
1540
1543
  t,
1541
1544
  void 0,
@@ -1556,7 +1559,7 @@ class D {
1556
1559
  }));
1557
1560
  o(this, "getProvider", (e) => {
1558
1561
  if (this.providers[e] === void 0)
1559
- throw new me(e);
1562
+ throw new ye(e);
1560
1563
  const [t, r] = this.providers[e];
1561
1564
  return { value: t, onUse: r };
1562
1565
  });
@@ -1584,12 +1587,12 @@ const ht = /* @__PURE__ */ new Set([
1584
1587
  "readonly",
1585
1588
  "required",
1586
1589
  "selected"
1587
- ]), ft = /* @__PURE__ */ new Set(["img", "br", "hr", "input", "link", "meta"]), _e = (s) => (e) => e.makeChildText(s).clear, ve = (s) => (e) => {
1590
+ ]), ft = /* @__PURE__ */ new Set(["img", "br", "hr", "input", "link", "meta"]), ve = (s) => (e) => e.makeChildText(s).clear, Ee = (s) => (e) => {
1588
1591
  const t = e.makeChildText(s.value), r = s.on(t.setText);
1589
1592
  return (n) => {
1590
1593
  r(), t.clear(n);
1591
1594
  };
1592
- }, jt = (s) => d.is(s) ? ve(s) : _e(s), b = (...s) => (e) => {
1595
+ }, qt = (s) => d.is(s) ? Ee(s) : ve(s), b = (...s) => (e) => {
1593
1596
  const t = s.map((r) => f(r)(e));
1594
1597
  return (r) => {
1595
1598
  t.forEach((n) => n(r));
@@ -1640,7 +1643,7 @@ const ht = /* @__PURE__ */ new Set([
1640
1643
  t
1641
1644
  )
1642
1645
  }
1643
- ), Vt = new Proxy(
1646
+ ), Ft = new Proxy(
1644
1647
  {},
1645
1648
  {
1646
1649
  /**
@@ -1656,7 +1659,7 @@ const ht = /* @__PURE__ */ new Set([
1656
1659
  t
1657
1660
  ) : k(`data-${e}`, t)
1658
1661
  }
1659
- ), qt = new Proxy(
1662
+ ), Bt = new Proxy(
1660
1663
  {},
1661
1664
  {
1662
1665
  /**
@@ -1675,7 +1678,7 @@ const ht = /* @__PURE__ */ new Set([
1675
1678
  t
1676
1679
  )
1677
1680
  }
1678
- ), Ft = new Proxy(
1681
+ ), Wt = new Proxy(
1679
1682
  {},
1680
1683
  {
1681
1684
  /**
@@ -1694,7 +1697,7 @@ const ht = /* @__PURE__ */ new Set([
1694
1697
  t
1695
1698
  )
1696
1699
  }
1697
- ), Bt = new Proxy(
1700
+ ), Ut = new Proxy(
1698
1701
  {},
1699
1702
  {
1700
1703
  /**
@@ -1718,23 +1721,23 @@ const ht = /* @__PURE__ */ new Set([
1718
1721
  if (Array.isArray(s))
1719
1722
  return b(...s.map(f));
1720
1723
  if (typeof s == "string")
1721
- return _e(s);
1722
- if (d.is(s))
1723
1724
  return ve(s);
1725
+ if (d.is(s))
1726
+ return Ee(s);
1724
1727
  if (typeof s == "function")
1725
1728
  return s;
1726
1729
  throw new Error(`Unknown type: '${typeof s}' for child: ${s}`);
1727
- }, Ee = (s, ...e) => (t) => {
1730
+ }, we = (s, ...e) => (t) => {
1728
1731
  const r = t.makeChildElement(s, void 0), n = e.map((i) => f(i)(r));
1729
1732
  return (i) => {
1730
1733
  n.forEach((l) => l(!1)), r.clear(i);
1731
1734
  };
1732
- }, we = (s, e, ...t) => (r) => {
1735
+ }, Ce = (s, e, ...t) => (r) => {
1733
1736
  const n = r.makeChildElement(s, e), i = t.map((l) => f(l)(n));
1734
1737
  return (l) => {
1735
1738
  i.forEach((c) => c(!1)), n.clear(l);
1736
1739
  };
1737
- }, Wt = new Proxy(
1740
+ }, Jt = new Proxy(
1738
1741
  {},
1739
1742
  {
1740
1743
  /**
@@ -1742,9 +1745,9 @@ const ht = /* @__PURE__ */ new Set([
1742
1745
  * @param tagName - The HTML tag name.
1743
1746
  * @returns A renderable function that creates and appends the HTML element to the DOM.
1744
1747
  */
1745
- get: (s, e) => (...t) => Ee(e, t.flatMap(f))
1748
+ get: (s, e) => (...t) => we(e, t.flatMap(f))
1746
1749
  }
1747
- ), Ut = new Proxy(
1750
+ ), Gt = new Proxy(
1748
1751
  {},
1749
1752
  {
1750
1753
  /**
@@ -1752,9 +1755,9 @@ const ht = /* @__PURE__ */ new Set([
1752
1755
  * @param type - The input type name.
1753
1756
  * @returns A renderable function that creates and appends the HTMLInput element to the DOM.
1754
1757
  */
1755
- get: (s, e) => (...t) => Ee("input", O.type(e), ...t)
1758
+ get: (s, e) => (...t) => we("input", O.type(e), ...t)
1756
1759
  }
1757
- ), gt = "http://www.w3.org/2000/svg", Jt = new Proxy(
1760
+ ), gt = "http://www.w3.org/2000/svg", Xt = new Proxy(
1758
1761
  {},
1759
1762
  {
1760
1763
  /**
@@ -1762,9 +1765,9 @@ const ht = /* @__PURE__ */ new Set([
1762
1765
  * @param tagName - The SVG tag name.
1763
1766
  * @returns A renderable function that creates and appends the SVG element to the DOM.
1764
1767
  */
1765
- get: (s, e) => (...t) => we(e, gt, t.flatMap(f))
1768
+ get: (s, e) => (...t) => Ce(e, gt, t.flatMap(f))
1766
1769
  }
1767
- ), mt = "http://www.w3.org/1998/Math/MathML", Gt = new Proxy(
1770
+ ), mt = "http://www.w3.org/1998/Math/MathML", Yt = new Proxy(
1768
1771
  {},
1769
1772
  {
1770
1773
  /**
@@ -1772,11 +1775,11 @@ const ht = /* @__PURE__ */ new Set([
1772
1775
  * @param tagName - The Math tag name.
1773
1776
  * @returns A renderable function that creates and appends the Math element to the DOM.
1774
1777
  */
1775
- get: (s, e) => (...t) => we(e, mt, t.flatMap(f))
1778
+ get: (s, e) => (...t) => Ce(e, mt, t.flatMap(f))
1776
1779
  }
1777
- ), Ce = (s, e) => {
1780
+ ), xe = (s, e) => {
1778
1781
  if (typeof e == "function")
1779
- return Ce(s, { then: e });
1782
+ return xe(s, { then: e });
1780
1783
  const t = e.pending != null ? f(e.pending()) : v, r = e.then, n = e.error != null ? (i) => f(e.error(i)) : () => v;
1781
1784
  return (i) => {
1782
1785
  let l = !0;
@@ -1793,7 +1796,7 @@ const ht = /* @__PURE__ */ new Set([
1793
1796
  l = !1, u(h), a.clear(h);
1794
1797
  };
1795
1798
  };
1796
- }, Xt = (s, e) => Ce(() => s, e), xe = (s, e, t) => (r) => r.on(s, e, t), yt = (s) => xe("click", (e, t) => {
1799
+ }, zt = (s, e) => xe(() => s, e), Pe = (s, e, t) => (r) => r.on(s, e, t), yt = (s) => Pe("click", (e, t) => {
1797
1800
  e.preventDefault();
1798
1801
  const r = e.target;
1799
1802
  setTimeout(() => {
@@ -1808,7 +1811,7 @@ const ht = /* @__PURE__ */ new Set([
1808
1811
  * @param fn - The function to call when the event is triggered.
1809
1812
  * @returns A `Renderable` function that adds the event listener to the element.
1810
1813
  */
1811
- get: (s, e) => (t) => xe(e, t)
1814
+ get: (s, e) => (t) => Pe(e, t)
1812
1815
  }
1813
1816
  ), Tt = (s) => (e) => {
1814
1817
  const t = e.target;
@@ -1826,7 +1829,7 @@ const ht = /* @__PURE__ */ new Set([
1826
1829
  Number(r[2].substring(0, 2))
1827
1830
  );
1828
1831
  s(n);
1829
- }, Yt = (s) => (e) => {
1832
+ }, Qt = (s) => (e) => {
1830
1833
  const t = e.target;
1831
1834
  if (t.value === "") {
1832
1835
  s(null);
@@ -1848,7 +1851,7 @@ const ht = /* @__PURE__ */ new Set([
1848
1851
  Number(n[2])
1849
1852
  ), l = r[1].split(":");
1850
1853
  i.setHours(Number(l[0])), i.setMinutes(Number(l[1])), i.setSeconds(Number(l[2])), s(i);
1851
- }, zt = (s) => (e) => {
1854
+ }, Zt = (s) => (e) => {
1852
1855
  const t = e.target;
1853
1856
  if (t.value === "") {
1854
1857
  s(null);
@@ -1865,16 +1868,16 @@ const ht = /* @__PURE__ */ new Set([
1865
1868
  Number(n[2])
1866
1869
  ), l = r[1].split(":");
1867
1870
  i.setHours(Number(l[0] ?? 0)), i.setMinutes(Number(l[1] ?? 0)), i.setSeconds(Number(l[2] ?? 0)), s(i);
1868
- }, Qt = (s) => (e) => {
1871
+ }, Kt = (s) => (e) => {
1869
1872
  const t = e.target;
1870
1873
  s(t.checked);
1871
- }, Zt = (s) => (e) => {
1874
+ }, es = (s) => (e) => {
1872
1875
  e.preventDefault(), s();
1873
- }, Kt = (s) => (e) => {
1876
+ }, ts = (s) => (e) => {
1874
1877
  e.stopPropagation(), s();
1875
- }, es = (s) => (e) => {
1878
+ }, ss = (s) => (e) => {
1876
1879
  e.stopImmediatePropagation(), s();
1877
- }, ts = (s, e = "input") => b(O.valueAsDate(s), X[e](St(s.set))), ss = (s, e = "input") => b(O.valueAsDate(s), X[e](At(s.set))), rs = (s, e = "input") => b(O.valueAsNumber(s), X[e](bt(s.set))), ns = (s, e = "input") => b(O.value(s), X[e](Tt(s.set))), is = (s) => b(O.checked(s), yt(s.set)), Y = (s, e) => {
1880
+ }, rs = (s, e = "input") => b(O.valueAsDate(s), X[e](St(s.set))), ns = (s, e = "input") => b(O.valueAsDate(s), X[e](At(s.set))), is = (s, e = "input") => b(O.valueAsNumber(s), X[e](bt(s.set))), os = (s, e = "input") => b(O.value(s), X[e](Tt(s.set))), ls = (s) => b(O.checked(s), yt(s.set)), Y = (s, e) => {
1878
1881
  if (d.is(s))
1879
1882
  return (r) => {
1880
1883
  const n = r.makeRef();
@@ -1894,17 +1897,17 @@ const ht = /* @__PURE__ */ new Set([
1894
1897
  };
1895
1898
  const t = Object.keys(s)[0];
1896
1899
  return f(e[t](G(s[t])));
1897
- }, Pe = (s, e, t) => Y(
1900
+ }, Le = (s, e, t) => Y(
1898
1901
  y.map(s, (r) => ({ [r[e]]: r })),
1899
1902
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1900
1903
  t
1901
- ), os = (s, e) => Pe(s, "kind", e), ls = (s, e) => {
1904
+ ), cs = (s, e) => Le(s, "kind", e), as = (s, e) => {
1902
1905
  const t = y.map(s, ([r, n]) => ({ [r]: n }));
1903
1906
  return Y(t, e);
1904
- }, cs = (s, e) => Pe(s, "type", e), _t = (s, e) => Y(
1907
+ }, us = (s, e) => Le(s, "type", e), _t = (s, e) => Y(
1905
1908
  y.map(s, (t) => ({ [t]: !0 })),
1906
1909
  e
1907
- ), as = (s, e = {}) => (t) => {
1910
+ ), hs = (s, e = {}) => (t) => {
1908
1911
  const r = (e == null ? void 0 : e.firstSeparator) ?? s, n = (e == null ? void 0 : e.lastSeparator) ?? s;
1909
1912
  return _t(
1910
1913
  t.map((i) => i.isFirst ? "first" : i.isLast ? "last" : "other"),
@@ -1914,9 +1917,9 @@ const ht = /* @__PURE__ */ new Set([
1914
1917
  other: s
1915
1918
  }
1916
1919
  );
1917
- }, us = (s) => (e) => (e.appendOrInsert(s), (t) => {
1920
+ }, fs = (s) => (e) => (e.appendOrInsert(s), (t) => {
1918
1921
  t && V(s);
1919
- }), hs = (s, e, t) => {
1922
+ }), ds = (s, e, t) => {
1920
1923
  if (d.is(s)) {
1921
1924
  const r = s;
1922
1925
  return (n) => {
@@ -1940,7 +1943,7 @@ const ht = /* @__PURE__ */ new Set([
1940
1943
  }
1941
1944
  return f(e(G(r)));
1942
1945
  }
1943
- }, fs = (...s) => (e, t) => (r) => {
1946
+ }, ps = (...s) => (e, t) => (r) => {
1944
1947
  const n = r.makeRef();
1945
1948
  if (s.some(
1946
1949
  (p) => !d.is(p) && p == null
@@ -1979,7 +1982,7 @@ const ht = /* @__PURE__ */ new Set([
1979
1982
  }), (p) => {
1980
1983
  l.forEach((m) => m == null ? void 0 : m.dispose()), u.dispose(), T.forEach((m) => m()), a == null || a(p), n.clear(p);
1981
1984
  };
1982
- }, M = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), Le = (s, e, t) => {
1985
+ }, M = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), De = (s, e, t) => {
1983
1986
  if (d.is(s)) {
1984
1987
  const r = s;
1985
1988
  return (n) => {
@@ -2000,13 +2003,13 @@ const ht = /* @__PURE__ */ new Set([
2000
2003
  }
2001
2004
  return f(t == null ? void 0 : t());
2002
2005
  }
2003
- }, ds = (s, e, t) => Le(
2006
+ }, gs = (s, e, t) => De(
2004
2007
  y.map(s, (r) => !r),
2005
2008
  e,
2006
2009
  t
2007
- ), De = (s, e, t) => {
2010
+ ), Oe = (s, e, t) => {
2008
2011
  if (t != null)
2009
- return De(s, (r) => {
2012
+ return Oe(s, (r) => {
2010
2013
  const n = new Q(
2011
2014
  r.index,
2012
2015
  r.total.map((i) => i - 1)
@@ -2014,7 +2017,7 @@ const ht = /* @__PURE__ */ new Set([
2014
2017
  return b(
2015
2018
  M(n.dispose),
2016
2019
  f(e(r)),
2017
- Le(
2020
+ De(
2018
2021
  r.isLast,
2019
2022
  () => v,
2020
2023
  () => t(n)
@@ -2056,9 +2059,9 @@ const ht = /* @__PURE__ */ new Set([
2056
2059
  })
2057
2060
  );
2058
2061
  }
2059
- }, ps = (s, e, t) => {
2062
+ }, ms = (s, e, t) => {
2060
2063
  const r = y.map(s, (i) => i.length), n = y.toSignal(s);
2061
- return De(
2064
+ return Oe(
2062
2065
  r,
2063
2066
  (i) => {
2064
2067
  const l = n.map((c) => c[i.index]);
@@ -2069,7 +2072,7 @@ const ht = /* @__PURE__ */ new Set([
2069
2072
  },
2070
2073
  t
2071
2074
  );
2072
- }, gs = (s, e) => {
2075
+ }, ys = (s, e) => {
2073
2076
  if (d.is(s)) {
2074
2077
  const t = s;
2075
2078
  return (r) => {
@@ -2086,7 +2089,7 @@ const ht = /* @__PURE__ */ new Set([
2086
2089
  };
2087
2090
  }
2088
2091
  return f(e(s));
2089
- }, ms = (s, e, t = () => v) => Y(
2092
+ }, Ts = (s, e, t = () => v) => Y(
2090
2093
  y.map(
2091
2094
  s,
2092
2095
  (r) => r.length > 0 ? { notEmpty: r } : { whenEmpty: null }
@@ -2095,8 +2098,8 @@ const ht = /* @__PURE__ */ new Set([
2095
2098
  notEmpty: (r) => e(r),
2096
2099
  whenEmpty: () => t()
2097
2100
  }
2098
- ), ys = (s, e) => (t) => {
2099
- const r = t.makePortal(s), n = K(f(e), r);
2101
+ ), bs = (s, e) => (t) => {
2102
+ const r = t.makePortal(s), n = ee(f(e), r);
2100
2103
  return () => n(!0);
2101
2104
  }, R = /* @__PURE__ */ new Map(), vt = (s) => ({
2102
2105
  mark: Ge(`Probe(${s.description})`),
@@ -2118,7 +2121,7 @@ const ht = /* @__PURE__ */ new Set([
2118
2121
  onUse: () => i.counter++
2119
2122
  };
2120
2123
  }
2121
- }), Ts = vt(Symbol("GlobalProbe")), Et = (s, e) => (t) => {
2124
+ }), Ss = vt(Symbol("GlobalProbe")), Et = (s, e) => (t) => {
2122
2125
  const r = t.getStyle(s);
2123
2126
  return t.setStyle(s, e), (n) => {
2124
2127
  n && t.setStyle(s, r);
@@ -2128,7 +2131,7 @@ const ht = /* @__PURE__ */ new Set([
2128
2131
  return (i) => {
2129
2132
  n(), i && t.setStyle(s, r);
2130
2133
  };
2131
- }, bs = new Proxy(
2134
+ }, As = new Proxy(
2132
2135
  {},
2133
2136
  {
2134
2137
  /**
@@ -2149,11 +2152,11 @@ const ht = /* @__PURE__ */ new Set([
2149
2152
  }
2150
2153
  return () => {
2151
2154
  };
2152
- }, Ss = (s) => (e) => {
2155
+ }, _s = (s) => (e) => {
2153
2156
  const t = s(e);
2154
2157
  return t == null ? () => {
2155
2158
  } : f(t)(e);
2156
- }, As = (s) => Ct((e) => s(e.element)), _s = (s) => (e) => {
2159
+ }, vs = (s) => Ct((e) => s(e.element)), Es = (s) => (e) => {
2157
2160
  if (e.isHeadlessDOM()) {
2158
2161
  const t = s(e);
2159
2162
  if (t)
@@ -2161,7 +2164,7 @@ const ht = /* @__PURE__ */ new Set([
2161
2164
  }
2162
2165
  return () => {
2163
2166
  };
2164
- }, ee = (s) => (e) => {
2167
+ }, te = (s) => (e) => {
2165
2168
  let t = e;
2166
2169
  function r() {
2167
2170
  return t;
@@ -2184,121 +2187,123 @@ const ht = /* @__PURE__ */ new Set([
2184
2187
  f(l),
2185
2188
  M(() => i.forEach((c) => c()))
2186
2189
  )(r());
2187
- }, vs = (s, e, t) => ee(({ set: r }) => (r(s, e), t())), Es = (s, e) => ee(({ use: t }) => e(t(s))), ws = (...s) => (e) => ee(({ use: t }) => {
2190
+ }, ws = (s, e, t) => te(({ set: r }) => (r(s, e), t())), Cs = (s, e) => te(({ use: t }) => e(t(s))), xs = (...s) => (e) => te(({ use: t }) => {
2188
2191
  const r = s.map(t);
2189
2192
  return e(...r);
2190
2193
  });
2191
2194
  export {
2192
- Xt as Async,
2193
- is as BindChecked,
2194
- ts as BindDate,
2195
- ss as BindDateTime,
2196
- rs as BindNumber,
2197
- ns as BindText,
2195
+ zt as Async,
2196
+ ls as BindChecked,
2197
+ rs as BindDate,
2198
+ ns as BindDateTime,
2199
+ is as BindNumber,
2200
+ os as BindText,
2198
2201
  L as BrowserContext,
2199
2202
  q as CLASS_PLACEHOLDER_ATTR,
2200
2203
  P as Computed,
2201
- as as Conjunction,
2202
- us as DOMNode,
2203
- Ee as El,
2204
- we as ElNS,
2204
+ hs as Conjunction,
2205
+ fs as DOMNode,
2206
+ we as El,
2207
+ Ce as ElNS,
2205
2208
  Q as ElementPosition,
2206
2209
  v as Empty,
2207
- hs as Ensure,
2208
- fs as EnsureAll,
2209
- ps as ForEach,
2210
+ ds as Ensure,
2211
+ ps as EnsureAll,
2212
+ ms as ForEach,
2210
2213
  b as Fragment,
2211
- Ts as GlobalProbe,
2212
- It as HeadlessAdapter,
2214
+ Ss as GlobalProbe,
2215
+ jt as HeadlessAdapter,
2213
2216
  D as HeadlessContext,
2214
2217
  at as HeadlessElement,
2215
- Ae as HeadlessPortal,
2218
+ _e as HeadlessPortal,
2216
2219
  ut as HeadlessText,
2217
- gs as MapSignal,
2218
- ce as MemoryStore,
2219
- ms as NotEmpty,
2220
+ ys as MapSignal,
2221
+ ae as MemoryStore,
2222
+ Ts as NotEmpty,
2220
2223
  yt as OnChecked,
2221
2224
  M as OnDispose,
2222
2225
  Y as OneOf,
2223
- Pe as OneOfField,
2224
- os as OneOfKind,
2225
- ls as OneOfTuple,
2226
- cs as OneOfType,
2226
+ Le as OneOfField,
2227
+ cs as OneOfKind,
2228
+ as as OneOfTuple,
2229
+ us as OneOfType,
2227
2230
  _t as OneOfValue,
2228
- ys as Portal,
2231
+ bs as Portal,
2229
2232
  j as Prop,
2230
- vs as Provide,
2231
- me as ProviderNotFoundError,
2233
+ ws as Provide,
2234
+ ye as ProviderNotFoundError,
2232
2235
  Xe as RenderingError,
2233
- De as Repeat,
2236
+ Oe as Repeat,
2234
2237
  d as Signal,
2235
- Ce as Task,
2236
- jt as TextNode,
2237
- ds as Unless,
2238
- Es as Use,
2239
- ws as UseMany,
2238
+ xe as Task,
2239
+ qt as TextNode,
2240
+ gs as Unless,
2241
+ Cs as Use,
2242
+ xs as UseMany,
2240
2243
  y as Value,
2241
- Le as When,
2244
+ De as When,
2242
2245
  Ct as WithBrowserCtx,
2243
- Ss as WithCtx,
2244
- As as WithElement,
2245
- _s as WithHeadlessCtx,
2246
- ee as WithProvider,
2247
- ye as _NODE_PLACEHOLDER_ATTR,
2246
+ _s as WithCtx,
2247
+ vs as WithElement,
2248
+ Es as WithHeadlessCtx,
2249
+ te as WithProvider,
2250
+ Te as _NODE_PLACEHOLDER_ATTR,
2248
2251
  Je as _getSelfOrParentElement,
2249
- ge as _isElement,
2252
+ me as _isElement,
2250
2253
  Ue as _makeGetter,
2251
2254
  We as _makeSetter,
2252
2255
  V as _removeDOMNode,
2253
- ve as _signalText,
2254
- _e as _staticText,
2256
+ Ee as _signalText,
2257
+ ve as _staticText,
2255
2258
  Mt as animateSignal,
2256
2259
  Fe as animateSignals,
2257
- qt as aria,
2260
+ Bt as aria,
2258
2261
  O as attr,
2262
+ Nt as bind,
2263
+ $t as coalesce,
2259
2264
  Z as computed,
2260
- qe as computedOf,
2265
+ K as computedOf,
2261
2266
  Be as computedRecord,
2262
- Vt as dataAttr,
2267
+ Ft as dataAttr,
2263
2268
  kt as delaySignal,
2264
- Ve as effect,
2269
+ qe as effect,
2265
2270
  Lt as effectOf,
2266
- Qt as emitChecked,
2267
- Zt as emitPreventDefault,
2268
- es as emitStopImmediatePropagation,
2269
- Kt as emitStopPropagation,
2271
+ Kt as emitChecked,
2272
+ es as emitPreventDefault,
2273
+ ss as emitStopImmediatePropagation,
2274
+ ts as emitStopPropagation,
2270
2275
  Tt as emitValue,
2271
2276
  St as emitValueAsDate,
2272
2277
  At as emitValueAsDateTime,
2273
- Yt as emitValueAsNullableDate,
2274
- zt as emitValueAsNullableDateTime,
2278
+ Qt as emitValueAsNullableDate,
2279
+ Zt as emitValueAsNullableDateTime,
2275
2280
  bt as emitValueAsNumber,
2276
- Ie as endInterpolate,
2277
- le as getWindow,
2278
- Re as guessInterpolate,
2279
- Wt as html,
2280
- Ut as input,
2281
- $e as interpolateDate,
2282
- ke as interpolateNumber,
2283
- Ne as interpolateString,
2281
+ Re as endInterpolate,
2282
+ ce as getWindow,
2283
+ je as guessInterpolate,
2284
+ Jt as html,
2285
+ Gt as input,
2286
+ Ie as interpolateDate,
2287
+ Ne as interpolateNumber,
2288
+ $e as interpolateString,
2284
2289
  Pt as joinSignals,
2285
2290
  Dt as localStorageProp,
2286
2291
  vt as makeProbe,
2287
2292
  Ge as makeProviderMark,
2288
- Gt as math,
2289
- Bt as mathAttr,
2293
+ Yt as math,
2294
+ Ut as mathAttr,
2290
2295
  Ht as merge,
2291
2296
  X as on,
2292
2297
  _ as prop,
2293
- Nt as render,
2294
- K as renderWithContext,
2298
+ It as render,
2299
+ ee as renderWithContext,
2295
2300
  f as renderableOfTNode,
2296
- Rt as restoreTempoPlaceholders,
2297
- $t as runHeadless,
2301
+ Vt as restoreTempoPlaceholders,
2302
+ Rt as runHeadless,
2298
2303
  Ot as sessionStorageProp,
2299
2304
  G as signal,
2300
- ae as storedProp,
2301
- bs as style,
2302
- Jt as svg,
2303
- Ft as svgAttr
2305
+ ue as storedProp,
2306
+ As as style,
2307
+ Xt as svg,
2308
+ Wt as svgAttr
2304
2309
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/dom",
3
- "version": "28.4.5",
3
+ "version": "28.6.0",
4
4
  "type": "module",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
@@ -1,4 +1,4 @@
1
- import { GetValueType, RemoveSignals } from '../types/domain';
1
+ import { GetValueType, RemoveSignals, Values } from '../types/domain';
2
2
  import { AnySignal, Computed, Prop, Signal } from './signal';
3
3
  import { Value } from './value';
4
4
  /**
@@ -243,3 +243,22 @@ export declare const merge: <T extends Record<string, Value<unknown>>>(options:
243
243
  * @public
244
244
  */
245
245
  export declare const delaySignal: <T>(signal: Signal<T>, ms: number | ((value: T) => number)) => Signal<T>;
246
+ /**
247
+ * Binds a function or signal of a function to a set of signals and literals.
248
+ *
249
+ * @typeParam FN - The type of the function to bind.
250
+ * @typeParam R - The return type of the function.
251
+ * @param fn - The function to bind.
252
+ * @returns - A function that takes a set of signals and literals and returns a computed signal.
253
+ * @public
254
+ */
255
+ export declare const bind: <FN extends (...args: any[]) => R, R = ReturnType<FN>>(fn: Value<FN>) => (...args: Values<Parameters<FN>>) => Computed<R>;
256
+ /**
257
+ * Returns the first non-null and non-undefined value from a set of signals and literals.
258
+ *
259
+ * @typeParam T - The type of the signals and literals.
260
+ * @param args - The set of signals and literals to search.
261
+ * @returns - A computed signal that emits the first non-null and non-undefined value.
262
+ * @public
263
+ */
264
+ export declare const coalesce: <T extends Value<unknown>[]>(...args: T) => Computed<{} | undefined>;
package/types/domain.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { DOMContext } from '../dom/dom-context';
2
+ import { Signal } from '../std/signal';
2
3
  import { Value } from '../std/value';
3
4
  /**
4
5
  * A function that renders content into the DOM and returns a cleanup function.
@@ -169,6 +170,13 @@ export type GetValueType<T> = T extends Value<infer V> ? V : T;
169
170
  export type GetValueTypes<T extends Value<unknown>[]> = {
170
171
  [K in keyof T]: GetValueType<T[K]>;
171
172
  };
173
+ /**
174
+ * Wraps all non-`Value` types in the array in `Value`.
175
+ * @public
176
+ */
177
+ export type Values<T extends unknown[]> = {
178
+ [K in keyof T]: T[K] extends Signal<unknown> ? T[K] : Value<T[K]>;
179
+ };
172
180
  /**
173
181
  * Removes signals from a given object type and returns a new object type
174
182
  * with only the non-signal properties.