@tempots/dom 24.0.0-next.0 → 24.0.0-next.2

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 st=Object.defineProperty;var de=r=>{throw TypeError(r)};var nt=(r,e,t)=>e in r?st(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var i=(r,e,t)=>nt(r,typeof e!="symbol"?e+"":e,t),fe=(r,e,t)=>e.has(r)||de("Cannot "+t);var M=(r,e,t)=>(fe(r,e,"read from private field"),t?t.call(r):e.get(r)),pe=(r,e,t)=>e.has(r)?de("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),z=(r,e,t,s)=>(fe(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ye=(r,e,t)=>r+(e-r)*t,me=97,we=(r,e,t)=>{const s=Math.max(r.length,e.length);let n="";for(let o=0;o<s;o++){let l=r.charCodeAt(o);isNaN(l)&&(l=me);let a=e.charCodeAt(o);isNaN(a)&&(a=me),n+=String.fromCharCode(l+(a-l)*t)}return n},_e=(r,e,t)=>new Date(r.getTime()+(e.getTime()-r.getTime())*t),Pe=(r,e)=>e,ve=r=>typeof r=="number"?ye:typeof r=="string"?we:r instanceof Date?_e:Pe;var w;class D{constructor(e,t){i(this,"counter");i(this,"isFirst");i(this,"isEven");i(this,"isOdd");pe(this,w);i(this,"dispose",()=>{M(this,w)!=null&&(M(this,w).dispose(),z(this,w,void 0))});this.index=e,this.total=t,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}get isLast(){return M(this,w)==null&&z(this,w,this.total.map(e=>this.counter===e)),M(this,w)}}w=new WeakMap;const L=class L{constructor(e,t){i(this,"$__signal__",!0);i(this,"_value");i(this,"_derivatives",[]);i(this,"_onValueListeners",[]);i(this,"_onDisposeListeners",[]);i(this,"get",()=>this._value);i(this,"hasListeners",()=>this._onValueListeners.length>0);i(this,"on",e=>(e(this.get()),this._onValueListeners.push(e),()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(e),1)}));i(this,"_setAndNotify",(e,t)=>{const s=this.equals(this._value,e);s||(this._value=e),(t||!s)&&this._onValueListeners.forEach(n=>n(e))});i(this,"_disposed",!1);i(this,"isDisposed",()=>this._disposed);i(this,"onDispose",e=>{this._onDisposeListeners.push(e)});i(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});i(this,"map",(e,t=(s,n)=>s===n)=>{const s=new S(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(s),s});i(this,"flatMap",(e,t=(s,n)=>s===n)=>{const s=new S(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(s),s});i(this,"tap",e=>this.map(t=>(e(t),t)));i(this,"at",e=>this.map(t=>t[e]));i(this,"_$");i(this,"filter",(e,t)=>{let s=t??this.get();const n=new S(()=>{try{const o=this.get();return s=e(o)?o:s}catch(o){throw console.error("Error in Signal.filter:",o),o}},this.equals);return this.setDerivative(n),n});i(this,"filterMap",(e,t,s=(n,o)=>n===o)=>{let n=t;const o=new S(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},s);return this.setDerivative(o),o});i(this,"mapAsync",(e,t,s,n=(o,l)=>o===l)=>{const o=k(t,n);let l=0,a=new AbortController;return o.onDispose(this.on(async c=>{const d=++l;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});d===l&&o.set(h)}catch(h){if(d===l)if(s!=null)o.set(s(h));else throw h}})),o});i(this,"mapMaybe",(e,t)=>this.map(s=>e(s)??t));i(this,"feedProp",(e,t=!1)=>{const s=this.on(e.set);return e.onDispose(s),t?this.onDispose(e.dispose):this.onDispose(s),e});i(this,"deriveProp",(e=!0)=>this.feedProp(k(this.get()),e));i(this,"count",()=>{let e=0;return this.map(()=>++e)});i(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)})}};i(L,"ofPromise",(e,t,s,n=(o,l)=>o===l)=>{const o=new L(t,n);return e.then(l=>o._setAndNotify(l,!1)).catch(l=>{s!=null?o._setAndNotify(s(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),o}),i(L,"is",e=>e!=null&&e.$__signal__===!0);let f=L;const it=typeof queueMicrotask=="function"?queueMicrotask:r=>Promise.resolve().then(r);class S extends f{constructor(t,s){super(void 0,s);i(this,"$__computed__",!0);i(this,"_isDirty",!1);i(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});i(this,"_scheduleCount",0);i(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;it(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});i(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._value=this._fn(),this._setAndNotify(this._value,!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const q=class q extends f{constructor(){super(...arguments);i(this,"$__prop__",!0);i(this,"set",t=>{this._setAndNotify(t,!1)});i(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});i(this,"reducer",(t,...s)=>{const n=this;return function o(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&s.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:o}))}});i(this,"iso",(t,s,n=(o,l)=>o===l)=>{const o=new q(t(this.get()),n);return o.onDispose(this.on(l=>o.set(t(l)))),o.on(l=>this._setAndNotify(s(l),!1)),o});i(this,"atProp",t=>this.iso(s=>s[t],s=>({...this.value,[t]:s})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};i(q,"is",t=>t!=null&&t.$__prop__===!0);let N=q;const F=(r,e,t=(s,n)=>s===n)=>{const s=new S(r,t);return e.forEach(n=>n.setDerivative(s)),s},Se=(r,e)=>F(r,e).dispose,k=(r,e=(t,s)=>t===s)=>new N(r,e),$=(r,e=(t,s)=>t===s)=>new f(r,e),J=()=>typeof window<"u"?window:void 0,p={map:(r,e)=>f.is(r)?r.map(e):e(r),toSignal:(r,e)=>f.is(r)?r:$(r,e),maybeToSignal:(r,e)=>{if(r!=null)return p.toSignal(r,e)},get:r=>f.is(r)?r.get():r,on:(r,e)=>f.is(r)?r.on(e):(e(r),()=>{}),dispose:r=>{f.is(r)&&r.dispose()}},ot=(...r)=>(e,t)=>{const s=r.filter(n=>f.is(n));return F(()=>e(...r.map(n=>p.get(n))),s,t)},lt=(...r)=>e=>{const t=r.filter(s=>f.is(s));Se(()=>e(...r.map(p.get)),t)};class Q{constructor(){i(this,"_store",new Map);i(this,"getItem",e=>this._store.get(e)??null);i(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const X=({key:r,defaultValue:e,store:t,serialize:s=JSON.stringify,deserialize:n=JSON.parse,equals:o=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(r),c=new N(a!=null?l(n(a)):typeof e=="function"?e():e,o);return c.on(d=>{t.setItem(r,s(d))}),c},at=r=>{var e;return X({...r,store:((e=J())==null?void 0:e.localStorage)??new Q})},ct=r=>{var e;return X({...r,store:((e=J())==null?void 0:e.sessionStorage)??new Q})};function ge(r){return typeof requestAnimationFrame=="function"?requestAnimationFrame(r):setTimeout(r,0)}const Ce=(r,e,t,s)=>{const n=(s==null?void 0:s.duration)??300,o=(s==null?void 0:s.easing)??(y=>y),l=(s==null?void 0:s.equals)??((y,j)=>y===j);let a=s==null?void 0:s.interpolate,c=r,d=e(),h=performance.now(),O=null,A=!0;const G=new S(e,l),b=k(r,l);b.onDispose(()=>{O!==null&&cancelAnimationFrame(O)}),b.onDispose(G.dispose),t.forEach(y=>{y.setDerivative(G),y.onDispose(b.dispose)});const tt=y=>{d=y,h=performance.now(),c=b.value,A&&(A=!1,O=ge(ue))},ue=()=>{const j=(performance.now()-h)/p.get(n),rt=o(j);a==null&&(a=ve(c));let he=a(c,d,rt);j>=1?(A=!0,he=d):O=ge(ue),b.set(he)};return G.on(tt),b},ut=(r,e)=>{const{initialValue:t,...s}=e??{};return Ce(t??r.get(),r.get,[r],s)},ht=(r,e)=>{const{signals:t,literals:s}=Object.entries(r).reduce(({signals:o,literals:l},[a,c])=>(f.is(c)?o.push([a,c]):l[a]=c,{signals:o,literals:l}),{signals:[],literals:{}}),n=t.map(([,o])=>o);return F(()=>(t.forEach(([o,l])=>s[o]=l.value),e(s)),n)},Te=new Set(["checked","disabled","hidden","selected"]),xe=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Oe=new Set(["valueAsDate"]),be=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ee=(r,e)=>Te.has(r)?t=>{t==null?e[r]=null:e[r]=!!t}:xe.has(r)?t=>{t==null?e[r]=null:e[r]=Number(t)}:Oe.has(r)?t=>{t==null?e[r]=null:e[r]=t}:be.has(r)?t=>{t==null?e[r]=null:e[r]=String(t)}:t=>{t==null?e.removeAttribute(r):e.setAttribute(r,t)},De=(r,e)=>Te.has(r)?()=>!!e[r]:xe.has(r)?()=>Number(e[r]):Oe.has(r)?()=>e[r]:be.has(r)?()=>String(e[r]):()=>e.getAttribute(r),B=r=>{const e=r;e&&e.onblur&&(e.onblur=null),!(!r||r.ownerDocument===void 0)&&r.parentElement&&r.parentElement.removeChild(r)},ke=r=>Y(r)?r:r.parentElement,Y=r=>r.nodeType===1;class Z extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class C{constructor(e,t,s,n){i(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));i(this,"makeChildElement",(e,t)=>{const s=this.createElement(e,t);return this.appendOrInsert(s),this.withElement(s)});i(this,"createText",e=>this.document.createTextNode(e));i(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});i(this,"setText",e=>{this.reference.nodeValue=e});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});i(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});i(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});i(this,"withElement",e=>new C(this.document,e,void 0,this.providers));i(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)});i(this,"withReference",e=>new C(this.document,this.element,e,this.providers));i(this,"withProviders",e=>new C(this.document,this.element,this.reference,{...this.providers,...e}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Z(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?B(this.reference):B(this.element))});i(this,"addClasses",e=>{this.element.classList.add(...e)});i(this,"removeClasses",e=>{this.element.classList.remove(...e)});i(this,"getClasses",()=>Array.from(this.element.classList));i(this,"on",(e,t)=>(this.element.addEventListener(e,t),s=>{s&&this.element.removeEventListener(e,t)}));i(this,"isBrowserDOM",()=>!0);i(this,"isHeadlessDOM",()=>!1);i(this,"setStyle",(e,t)=>{this.element.style.setProperty(e,t)});i(this,"getStyle",e=>this.element.style.getPropertyValue(e));i(this,"makeAccessors",e=>({get:De(e,this.element),set:Ee(e,this.element)}));this.document=e,this.element=t,this.reference=s,this.providers=n}static of(e,t){return new C(e.ownerDocument,e,t,{})}}const g=Symbol("class"),P=Symbol("style"),E=Symbol("handler"),Ae=()=>Math.random().toString(36).substring(2,15),dt=r=>r.replace(/<[^>]*>?/g,"");class Me{constructor(e){i(this,"id",Ae());i(this,"properties",{});i(this,"children",[]);i(this,"isElement",()=>!0);i(this,"isText",()=>!1);i(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?dt(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));i(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});i(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});i(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});i(this,"elements",()=>this.children.filter(e=>e.isElement()));i(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);i(this,"getInnerHTML",()=>this.properties.innerHTML??"");i(this,"getInnerText",()=>this.properties.innerText??"");i(this,"hasInnerText",()=>this.properties.innerText!=null);i(this,"hasChildren",()=>this.children.length>0);i(this,"hasClasses",()=>this.properties[g]!=null);i(this,"hasStyles",()=>this.properties[P]!=null);i(this,"hasAttributes",()=>Object.keys(this.properties).length>0);i(this,"hasHandlers",()=>this.properties[E]!=null);i(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());i(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const s=t.getById(e);if(s!=null)return s}});i(this,"trigger",(e,t)=>{((this.properties[E]??{})[e]??[]).forEach(n=>n(t))});i(this,"click",()=>{this.trigger("click",{})});i(this,"on",(e,t)=>{var o;const s=(o=this.properties)[E]??(o[E]={}),n=t;return s[e]=[...s[e]??[],n],()=>{const l=s[e]??[],a=l.indexOf(n);a!==-1&&(l.splice(a,1),l.length===0?(delete s[e],Object.keys(s).length===0&&delete this.properties[E]):s[e]=l)}});i(this,"addClasses",e=>{var s;if(e.length===0)return;const t=(s=this.properties)[g]??(s[g]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});i(this,"removeClasses",e=>{var s;if(e.length===0)return;const t=(s=this.properties)[g]??(s[g]=[]);e.forEach(n=>{const o=t.indexOf(n);o!==-1&&t.splice(o,1)}),t.length===0&&delete this.properties[g]});i(this,"getClasses",()=>this.properties[g]??[]);i(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));i(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===g?[["class",this.getClasses()]]:e===P?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));i(this,"setStyle",(e,t)=>{var n;const s=(n=this.properties)[P]??(n[P]={});s[e]=t,t===""&&(delete s[e],Object.keys(s).length===0&&delete this.properties[P])});i(this,"getStyle",e=>{var t;return((t=this.properties[P])==null?void 0:t[e])??""});i(this,"getStyles",()=>this.properties[P]??{});i(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:s=>t[e]=s}});this.parent=e}}const ft=r=>r.replace(/"/g,"&quot;"),pt=r=>r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class Le extends Me{constructor(t,s,n){super(n);i(this,"isPortal",()=>!1);i(this,"toHTML",()=>{const t=this.children.map(l=>l.toHTML()).join(""),s=this.namespace?` xmlns="${this.namespace}"`:"";let n=null;const o=this.getVisibleAttributes().map(([l,a])=>l==="class"?` class="${a.join(" ")}"`:l==="style"?typeof a=="string"?` style="${a}"`:` style="${Object.entries(a).map(([c,d])=>`${c}: ${d};`).join(" ")}"`:mt.has(l)?` ${l}`:l==="innerHTML"?(n=a,""):l==="innerText"?(n=pt(a),""):` ${l}="${ft(a)}"`).join("");return gt.has(this.tagName)&&t===""?`<${this.tagName}${s}${o} />`:`<${this.tagName}${s}${o}>${n??t}</${this.tagName}>`});this.tagName=t,this.namespace=s}}class K extends Me{constructor(t,s){super(s);i(this,"isPortal",()=>!0);i(this,"toHTML",()=>"");i(this,"contentToHTML",()=>this.children.map(t=>t.toHTML()).join(""));this.selector=t}}class Ne{constructor(e){i(this,"id",Ae());i(this,"isElement",()=>!1);i(this,"isText",()=>!0);i(this,"getText",()=>this.text);i(this,"toHTML",()=>this.text);this.text=e}}class T{constructor(e,t,s,n){i(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)});i(this,"makeChildElement",(e,t)=>{const s=new Le(e,t,this.element);return this.appendOrInsert(s),new T(s,void 0,this.container,this.providers)});i(this,"makeChildText",e=>{const t=new Ne(e);return this.appendOrInsert(t),new T(this.element,t,this.container,this.providers)});i(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});i(this,"makeRef",()=>this.makeChildText(""));i(this,"makePortal",e=>{const t=new K(e,this.element);return this.appendOrInsert(t),new T(t,void 0,this.container,this.providers)});i(this,"withProviders",e=>new T(this.element,this.reference,this.container,{...this.providers,...e}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Z(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});i(this,"on",(e,t)=>this.element.on(e,t));i(this,"addClasses",e=>this.element.addClasses(e));i(this,"removeClasses",e=>this.element.removeClasses(e));i(this,"getClasses",()=>this.element.getClasses());i(this,"isBrowserDOM",()=>!1);i(this,"isHeadlessDOM",()=>!0);i(this,"setStyle",(e,t)=>this.element.setStyle(e,t));i(this,"getStyle",e=>this.element.getStyle(e));i(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=s,this.providers=n}}const mt=new Set(["checked","disabled","multiple","readonly","required","selected"]),gt=new Set(["img","br","hr","input","link","meta"]),ee=r=>e=>{const t=e.makeChildText(r);return s=>t.clear(s)},te=r=>e=>{const t=e.makeChildText(r.value),s=r.on(n=>t.setText(n));return n=>{s(),t.clear(n)}},yt=r=>f.is(r)?te(r):ee(r),m=(...r)=>e=>{const t=r.map(s=>u(s)(e));return s=>{t.forEach(n=>n(s))}},_=()=>()=>{},wt=r=>e=>(e.addClasses(r),t=>{t&&e.removeClasses(r)}),_t=r=>e=>{let t=[];const s=r.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(o=>o.length>0),e.addClasses(t)});return n=>{s(),n&&e.removeClasses(t),t.length=0}},H=(r,e)=>t=>{const{get:s,set:n}=t.makeAccessors(r),o=s();return n(e),l=>{l&&n(o)}},V=(r,e)=>t=>{const{get:s,set:n}=t.makeAccessors(r),o=s(),l=e.on(n);return a=>{l(),a&&n(o)}},x=new Proxy({},{get:(r,e)=>e==="class"?t=>f.is(t)?_t(t):wt((t??"").split(" ").filter(s=>s.length>0)):t=>f.is(t)?V(e,t):H(e,t)}),Pt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(`data-${e}`,t):H(`data-${e}`,t)}),vt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(`aria-${e}`,t):H(`aria-${e}`,t)}),St=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(e,t):H(e,t)}),Ct=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(e,t):H(e,t)}),u=r=>{if(r==null)return _;if(Array.isArray(r))return m(...r.map(u));if(typeof r=="string")return ee(r);if(f.is(r))return te(r);if(typeof r=="function")return r;throw new Error(`Unknown type: '${typeof r}' for child: ${r}`)},re=(r,...e)=>t=>{const s=t.makeChildElement(r,void 0),n=e.map(o=>u(o)(s));return o=>{n.forEach(l=>l(!1)),s.clear(o)}},se=(r,e,...t)=>s=>{const n=s.makeChildElement(r,e),o=t.map(l=>u(l)(n));return l=>{o.forEach(a=>a(!1)),n.clear(l)}},Tt=new Proxy({},{get:(r,e)=>(...t)=>re(e,t.flatMap(u))}),xt=new Proxy({},{get:(r,e)=>(...t)=>re("input",x.type(e),...t)}),Ot="http://www.w3.org/2000/svg",bt=new Proxy({},{get:(r,e)=>(...t)=>se(e,Ot,t.flatMap(u))}),Et="http://www.w3.org/1998/Math/MathML",Dt=new Proxy({},{get:(r,e)=>(...t)=>se(e,Et,t.flatMap(u))}),ne=(r,e)=>{if(typeof e=="function")return ne(r,{then:e});const t=e.pending!=null?u(e.pending):_,s=e.then,n=e.error!=null?o=>u(e.error(o)):()=>_;return o=>{let l=!0;const a=r(),c=o.makeRef();let d=u(t)(c);return a.then(h=>{l&&(d(!0),d=u(s(h))(c))},h=>{l&&(d(!0),d=u(n(h))(c))}),h=>{l=!1,d(h),c.clear(h)}}},kt=(r,e)=>ne(()=>r,e),$e=(r,e)=>t=>t.on(r,e),He=r=>$e("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const s=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;s!=null&&r(!s)},0)}),I=new Proxy({},{get:(r,e)=>t=>$e(e,t)}),Ve=r=>e=>{const t=e.target;r(t.value)},Ie=r=>e=>{const t=e.target;r(t.valueAsNumber)},Re=r=>e=>{const t=e.target;if(t.value==="")return;const s=t.value.split("-"),n=new Date(Number(s[0]),Number(s[1])-1,Number(s[2].substring(0,2)));r(n)},je=r=>e=>{const t=e.target;if(t.value==="")return;const s=t.value.split("T"),n=s[0].split("-"),o=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=s[1].split(":");o.setHours(Number(l[0])),o.setMinutes(Number(l[1])),o.setSeconds(Number(l[2])),r(o)},At=r=>e=>{const t=e.target;r(t.checked)},Mt=r=>e=>{e.preventDefault(),r()},Lt=r=>e=>{e.stopPropagation(),r()},Nt=r=>e=>{e.stopImmediatePropagation(),r()},$t=(r,e="input")=>m(x.valueAsDate(r),I[e](Re(r.set))),Ht=(r,e="input")=>m(x.valueAsDate(r),I[e](je(r.set))),Vt=(r,e="input")=>m(x.valueAsNumber(r),I[e](Ie(r.set))),It=(r,e="input")=>m(x.value(r),I[e](Ve(r.set))),Rt=r=>m(x.checked(r),He(r.set)),R=(r,e)=>{if(f.is(r))return s=>{const n=s.makeRef();let o,l;const a=r.map(h=>Object.keys(h)[0]);let c;const d=a.on(h=>{if(h!==c){l==null||l.dispose(),o==null||o(!0),l=r.map(A=>A[h]);const O=e[h](l);o=u(O)(n),c=h}});return h=>{d(),n.clear(h),o==null||o(h)}};const t=Object.keys(r)[0];return u(e[t]($(r[t])))},ie=(r,e,t)=>R(p.map(r,s=>({[s[e]]:s})),t),jt=(r,e)=>ie(r,"kind",e),Bt=(r,e)=>{const t=p.map(r,([s,n])=>({[s]:n}));return R(t,e)},Ut=(r,e)=>ie(r,"type",e),Be=(r,e)=>R(p.map(r,t=>({[t]:!0})),e),qt=(r,e={})=>t=>{const s=(e==null?void 0:e.firstSeparator)??r,n=(e==null?void 0:e.lastSeparator)??r;return Be(t.map(o=>o.isFirst?"first":o.isLast?"last":"other"),{first:()=>s,last:()=>n,other:()=>r})},Ue=(r,e)=>t=>{const s=Object.values(r).reduce((n,o)=>{const l=t.getProvider(o);return n[o]=l,n},{});return u(e(s))(t)},Ft=(r,e)=>t=>{const s=[],n=Object.entries(r).reduce((o,[l,a])=>(s.push(a(c=>(Reflect.set(o,l,c),null))(t)),o),{});return s.push(e(n)(t)),o=>{s.forEach(l=>l(o))}},qe=(r,e)=>Ue([r],t=>u(e(t[r]))),Wt=(r,e)=>Ue(r,t=>u(e(t))),Gt=r=>e=>r(e)??(()=>{}),zt=r=>e=>(e.appendOrInsert(r),t=>{t&&B(r)}),Fe=(r,e,t)=>{if(f.is(r)){const s=r;return n=>{const o=n.makeRef();let l=null,a=!1;const c=k(null),d=s.on(h=>{h==null?(l==null||l(!0),l=u((t==null?void 0:t())??_)(o),a=!1):(c.value=h,a||(l==null||l(!0),l=u(e(c))(o),a=!0))});return h=>{d(),l==null||l(h),o.clear(h)}}}else{const s=r;if(s==null){const n=t==null?void 0:t();return n!=null?u(n):_}return u(e($(s)))}},U=r=>e=>t=>r(t,e),oe=(r,e,t)=>le(r,()=>e,()=>t),le=(r,e,t)=>Fe(p.map(r,s=>s?!0:null),e,t??void 0),Jt=(r,e,t)=>We(r,()=>e,()=>t),We=(r,e,t)=>le(p.map(r,s=>!s),e,t),ae=(r,e,t)=>t!=null?ae(r,s=>{const n=new D(s.index,s.total.map(o=>o-1));return m(U(n.dispose),u(e(s)),oe(s.isLast,_,t(n)))}):f.is(r)?s=>{const n=s.makeRef(),o=Array.from({length:r.value},(c,d)=>d).map(c=>new D(c,r)),l=o.map(c=>u(e(c))(n)),a=r.on(c=>{for(;c<l.length;)o.pop().dispose(),l.pop()(!0);for(let d=0;d<c;d++)if(o[d]==null){o[d]=new D(d,r);const h=u(e(o[d]));l[d]=h(n)}});return c=>{a(),n.clear(c)}}:m(...Array.from({length:r},(s,n)=>n).map(s=>u(e(new D(s,$(r)))))),Ge=(r,e,t)=>{if(t!=null)return Ge(r,(s,n)=>{const o=new D(n.index,n.total.map(l=>l-1));return m([U(o.dispose),u(e(s,n)),oe(n.isLast,_,t(o))])});{const s=p.map(r,o=>o.length),n=p.toSignal(r);return ae(s,o=>{const l=n.map(a=>a[o.index]);return m(U(l.dispose),u(e(l,o)))})}},ze=r=>e=>e.isBrowserDOM()?r(e)??(()=>{}):()=>{},Qt=r=>e=>e.isHeadlessDOM()?r(e)??(()=>{}):()=>{},Xt=r=>ze(e=>r(e.element)??(()=>{})),Yt=(r,e)=>{if(f.is(r)){const t=r;return s=>{s=s.makeRef();const n=t.map(a=>u(e(a)));let o=()=>{};const l=n.on(a=>{o(!0),o=a(s)});return a=>{l(),o(a)}}}return u(e(r))},Zt=(r,e,t=()=>_)=>R(p.map(r,s=>s.length>0?{notEmpty:s}:{whenEmpty:null}),{notEmpty:s=>e(s),whenEmpty:()=>t()}),W=(r,e)=>{const t=r(e);return()=>t(!0)},Kt=(r,e,{doc:t,clear:s}={})=>{const n=typeof e=="string"?(t??document).querySelector(e):e;if(n===null)throw new Je(`Cannot find element by selector for render: ${e}`);s!==!1&&(t??n.ownerDocument)!=null&&n.nodeType===1&&(n.innerHTML="");const o=ke(n),l=Y(n)?void 0:n,a=C.of(o,l);return W(r,a)},er=(r,e)=>{const t=k(e),s=new K(":root",void 0),n=new T(s,void 0,{currentURL:t},{});return{clear:W(r,n),root:s,currentURL:t}};class Je extends Error{constructor(e){super(e)}}const tr=(r,e)=>t=>{const s=t.makePortal(r);return W(u(e),s)},Qe=r=>Symbol(r),Xe=(r,e)=>t=>u(e)(t.withProviders(r)),rr=(...r)=>r.length>0?r.reduceRight((e,t)=>s=>e(t(s))):u,Ye=(r,e,t)=>Xe({[r]:e},u(t)),sr=(r,e)=>Xe(r,u(e)),ce=Qe("Probe"),v=new Map,Ze=(r,e,t)=>{if(v.has(r))throw new Error(`Probe already exists: ${r.description}`);return v.set(r,0),Ye(ce,n=>{let o=v.get(n);if(o==null)throw new Error(`Probe not found: ${n.description}`);--o===0?(e(),v.delete(n)):v.set(n,o)},t)},Ke=(r,e)=>qe(ce,t=>{const s=v.get(r);if(s==null)throw new Error(`Probe not found: ${r.description}`);return v.set(r,s+1),e(()=>t(r))}),et=Symbol("globalProbe"),nr=(r,e)=>Ze(et,r,e),ir=r=>Ke(et,r),or=(r,e)=>t=>{const s=t.getStyle(r);return t.setStyle(r,e),n=>{n&&t.setStyle(r,s)}},lr=(r,e)=>t=>{const s=t.getStyle(r);return e.on(n=>t.setStyle(r,n)),n=>{n&&t.setStyle(r,s)}},ar=new Proxy({},{get:(r,e)=>t=>f.is(t)?lr(e,t):or(e,t)});exports.Async=kt;exports.BindChecked=Rt;exports.BindDate=$t;exports.BindDateTime=Ht;exports.BindNumber=Vt;exports.BindText=It;exports.BrowserContext=C;exports.Computed=S;exports.Conjunction=qt;exports.DOMNode=zt;exports.El=re;exports.ElNS=se;exports.ElementPosition=D;exports.Empty=_;exports.Ensure=Fe;exports.ForEach=Ge;exports.Fragment=m;exports.HeadlessContext=T;exports.HeadlessElement=Le;exports.HeadlessPortal=K;exports.HeadlessText=Ne;exports.LazyUnless=We;exports.LazyWhen=le;exports.MapSignal=Yt;exports.MemoryStore=Q;exports.NotEmpty=Zt;exports.OnBrowserCtx=ze;exports.OnChecked=He;exports.OnCtx=Gt;exports.OnDispose=U;exports.OnElement=Xt;exports.OnHeadlessCtx=Qt;exports.OneOf=R;exports.OneOfField=ie;exports.OneOfKind=jt;exports.OneOfTuple=Bt;exports.OneOfType=Ut;exports.OneOfValue=Be;exports.Portal=tr;exports.Prop=N;exports.Provide=rr;exports.ProvideGlobalProbe=nr;exports.ProvideProbe=Ze;exports.ProviderNotFoundError=Z;exports.RenderingError=Je;exports.Repeat=ae;exports.Signal=f;exports.Task=ne;exports.TextNode=yt;exports.Unless=Jt;exports.Use=Ft;exports.UseGlobalProbe=ir;exports.UseProbe=Ke;exports.UseProvider=qe;exports.UseProviders=Wt;exports.Value=p;exports.When=oe;exports.WithProvider=Ye;exports.WithProviders=sr;exports._getSelfOrParentElement=ke;exports._isElement=Y;exports._makeGetter=De;exports._makeSetter=Ee;exports._removeDOMNode=B;exports._signalText=te;exports._staticText=ee;exports.animateSignal=ut;exports.animateSignals=Ce;exports.aria=vt;exports.attr=x;exports.dataAttr=Pt;exports.emitChecked=At;exports.emitPreventDefault=Mt;exports.emitStopImmediatePropagation=Nt;exports.emitStopPropagation=Lt;exports.emitValue=Ve;exports.emitValueAsDate=Re;exports.emitValueAsDateTime=je;exports.emitValueAsNumber=Ie;exports.endInterpolate=Pe;exports.getWindow=J;exports.guessInterpolate=ve;exports.html=Tt;exports.input=xt;exports.interpolateDate=_e;exports.interpolateNumber=ye;exports.interpolateString=we;exports.localStorageProp=at;exports.makeComputed=F;exports.makeComputedOf=ot;exports.makeComputedRecord=ht;exports.makeEffect=Se;exports.makeEffectOf=lt;exports.makeProp=k;exports.makeProviderMark=Qe;exports.makeSignal=$;exports.math=Dt;exports.mathAttr=Ct;exports.on=I;exports.probeMarker=ce;exports.render=Kt;exports.renderWithContext=W;exports.renderableOfTNode=u;exports.runHeadless=er;exports.sessionStorageProp=ct;exports.storedProp=X;exports.style=ar;exports.svg=bt;exports.svgAttr=St;
1
+ "use strict";var st=Object.defineProperty;var de=r=>{throw TypeError(r)};var nt=(r,e,t)=>e in r?st(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var i=(r,e,t)=>nt(r,typeof e!="symbol"?e+"":e,t),fe=(r,e,t)=>e.has(r)||de("Cannot "+t);var A=(r,e,t)=>(fe(r,e,"read from private field"),t?t.call(r):e.get(r)),pe=(r,e,t)=>e.has(r)?de("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),z=(r,e,t,s)=>(fe(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ye=(r,e,t)=>r+(e-r)*t,me=97,we=(r,e,t)=>{const s=Math.max(r.length,e.length);let n="";for(let o=0;o<s;o++){let l=r.charCodeAt(o);isNaN(l)&&(l=me);let a=e.charCodeAt(o);isNaN(a)&&(a=me),n+=String.fromCharCode(l+(a-l)*t)}return n},_e=(r,e,t)=>new Date(r.getTime()+(e.getTime()-r.getTime())*t),Pe=(r,e)=>e,ve=r=>typeof r=="number"?ye:typeof r=="string"?we:r instanceof Date?_e:Pe;var w;class D{constructor(e,t){i(this,"counter");i(this,"isFirst");i(this,"isEven");i(this,"isOdd");pe(this,w);i(this,"dispose",()=>{A(this,w)!=null&&(A(this,w).dispose(),z(this,w,void 0))});this.index=e,this.total=t,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}get isLast(){return A(this,w)==null&&z(this,w,this.total.map(e=>this.counter===e)),A(this,w)}}w=new WeakMap;const M=class M{constructor(e,t){i(this,"$__signal__",!0);i(this,"_value");i(this,"_derivatives",[]);i(this,"_onValueListeners",[]);i(this,"_onDisposeListeners",[]);i(this,"get",()=>this._value);i(this,"hasListeners",()=>this._onValueListeners.length>0);i(this,"on",e=>(e(this.get()),this._onValueListeners.push(e),()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(e),1)}));i(this,"_setAndNotify",(e,t)=>{const s=this.equals(this._value,e);s||(this._value=e),(t||!s)&&this._onValueListeners.forEach(n=>n(e))});i(this,"_disposed",!1);i(this,"isDisposed",()=>this._disposed);i(this,"onDispose",e=>{this._onDisposeListeners.push(e)});i(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});i(this,"map",(e,t=(s,n)=>s===n)=>{const s=new S(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(s),s});i(this,"flatMap",(e,t=(s,n)=>s===n)=>{const s=new S(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(s),s});i(this,"tap",e=>this.map(t=>(e(t),t)));i(this,"at",e=>this.map(t=>t[e]));i(this,"_$");i(this,"filter",(e,t)=>{let s=t??this.get();const n=new S(()=>{try{const o=this.get();return s=e(o)?o:s}catch(o){throw console.error("Error in Signal.filter:",o),o}},this.equals);return this.setDerivative(n),n});i(this,"filterMap",(e,t,s=(n,o)=>n===o)=>{let n=t;const o=new S(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},s);return this.setDerivative(o),o});i(this,"mapAsync",(e,t,s,n=(o,l)=>o===l)=>{const o=N(t,n);let l=0,a=new AbortController;return o.onDispose(this.on(async c=>{const d=++l;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});d===l&&o.set(h)}catch(h){if(d===l)if(s!=null)o.set(s(h));else throw h}})),o});i(this,"mapMaybe",(e,t)=>this.map(s=>e(s)??t));i(this,"feedProp",(e,t=!1)=>{const s=this.on(e.set);return e.onDispose(s),t?this.onDispose(e.dispose):this.onDispose(s),e});i(this,"deriveProp",(e=!0)=>this.feedProp(N(this.get()),e));i(this,"count",()=>{let e=0;return this.map(()=>++e)});i(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)})}};i(M,"ofPromise",(e,t,s,n=(o,l)=>o===l)=>{const o=new M(t,n);return e.then(l=>o._setAndNotify(l,!1)).catch(l=>{s!=null?o._setAndNotify(s(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),o}),i(M,"is",e=>e!=null&&e.$__signal__===!0);let f=M;const it=typeof queueMicrotask=="function"?queueMicrotask:r=>Promise.resolve().then(r);class S extends f{constructor(t,s){super(void 0,s);i(this,"$__computed__",!0);i(this,"_isDirty",!1);i(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});i(this,"_scheduleCount",0);i(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;it(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});i(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._value=this._fn(),this._setAndNotify(this._value,!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const q=class q extends f{constructor(){super(...arguments);i(this,"$__prop__",!0);i(this,"set",t=>{this._setAndNotify(t,!1)});i(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});i(this,"reducer",(t,...s)=>{const n=this;return function o(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&s.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:o}))}});i(this,"iso",(t,s,n=(o,l)=>o===l)=>{const o=new q(t(this.get()),n);return o.onDispose(this.on(l=>o.set(t(l)))),o.on(l=>this._setAndNotify(s(l),!1)),o});i(this,"atProp",t=>this.iso(s=>s[t],s=>({...this.value,[t]:s})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};i(q,"is",t=>t!=null&&t.$__prop__===!0);let L=q;const F=(r,e,t=(s,n)=>s===n)=>{const s=new S(r,t);return e.forEach(n=>n.setDerivative(s)),s},Se=(r,e)=>F(r,e).dispose,N=(r,e=(t,s)=>t===s)=>new L(r,e),$=(r,e=(t,s)=>t===s)=>new f(r,e),J=()=>typeof window<"u"?window:void 0,p={map:(r,e)=>f.is(r)?r.map(e):e(r),toSignal:(r,e)=>f.is(r)?r:$(r,e),maybeToSignal:(r,e)=>{if(r!=null)return p.toSignal(r,e)},get:r=>f.is(r)?r.get():r,on:(r,e)=>f.is(r)?r.on(e):(e(r),()=>{}),dispose:r=>{f.is(r)&&r.dispose()}},ot=(...r)=>(e,t)=>{const s=r.filter(n=>f.is(n));return F(()=>e(...r.map(n=>p.get(n))),s,t)},lt=(...r)=>e=>{const t=r.filter(s=>f.is(s));Se(()=>e(...r.map(p.get)),t)};class Q{constructor(){i(this,"_store",new Map);i(this,"getItem",e=>this._store.get(e)??null);i(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const X=({key:r,defaultValue:e,store:t,serialize:s=JSON.stringify,deserialize:n=JSON.parse,equals:o=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(r),c=new L(a!=null?l(n(a)):typeof e=="function"?e():e,o);return c.on(d=>{t.setItem(r,s(d))}),c},at=r=>{var e;return X({...r,store:((e=J())==null?void 0:e.localStorage)??new Q})},ct=r=>{var e;return X({...r,store:((e=J())==null?void 0:e.sessionStorage)??new Q})};function ge(r){return typeof requestAnimationFrame=="function"?requestAnimationFrame(r):setTimeout(r,0)}const xe=(r,e,t,s)=>{const n=(s==null?void 0:s.duration)??300,o=(s==null?void 0:s.easing)??(y=>y),l=(s==null?void 0:s.equals)??((y,j)=>y===j);let a=s==null?void 0:s.interpolate,c=r,d=e(),h=performance.now(),O=null,k=!0;const G=new S(e,l),b=N(r,l);b.onDispose(()=>{O!==null&&cancelAnimationFrame(O)}),b.onDispose(G.dispose),t.forEach(y=>{y.setDerivative(G),y.onDispose(b.dispose)});const tt=y=>{d=y,h=performance.now(),c=b.value,k&&(k=!1,O=ge(ue))},ue=()=>{const j=(performance.now()-h)/p.get(n),rt=o(j);a==null&&(a=ve(c));let he=a(c,d,rt);j>=1?(k=!0,he=d):O=ge(ue),b.set(he)};return G.on(tt),b},ut=(r,e)=>{const{initialValue:t,...s}=e??{};return xe(t??r.get(),r.get,[r],s)},ht=(r,e)=>{const{signals:t,literals:s}=Object.entries(r).reduce(({signals:o,literals:l},[a,c])=>(f.is(c)?o.push([a,c]):l[a]=c,{signals:o,literals:l}),{signals:[],literals:{}}),n=t.map(([,o])=>o);return F(()=>(t.forEach(([o,l])=>s[o]=l.value),e(s)),n)},Ce=new Set(["checked","disabled","hidden","selected"]),Te=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Oe=new Set(["valueAsDate"]),be=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ee=(r,e)=>Ce.has(r)?t=>{t==null?e[r]=null:e[r]=!!t}:Te.has(r)?t=>{t==null?e[r]=null:e[r]=Number(t)}:Oe.has(r)?t=>{t==null?e[r]=null:e[r]=t}:be.has(r)?t=>{t==null?e[r]=null:e[r]=String(t)}:t=>{t==null?e.removeAttribute(r):e.setAttribute(r,t)},De=(r,e)=>Ce.has(r)?()=>!!e[r]:Te.has(r)?()=>Number(e[r]):Oe.has(r)?()=>e[r]:be.has(r)?()=>String(e[r]):()=>e.getAttribute(r),B=r=>{const e=r;e&&e.onblur&&(e.onblur=null),!(!r||r.ownerDocument===void 0)&&r.parentElement&&r.parentElement.removeChild(r)},ke=r=>Y(r)?r:r.parentElement,Y=r=>r.nodeType===1;class Z extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class x{constructor(e,t,s,n){i(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));i(this,"makeChildElement",(e,t)=>{const s=this.createElement(e,t);return this.appendOrInsert(s),this.withElement(s)});i(this,"createText",e=>this.document.createTextNode(e));i(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});i(this,"setText",e=>{this.reference.nodeValue=e});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});i(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});i(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});i(this,"withElement",e=>new x(this.document,e,void 0,this.providers));i(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)});i(this,"withReference",e=>new x(this.document,this.element,e,this.providers));i(this,"withProviders",e=>new x(this.document,this.element,this.reference,{...this.providers,...e}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Z(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?B(this.reference):B(this.element))});i(this,"addClasses",e=>{this.element.classList.add(...e)});i(this,"removeClasses",e=>{this.element.classList.remove(...e)});i(this,"getClasses",()=>Array.from(this.element.classList));i(this,"on",(e,t)=>(this.element.addEventListener(e,t),s=>{s&&this.element.removeEventListener(e,t)}));i(this,"isBrowserDOM",()=>!0);i(this,"isHeadlessDOM",()=>!1);i(this,"setStyle",(e,t)=>{this.element.style.setProperty(e,t)});i(this,"getStyle",e=>this.element.style.getPropertyValue(e));i(this,"makeAccessors",e=>({get:De(e,this.element),set:Ee(e,this.element)}));this.document=e,this.element=t,this.reference=s,this.providers=n}static of(e,t){return new x(e.ownerDocument,e,t,{})}}const g=Symbol("class"),P=Symbol("style"),E=Symbol("handler"),Ae=()=>Math.random().toString(36).substring(2,15),dt=r=>r.replace(/<[^>]*>?/g,"");class Me{constructor(e){i(this,"id",Ae());i(this,"properties",{});i(this,"children",[]);i(this,"isElement",()=>!0);i(this,"isText",()=>!1);i(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?dt(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));i(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});i(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});i(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});i(this,"elements",()=>this.children.filter(e=>e.isElement()));i(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);i(this,"getInnerHTML",()=>this.properties.innerHTML??"");i(this,"getInnerText",()=>this.properties.innerText??"");i(this,"hasInnerText",()=>this.properties.innerText!=null);i(this,"hasChildren",()=>this.children.length>0);i(this,"hasClasses",()=>this.properties[g]!=null);i(this,"hasStyles",()=>this.properties[P]!=null);i(this,"hasAttributes",()=>Object.keys(this.properties).length>0);i(this,"hasHandlers",()=>this.properties[E]!=null);i(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());i(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const s=t.getById(e);if(s!=null)return s}});i(this,"trigger",(e,t)=>{((this.properties[E]??{})[e]??[]).forEach(n=>n(t))});i(this,"click",()=>{this.trigger("click",{})});i(this,"on",(e,t)=>{var o;const s=(o=this.properties)[E]??(o[E]={}),n=t;return s[e]=[...s[e]??[],n],()=>{const l=s[e]??[],a=l.indexOf(n);a!==-1&&(l.splice(a,1),l.length===0?(delete s[e],Object.keys(s).length===0&&delete this.properties[E]):s[e]=l)}});i(this,"addClasses",e=>{var s;if(e.length===0)return;const t=(s=this.properties)[g]??(s[g]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});i(this,"removeClasses",e=>{var s;if(e.length===0)return;const t=(s=this.properties)[g]??(s[g]=[]);e.forEach(n=>{const o=t.indexOf(n);o!==-1&&t.splice(o,1)}),t.length===0&&delete this.properties[g]});i(this,"getClasses",()=>this.properties[g]??[]);i(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));i(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===g?[["class",this.getClasses()]]:e===P?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));i(this,"setStyle",(e,t)=>{var n;const s=(n=this.properties)[P]??(n[P]={});s[e]=t,t===""&&(delete s[e],Object.keys(s).length===0&&delete this.properties[P])});i(this,"getStyle",e=>{var t;return((t=this.properties[P])==null?void 0:t[e])??""});i(this,"getStyles",()=>this.properties[P]??{});i(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:s=>t[e]=s}});this.parent=e}}const ft=r=>r.replace(/"/g,"&quot;"),pt=r=>r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class Le extends Me{constructor(t,s,n){super(n);i(this,"isPortal",()=>!1);i(this,"toHTML",()=>{const t=this.children.map(l=>l.toHTML()).join(""),s=this.namespace?` xmlns="${this.namespace}"`:"";let n=null;const o=this.getVisibleAttributes().map(([l,a])=>l==="class"?` class="${a.join(" ")}"`:l==="style"?typeof a=="string"?` style="${a}"`:` style="${Object.entries(a).map(([c,d])=>`${c}: ${d};`).join(" ")}"`:mt.has(l)?` ${l}`:l==="innerHTML"?(n=a,""):l==="innerText"?(n=pt(a),""):` ${l}="${ft(a)}"`).join("");return gt.has(this.tagName)&&t===""?`<${this.tagName}${s}${o} />`:`<${this.tagName}${s}${o}>${n??t}</${this.tagName}>`});this.tagName=t,this.namespace=s}}class K extends Me{constructor(t,s){super(s);i(this,"isPortal",()=>!0);i(this,"toHTML",()=>"");i(this,"contentToHTML",()=>this.children.map(t=>t.toHTML()).join(""));this.selector=t}}class Ne{constructor(e){i(this,"id",Ae());i(this,"isElement",()=>!1);i(this,"isText",()=>!0);i(this,"getText",()=>this.text);i(this,"toHTML",()=>this.text);this.text=e}}class C{constructor(e,t,s,n){i(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)});i(this,"makeChildElement",(e,t)=>{const s=new Le(e,t,this.element);return this.appendOrInsert(s),new C(s,void 0,this.container,this.providers)});i(this,"makeChildText",e=>{const t=new Ne(e);return this.appendOrInsert(t),new C(this.element,t,this.container,this.providers)});i(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});i(this,"makeRef",()=>this.makeChildText(""));i(this,"makePortal",e=>{const t=new K(e,this.element);return this.appendOrInsert(t),new C(t,void 0,this.container,this.providers)});i(this,"withProviders",e=>new C(this.element,this.reference,this.container,{...this.providers,...e}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Z(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});i(this,"on",(e,t)=>this.element.on(e,t));i(this,"addClasses",e=>this.element.addClasses(e));i(this,"removeClasses",e=>this.element.removeClasses(e));i(this,"getClasses",()=>this.element.getClasses());i(this,"isBrowserDOM",()=>!1);i(this,"isHeadlessDOM",()=>!0);i(this,"setStyle",(e,t)=>this.element.setStyle(e,t));i(this,"getStyle",e=>this.element.getStyle(e));i(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=s,this.providers=n}}const mt=new Set(["checked","disabled","multiple","readonly","required","selected"]),gt=new Set(["img","br","hr","input","link","meta"]),ee=r=>e=>{const t=e.makeChildText(r);return s=>t.clear(s)},te=r=>e=>{const t=e.makeChildText(r.value),s=r.on(n=>t.setText(n));return n=>{s(),t.clear(n)}},yt=r=>f.is(r)?te(r):ee(r),m=(...r)=>e=>{const t=r.map(s=>u(s)(e));return s=>{t.forEach(n=>n(s))}},_=()=>()=>{},wt=r=>e=>(e.addClasses(r),t=>{t&&e.removeClasses(r)}),_t=r=>e=>{let t=[];const s=r.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(o=>o.length>0),e.addClasses(t)});return n=>{s(),n&&e.removeClasses(t),t.length=0}},H=(r,e)=>t=>{const{get:s,set:n}=t.makeAccessors(r),o=s();return n(e),l=>{l&&n(o)}},V=(r,e)=>t=>{const{get:s,set:n}=t.makeAccessors(r),o=s(),l=e.on(n);return a=>{l(),a&&n(o)}},T=new Proxy({},{get:(r,e)=>e==="class"?t=>f.is(t)?_t(t):wt((t??"").split(" ").filter(s=>s.length>0)):t=>f.is(t)?V(e,t):H(e,t)}),Pt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(`data-${e}`,t):H(`data-${e}`,t)}),vt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(`aria-${e}`,t):H(`aria-${e}`,t)}),St=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(e,t):H(e,t)}),xt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(e,t):H(e,t)}),u=r=>{if(r==null)return _;if(Array.isArray(r))return m(...r.map(u));if(typeof r=="string")return ee(r);if(f.is(r))return te(r);if(typeof r=="function")return r;throw new Error(`Unknown type: '${typeof r}' for child: ${r}`)},re=(r,...e)=>t=>{const s=t.makeChildElement(r,void 0),n=e.map(o=>u(o)(s));return o=>{n.forEach(l=>l(!1)),s.clear(o)}},se=(r,e,...t)=>s=>{const n=s.makeChildElement(r,e),o=t.map(l=>u(l)(n));return l=>{o.forEach(a=>a(!1)),n.clear(l)}},Ct=new Proxy({},{get:(r,e)=>(...t)=>re(e,t.flatMap(u))}),Tt=new Proxy({},{get:(r,e)=>(...t)=>re("input",T.type(e),...t)}),Ot="http://www.w3.org/2000/svg",bt=new Proxy({},{get:(r,e)=>(...t)=>se(e,Ot,t.flatMap(u))}),Et="http://www.w3.org/1998/Math/MathML",Dt=new Proxy({},{get:(r,e)=>(...t)=>se(e,Et,t.flatMap(u))}),ne=(r,e)=>{if(typeof e=="function")return ne(r,{then:e});const t=e.pending!=null?u(e.pending):_,s=e.then,n=e.error!=null?o=>u(e.error(o)):()=>_;return o=>{let l=!0;const a=r(),c=o.makeRef();let d=u(t)(c);return a.then(h=>{l&&(d(!0),d=u(s(h))(c))},h=>{l&&(d(!0),d=u(n(h))(c))}),h=>{l=!1,d(h),c.clear(h)}}},kt=(r,e)=>ne(()=>r,e),$e=(r,e)=>t=>t.on(r,e),He=r=>$e("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const s=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;s!=null&&r(!s)},0)}),I=new Proxy({},{get:(r,e)=>t=>$e(e,t)}),Ve=r=>e=>{const t=e.target;r(t.value)},Ie=r=>e=>{const t=e.target;r(t.valueAsNumber)},Re=r=>e=>{const t=e.target;if(t.value==="")return;const s=t.value.split("-"),n=new Date(Number(s[0]),Number(s[1])-1,Number(s[2].substring(0,2)));r(n)},je=r=>e=>{const t=e.target;if(t.value==="")return;const s=t.value.split("T"),n=s[0].split("-"),o=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=s[1].split(":");o.setHours(Number(l[0])),o.setMinutes(Number(l[1])),o.setSeconds(Number(l[2])),r(o)},At=r=>e=>{const t=e.target;r(t.checked)},Mt=r=>e=>{e.preventDefault(),r()},Lt=r=>e=>{e.stopPropagation(),r()},Nt=r=>e=>{e.stopImmediatePropagation(),r()},$t=(r,e="input")=>m(T.valueAsDate(r),I[e](Re(r.set))),Ht=(r,e="input")=>m(T.valueAsDate(r),I[e](je(r.set))),Vt=(r,e="input")=>m(T.valueAsNumber(r),I[e](Ie(r.set))),It=(r,e="input")=>m(T.value(r),I[e](Ve(r.set))),Rt=r=>m(T.checked(r),He(r.set)),R=(r,e)=>{if(f.is(r))return s=>{const n=s.makeRef();let o,l;const a=r.map(h=>Object.keys(h)[0]);let c;const d=a.on(h=>{if(h!==c){l==null||l.dispose(),o==null||o(!0),l=r.map(k=>k[h]);const O=e[h](l);o=u(O)(n),c=h}});return h=>{d(),n.clear(h),o==null||o(h)}};const t=Object.keys(r)[0];return u(e[t]($(r[t])))},ie=(r,e,t)=>R(p.map(r,s=>({[s[e]]:s})),t),jt=(r,e)=>ie(r,"kind",e),Bt=(r,e)=>{const t=p.map(r,([s,n])=>({[s]:n}));return R(t,e)},Ut=(r,e)=>ie(r,"type",e),Be=(r,e)=>R(p.map(r,t=>({[t]:!0})),e),qt=(r,e={})=>t=>{const s=(e==null?void 0:e.firstSeparator)??r,n=(e==null?void 0:e.lastSeparator)??r;return Be(t.map(o=>o.isFirst?"first":o.isLast?"last":"other"),{first:()=>s,last:()=>n,other:()=>r})},Ue=(r,e)=>t=>{const s=Object.values(r).reduce((n,o)=>{const l=t.getProvider(o);return n[o]=l,n},{});return u(e(s))(t)},Ft=(r,e)=>t=>{const s=[],n=Object.entries(r).reduce((o,[l,a])=>(s.push(a(c=>(Reflect.set(o,l,c),null))(t)),o),{});return s.push(e(n)(t)),o=>{s.forEach(l=>l(o))}},qe=(r,e)=>Ue([r],t=>u(e(t[r]))),Wt=(r,e)=>Ue(r,t=>u(e(t))),Gt=r=>e=>r(e)??(()=>{}),zt=r=>e=>(e.appendOrInsert(r),t=>{t&&B(r)}),Fe=(r,e,t)=>{if(f.is(r)){const s=r;return n=>{const o=n.makeRef();let l=null,a=!1;const c=N(null),d=s.on(h=>{h==null?(l==null||l(!0),l=u((t==null?void 0:t())??_)(o),a=!1):(c.value=h,a||(l==null||l(!0),l=u(e(c))(o),a=!0))});return h=>{d(),l==null||l(h),o.clear(h)}}}else{const s=r;if(s==null){const n=t==null?void 0:t();return n!=null?u(n):_}return u(e($(s)))}},U=r=>e=>t=>r(t,e),oe=(r,e,t)=>le(r,()=>e,()=>t),le=(r,e,t)=>Fe(p.map(r,s=>s?!0:null),e,t??void 0),Jt=(r,e,t)=>We(r,()=>e,()=>t),We=(r,e,t)=>le(p.map(r,s=>!s),e,t),ae=(r,e,t)=>t!=null?ae(r,s=>{const n=new D(s.index,s.total.map(o=>o-1));return m(U(n.dispose),u(e(s)),oe(s.isLast,_,t(n)))}):f.is(r)?s=>{const n=s.makeRef(),o=Array.from({length:r.value},(c,d)=>d).map(c=>new D(c,r)),l=o.map(c=>u(e(c))(n)),a=r.on(c=>{for(;c<l.length;)o.pop().dispose(),l.pop()(!0);for(let d=0;d<c;d++)if(o[d]==null){o[d]=new D(d,r);const h=u(e(o[d]));l[d]=h(n)}});return c=>{a(),n.clear(c)}}:m(...Array.from({length:r},(s,n)=>n).map(s=>u(e(new D(s,$(r)))))),Ge=(r,e,t)=>{if(t!=null)return Ge(r,(s,n)=>{const o=new D(n.index,n.total.map(l=>l-1));return m([U(o.dispose),u(e(s,n)),oe(n.isLast,_,t(o))])});{const s=p.map(r,o=>o.length),n=p.toSignal(r);return ae(s,o=>{const l=n.map(a=>a[o.index]);return m(U(l.dispose),u(e(l,o)))})}},ze=r=>e=>e.isBrowserDOM()?r(e)??(()=>{}):()=>{},Qt=r=>e=>e.isHeadlessDOM()?r(e)??(()=>{}):()=>{},Xt=r=>ze(e=>r(e.element)??(()=>{})),Yt=(r,e)=>{if(f.is(r)){const t=r;return s=>{s=s.makeRef();const n=t.map(a=>u(e(a)));let o=()=>{};const l=n.on(a=>{o(!0),o=a(s)});return a=>{l(),o(a)}}}return u(e(r))},Zt=(r,e,t=()=>_)=>R(p.map(r,s=>s.length>0?{notEmpty:s}:{whenEmpty:null}),{notEmpty:s=>e(s),whenEmpty:()=>t()}),W=(r,e)=>{const t=r(e);return()=>t(!0)},Kt=(r,e,{doc:t,clear:s}={})=>{const n=typeof e=="string"?(t??document).querySelector(e):e;if(n===null)throw new Je(`Cannot find element by selector for render: ${e}`);s!==!1&&(t??n.ownerDocument)!=null&&n.nodeType===1&&(n.innerHTML="");const o=ke(n),l=Y(n)?void 0:n,a=x.of(o,l);return W(r,a)},er=(r,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const s=p.toSignal(e).deriveProp(),n=new K(t,void 0),o=new C(n,void 0,{currentURL:s},{});return{clear:W(r(),o),root:n,currentURL:s}};class Je extends Error{constructor(e){super(e)}}const tr=(r,e)=>t=>{const s=t.makePortal(r);return W(u(e),s)},Qe=r=>Symbol(r),Xe=(r,e)=>t=>u(e)(t.withProviders(r)),rr=(...r)=>r.length>0?r.reduceRight((e,t)=>s=>e(t(s))):u,Ye=(r,e,t)=>Xe({[r]:e},u(t)),sr=(r,e)=>Xe(r,u(e)),ce=Qe("Probe"),v=new Map,Ze=(r,e,t)=>{if(v.has(r))throw new Error(`Probe already exists: ${r.description}`);return v.set(r,0),Ye(ce,n=>{let o=v.get(n);if(o==null)throw new Error(`Probe not found: ${n.description}`);--o===0?(e(),v.delete(n)):v.set(n,o)},t)},Ke=(r,e)=>qe(ce,t=>{const s=v.get(r);if(s==null)throw new Error(`Probe not found: ${r.description}`);return v.set(r,s+1),e(()=>t(r))}),et=Symbol("globalProbe"),nr=(r,e)=>Ze(et,r,e),ir=r=>Ke(et,r),or=(r,e)=>t=>{const s=t.getStyle(r);return t.setStyle(r,e),n=>{n&&t.setStyle(r,s)}},lr=(r,e)=>t=>{const s=t.getStyle(r);return e.on(n=>t.setStyle(r,n)),n=>{n&&t.setStyle(r,s)}},ar=new Proxy({},{get:(r,e)=>t=>f.is(t)?lr(e,t):or(e,t)});exports.Async=kt;exports.BindChecked=Rt;exports.BindDate=$t;exports.BindDateTime=Ht;exports.BindNumber=Vt;exports.BindText=It;exports.BrowserContext=x;exports.Computed=S;exports.Conjunction=qt;exports.DOMNode=zt;exports.El=re;exports.ElNS=se;exports.ElementPosition=D;exports.Empty=_;exports.Ensure=Fe;exports.ForEach=Ge;exports.Fragment=m;exports.HeadlessContext=C;exports.HeadlessElement=Le;exports.HeadlessPortal=K;exports.HeadlessText=Ne;exports.LazyUnless=We;exports.LazyWhen=le;exports.MapSignal=Yt;exports.MemoryStore=Q;exports.NotEmpty=Zt;exports.OnBrowserCtx=ze;exports.OnChecked=He;exports.OnCtx=Gt;exports.OnDispose=U;exports.OnElement=Xt;exports.OnHeadlessCtx=Qt;exports.OneOf=R;exports.OneOfField=ie;exports.OneOfKind=jt;exports.OneOfTuple=Bt;exports.OneOfType=Ut;exports.OneOfValue=Be;exports.Portal=tr;exports.Prop=L;exports.Provide=rr;exports.ProvideGlobalProbe=nr;exports.ProvideProbe=Ze;exports.ProviderNotFoundError=Z;exports.RenderingError=Je;exports.Repeat=ae;exports.Signal=f;exports.Task=ne;exports.TextNode=yt;exports.Unless=Jt;exports.Use=Ft;exports.UseGlobalProbe=ir;exports.UseProbe=Ke;exports.UseProvider=qe;exports.UseProviders=Wt;exports.Value=p;exports.When=oe;exports.WithProvider=Ye;exports.WithProviders=sr;exports._getSelfOrParentElement=ke;exports._isElement=Y;exports._makeGetter=De;exports._makeSetter=Ee;exports._removeDOMNode=B;exports._signalText=te;exports._staticText=ee;exports.animateSignal=ut;exports.animateSignals=xe;exports.aria=vt;exports.attr=T;exports.dataAttr=Pt;exports.emitChecked=At;exports.emitPreventDefault=Mt;exports.emitStopImmediatePropagation=Nt;exports.emitStopPropagation=Lt;exports.emitValue=Ve;exports.emitValueAsDate=Re;exports.emitValueAsDateTime=je;exports.emitValueAsNumber=Ie;exports.endInterpolate=Pe;exports.getWindow=J;exports.guessInterpolate=ve;exports.html=Ct;exports.input=Tt;exports.interpolateDate=_e;exports.interpolateNumber=ye;exports.interpolateString=we;exports.localStorageProp=at;exports.makeComputed=F;exports.makeComputedOf=ot;exports.makeComputedRecord=ht;exports.makeEffect=Se;exports.makeEffectOf=lt;exports.makeProp=N;exports.makeProviderMark=Qe;exports.makeSignal=$;exports.math=Dt;exports.mathAttr=xt;exports.on=I;exports.probeMarker=ce;exports.render=Kt;exports.renderWithContext=W;exports.renderableOfTNode=u;exports.runHeadless=er;exports.sessionStorageProp=ct;exports.storedProp=X;exports.style=ar;exports.svg=bt;exports.svgAttr=St;
package/index.js CHANGED
@@ -243,7 +243,7 @@ const k = class k {
243
243
  * @returns A property that holds the mapped value and can be observed for changes.
244
244
  */
245
245
  i(this, "mapAsync", (e, t, r, n = (o, l) => o === l) => {
246
- const o = L(t, n);
246
+ const o = I(t, n);
247
247
  let l = 0, c = new AbortController();
248
248
  return o.onDispose(
249
249
  this.on(async (a) => {
@@ -288,7 +288,7 @@ const k = class k {
288
288
  * @param autoDisposeProp - Determines whether the derived property should be automatically disposed.
289
289
  * @returns The derived property.
290
290
  */
291
- i(this, "deriveProp", (e = !0) => this.feedProp(L(this.get()), e));
291
+ i(this, "deriveProp", (e = !0) => this.feedProp(I(this.get()), e));
292
292
  /**
293
293
  * Returns a signal that emits the count of values received so far.
294
294
  * @returns A signal that emits the count of values received so far.
@@ -504,11 +504,11 @@ i(V, "is", (t) => (
504
504
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
505
505
  t != null && t.$__prop__ === !0
506
506
  ));
507
- let I = V;
507
+ let H = V;
508
508
  const G = (s, e, t = (r, n) => r === n) => {
509
509
  const r = new T(s, t);
510
510
  return e.forEach((n) => n.setDerivative(r)), r;
511
- }, He = (s, e) => G(s, e).dispose, L = (s, e = (t, r) => t === r) => new I(s, e), R = (s, e = (t, r) => t === r) => new d(s, e), ee = () => typeof window < "u" ? window : void 0, p = {
511
+ }, He = (s, e) => G(s, e).dispose, I = (s, e = (t, r) => t === r) => new H(s, e), R = (s, e = (t, r) => t === r) => new d(s, e), ee = () => typeof window < "u" ? window : void 0, p = {
512
512
  /**
513
513
  * Maps a value or a Signal to a new value.
514
514
  * If the value is a Signal, it returns a new Signal with the mapped value.
@@ -604,7 +604,7 @@ const se = ({
604
604
  equals: o = (c, a) => c === a,
605
605
  onLoad: l = (c) => c
606
606
  }) => {
607
- const c = t.getItem(s), a = new I(
607
+ const c = t.getItem(s), a = new H(
608
608
  c != null ? l(n(c)) : typeof e == "function" ? e() : e,
609
609
  o
610
610
  );
@@ -628,23 +628,23 @@ function K(s) {
628
628
  return typeof requestAnimationFrame == "function" ? requestAnimationFrame(s) : setTimeout(s, 0);
629
629
  }
630
630
  const Ie = (s, e, t, r) => {
631
- const n = (r == null ? void 0 : r.duration) ?? 300, o = (r == null ? void 0 : r.easing) ?? ((y) => y), l = (r == null ? void 0 : r.equals) ?? ((y, H) => y === H);
631
+ const n = (r == null ? void 0 : r.duration) ?? 300, o = (r == null ? void 0 : r.easing) ?? ((y) => y), l = (r == null ? void 0 : r.equals) ?? ((y, N) => y === N);
632
632
  let c = r == null ? void 0 : r.interpolate, a = s, f = e(), h = performance.now(), P = null, O = !0;
633
- const B = new T(e, l), C = L(s, l);
634
- C.onDispose(() => {
633
+ const B = new T(e, l), x = I(s, l);
634
+ x.onDispose(() => {
635
635
  P !== null && cancelAnimationFrame(P);
636
- }), C.onDispose(B.dispose), t.forEach((y) => {
637
- y.setDerivative(B), y.onDispose(C.dispose);
636
+ }), x.onDispose(B.dispose), t.forEach((y) => {
637
+ y.setDerivative(B), y.onDispose(x.dispose);
638
638
  });
639
639
  const be = (y) => {
640
- f = y, h = performance.now(), a = C.value, O && (O = !1, P = K(J));
640
+ f = y, h = performance.now(), a = x.value, O && (O = !1, P = K(J));
641
641
  }, J = () => {
642
- const H = (performance.now() - h) / p.get(n), Ee = o(H);
642
+ const N = (performance.now() - h) / p.get(n), Ee = o(N);
643
643
  c == null && (c = $e(a));
644
644
  let Q = c(a, f, Ee);
645
- H >= 1 ? (O = !0, Q = f) : P = K(J), C.set(Q);
645
+ N >= 1 ? (O = !0, Q = f) : P = K(J), x.set(Q);
646
646
  };
647
- return B.on(be), C;
647
+ return B.on(be), x;
648
648
  }, St = (s, e) => {
649
649
  const { initialValue: t, ...r } = e ?? {};
650
650
  return Ie(
@@ -785,31 +785,13 @@ class b {
785
785
  throw new Error(`Cannot find element by selector for portal: ${e}`);
786
786
  return this.withElement(t);
787
787
  });
788
- // /**
789
- // * Creates a new `DOMContext` instance with the `isFirstLevel` property set to `true`.
790
- // * @returns A new `DOMContext` instance with the `isFirstLevel` property set to `true`.
791
- // */
792
- // readonly withFirstLevel = (): DOMContext =>
793
- // new BrowserContext(
794
- // this.document,
795
- // this.element,
796
- // this.reference,
797
- // this.providers,
798
- // true
799
- // )
800
788
  /**
801
789
  * Creates a new `DOMContext` instance with the specified reference.
802
790
  *
803
791
  * @param reference - The optional `Text` node to use as the reference for the new `DOMContext`.
804
792
  * @returns A new `DOMContext` instance with the specified reference.
805
793
  */
806
- i(this, "withReference", (e) => new b(
807
- this.document,
808
- this.element,
809
- e,
810
- this.providers
811
- // this.isFirstLevel
812
- ));
794
+ i(this, "withReference", (e) => new b(this.document, this.element, e, this.providers));
813
795
  /**
814
796
  * Returns a new HTMLDOMContext instance with the specified providers merged into
815
797
  * the existing providers.
@@ -817,16 +799,10 @@ class b {
817
799
  * @param providers - An object containing the providers to be merged into the existing providers.
818
800
  * @returns A new HTMLDOMContext instance with the merged providers.
819
801
  */
820
- i(this, "withProviders", (e) => new b(
821
- this.document,
822
- this.element,
823
- this.reference,
824
- {
825
- ...this.providers,
826
- ...e
827
- }
828
- // this.isFirstLevel
829
- ));
802
+ i(this, "withProviders", (e) => new b(this.document, this.element, this.reference, {
803
+ ...this.providers,
804
+ ...e
805
+ }));
830
806
  /**
831
807
  * Retrieves a provider for the given provider mark.
832
808
  *
@@ -911,7 +887,7 @@ class b {
911
887
  return new b(e.ownerDocument, e, t, {});
912
888
  }
913
889
  }
914
- const g = Symbol("class"), _ = Symbol("style"), x = Symbol("handler"), ae = () => Math.random().toString(36).substring(2, 15), qe = (s) => s.replace(/<[^>]*>?/g, "");
890
+ const g = Symbol("class"), _ = Symbol("style"), C = Symbol("handler"), ae = () => Math.random().toString(36).substring(2, 15), qe = (s) => s.replace(/<[^>]*>?/g, "");
915
891
  class ue {
916
892
  constructor(e) {
917
893
  i(this, "id", ae());
@@ -943,7 +919,7 @@ class ue {
943
919
  i(this, "hasClasses", () => this.properties[g] != null);
944
920
  i(this, "hasStyles", () => this.properties[_] != null);
945
921
  i(this, "hasAttributes", () => Object.keys(this.properties).length > 0);
946
- i(this, "hasHandlers", () => this.properties[x] != null);
922
+ i(this, "hasHandlers", () => this.properties[C] != null);
947
923
  i(this, "hasRenderableProperties", () => this.hasClasses() || this.hasAttributes() || this.hasStyles());
948
924
  i(this, "getById", (e) => {
949
925
  if (this.properties.id === e)
@@ -955,17 +931,17 @@ class ue {
955
931
  }
956
932
  });
957
933
  i(this, "trigger", (e, t) => {
958
- ((this.properties[x] ?? {})[e] ?? []).forEach((n) => n(t));
934
+ ((this.properties[C] ?? {})[e] ?? []).forEach((n) => n(t));
959
935
  });
960
936
  i(this, "click", () => {
961
937
  this.trigger("click", {});
962
938
  });
963
939
  i(this, "on", (e, t) => {
964
940
  var o;
965
- const r = (o = this.properties)[x] ?? (o[x] = {}), n = t;
941
+ const r = (o = this.properties)[C] ?? (o[C] = {}), n = t;
966
942
  return r[e] = [...r[e] ?? [], n], () => {
967
943
  const l = r[e] ?? [], c = l.indexOf(n);
968
- c !== -1 && (l.splice(c, 1), l.length === 0 ? (delete r[e], Object.keys(r).length === 0 && delete this.properties[x]) : r[e] = l);
944
+ c !== -1 && (l.splice(c, 1), l.length === 0 ? (delete r[e], Object.keys(r).length === 0 && delete this.properties[C]) : r[e] = l);
969
945
  };
970
946
  });
971
947
  i(this, "addClasses", (e) => {
@@ -1130,7 +1106,7 @@ const Ge = /* @__PURE__ */ new Set([
1130
1106
  return (n) => {
1131
1107
  r(), t.clear(n);
1132
1108
  };
1133
- }, Ct = (s) => d.is(s) ? de(s) : fe(s), m = (...s) => (e) => {
1109
+ }, xt = (s) => d.is(s) ? de(s) : fe(s), m = (...s) => (e) => {
1134
1110
  const t = s.map((r) => u(r)(e));
1135
1111
  return (r) => {
1136
1112
  t.forEach((n) => n(r));
@@ -1146,12 +1122,12 @@ const Ge = /* @__PURE__ */ new Set([
1146
1122
  return (n) => {
1147
1123
  r(), n && e.removeClasses(t), t.length = 0;
1148
1124
  };
1149
- }, $ = (s, e) => (t) => {
1125
+ }, L = (s, e) => (t) => {
1150
1126
  const { get: r, set: n } = t.makeAccessors(s), o = r();
1151
1127
  return n(e), (l) => {
1152
1128
  l && n(o);
1153
1129
  };
1154
- }, N = (s, e) => (t) => {
1130
+ }, $ = (s, e) => (t) => {
1155
1131
  const { get: r, set: n } = t.makeAccessors(s), o = r(), l = e.on(n);
1156
1132
  return (c) => {
1157
1133
  l(), c && n(o);
@@ -1172,15 +1148,15 @@ const Ge = /* @__PURE__ */ new Set([
1172
1148
  */
1173
1149
  get: (s, e) => e === "class" ? (t) => d.is(t) ? Qe(t) : Je(
1174
1150
  (t ?? "").split(" ").filter((r) => r.length > 0)
1175
- ) : (t) => d.is(t) ? N(
1151
+ ) : (t) => d.is(t) ? $(
1176
1152
  e,
1177
1153
  t
1178
- ) : $(
1154
+ ) : L(
1179
1155
  e,
1180
1156
  t
1181
1157
  )
1182
1158
  }
1183
- ), xt = new Proxy(
1159
+ ), Ct = new Proxy(
1184
1160
  {},
1185
1161
  {
1186
1162
  /**
@@ -1191,10 +1167,10 @@ const Ge = /* @__PURE__ */ new Set([
1191
1167
  * @returns The renderable component for the specified attribute.
1192
1168
  *
1193
1169
  */
1194
- get: (s, e) => (t) => d.is(t) ? N(
1170
+ get: (s, e) => (t) => d.is(t) ? $(
1195
1171
  `data-${e}`,
1196
1172
  t
1197
- ) : $(`data-${e}`, t)
1173
+ ) : L(`data-${e}`, t)
1198
1174
  }
1199
1175
  ), Tt = new Proxy(
1200
1176
  {},
@@ -1207,10 +1183,10 @@ const Ge = /* @__PURE__ */ new Set([
1207
1183
  * @returns The renderable component for the specified attribute.
1208
1184
  *
1209
1185
  */
1210
- get: (s, e) => (t) => d.is(t) ? N(
1186
+ get: (s, e) => (t) => d.is(t) ? $(
1211
1187
  `aria-${e}`,
1212
1188
  t
1213
- ) : $(
1189
+ ) : L(
1214
1190
  `aria-${e}`,
1215
1191
  t
1216
1192
  )
@@ -1226,10 +1202,10 @@ const Ge = /* @__PURE__ */ new Set([
1226
1202
  * @returns The renderable component for the specified attribute.
1227
1203
  *
1228
1204
  */
1229
- get: (s, e) => (t) => d.is(t) ? N(
1205
+ get: (s, e) => (t) => d.is(t) ? $(
1230
1206
  e,
1231
1207
  t
1232
- ) : $(
1208
+ ) : L(
1233
1209
  e,
1234
1210
  t
1235
1211
  )
@@ -1244,10 +1220,10 @@ const Ge = /* @__PURE__ */ new Set([
1244
1220
  * @returns The renderable component for the specified attribute.
1245
1221
  *
1246
1222
  */
1247
- get: (s, e) => (t) => d.is(t) ? N(
1223
+ get: (s, e) => (t) => d.is(t) ? $(
1248
1224
  e,
1249
1225
  t
1250
- ) : $(
1226
+ ) : L(
1251
1227
  e,
1252
1228
  t
1253
1229
  )
@@ -1459,7 +1435,7 @@ const Ge = /* @__PURE__ */ new Set([
1459
1435
  return (n) => {
1460
1436
  const o = n.makeRef();
1461
1437
  let l = null, c = !1;
1462
- const a = L(null), f = r.on((h) => {
1438
+ const a = I(null), f = r.on((h) => {
1463
1439
  h == null ? (l == null || l(!0), l = u((t == null ? void 0 : t()) ?? v)(o), c = !1) : (a.value = h, c || (l == null || l(!0), l = u(e(a))(
1464
1440
  o
1465
1441
  ), c = !0));
@@ -1591,12 +1567,15 @@ const Ge = /* @__PURE__ */ new Set([
1591
1567
  r !== !1 && (t ?? n.ownerDocument) != null && n.nodeType === 1 && (n.innerHTML = "");
1592
1568
  const o = je(n), l = le(n) ? void 0 : n, c = b.of(o, l);
1593
1569
  return z(s, c);
1594
- }, ss = (s, e) => {
1595
- const t = L(e), r = new he(":root", void 0), n = new E(r, void 0, { currentURL: t }, {});
1570
+ }, ss = (s, {
1571
+ startUrl: e = "https://example.com",
1572
+ selector: t = ":root"
1573
+ } = {}) => {
1574
+ const r = p.toSignal(e).deriveProp(), n = new he(t, void 0), o = new E(n, void 0, { currentURL: r }, {});
1596
1575
  return {
1597
- clear: z(s, n),
1598
- root: r,
1599
- currentURL: t
1576
+ clear: z(s(), o),
1577
+ root: n,
1578
+ currentURL: r
1600
1579
  };
1601
1580
  };
1602
1581
  class at extends Error {
@@ -1607,16 +1586,16 @@ class at extends Error {
1607
1586
  const rs = (s, e) => (t) => {
1608
1587
  const r = t.makePortal(s);
1609
1588
  return z(u(e), r);
1610
- }, ut = (s) => Symbol(s), Ce = (s, e) => (t) => u(e)(t.withProviders(s)), ns = (...s) => s.length > 0 ? s.reduceRight((e, t) => (r) => e(t(r))) : u, ht = (s, e, t) => Ce({ [s]: e }, u(t)), is = (s, e) => Ce(s, u(e)), xe = ut("Probe"), S = /* @__PURE__ */ new Map(), ft = (s, e, t) => {
1589
+ }, ut = (s) => Symbol(s), xe = (s, e) => (t) => u(e)(t.withProviders(s)), ns = (...s) => s.length > 0 ? s.reduceRight((e, t) => (r) => e(t(r))) : u, ht = (s, e, t) => xe({ [s]: e }, u(t)), is = (s, e) => xe(s, u(e)), Ce = ut("Probe"), S = /* @__PURE__ */ new Map(), ft = (s, e, t) => {
1611
1590
  if (S.has(s))
1612
1591
  throw new Error(`Probe already exists: ${s.description}`);
1613
- return S.set(s, 0), ht(xe, (n) => {
1592
+ return S.set(s, 0), ht(Ce, (n) => {
1614
1593
  let o = S.get(n);
1615
1594
  if (o == null)
1616
1595
  throw new Error(`Probe not found: ${n.description}`);
1617
1596
  --o === 0 ? (e(), S.delete(n)) : S.set(n, o);
1618
1597
  }, t);
1619
- }, dt = (s, e) => nt(xe, (t) => {
1598
+ }, dt = (s, e) => nt(Ce, (t) => {
1620
1599
  const r = S.get(s);
1621
1600
  if (r == null)
1622
1601
  throw new Error(`Probe not found: ${s.description}`);
@@ -1685,7 +1664,7 @@ export {
1685
1664
  Ut as OneOfType,
1686
1665
  rt as OneOfValue,
1687
1666
  rs as Portal,
1688
- I as Prop,
1667
+ H as Prop,
1689
1668
  ns as Provide,
1690
1669
  os as ProvideGlobalProbe,
1691
1670
  ft as ProvideProbe,
@@ -1694,7 +1673,7 @@ export {
1694
1673
  Pe as Repeat,
1695
1674
  d as Signal,
1696
1675
  me as Task,
1697
- Ct as TextNode,
1676
+ xt as TextNode,
1698
1677
  Xt as Unless,
1699
1678
  Gt as Use,
1700
1679
  ls as UseGlobalProbe,
@@ -1716,7 +1695,7 @@ export {
1716
1695
  Ie as animateSignals,
1717
1696
  Tt as aria,
1718
1697
  D as attr,
1719
- xt as dataAttr,
1698
+ Ct as dataAttr,
1720
1699
  Lt as emitChecked,
1721
1700
  $t as emitPreventDefault,
1722
1701
  Ht as emitStopImmediatePropagation,
@@ -1739,13 +1718,13 @@ export {
1739
1718
  Pt as makeComputedRecord,
1740
1719
  He as makeEffect,
1741
1720
  wt as makeEffectOf,
1742
- L as makeProp,
1721
+ I as makeProp,
1743
1722
  ut as makeProviderMark,
1744
1723
  R as makeSignal,
1745
1724
  Mt as math,
1746
1725
  Et as mathAttr,
1747
1726
  j as on,
1748
- xe as probeMarker,
1727
+ Ce as probeMarker,
1749
1728
  ts as render,
1750
1729
  z as renderWithContext,
1751
1730
  u as renderableOfTNode,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/dom",
3
- "version": "24.0.0-next.0",
3
+ "version": "24.0.0-next.2",
4
4
  "type": "module",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
@@ -1,6 +1,7 @@
1
1
  import { Renderable } from '../types/domain';
2
2
  import { DOMContext } from '../dom/dom-context';
3
3
  import { HeadlessPortal } from '../dom/headless-context';
4
+ import { Value } from '../std/value';
4
5
  /**
5
6
  * Renders the given `renderable` with the provided `ctx` DOM context.
6
7
  *
@@ -35,10 +36,13 @@ export type RenderOptions = {
35
36
  * @public
36
37
  */
37
38
  export declare const render: (node: Renderable, parent: Node | string, { doc, clear }?: RenderOptions) => () => void;
38
- export declare const runHeadless: (node: Renderable, currentUrl: string) => {
39
+ export declare const runHeadless: (makeRenderable: () => Renderable, { startUrl, selector, }?: {
40
+ startUrl?: Value<string>;
41
+ selector?: string;
42
+ }) => {
39
43
  clear: () => void;
40
44
  root: HeadlessPortal;
41
- currentURL: import('../std/signal').Prop<string>;
45
+ currentURL: import('..').Prop<string>;
42
46
  };
43
47
  /**
44
48
  * Represents an error that occurs during rendering.
package/dom/ssr.d.ts DELETED
File without changes