@tempots/dom 25.0.0 → 25.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var at=Object.defineProperty;var ye=s=>{throw TypeError(s)};var ct=(s,e,t)=>e in s?at(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e,t)=>ct(s,typeof e!="symbol"?e+"":e,t),Te=(s,e,t)=>e.has(s)||ye("Cannot "+t);var Z=(s,e,t)=>(Te(s,e,"read from private field"),t?t.call(s):e.get(s)),Se=(s,e,t)=>e.has(s)?ye("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),Ae=(s,e,t,r)=>(Te(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Pe=(s,e,t)=>s+(e-s)*t,be=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=be);let a=e.charCodeAt(i);isNaN(a)&&(a=be),n+=String.fromCharCode(l+(a-l)*t)}return n},_e=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),Ce=(s,e)=>e,we=s=>typeof s=="number"?Pe:typeof s=="string"?ve:s instanceof Date?_e:Ce;var M;class F{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");Se(this,M);o(this,"dispose",()=>{this.total.dispose()});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 Z(this,M)==null&&Ae(this,M,this.total.map(e=>this.counter===e)),Z(this,M)}}M=new WeakMap;const k=class k{constructor(e,t){o(this,"$__signal__",!0);o(this,"_value");o(this,"_derivatives",[]);o(this,"_onValueListeners",[]);o(this,"_onDisposeListeners",[]);o(this,"get",()=>this._value);o(this,"hasListeners",()=>this._onValueListeners.length>0);o(this,"on",(e,t={})=>{t.skipInitial||e(this.get(),void 0);const r=t.once?(i,l)=>{n(),e(i,l)}:e;this._onValueListeners.push(r);const n=()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(r),1),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",n)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",n),n});o(this,"_setAndNotify",(e,t)=>{const r=this._value,n=this.equals(r,e);n||(this._value=e),(t||!n)&&this._onValueListeners.forEach(i=>i(e,r))});o(this,"_disposed",!1);o(this,"isDisposed",()=>this._disposed);o(this,"onDispose",e=>{this._onDisposeListeners.push(e)});o(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});o(this,"map",(e,t=(r,n)=>r===n)=>{const r=new C(()=>{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 C(()=>{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 C(()=>{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 C(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},r);return this.setDerivative(i),i});o(this,"mapAsync",(e,t,r,n=(i,l)=>i===l)=>{const i=P(t,n);let l=0,a=new AbortController;return i.onDispose(this.on(async c=>{const u=++l;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});u===l&&i.set(h)}catch(h){if(u===l)if(r!=null)i.set(r(h));else throw h}})),i});o(this,"mapMaybe",(e,t)=>this.map(r=>e(r)??t));o(this,"feedProp",(e,t=!1)=>{const r=this.on(e.set);return e.onDispose(r),t?this.onDispose(e.dispose):this.onDispose(r),e});o(this,"deriveProp",({autoDisposeProp:e=!0,equals:t}={})=>this.feedProp(P(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(k,"ofPromise",(e,t,r,n=(i,l)=>i===l)=>{const i=new k(t,n);return e.then(l=>i._setAndNotify(l,!1)).catch(l=>{r!=null?i._setAndNotify(r(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),i}),o(k,"is",e=>e!=null&&e.$__signal__===!0);let f=k;const ut=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class C 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;ut(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});o(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const X=class X extends f{constructor(){super(...arguments);o(this,"$__prop__",!0);o(this,"set",t=>{this._setAndNotify(t,!1)});o(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});o(this,"reducer",(t,...r)=>{const n=this;return function i(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&r.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:i}))}});o(this,"iso",(t,r,n=(i,l)=>i===l)=>{const i=new X(t(this.get()),n);return i.onDispose(this.on(l=>i.set(t(l)))),i.on(l=>this._setAndNotify(r(l),!1)),i});o(this,"atProp",t=>this.iso(r=>r[t],r=>({...this.value,[t]:r})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};o(X,"is",t=>t!=null&&t.$__prop__===!0);let H=X;const Y=(s,e,t=(r,n)=>r===n)=>{const r=new C(s,t);return e.forEach(n=>n.setDerivative(r)),r},Oe=(s,e,t={})=>{let r=t.once?()=>{i(),s()}:s;if(t.skipInitial){let l=!1;const a=r;r=()=>{l?a():l=!0}}const n=Y(r,e),i=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",i)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",i),i},P=(s,e=(t,r)=>t===r)=>new H(s,e),N=(s,e=(t,r)=>t===r)=>new f(s,e),K=()=>typeof window<"u"?window:void 0,g={map:(s,e)=>f.is(s)?s.map(e):e(s),toSignal:(s,e)=>f.is(s)?s:N(s,e),maybeToSignal:(s,e)=>{if(s!=null)return g.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}):P(s,t)},ht=(...s)=>(e,t)=>{const r=s.filter(n=>f.is(n));return Y(()=>e(...s.map(n=>g.get(n))),r,t)},dt=(...s)=>(e,t={})=>{const r=s.filter(n=>f.is(n));return Oe(()=>e(...s.map(g.get)),r,t)};class ee{constructor(){o(this,"_store",new Map);o(this,"getItem",e=>this._store.get(e)??null);o(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const te=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:i=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(s),c=new H(a!=null?l(n(a)):typeof e=="function"?e():e,i);return c.on(u=>{t.setItem(s,r(u))}),c},ft=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.localStorage)??new ee})},pt=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.sessionStorage)??new ee})};function Ee(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const xe=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,i=(r==null?void 0:r.easing)??(E=>E),l=(r==null?void 0:r.equals)??((E,B)=>E===B);let a=r==null?void 0:r.interpolate,c=s,u=e(),h=performance.now(),y=null,b=!0;const p=new C(e,l),m=P(s,l);m.onDispose(()=>{y!==null&&cancelAnimationFrame(y)}),m.onDispose(p.dispose),t.forEach(E=>{E.setDerivative(p),E.onDispose(m.dispose)});const _=E=>{u=E,h=performance.now(),c=m.value,b&&(b=!1,y=Ee(me))},me=()=>{const B=(performance.now()-h)/g.get(n),lt=i(B);a==null&&(a=we(c));let ge=a(c,u,lt);B>=1?(b=!0,ge=u):y=Ee(me),m.set(ge)};return p.on(_),m},mt=(s,e)=>{const{initialValue:t,...r}=e??{};return xe(t??s.get(),s.get,[s],r)},gt=(s,e)=>{const{signals:t,literals:r}=Object.entries(s).reduce(({signals:i,literals:l},[a,c])=>(f.is(c)?i.push([a,c]):l[a]=c,{signals:i,literals:l}),{signals:[],literals:{}}),n=t.map(([,i])=>i);return Y(()=>(t.forEach(([i,l])=>r[i]=l.value),e(r)),n)},Le=new Set(["checked","disabled","hidden"]),De=new Set(["selected"]),Me=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),ke=new Set(["valueAsDate"]),He=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ie=(s,e)=>De.has(s)?t=>{t==null||t!==!0?e.removeAttribute(s):e.setAttribute(s,"")}:Le.has(s)?t=>{t==null?e[s]=null:e[s]=!!t}:Me.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=t}:He.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},$e=(s,e)=>De.has(s)?()=>e.hasAttribute(s):Le.has(s)?()=>!!e[s]:Me.has(s)?()=>Number(e[s]):ke.has(s)?()=>e[s]:He.has(s)?()=>String(e[s]):()=>e.getAttribute(s),I=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},Ne=s=>se(s)?s:s.parentElement,se=s=>s.nodeType===1;class re extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class w{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 w(this.document,e,void 0,this.providers));o(this,"makePortal",e=>{const t=this.document.querySelector(e);if(t==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(t)});o(this,"withReference",e=>new w(this.document,this.element,e,this.providers));o(this,"withProviders",e=>new w(this.document,this.element,this.reference,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?I(this.reference):I(this.element))});o(this,"addClasses",e=>{this.element.classList.add(...e)});o(this,"removeClasses",e=>{this.element.classList.remove(...e)});o(this,"getClasses",()=>Array.from(this.element.classList));o(this,"on",(e,t,r)=>(this.element.addEventListener(e,t,r),n=>{n&&this.element.removeEventListener(e,t,r)}));o(this,"isBrowserDOM",()=>!0);o(this,"isHeadlessDOM",()=>!1);o(this,"setStyle",(e,t)=>{this.element.style[e]=t});o(this,"getStyle",e=>this.element.style[e]);o(this,"makeAccessors",e=>({get:$e(e,this.element),set:Ie(e,this.element)}));this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t){return new w(e.ownerDocument,e,t,{})}}const z=(s,e)=>{const t=s(e);return()=>t(!0)},yt=(s,e,{doc:t,clear:r}={})=>{const n=typeof e=="string"?(t??document).querySelector(e):e;if(n===null)throw new Re(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??n.ownerDocument)!=null&&n.nodeType===1&&(n.innerHTML="");const i=Ne(n),l=se(n)?void 0:n,a=w.of(i,l);return z(s,a)},Tt=(s,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const r=g.toSignal(e).deriveProp(),n=new ie(t,void 0),i=new O(n,void 0,{currentURL:r},{});return{clear:z(s(),i),root:n,currentURL:r}};class Re extends Error{constructor(e){super(e)}}const ne="data-tts-node",$="data-tts-class",U="data-tts-style",W="data-tts-html",G="data-tts-text",J="data-tts-attrs";class St{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:a,appendHTML:c,getInnerHTML:u,setInnerHTML:h,getInnerText:y,setInnerText:b}){o(this,"select");o(this,"getAttribute");o(this,"setAttribute");o(this,"getClass");o(this,"setClass");o(this,"getStyles");o(this,"setStyles");o(this,"appendHTML");o(this,"getInnerHTML");o(this,"setInnerHTML");o(this,"getInnerText");o(this,"setInnerText");o(this,"setFromRoot",(e,t)=>{e.getPortals().forEach(n=>{for(const i of this.select(n.selector)){if(i==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(i,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const l=this.getInnerHTML(i);l!=null&&this.setAttribute(i,W,l)}this.setInnerHTML(i,n.getInnerHTML())}if(n.hasInnerText()){if(t){const l=this.getInnerText(i);l!=null&&this.setAttribute(i,G,l)}this.setInnerText(i,n.getInnerText())}if(n.hasClasses()){if(t){const l=this.getClass(i);l!=null&&this.setAttribute(i,$,l)}this.setClass(i,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const l=this.getStyles(i);Object.keys(l).length>0&&this.setAttribute(i,U,JSON.stringify(l))}this.setStyles(i,n.getStyles())}if(n.hasAttributes()){const l=n.getAttributes();if(t){const a=[];l.forEach(([c])=>{const u=this.getAttribute(i,c);u!=null&&a.push([c,u])}),a.length>0&&this.setAttribute(i,J,JSON.stringify(Object.fromEntries(a)))}l.forEach(([a,c])=>{this.setAttribute(i,a,c)})}}})});this.select=e,this.getAttribute=t,this.setAttribute=r,this.getClass=n,this.setClass=i,this.getStyles=l,this.setStyles=a,this.appendHTML=c,this.getInnerHTML=u,this.setInnerHTML=h,this.getInnerText=y,this.setInnerText=b}}const At=()=>{document.querySelectorAll(`[${ne}]`).forEach(I)},bt=s=>{const e=s.getAttribute($);s.removeAttribute($),e!=null&&s.setAttribute("class",e)},Et=()=>{document.querySelectorAll(`[${$}]`).forEach(e=>bt(e))},Pt=s=>{const e=s.getAttribute(W);s.removeAttribute(W),e!=null&&(s.innerHTML=e)},vt=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Pt(e))},_t=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},Ct=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>_t(e))},Ve=s=>JSON.parse(s.replace(/&quot;/g,'"')),wt=s=>{const e=s.getAttribute(U);if(s.removeAttribute(U),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},Ot=()=>{document.querySelectorAll(`[${U}]`).forEach(e=>wt(e))},xt=s=>{const e=s.getAttribute(J);if(s.removeAttribute(J),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Lt=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>xt(e))},Dt=()=>{At(),Et(),Ct(),vt(),Ot(),Lt()},S=Symbol("class"),v=Symbol("style"),L=Symbol("handler"),je=()=>Math.random().toString(36).substring(2,15),Mt=s=>s.replace(/<[^>]*>?/g,"");class qe{constructor(e){o(this,"id",je());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?Mt(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[S]!=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)=>{var a;const n=(a=this.properties)[L]??(a[L]={}),i=r!=null&&r.once?c=>{l(),t(c)}:c=>t(c);n[e]=[...n[e]??[],i];const l=()=>{const c=n[e]??[],u=c.indexOf(i);u!==-1&&(c.splice(u,1),c.length===0?(delete n[e],Object.keys(n).length===0&&delete this.properties[L]):n[e]=c,(r==null?void 0:r.signal)!=null&&r.signal.removeEventListener("abort",l))};return(r==null?void 0:r.signal)!=null&&r.signal.addEventListener("abort",l),l});o(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);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)[S]??(r[S]=[]);e.forEach(n=>{const i=t.indexOf(n);i!==-1&&t.splice(i,1)}),t.length===0&&delete this.properties[S]});o(this,"getClasses",()=>this.properties[S]??[]);o(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));o(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===S?[["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 kt=s=>s.replace(/"/g,"&quot;"),Ht=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class Be extends qe{constructor(t,r,n){super(n);o(this,"isPortal",()=>!1);o(this,"toHTML",(t=!1)=>{const r=this.children.map(c=>c.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let i=null;const l=this.getVisibleAttributes().map(([c,u])=>c==="class"?` class="${u.join(" ")}"`:c==="style"?typeof u=="string"?` style="${u}"`:` style="${Object.entries(u).map(([h,y])=>`${h}: ${y};`).join(" ")}"`:It.has(c)?` ${c}`:c==="innerHTML"?(i=u,""):c==="innerText"?(i=Ht(u),""):` ${c}="${kt(u)}"`).join(""),a=t?` ${ne}`:"";return $t.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${a} />`:`<${this.tagName}${n}${l}${a}>${i??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class ie extends qe{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 Fe{constructor(e){o(this,"id",je());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 Be(e,t,this.element);return this.appendOrInsert(r),new O(r,void 0,this.container,this.providers)});o(this,"makeChildText",e=>{const t=new Fe(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 ie(e,this.element);return this.appendOrInsert(t),new O(t,void 0,this.container,this.providers)});o(this,"withProviders",e=>new O(this.element,this.reference,this.container,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});o(this,"on",(e,t)=>this.element.on(e,t));o(this,"addClasses",e=>this.element.addClasses(e));o(this,"removeClasses",e=>this.element.removeClasses(e));o(this,"getClasses",()=>this.element.getClasses());o(this,"isBrowserDOM",()=>!1);o(this,"isHeadlessDOM",()=>!0);o(this,"setStyle",(e,t)=>this.element.setStyle(e,t));o(this,"getStyle",e=>this.element.getStyle(e));o(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=r,this.providers=n}}const It=new Set(["checked","disabled","multiple","readonly","required","selected"]),$t=new Set(["img","br","hr","input","link","meta"]),oe=s=>e=>{const t=e.makeChildText(s);return r=>t.clear(r)},le=s=>e=>{const t=e.makeChildText(s.value),r=s.on(n=>t.setText(n));return n=>{r(),t.clear(n)}},Nt=s=>f.is(s)?le(s):oe(s),T=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},A=()=>()=>{},Rt=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),Vt=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 a=>{l(),a&&n(i)}},x=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?Vt(t):Rt((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?V(e,t):R(e,t)}),jt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`data-${e}`,t):R(`data-${e}`,t)}),qt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`aria-${e}`,t):R(`aria-${e}`,t)}),Bt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),Ft=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),d=s=>{if(s==null)return A;if(Array.isArray(s))return T(...s.map(d));if(typeof s=="string")return oe(s);if(f.is(s))return le(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ae=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(i=>d(i)(r));return i=>{n.forEach(l=>l(!1)),r.clear(i)}},ce=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),i=t.map(l=>d(l)(n));return l=>{i.forEach(a=>a(!1)),n.clear(l)}},Ut=new Proxy({},{get:(s,e)=>(...t)=>ae(e,t.flatMap(d))}),Wt=new Proxy({},{get:(s,e)=>(...t)=>ae("input",x.type(e),...t)}),Gt="http://www.w3.org/2000/svg",Jt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Gt,t.flatMap(d))}),Xt="http://www.w3.org/1998/Math/MathML",Yt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Xt,t.flatMap(d))}),ue=(s,e)=>{if(typeof e=="function")return ue(s,{then:e});const t=e.pending!=null?d(e.pending()):A,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>A;return i=>{let l=!0;const a=s(),c=i.makeRef();let u=d(t)(c);return a.then(h=>{l&&(u(!0),u=d(r(h))(c))},h=>{l&&(u(!0),u=d(n(h))(c))}),h=>{l=!1,u(h),c.clear(h)}}},zt=(s,e)=>ue(()=>s,e),Ue=(s,e,t)=>r=>r.on(s,e,t),We=s=>Ue("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const r=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;r!=null&&s(!r)},0)}),j=new Proxy({},{get:(s,e)=>t=>Ue(e,t)}),Ge=s=>e=>{const t=e.target;s(t.value)},Je=s=>e=>{const t=e.target;s(t.valueAsNumber)},Xe=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)},Ye=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)},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")=>T(x.valueAsDate(s),j[e](Xe(s.set))),ss=(s,e="input")=>T(x.valueAsDate(s),j[e](Ye(s.set))),rs=(s,e="input")=>T(x.valueAsNumber(s),j[e](Je(s.set))),ns=(s,e="input")=>T(x.value(s),j[e](Ge(s.set))),is=s=>T(x.checked(s),We(s.set)),q=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let i,l;const a=s.map(h=>Object.keys(h)[0]);let c;const u=a.on(h=>{if(h!==c){l==null||l.dispose(),i==null||i(!0),l=s.map(b=>b[h]);const y=e[h](l);i=d(y)(n),c=h}});return h=>{l==null||l.dispose(),u(),n.clear(h),i==null||i(h)}};const t=Object.keys(s)[0];return d(e[t](N(s[t])))},he=(s,e,t)=>q(g.map(s,r=>({[r[e]]:r})),t),os=(s,e)=>he(s,"kind",e),ls=(s,e)=>{const t=g.map(s,([r,n])=>({[r]:n}));return q(t,e)},as=(s,e)=>he(s,"type",e),ze=(s,e)=>q(g.map(s,t=>({[t]:!0})),e),cs=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return ze(t.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:r,last:n,other:s})},Qe=(s,e)=>t=>{const r=Object.values(s).reduce((n,i)=>{const l=t.getProvider(i);return Reflect.set(n,i,l),n},{});return d(e(r))(t)},us=(s,e)=>t=>{const r=[],n=Object.entries(s).reduce((i,[l,a])=>(r.push(a(c=>(Reflect.set(i,l,c),null))(t)),i),{});return r.push(e(n)(t)),i=>{r.forEach(l=>l(i))}},Ze=(s,e)=>Qe([s],t=>d(e(t[s]))),hs=(s,e)=>Qe(s,t=>d(e(t))),ds=s=>e=>{const t=s(e);return t==null?()=>{}:d(t)(e)},fs=s=>e=>(e.appendOrInsert(s),t=>{t&&I(s)}),Ke=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=()=>{},a=!1,c=null;const u=r.on(h=>{h==null?(l(!0),l=d((t==null?void 0:t())??A)(i),a=!1,c==null||c.dispose(),c=null):(c==null?c=P(h):c.value=h,a||(l(!0),l=d(e(c))(i),a=!0))});return h=>{c==null||c.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):A}return d(e(N(r)))}},ps=(...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()):A)(n);const l=s.map(()=>null),a=s.map(p=>f.is(p)?p.value!=null:p!=null);let c=null;const u=P(a.every(p=>p)),h=(p,m)=>{if(p.value!=null){if(l[m]==null){const _=P(p.value);l[m]=_}else l[m].value=p.value;a[m]=!0}else a[m]=!1};let y=s.length-1;const b=s.map((p,m)=>{if(!f.is(p)){const _=P(p);return l[m]=_,()=>{}}return p.on(()=>{h(p,m),y===0?u.value=a.every(_=>_):y--})});return u.on(p=>{c==null||c(!0),c=null,p?c=d(e(...l))(n):c=d((t==null?void 0:t())??A)(n)}),p=>{l.forEach(m=>m==null?void 0:m.dispose()),u.dispose(),b.forEach(m=>m()),c==null||c(p),n.clear(p)}},Q=(...s)=>e=>t=>s.forEach(r=>r(t,e)),de=(s,e,t)=>Ke(g.map(s,r=>r?!0:null),e,t??void 0),ms=(s,e,t)=>de(g.map(s,r=>!r),e,t),fe=(s,e,t)=>t!=null?fe(s,r=>{const n=new F(r.index,r.total.map(i=>i-1));return T(Q(n.dispose),d(e(r)),de(r.isLast,()=>A,()=>t(n)))}):f.is(s)?r=>{const n=r.makeRef(),i=[],l=s.on(a=>{const c=i.splice(a);for(const u of c)u(!0);for(let u=i.length;u<a;u++){const h=new F(u,s);i.push(d(e(h))(n))}});return a=>{l();for(const c of i)c(a);i.length=0,n.clear(a)}}:T(...Array.from({length:s},(r,n)=>n).map(r=>d(e(new F(r,N(s)))))),gs=(s,e,t)=>{const r=g.map(s,i=>i.length),n=g.toSignal(s);return fe(r,i=>{const l=n.map(a=>a[i.index]);return T(Q(l.dispose),d(e(l,i)))},t)},et=s=>e=>{if(e.isBrowserDOM()){const t=s(e);if(t!=null)return d(t)(e)}return()=>{}},ys=s=>e=>{if(e.isHeadlessDOM()){const t=s(e);if(t)return d(t)(e)}return()=>{}},Ts=s=>et(e=>s(e.element)),Ss=(s,e)=>{if(f.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(a=>d(e(a)));let i=()=>{};const l=n.on(a=>{i(!0),i=a(r)});return a=>{l(),i(a)}}}return d(e(s))},As=(s,e,t=()=>A)=>q(g.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),bs=(s,e)=>t=>{const r=t.makePortal(s);return z(d(e),r)},tt=s=>Symbol(s),st=(s,e)=>t=>d(e)(t.withProviders(s)),Es=(...s)=>s.length>0?s.reduceRight((e,t)=>r=>e(t(r))):d,rt=(s,e,t)=>st({[s]:e},d(t)),Ps=(s,e)=>st(s,d(e)),pe=tt("Probe"),D=new Map,nt=({identifier:s,callback:e=()=>{},child:t,timeout:r=10})=>{if(D.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>e("timeout"),r);D.set(s,{counter:0,timeoutId:n});const i=l=>{clearTimeout(n);const a=D.get(l);if(a==null)throw new Error(`Probe not found: ${l.description}`);--a.counter===0?(e("resolved"),D.delete(l)):D.set(l,a)};return T(Q(()=>clearTimeout(n)),rt(pe,i,t))},it=(s,e)=>Ze(pe,t=>{const r=D.get(s);return r==null?e(()=>{}):(clearTimeout(r.timeoutId),r.counter++,e(()=>t(s)))}),ot=Symbol("globalProbe"),vs=({callback:s,timeout:e},t)=>nt({identifier:ot,callback:s,child:t,timeout:e}),_s=s=>it(ot,s),Cs=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},ws=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},Os=new Proxy({},{get:(s,e)=>t=>f.is(t)?ws(e,t):Cs(e,t)});exports.Async=zt;exports.BindChecked=is;exports.BindDate=ts;exports.BindDateTime=ss;exports.BindNumber=rs;exports.BindText=ns;exports.BrowserContext=w;exports.CLASS_PLACEHOLDER_ATTR=$;exports.Computed=C;exports.Conjunction=cs;exports.DOMNode=fs;exports.El=ae;exports.ElNS=ce;exports.ElementPosition=F;exports.Empty=A;exports.Ensure=Ke;exports.EnsureAll=ps;exports.ForEach=gs;exports.Fragment=T;exports.HeadlessAdapter=St;exports.HeadlessContext=O;exports.HeadlessElement=Be;exports.HeadlessPortal=ie;exports.HeadlessText=Fe;exports.MapSignal=Ss;exports.MemoryStore=ee;exports.NotEmpty=As;exports.OnBrowserCtx=et;exports.OnChecked=We;exports.OnCtx=ds;exports.OnDispose=Q;exports.OnElement=Ts;exports.OnHeadlessCtx=ys;exports.OneOf=q;exports.OneOfField=he;exports.OneOfKind=os;exports.OneOfTuple=ls;exports.OneOfType=as;exports.OneOfValue=ze;exports.Portal=bs;exports.Prop=H;exports.Provide=Es;exports.ProvideGlobalProbe=vs;exports.ProvideProbe=nt;exports.ProviderNotFoundError=re;exports.RenderingError=Re;exports.Repeat=fe;exports.Signal=f;exports.Task=ue;exports.TextNode=Nt;exports.Unless=ms;exports.Use=us;exports.UseGlobalProbe=_s;exports.UseProbe=it;exports.UseProvider=Ze;exports.UseProviders=hs;exports.Value=g;exports.When=de;exports.WithProvider=rt;exports.WithProviders=Ps;exports._NODE_PLACEHOLDER_ATTR=ne;exports._getSelfOrParentElement=Ne;exports._isElement=se;exports._makeGetter=$e;exports._makeSetter=Ie;exports._removeDOMNode=I;exports._signalText=le;exports._staticText=oe;exports.animateSignal=mt;exports.animateSignals=xe;exports.aria=qt;exports.attr=x;exports.dataAttr=jt;exports.emitChecked=Qt;exports.emitPreventDefault=Zt;exports.emitStopImmediatePropagation=es;exports.emitStopPropagation=Kt;exports.emitValue=Ge;exports.emitValueAsDate=Xe;exports.emitValueAsDateTime=Ye;exports.emitValueAsNumber=Je;exports.endInterpolate=Ce;exports.getWindow=K;exports.guessInterpolate=we;exports.html=Ut;exports.input=Wt;exports.interpolateDate=_e;exports.interpolateNumber=Pe;exports.interpolateString=ve;exports.localStorageProp=ft;exports.makeComputed=Y;exports.makeComputedOf=ht;exports.makeComputedRecord=gt;exports.makeEffect=Oe;exports.makeEffectOf=dt;exports.makeProp=P;exports.makeProviderMark=tt;exports.makeSignal=N;exports.math=Yt;exports.mathAttr=Ft;exports.on=j;exports.probeMarker=pe;exports.render=yt;exports.renderWithContext=z;exports.renderableOfTNode=d;exports.restoreTempoPlaceholders=Dt;exports.runHeadless=Tt;exports.sessionStorageProp=pt;exports.storedProp=te;exports.style=Os;exports.svg=Jt;exports.svgAttr=Bt;
1
+ "use strict";var at=Object.defineProperty;var ye=s=>{throw TypeError(s)};var ct=(s,e,t)=>e in s?at(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e,t)=>ct(s,typeof e!="symbol"?e+"":e,t),Te=(s,e,t)=>e.has(s)||ye("Cannot "+t);var Z=(s,e,t)=>(Te(s,e,"read from private field"),t?t.call(s):e.get(s)),Ee=(s,e,t)=>e.has(s)?ye("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),Se=(s,e,t,r)=>(Te(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Pe=(s,e,t)=>s+(e-s)*t,be=97,_e=(s,e,t)=>{const r=Math.max(s.length,e.length);let n="";for(let i=0;i<r;i++){let l=s.charCodeAt(i);isNaN(l)&&(l=be);let a=e.charCodeAt(i);isNaN(a)&&(a=be),n+=String.fromCharCode(l+(a-l)*t)}return n},ve=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),Ce=(s,e)=>e,we=s=>typeof s=="number"?Pe:typeof s=="string"?_e:s instanceof Date?ve:Ce;var M;class F{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");Ee(this,M);o(this,"dispose",()=>{this.total.dispose()});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 Z(this,M)==null&&Se(this,M,this.total.map(e=>this.counter===e)),Z(this,M)}}M=new WeakMap;const k=class k{constructor(e,t){o(this,"$__signal__",!0);o(this,"_value");o(this,"_derivatives",[]);o(this,"_onValueListeners",[]);o(this,"_onDisposeListeners",[]);o(this,"get",()=>this._value);o(this,"hasListeners",()=>this._onValueListeners.length>0);o(this,"on",(e,t={})=>{t.skipInitial||e(this.get(),void 0);const r=t.once?(i,l)=>{n(),e(i,l)}:e;this._onValueListeners.push(r);const n=()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(r),1),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",n)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",n),n});o(this,"_setAndNotify",(e,t)=>{const r=this._value,n=this.equals(r,e);n||(this._value=e),(t||!n)&&this._onValueListeners.forEach(i=>i(e,r))});o(this,"_disposed",!1);o(this,"isDisposed",()=>this._disposed);o(this,"onDispose",e=>{this._onDisposeListeners.push(e)});o(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});o(this,"map",(e,t=(r,n)=>r===n)=>{const r=new C(()=>{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 C(()=>{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 C(()=>{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 C(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},r);return this.setDerivative(i),i});o(this,"mapAsync",(e,t,r,n=(i,l)=>i===l)=>{const i=P(t,n);let l=0,a=new AbortController;return i.onDispose(this.on(async c=>{const h=++l;a.abort(),a=new AbortController;try{const u=await e(c,{abortSignal:a.signal});h===l&&i.set(u)}catch(u){if(h===l)if(r!=null)i.set(r(u));else throw u}})),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(P(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(k,"ofPromise",(e,t,r,n=(i,l)=>i===l)=>{const i=new k(t,n);return e.then(l=>i._setAndNotify(l,!1)).catch(l=>{r!=null?i._setAndNotify(r(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),i}),o(k,"is",e=>e!=null&&e.$__signal__===!0);let f=k;const ut=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class C 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;ut(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});o(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const X=class X extends f{constructor(){super(...arguments);o(this,"$__prop__",!0);o(this,"set",t=>{this._setAndNotify(t,!1)});o(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});o(this,"reducer",(t,...r)=>{const n=this;return function i(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&r.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:i}))}});o(this,"iso",(t,r,n=(i,l)=>i===l)=>{const i=new X(t(this.get()),n);return i.onDispose(this.on(l=>i.set(t(l)))),i.on(l=>this._setAndNotify(r(l),!1)),i});o(this,"atProp",t=>this.iso(r=>r[t],r=>({...this.value,[t]:r})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};o(X,"is",t=>t!=null&&t.$__prop__===!0);let H=X;const Y=(s,e,t=(r,n)=>r===n)=>{const r=new C(s,t);return e.forEach(n=>n.setDerivative(r)),r},Oe=(s,e,t={})=>{let r=t.once?()=>{i(),s()}:s;if(t.skipInitial){let l=!1;const a=r;r=()=>{l?a():l=!0}}const n=Y(r,e),i=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",i)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",i),i},P=(s,e=(t,r)=>t===r)=>new H(s,e),$=(s,e=(t,r)=>t===r)=>new f(s,e),K=()=>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}):P(s,t)},ht=(...s)=>(e,t)=>{const r=s.filter(n=>f.is(n));return Y(()=>e(...s.map(n=>y.get(n))),r,t)},dt=(...s)=>(e,t={})=>{const r=s.filter(n=>f.is(n));return Oe(()=>e(...s.map(y.get)),r,t)};class ee{constructor(){o(this,"_store",new Map);o(this,"getItem",e=>this._store.get(e)??null);o(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const te=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:i=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(s),c=new H(a!=null?l(n(a)):typeof e=="function"?e():e,i);return c.on(h=>{t.setItem(s,r(h))}),c},ft=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.localStorage)??new ee})},pt=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.sessionStorage)??new ee})};function Ae(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const xe=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,i=(r==null?void 0:r.easing)??(A=>A),l=(r==null?void 0:r.equals)??((A,B)=>A===B);let a=r==null?void 0:r.interpolate,c=s,h=e(),u=performance.now(),g=null,T=!0;const p=new C(e,l),m=P(s,l);m.onDispose(()=>{g!==null&&cancelAnimationFrame(g)}),m.onDispose(p.dispose),t.forEach(A=>{A.setDerivative(p),A.onDispose(m.dispose)});const v=A=>{h=A,u=performance.now(),c=m.value,T&&(T=!1,g=Ae(me))},me=()=>{const B=(performance.now()-u)/y.get(n),lt=i(B);a==null&&(a=we(c));let ge=a(c,h,lt);B>=1?(T=!0,ge=h):g=Ae(me),m.set(ge)};return p.on(v),m},mt=(s,e)=>{const{initialValue:t,...r}=e??{};return xe(t??s.get(),s.get,[s],r)},gt=(s,e)=>{const{signals:t,literals:r}=Object.entries(s).reduce(({signals:i,literals:l},[a,c])=>(f.is(c)?i.push([a,c]):l[a]=c,{signals:i,literals:l}),{signals:[],literals:{}}),n=t.map(([,i])=>i);return Y(()=>(t.forEach(([i,l])=>r[i]=l.value),e(r)),n)},Le=new Set(["checked","disabled","hidden"]),De=new Set(["selected"]),Me=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),ke=new Set(["valueAsDate"]),He=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ie=(s,e)=>De.has(s)?t=>{t==null||t!==!0?e.removeAttribute(s):e.setAttribute(s,"")}:Le.has(s)?t=>{t==null?e[s]=null:e[s]=!!t}:Me.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=t}:He.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},Ne=(s,e)=>De.has(s)?()=>e.hasAttribute(s):Le.has(s)?()=>!!e[s]:Me.has(s)?()=>Number(e[s]):ke.has(s)?()=>e[s]:He.has(s)?()=>String(e[s]):()=>e.getAttribute(s),I=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},$e=s=>se(s)?s:s.parentElement,se=s=>s.nodeType===1;class re extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class w{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 w(this.document,e,void 0,this.providers));o(this,"makePortal",e=>{const t=this.document.querySelector(e);if(t==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(t)});o(this,"withReference",e=>new w(this.document,this.element,e,this.providers));o(this,"withProviders",e=>new w(this.document,this.element,this.reference,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?I(this.reference):I(this.element))});o(this,"addClasses",e=>{this.element.classList.add(...e)});o(this,"removeClasses",e=>{this.element.classList.remove(...e)});o(this,"getClasses",()=>Array.from(this.element.classList));o(this,"on",(e,t,r)=>(this.element.addEventListener(e,t,r),n=>{n&&this.element.removeEventListener(e,t,r)}));o(this,"isBrowserDOM",()=>!0);o(this,"isHeadlessDOM",()=>!1);o(this,"setStyle",(e,t)=>{this.element.style[e]=t});o(this,"getStyle",e=>this.element.style[e]);o(this,"makeAccessors",e=>({get:Ne(e,this.element),set:Ie(e,this.element)}));this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t){return new w(e.ownerDocument,e,t,{})}}const z=(s,e)=>{const t=s(e);return(r=!0)=>t(r)},yt=(s,e,{doc:t,clear:r,disposeWithParent:n=!0}={})=>{const i=typeof e=="string"?(t??document).querySelector(e):e;if(i===null)throw new Re(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??i.ownerDocument)!=null&&i.nodeType===1&&(i.innerHTML="");const l=$e(i),a=se(i)?void 0:i,c=w.of(l,a),h=z(s,c);let u;return n&&(u=new MutationObserver(g=>{var T;(T=g[0])==null||T.removedNodes.forEach(p=>{p===i&&(h(i.nodeType!==Node.ELEMENT_NODE),u==null||u.disconnect())})}),u.observe(i.parentElement,{childList:!0,subtree:!1,attributes:!1})),()=>{u==null||u.disconnect(),h(!0)}},Tt=(s,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const r=y.toSignal(e).deriveProp(),n=new ie(t,void 0),i=new O(n,void 0,{currentURL:r},{});return{clear:z(s(),i),root:n,currentURL:r}};class Re extends Error{constructor(e){super(e)}}const ne="data-tts-node",N="data-tts-class",U="data-tts-style",W="data-tts-html",G="data-tts-text",J="data-tts-attrs";class Et{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:a,appendHTML:c,getInnerHTML:h,setInnerHTML:u,getInnerText:g,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=>{for(const i of this.select(n.selector)){if(i==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(i,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const l=this.getInnerHTML(i);l!=null&&this.setAttribute(i,W,l)}this.setInnerHTML(i,n.getInnerHTML())}if(n.hasInnerText()){if(t){const l=this.getInnerText(i);l!=null&&this.setAttribute(i,G,l)}this.setInnerText(i,n.getInnerText())}if(n.hasClasses()){if(t){const l=this.getClass(i);l!=null&&this.setAttribute(i,N,l)}this.setClass(i,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const l=this.getStyles(i);Object.keys(l).length>0&&this.setAttribute(i,U,JSON.stringify(l))}this.setStyles(i,n.getStyles())}if(n.hasAttributes()){const l=n.getAttributes();if(t){const a=[];l.forEach(([c])=>{const h=this.getAttribute(i,c);h!=null&&a.push([c,h])}),a.length>0&&this.setAttribute(i,J,JSON.stringify(Object.fromEntries(a)))}l.forEach(([a,c])=>{this.setAttribute(i,a,c)})}}})});this.select=e,this.getAttribute=t,this.setAttribute=r,this.getClass=n,this.setClass=i,this.getStyles=l,this.setStyles=a,this.appendHTML=c,this.getInnerHTML=h,this.setInnerHTML=u,this.getInnerText=g,this.setInnerText=T}}const St=()=>{document.querySelectorAll(`[${ne}]`).forEach(I)},bt=s=>{const e=s.getAttribute(N);s.removeAttribute(N),e!=null&&s.setAttribute("class",e)},At=()=>{document.querySelectorAll(`[${N}]`).forEach(e=>bt(e))},Pt=s=>{const e=s.getAttribute(W);s.removeAttribute(W),e!=null&&(s.innerHTML=e)},_t=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Pt(e))},vt=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},Ct=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>vt(e))},Ve=s=>JSON.parse(s.replace(/&quot;/g,'"')),wt=s=>{const e=s.getAttribute(U);if(s.removeAttribute(U),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},Ot=()=>{document.querySelectorAll(`[${U}]`).forEach(e=>wt(e))},xt=s=>{const e=s.getAttribute(J);if(s.removeAttribute(J),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Lt=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>xt(e))},Dt=()=>{St(),At(),Ct(),_t(),Ot(),Lt()},S=Symbol("class"),_=Symbol("style"),L=Symbol("handler"),je=()=>Math.random().toString(36).substring(2,15),Mt=s=>s.replace(/<[^>]*>?/g,"");class qe{constructor(e){o(this,"id",je());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?Mt(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[S]!=null);o(this,"hasStyles",()=>this.properties[_]!=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)=>{var a;const n=(a=this.properties)[L]??(a[L]={}),i=r!=null&&r.once?c=>{l(),t(c)}:c=>t(c);n[e]=[...n[e]??[],i];const l=()=>{const c=n[e]??[],h=c.indexOf(i);h!==-1&&(c.splice(h,1),c.length===0?(delete n[e],Object.keys(n).length===0&&delete this.properties[L]):n[e]=c,(r==null?void 0:r.signal)!=null&&r.signal.removeEventListener("abort",l))};return(r==null?void 0:r.signal)!=null&&r.signal.addEventListener("abort",l),l});o(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);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)[S]??(r[S]=[]);e.forEach(n=>{const i=t.indexOf(n);i!==-1&&t.splice(i,1)}),t.length===0&&delete this.properties[S]});o(this,"getClasses",()=>this.properties[S]??[]);o(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));o(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===S?[["class",this.getClasses()]]:e===_?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[_]??(n[_]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[_])});o(this,"getStyle",e=>{var t;return((t=this.properties[_])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[_]??{});o(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const kt=s=>s.replace(/"/g,"&quot;"),Ht=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class Be extends qe{constructor(t,r,n){super(n);o(this,"isPortal",()=>!1);o(this,"toHTML",(t=!1)=>{const r=this.children.map(c=>c.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let i=null;const l=this.getVisibleAttributes().map(([c,h])=>c==="class"?` class="${h.join(" ")}"`:c==="style"?typeof h=="string"?` style="${h}"`:` style="${Object.entries(h).map(([u,g])=>`${u}: ${g};`).join(" ")}"`:It.has(c)?` ${c}`:c==="innerHTML"?(i=h,""):c==="innerText"?(i=Ht(h),""):` ${c}="${kt(h)}"`).join(""),a=t?` ${ne}`:"";return Nt.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${a} />`:`<${this.tagName}${n}${l}${a}>${i??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class ie extends qe{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 Fe{constructor(e){o(this,"id",je());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 Be(e,t,this.element);return this.appendOrInsert(r),new O(r,void 0,this.container,this.providers)});o(this,"makeChildText",e=>{const t=new Fe(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 ie(e,this.element);return this.appendOrInsert(t),new O(t,void 0,this.container,this.providers)});o(this,"withProviders",e=>new O(this.element,this.reference,this.container,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});o(this,"on",(e,t)=>this.element.on(e,t));o(this,"addClasses",e=>this.element.addClasses(e));o(this,"removeClasses",e=>this.element.removeClasses(e));o(this,"getClasses",()=>this.element.getClasses());o(this,"isBrowserDOM",()=>!1);o(this,"isHeadlessDOM",()=>!0);o(this,"setStyle",(e,t)=>this.element.setStyle(e,t));o(this,"getStyle",e=>this.element.getStyle(e));o(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=r,this.providers=n}}const It=new Set(["checked","disabled","multiple","readonly","required","selected"]),Nt=new Set(["img","br","hr","input","link","meta"]),oe=s=>e=>{const t=e.makeChildText(s);return r=>t.clear(r)},le=s=>e=>{const t=e.makeChildText(s.value),r=s.on(n=>t.setText(n));return n=>{r(),t.clear(n)}},$t=s=>f.is(s)?le(s):oe(s),E=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},b=()=>()=>{},Rt=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),Vt=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 a=>{l(),a&&n(i)}},x=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?Vt(t):Rt((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?V(e,t):R(e,t)}),jt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`data-${e}`,t):R(`data-${e}`,t)}),qt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`aria-${e}`,t):R(`aria-${e}`,t)}),Bt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),Ft=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),d=s=>{if(s==null)return b;if(Array.isArray(s))return E(...s.map(d));if(typeof s=="string")return oe(s);if(f.is(s))return le(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ae=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(i=>d(i)(r));return i=>{n.forEach(l=>l(!1)),r.clear(i)}},ce=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),i=t.map(l=>d(l)(n));return l=>{i.forEach(a=>a(!1)),n.clear(l)}},Ut=new Proxy({},{get:(s,e)=>(...t)=>ae(e,t.flatMap(d))}),Wt=new Proxy({},{get:(s,e)=>(...t)=>ae("input",x.type(e),...t)}),Gt="http://www.w3.org/2000/svg",Jt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Gt,t.flatMap(d))}),Xt="http://www.w3.org/1998/Math/MathML",Yt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Xt,t.flatMap(d))}),ue=(s,e)=>{if(typeof e=="function")return ue(s,{then:e});const t=e.pending!=null?d(e.pending()):b,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>b;return i=>{let l=!0;const a=s(),c=i.makeRef();let h=d(t)(c);return a.then(u=>{l&&(h(!0),h=d(r(u))(c))},u=>{l&&(h(!0),h=d(n(u))(c))}),u=>{l=!1,h(u),c.clear(u)}}},zt=(s,e)=>ue(()=>s,e),Ue=(s,e,t)=>r=>r.on(s,e,t),We=s=>Ue("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const r=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;r!=null&&s(!r)},0)}),j=new Proxy({},{get:(s,e)=>t=>Ue(e,t)}),Ge=s=>e=>{const t=e.target;s(t.value)},Je=s=>e=>{const t=e.target;s(t.valueAsNumber)},Xe=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)},Ye=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)},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")=>E(x.valueAsDate(s),j[e](Xe(s.set))),ss=(s,e="input")=>E(x.valueAsDate(s),j[e](Ye(s.set))),rs=(s,e="input")=>E(x.valueAsNumber(s),j[e](Je(s.set))),ns=(s,e="input")=>E(x.value(s),j[e](Ge(s.set))),is=s=>E(x.checked(s),We(s.set)),q=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let i,l;const a=s.map(u=>Object.keys(u)[0]);let c;const h=a.on(u=>{if(u!==c){l==null||l.dispose(),i==null||i(!0),l=s.map(T=>T[u]);const g=e[u](l);i=d(g)(n),c=u}});return u=>{l==null||l.dispose(),h(),n.clear(u),i==null||i(u)}};const t=Object.keys(s)[0];return d(e[t]($(s[t])))},he=(s,e,t)=>q(y.map(s,r=>({[r[e]]:r})),t),os=(s,e)=>he(s,"kind",e),ls=(s,e)=>{const t=y.map(s,([r,n])=>({[r]:n}));return q(t,e)},as=(s,e)=>he(s,"type",e),ze=(s,e)=>q(y.map(s,t=>({[t]:!0})),e),cs=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return ze(t.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:r,last:n,other:s})},Qe=(s,e)=>t=>{const r=Object.values(s).reduce((n,i)=>{const l=t.getProvider(i);return Reflect.set(n,i,l),n},{});return d(e(r))(t)},us=(s,e)=>t=>{const r=[],n=Object.entries(s).reduce((i,[l,a])=>(r.push(a(c=>(Reflect.set(i,l,c),null))(t)),i),{});return r.push(e(n)(t)),i=>{r.forEach(l=>l(i))}},Ze=(s,e)=>Qe([s],t=>d(e(t[s]))),hs=(s,e)=>Qe(s,t=>d(e(t))),ds=s=>e=>{const t=s(e);return t==null?()=>{}:d(t)(e)},fs=s=>e=>(e.appendOrInsert(s),t=>{t&&I(s)}),Ke=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=()=>{},a=!1,c=null;const h=r.on(u=>{u==null?(l(!0),l=d((t==null?void 0:t())??b)(i),a=!1,c==null||c.dispose(),c=null):(c==null?c=P(u):c.value=u,a||(l(!0),l=d(e(c))(i),a=!0))});return u=>{c==null||c.dispose(),h(),l==null||l(u),i.clear(u)}}}else{const r=s;if(r==null){const n=t==null?void 0:t();return n!=null?d(n):b}return d(e($(r)))}},ps=(...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()):b)(n);const l=s.map(()=>null),a=s.map(p=>f.is(p)?p.value!=null:p!=null);let c=null;const h=P(a.every(p=>p)),u=(p,m)=>{if(p.value!=null){if(l[m]==null){const v=P(p.value);l[m]=v}else l[m].value=p.value;a[m]=!0}else a[m]=!1};let g=s.length-1;const T=s.map((p,m)=>{if(!f.is(p)){const v=P(p);return l[m]=v,()=>{}}return p.on(()=>{u(p,m),g===0?h.value=a.every(v=>v):g--})});return h.on(p=>{c==null||c(!0),c=null,p?c=d(e(...l))(n):c=d((t==null?void 0:t())??b)(n)}),p=>{l.forEach(m=>m==null?void 0:m.dispose()),h.dispose(),T.forEach(m=>m()),c==null||c(p),n.clear(p)}},Q=(...s)=>e=>t=>s.forEach(r=>r(t,e)),de=(s,e,t)=>Ke(y.map(s,r=>r?!0:null),e,t??void 0),ms=(s,e,t)=>de(y.map(s,r=>!r),e,t),fe=(s,e,t)=>t!=null?fe(s,r=>{const n=new F(r.index,r.total.map(i=>i-1));return E(Q(n.dispose),d(e(r)),de(r.isLast,()=>b,()=>t(n)))}):f.is(s)?r=>{const n=r.makeRef(),i=[],l=s.on(a=>{const c=i.splice(a);for(const h of c)h(!0);for(let h=i.length;h<a;h++){const u=new F(h,s);i.push(d(e(u))(n))}});return a=>{l();for(const c of i)c(a);i.length=0,n.clear(a)}}:E(...Array.from({length:s},(r,n)=>n).map(r=>d(e(new F(r,$(s)))))),gs=(s,e,t)=>{const r=y.map(s,i=>i.length),n=y.toSignal(s);return fe(r,i=>{const l=n.map(a=>a[i.index]);return E(Q(l.dispose),d(e(l,i)))},t)},et=s=>e=>{if(e.isBrowserDOM()){const t=s(e);if(t!=null)return d(t)(e)}return()=>{}},ys=s=>e=>{if(e.isHeadlessDOM()){const t=s(e);if(t)return d(t)(e)}return()=>{}},Ts=s=>et(e=>s(e.element)),Es=(s,e)=>{if(f.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(a=>d(e(a)));let i=()=>{};const l=n.on(a=>{i(!0),i=a(r)});return a=>{l(),i(a)}}}return d(e(s))},Ss=(s,e,t=()=>b)=>q(y.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),bs=(s,e)=>t=>{const r=t.makePortal(s);return z(d(e),r)},tt=s=>Symbol(s),st=(s,e)=>t=>d(e)(t.withProviders(s)),As=(...s)=>s.length>0?s.reduceRight((e,t)=>r=>e(t(r))):d,rt=(s,e,t)=>st({[s]:e},d(t)),Ps=(s,e)=>st(s,d(e)),pe=tt("Probe"),D=new Map,nt=({identifier:s,callback:e=()=>{},child:t,timeout:r=10})=>{if(D.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>e("timeout"),r);D.set(s,{counter:0,timeoutId:n});const i=l=>{clearTimeout(n);const a=D.get(l);if(a==null)throw new Error(`Probe not found: ${l.description}`);--a.counter===0?(e("resolved"),D.delete(l)):D.set(l,a)};return E(Q(()=>clearTimeout(n)),rt(pe,i,t))},it=(s,e)=>Ze(pe,t=>{const r=D.get(s);return r==null?e(()=>{}):(clearTimeout(r.timeoutId),r.counter++,e(()=>t(s)))}),ot=Symbol("globalProbe"),_s=({callback:s,timeout:e},t)=>nt({identifier:ot,callback:s,child:t,timeout:e}),vs=s=>it(ot,s),Cs=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},ws=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},Os=new Proxy({},{get:(s,e)=>t=>f.is(t)?ws(e,t):Cs(e,t)});exports.Async=zt;exports.BindChecked=is;exports.BindDate=ts;exports.BindDateTime=ss;exports.BindNumber=rs;exports.BindText=ns;exports.BrowserContext=w;exports.CLASS_PLACEHOLDER_ATTR=N;exports.Computed=C;exports.Conjunction=cs;exports.DOMNode=fs;exports.El=ae;exports.ElNS=ce;exports.ElementPosition=F;exports.Empty=b;exports.Ensure=Ke;exports.EnsureAll=ps;exports.ForEach=gs;exports.Fragment=E;exports.HeadlessAdapter=Et;exports.HeadlessContext=O;exports.HeadlessElement=Be;exports.HeadlessPortal=ie;exports.HeadlessText=Fe;exports.MapSignal=Es;exports.MemoryStore=ee;exports.NotEmpty=Ss;exports.OnBrowserCtx=et;exports.OnChecked=We;exports.OnCtx=ds;exports.OnDispose=Q;exports.OnElement=Ts;exports.OnHeadlessCtx=ys;exports.OneOf=q;exports.OneOfField=he;exports.OneOfKind=os;exports.OneOfTuple=ls;exports.OneOfType=as;exports.OneOfValue=ze;exports.Portal=bs;exports.Prop=H;exports.Provide=As;exports.ProvideGlobalProbe=_s;exports.ProvideProbe=nt;exports.ProviderNotFoundError=re;exports.RenderingError=Re;exports.Repeat=fe;exports.Signal=f;exports.Task=ue;exports.TextNode=$t;exports.Unless=ms;exports.Use=us;exports.UseGlobalProbe=vs;exports.UseProbe=it;exports.UseProvider=Ze;exports.UseProviders=hs;exports.Value=y;exports.When=de;exports.WithProvider=rt;exports.WithProviders=Ps;exports._NODE_PLACEHOLDER_ATTR=ne;exports._getSelfOrParentElement=$e;exports._isElement=se;exports._makeGetter=Ne;exports._makeSetter=Ie;exports._removeDOMNode=I;exports._signalText=le;exports._staticText=oe;exports.animateSignal=mt;exports.animateSignals=xe;exports.aria=qt;exports.attr=x;exports.dataAttr=jt;exports.emitChecked=Qt;exports.emitPreventDefault=Zt;exports.emitStopImmediatePropagation=es;exports.emitStopPropagation=Kt;exports.emitValue=Ge;exports.emitValueAsDate=Xe;exports.emitValueAsDateTime=Ye;exports.emitValueAsNumber=Je;exports.endInterpolate=Ce;exports.getWindow=K;exports.guessInterpolate=we;exports.html=Ut;exports.input=Wt;exports.interpolateDate=ve;exports.interpolateNumber=Pe;exports.interpolateString=_e;exports.localStorageProp=ft;exports.makeComputed=Y;exports.makeComputedOf=ht;exports.makeComputedRecord=gt;exports.makeEffect=Oe;exports.makeEffectOf=dt;exports.makeProp=P;exports.makeProviderMark=tt;exports.makeSignal=$;exports.math=Yt;exports.mathAttr=Ft;exports.on=j;exports.probeMarker=pe;exports.render=yt;exports.renderWithContext=z;exports.renderableOfTNode=d;exports.restoreTempoPlaceholders=Dt;exports.runHeadless=Tt;exports.sessionStorageProp=pt;exports.storedProp=te;exports.style=Os;exports.svg=Jt;exports.svgAttr=Bt;
package/index.js CHANGED
@@ -5,8 +5,8 @@ var te = (s) => {
5
5
  var Ie = (s, e, t) => e in s ? ke(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
6
6
  var o = (s, e, t) => Ie(s, typeof e != "symbol" ? e + "" : e, t), se = (s, e, t) => e.has(s) || te("Cannot " + t);
7
7
  var X = (s, e, t) => (se(s, e, "read from private field"), t ? t.call(s) : e.get(s)), re = (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), ne = (s, e, t, r) => (se(s, e, "write to private field"), r ? r.call(s, t) : e.set(s, t), t);
8
- const Re = (s, e, t) => s + (e - s) * t;
9
- const Ne = (s, e, t) => {
8
+ const Ne = (s, e, t) => s + (e - s) * t;
9
+ const Re = (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
- }, Ve = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), je = (s, e) => e, qe = (s) => typeof s == "number" ? Re : typeof s == "string" ? Ne : s instanceof Date ? Ve : je;
19
+ }, Ve = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), je = (s, e) => e, qe = (s) => typeof s == "number" ? Ne : typeof s == "string" ? Re : s instanceof Date ? Ve : je;
20
20
  var D;
21
21
  class Y {
22
22
  /**
@@ -255,21 +255,21 @@ const H = class H {
255
255
  * @returns A property that holds the mapped value and can be observed for changes.
256
256
  */
257
257
  o(this, "mapAsync", (e, t, r, n = (i, l) => i === l) => {
258
- const i = E(t, n);
258
+ const i = v(t, n);
259
259
  let l = 0, c = new AbortController();
260
260
  return i.onDispose(
261
261
  this.on(async (a) => {
262
- const u = ++l;
262
+ const h = ++l;
263
263
  c.abort(), c = new AbortController();
264
264
  try {
265
- const h = await e(a, { abortSignal: c.signal });
266
- u === l && i.set(h);
267
- } catch (h) {
268
- if (u === l)
265
+ const u = await e(a, { abortSignal: c.signal });
266
+ h === l && i.set(u);
267
+ } catch (u) {
268
+ if (h === l)
269
269
  if (r != null)
270
- i.set(r(h));
270
+ i.set(r(u));
271
271
  else
272
- throw h;
272
+ throw u;
273
273
  }
274
274
  })
275
275
  ), i;
@@ -305,7 +305,7 @@ const H = class H {
305
305
  o(this, "deriveProp", ({
306
306
  autoDisposeProp: e = !0,
307
307
  equals: t
308
- } = {}) => this.feedProp(E(this.get(), t), e));
308
+ } = {}) => this.feedProp(v(this.get(), t), e));
309
309
  /**
310
310
  * Derives a new signal from the current signal. Useful to create a new signal that emits the same values as the current signal but can be disposed independently.
311
311
  * @returns A new signal that emits the same values as the current signal.
@@ -526,7 +526,7 @@ o(U, "is", (t) => (
526
526
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
527
527
  t != null && t.$__prop__ === !0
528
528
  ));
529
- let R = U;
529
+ let N = U;
530
530
  const z = (s, e, t = (r, n) => r === n) => {
531
531
  const r = new L(s, t);
532
532
  return e.forEach((n) => n.setDerivative(r)), r;
@@ -545,7 +545,7 @@ const z = (s, e, t = (r, n) => r === n) => {
545
545
  n.dispose(), t.abortSignal != null && t.abortSignal.removeEventListener("abort", i);
546
546
  };
547
547
  return t.abortSignal != null && t.abortSignal.addEventListener("abort", i), i;
548
- }, E = (s, e = (t, r) => t === r) => new R(s, e), W = (s, e = (t, r) => t === r) => new d(s, e), oe = () => typeof window < "u" ? window : void 0, y = {
548
+ }, v = (s, e = (t, r) => t === r) => new N(s, e), W = (s, e = (t, r) => t === r) => new d(s, e), oe = () => typeof window < "u" ? window : void 0, y = {
549
549
  /**
550
550
  * Maps a value or a Signal to a new value.
551
551
  * If the value is a Signal, it returns a new Signal with the mapped value.
@@ -615,7 +615,7 @@ const z = (s, e, t = (r, n) => r === n) => {
615
615
  deriveProp: (s, {
616
616
  autoDisposeProp: e = !0,
617
617
  equals: t
618
- } = {}) => d.is(s) ? s.deriveProp({ autoDisposeProp: e, equals: t }) : E(s, t)
618
+ } = {}) => d.is(s) ? s.deriveProp({ autoDisposeProp: e, equals: t }) : v(s, t)
619
619
  }, Ht = (...s) => (e, t) => {
620
620
  const r = s.filter((n) => d.is(n));
621
621
  return z(
@@ -659,12 +659,12 @@ const ce = ({
659
659
  equals: i = (c, a) => c === a,
660
660
  onLoad: l = (c) => c
661
661
  }) => {
662
- const c = t.getItem(s), a = new R(
662
+ const c = t.getItem(s), a = new N(
663
663
  c != null ? l(n(c)) : typeof e == "function" ? e() : e,
664
664
  i
665
665
  );
666
- return a.on((u) => {
667
- t.setItem(s, r(u));
666
+ return a.on((h) => {
667
+ t.setItem(s, r(h));
668
668
  }), a;
669
669
  }, kt = (s) => {
670
670
  var e;
@@ -684,23 +684,23 @@ function ie(s) {
684
684
  }
685
685
  const Ue = (s, e, t, r) => {
686
686
  const n = (r == null ? void 0 : r.duration) ?? 300, i = (r == null ? void 0 : r.easing) ?? ((A) => A), l = (r == null ? void 0 : r.equals) ?? ((A, I) => A === I);
687
- let c = r == null ? void 0 : r.interpolate, a = s, u = e(), h = performance.now(), m = null, b = !0;
688
- const p = new L(e, l), g = E(s, l);
687
+ let c = r == null ? void 0 : r.interpolate, a = s, h = e(), u = performance.now(), m = null, T = !0;
688
+ const p = new L(e, l), g = v(s, l);
689
689
  g.onDispose(() => {
690
690
  m !== null && cancelAnimationFrame(m);
691
691
  }), g.onDispose(p.dispose), t.forEach((A) => {
692
692
  A.setDerivative(p), A.onDispose(g.dispose);
693
693
  });
694
694
  const w = (A) => {
695
- u = A, h = performance.now(), a = g.value, b && (b = !1, m = ie(K));
695
+ h = A, u = performance.now(), a = g.value, T && (T = !1, m = ie(K));
696
696
  }, K = () => {
697
- const I = (performance.now() - h) / y.get(n), $e = i(I);
697
+ const I = (performance.now() - u) / y.get(n), $e = i(I);
698
698
  c == null && (c = qe(a));
699
- let ee = c(a, u, $e);
700
- I >= 1 ? (b = !0, ee = u) : m = ie(K), g.set(ee);
699
+ let ee = c(a, h, $e);
700
+ I >= 1 ? (T = !0, ee = h) : m = ie(K), g.set(ee);
701
701
  };
702
702
  return p.on(w), g;
703
- }, Rt = (s, e) => {
703
+ }, Nt = (s, e) => {
704
704
  const { initialValue: t, ...r } = e ?? {};
705
705
  return Ue(
706
706
  t ?? s.get(),
@@ -708,7 +708,7 @@ const Ue = (s, e, t, r) => {
708
708
  [s],
709
709
  r
710
710
  );
711
- }, Nt = (s, e) => {
711
+ }, Rt = (s, e) => {
712
712
  const { signals: t, literals: r } = Object.entries(s).reduce(
713
713
  ({ signals: i, literals: l }, [c, a]) => (d.is(a) ? i.push([c, a]) : l[c] = a, { signals: i, literals: l }),
714
714
  { signals: [], literals: {} }
@@ -739,7 +739,7 @@ const Ue = (s, e, t, r) => {
739
739
  t == null ? e[s] = null : e[s] = String(t);
740
740
  } : (t) => {
741
741
  t == null ? e.removeAttribute(s) : e.setAttribute(s, t);
742
- }, Je = (s, e) => ue.has(s) ? () => e.hasAttribute(s) : ae.has(s) ? () => !!e[s] : he.has(s) ? () => Number(e[s]) : fe.has(s) ? () => e[s] : de.has(s) ? () => String(e[s]) : () => e.getAttribute(s), N = (s) => {
742
+ }, Je = (s, e) => ue.has(s) ? () => e.hasAttribute(s) : ae.has(s) ? () => !!e[s] : he.has(s) ? () => Number(e[s]) : fe.has(s) ? () => e[s] : de.has(s) ? () => String(e[s]) : () => e.getAttribute(s), R = (s) => {
743
743
  const e = s;
744
744
  e && e.onblur && (e.onblur = null), !(!s || s.ownerDocument === void 0) && s.parentElement && s.parentElement.removeChild(s);
745
745
  }, Ge = (s) => pe(s) ? s : s.parentElement, pe = (s) => s.nodeType === 1;
@@ -873,7 +873,7 @@ class x {
873
873
  return this.providers[e];
874
874
  });
875
875
  o(this, "clear", (e) => {
876
- e && (this.reference !== void 0 ? N(this.reference) : N(this.element));
876
+ e && (this.reference !== void 0 ? R(this.reference) : R(this.element));
877
877
  });
878
878
  /**
879
879
  * Adds classes to the element.
@@ -951,21 +951,33 @@ class x {
951
951
  }
952
952
  const Q = (s, e) => {
953
953
  const t = s(e);
954
- return () => t(!0);
955
- }, Vt = (s, e, { doc: t, clear: r } = {}) => {
956
- const n = typeof e == "string" ? (t ?? document).querySelector(e) : e;
957
- if (n === null)
954
+ return (r = !0) => t(r);
955
+ }, Vt = (s, e, { doc: t, clear: r, disposeWithParent: n = !0 } = {}) => {
956
+ const i = typeof e == "string" ? (t ?? document).querySelector(e) : e;
957
+ if (i === null)
958
958
  throw new Xe(
959
959
  `Cannot find element by selector for render: ${e}`
960
960
  );
961
- r !== !1 && (t ?? n.ownerDocument) != null && n.nodeType === 1 && (n.innerHTML = "");
962
- const i = Ge(n), l = pe(n) ? void 0 : n, c = x.of(i, l);
963
- return Q(s, c);
961
+ r !== !1 && (t ?? i.ownerDocument) != null && i.nodeType === 1 && (i.innerHTML = "");
962
+ const l = Ge(i), c = pe(i) ? void 0 : i, a = x.of(l, c), h = Q(s, a);
963
+ let u;
964
+ return n && (u = new MutationObserver((m) => {
965
+ var T;
966
+ (T = m[0]) == null || T.removedNodes.forEach((p) => {
967
+ p === i && (h(i.nodeType !== Node.ELEMENT_NODE), u == null || u.disconnect());
968
+ });
969
+ }), u.observe(i.parentElement, {
970
+ childList: !0,
971
+ subtree: !1,
972
+ attributes: !1
973
+ })), () => {
974
+ u == null || u.disconnect(), h(!0);
975
+ };
964
976
  }, jt = (s, {
965
977
  startUrl: e = "https://example.com",
966
978
  selector: t = ":root"
967
979
  } = {}) => {
968
- const r = y.toSignal(e).deriveProp(), n = new be(t, void 0), i = new O(n, void 0, { currentURL: r }, {});
980
+ const r = y.toSignal(e).deriveProp(), n = new Se(t, void 0), i = new O(n, void 0, { currentURL: r }, {});
969
981
  return {
970
982
  clear: Q(s(), i),
971
983
  root: n,
@@ -988,10 +1000,10 @@ class qt {
988
1000
  getStyles: l,
989
1001
  setStyles: c,
990
1002
  appendHTML: a,
991
- getInnerHTML: u,
992
- setInnerHTML: h,
1003
+ getInnerHTML: h,
1004
+ setInnerHTML: u,
993
1005
  getInnerText: m,
994
- setInnerText: b
1006
+ setInnerText: T
995
1007
  }) {
996
1008
  /**
997
1009
  * Selects elements from the headless environment.
@@ -1118,8 +1130,8 @@ class qt {
1118
1130
  if (t) {
1119
1131
  const c = [];
1120
1132
  l.forEach(([a]) => {
1121
- const u = this.getAttribute(i, a);
1122
- u != null && c.push([a, u]);
1133
+ const h = this.getAttribute(i, a);
1134
+ h != null && c.push([a, h]);
1123
1135
  }), c.length > 0 && this.setAttribute(
1124
1136
  i,
1125
1137
  B,
@@ -1133,11 +1145,11 @@ class qt {
1133
1145
  }
1134
1146
  });
1135
1147
  });
1136
- 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 = b;
1148
+ 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 = h, this.setInnerHTML = u, this.getInnerText = m, this.setInnerText = T;
1137
1149
  }
1138
1150
  }
1139
1151
  const Ye = () => {
1140
- document.querySelectorAll(`[${me}]`).forEach(N);
1152
+ document.querySelectorAll(`[${me}]`).forEach(R);
1141
1153
  }, ze = (s) => {
1142
1154
  const e = s.getAttribute(V);
1143
1155
  s.removeAttribute(V), e != null && s.setAttribute("class", e);
@@ -1175,8 +1187,8 @@ const Ye = () => {
1175
1187
  document.querySelectorAll(`[${B}]`).forEach((e) => nt(e));
1176
1188
  }, Ft = () => {
1177
1189
  Ye(), Qe(), tt(), Ke(), rt(), it();
1178
- }, T = Symbol("class"), v = Symbol("style"), C = Symbol("handler"), Te = () => Math.random().toString(36).substring(2, 15), ot = (s) => s.replace(/<[^>]*>?/g, "");
1179
- class Se {
1190
+ }, b = Symbol("class"), _ = Symbol("style"), C = Symbol("handler"), Te = () => Math.random().toString(36).substring(2, 15), ot = (s) => s.replace(/<[^>]*>?/g, "");
1191
+ class be {
1180
1192
  constructor(e) {
1181
1193
  o(this, "id", Te());
1182
1194
  o(this, "properties", {});
@@ -1204,8 +1216,8 @@ class Se {
1204
1216
  o(this, "getInnerText", () => this.properties.innerText ?? "");
1205
1217
  o(this, "hasInnerText", () => this.properties.innerText != null);
1206
1218
  o(this, "hasChildren", () => this.children.length > 0);
1207
- o(this, "hasClasses", () => this.properties[T] != null);
1208
- o(this, "hasStyles", () => this.properties[v] != null);
1219
+ o(this, "hasClasses", () => this.properties[b] != null);
1220
+ o(this, "hasStyles", () => this.properties[_] != null);
1209
1221
  o(this, "hasAttributes", () => Object.keys(this.properties).length > 0);
1210
1222
  o(this, "hasHandlers", () => this.properties[C] != null);
1211
1223
  o(this, "hasRenderableProperties", () => this.hasClasses() || this.hasAttributes() || this.hasStyles());
@@ -1231,8 +1243,8 @@ class Se {
1231
1243
  } : (a) => t(a);
1232
1244
  n[e] = [...n[e] ?? [], i];
1233
1245
  const l = () => {
1234
- const a = n[e] ?? [], u = a.indexOf(i);
1235
- u !== -1 && (a.splice(u, 1), a.length === 0 ? (delete n[e], Object.keys(n).length === 0 && delete this.properties[C]) : n[e] = a, (r == null ? void 0 : r.signal) != null && r.signal.removeEventListener("abort", l));
1246
+ const a = n[e] ?? [], h = a.indexOf(i);
1247
+ h !== -1 && (a.splice(h, 1), a.length === 0 ? (delete n[e], Object.keys(n).length === 0 && delete this.properties[C]) : n[e] = a, (r == null ? void 0 : r.signal) != null && r.signal.removeEventListener("abort", l));
1236
1248
  };
1237
1249
  return (r == null ? void 0 : r.signal) != null && r.signal.addEventListener("abort", l), l;
1238
1250
  });
@@ -1240,7 +1252,7 @@ class Se {
1240
1252
  var r;
1241
1253
  if (e.length === 0)
1242
1254
  return;
1243
- const t = (r = this.properties)[T] ?? (r[T] = []);
1255
+ const t = (r = this.properties)[b] ?? (r[b] = []);
1244
1256
  e.forEach((n) => {
1245
1257
  t.includes(n) || t.push(n);
1246
1258
  });
@@ -1249,29 +1261,29 @@ class Se {
1249
1261
  var r;
1250
1262
  if (e.length === 0)
1251
1263
  return;
1252
- const t = (r = this.properties)[T] ?? (r[T] = []);
1264
+ const t = (r = this.properties)[b] ?? (r[b] = []);
1253
1265
  e.forEach((n) => {
1254
1266
  const i = t.indexOf(n);
1255
1267
  i !== -1 && t.splice(i, 1);
1256
- }), t.length === 0 && delete this.properties[T];
1268
+ }), t.length === 0 && delete this.properties[b];
1257
1269
  });
1258
- o(this, "getClasses", () => this.properties[T] ?? []);
1270
+ o(this, "getClasses", () => this.properties[b] ?? []);
1259
1271
  o(this, "getAttributes", () => Object.entries(this.properties).filter(
1260
1272
  ([e]) => !["innerText", "innerHTML"].includes(e)
1261
1273
  ));
1262
1274
  o(this, "getVisibleAttributes", () => Reflect.ownKeys(this.properties).flatMap(
1263
- (e) => e === T ? [["class", this.getClasses()]] : e === v ? [["style", this.getStyles()]] : typeof e == "string" ? [[e, String(this.properties[e])]] : []
1275
+ (e) => e === b ? [["class", this.getClasses()]] : e === _ ? [["style", this.getStyles()]] : typeof e == "string" ? [[e, String(this.properties[e])]] : []
1264
1276
  ));
1265
1277
  o(this, "setStyle", (e, t) => {
1266
1278
  var n;
1267
- const r = (n = this.properties)[v] ?? (n[v] = {});
1268
- r[e] = t, t === "" && (delete r[e], Object.keys(r).length === 0 && delete this.properties[v]);
1279
+ const r = (n = this.properties)[_] ?? (n[_] = {});
1280
+ r[e] = t, t === "" && (delete r[e], Object.keys(r).length === 0 && delete this.properties[_]);
1269
1281
  });
1270
1282
  o(this, "getStyle", (e) => {
1271
1283
  var t;
1272
- return ((t = this.properties[v]) == null ? void 0 : t[e]) ?? "";
1284
+ return ((t = this.properties[_]) == null ? void 0 : t[e]) ?? "";
1273
1285
  });
1274
- o(this, "getStyles", () => this.properties[v] ?? {});
1286
+ o(this, "getStyles", () => this.properties[_] ?? {});
1275
1287
  o(this, "makeAccessors", (e) => {
1276
1288
  const t = this.properties;
1277
1289
  return {
@@ -1283,20 +1295,20 @@ class Se {
1283
1295
  }
1284
1296
  }
1285
1297
  const lt = (s) => s.replace(/"/g, "&quot;"), ct = (s) => s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1286
- class at extends Se {
1298
+ class at extends be {
1287
1299
  constructor(t, r, n) {
1288
1300
  super(n);
1289
1301
  o(this, "isPortal", () => !1);
1290
1302
  o(this, "toHTML", (t = !1) => {
1291
1303
  const r = this.children.map((a) => a.toHTML()).join(""), n = this.namespace ? ` xmlns="${this.namespace}"` : "";
1292
1304
  let i = null;
1293
- 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 = ct(u), "") : ` ${a}="${lt(u)}"`).join(""), c = t ? ` ${me}` : "";
1305
+ const l = this.getVisibleAttributes().map(([a, h]) => a === "class" ? ` class="${h.join(" ")}"` : a === "style" ? typeof h == "string" ? ` style="${h}"` : ` style="${Object.entries(h).map(([u, m]) => `${u}: ${m};`).join(" ")}"` : ht.has(a) ? ` ${a}` : a === "innerHTML" ? (i = h, "") : a === "innerText" ? (i = ct(h), "") : ` ${a}="${lt(h)}"`).join(""), c = t ? ` ${me}` : "";
1294
1306
  return ft.has(this.tagName) && r === "" ? `<${this.tagName}${n}${l}${c} />` : `<${this.tagName}${n}${l}${c}>${i ?? r}</${this.tagName}>`;
1295
1307
  });
1296
1308
  this.tagName = t, this.namespace = r;
1297
1309
  }
1298
1310
  }
1299
- class be extends Se {
1311
+ class Se extends be {
1300
1312
  constructor(t, r) {
1301
1313
  super(r);
1302
1314
  o(this, "isPortal", () => !0);
@@ -1351,7 +1363,7 @@ class O {
1351
1363
  });
1352
1364
  o(this, "makeRef", () => this.makeChildText(""));
1353
1365
  o(this, "makePortal", (e) => {
1354
- const t = new be(e, this.element);
1366
+ const t = new Se(e, this.element);
1355
1367
  return this.appendOrInsert(t), new O(
1356
1368
  t,
1357
1369
  void 0,
@@ -1393,17 +1405,17 @@ const ht = /* @__PURE__ */ new Set([
1393
1405
  ]), ft = /* @__PURE__ */ new Set(["img", "br", "hr", "input", "link", "meta"]), Ae = (s) => (e) => {
1394
1406
  const t = e.makeChildText(s);
1395
1407
  return (r) => t.clear(r);
1396
- }, _e = (s) => (e) => {
1408
+ }, Ee = (s) => (e) => {
1397
1409
  const t = e.makeChildText(s.value), r = s.on((n) => t.setText(n));
1398
1410
  return (n) => {
1399
1411
  r(), t.clear(n);
1400
1412
  };
1401
- }, Bt = (s) => d.is(s) ? _e(s) : Ae(s), S = (...s) => (e) => {
1413
+ }, Bt = (s) => d.is(s) ? Ee(s) : Ae(s), S = (...s) => (e) => {
1402
1414
  const t = s.map((r) => f(r)(e));
1403
1415
  return (r) => {
1404
1416
  t.forEach((n) => n(r));
1405
1417
  };
1406
- }, _ = () => () => {
1418
+ }, E = () => () => {
1407
1419
  }, dt = (s) => (e) => (e.addClasses(s), (t) => {
1408
1420
  t && e.removeClasses(s);
1409
1421
  }), pt = (s) => (e) => {
@@ -1522,22 +1534,22 @@ const ht = /* @__PURE__ */ new Set([
1522
1534
  }
1523
1535
  ), f = (s) => {
1524
1536
  if (s == null)
1525
- return _;
1537
+ return E;
1526
1538
  if (Array.isArray(s))
1527
1539
  return S(...s.map(f));
1528
1540
  if (typeof s == "string")
1529
1541
  return Ae(s);
1530
1542
  if (d.is(s))
1531
- return _e(s);
1543
+ return Ee(s);
1532
1544
  if (typeof s == "function")
1533
1545
  return s;
1534
1546
  throw new Error(`Unknown type: '${typeof s}' for child: ${s}`);
1535
- }, ve = (s, ...e) => (t) => {
1547
+ }, _e = (s, ...e) => (t) => {
1536
1548
  const r = t.makeChildElement(s, void 0), n = e.map((i) => f(i)(r));
1537
1549
  return (i) => {
1538
1550
  n.forEach((l) => l(!1)), r.clear(i);
1539
1551
  };
1540
- }, Ee = (s, e, ...t) => (r) => {
1552
+ }, ve = (s, e, ...t) => (r) => {
1541
1553
  const n = r.makeChildElement(s, e), i = t.map((l) => f(l)(n));
1542
1554
  return (l) => {
1543
1555
  i.forEach((c) => c(!1)), n.clear(l);
@@ -1550,7 +1562,7 @@ const ht = /* @__PURE__ */ new Set([
1550
1562
  * @param tagName - The HTML tag name.
1551
1563
  * @returns A renderable function that creates and appends the HTML element to the DOM.
1552
1564
  */
1553
- get: (s, e) => (...t) => ve(e, t.flatMap(f))
1565
+ get: (s, e) => (...t) => _e(e, t.flatMap(f))
1554
1566
  }
1555
1567
  ), Yt = new Proxy(
1556
1568
  {},
@@ -1560,7 +1572,7 @@ const ht = /* @__PURE__ */ new Set([
1560
1572
  * @param type - The input type name.
1561
1573
  * @returns A renderable function that creates and appends the HTMLInput element to the DOM.
1562
1574
  */
1563
- get: (s, e) => (...t) => ve("input", M.type(e), ...t)
1575
+ get: (s, e) => (...t) => _e("input", M.type(e), ...t)
1564
1576
  }
1565
1577
  ), gt = "http://www.w3.org/2000/svg", zt = new Proxy(
1566
1578
  {},
@@ -1570,7 +1582,7 @@ const ht = /* @__PURE__ */ new Set([
1570
1582
  * @param tagName - The SVG tag name.
1571
1583
  * @returns A renderable function that creates and appends the SVG element to the DOM.
1572
1584
  */
1573
- get: (s, e) => (...t) => Ee(e, gt, t.flatMap(f))
1585
+ get: (s, e) => (...t) => ve(e, gt, t.flatMap(f))
1574
1586
  }
1575
1587
  ), mt = "http://www.w3.org/1998/Math/MathML", Qt = new Proxy(
1576
1588
  {},
@@ -1580,25 +1592,25 @@ const ht = /* @__PURE__ */ new Set([
1580
1592
  * @param tagName - The Math tag name.
1581
1593
  * @returns A renderable function that creates and appends the Math element to the DOM.
1582
1594
  */
1583
- get: (s, e) => (...t) => Ee(e, mt, t.flatMap(f))
1595
+ get: (s, e) => (...t) => ve(e, mt, t.flatMap(f))
1584
1596
  }
1585
1597
  ), we = (s, e) => {
1586
1598
  if (typeof e == "function")
1587
1599
  return we(s, { then: e });
1588
- const t = e.pending != null ? f(e.pending()) : _, r = e.then, n = e.error != null ? (i) => f(e.error(i)) : () => _;
1600
+ const t = e.pending != null ? f(e.pending()) : E, r = e.then, n = e.error != null ? (i) => f(e.error(i)) : () => E;
1589
1601
  return (i) => {
1590
1602
  let l = !0;
1591
1603
  const c = s(), a = i.makeRef();
1592
- let u = f(t)(a);
1604
+ let h = f(t)(a);
1593
1605
  return c.then(
1594
- (h) => {
1595
- l && (u(!0), u = f(r(h))(a));
1606
+ (u) => {
1607
+ l && (h(!0), h = f(r(u))(a));
1596
1608
  },
1597
- (h) => {
1598
- l && (u(!0), u = f(n(h))(a));
1609
+ (u) => {
1610
+ l && (h(!0), h = f(n(u))(a));
1599
1611
  }
1600
- ), (h) => {
1601
- l = !1, u(h), a.clear(h);
1612
+ ), (u) => {
1613
+ l = !1, h(u), a.clear(u);
1602
1614
  };
1603
1615
  };
1604
1616
  }, Zt = (s, e) => we(() => s, e), Ce = (s, e, t) => (r) => r.on(s, e, t), yt = (s) => Ce("click", (e) => {
@@ -1621,10 +1633,10 @@ const ht = /* @__PURE__ */ new Set([
1621
1633
  ), Tt = (s) => (e) => {
1622
1634
  const t = e.target;
1623
1635
  s(t.value);
1624
- }, St = (s) => (e) => {
1636
+ }, bt = (s) => (e) => {
1625
1637
  const t = e.target;
1626
1638
  s(t.valueAsNumber);
1627
- }, bt = (s) => (e) => {
1639
+ }, St = (s) => (e) => {
1628
1640
  const t = e.target;
1629
1641
  if (t.value === "")
1630
1642
  return;
@@ -1653,22 +1665,22 @@ const ht = /* @__PURE__ */ new Set([
1653
1665
  e.stopPropagation(), s();
1654
1666
  }, ss = (s) => (e) => {
1655
1667
  e.stopImmediatePropagation(), s();
1656
- }, rs = (s, e = "input") => S(M.valueAsDate(s), J[e](bt(s.set))), ns = (s, e = "input") => S(M.valueAsDate(s), J[e](At(s.set))), is = (s, e = "input") => S(M.valueAsNumber(s), J[e](St(s.set))), os = (s, e = "input") => S(M.value(s), J[e](Tt(s.set))), ls = (s) => S(M.checked(s), yt(s.set)), G = (s, e) => {
1668
+ }, rs = (s, e = "input") => S(M.valueAsDate(s), J[e](St(s.set))), ns = (s, e = "input") => S(M.valueAsDate(s), J[e](At(s.set))), is = (s, e = "input") => S(M.valueAsNumber(s), J[e](bt(s.set))), os = (s, e = "input") => S(M.value(s), J[e](Tt(s.set))), ls = (s) => S(M.checked(s), yt(s.set)), G = (s, e) => {
1657
1669
  if (d.is(s))
1658
1670
  return (r) => {
1659
1671
  const n = r.makeRef();
1660
1672
  let i, l;
1661
- const c = s.map((h) => Object.keys(h)[0]);
1673
+ const c = s.map((u) => Object.keys(u)[0]);
1662
1674
  let a;
1663
- const u = c.on((h) => {
1664
- if (h !== a) {
1665
- l == null || l.dispose(), i == null || i(!0), l = s.map((b) => b[h]);
1666
- const m = e[h](l);
1667
- i = f(m)(n), a = h;
1675
+ const h = c.on((u) => {
1676
+ if (u !== a) {
1677
+ l == null || l.dispose(), i == null || i(!0), l = s.map((T) => T[u]);
1678
+ const m = e[u](l);
1679
+ i = f(m)(n), a = u;
1668
1680
  }
1669
1681
  });
1670
- return (h) => {
1671
- l == null || l.dispose(), u(), n.clear(h), i == null || i(h);
1682
+ return (u) => {
1683
+ l == null || l.dispose(), h(), n.clear(u), i == null || i(u);
1672
1684
  };
1673
1685
  };
1674
1686
  const t = Object.keys(s)[0];
@@ -1680,12 +1692,12 @@ const ht = /* @__PURE__ */ new Set([
1680
1692
  ), cs = (s, e) => Pe(s, "kind", e), as = (s, e) => {
1681
1693
  const t = y.map(s, ([r, n]) => ({ [r]: n }));
1682
1694
  return G(t, e);
1683
- }, us = (s, e) => Pe(s, "type", e), _t = (s, e) => G(
1695
+ }, us = (s, e) => Pe(s, "type", e), Et = (s, e) => G(
1684
1696
  y.map(s, (t) => ({ [t]: !0 })),
1685
1697
  e
1686
1698
  ), hs = (s, e = {}) => (t) => {
1687
1699
  const r = (e == null ? void 0 : e.firstSeparator) ?? s, n = (e == null ? void 0 : e.lastSeparator) ?? s;
1688
- return _t(
1700
+ return Et(
1689
1701
  t.map((i) => i.isFirst ? "first" : i.isLast ? "last" : "other"),
1690
1702
  {
1691
1703
  first: r,
@@ -1712,33 +1724,33 @@ const ht = /* @__PURE__ */ new Set([
1712
1724
  return r.push(e(n)(t)), (i) => {
1713
1725
  r.forEach((l) => l(i));
1714
1726
  };
1715
- }, vt = (s, e) => Le([s], (t) => f(e(t[s]))), ds = (s, e) => Le(s, (t) => f(e(t))), ps = (s) => (e) => {
1727
+ }, _t = (s, e) => Le([s], (t) => f(e(t[s]))), ds = (s, e) => Le(s, (t) => f(e(t))), ps = (s) => (e) => {
1716
1728
  const t = s(e);
1717
1729
  return t == null ? () => {
1718
1730
  } : f(t)(e);
1719
1731
  }, gs = (s) => (e) => (e.appendOrInsert(s), (t) => {
1720
- t && N(s);
1721
- }), Et = (s, e, t) => {
1732
+ t && R(s);
1733
+ }), vt = (s, e, t) => {
1722
1734
  if (d.is(s)) {
1723
1735
  const r = s;
1724
1736
  return (n) => {
1725
1737
  const i = n.makeRef();
1726
1738
  let l = () => {
1727
1739
  }, c = !1, a = null;
1728
- const u = r.on((h) => {
1729
- h == null ? (l(!0), l = f((t == null ? void 0 : t()) ?? _)(i), c = !1, a == null || a.dispose(), a = null) : (a == null ? a = E(h) : a.value = h, c || (l(!0), l = f(e(a))(
1740
+ const h = r.on((u) => {
1741
+ u == null ? (l(!0), l = f((t == null ? void 0 : t()) ?? E)(i), c = !1, a == null || a.dispose(), a = null) : (a == null ? a = v(u) : a.value = u, c || (l(!0), l = f(e(a))(
1730
1742
  i
1731
1743
  ), c = !0));
1732
1744
  });
1733
- return (h) => {
1734
- a == null || a.dispose(), u(), l == null || l(h), i.clear(h);
1745
+ return (u) => {
1746
+ a == null || a.dispose(), h(), l == null || l(u), i.clear(u);
1735
1747
  };
1736
1748
  };
1737
1749
  } else {
1738
1750
  const r = s;
1739
1751
  if (r == null) {
1740
1752
  const n = t == null ? void 0 : t();
1741
- return n != null ? f(n) : _;
1753
+ return n != null ? f(n) : E;
1742
1754
  }
1743
1755
  return f(e(W(r)));
1744
1756
  }
@@ -1747,17 +1759,17 @@ const ht = /* @__PURE__ */ new Set([
1747
1759
  if (s.some(
1748
1760
  (p) => !d.is(p) && p == null
1749
1761
  ))
1750
- return (t != null ? f(t == null ? void 0 : t()) : _)(
1762
+ return (t != null ? f(t == null ? void 0 : t()) : E)(
1751
1763
  n
1752
1764
  );
1753
1765
  const l = s.map(() => null), c = s.map(
1754
1766
  (p) => d.is(p) ? p.value != null : p != null
1755
1767
  );
1756
1768
  let a = null;
1757
- const u = E(c.every((p) => p)), h = (p, g) => {
1769
+ const h = v(c.every((p) => p)), u = (p, g) => {
1758
1770
  if (p.value != null) {
1759
1771
  if (l[g] == null) {
1760
- const w = E(p.value);
1772
+ const w = v(p.value);
1761
1773
  l[g] = w;
1762
1774
  } else
1763
1775
  l[g].value = p.value;
@@ -1766,22 +1778,22 @@ const ht = /* @__PURE__ */ new Set([
1766
1778
  c[g] = !1;
1767
1779
  };
1768
1780
  let m = s.length - 1;
1769
- const b = s.map((p, g) => {
1781
+ const T = s.map((p, g) => {
1770
1782
  if (!d.is(p)) {
1771
- const w = E(p);
1783
+ const w = v(p);
1772
1784
  return l[g] = w, () => {
1773
1785
  };
1774
1786
  }
1775
1787
  return p.on(() => {
1776
- h(p, g), m === 0 ? u.value = c.every((w) => w) : m--;
1788
+ u(p, g), m === 0 ? h.value = c.every((w) => w) : m--;
1777
1789
  });
1778
1790
  });
1779
- return u.on((p) => {
1780
- a == null || a(!0), a = null, p ? a = f(e(...l))(n) : a = f((t == null ? void 0 : t()) ?? _)(n);
1791
+ return h.on((p) => {
1792
+ a == null || a(!0), a = null, p ? a = f(e(...l))(n) : a = f((t == null ? void 0 : t()) ?? E)(n);
1781
1793
  }), (p) => {
1782
- l.forEach((g) => g == null ? void 0 : g.dispose()), u.dispose(), b.forEach((g) => g()), a == null || a(p), n.clear(p);
1794
+ l.forEach((g) => g == null ? void 0 : g.dispose()), h.dispose(), T.forEach((g) => g()), a == null || a(p), n.clear(p);
1783
1795
  };
1784
- }, Z = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), xe = (s, e, t) => Et(
1796
+ }, Z = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), xe = (s, e, t) => vt(
1785
1797
  y.map(s, (r) => r ? !0 : null),
1786
1798
  e,
1787
1799
  t ?? void 0
@@ -1799,18 +1811,18 @@ const ht = /* @__PURE__ */ new Set([
1799
1811
  f(e(r)),
1800
1812
  xe(
1801
1813
  r.isLast,
1802
- () => _,
1814
+ () => E,
1803
1815
  () => t(n)
1804
1816
  )
1805
1817
  );
1806
1818
  }) : d.is(s) ? (r) => {
1807
1819
  const n = r.makeRef(), i = [], l = s.on((c) => {
1808
1820
  const a = i.splice(c);
1809
- for (const u of a)
1810
- u(!0);
1811
- for (let u = i.length; u < c; u++) {
1812
- const h = new Y(u, s);
1813
- i.push(f(e(h))(n));
1821
+ for (const h of a)
1822
+ h(!0);
1823
+ for (let h = i.length; h < c; h++) {
1824
+ const u = new Y(h, s);
1825
+ i.push(f(e(u))(n));
1814
1826
  }
1815
1827
  });
1816
1828
  return (c) => {
@@ -1844,7 +1856,7 @@ const ht = /* @__PURE__ */ new Set([
1844
1856
  }
1845
1857
  return () => {
1846
1858
  };
1847
- }, Ss = (s) => (e) => {
1859
+ }, bs = (s) => (e) => {
1848
1860
  if (e.isHeadlessDOM()) {
1849
1861
  const t = s(e);
1850
1862
  if (t)
@@ -1852,7 +1864,7 @@ const ht = /* @__PURE__ */ new Set([
1852
1864
  }
1853
1865
  return () => {
1854
1866
  };
1855
- }, bs = (s) => wt((e) => s(e.element)), As = (s, e) => {
1867
+ }, Ss = (s) => wt((e) => s(e.element)), As = (s, e) => {
1856
1868
  if (d.is(s)) {
1857
1869
  const t = s;
1858
1870
  return (r) => {
@@ -1869,7 +1881,7 @@ const ht = /* @__PURE__ */ new Set([
1869
1881
  };
1870
1882
  }
1871
1883
  return f(e(s));
1872
- }, _s = (s, e, t = () => _) => G(
1884
+ }, Es = (s, e, t = () => E) => G(
1873
1885
  y.map(
1874
1886
  s,
1875
1887
  (r) => r.length > 0 ? { notEmpty: r } : { whenEmpty: null }
@@ -1878,10 +1890,10 @@ const ht = /* @__PURE__ */ new Set([
1878
1890
  notEmpty: (r) => e(r),
1879
1891
  whenEmpty: () => t()
1880
1892
  }
1881
- ), vs = (s, e) => (t) => {
1893
+ ), _s = (s, e) => (t) => {
1882
1894
  const r = t.makePortal(s);
1883
1895
  return Q(f(e), r);
1884
- }, Ct = (s) => Symbol(s), De = (s, e) => (t) => f(e)(t.withProviders(s)), Es = (...s) => s.length > 0 ? s.reduceRight((e, t) => (r) => e(t(r))) : f, Pt = (s, e, t) => De({ [s]: e }, f(t)), ws = (s, e) => De(s, f(e)), Me = Ct("Probe"), P = /* @__PURE__ */ new Map(), Lt = ({
1896
+ }, Ct = (s) => Symbol(s), De = (s, e) => (t) => f(e)(t.withProviders(s)), vs = (...s) => s.length > 0 ? s.reduceRight((e, t) => (r) => e(t(r))) : f, Pt = (s, e, t) => De({ [s]: e }, f(t)), ws = (s, e) => De(s, f(e)), Me = Ct("Probe"), P = /* @__PURE__ */ new Map(), Lt = ({
1885
1897
  identifier: s,
1886
1898
  callback: e = () => {
1887
1899
  },
@@ -1906,7 +1918,7 @@ const ht = /* @__PURE__ */ new Set([
1906
1918
  Z(() => clearTimeout(n)),
1907
1919
  Pt(Me, i, t)
1908
1920
  );
1909
- }, xt = (s, e) => vt(Me, (t) => {
1921
+ }, xt = (s, e) => _t(Me, (t) => {
1910
1922
  const r = P.get(s);
1911
1923
  return r == null ? e(() => {
1912
1924
  }) : (clearTimeout(r.timeoutId), r.counter++, e(() => t(s)));
@@ -1949,37 +1961,37 @@ export {
1949
1961
  L as Computed,
1950
1962
  hs as Conjunction,
1951
1963
  gs as DOMNode,
1952
- ve as El,
1953
- Ee as ElNS,
1964
+ _e as El,
1965
+ ve as ElNS,
1954
1966
  Y as ElementPosition,
1955
- _ as Empty,
1956
- Et as Ensure,
1967
+ E as Empty,
1968
+ vt as Ensure,
1957
1969
  ms as EnsureAll,
1958
1970
  Ts as ForEach,
1959
1971
  S as Fragment,
1960
1972
  qt as HeadlessAdapter,
1961
1973
  O as HeadlessContext,
1962
1974
  at as HeadlessElement,
1963
- be as HeadlessPortal,
1975
+ Se as HeadlessPortal,
1964
1976
  ut as HeadlessText,
1965
1977
  As as MapSignal,
1966
1978
  le as MemoryStore,
1967
- _s as NotEmpty,
1979
+ Es as NotEmpty,
1968
1980
  wt as OnBrowserCtx,
1969
1981
  yt as OnChecked,
1970
1982
  ps as OnCtx,
1971
1983
  Z as OnDispose,
1972
- bs as OnElement,
1973
- Ss as OnHeadlessCtx,
1984
+ Ss as OnElement,
1985
+ bs as OnHeadlessCtx,
1974
1986
  G as OneOf,
1975
1987
  Pe as OneOfField,
1976
1988
  cs as OneOfKind,
1977
1989
  as as OneOfTuple,
1978
1990
  us as OneOfType,
1979
- _t as OneOfValue,
1980
- vs as Portal,
1981
- R as Prop,
1982
- Es as Provide,
1991
+ Et as OneOfValue,
1992
+ _s as Portal,
1993
+ N as Prop,
1994
+ vs as Provide,
1983
1995
  Cs as ProvideGlobalProbe,
1984
1996
  Lt as ProvideProbe,
1985
1997
  ge as ProviderNotFoundError,
@@ -1992,7 +2004,7 @@ export {
1992
2004
  fs as Use,
1993
2005
  Ps as UseGlobalProbe,
1994
2006
  xt as UseProbe,
1995
- vt as UseProvider,
2007
+ _t as UseProvider,
1996
2008
  ds as UseProviders,
1997
2009
  y as Value,
1998
2010
  xe as When,
@@ -2003,10 +2015,10 @@ export {
2003
2015
  pe as _isElement,
2004
2016
  Je as _makeGetter,
2005
2017
  We as _makeSetter,
2006
- N as _removeDOMNode,
2007
- _e as _signalText,
2018
+ R as _removeDOMNode,
2019
+ Ee as _signalText,
2008
2020
  Ae as _staticText,
2009
- Rt as animateSignal,
2021
+ Nt as animateSignal,
2010
2022
  Ue as animateSignals,
2011
2023
  Wt as aria,
2012
2024
  M as attr,
@@ -2016,24 +2028,24 @@ export {
2016
2028
  ss as emitStopImmediatePropagation,
2017
2029
  ts as emitStopPropagation,
2018
2030
  Tt as emitValue,
2019
- bt as emitValueAsDate,
2031
+ St as emitValueAsDate,
2020
2032
  At as emitValueAsDateTime,
2021
- St as emitValueAsNumber,
2033
+ bt as emitValueAsNumber,
2022
2034
  je as endInterpolate,
2023
2035
  oe as getWindow,
2024
2036
  qe as guessInterpolate,
2025
2037
  Xt as html,
2026
2038
  Yt as input,
2027
2039
  Ve as interpolateDate,
2028
- Re as interpolateNumber,
2029
- Ne as interpolateString,
2040
+ Ne as interpolateNumber,
2041
+ Re as interpolateString,
2030
2042
  kt as localStorageProp,
2031
2043
  z as makeComputed,
2032
2044
  Ht as makeComputedOf,
2033
- Nt as makeComputedRecord,
2045
+ Rt as makeComputedRecord,
2034
2046
  Be as makeEffect,
2035
2047
  $t as makeEffectOf,
2036
- E as makeProp,
2048
+ v as makeProp,
2037
2049
  Ct as makeProviderMark,
2038
2050
  W as makeSignal,
2039
2051
  Qt as math,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/dom",
3
- "version": "25.0.0",
3
+ "version": "25.1.1",
4
4
  "type": "module",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
@@ -10,7 +10,7 @@ import { Value } from '../std/value';
10
10
  * @returns A function that can be called to clear the rendered node.
11
11
  * @public
12
12
  */
13
- export declare const renderWithContext: (renderable: Renderable, ctx: DOMContext) => () => void;
13
+ export declare const renderWithContext: (renderable: Renderable, ctx: DOMContext) => (removeTree?: boolean) => void;
14
14
  /**
15
15
  * Options for rendering.
16
16
  * @public
@@ -24,6 +24,10 @@ export type RenderOptions = {
24
24
  * Whether to clear the document before rendering. This is useful when the page has been pre-rendered on the server.
25
25
  */
26
26
  clear?: boolean;
27
+ /**
28
+ * Whether to dispose the renderable when the parent element is removed from the DOM.
29
+ */
30
+ disposeWithParent?: boolean;
27
31
  };
28
32
  /**
29
33
  * Renders a `Renderable` node into a specified parent element or selector.
@@ -35,7 +39,7 @@ export type RenderOptions = {
35
39
  * @throws Throws a `RenderingError` if the parent element cannot be found by the provided selector.
36
40
  * @public
37
41
  */
38
- export declare const render: (node: Renderable, parent: Node | string, { doc, clear }?: RenderOptions) => () => void;
42
+ export declare const render: (node: Renderable, parent: Node | string, { doc, clear, disposeWithParent }?: RenderOptions) => () => void;
39
43
  /**
40
44
  * Runs a renderable function in a headless environment.
41
45
  *
@@ -50,7 +54,7 @@ export declare const runHeadless: (makeRenderable: () => Renderable, { startUrl,
50
54
  startUrl?: Value<string>;
51
55
  selector?: string;
52
56
  }) => {
53
- clear: () => void;
57
+ clear: (removeTree?: boolean) => void;
54
58
  root: HeadlessPortal;
55
59
  currentURL: import('..').Prop<string>;
56
60
  };