@tempots/dom 25.1.2 → 25.1.3-next.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)),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(d(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;
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)),be=(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 ve=(s,e,t)=>s+(e-s)*t,Ee=97,Pe=(s,e,t)=>{const r=Math.max(s.length,e.length);let n="";for(let i=0;i<r;i++){let l=s.charCodeAt(i);isNaN(l)&&(l=Ee);let a=e.charCodeAt(i);isNaN(a)&&(a=Ee),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"?ve:typeof s=="string"?Pe:s instanceof Date?_e:Ce;var M;class F{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");be(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)=>{if(this._disposed)return;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=v(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(v(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||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 N=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},v=(s,e=(t,r)=>t===r)=>new N(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}):v(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 N(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=v(s,l);m.onDispose(()=>{g!==null&&cancelAnimationFrame(g)}),m.onDispose(p.dispose),t.forEach(A=>{A.setDerivative(p),A.onDispose(m.dispose)});const _=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(_),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)},De=new Set(["checked","disabled","hidden"]),Le=new Set(["selected"]),Me=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),ke=new Set(["valueAsDate"]),Ne=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),He=(s,e)=>Le.has(s)?t=>{t==null||t!==!0?e.removeAttribute(s):e.setAttribute(s,"")}:De.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}:Ne.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},Ie=(s,e)=>Le.has(s)?()=>e.hasAttribute(s):De.has(s)?()=>!!e[s]:Me.has(s)?()=>Number(e[s]):ke.has(s)?()=>e[s]:Ne.has(s)?()=>String(e[s]):()=>e.getAttribute(s),H=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?H(this.reference):H(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:Ie(e,this.element),set:He(e,this.element)}));this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t){return new 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",I="data-tts-class",U="data-tts-style",W="data-tts-html",G="data-tts-text",J="data-tts-attrs";class bt{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,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 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(H)},Et=s=>{const e=s.getAttribute(I);s.removeAttribute(I),e!=null&&s.setAttribute("class",e)},At=()=>{document.querySelectorAll(`[${I}]`).forEach(e=>Et(e))},vt=s=>{const e=s.getAttribute(W);s.removeAttribute(W),e!=null&&(s.innerHTML=e)},Pt=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>vt(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)})}},Dt=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>xt(e))},Lt=()=>{St(),At(),Ct(),Pt(),Ot(),Dt()},S=Symbol("class"),P=Symbol("style"),D=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[P]!=null);o(this,"hasAttributes",()=>Object.keys(this.properties).length>0);o(this,"hasHandlers",()=>this.properties[D]!=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[D]??{})[e]??[]).forEach(n=>n(t))});o(this,"click",()=>{this.trigger("click",{})});o(this,"on",(e,t,r)=>{var a;const n=(a=this.properties)[D]??(a[D]={}),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[D]):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===P?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[P]??(n[P]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[P])});o(this,"getStyle",e=>{var t;return((t=this.properties[P])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[P]??{});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;"),Nt=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(" ")}"`:Ht.has(c)?` ${c}`:c==="innerHTML"?(i=h,""):c==="innerText"?(i=Nt(h),""):` ${c}="${kt(h)}"`).join(""),a=t?` ${ne}`:"";return It.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 Ht=new Set(["checked","disabled","multiple","readonly","required","selected"]),It=new Set(["img","br","hr","input","link","meta"]),oe=s=>e=>e.makeChildText(s).clear,le=s=>e=>{const t=e.makeChildText(s.value),r=s.on(t.setText);return n=>{r(),t.clear(n)}},$t=s=>f.is(s)?le(s):oe(s),b=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},E=()=>()=>{},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 E;if(Array.isArray(s))return b(...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()):E,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>E;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)},Qt=s=>e=>{const t=e.target;if(t.value===""){s(null);return}const r=t.value.split("-"),n=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));s(n)},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)},Zt=s=>e=>{const t=e.target;if(t.value===""){s(null);return}const r=t.value.split("T"),n=r[0].split("-"),i=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=r[1].split(":");i.setHours(Number(l[0])),i.setMinutes(Number(l[1])),i.setSeconds(Number(l[2])),s(i)},Kt=s=>e=>{const t=e.target;s(t.checked)},es=s=>e=>{e.preventDefault(),s()},ts=s=>e=>{e.stopPropagation(),s()},ss=s=>e=>{e.stopImmediatePropagation(),s()},rs=(s,e="input")=>b(x.valueAsDate(s),j[e](Xe(s.set))),ns=(s,e="input")=>b(x.valueAsDate(s),j[e](Ye(s.set))),is=(s,e="input")=>b(x.valueAsNumber(s),j[e](Je(s.set))),os=(s,e="input")=>b(x.value(s),j[e](Ge(s.set))),ls=s=>b(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){c=u,l==null||l.dispose(),i==null||i(!0),l=s.map(T=>T[u]);const g=e[u](l);i=d(g)(n)}});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),as=(s,e)=>he(s,"kind",e),cs=(s,e)=>{const t=y.map(s,([r,n])=>({[r]:n}));return q(t,e)},us=(s,e)=>he(s,"type",e),ze=(s,e)=>q(y.map(s,t=>({[t]:!0})),e),hs=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return 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)},ds=(s,e)=>t=>{const r=[],n=Object.entries(s).reduce((i,[l,a])=>(r.push(a(c=>(Reflect.set(i,l,c),null))(t)),i),{});return r.push(d(e(n))(t)),i=>{r.forEach(l=>l(i))}},Ze=(s,e)=>Qe([s],t=>d(e(t[s]))),fs=(s,e)=>Qe(s,t=>d(e(t))),ps=s=>e=>{const t=s(e);return t==null?()=>{}:d(t)(e)},ms=s=>e=>(e.appendOrInsert(s),t=>{t&&H(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())??E)(i),a=!1,c==null||c.dispose(),c=null):(c==null?c=v(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):E}return d(e($(r)))}},gs=(...s)=>(e,t)=>r=>{const n=r.makeRef();if(s.some(p=>!f.is(p)&&p==null))return(t!=null?d(t==null?void 0:t()):E)(n);const l=s.map(()=>null),a=s.map(p=>f.is(p)?p.value!=null:p!=null);let c=null;const h=v(a.every(p=>p)),u=(p,m)=>{if(p.value!=null){if(l[m]==null){const _=v(p.value);l[m]=_}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);return l[m]=_,()=>{}}return p.on(()=>{u(p,m),g===0?h.value=a.every(_=>_):g--})});return h.on(p=>{c==null||c(!0),c=null,p?c=d(e(...l))(n):c=d((t==null?void 0:t())??E)(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),ys=(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 b(Q(n.dispose),d(e(r)),de(r.isLast,()=>E,()=>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)}}:b(...Array.from({length:s},(r,n)=>n).map(r=>d(e(new F(r,$(s)))))),Ts=(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 b(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()=>{}},bs=s=>e=>{if(e.isHeadlessDOM()){const t=s(e);if(t)return d(t)(e)}return()=>{}},Ss=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))},As=(s,e,t=()=>E)=>q(y.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),vs=(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)),Ps=(...s)=>s.length>0?s.reduceRight((e,t)=>r=>e(t(r))):d,rt=(s,e,t)=>st({[s]:e},d(t)),_s=(s,e)=>st(s,d(e)),pe=tt("Probe"),L=new Map,nt=({identifier:s,callback:e=()=>{},child:t,timeout:r=10})=>{if(L.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>e("timeout"),r);L.set(s,{counter:0,timeoutId:n});const i=l=>{clearTimeout(n);const a=L.get(l);if(a==null)throw new Error(`Probe not found: ${l.description}`);--a.counter===0?(e("resolved"),L.delete(l)):L.set(l,a)};return b(Q(()=>clearTimeout(n)),rt(pe,i,t))},it=(s,e)=>Ze(pe,t=>{const r=L.get(s);return r==null?e(()=>{}):(clearTimeout(r.timeoutId),r.counter++,e(()=>t(s)))}),ot=Symbol("globalProbe"),Cs=({callback:s,timeout:e},t)=>nt({identifier:ot,callback:s,child:t,timeout:e}),ws=s=>it(ot,s),Os=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},xs=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},Ds=new Proxy({},{get:(s,e)=>t=>f.is(t)?xs(e,t):Os(e,t)});exports.Async=zt;exports.BindChecked=ls;exports.BindDate=rs;exports.BindDateTime=ns;exports.BindNumber=is;exports.BindText=os;exports.BrowserContext=w;exports.CLASS_PLACEHOLDER_ATTR=I;exports.Computed=C;exports.Conjunction=hs;exports.DOMNode=ms;exports.El=ae;exports.ElNS=ce;exports.ElementPosition=F;exports.Empty=E;exports.Ensure=Ke;exports.EnsureAll=gs;exports.ForEach=Ts;exports.Fragment=b;exports.HeadlessAdapter=bt;exports.HeadlessContext=O;exports.HeadlessElement=Be;exports.HeadlessPortal=ie;exports.HeadlessText=Fe;exports.MapSignal=Es;exports.MemoryStore=ee;exports.NotEmpty=As;exports.OnBrowserCtx=et;exports.OnChecked=We;exports.OnCtx=ps;exports.OnDispose=Q;exports.OnElement=Ss;exports.OnHeadlessCtx=bs;exports.OneOf=q;exports.OneOfField=he;exports.OneOfKind=as;exports.OneOfTuple=cs;exports.OneOfType=us;exports.OneOfValue=ze;exports.Portal=vs;exports.Prop=N;exports.Provide=Ps;exports.ProvideGlobalProbe=Cs;exports.ProvideProbe=nt;exports.ProviderNotFoundError=re;exports.RenderingError=Re;exports.Repeat=fe;exports.Signal=f;exports.Task=ue;exports.TextNode=$t;exports.Unless=ys;exports.Use=ds;exports.UseGlobalProbe=ws;exports.UseProbe=it;exports.UseProvider=Ze;exports.UseProviders=fs;exports.Value=y;exports.When=de;exports.WithProvider=rt;exports.WithProviders=_s;exports._NODE_PLACEHOLDER_ATTR=ne;exports._getSelfOrParentElement=$e;exports._isElement=se;exports._makeGetter=Ie;exports._makeSetter=He;exports._removeDOMNode=H;exports._signalText=le;exports._staticText=oe;exports.animateSignal=mt;exports.animateSignals=xe;exports.aria=qt;exports.attr=x;exports.dataAttr=jt;exports.emitChecked=Kt;exports.emitPreventDefault=es;exports.emitStopImmediatePropagation=ss;exports.emitStopPropagation=ts;exports.emitValue=Ge;exports.emitValueAsDate=Xe;exports.emitValueAsDateTime=Ye;exports.emitValueAsNullableDate=Qt;exports.emitValueAsNullableDateTime=Zt;exports.emitValueAsNumber=Je;exports.endInterpolate=Ce;exports.getWindow=K;exports.guessInterpolate=we;exports.html=Ut;exports.input=Wt;exports.interpolateDate=_e;exports.interpolateNumber=ve;exports.interpolateString=Pe;exports.localStorageProp=ft;exports.makeComputed=Y;exports.makeComputedOf=ht;exports.makeComputedRecord=gt;exports.makeEffect=Oe;exports.makeEffectOf=dt;exports.makeProp=v;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=Lt;exports.runHeadless=Tt;exports.sessionStorageProp=pt;exports.storedProp=te;exports.style=Ds;exports.svg=Jt;exports.svgAttr=Bt;
package/index.js CHANGED
@@ -1,11 +1,11 @@
1
- var ke = Object.defineProperty;
1
+ var $e = Object.defineProperty;
2
2
  var te = (s) => {
3
3
  throw TypeError(s);
4
4
  };
5
- var Ie = (s, e, t) => e in s ? ke(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
6
- var o = (s, e, t) => Ie(s, typeof e != "symbol" ? e + "" : e, t), se = (s, e, t) => e.has(s) || te("Cannot " + t);
5
+ var ke = (s, e, t) => e in s ? $e(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
6
+ var o = (s, e, t) => ke(s, typeof e != "symbol" ? e + "" : e, t), 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 Ne = (s, e, t) => s + (e - s) * t;
8
+ const Ie = (s, e, t) => s + (e - s) * t;
9
9
  const Re = (s, e, t) => {
10
10
  const r = Math.max(s.length, e.length);
11
11
  let n = "";
@@ -16,8 +16,8 @@ const Re = (s, e, t) => {
16
16
  isNaN(c) && (c = 97), n += String.fromCharCode(l + (c - l) * t);
17
17
  }
18
18
  return n;
19
- }, 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
- var D;
19
+ }, Ve = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), je = (s, e) => e, qe = (s) => typeof s == "number" ? Ie : typeof s == "string" ? Re : s instanceof Date ? Ve : je;
20
+ var O;
21
21
  class Y {
22
22
  /**
23
23
  * Creates a new instance of `ElementPosition`.
@@ -44,7 +44,7 @@ class Y {
44
44
  * @returns `true` if the counter is odd, `false` otherwise.
45
45
  */
46
46
  o(this, "isOdd");
47
- re(this, D);
47
+ re(this, O);
48
48
  o(this, "dispose", () => {
49
49
  this.total.dispose();
50
50
  });
@@ -55,10 +55,10 @@ class Y {
55
55
  * @returns `true` if the element is the last element, `false` otherwise.
56
56
  */
57
57
  get isLast() {
58
- return X(this, D) == null && ne(this, D, this.total.map((e) => this.counter === e)), X(this, D);
58
+ return X(this, O) == null && ne(this, O, this.total.map((e) => this.counter === e)), X(this, O);
59
59
  }
60
60
  }
61
- D = new WeakMap();
61
+ O = new WeakMap();
62
62
  const H = class H {
63
63
  /**
64
64
  * Represents a signal with a value of type T.
@@ -124,6 +124,7 @@ const H = class H {
124
124
  * @internal
125
125
  */
126
126
  o(this, "_setAndNotify", (e, t) => {
127
+ if (this._disposed) return;
127
128
  const r = this._value, n = this.equals(r, e);
128
129
  n || (this._value = e), (t || !n) && this._onValueListeners.forEach((i) => i(e, r));
129
130
  });
@@ -255,7 +256,7 @@ const H = class H {
255
256
  * @returns A property that holds the mapped value and can be observed for changes.
256
257
  */
257
258
  o(this, "mapAsync", (e, t, r, n = (i, l) => i === l) => {
258
- const i = v(t, n);
259
+ const i = _(t, n);
259
260
  let l = 0, c = new AbortController();
260
261
  return i.onDispose(
261
262
  this.on(async (a) => {
@@ -305,7 +306,7 @@ const H = class H {
305
306
  o(this, "deriveProp", ({
306
307
  autoDisposeProp: e = !0,
307
308
  equals: t
308
- } = {}) => this.feedProp(v(this.get(), t), e));
309
+ } = {}) => this.feedProp(_(this.get(), t), e));
309
310
  /**
310
311
  * 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
312
  * @returns A new signal that emits the same values as the current signal.
@@ -418,7 +419,7 @@ class L extends d {
418
419
  o(this, "_scheduleNotify", () => {
419
420
  const t = ++this._scheduleCount;
420
421
  Fe(() => {
421
- this._scheduleCount !== t || this._disposed !== !1 || this._isDirty && (this._isDirty = !1, this._setAndNotify(this._fn(), !1));
422
+ this._scheduleCount !== t || this._disposed || this._isDirty && (this._isDirty = !1, this._setAndNotify(this._fn(), !1));
422
423
  });
423
424
  });
424
425
  /** {@inheritDoc Signal.get} */
@@ -526,7 +527,7 @@ o(U, "is", (t) => (
526
527
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
527
528
  t != null && t.$__prop__ === !0
528
529
  ));
529
- let N = U;
530
+ let I = U;
530
531
  const z = (s, e, t = (r, n) => r === n) => {
531
532
  const r = new L(s, t);
532
533
  return e.forEach((n) => n.setDerivative(r)), r;
@@ -545,7 +546,7 @@ const z = (s, e, t = (r, n) => r === n) => {
545
546
  n.dispose(), t.abortSignal != null && t.abortSignal.removeEventListener("abort", i);
546
547
  };
547
548
  return t.abortSignal != null && t.abortSignal.addEventListener("abort", i), i;
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
+ }, _ = (s, e = (t, r) => t === r) => new I(s, e), W = (s, e = (t, r) => t === r) => new d(s, e), oe = () => typeof window < "u" ? window : void 0, y = {
549
550
  /**
550
551
  * Maps a value or a Signal to a new value.
551
552
  * If the value is a Signal, it returns a new Signal with the mapped value.
@@ -615,7 +616,7 @@ const z = (s, e, t = (r, n) => r === n) => {
615
616
  deriveProp: (s, {
616
617
  autoDisposeProp: e = !0,
617
618
  equals: t
618
- } = {}) => d.is(s) ? s.deriveProp({ autoDisposeProp: e, equals: t }) : v(s, t)
619
+ } = {}) => d.is(s) ? s.deriveProp({ autoDisposeProp: e, equals: t }) : _(s, t)
619
620
  }, Ht = (...s) => (e, t) => {
620
621
  const r = s.filter((n) => d.is(n));
621
622
  return z(
@@ -623,7 +624,7 @@ const z = (s, e, t = (r, n) => r === n) => {
623
624
  r,
624
625
  t
625
626
  );
626
- }, $t = (...s) => (e, t = {}) => {
627
+ }, Nt = (...s) => (e, t = {}) => {
627
628
  const r = s.filter((n) => d.is(n));
628
629
  return Be(
629
630
  () => e(...s.map(y.get)),
@@ -659,20 +660,20 @@ const ce = ({
659
660
  equals: i = (c, a) => c === a,
660
661
  onLoad: l = (c) => c
661
662
  }) => {
662
- const c = t.getItem(s), a = new N(
663
+ const c = t.getItem(s), a = new I(
663
664
  c != null ? l(n(c)) : typeof e == "function" ? e() : e,
664
665
  i
665
666
  );
666
667
  return a.on((h) => {
667
668
  t.setItem(s, r(h));
668
669
  }), a;
669
- }, kt = (s) => {
670
+ }, $t = (s) => {
670
671
  var e;
671
672
  return ce({
672
673
  ...s,
673
674
  store: ((e = oe()) == null ? void 0 : e.localStorage) ?? new le()
674
675
  });
675
- }, It = (s) => {
676
+ }, kt = (s) => {
676
677
  var e;
677
678
  return ce({
678
679
  ...s,
@@ -683,24 +684,24 @@ function ie(s) {
683
684
  return typeof requestAnimationFrame == "function" ? requestAnimationFrame(s) : setTimeout(s, 0);
684
685
  }
685
686
  const Ue = (s, e, t, r) => {
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, h = e(), u = performance.now(), m = null, T = !0;
688
- const p = new L(e, l), g = v(s, l);
687
+ const n = (r == null ? void 0 : r.duration) ?? 300, i = (r == null ? void 0 : r.easing) ?? ((S) => S), l = (r == null ? void 0 : r.equals) ?? ((S, k) => S === k);
688
+ let c = r == null ? void 0 : r.interpolate, a = s, h = e(), u = performance.now(), m = null, b = !0;
689
+ const p = new L(e, l), g = _(s, l);
689
690
  g.onDispose(() => {
690
691
  m !== null && cancelAnimationFrame(m);
691
- }), g.onDispose(p.dispose), t.forEach((A) => {
692
- A.setDerivative(p), A.onDispose(g.dispose);
692
+ }), g.onDispose(p.dispose), t.forEach((S) => {
693
+ S.setDerivative(p), S.onDispose(g.dispose);
693
694
  });
694
- const w = (A) => {
695
- h = A, u = performance.now(), a = g.value, T && (T = !1, m = ie(K));
695
+ const w = (S) => {
696
+ h = S, u = performance.now(), a = g.value, b && (b = !1, m = ie(K));
696
697
  }, K = () => {
697
- const I = (performance.now() - u) / y.get(n), $e = i(I);
698
+ const k = (performance.now() - u) / y.get(n), Ne = i(k);
698
699
  c == null && (c = qe(a));
699
- let ee = c(a, h, $e);
700
- I >= 1 ? (T = !0, ee = h) : m = ie(K), g.set(ee);
700
+ let ee = c(a, h, Ne);
701
+ k >= 1 ? (b = !0, ee = h) : m = ie(K), g.set(ee);
701
702
  };
702
703
  return p.on(w), g;
703
- }, Nt = (s, e) => {
704
+ }, It = (s, e) => {
704
705
  const { initialValue: t, ...r } = e ?? {};
705
706
  return Ue(
706
707
  t ?? s.get(),
@@ -962,8 +963,8 @@ const Q = (s, e) => {
962
963
  const l = Ge(i), c = pe(i) ? void 0 : i, a = x.of(l, c), h = Q(s, a);
963
964
  let u;
964
965
  return n && (u = new MutationObserver((m) => {
965
- var T;
966
- (T = m[0]) == null || T.removedNodes.forEach((p) => {
966
+ var b;
967
+ (b = m[0]) == null || b.removedNodes.forEach((p) => {
967
968
  p === i && (h(i.nodeType !== Node.ELEMENT_NODE), u == null || u.disconnect());
968
969
  });
969
970
  }), u.observe(i.parentElement, {
@@ -977,7 +978,7 @@ const Q = (s, e) => {
977
978
  startUrl: e = "https://example.com",
978
979
  selector: t = ":root"
979
980
  } = {}) => {
980
- const r = y.toSignal(e).deriveProp(), n = new Se(t, void 0), i = new O(n, void 0, { currentURL: r }, {});
981
+ const r = y.toSignal(e).deriveProp(), n = new Ae(t, void 0), i = new D(n, void 0, { currentURL: r }, {});
981
982
  return {
982
983
  clear: Q(s(), i),
983
984
  root: n,
@@ -1003,7 +1004,7 @@ class qt {
1003
1004
  getInnerHTML: h,
1004
1005
  setInnerHTML: u,
1005
1006
  getInnerText: m,
1006
- setInnerText: T
1007
+ setInnerText: b
1007
1008
  }) {
1008
1009
  /**
1009
1010
  * Selects elements from the headless environment.
@@ -1145,7 +1146,7 @@ class qt {
1145
1146
  }
1146
1147
  });
1147
1148
  });
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;
1149
+ 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 = b;
1149
1150
  }
1150
1151
  }
1151
1152
  const Ye = () => {
@@ -1187,10 +1188,10 @@ const Ye = () => {
1187
1188
  document.querySelectorAll(`[${B}]`).forEach((e) => nt(e));
1188
1189
  }, Ft = () => {
1189
1190
  Ye(), Qe(), tt(), Ke(), rt(), it();
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 {
1191
+ }, T = Symbol("class"), v = Symbol("style"), C = Symbol("handler"), be = () => Math.random().toString(36).substring(2, 15), ot = (s) => s.replace(/<[^>]*>?/g, "");
1192
+ class Te {
1192
1193
  constructor(e) {
1193
- o(this, "id", Te());
1194
+ o(this, "id", be());
1194
1195
  o(this, "properties", {});
1195
1196
  o(this, "children", []);
1196
1197
  o(this, "isElement", () => !0);
@@ -1216,8 +1217,8 @@ class be {
1216
1217
  o(this, "getInnerText", () => this.properties.innerText ?? "");
1217
1218
  o(this, "hasInnerText", () => this.properties.innerText != null);
1218
1219
  o(this, "hasChildren", () => this.children.length > 0);
1219
- o(this, "hasClasses", () => this.properties[b] != null);
1220
- o(this, "hasStyles", () => this.properties[_] != null);
1220
+ o(this, "hasClasses", () => this.properties[T] != null);
1221
+ o(this, "hasStyles", () => this.properties[v] != null);
1221
1222
  o(this, "hasAttributes", () => Object.keys(this.properties).length > 0);
1222
1223
  o(this, "hasHandlers", () => this.properties[C] != null);
1223
1224
  o(this, "hasRenderableProperties", () => this.hasClasses() || this.hasAttributes() || this.hasStyles());
@@ -1252,7 +1253,7 @@ class be {
1252
1253
  var r;
1253
1254
  if (e.length === 0)
1254
1255
  return;
1255
- const t = (r = this.properties)[b] ?? (r[b] = []);
1256
+ const t = (r = this.properties)[T] ?? (r[T] = []);
1256
1257
  e.forEach((n) => {
1257
1258
  t.includes(n) || t.push(n);
1258
1259
  });
@@ -1261,29 +1262,29 @@ class be {
1261
1262
  var r;
1262
1263
  if (e.length === 0)
1263
1264
  return;
1264
- const t = (r = this.properties)[b] ?? (r[b] = []);
1265
+ const t = (r = this.properties)[T] ?? (r[T] = []);
1265
1266
  e.forEach((n) => {
1266
1267
  const i = t.indexOf(n);
1267
1268
  i !== -1 && t.splice(i, 1);
1268
- }), t.length === 0 && delete this.properties[b];
1269
+ }), t.length === 0 && delete this.properties[T];
1269
1270
  });
1270
- o(this, "getClasses", () => this.properties[b] ?? []);
1271
+ o(this, "getClasses", () => this.properties[T] ?? []);
1271
1272
  o(this, "getAttributes", () => Object.entries(this.properties).filter(
1272
1273
  ([e]) => !["innerText", "innerHTML"].includes(e)
1273
1274
  ));
1274
1275
  o(this, "getVisibleAttributes", () => Reflect.ownKeys(this.properties).flatMap(
1275
- (e) => e === b ? [["class", this.getClasses()]] : e === _ ? [["style", this.getStyles()]] : typeof e == "string" ? [[e, String(this.properties[e])]] : []
1276
+ (e) => e === T ? [["class", this.getClasses()]] : e === v ? [["style", this.getStyles()]] : typeof e == "string" ? [[e, String(this.properties[e])]] : []
1276
1277
  ));
1277
1278
  o(this, "setStyle", (e, t) => {
1278
1279
  var n;
1279
- const r = (n = this.properties)[_] ?? (n[_] = {});
1280
- r[e] = t, t === "" && (delete r[e], Object.keys(r).length === 0 && delete this.properties[_]);
1280
+ const r = (n = this.properties)[v] ?? (n[v] = {});
1281
+ r[e] = t, t === "" && (delete r[e], Object.keys(r).length === 0 && delete this.properties[v]);
1281
1282
  });
1282
1283
  o(this, "getStyle", (e) => {
1283
1284
  var t;
1284
- return ((t = this.properties[_]) == null ? void 0 : t[e]) ?? "";
1285
+ return ((t = this.properties[v]) == null ? void 0 : t[e]) ?? "";
1285
1286
  });
1286
- o(this, "getStyles", () => this.properties[_] ?? {});
1287
+ o(this, "getStyles", () => this.properties[v] ?? {});
1287
1288
  o(this, "makeAccessors", (e) => {
1288
1289
  const t = this.properties;
1289
1290
  return {
@@ -1295,7 +1296,7 @@ class be {
1295
1296
  }
1296
1297
  }
1297
1298
  const lt = (s) => s.replace(/"/g, "&quot;"), ct = (s) => s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1298
- class at extends be {
1299
+ class at extends Te {
1299
1300
  constructor(t, r, n) {
1300
1301
  super(n);
1301
1302
  o(this, "isPortal", () => !1);
@@ -1308,7 +1309,7 @@ class at extends be {
1308
1309
  this.tagName = t, this.namespace = r;
1309
1310
  }
1310
1311
  }
1311
- class Se extends be {
1312
+ class Ae extends Te {
1312
1313
  constructor(t, r) {
1313
1314
  super(r);
1314
1315
  o(this, "isPortal", () => !0);
@@ -1319,7 +1320,7 @@ class Se extends be {
1319
1320
  }
1320
1321
  class ut {
1321
1322
  constructor(e) {
1322
- o(this, "id", Te());
1323
+ o(this, "id", be());
1323
1324
  o(this, "isElement", () => !1);
1324
1325
  o(this, "isText", () => !0);
1325
1326
  o(this, "getText", () => this.text);
@@ -1327,7 +1328,7 @@ class ut {
1327
1328
  this.text = e;
1328
1329
  }
1329
1330
  }
1330
- class O {
1331
+ class D {
1331
1332
  constructor(e, t, r, n) {
1332
1333
  o(this, "appendOrInsert", (e) => {
1333
1334
  if (this.reference != null) {
@@ -1338,7 +1339,7 @@ class O {
1338
1339
  });
1339
1340
  o(this, "makeChildElement", (e, t) => {
1340
1341
  const r = new at(e, t, this.element);
1341
- return this.appendOrInsert(r), new O(
1342
+ return this.appendOrInsert(r), new D(
1342
1343
  r,
1343
1344
  void 0,
1344
1345
  this.container,
@@ -1347,7 +1348,7 @@ class O {
1347
1348
  });
1348
1349
  o(this, "makeChildText", (e) => {
1349
1350
  const t = new ut(e);
1350
- return this.appendOrInsert(t), new O(
1351
+ return this.appendOrInsert(t), new D(
1351
1352
  this.element,
1352
1353
  t,
1353
1354
  this.container,
@@ -1363,15 +1364,15 @@ class O {
1363
1364
  });
1364
1365
  o(this, "makeRef", () => this.makeChildText(""));
1365
1366
  o(this, "makePortal", (e) => {
1366
- const t = new Se(e, this.element);
1367
- return this.appendOrInsert(t), new O(
1367
+ const t = new Ae(e, this.element);
1368
+ return this.appendOrInsert(t), new D(
1368
1369
  t,
1369
1370
  void 0,
1370
1371
  this.container,
1371
1372
  this.providers
1372
1373
  );
1373
1374
  });
1374
- o(this, "withProviders", (e) => new O(this.element, this.reference, this.container, {
1375
+ o(this, "withProviders", (e) => new D(this.element, this.reference, this.container, {
1375
1376
  ...this.providers,
1376
1377
  ...e
1377
1378
  }));
@@ -1402,15 +1403,12 @@ const ht = /* @__PURE__ */ new Set([
1402
1403
  "readonly",
1403
1404
  "required",
1404
1405
  "selected"
1405
- ]), ft = /* @__PURE__ */ new Set(["img", "br", "hr", "input", "link", "meta"]), Ae = (s) => (e) => {
1406
- const t = e.makeChildText(s);
1407
- return (r) => t.clear(r);
1408
- }, Ee = (s) => (e) => {
1409
- const t = e.makeChildText(s.value), r = s.on((n) => t.setText(n));
1406
+ ]), ft = /* @__PURE__ */ new Set(["img", "br", "hr", "input", "link", "meta"]), Se = (s) => (e) => e.makeChildText(s).clear, Ee = (s) => (e) => {
1407
+ const t = e.makeChildText(s.value), r = s.on(t.setText);
1410
1408
  return (n) => {
1411
1409
  r(), t.clear(n);
1412
1410
  };
1413
- }, Bt = (s) => d.is(s) ? Ee(s) : Ae(s), S = (...s) => (e) => {
1411
+ }, Bt = (s) => d.is(s) ? Ee(s) : Se(s), A = (...s) => (e) => {
1414
1412
  const t = s.map((r) => f(r)(e));
1415
1413
  return (r) => {
1416
1414
  t.forEach((n) => n(r));
@@ -1426,12 +1424,12 @@ const ht = /* @__PURE__ */ new Set([
1426
1424
  return (n) => {
1427
1425
  r(), n && e.removeClasses(t), t.length = 0;
1428
1426
  };
1429
- }, $ = (s, e) => (t) => {
1427
+ }, N = (s, e) => (t) => {
1430
1428
  const { get: r, set: n } = t.makeAccessors(s), i = r();
1431
1429
  return n(e), (l) => {
1432
1430
  l && n(i);
1433
1431
  };
1434
- }, k = (s, e) => (t) => {
1432
+ }, $ = (s, e) => (t) => {
1435
1433
  const { get: r, set: n } = t.makeAccessors(s), i = r(), l = e.on(n);
1436
1434
  return (c) => {
1437
1435
  l(), c && n(i);
@@ -1452,10 +1450,10 @@ const ht = /* @__PURE__ */ new Set([
1452
1450
  */
1453
1451
  get: (s, e) => e === "class" ? (t) => d.is(t) ? pt(t) : dt(
1454
1452
  (t ?? "").split(" ").filter((r) => r.length > 0)
1455
- ) : (t) => d.is(t) ? k(
1453
+ ) : (t) => d.is(t) ? $(
1456
1454
  e,
1457
1455
  t
1458
- ) : $(
1456
+ ) : N(
1459
1457
  e,
1460
1458
  t
1461
1459
  )
@@ -1471,10 +1469,10 @@ const ht = /* @__PURE__ */ new Set([
1471
1469
  * @returns The renderable component for the specified attribute.
1472
1470
  *
1473
1471
  */
1474
- get: (s, e) => (t) => d.is(t) ? k(
1472
+ get: (s, e) => (t) => d.is(t) ? $(
1475
1473
  `data-${e}`,
1476
1474
  t
1477
- ) : $(`data-${e}`, t)
1475
+ ) : N(`data-${e}`, t)
1478
1476
  }
1479
1477
  ), Wt = new Proxy(
1480
1478
  {},
@@ -1487,10 +1485,10 @@ const ht = /* @__PURE__ */ new Set([
1487
1485
  * @returns The renderable component for the specified attribute.
1488
1486
  *
1489
1487
  */
1490
- get: (s, e) => (t) => d.is(t) ? k(
1488
+ get: (s, e) => (t) => d.is(t) ? $(
1491
1489
  `aria-${e}`,
1492
1490
  t
1493
- ) : $(
1491
+ ) : N(
1494
1492
  `aria-${e}`,
1495
1493
  t
1496
1494
  )
@@ -1506,10 +1504,10 @@ const ht = /* @__PURE__ */ new Set([
1506
1504
  * @returns The renderable component for the specified attribute.
1507
1505
  *
1508
1506
  */
1509
- get: (s, e) => (t) => d.is(t) ? k(
1507
+ get: (s, e) => (t) => d.is(t) ? $(
1510
1508
  e,
1511
1509
  t
1512
- ) : $(
1510
+ ) : N(
1513
1511
  e,
1514
1512
  t
1515
1513
  )
@@ -1524,10 +1522,10 @@ const ht = /* @__PURE__ */ new Set([
1524
1522
  * @returns The renderable component for the specified attribute.
1525
1523
  *
1526
1524
  */
1527
- get: (s, e) => (t) => d.is(t) ? k(
1525
+ get: (s, e) => (t) => d.is(t) ? $(
1528
1526
  e,
1529
1527
  t
1530
- ) : $(
1528
+ ) : N(
1531
1529
  e,
1532
1530
  t
1533
1531
  )
@@ -1536,20 +1534,20 @@ const ht = /* @__PURE__ */ new Set([
1536
1534
  if (s == null)
1537
1535
  return E;
1538
1536
  if (Array.isArray(s))
1539
- return S(...s.map(f));
1537
+ return A(...s.map(f));
1540
1538
  if (typeof s == "string")
1541
- return Ae(s);
1539
+ return Se(s);
1542
1540
  if (d.is(s))
1543
1541
  return Ee(s);
1544
1542
  if (typeof s == "function")
1545
1543
  return s;
1546
1544
  throw new Error(`Unknown type: '${typeof s}' for child: ${s}`);
1547
- }, _e = (s, ...e) => (t) => {
1545
+ }, ve = (s, ...e) => (t) => {
1548
1546
  const r = t.makeChildElement(s, void 0), n = e.map((i) => f(i)(r));
1549
1547
  return (i) => {
1550
1548
  n.forEach((l) => l(!1)), r.clear(i);
1551
1549
  };
1552
- }, ve = (s, e, ...t) => (r) => {
1550
+ }, _e = (s, e, ...t) => (r) => {
1553
1551
  const n = r.makeChildElement(s, e), i = t.map((l) => f(l)(n));
1554
1552
  return (l) => {
1555
1553
  i.forEach((c) => c(!1)), n.clear(l);
@@ -1562,7 +1560,7 @@ const ht = /* @__PURE__ */ new Set([
1562
1560
  * @param tagName - The HTML tag name.
1563
1561
  * @returns A renderable function that creates and appends the HTML element to the DOM.
1564
1562
  */
1565
- get: (s, e) => (...t) => _e(e, t.flatMap(f))
1563
+ get: (s, e) => (...t) => ve(e, t.flatMap(f))
1566
1564
  }
1567
1565
  ), Yt = new Proxy(
1568
1566
  {},
@@ -1572,7 +1570,7 @@ const ht = /* @__PURE__ */ new Set([
1572
1570
  * @param type - The input type name.
1573
1571
  * @returns A renderable function that creates and appends the HTMLInput element to the DOM.
1574
1572
  */
1575
- get: (s, e) => (...t) => _e("input", M.type(e), ...t)
1573
+ get: (s, e) => (...t) => ve("input", M.type(e), ...t)
1576
1574
  }
1577
1575
  ), gt = "http://www.w3.org/2000/svg", zt = new Proxy(
1578
1576
  {},
@@ -1582,7 +1580,7 @@ const ht = /* @__PURE__ */ new Set([
1582
1580
  * @param tagName - The SVG tag name.
1583
1581
  * @returns A renderable function that creates and appends the SVG element to the DOM.
1584
1582
  */
1585
- get: (s, e) => (...t) => ve(e, gt, t.flatMap(f))
1583
+ get: (s, e) => (...t) => _e(e, gt, t.flatMap(f))
1586
1584
  }
1587
1585
  ), mt = "http://www.w3.org/1998/Math/MathML", Qt = new Proxy(
1588
1586
  {},
@@ -1592,7 +1590,7 @@ const ht = /* @__PURE__ */ new Set([
1592
1590
  * @param tagName - The Math tag name.
1593
1591
  * @returns A renderable function that creates and appends the Math element to the DOM.
1594
1592
  */
1595
- get: (s, e) => (...t) => ve(e, mt, t.flatMap(f))
1593
+ get: (s, e) => (...t) => _e(e, mt, t.flatMap(f))
1596
1594
  }
1597
1595
  ), we = (s, e) => {
1598
1596
  if (typeof e == "function")
@@ -1630,13 +1628,13 @@ const ht = /* @__PURE__ */ new Set([
1630
1628
  */
1631
1629
  get: (s, e) => (t) => Ce(e, t)
1632
1630
  }
1633
- ), Tt = (s) => (e) => {
1631
+ ), bt = (s) => (e) => {
1634
1632
  const t = e.target;
1635
1633
  s(t.value);
1636
- }, bt = (s) => (e) => {
1634
+ }, Tt = (s) => (e) => {
1637
1635
  const t = e.target;
1638
1636
  s(t.valueAsNumber);
1639
- }, St = (s) => (e) => {
1637
+ }, At = (s) => (e) => {
1640
1638
  const t = e.target;
1641
1639
  if (t.value === "")
1642
1640
  return;
@@ -1646,7 +1644,19 @@ const ht = /* @__PURE__ */ new Set([
1646
1644
  Number(r[2].substring(0, 2))
1647
1645
  );
1648
1646
  s(n);
1649
- }, At = (s) => (e) => {
1647
+ }, Kt = (s) => (e) => {
1648
+ const t = e.target;
1649
+ if (t.value === "") {
1650
+ s(null);
1651
+ return;
1652
+ }
1653
+ const r = t.value.split("-"), n = new Date(
1654
+ Number(r[0]),
1655
+ Number(r[1]) - 1,
1656
+ Number(r[2].substring(0, 2))
1657
+ );
1658
+ s(n);
1659
+ }, St = (s) => (e) => {
1650
1660
  const t = e.target;
1651
1661
  if (t.value === "")
1652
1662
  return;
@@ -1656,16 +1666,28 @@ const ht = /* @__PURE__ */ new Set([
1656
1666
  Number(n[2])
1657
1667
  ), l = r[1].split(":");
1658
1668
  i.setHours(Number(l[0])), i.setMinutes(Number(l[1])), i.setSeconds(Number(l[2])), s(i);
1659
- }, Kt = (s) => (e) => {
1669
+ }, es = (s) => (e) => {
1670
+ const t = e.target;
1671
+ if (t.value === "") {
1672
+ s(null);
1673
+ return;
1674
+ }
1675
+ const r = t.value.split("T"), n = r[0].split("-"), i = new Date(
1676
+ Number(n[0]),
1677
+ Number(n[1]) - 1,
1678
+ Number(n[2])
1679
+ ), l = r[1].split(":");
1680
+ i.setHours(Number(l[0])), i.setMinutes(Number(l[1])), i.setSeconds(Number(l[2])), s(i);
1681
+ }, ts = (s) => (e) => {
1660
1682
  const t = e.target;
1661
1683
  s(t.checked);
1662
- }, es = (s) => (e) => {
1684
+ }, ss = (s) => (e) => {
1663
1685
  e.preventDefault(), s();
1664
- }, ts = (s) => (e) => {
1686
+ }, rs = (s) => (e) => {
1665
1687
  e.stopPropagation(), s();
1666
- }, ss = (s) => (e) => {
1688
+ }, ns = (s) => (e) => {
1667
1689
  e.stopImmediatePropagation(), s();
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) => {
1690
+ }, is = (s, e = "input") => A(M.valueAsDate(s), J[e](At(s.set))), os = (s, e = "input") => A(M.valueAsDate(s), J[e](St(s.set))), ls = (s, e = "input") => A(M.valueAsNumber(s), J[e](Tt(s.set))), cs = (s, e = "input") => A(M.value(s), J[e](bt(s.set))), as = (s) => A(M.checked(s), yt(s.set)), G = (s, e) => {
1669
1691
  if (d.is(s))
1670
1692
  return (r) => {
1671
1693
  const n = r.makeRef();
@@ -1674,9 +1696,9 @@ const ht = /* @__PURE__ */ new Set([
1674
1696
  let a;
1675
1697
  const h = c.on((u) => {
1676
1698
  if (u !== a) {
1677
- l == null || l.dispose(), i == null || i(!0), l = s.map((T) => T[u]);
1699
+ a = u, l == null || l.dispose(), i == null || i(!0), l = s.map((b) => b[u]);
1678
1700
  const m = e[u](l);
1679
- i = f(m)(n), a = u;
1701
+ i = f(m)(n);
1680
1702
  }
1681
1703
  });
1682
1704
  return (u) => {
@@ -1689,13 +1711,13 @@ const ht = /* @__PURE__ */ new Set([
1689
1711
  y.map(s, (r) => ({ [r[e]]: r })),
1690
1712
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1691
1713
  t
1692
- ), cs = (s, e) => Pe(s, "kind", e), as = (s, e) => {
1714
+ ), us = (s, e) => Pe(s, "kind", e), hs = (s, e) => {
1693
1715
  const t = y.map(s, ([r, n]) => ({ [r]: n }));
1694
1716
  return G(t, e);
1695
- }, us = (s, e) => Pe(s, "type", e), Et = (s, e) => G(
1717
+ }, fs = (s, e) => Pe(s, "type", e), Et = (s, e) => G(
1696
1718
  y.map(s, (t) => ({ [t]: !0 })),
1697
1719
  e
1698
- ), hs = (s, e = {}) => (t) => {
1720
+ ), ds = (s, e = {}) => (t) => {
1699
1721
  const r = (e == null ? void 0 : e.firstSeparator) ?? s, n = (e == null ? void 0 : e.lastSeparator) ?? s;
1700
1722
  return Et(
1701
1723
  t.map((i) => i.isFirst ? "first" : i.isLast ? "last" : "other"),
@@ -1714,7 +1736,7 @@ const ht = /* @__PURE__ */ new Set([
1714
1736
  {}
1715
1737
  );
1716
1738
  return f(e(r))(t);
1717
- }, fs = (s, e) => (t) => {
1739
+ }, ps = (s, e) => (t) => {
1718
1740
  const r = [], n = Object.entries(s).reduce(
1719
1741
  (i, [l, c]) => (r.push(
1720
1742
  c((a) => (Reflect.set(i, l, a), null))(t)
@@ -1724,13 +1746,13 @@ const ht = /* @__PURE__ */ new Set([
1724
1746
  return r.push(f(e(n))(t)), (i) => {
1725
1747
  r.forEach((l) => l(i));
1726
1748
  };
1727
- }, _t = (s, e) => Le([s], (t) => f(e(t[s]))), ds = (s, e) => Le(s, (t) => f(e(t))), ps = (s) => (e) => {
1749
+ }, vt = (s, e) => Le([s], (t) => f(e(t[s]))), gs = (s, e) => Le(s, (t) => f(e(t))), ms = (s) => (e) => {
1728
1750
  const t = s(e);
1729
1751
  return t == null ? () => {
1730
1752
  } : f(t)(e);
1731
- }, gs = (s) => (e) => (e.appendOrInsert(s), (t) => {
1753
+ }, ys = (s) => (e) => (e.appendOrInsert(s), (t) => {
1732
1754
  t && R(s);
1733
- }), vt = (s, e, t) => {
1755
+ }), _t = (s, e, t) => {
1734
1756
  if (d.is(s)) {
1735
1757
  const r = s;
1736
1758
  return (n) => {
@@ -1738,7 +1760,7 @@ const ht = /* @__PURE__ */ new Set([
1738
1760
  let l = () => {
1739
1761
  }, c = !1, a = null;
1740
1762
  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))(
1763
+ u == null ? (l(!0), l = f((t == null ? void 0 : t()) ?? E)(i), c = !1, a == null || a.dispose(), a = null) : (a == null ? a = _(u) : a.value = u, c || (l(!0), l = f(e(a))(
1742
1764
  i
1743
1765
  ), c = !0));
1744
1766
  });
@@ -1754,7 +1776,7 @@ const ht = /* @__PURE__ */ new Set([
1754
1776
  }
1755
1777
  return f(e(W(r)));
1756
1778
  }
1757
- }, ms = (...s) => (e, t) => (r) => {
1779
+ }, bs = (...s) => (e, t) => (r) => {
1758
1780
  const n = r.makeRef();
1759
1781
  if (s.some(
1760
1782
  (p) => !d.is(p) && p == null
@@ -1766,10 +1788,10 @@ const ht = /* @__PURE__ */ new Set([
1766
1788
  (p) => d.is(p) ? p.value != null : p != null
1767
1789
  );
1768
1790
  let a = null;
1769
- const h = v(c.every((p) => p)), u = (p, g) => {
1791
+ const h = _(c.every((p) => p)), u = (p, g) => {
1770
1792
  if (p.value != null) {
1771
1793
  if (l[g] == null) {
1772
- const w = v(p.value);
1794
+ const w = _(p.value);
1773
1795
  l[g] = w;
1774
1796
  } else
1775
1797
  l[g].value = p.value;
@@ -1778,9 +1800,9 @@ const ht = /* @__PURE__ */ new Set([
1778
1800
  c[g] = !1;
1779
1801
  };
1780
1802
  let m = s.length - 1;
1781
- const T = s.map((p, g) => {
1803
+ const b = s.map((p, g) => {
1782
1804
  if (!d.is(p)) {
1783
- const w = v(p);
1805
+ const w = _(p);
1784
1806
  return l[g] = w, () => {
1785
1807
  };
1786
1808
  }
@@ -1791,22 +1813,22 @@ const ht = /* @__PURE__ */ new Set([
1791
1813
  return h.on((p) => {
1792
1814
  a == null || a(!0), a = null, p ? a = f(e(...l))(n) : a = f((t == null ? void 0 : t()) ?? E)(n);
1793
1815
  }), (p) => {
1794
- l.forEach((g) => g == null ? void 0 : g.dispose()), h.dispose(), T.forEach((g) => g()), a == null || a(p), n.clear(p);
1816
+ l.forEach((g) => g == null ? void 0 : g.dispose()), h.dispose(), b.forEach((g) => g()), a == null || a(p), n.clear(p);
1795
1817
  };
1796
- }, Z = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), xe = (s, e, t) => vt(
1818
+ }, Z = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), xe = (s, e, t) => _t(
1797
1819
  y.map(s, (r) => r ? !0 : null),
1798
1820
  e,
1799
1821
  t ?? void 0
1800
- ), ys = (s, e, t) => xe(
1822
+ ), Ts = (s, e, t) => xe(
1801
1823
  y.map(s, (r) => !r),
1802
1824
  e,
1803
1825
  t
1804
- ), Oe = (s, e, t) => t != null ? Oe(s, (r) => {
1826
+ ), De = (s, e, t) => t != null ? De(s, (r) => {
1805
1827
  const n = new Y(
1806
1828
  r.index,
1807
1829
  r.total.map((i) => i - 1)
1808
1830
  );
1809
- return S(
1831
+ return A(
1810
1832
  Z(n.dispose),
1811
1833
  f(e(r)),
1812
1834
  xe(
@@ -1831,17 +1853,17 @@ const ht = /* @__PURE__ */ new Set([
1831
1853
  a(c);
1832
1854
  i.length = 0, n.clear(c);
1833
1855
  };
1834
- } : S(
1856
+ } : A(
1835
1857
  ...Array.from({ length: s }, (r, n) => n).map(
1836
1858
  (r) => f(e(new Y(r, W(s))))
1837
1859
  )
1838
- ), Ts = (s, e, t) => {
1860
+ ), As = (s, e, t) => {
1839
1861
  const r = y.map(s, (i) => i.length), n = y.toSignal(s);
1840
- return Oe(
1862
+ return De(
1841
1863
  r,
1842
1864
  (i) => {
1843
1865
  const l = n.map((c) => c[i.index]);
1844
- return S(
1866
+ return A(
1845
1867
  Z(l.dispose),
1846
1868
  f(e(l, i))
1847
1869
  );
@@ -1856,7 +1878,7 @@ const ht = /* @__PURE__ */ new Set([
1856
1878
  }
1857
1879
  return () => {
1858
1880
  };
1859
- }, bs = (s) => (e) => {
1881
+ }, Ss = (s) => (e) => {
1860
1882
  if (e.isHeadlessDOM()) {
1861
1883
  const t = s(e);
1862
1884
  if (t)
@@ -1864,7 +1886,7 @@ const ht = /* @__PURE__ */ new Set([
1864
1886
  }
1865
1887
  return () => {
1866
1888
  };
1867
- }, Ss = (s) => wt((e) => s(e.element)), As = (s, e) => {
1889
+ }, Es = (s) => wt((e) => s(e.element)), vs = (s, e) => {
1868
1890
  if (d.is(s)) {
1869
1891
  const t = s;
1870
1892
  return (r) => {
@@ -1881,7 +1903,7 @@ const ht = /* @__PURE__ */ new Set([
1881
1903
  };
1882
1904
  }
1883
1905
  return f(e(s));
1884
- }, Es = (s, e, t = () => E) => G(
1906
+ }, _s = (s, e, t = () => E) => G(
1885
1907
  y.map(
1886
1908
  s,
1887
1909
  (r) => r.length > 0 ? { notEmpty: r } : { whenEmpty: null }
@@ -1890,10 +1912,10 @@ const ht = /* @__PURE__ */ new Set([
1890
1912
  notEmpty: (r) => e(r),
1891
1913
  whenEmpty: () => t()
1892
1914
  }
1893
- ), _s = (s, e) => (t) => {
1915
+ ), ws = (s, e) => (t) => {
1894
1916
  const r = t.makePortal(s);
1895
1917
  return Q(f(e), r);
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 = ({
1918
+ }, Ct = (s) => Symbol(s), Oe = (s, e) => (t) => f(e)(t.withProviders(s)), Cs = (...s) => s.length > 0 ? s.reduceRight((e, t) => (r) => e(t(r))) : f, Pt = (s, e, t) => Oe({ [s]: e }, f(t)), Ps = (s, e) => Oe(s, f(e)), Me = Ct("Probe"), P = /* @__PURE__ */ new Map(), Lt = ({
1897
1919
  identifier: s,
1898
1920
  callback: e = () => {
1899
1921
  },
@@ -1914,28 +1936,28 @@ const ht = /* @__PURE__ */ new Set([
1914
1936
  throw new Error(`Probe not found: ${l.description}`);
1915
1937
  --c.counter === 0 ? (e("resolved"), P.delete(l)) : P.set(l, c);
1916
1938
  };
1917
- return S(
1939
+ return A(
1918
1940
  Z(() => clearTimeout(n)),
1919
1941
  Pt(Me, i, t)
1920
1942
  );
1921
- }, xt = (s, e) => _t(Me, (t) => {
1943
+ }, xt = (s, e) => vt(Me, (t) => {
1922
1944
  const r = P.get(s);
1923
1945
  return r == null ? e(() => {
1924
1946
  }) : (clearTimeout(r.timeoutId), r.counter++, e(() => t(s)));
1925
- }), He = Symbol("globalProbe"), Cs = ({
1947
+ }), He = Symbol("globalProbe"), Ls = ({
1926
1948
  callback: s,
1927
1949
  timeout: e
1928
- }, t) => Lt({ identifier: He, callback: s, child: t, timeout: e }), Ps = (s) => xt(He, s), Ot = (s, e) => (t) => {
1950
+ }, t) => Lt({ identifier: He, callback: s, child: t, timeout: e }), xs = (s) => xt(He, s), Dt = (s, e) => (t) => {
1929
1951
  const r = t.getStyle(s);
1930
1952
  return t.setStyle(s, e), (n) => {
1931
1953
  n && t.setStyle(s, r);
1932
1954
  };
1933
- }, Dt = (s, e) => (t) => {
1955
+ }, Ot = (s, e) => (t) => {
1934
1956
  const r = t.getStyle(s);
1935
1957
  return e.on((n) => t.setStyle(s, n)), (n) => {
1936
1958
  n && t.setStyle(s, r);
1937
1959
  };
1938
- }, Ls = new Proxy(
1960
+ }, Ds = new Proxy(
1939
1961
  {},
1940
1962
  {
1941
1963
  /**
@@ -1946,70 +1968,70 @@ const ht = /* @__PURE__ */ new Set([
1946
1968
  * @returns The renderable component for the specified attribute.
1947
1969
  *
1948
1970
  */
1949
- get: (s, e) => (t) => d.is(t) ? Dt(e, t) : Ot(e, t)
1971
+ get: (s, e) => (t) => d.is(t) ? Ot(e, t) : Dt(e, t)
1950
1972
  }
1951
1973
  );
1952
1974
  export {
1953
1975
  Zt as Async,
1954
- ls as BindChecked,
1955
- rs as BindDate,
1956
- ns as BindDateTime,
1957
- is as BindNumber,
1958
- os as BindText,
1976
+ as as BindChecked,
1977
+ is as BindDate,
1978
+ os as BindDateTime,
1979
+ ls as BindNumber,
1980
+ cs as BindText,
1959
1981
  x as BrowserContext,
1960
1982
  V as CLASS_PLACEHOLDER_ATTR,
1961
1983
  L as Computed,
1962
- hs as Conjunction,
1963
- gs as DOMNode,
1964
- _e as El,
1965
- ve as ElNS,
1984
+ ds as Conjunction,
1985
+ ys as DOMNode,
1986
+ ve as El,
1987
+ _e as ElNS,
1966
1988
  Y as ElementPosition,
1967
1989
  E as Empty,
1968
- vt as Ensure,
1969
- ms as EnsureAll,
1970
- Ts as ForEach,
1971
- S as Fragment,
1990
+ _t as Ensure,
1991
+ bs as EnsureAll,
1992
+ As as ForEach,
1993
+ A as Fragment,
1972
1994
  qt as HeadlessAdapter,
1973
- O as HeadlessContext,
1995
+ D as HeadlessContext,
1974
1996
  at as HeadlessElement,
1975
- Se as HeadlessPortal,
1997
+ Ae as HeadlessPortal,
1976
1998
  ut as HeadlessText,
1977
- As as MapSignal,
1999
+ vs as MapSignal,
1978
2000
  le as MemoryStore,
1979
- Es as NotEmpty,
2001
+ _s as NotEmpty,
1980
2002
  wt as OnBrowserCtx,
1981
2003
  yt as OnChecked,
1982
- ps as OnCtx,
2004
+ ms as OnCtx,
1983
2005
  Z as OnDispose,
1984
- Ss as OnElement,
1985
- bs as OnHeadlessCtx,
2006
+ Es as OnElement,
2007
+ Ss as OnHeadlessCtx,
1986
2008
  G as OneOf,
1987
2009
  Pe as OneOfField,
1988
- cs as OneOfKind,
1989
- as as OneOfTuple,
1990
- us as OneOfType,
2010
+ us as OneOfKind,
2011
+ hs as OneOfTuple,
2012
+ fs as OneOfType,
1991
2013
  Et as OneOfValue,
1992
- _s as Portal,
1993
- N as Prop,
1994
- vs as Provide,
1995
- Cs as ProvideGlobalProbe,
2014
+ ws as Portal,
2015
+ I as Prop,
2016
+ Cs as Provide,
2017
+ Ls as ProvideGlobalProbe,
1996
2018
  Lt as ProvideProbe,
1997
2019
  ge as ProviderNotFoundError,
1998
2020
  Xe as RenderingError,
1999
- Oe as Repeat,
2021
+ De as Repeat,
2000
2022
  d as Signal,
2001
2023
  we as Task,
2002
2024
  Bt as TextNode,
2003
- ys as Unless,
2004
- fs as Use,
2005
- Ps as UseGlobalProbe,
2025
+ Ts as Unless,
2026
+ ps as Use,
2027
+ xs as UseGlobalProbe,
2006
2028
  xt as UseProbe,
2007
- _t as UseProvider,
2008
- ds as UseProviders,
2029
+ vt as UseProvider,
2030
+ gs as UseProviders,
2009
2031
  y as Value,
2010
2032
  xe as When,
2011
2033
  Pt as WithProvider,
2012
- ws as WithProviders,
2034
+ Ps as WithProviders,
2013
2035
  me as _NODE_PLACEHOLDER_ATTR,
2014
2036
  Ge as _getSelfOrParentElement,
2015
2037
  pe as _isElement,
@@ -2017,35 +2039,37 @@ export {
2017
2039
  We as _makeSetter,
2018
2040
  R as _removeDOMNode,
2019
2041
  Ee as _signalText,
2020
- Ae as _staticText,
2021
- Nt as animateSignal,
2042
+ Se as _staticText,
2043
+ It as animateSignal,
2022
2044
  Ue as animateSignals,
2023
2045
  Wt as aria,
2024
2046
  M as attr,
2025
2047
  Ut as dataAttr,
2026
- Kt as emitChecked,
2027
- es as emitPreventDefault,
2028
- ss as emitStopImmediatePropagation,
2029
- ts as emitStopPropagation,
2030
- Tt as emitValue,
2031
- St as emitValueAsDate,
2032
- At as emitValueAsDateTime,
2033
- bt as emitValueAsNumber,
2048
+ ts as emitChecked,
2049
+ ss as emitPreventDefault,
2050
+ ns as emitStopImmediatePropagation,
2051
+ rs as emitStopPropagation,
2052
+ bt as emitValue,
2053
+ At as emitValueAsDate,
2054
+ St as emitValueAsDateTime,
2055
+ Kt as emitValueAsNullableDate,
2056
+ es as emitValueAsNullableDateTime,
2057
+ Tt as emitValueAsNumber,
2034
2058
  je as endInterpolate,
2035
2059
  oe as getWindow,
2036
2060
  qe as guessInterpolate,
2037
2061
  Xt as html,
2038
2062
  Yt as input,
2039
2063
  Ve as interpolateDate,
2040
- Ne as interpolateNumber,
2064
+ Ie as interpolateNumber,
2041
2065
  Re as interpolateString,
2042
- kt as localStorageProp,
2066
+ $t as localStorageProp,
2043
2067
  z as makeComputed,
2044
2068
  Ht as makeComputedOf,
2045
2069
  Rt as makeComputedRecord,
2046
2070
  Be as makeEffect,
2047
- $t as makeEffectOf,
2048
- v as makeProp,
2071
+ Nt as makeEffectOf,
2072
+ _ as makeProp,
2049
2073
  Ct as makeProviderMark,
2050
2074
  W as makeSignal,
2051
2075
  Qt as math,
@@ -2057,9 +2081,9 @@ export {
2057
2081
  f as renderableOfTNode,
2058
2082
  Ft as restoreTempoPlaceholders,
2059
2083
  jt as runHeadless,
2060
- It as sessionStorageProp,
2084
+ kt as sessionStorageProp,
2061
2085
  ce as storedProp,
2062
- Ls as style,
2086
+ Ds as style,
2063
2087
  zt as svg,
2064
2088
  Jt as svgAttr
2065
2089
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/dom",
3
- "version": "25.1.2",
3
+ "version": "25.1.3-next.1",
4
4
  "type": "module",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
@@ -121,6 +121,13 @@ export declare const emitValueAsNumber: (fn: (num: number) => void) => (event: E
121
121
  * @public
122
122
  */
123
123
  export declare const emitValueAsDate: (fn: (date: Date) => void) => (event: Event) => void;
124
+ /**
125
+ * Converts the value of an HTML input element to a Date object or null and emits it using the provided callback function.
126
+ * @param fn - The callback function to be called with the converted Date object or null.
127
+ * @returns A function that can be used as an event handler for input events.
128
+ * @public
129
+ */
130
+ export declare const emitValueAsNullableDate: (fn: (date: Date | null) => void) => (event: Event) => void;
124
131
  /**
125
132
  * Emits the value of an HTMLInputElement as a Date object.
126
133
  * @param fn - The callback function to be called with the emitted Date object.
@@ -128,6 +135,13 @@ export declare const emitValueAsDate: (fn: (date: Date) => void) => (event: Even
128
135
  * @public
129
136
  */
130
137
  export declare const emitValueAsDateTime: (fn: (date: Date) => void) => (event: Event) => void;
138
+ /**
139
+ * Emits the value of an HTMLInputElement as a Date object or null.
140
+ * @param fn - The callback function to be called with the emitted Date object or null.
141
+ * @returns The event handler function.
142
+ * @public
143
+ */
144
+ export declare const emitValueAsNullableDateTime: (fn: (date: Date | null) => void) => (event: Event) => void;
131
145
  /**
132
146
  * Calls the provided function with the checked value of the event target.
133
147
  * @param fn - The function to be called with the checked value.
package/types/domain.d.ts CHANGED
@@ -12,7 +12,7 @@ export type Renderable<CTX extends DOMContext = DOMContext> = (ctx: CTX) => Clea
12
12
  * It can be a renderable element, a string value, undefined, null, or an array of renderable elements.
13
13
  * @public
14
14
  */
15
- export type TNode = Renderable | Value<string> | undefined | null | Renderable[];
15
+ export type TNode<CTX extends DOMContext = DOMContext> = Renderable<CTX> | Value<string> | undefined | null | Renderable<CTX>[];
16
16
  /**
17
17
  * Represents a function that clears a resource.
18
18
  * @param removeTree - A boolean value indicating whether to remove the tree associated with the resource.