@tempots/dom 34.0.0 → 34.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,3 +22,4 @@ export declare const _getSelfOrParentElement: (node: Node) => HTMLElement;
22
22
  * @internal
23
23
  */
24
24
  export declare const _isElement: (node: Node) => node is HTMLElement;
25
+ export declare const _isFragment: (node: Node) => node is DocumentFragment;
package/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Me=t=>Symbol(t);function He(t,e){return{type:t,render:e}}function Ne(t){return t!=null&&t!==!1&&t!==0&&t!==""}function Tt(t){return!Ne(t)}function Et(t){return t==null}function Ct(t){return t!=null}const b={map:(t,e)=>g.is(t)?t.map(e):e(t),toSignal:(t,e)=>g.is(t)?t.derive():J(t,e),maybeToSignal:(t,e)=>{if(t!=null)return b.toSignal(t,e)},get:t=>g.is(t)?t.get():t,on:(t,e)=>g.is(t)?t.on(e):(e(t),()=>{}),dispose:t=>{g.is(t)&&t.dispose()},disposeFn:t=>()=>b.dispose(t),deriveProp:(t,{autoDisposeProp:e=!0,equals:s}={})=>g.is(t)?t.deriveProp({autoDisposeProp:e,equals:s}):T(t,s),truthy:t=>b.map(t,Ne),falsy:t=>b.map(t,Tt),nil:t=>b.map(t,Et),defined:t=>b.map(t,Ct)},F=(...t)=>(e,s)=>{if(t.length===1)return b.toSignal(t[0]).map(e);const n=t.filter(r=>g.is(r));return G(()=>e(...t.map(r=>b.get(r))),n,s)},Dt=t=>{const e=Object.keys(t);return F(...Object.values(t))((...s)=>Object.fromEntries(e.map((n,r)=>[n,s[r]])))},Ie=(...t)=>(e,s={})=>{const n=t.filter(r=>g.is(r));return fe(()=>e(...t.map(b.get)),n,s)};class B{_signals=new Set;_callbacks=[];_disposed=!1;track(e){if(this._disposed)throw new Error("Cannot track signal in disposed scope");if(e.isDisposed())throw new Error("Cannot track already disposed signal");this._signals.add(e)}onDispose(e){if(this._disposed)throw new Error("Cannot register callback in disposed scope");this._callbacks.push(e)}dispose(){if(!this._disposed){this._disposed=!0;for(const e of this._callbacks)try{e()}catch(s){console.error("Error in disposal callback:",s)}this._callbacks.length=0;for(const e of this._signals)e.dispose();this._signals.clear()}}get disposed(){return this._disposed}prop(e,s){const n=se(()=>T(e,s));return this.track(n),n}computed(e,s,n){const r=se(()=>G(e,s,n));return this.track(r),r}effect(e,s,n){return O(this,()=>fe(e,s,n))}computedOf(...e){return(s,n)=>{const r=se(()=>F(...e)(s,n));return this.track(r),r}}effectOf(...e){return(s,n)=>O(this,()=>Ie(...e)(s,n))}}const S=[],Re=t=>{S.push(t)},$e=()=>{if(S.length===0)throw new Error("Cannot pop from empty scope stack");S.pop()},ae=()=>S[S.length-1]??null,Pt=()=>S,Ot=()=>S[S.length-2]??null,O=(t,e)=>{Re(t);try{return e()}finally{$e()}},xt=t=>{const e=new B;try{return O(e,()=>t(e))}finally{e.dispose()}},se=t=>{const e=S.slice();S.length=0;try{return t()}finally{S.length=0,S.push(...e)}};class g{constructor(e,s){this.equals=s,this._value=e}static ofPromise=(e,s,n,r=(o,i)=>o===i)=>{const o=new g(s,r);return e.then(i=>o._setAndNotify(i)).catch(i=>{n!=null?o._setAndNotify(n(i)):console.error("Unhandled promise rejection in Signal.ofPromise:",i)}),o};static is=e=>e!=null&&e.$__signal__===!0;$__signal__=!0;_value;_derivatives=[];_onValueListeners=[];_onDisposeListeners=[];get=()=>this._value;get value(){return this._value}hasListeners=()=>this._onValueListeners.length>0;on=(e,s={})=>{s.skipInitial||e(this.get(),void 0);const n=s.once?(o,i)=>{r(),e(o,i)}:e;this._onValueListeners.push(n);const r=()=>{const o=this._onValueListeners.indexOf(n);o!==-1&&this._onValueListeners.splice(o,1),s.abortSignal!=null&&s.abortSignal.removeEventListener("abort",r)};return s.abortSignal!=null&&s.abortSignal.addEventListener("abort",r),!s.noAutoDispose&&ae()?.onDispose(r),r};onChange=(e,s={})=>{let n=0;const r=(o,i)=>{n++>0&&e(o,i)};return this.on(r,s)};_setAndNotify=e=>{if(this._disposed)return;const s=this._value;this.equals(s,e)||(this._value=e,this._onValueListeners.forEach(n=>n(e,s)))};_disposed=!1;isDisposed=()=>this._disposed;onDispose=e=>{this._onDisposeListeners.push(e)};dispose=()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0,this._onValueListeners.length=0)};map=(e,s=(n,r)=>n===r)=>{const n=new M(()=>{try{return e(this.get())}catch(r){throw console.error("Error in Signal.map:",r),r}},s);return this.setDerivative(n),n};flatMap=(e,s=(n,r)=>n===r)=>{const n=new M(()=>{try{return e(this.get()).get()}catch(r){throw console.error("Error in Signal.flatMap:",r),r}},s);return this.setDerivative(n),n};tap=e=>this.map(s=>(e(s),s));at=e=>this.map(s=>s[e]);_$;get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,s)=>this.at(s)})}filter=(e,s)=>{let n=s??this.get();const r=new M(()=>{try{const o=this.get();return n=e(o)?o:n}catch(o){throw console.error("Error in Signal.filter:",o),o}},this.equals);return this.setDerivative(r),r};filterMap=(e,s,n=(r,o)=>r===o)=>{let r=s;const o=new M(()=>{try{const i=this.get();return r=e(i)??r}catch(i){throw console.error("Error in Signal.filterMap:",i),i}},n);return this.setDerivative(o),o};mapAsync=(e,s,n,r=(o,i)=>o===i)=>{const o=T(s,r);let i=0,l=new AbortController;return o.onDispose(this.on(async a=>{const c=++i;l.abort(),l=new AbortController;try{const u=await e(a,{abortSignal:l.signal});c===i&&o.set(u)}catch(u){if(c===i)if(n!=null)o.set(n(u));else throw u}})),o};mapMaybe=(e,s)=>this.map(n=>e(n)??s);feedProp=(e,s=!1)=>{const n=this.on(e.set,{noAutoDispose:!s});return e.onDispose(n),s?this.onDispose(e.dispose):this.onDispose(n),e};deriveProp=({autoDisposeProp:e=!0,equals:s}={})=>this.feedProp(T(this.get(),s),e);derive=()=>this.map(e=>e);count=()=>{let e=0;return this.map(()=>++e)};setDerivative=e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty,{noAutoDispose:!0})),this.onDispose(e.dispose)}}const Lt=typeof queueMicrotask=="function"?queueMicrotask:t=>Promise.resolve().then(t);class M extends g{constructor(e,s){super(void 0,s),this._fn=e,this.setDirty(),ae()?.track(this)}static is(e){return e!=null&&e.$__computed__===!0}$__computed__=!0;_isDirty=!1;setDirty=()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(e=>e.setDirty()),this._scheduleNotify())};_scheduleCount=0;_scheduleNotify=()=>{const e=++this._scheduleCount;Lt(()=>{this._scheduleCount!==e||this._disposed||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn()))})};get=()=>(this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn())),this._value);get value(){return this.get()}dispose=()=>{this._disposed||(this._scheduleCount++,this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)}}class U extends g{static is=e=>e!=null&&e.$__prop__===!0;$__prop__=!0;set=e=>{this._setAndNotify(e)};update=e=>{this._setAndNotify(e(this.get()))};reducer=(e,...s)=>{const n=this;return function r(o){const i=n.value;n.update(l=>e(l,o)),!n.equals(i,n.value)&&s.forEach(l=>l({previousState:i,state:n.value,action:o,dispatch:r}))}};iso=(e,s,n=(r,o)=>r===o)=>{const r=new U(e(this.get()),n);return r.onDispose(this.on(o=>r.set(e(o)))),r.on(o=>this._setAndNotify(s(o))),r};atProp=e=>this.iso(s=>s[e],s=>({...this.value,[e]:s}));get value(){return this.get()}set value(e){this._setAndNotify(e)}}const G=(t,e,s=(n,r)=>n===r)=>{const n=new M(t,s);return e.forEach(r=>r.setDerivative(n)),n},fe=(t,e,s={})=>{let n=s.once?()=>{o(),t()}:t;if(s.skipInitial){let i=!1;const l=n;n=()=>{i?l():i=!0}}const r=G(n,e),o=()=>{r.dispose(),s.abortSignal!=null&&s.abortSignal.removeEventListener("abort",o)};return s.abortSignal!=null&&s.abortSignal.addEventListener("abort",o),o},T=(t,e=(s,n)=>s===n)=>{const s=new U(t,e);return ae()?.track(s),s},J=(t,e=(s,n)=>s===n)=>new g(t,e),me=()=>typeof window<"u"?window:void 0,Ve=(t,e,s)=>t+(e-t)*s,xe=97,je=(t,e,s)=>{const n=Math.max(t.length,e.length);let r="";for(let o=0;o<n;o++){let i=t.charCodeAt(o);isNaN(i)&&(i=xe);let l=e.charCodeAt(o);isNaN(l)&&(l=xe),r+=String.fromCharCode(i+(l-i)*s)}return r},Be=(t,e,s)=>new Date(t.getTime()+(e.getTime()-t.getTime())*s),qe=(t,e)=>e,We=t=>typeof t=="number"?Ve:typeof t=="string"?je:t instanceof Date?Be:qe;class ge{_store=new Map;getItem=e=>this._store.get(e)??null;setItem=(e,s)=>{this._store.set(e,s)}}let de=null,pe=null;const kt=()=>(de||(de=new ge),de),Mt=()=>(pe||(pe=new ge),pe),ye=({key:t,defaultValue:e,store:s,serialize:n=JSON.stringify,deserialize:r=JSON.parse,equals:o=(c,u)=>c===u,onLoad:i=c=>c,syncTabs:l=!0,onKeyChange:a="load"})=>{let c=b.get(t);const u=s.getItem(c),d=new U(u!=null?i(r(u)):typeof e=="function"?e():e,o),f=me(),p=l&&typeof f?.BroadcastChannel=="function";let y=!1,v=null,P=null;const w=A=>{if(!p)return null;const R=`tempo:storedProp:${A}`,D=new f.BroadcastChannel(R),$=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,k=Z=>{const _=Z.data;if(!(_==null||typeof _!="object"||_.key!==A||typeof _.value!="string"||_.sourceId!=null&&_.sourceId===$))try{y=!0;const he=i(r(_.value));d.set(he)}catch(he){console.warn(`Failed to sync storedProp for key "${A}" via BroadcastChannel`,he)}finally{y=!1}};return D.addEventListener("message",k),d.onDispose(()=>{D?.removeEventListener("message",k),D?.close()}),{channel:D,instanceId:$,handleMessage:k}},L=w(c);L&&(v=L.channel,P=L.instanceId);const Q=A=>{const R=c;if(R===A)return;const D=d.get(),$=n(D);if(s.setItem(R,$),v!=null&&(v.close(),v=null,P=null),c=A,a==="load"){const Z=s.getItem(A);if(Z!=null)try{const _=i(r(Z));d.set(_)}catch(_){console.warn(`Failed to load storedProp from new key "${A}"`,_)}else s.setItem(A,$)}else a==="migrate"&&s.setItem(A,$);const k=w(A);k&&(v=k.channel,P=k.instanceId)};return g.is(t)&&d.onDispose(t.on(Q)),d.on((A,R)=>{const D=n(A);s.setItem(c,D),v!=null&&!y&&R!==void 0&&P!=null&&v.postMessage({key:c,value:D,sourceId:P})}),d},Ht=t=>{const e=me()?.localStorage,s=e&&typeof e.getItem=="function"?e:kt();return ye({...t,store:s})},Nt=t=>{const e=me()?.sessionStorage,s=e&&typeof e.getItem=="function"?e:Mt();return ye({...t,store:s})};function Le(t){return typeof requestAnimationFrame=="function"?requestAnimationFrame(t):setTimeout(t,0)}const Fe=(t,e,s,n)=>{const r=n?.duration??300,o=n?.easing??(w=>w),i=n?.equals??((w,L)=>w===L);let l=n?.interpolate,a=t,c=e(),u=performance.now(),d=null,f=!0;const p=new M(e,i),y=T(t,i);y.onDispose(()=>{d!==null&&cancelAnimationFrame(d)}),y.onDispose(p.dispose),s.forEach(w=>{w.setDerivative(p),w.onDispose(y.dispose)});const v=w=>{c=w,u=performance.now(),a=y.value,f&&(f=!1,d=Le(P))},P=()=>{const w=(performance.now()-u)/b.get(r),L=o(w);l==null&&(l=We(a));let Q=l(a,c,L);w>=1?(f=!0,Q=c):d=Le(P),y.set(Q)};return p.on(v),y},It=(t,e)=>{const{initialValue:s,...n}=e??{};return Fe(s??t.get(),t.get,[t],n)},Ue=(t,e)=>{const s=Object.values(t).filter(g.is),n=Object.keys(t);return G(()=>{const r={};for(const o of n)r[o]=b.get(t[o]);return e(r)},s)},Rt=t=>Ue(t,e=>e),$t=(t,e)=>{const s=T(t.get());let n=null;const r=t.on(o=>{n!=null&&clearTimeout(n),n=setTimeout(()=>{n=null,s.set(o)},typeof e=="function"?e(o):e)},{noAutoDispose:!0});return s.onDispose(()=>{r(),n!=null&&clearTimeout(n)}),s},Vt=t=>{let e;return t.map(s=>{const n=e;return e=s,n})},jt=({size:t=void 0,signal:e})=>{const s=[];return e.map(n=>(s.push(n),t!=null&&s.length>t&&s.shift(),s.slice()))},Bt=t=>(...e)=>F(t,...e)((s,...n)=>s(...n));function qt(...t){return F(...t)((...e)=>{for(const s of e)if(s!=null)return s})}class ne{constructor(e,s){this.index=e,this.total=s,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}counter;isFirst;isEven;isOdd;#e;get isLast(){return this.#e==null&&(this.#e=this.total.map(e=>this.counter===e)),this.#e}dispose=()=>{this.#e?.dispose(),this.#e=void 0}}const Ge=new Set(["checked","disabled","hidden"]),Je=new Set(["selected"]),Ke=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),ze=new Set(["valueAsDate"]),Ye=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Xe=(t,e)=>Je.has(t)?s=>{s==null||s!==!0?e.removeAttribute(t):e.setAttribute(t,"")}:Ge.has(t)?s=>{s==null?e[t]=null:e[t]=!!s}:Ke.has(t)?s=>{s==null?e[t]=null:e[t]=Number(s)}:ze.has(t)?s=>{s==null?e[t]=null:e[t]=s}:Ye.has(t)?s=>{s==null?e[t]=null:e[t]=String(s)}:s=>{s==null?e.removeAttribute(t):e.setAttribute(t,s)},Qe=(t,e)=>Je.has(t)?()=>e.hasAttribute(t):Ge.has(t)?()=>!!e[t]:Ke.has(t)?()=>Number(e[t]):ze.has(t)?()=>e[t]:Ye.has(t)?()=>String(e[t]):()=>e.getAttribute(t),q=t=>{const e=t;e&&e.onblur&&(e.onblur=null),!(!t||t.ownerDocument===void 0)&&t.parentElement&&t.parentElement.removeChild(t)},Ze=t=>be(t)?t:t.parentElement,be=t=>t.nodeType===1;class ve extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class H{constructor(e,s,n,r){this.document=e,this.element=s,this.reference=n,this.providers=r}static of(e,s,n){return new H(e.ownerDocument,e,s,n)}createElement=(e,s)=>s!==void 0?this.document.createElementNS(s,e):this.document.createElement(e);makeChildElement=(e,s)=>{const n=this.createElement(e,s);return this.appendOrInsert(n),this.withElement(n)};createText=e=>this.document.createTextNode(e);makeChildText=e=>{const s=this.createText(e);return this.appendOrInsert(s),this.withReference(s)};setText=e=>{this.reference.nodeValue=e};getText=()=>this.reference?.nodeValue??this.element.textContent??"";makeRef=()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)};appendOrInsert=e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)};withElement=e=>new H(this.document,e,void 0,this.providers);makePortal=e=>{const s=typeof e=="string"?this.document.querySelector(e):e;if(s==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(s)};withReference=e=>new H(this.document,this.element,e,this.providers);setProvider=(e,s,n)=>new H(this.document,this.element,this.reference,{...this.providers,[e]:[s,n]});getProvider=e=>{if(this.providers[e]===void 0)throw new ve(e);const[s,n]=this.providers[e];return{value:s,onUse:n}};clear=e=>{e&&(this.reference!==void 0?q(this.reference):q(this.element))};addClasses=e=>{this.element.classList.add(...e)};removeClasses=e=>{this.element.classList.remove(...e)};getClasses=()=>Array.from(this.element.classList);on=(e,s,n)=>{const r=o=>s(o,this);return this.element.addEventListener(e,r,n),o=>{o&&this.element.removeEventListener(e,r,n)}};isBrowserDOM=()=>!0;isBrowser=()=>!0;isHeadlessDOM=()=>!1;isHeadless=()=>!1;setStyle=(e,s)=>{this.element.style[e]=s};getStyle=e=>this.element.style[e];makeAccessors=e=>({get:Qe(e,this.element),set:Xe(e,this.element)});getWindow=()=>this.document.defaultView}const ce=(t,e)=>{const s=new B,n=O(s,()=>t.render(e));return(r=!0)=>{s.dispose(),n(r)}},Wt=(t,e,{doc:s,clear:n,disposeWithParent:r=!0,providers:o={}}={})=>{const i=typeof e=="string"?(s??document).querySelector(e):e;if(i===null)throw new et(`Cannot find element by selector for render: ${e}`);n!==!1&&(s??i.ownerDocument)!=null&&i.nodeType===1&&(i.innerHTML="");const l=Ze(i),a=be(i)?void 0:i,c=H.of(l,a,o),u=ce(t,c);let d;return r&&(d=new MutationObserver(f=>{f[0]?.removedNodes.forEach(p=>{p===i&&(d?.disconnect(),u(i.nodeType!==1))})}),d.observe(i.parentElement,{childList:!0,subtree:!1,attributes:!1})),()=>{d?.disconnect(),u(!0)}},Ft=(t,{startUrl:e="https://example.com",selector:s,providers:n={}}={selector:"body"})=>{const r=b.toSignal(e).deriveProp(),o=new Ae(s,void 0),i=new N(o,void 0,{currentURL:r},n);return{clear:ce(t(),i),root:o,currentURL:r}};class et extends Error{constructor(e){super(e)}}const we="data-tts-node",W="data-tts-class",re="data-tts-style",oe="data-tts-html",ie="data-tts-text",le="data-tts-attrs";class Ut{select;getAttribute;setAttribute;getClass;setClass;getStyles;setStyles;appendHTML;getInnerHTML;setInnerHTML;getInnerText;setInnerText;constructor({select:e,getAttribute:s,setAttribute:n,getClass:r,setClass:o,getStyles:i,setStyles:l,appendHTML:a,getInnerHTML:c,setInnerHTML:u,getInnerText:d,setInnerText:f}){this.select=e,this.getAttribute=s,this.setAttribute=n,this.getClass=r,this.setClass=o,this.getStyles=i,this.setStyles=l,this.appendHTML=a,this.getInnerHTML=c,this.setInnerHTML=u,this.getInnerText=d,this.setInnerText=f}setFromRoot=(e,s)=>{e.getPortals().forEach(r=>{const o=typeof r.selector=="string"?this.select(r.selector):[r.selector];for(const i of o){if(i==null)throw new Error(`Cannot find element by selector for render: ${r.selector}`);if(r.hasChildren()&&this.appendHTML(i,r.contentToHTML(s)),r.hasInnerHTML()){if(s){const l=this.getInnerHTML(i);l!=null&&this.setAttribute(i,oe,l)}this.setInnerHTML(i,r.getInnerHTML())}if(r.hasInnerText()){if(s){const l=this.getInnerText(i);l!=null&&this.setAttribute(i,ie,l)}this.setInnerText(i,r.getInnerText())}if(r.hasClasses()){if(s){const l=this.getClass(i);l!=null&&this.setAttribute(i,W,l)}this.setClass(i,r.getClasses().join(" "))}if(r.hasStyles()){if(s){const l=this.getStyles(i);Object.keys(l).length>0&&this.setAttribute(i,re,JSON.stringify(l))}this.setStyles(i,r.getStyles())}if(r.hasAttributes()){const l=r.getAttributes();if(s){const a=[];l.forEach(([c])=>{const u=this.getAttribute(i,c);u!=null&&a.push([c,u])}),a.length>0&&this.setAttribute(i,le,JSON.stringify(Object.fromEntries(a)))}l.forEach(([a,c])=>{this.setAttribute(i,a,c)})}}})}}const Gt=()=>{document.querySelectorAll(`[${we}]`).forEach(q)},Jt=t=>{const e=t.getAttribute(W);t.removeAttribute(W),e!=null&&t.setAttribute("class",e)},Kt=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Jt(e))},zt=t=>{const e=t.getAttribute(oe);t.removeAttribute(oe),e!=null&&(t.innerHTML=e)},Yt=()=>{document.querySelectorAll(`[${oe}]`).forEach(e=>zt(e))},Xt=t=>{const e=t.getAttribute(ie);t.removeAttribute(ie),e!=null&&(t.innerText=e)},Qt=()=>{document.querySelectorAll(`[${ie}]`).forEach(e=>Xt(e))},tt=t=>JSON.parse(t.replace(/&quot;/g,'"')),Zt=t=>{const e=t.getAttribute(re);if(t.removeAttribute(re),e!=null){const s=tt(e);Object.entries(s).forEach(([n,r])=>{t.style.setProperty(n,r)})}},es=()=>{document.querySelectorAll(`[${re}]`).forEach(e=>Zt(e))},ts=t=>{const e=t.getAttribute(le);if(t.removeAttribute(le),e!=null){const s=tt(e);Object.entries(s).forEach(([n,r])=>{r==null?t.removeAttribute(n):t.setAttribute(n,r)})}},ss=()=>{document.querySelectorAll(`[${le}]`).forEach(e=>ts(e))},ns=()=>{Gt(),Kt(),Qt(),Yt(),es(),ss()},V=Symbol("class"),j=Symbol("style"),ee=Symbol("handler"),st=()=>Math.random().toString(36).substring(2,15),rs=t=>t.replace(/<[^>]*>?/g,"");class nt{constructor(e){this.parent=e}id=st();properties={};children=[];isElement=()=>!0;isText=()=>!1;getText=()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?rs(this.properties.innerHTML):this.children.map(e=>e.getText()).join("");removeChild=e=>{const s=this.children.indexOf(e);s!==-1&&this.children.splice(s,1)};remove=()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")};getPortals=()=>{const e=this.elements().flatMap(s=>s.isPortal()?[s,...s.getPortals()]:s.getPortals());return this.isPortal()&&e.unshift(this),e};elements=()=>this.children.filter(e=>e.isElement());hasInnerHTML=()=>this.properties.innerHTML!=null;getInnerHTML=()=>this.properties.innerHTML??"";getInnerText=()=>this.properties.innerText??"";hasInnerText=()=>this.properties.innerText!=null;hasChildren=()=>this.children.length>0;hasClasses=()=>this.properties[V]!=null;hasStyles=()=>this.properties[j]!=null;hasAttributes=()=>Object.keys(this.properties).length>0;hasHandlers=()=>this.properties[ee]!=null;hasRenderableProperties=()=>this.hasClasses()||this.hasAttributes()||this.hasStyles();getById=e=>{if(this.properties.id===e)return this;for(const s of this.elements()){const n=s.getById(e);if(n!=null)return n}};trigger=(e,s)=>{((this.properties[ee]??{})[e]??[]).forEach(r=>r(s))};click=()=>{this.trigger("click",{})};on=(e,s,n,r)=>{const o=this.properties[ee]??={},i=r?.once?a=>{l(),s(a,n)}:a=>s(a,n);o[e]=[...o[e]??[],i];const l=()=>{const a=o[e]??[],c=a.indexOf(i);c!==-1&&(a.splice(c,1),a.length===0?(delete o[e],Object.keys(o).length===0&&delete this.properties[ee]):o[e]=a,r?.signal!=null&&r.signal.removeEventListener("abort",l))};return r?.signal!=null&&r.signal.addEventListener("abort",l),l};addClasses=e=>{if(e.length===0)return;const s=this.properties[V]??=[];e.forEach(n=>{s.includes(n)||s.push(n)})};removeClasses=e=>{if(e.length===0)return;const s=this.properties[V]??=[];e.forEach(n=>{const r=s.indexOf(n);r!==-1&&s.splice(r,1)}),s.length===0&&delete this.properties[V]};getClasses=()=>this.properties[V]??[];getAttributes=()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e));getVisibleAttributes=()=>Reflect.ownKeys(this.properties).flatMap(e=>e===V?[["class",this.getClasses()]]:e===j?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]);setStyle=(e,s)=>{const n=this.properties[j]??={};n[e]=s,s===""&&(delete n[e],Object.keys(n).length===0&&delete this.properties[j])};getStyle=e=>this.properties[j]?.[e]??"";getStyles=()=>this.properties[j]??{};makeAccessors=e=>{const s=this.properties;return{get:()=>s[e],set:n=>s[e]=n}}}const os=t=>t.replace(/"/g,"&quot;"),is=t=>t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class rt extends nt{constructor(e,s,n){super(n),this.tagName=e,this.namespace=s}isPortal=()=>!1;toHTML=(e=!1)=>{const s=this.children.map(l=>l.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let r=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,u])=>`${c}: ${u};`).join(" ")}"`:ls.has(l)?` ${l}`:l==="innerHTML"?(r=a,""):l==="innerText"?(r=is(a),""):` ${l}="${os(a)}"`).join(""),i=e?` ${we}`:"";return as.has(this.tagName)&&s===""?`<${this.tagName}${n}${o}${i} />`:`<${this.tagName}${n}${o}${i}>${r??s}</${this.tagName}>`}}class Ae extends nt{constructor(e,s){super(s),this.selector=e}isPortal=()=>!0;toHTML=()=>"";contentToHTML=(e=!1)=>this.children.map(s=>s.toHTML(e)).join("")}class ot{constructor(e){this.text=e}id=st();isElement=()=>!1;isText=()=>!0;getText=()=>this.text;toHTML=()=>this.text}class N{constructor(e,s,n,r){this.element=e,this.reference=s,this.container=n,this.providers=r}appendOrInsert=e=>{if(this.reference!=null){const s=this.element.children.indexOf(this.reference);s>=0&&this.element.children.splice(s,0,e)}else this.element.children.push(e)};makeChildElement=(e,s)=>{const n=new rt(e,s,this.element);return this.appendOrInsert(n),new N(n,void 0,this.container,this.providers)};makeChildText=e=>{const s=new ot(e);return this.appendOrInsert(s),new N(this.element,s,this.container,this.providers)};setText=e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)};getText=()=>this.reference?.getText()??this.element.getText();makeRef=()=>this.makeChildText("");makePortal=e=>{const s=new Ae(e,this.element);return this.appendOrInsert(s),new N(s,void 0,this.container,this.providers)};setProvider=(e,s,n)=>new N(this.element,this.reference,this.container,{...this.providers,[e]:[s,n]});getProvider=e=>{if(this.providers[e]===void 0)throw new ve(e);const[s,n]=this.providers[e];return{value:s,onUse:n}};clear=e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())};on=(e,s)=>this.element.on(e,s,this);addClasses=e=>this.element.addClasses(e);removeClasses=e=>this.element.removeClasses(e);getClasses=()=>this.element.getClasses();isBrowserDOM=()=>!1;isBrowser=()=>!1;isHeadlessDOM=()=>!0;isHeadless=()=>!0;setStyle=(e,s)=>this.element.setStyle(e,s);getStyle=e=>this.element.getStyle(e);makeAccessors=e=>this.element.makeAccessors(e)}const ls=new Set(["checked","disabled","multiple","readonly","required","selected"]),as=new Set(["img","br","hr","input","link","meta"]),cs=()=>typeof window<"u"?window:void 0,us=Symbol("DOM_RENDERABLE"),m=t=>He(us,t),Se=t=>m(e=>e.makeChildText(t).clear),_e=t=>m(e=>{const s=e.makeChildText(t.value),n=t.on(s.setText);return r=>{n(),s.clear(r)}}),hs=t=>g.is(t)?_e(t):Se(t),E=(...t)=>m(e=>{const s=t.map(n=>h(n).render(e));return n=>{s.forEach(r=>r(n))}}),C=m(()=>()=>{}),ds=t=>m(e=>(e.addClasses(t),s=>{s&&e.removeClasses(t)})),ps=t=>m(e=>{let s=[];const n=t.on(r=>{e.removeClasses(s),s=(r??"").split(" ").filter(o=>o.length>0),e.addClasses(s)},{noAutoDispose:!0});return r=>{n(),r&&e.removeClasses(s),s.length=0}}),fs=(t,e)=>m(s=>{const{get:n,set:r}=s.makeAccessors(t),o=n();return r(e),i=>{i&&r(o)}}),ms=(t,e)=>m(s=>{const{get:n,set:r}=s.makeAccessors(t),o=n(),i=e.on(r,{noAutoDispose:!0});return l=>{i(),l&&r(o)}}),K=(t,e)=>g.is(e)?ms(t,e):fs(t,e),it=(t,e)=>t==="class"?g.is(e)?ps(e):ds((e??"").split(" ").filter(s=>s.length>0)):K(t,e),I=new Proxy({},{get:(t,e)=>s=>it(e,s)}),lt=(t,e)=>K(`data-${t}`,e),gs=new Proxy({},{get:(t,e)=>s=>lt(e,s)}),at=(t,e)=>K(`aria-${t}`,e),ys=new Proxy({},{get:(t,e)=>s=>at(e,s)}),ct=(t,e)=>K(t,e),bs=new Proxy({},{get:(t,e)=>s=>ct(e,s)}),ut=(t,e)=>K(t,e),vs=new Proxy({},{get:(t,e)=>s=>ut(e,s)}),h=t=>{if(t==null)return C;if(Array.isArray(t))return E(...t.map(h));if(typeof t=="string")return Se(t);if(g.is(t))return _e(t);if(typeof t=="object"&&"render"in t&&"type"in t)return t;throw new Error(`Unknown type: '${typeof t}' for child: ${t}`)},Te=(t,...e)=>m(s=>{const n=s.makeChildElement(t,void 0),r=e.map(o=>h(o).render(n));return o=>{r.forEach(i=>i(!1)),n.clear(o)}}),z=(t,e,...s)=>m(n=>{const r=n.makeChildElement(t,e),o=s.map(i=>h(i).render(r));return i=>{o.forEach(l=>l(!1)),r.clear(i)}}),ws=new Proxy({},{get:(t,e)=>(...s)=>Te(e,s.flatMap(h))}),As=new Proxy({},{get:(t,e)=>(...s)=>Te("input",I.type(e),...s)}),ht="http://www.w3.org/2000/svg",Ss=(t,...e)=>z(t,ht,...e),_s=new Proxy({},{get:(t,e)=>(...s)=>z(e,ht,s.flatMap(h))}),dt="http://www.w3.org/1998/Math/MathML",Ts=(t,...e)=>z(t,dt,...e),Es=new Proxy({},{get:(t,e)=>(...s)=>z(e,dt,s.flatMap(h))}),Ee=(t,e)=>{if(typeof e=="function")return Ee(t,{then:e});const s=e.pending!=null?h(e.pending()):C,n=e.then,r=e.error!=null?o=>h(e.error(o)):()=>C;return m(o=>{let i=!0;const l=t(),a=o.makeRef();let c=h(s).render(a);return l.then(u=>{i&&(c(!0),c=h(n(u)).render(a))},u=>{i&&(c(!0),c=h(r(u)).render(a))}),u=>{i=!1,c(u),a.clear(u)}})},Cs=(t,e)=>Ee(()=>t,e),pt=(t,e,s)=>m(n=>n.on(t,e,s)),ft=t=>pt("click",(e,s)=>{e.preventDefault();const n=e.target;setTimeout(()=>{const r=n.ownerDocument!=null?n?.checked:void 0;r!=null&&t(!r,s)},0)}),Y=new Proxy({},{get:(t,e)=>s=>pt(e,s)}),mt=(t,e)=>s=>{e?.preventDefault===!0&&s.preventDefault(),e?.stopPropagation===!0&&s.stopPropagation(),e?.stopImmediatePropagation===!0&&s.stopImmediatePropagation(),t(s)},x=(t,e)=>mt(s=>{const n=s.target;t(n,s)},e),gt=(t,e)=>x((s,n)=>t(s.value,n),e),yt=(t,e)=>x((s,n)=>t(s.valueAsNumber,n),e),bt=(t,e)=>x((s,n)=>{if(s.value==="")return;const r=s.value.split("-"),o=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));t(o,n)},e),Ds=(t,e)=>x((s,n)=>{if(s.value===""){t(null,n);return}const r=s.value.split("-"),o=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));t(o,n)},e),vt=(t,e)=>x((s,n)=>{if(s.value==="")return;const r=s.value.split("T"),o=r[0].split("-"),i=new Date(Number(o[0]),Number(o[1])-1,Number(o[2])),l=r[1].split(":");i.setHours(Number(l[0])),i.setMinutes(Number(l[1])),i.setSeconds(Number(l[2])),t(i,n)},e),Ps=(t,e)=>x((s,n)=>{if(s.value===""){t(null,n);return}const r=s.value.split("T");if(r.length!==2){t(null,n);return}const o=r[0].split("-"),i=new Date(Number(o[0]),Number(o[1])-1,Number(o[2])),l=r[1].split(":");i.setHours(Number(l[0]??0)),i.setMinutes(Number(l[1]??0)),i.setSeconds(Number(l[2]??0)),t(i,n)},e),Os=(t,e)=>x((s,n)=>{t(s.checked,n)},e),xs=(t,e="input")=>E(I.valueAsDate(t),Y[e](bt(t.set))),Ls=(t,e="input")=>E(I.valueAsDate(t),Y[e](vt(t.set))),ks=(t,e="input")=>E(I.valueAsNumber(t),Y[e](yt(t.set))),Ms=(t,e="input")=>E(I.value(t),Y[e](gt(t.set))),Hs=t=>E(I.checked(t),ft(t.set)),Ce=(t,e,s)=>g.is(t)?e(t):s(t),Ns=(t,e,s)=>{const n=t.makeRef();let r=()=>{},o=null;const i=e.on(l=>{o?.dispose(),r(!0),o=new B,r=O(o,()=>h(s(l)).render(n))},{noAutoDispose:!0});return l=>{o?.dispose(),r(l),i(),n.clear(l)}},X=(t,e)=>{function s(r){return m(o=>{const i=o.makeRef();let l,a;const c=r.map(f=>Object.keys(f)[0]);let u;const d=c.on(f=>{if(f!==u){u=f,a?.dispose(),l?.(!0),a=r.map(y=>y[f]);const p=e[f](a);l=h(p).render(i)}});return f=>{a?.dispose(),d(),i.clear(f),l?.(f)}})}function n(r){const o=Object.keys(r)[0];return h(e[o](J(r[o])))}return Ce(t,s,n)},De=(t,e,s)=>X(b.map(t,n=>({[n[e]]:n})),s),Is=(t,e)=>De(t,"kind",e),Rs=(t,e)=>{const s=b.map(t,([n,r])=>({[n]:r}));return X(s,e)},$s=(t,e)=>De(t,"type",e),wt=(t,e)=>X(b.map(t,s=>({[s]:!0})),e),Vs=(t,e={})=>s=>{const n=e?.firstSeparator??t,r=e?.lastSeparator??t;return wt(s.map(o=>o.isFirst?"first":o.isLast?"last":"other"),{first:n,last:r,other:t})},js=t=>m(e=>(e.appendOrInsert(t),s=>{s&&q(t)})),Bs=(t,e,s)=>{function n(o){return m(i=>{const l=i.makeRef();let a=()=>{},c=!1,u=null;const d=o.on(f=>{f==null?(a(!0),a=h(s?.()).render(l),c=!1,u?.dispose(),u=null):c?u.set(f):(u=T(f),a(!0),a=h(e(u)).render(l),c=!0)});return f=>{u?.dispose(),d(),a?.(f),l.clear(f)}})}function r(o){if(o==null){const i=s?.();return i!=null?h(i):C}return h(e(J(o)))}return Ce(t,n,r)},qs=(...t)=>(e,s)=>m(n=>{const r=n.makeRef();if(t.some(p=>!g.is(p)&&p==null))return(s!=null?h(s?.()):C).render(r);const i=t.map(()=>null),l=t.map(p=>g.is(p)?p.value!=null:p!=null);let a=null;const c=T(l.every(p=>p)),u=(p,y)=>{if(p.value!=null){if(i[y]==null){const v=T(p.value);i[y]=v}else i[y].value=p.value;l[y]=!0}else l[y]=!1};let d=t.length-1;const f=t.map((p,y)=>{if(!g.is(p)){const v=T(p);return i[y]=v,()=>{}}return p.on(()=>{u(p,y),d===0?c.value=l.every(v=>v):d--})});return c.on(p=>{a?.(!0),a=null,p?a=h(e(...i)).render(r):a=h(s?.()??C).render(r)}),p=>{i.forEach(y=>y?.dispose()),c.dispose(),f.forEach(y=>y()),a?.(p),r.clear(p)}}),Pe=(t,e,s)=>Ce(t,n=>m(r=>Ns(r,n,o=>o?e():s?.())),n=>{if(n){const r=e();return r!=null?h(r):C}return h(s?.())}),Ws=(t,e,s)=>Pe(b.map(t,n=>!n),e,s),Oe=(t,e,s)=>{if(s!=null)return Oe(t,n=>{const r=new ne(n.index,n.total.map(o=>o-1));return E(h(e(n)),Pe(n.isLast,()=>C,()=>s(r)))});if(g.is(t))return m(n=>{const r=t.derive(),o=n.makeRef(),i=[],l=[];return r.on(a=>{const c=i.splice(a),u=l.splice(a);for(const d of u)d.dispose();for(const d of c)d(!0);for(let d=i.length;d<a;d++){const f=new ne(d,r),p=new B;l.push(p),i.push(O(p,()=>h(e(f)).render(o)))}}),a=>{for(const c of l)c.dispose();l.length=0,r.dispose();for(const c of i)c(a);i.length=0,o.clear(a)}});{const n=J(t);return E(...Array.from({length:t},(r,o)=>o).map(r=>{const o=new ne(r,n);return h(e(o))}))}},Fs=(t,e,s)=>{const n=b.map(t,o=>o.length),r=b.toSignal(t);return Oe(n,o=>{const i=r.map(l=>l[o.index]);return h(e(i,o))},s)},At=(...t)=>m(e=>s=>t.forEach(n=>{typeof n=="function"?n(s,e):n.dispose(s,e)})),Us=(t,e)=>{if(g.is(t)){const s=t;return m(n=>{n=n.makeRef();const r=s.map(l=>h(e(l)));let o=()=>{};const i=r.on(l=>{o(!0),o=l.render(n)});return l=>{i(),o(l)}})}return h(e(t))},Gs=(t,e,s=()=>C)=>X(b.map(t,n=>n.length>0?{notEmpty:n}:{whenEmpty:null}),{notEmpty:n=>e(n),whenEmpty:()=>s()}),Js=(t,e)=>m(s=>{const n=s.makePortal(t),r=ce(h(e),n);return()=>r(!0)}),te=new Map,St=t=>({mark:Me(`Probe(${t.description})`),create:({callback:e=()=>{},timeout:s=10}={})=>{const n=l=>{clearTimeout(r),te.delete(t),e(l)};if(te.has(t))throw new Error(`Probe already exists: ${t.description}`);const r=setTimeout(()=>n("timeout"),s),o={counter:0,timeoutId:r};return te.set(t,o),{value:()=>{clearTimeout(r);const l=te.get(t);l!=null&&--l.counter===0&&n("resolved")},dispose:()=>n("disposed"),onUse:()=>o.counter++}}}),Ks=St(Symbol("GlobalProbe")),zs=(t,e)=>m(s=>{const n=s.getStyle(t);return s.setStyle(t,e),r=>{r&&s.setStyle(t,n)}}),Ys=(t,e)=>m(s=>{const n=s.getStyle(t),r=e.on(o=>s.setStyle(t,o));return o=>{r(),o&&s.setStyle(t,n)}}),ke=(t,e)=>g.is(e)?Ys(t,e):zs(t,e),Xs=new Proxy({},{get:(t,e)=>e==="variable"?(s,n)=>ke(s,n):s=>ke(e,s)}),_t=t=>m(e=>{if(e.isBrowser()){const s=t(e);if(s!=null)return h(s).render(e)}return()=>{}}),Qs=t=>m(e=>{const s=t(e);return s==null?()=>{}:h(s).render(e)}),Zs=t=>_t(e=>t(e.element)),en=t=>m(e=>{if(e.isHeadlessDOM()){const s=t(e);if(s)return h(s).render(e)}return()=>{}}),tn=t=>m(e=>{const s=new B,n=O(s,()=>h(t(s)).render(e));return r=>{s.dispose(),n(r)}}),ue=t=>m(e=>{let s=e;function n(){return s}function r(l){s=l}const o=[],i=t({use:({mark:l})=>{const{value:a,onUse:c}=n().getProvider(l);return c?.(),a},set:({mark:l,create:a},c)=>{const{value:u,dispose:d,onUse:f}=a(c,n());o.push(d),r(n().setProvider(l,u,f))}});return i==null?()=>{}:E(h(i),At(()=>o.forEach(l=>l()))).render(n())}),sn=(t,e,s)=>ue(({set:n})=>(n(t,e),s())),nn=(t,e)=>ue(({use:s})=>e(s(t))),rn=(...t)=>e=>ue(({use:s})=>{const n=t.map(s);return e(...n)});exports.Aria=at;exports.Async=Cs;exports.Attr=it;exports.BindChecked=Hs;exports.BindDate=xs;exports.BindDateTime=Ls;exports.BindNumber=ks;exports.BindText=Ms;exports.BrowserContext=H;exports.CLASS_PLACEHOLDER_ATTR=W;exports.Computed=M;exports.Conjunction=Vs;exports.DOMNode=js;exports.DataAttr=lt;exports.DisposalScope=B;exports.El=Te;exports.ElNS=z;exports.ElementPosition=ne;exports.Empty=C;exports.Ensure=Bs;exports.EnsureAll=qs;exports.ForEach=Fs;exports.Fragment=E;exports.GlobalProbe=Ks;exports.HeadlessAdapter=Ut;exports.HeadlessContext=N;exports.HeadlessElement=rt;exports.HeadlessPortal=Ae;exports.HeadlessText=ot;exports.MapSignal=Us;exports.MathAttr=ut;exports.MathEl=Ts;exports.MemoryStore=ge;exports.NotEmpty=Gs;exports.OnChecked=ft;exports.OnDispose=At;exports.OneOf=X;exports.OneOfField=De;exports.OneOfKind=Is;exports.OneOfTuple=Rs;exports.OneOfType=$s;exports.OneOfValue=wt;exports.Portal=Js;exports.Prop=U;exports.Provide=sn;exports.ProviderNotFoundError=ve;exports.RenderingError=et;exports.Repeat=Oe;exports.SVGAttr=ct;exports.SVGEl=Ss;exports.Signal=g;exports.Task=Ee;exports.TextNode=hs;exports.Unless=Ws;exports.Use=nn;exports.UseMany=rn;exports.Value=b;exports.When=Pe;exports.WithBrowserCtx=_t;exports.WithCtx=Qs;exports.WithElement=Zs;exports.WithHeadlessCtx=en;exports.WithProvider=ue;exports.WithScope=tn;exports._NODE_PLACEHOLDER_ATTR=we;exports._getSelfOrParentElement=Ze;exports._isElement=be;exports._makeGetter=Qe;exports._makeSetter=Xe;exports._removeDOMNode=q;exports._signalText=_e;exports._staticText=Se;exports.animateSignal=It;exports.animateSignals=Fe;exports.aria=ys;exports.attr=I;exports.bind=Bt;exports.coalesce=qt;exports.computed=G;exports.computedOf=F;exports.computedRecord=Ue;exports.createRenderable=He;exports.dataAttr=gs;exports.delaySignal=$t;exports.effect=fe;exports.effectOf=Ie;exports.emit=mt;exports.emitChecked=Os;exports.emitTarget=x;exports.emitValue=gt;exports.emitValueAsDate=bt;exports.emitValueAsDateTime=vt;exports.emitValueAsNullableDate=Ds;exports.emitValueAsNullableDateTime=Ps;exports.emitValueAsNumber=yt;exports.endInterpolate=qe;exports.getCurrentScope=ae;exports.getParentScope=Ot;exports.getScopeStack=Pt;exports.getWindow=cs;exports.guessInterpolate=We;exports.html=ws;exports.input=As;exports.interpolateDate=Be;exports.interpolateNumber=Ve;exports.interpolateString=je;exports.joinSignals=Dt;exports.localStorageProp=Ht;exports.makeProbe=St;exports.makeProviderMark=Me;exports.math=Es;exports.mathAttr=vs;exports.merge=Rt;exports.on=Y;exports.popScope=$e;exports.previousSignal=Vt;exports.prop=T;exports.pushScope=Re;exports.render=Wt;exports.renderWithContext=ce;exports.renderableOfTNode=h;exports.restoreTempoPlaceholders=ns;exports.runHeadless=Ft;exports.scoped=xt;exports.sessionStorageProp=Nt;exports.signal=J;exports.slidingWindowSignal=jt;exports.storedProp=ye;exports.style=Xs;exports.svg=_s;exports.svgAttr=bs;exports.untracked=se;exports.withScope=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ie=t=>Symbol(t);function Re(t,e){return{type:t,render:e}}function $e(t){return t!=null&&t!==!1&&t!==0&&t!==""}function Et(t){return!$e(t)}function Ct(t){return t==null}function Dt(t){return t!=null}const b={map:(t,e)=>g.is(t)?t.map(e):e(t),toSignal:(t,e)=>g.is(t)?t.derive():J(t,e),maybeToSignal:(t,e)=>{if(t!=null)return b.toSignal(t,e)},get:t=>g.is(t)?t.get():t,on:(t,e)=>g.is(t)?t.on(e):(e(t),()=>{}),dispose:t=>{g.is(t)&&t.dispose()},disposeFn:t=>()=>b.dispose(t),deriveProp:(t,{autoDisposeProp:e=!0,equals:s}={})=>g.is(t)?t.deriveProp({autoDisposeProp:e,equals:s}):T(t,s),truthy:t=>b.map(t,$e),falsy:t=>b.map(t,Et),nil:t=>b.map(t,Ct),defined:t=>b.map(t,Dt)},F=(...t)=>(e,s)=>{if(t.length===1)return b.toSignal(t[0]).map(e);const n=t.filter(r=>g.is(r));return G(()=>e(...t.map(r=>b.get(r))),n,s)},Pt=t=>{const e=Object.keys(t);return F(...Object.values(t))((...s)=>Object.fromEntries(e.map((n,r)=>[n,s[r]])))},Ve=(...t)=>(e,s={})=>{const n=t.filter(r=>g.is(r));return fe(()=>e(...t.map(b.get)),n,s)};class B{_signals=new Set;_callbacks=[];_disposed=!1;track(e){if(this._disposed)throw new Error("Cannot track signal in disposed scope");if(e.isDisposed())throw new Error("Cannot track already disposed signal");this._signals.add(e)}onDispose(e){if(this._disposed)throw new Error("Cannot register callback in disposed scope");this._callbacks.push(e)}dispose(){if(!this._disposed){this._disposed=!0;for(const e of this._callbacks)try{e()}catch(s){console.error("Error in disposal callback:",s)}this._callbacks.length=0;for(const e of this._signals)e.dispose();this._signals.clear()}}get disposed(){return this._disposed}prop(e,s){const n=ne(()=>T(e,s));return this.track(n),n}computed(e,s,n){const r=ne(()=>G(e,s,n));return this.track(r),r}effect(e,s,n){return O(this,()=>fe(e,s,n))}computedOf(...e){return(s,n)=>{const r=ne(()=>F(...e)(s,n));return this.track(r),r}}effectOf(...e){return(s,n)=>O(this,()=>Ve(...e)(s,n))}}const A=[],je=t=>{A.push(t)},Be=()=>{if(A.length===0)throw new Error("Cannot pop from empty scope stack");A.pop()},ce=()=>A[A.length-1]??null,Ot=()=>A,xt=()=>A[A.length-2]??null,O=(t,e)=>{je(t);try{return e()}finally{Be()}},Lt=t=>{const e=new B;try{return O(e,()=>t(e))}finally{e.dispose()}},ne=t=>{const e=A.slice();A.length=0;try{return t()}finally{A.length=0,A.push(...e)}};class g{constructor(e,s){this.equals=s,this._value=e}static ofPromise=(e,s,n,r=(o,i)=>o===i)=>{const o=new g(s,r);return e.then(i=>o._setAndNotify(i)).catch(i=>{n!=null?o._setAndNotify(n(i)):console.error("Unhandled promise rejection in Signal.ofPromise:",i)}),o};static is=e=>e!=null&&e.$__signal__===!0;$__signal__=!0;_value;_derivatives=[];_onValueListeners=[];_onDisposeListeners=[];get=()=>this._value;get value(){return this._value}hasListeners=()=>this._onValueListeners.length>0;on=(e,s={})=>{s.skipInitial||e(this.get(),void 0);const n=s.once?(o,i)=>{r(),e(o,i)}:e;this._onValueListeners.push(n);const r=()=>{const o=this._onValueListeners.indexOf(n);o!==-1&&this._onValueListeners.splice(o,1),s.abortSignal!=null&&s.abortSignal.removeEventListener("abort",r)};return s.abortSignal!=null&&s.abortSignal.addEventListener("abort",r),!s.noAutoDispose&&ce()?.onDispose(r),r};onChange=(e,s={})=>{let n=0;const r=(o,i)=>{n++>0&&e(o,i)};return this.on(r,s)};_setAndNotify=e=>{if(this._disposed)return;const s=this._value;this.equals(s,e)||(this._value=e,this._onValueListeners.forEach(n=>n(e,s)))};_disposed=!1;isDisposed=()=>this._disposed;onDispose=e=>{this._onDisposeListeners.push(e)};dispose=()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0,this._onValueListeners.length=0)};map=(e,s=(n,r)=>n===r)=>{const n=new M(()=>{try{return e(this.get())}catch(r){throw console.error("Error in Signal.map:",r),r}},s);return this.setDerivative(n),n};flatMap=(e,s=(n,r)=>n===r)=>{const n=new M(()=>{try{return e(this.get()).get()}catch(r){throw console.error("Error in Signal.flatMap:",r),r}},s);return this.setDerivative(n),n};tap=e=>this.map(s=>(e(s),s));at=e=>this.map(s=>s[e]);_$;get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,s)=>this.at(s)})}filter=(e,s)=>{let n=s??this.get();const r=new M(()=>{try{const o=this.get();return n=e(o)?o:n}catch(o){throw console.error("Error in Signal.filter:",o),o}},this.equals);return this.setDerivative(r),r};filterMap=(e,s,n=(r,o)=>r===o)=>{let r=s;const o=new M(()=>{try{const i=this.get();return r=e(i)??r}catch(i){throw console.error("Error in Signal.filterMap:",i),i}},n);return this.setDerivative(o),o};mapAsync=(e,s,n,r=(o,i)=>o===i)=>{const o=T(s,r);let i=0,l=new AbortController;return o.onDispose(this.on(async a=>{const c=++i;l.abort(),l=new AbortController;try{const u=await e(a,{abortSignal:l.signal});c===i&&o.set(u)}catch(u){if(c===i)if(n!=null)o.set(n(u));else throw u}})),o};mapMaybe=(e,s)=>this.map(n=>e(n)??s);feedProp=(e,s=!1)=>{const n=this.on(e.set,{noAutoDispose:!s});return e.onDispose(n),s?this.onDispose(e.dispose):this.onDispose(n),e};deriveProp=({autoDisposeProp:e=!0,equals:s}={})=>this.feedProp(T(this.get(),s),e);derive=()=>this.map(e=>e);count=()=>{let e=0;return this.map(()=>++e)};setDerivative=e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty,{noAutoDispose:!0})),this.onDispose(e.dispose)}}const kt=typeof queueMicrotask=="function"?queueMicrotask:t=>Promise.resolve().then(t);class M extends g{constructor(e,s){super(void 0,s),this._fn=e,this.setDirty(),ce()?.track(this)}static is(e){return e!=null&&e.$__computed__===!0}$__computed__=!0;_isDirty=!1;setDirty=()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(e=>e.setDirty()),this._scheduleNotify())};_scheduleCount=0;_scheduleNotify=()=>{const e=++this._scheduleCount;kt(()=>{this._scheduleCount!==e||this._disposed||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn()))})};get=()=>(this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn())),this._value);get value(){return this.get()}dispose=()=>{this._disposed||(this._scheduleCount++,this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)}}class U extends g{static is=e=>e!=null&&e.$__prop__===!0;$__prop__=!0;set=e=>{this._setAndNotify(e)};update=e=>{this._setAndNotify(e(this.get()))};reducer=(e,...s)=>{const n=this;return function r(o){const i=n.value;n.update(l=>e(l,o)),!n.equals(i,n.value)&&s.forEach(l=>l({previousState:i,state:n.value,action:o,dispatch:r}))}};iso=(e,s,n=(r,o)=>r===o)=>{const r=new U(e(this.get()),n);return r.onDispose(this.on(o=>r.set(e(o)))),r.on(o=>this._setAndNotify(s(o))),r};atProp=e=>this.iso(s=>s[e],s=>({...this.value,[e]:s}));get value(){return this.get()}set value(e){this._setAndNotify(e)}}const G=(t,e,s=(n,r)=>n===r)=>{const n=new M(t,s);return e.forEach(r=>r.setDerivative(n)),n},fe=(t,e,s={})=>{let n=s.once?()=>{o(),t()}:t;if(s.skipInitial){let i=!1;const l=n;n=()=>{i?l():i=!0}}const r=G(n,e),o=()=>{r.dispose(),s.abortSignal!=null&&s.abortSignal.removeEventListener("abort",o)};return s.abortSignal!=null&&s.abortSignal.addEventListener("abort",o),o},T=(t,e=(s,n)=>s===n)=>{const s=new U(t,e);return ce()?.track(s),s},J=(t,e=(s,n)=>s===n)=>new g(t,e),me=()=>typeof window<"u"?window:void 0,qe=(t,e,s)=>t+(e-t)*s,Me=97,We=(t,e,s)=>{const n=Math.max(t.length,e.length);let r="";for(let o=0;o<n;o++){let i=t.charCodeAt(o);isNaN(i)&&(i=Me);let l=e.charCodeAt(o);isNaN(l)&&(l=Me),r+=String.fromCharCode(i+(l-i)*s)}return r},Fe=(t,e,s)=>new Date(t.getTime()+(e.getTime()-t.getTime())*s),Ue=(t,e)=>e,Ge=t=>typeof t=="number"?qe:typeof t=="string"?We:t instanceof Date?Fe:Ue;class ge{_store=new Map;getItem=e=>this._store.get(e)??null;setItem=(e,s)=>{this._store.set(e,s)}}let de=null,pe=null;const Mt=()=>(de||(de=new ge),de),Nt=()=>(pe||(pe=new ge),pe),ye=({key:t,defaultValue:e,store:s,serialize:n=JSON.stringify,deserialize:r=JSON.parse,equals:o=(c,u)=>c===u,onLoad:i=c=>c,syncTabs:l=!0,onKeyChange:a="load"})=>{let c=b.get(t);const u=s.getItem(c),d=new U(u!=null?i(r(u)):typeof e=="function"?e():e,o),f=me(),p=l&&typeof f?.BroadcastChannel=="function";let y=!1,v=null,P=null;const w=S=>{if(!p)return null;const R=`tempo:storedProp:${S}`,D=new f.BroadcastChannel(R),$=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,k=ee=>{const _=ee.data;if(!(_==null||typeof _!="object"||_.key!==S||typeof _.value!="string"||_.sourceId!=null&&_.sourceId===$))try{y=!0;const he=i(r(_.value));d.set(he)}catch(he){console.warn(`Failed to sync storedProp for key "${S}" via BroadcastChannel`,he)}finally{y=!1}};return D.addEventListener("message",k),d.onDispose(()=>{D?.removeEventListener("message",k),D?.close()}),{channel:D,instanceId:$,handleMessage:k}},L=w(c);L&&(v=L.channel,P=L.instanceId);const Z=S=>{const R=c;if(R===S)return;const D=d.get(),$=n(D);if(s.setItem(R,$),v!=null&&(v.close(),v=null,P=null),c=S,a==="load"){const ee=s.getItem(S);if(ee!=null)try{const _=i(r(ee));d.set(_)}catch(_){console.warn(`Failed to load storedProp from new key "${S}"`,_)}else s.setItem(S,$)}else a==="migrate"&&s.setItem(S,$);const k=w(S);k&&(v=k.channel,P=k.instanceId)};return g.is(t)&&d.onDispose(t.on(Z)),d.on((S,R)=>{const D=n(S);s.setItem(c,D),v!=null&&!y&&R!==void 0&&P!=null&&v.postMessage({key:c,value:D,sourceId:P})}),d},Ht=t=>{const e=me()?.localStorage,s=e&&typeof e.getItem=="function"?e:Mt();return ye({...t,store:s})},It=t=>{const e=me()?.sessionStorage,s=e&&typeof e.getItem=="function"?e:Nt();return ye({...t,store:s})};function Ne(t){return typeof requestAnimationFrame=="function"?requestAnimationFrame(t):setTimeout(t,0)}const Je=(t,e,s,n)=>{const r=n?.duration??300,o=n?.easing??(w=>w),i=n?.equals??((w,L)=>w===L);let l=n?.interpolate,a=t,c=e(),u=performance.now(),d=null,f=!0;const p=new M(e,i),y=T(t,i);y.onDispose(()=>{d!==null&&cancelAnimationFrame(d)}),y.onDispose(p.dispose),s.forEach(w=>{w.setDerivative(p),w.onDispose(y.dispose)});const v=w=>{c=w,u=performance.now(),a=y.value,f&&(f=!1,d=Ne(P))},P=()=>{const w=(performance.now()-u)/b.get(r),L=o(w);l==null&&(l=Ge(a));let Z=l(a,c,L);w>=1?(f=!0,Z=c):d=Ne(P),y.set(Z)};return p.on(v),y},Rt=(t,e)=>{const{initialValue:s,...n}=e??{};return Je(s??t.get(),t.get,[t],n)},Ke=(t,e)=>{const s=Object.values(t).filter(g.is),n=Object.keys(t);return G(()=>{const r={};for(const o of n)r[o]=b.get(t[o]);return e(r)},s)},$t=t=>Ke(t,e=>e),Vt=(t,e)=>{const s=T(t.get());let n=null;const r=t.on(o=>{n!=null&&clearTimeout(n),n=setTimeout(()=>{n=null,s.set(o)},typeof e=="function"?e(o):e)},{noAutoDispose:!0});return s.onDispose(()=>{r(),n!=null&&clearTimeout(n)}),s},jt=t=>{let e;return t.map(s=>{const n=e;return e=s,n})},Bt=({size:t=void 0,signal:e})=>{const s=[];return e.map(n=>(s.push(n),t!=null&&s.length>t&&s.shift(),s.slice()))},qt=t=>(...e)=>F(t,...e)((s,...n)=>s(...n));function Wt(...t){return F(...t)((...e)=>{for(const s of e)if(s!=null)return s})}class re{constructor(e,s){this.index=e,this.total=s,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}counter;isFirst;isEven;isOdd;#e;get isLast(){return this.#e==null&&(this.#e=this.total.map(e=>this.counter===e)),this.#e}dispose=()=>{this.#e?.dispose(),this.#e=void 0}}const ze=new Set(["checked","disabled","hidden"]),Ye=new Set(["selected"]),Xe=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Qe=new Set(["valueAsDate"]),Ze=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),et=(t,e)=>Ye.has(t)?s=>{s==null||s!==!0?e.removeAttribute(t):e.setAttribute(t,"")}:ze.has(t)?s=>{s==null?e[t]=null:e[t]=!!s}:Xe.has(t)?s=>{s==null?e[t]=null:e[t]=Number(s)}:Qe.has(t)?s=>{s==null?e[t]=null:e[t]=s}:Ze.has(t)?s=>{s==null?e[t]=null:e[t]=String(s)}:s=>{s==null?e.removeAttribute(t):e.setAttribute(t,s)},tt=(t,e)=>Ye.has(t)?()=>e.hasAttribute(t):ze.has(t)?()=>!!e[t]:Xe.has(t)?()=>Number(e[t]):Qe.has(t)?()=>e[t]:Ze.has(t)?()=>String(e[t]):()=>e.getAttribute(t),q=t=>{const e=t;e&&e.onblur&&(e.onblur=null),!(!t||t.ownerDocument===void 0)&&t.parentNode&&t.parentNode.removeChild(t)},st=t=>be(t)||ve(t)?t:t.parentElement,be=t=>t.nodeType===1,ve=t=>t.nodeType===11;class we extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class N{constructor(e,s,n,r){this.document=e,this.element=s,this.reference=n,this.providers=r}static of(e,s,n){return new N(e.ownerDocument,e,s,n)}createElement=(e,s)=>s!==void 0?this.document.createElementNS(s,e):this.document.createElement(e);makeChildElement=(e,s)=>{const n=this.createElement(e,s);return this.appendOrInsert(n),this.withElement(n)};createText=e=>this.document.createTextNode(e);makeChildText=e=>{const s=this.createText(e);return this.appendOrInsert(s),this.withReference(s)};setText=e=>{this.reference.nodeValue=e};getText=()=>this.reference?.nodeValue??this.element.textContent??"";makeRef=()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)};appendOrInsert=e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)};withElement=e=>new N(this.document,e,void 0,this.providers);makePortal=e=>{const s=typeof e=="string"?this.document.querySelector(e):e;if(s==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(s)};withReference=e=>new N(this.document,this.element,e,this.providers);setProvider=(e,s,n)=>new N(this.document,this.element,this.reference,{...this.providers,[e]:[s,n]});getProvider=e=>{if(this.providers[e]===void 0)throw new we(e);const[s,n]=this.providers[e];return{value:s,onUse:n}};clear=e=>{e&&(this.reference!==void 0?q(this.reference):q(this.element))};addClasses=e=>{this.element.classList.add(...e)};removeClasses=e=>{this.element.classList.remove(...e)};getClasses=()=>Array.from(this.element.classList);on=(e,s,n)=>{const r=o=>s(o,this);return this.element.addEventListener(e,r,n),o=>{o&&this.element.removeEventListener(e,r,n)}};isBrowserDOM=()=>!0;isBrowser=()=>!0;isHeadlessDOM=()=>!1;isHeadless=()=>!1;setStyle=(e,s)=>{this.element.style[e]=s};getStyle=e=>this.element.style[e];makeAccessors=e=>({get:tt(e,this.element),set:et(e,this.element)});getWindow=()=>this.document.defaultView}const K=(t,e)=>{const s=new B,n=O(s,()=>t.render(e));return(r=!0)=>{s.dispose(),n(r)}},Ft=(t,e,{doc:s,clear:n,disposeWithParent:r=!0,providers:o={}}={})=>{const i=typeof e=="string"?(s??document).querySelector(e):e;if(i===null)throw new nt(`Cannot find element by selector for render: ${e}`);n!==!1&&(s??i.ownerDocument)!=null&&(i.nodeType===1||i.nodeType===11)&&(i.innerHTML="");const l=st(i),a=be(i)||ve(i)?void 0:i,c=N.of(l,a,o),u=K(t,c);let d;return r&&i.parentElement!=null&&(d=new MutationObserver(f=>{f[0]?.removedNodes.forEach(p=>{p===i&&(d?.disconnect(),u(i.nodeType!==1))})}),d.observe(i.parentElement,{childList:!0,subtree:!1,attributes:!1})),()=>{d?.disconnect(),u(!0)}},Ut=(t,{startUrl:e="https://example.com",selector:s,providers:n={}}={selector:"body"})=>{const r=b.toSignal(e).deriveProp(),o=new Ae(s,void 0),i=new H(o,void 0,{currentURL:r},n);return{clear:K(t(),i),root:o,currentURL:r}};class nt extends Error{constructor(e){super(e)}}const Se="data-tts-node",W="data-tts-class",oe="data-tts-style",ie="data-tts-html",le="data-tts-text",ae="data-tts-attrs";class Gt{select;getAttribute;setAttribute;getClass;setClass;getStyles;setStyles;appendHTML;getInnerHTML;setInnerHTML;getInnerText;setInnerText;constructor({select:e,getAttribute:s,setAttribute:n,getClass:r,setClass:o,getStyles:i,setStyles:l,appendHTML:a,getInnerHTML:c,setInnerHTML:u,getInnerText:d,setInnerText:f}){this.select=e,this.getAttribute=s,this.setAttribute=n,this.getClass=r,this.setClass=o,this.getStyles=i,this.setStyles=l,this.appendHTML=a,this.getInnerHTML=c,this.setInnerHTML=u,this.getInnerText=d,this.setInnerText=f}setFromRoot=(e,s)=>{e.getPortals().forEach(r=>{const o=typeof r.selector=="string"?this.select(r.selector):[r.selector];for(const i of o){if(i==null)throw new Error(`Cannot find element by selector for render: ${r.selector}`);if(r.hasChildren()&&this.appendHTML(i,r.contentToHTML(s)),r.hasInnerHTML()){if(s){const l=this.getInnerHTML(i);l!=null&&this.setAttribute(i,ie,l)}this.setInnerHTML(i,r.getInnerHTML())}if(r.hasInnerText()){if(s){const l=this.getInnerText(i);l!=null&&this.setAttribute(i,le,l)}this.setInnerText(i,r.getInnerText())}if(r.hasClasses()){if(s){const l=this.getClass(i);l!=null&&this.setAttribute(i,W,l)}this.setClass(i,r.getClasses().join(" "))}if(r.hasStyles()){if(s){const l=this.getStyles(i);Object.keys(l).length>0&&this.setAttribute(i,oe,JSON.stringify(l))}this.setStyles(i,r.getStyles())}if(r.hasAttributes()){const l=r.getAttributes();if(s){const a=[];l.forEach(([c])=>{const u=this.getAttribute(i,c);u!=null&&a.push([c,u])}),a.length>0&&this.setAttribute(i,ae,JSON.stringify(Object.fromEntries(a)))}l.forEach(([a,c])=>{this.setAttribute(i,a,c)})}}})}}const Jt=()=>{document.querySelectorAll(`[${Se}]`).forEach(q)},Kt=t=>{const e=t.getAttribute(W);t.removeAttribute(W),e!=null&&t.setAttribute("class",e)},zt=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Kt(e))},Yt=t=>{const e=t.getAttribute(ie);t.removeAttribute(ie),e!=null&&(t.innerHTML=e)},Xt=()=>{document.querySelectorAll(`[${ie}]`).forEach(e=>Yt(e))},Qt=t=>{const e=t.getAttribute(le);t.removeAttribute(le),e!=null&&(t.innerText=e)},Zt=()=>{document.querySelectorAll(`[${le}]`).forEach(e=>Qt(e))},rt=t=>JSON.parse(t.replace(/&quot;/g,'"')),es=t=>{const e=t.getAttribute(oe);if(t.removeAttribute(oe),e!=null){const s=rt(e);Object.entries(s).forEach(([n,r])=>{t.style.setProperty(n,r)})}},ts=()=>{document.querySelectorAll(`[${oe}]`).forEach(e=>es(e))},ss=t=>{const e=t.getAttribute(ae);if(t.removeAttribute(ae),e!=null){const s=rt(e);Object.entries(s).forEach(([n,r])=>{r==null?t.removeAttribute(n):t.setAttribute(n,r)})}},ns=()=>{document.querySelectorAll(`[${ae}]`).forEach(e=>ss(e))},rs=()=>{Jt(),zt(),Zt(),Xt(),ts(),ns()},V=Symbol("class"),j=Symbol("style"),te=Symbol("handler"),ot=()=>Math.random().toString(36).substring(2,15),os=t=>t.replace(/<[^>]*>?/g,"");class it{constructor(e){this.parent=e}id=ot();properties={};children=[];isElement=()=>!0;isText=()=>!1;getText=()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?os(this.properties.innerHTML):this.children.map(e=>e.getText()).join("");removeChild=e=>{const s=this.children.indexOf(e);s!==-1&&this.children.splice(s,1)};remove=()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")};getPortals=()=>{const e=this.elements().flatMap(s=>s.isPortal()?[s,...s.getPortals()]:s.getPortals());return this.isPortal()&&e.unshift(this),e};elements=()=>this.children.filter(e=>e.isElement());hasInnerHTML=()=>this.properties.innerHTML!=null;getInnerHTML=()=>this.properties.innerHTML??"";getInnerText=()=>this.properties.innerText??"";hasInnerText=()=>this.properties.innerText!=null;hasChildren=()=>this.children.length>0;hasClasses=()=>this.properties[V]!=null;hasStyles=()=>this.properties[j]!=null;hasAttributes=()=>Object.keys(this.properties).length>0;hasHandlers=()=>this.properties[te]!=null;hasRenderableProperties=()=>this.hasClasses()||this.hasAttributes()||this.hasStyles();getById=e=>{if(this.properties.id===e)return this;for(const s of this.elements()){const n=s.getById(e);if(n!=null)return n}};trigger=(e,s)=>{((this.properties[te]??{})[e]??[]).forEach(r=>r(s))};click=()=>{this.trigger("click",{})};on=(e,s,n,r)=>{const o=this.properties[te]??={},i=r?.once?a=>{l(),s(a,n)}:a=>s(a,n);o[e]=[...o[e]??[],i];const l=()=>{const a=o[e]??[],c=a.indexOf(i);c!==-1&&(a.splice(c,1),a.length===0?(delete o[e],Object.keys(o).length===0&&delete this.properties[te]):o[e]=a,r?.signal!=null&&r.signal.removeEventListener("abort",l))};return r?.signal!=null&&r.signal.addEventListener("abort",l),l};addClasses=e=>{if(e.length===0)return;const s=this.properties[V]??=[];e.forEach(n=>{s.includes(n)||s.push(n)})};removeClasses=e=>{if(e.length===0)return;const s=this.properties[V]??=[];e.forEach(n=>{const r=s.indexOf(n);r!==-1&&s.splice(r,1)}),s.length===0&&delete this.properties[V]};getClasses=()=>this.properties[V]??[];getAttributes=()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e));getVisibleAttributes=()=>Reflect.ownKeys(this.properties).flatMap(e=>e===V?[["class",this.getClasses()]]:e===j?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]);setStyle=(e,s)=>{const n=this.properties[j]??={};n[e]=s,s===""&&(delete n[e],Object.keys(n).length===0&&delete this.properties[j])};getStyle=e=>this.properties[j]?.[e]??"";getStyles=()=>this.properties[j]??{};makeAccessors=e=>{const s=this.properties;return{get:()=>s[e],set:n=>s[e]=n}}}const is=t=>t.replace(/"/g,"&quot;"),ls=t=>t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class lt extends it{constructor(e,s,n){super(n),this.tagName=e,this.namespace=s}isPortal=()=>!1;toHTML=(e=!1)=>{const s=this.children.map(l=>l.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let r=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,u])=>`${c}: ${u};`).join(" ")}"`:as.has(l)?` ${l}`:l==="innerHTML"?(r=a,""):l==="innerText"?(r=ls(a),""):` ${l}="${is(a)}"`).join(""),i=e?` ${Se}`:"";return cs.has(this.tagName)&&s===""?`<${this.tagName}${n}${o}${i} />`:`<${this.tagName}${n}${o}${i}>${r??s}</${this.tagName}>`}}class Ae extends it{constructor(e,s){super(s),this.selector=e}isPortal=()=>!0;toHTML=()=>"";contentToHTML=(e=!1)=>this.children.map(s=>s.toHTML(e)).join("")}class at{constructor(e){this.text=e}id=ot();isElement=()=>!1;isText=()=>!0;getText=()=>this.text;toHTML=()=>this.text}class H{constructor(e,s,n,r){this.element=e,this.reference=s,this.container=n,this.providers=r}appendOrInsert=e=>{if(this.reference!=null){const s=this.element.children.indexOf(this.reference);s>=0&&this.element.children.splice(s,0,e)}else this.element.children.push(e)};makeChildElement=(e,s)=>{const n=new lt(e,s,this.element);return this.appendOrInsert(n),new H(n,void 0,this.container,this.providers)};makeChildText=e=>{const s=new at(e);return this.appendOrInsert(s),new H(this.element,s,this.container,this.providers)};setText=e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)};getText=()=>this.reference?.getText()??this.element.getText();makeRef=()=>this.makeChildText("");makePortal=e=>{const s=new Ae(e,this.element);return this.appendOrInsert(s),new H(s,void 0,this.container,this.providers)};setProvider=(e,s,n)=>new H(this.element,this.reference,this.container,{...this.providers,[e]:[s,n]});getProvider=e=>{if(this.providers[e]===void 0)throw new we(e);const[s,n]=this.providers[e];return{value:s,onUse:n}};clear=e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())};on=(e,s)=>this.element.on(e,s,this);addClasses=e=>this.element.addClasses(e);removeClasses=e=>this.element.removeClasses(e);getClasses=()=>this.element.getClasses();isBrowserDOM=()=>!1;isBrowser=()=>!1;isHeadlessDOM=()=>!0;isHeadless=()=>!0;setStyle=(e,s)=>this.element.setStyle(e,s);getStyle=e=>this.element.getStyle(e);makeAccessors=e=>this.element.makeAccessors(e)}const as=new Set(["checked","disabled","multiple","readonly","required","selected"]),cs=new Set(["img","br","hr","input","link","meta"]),us=()=>typeof window<"u"?window:void 0,hs=Symbol("DOM_RENDERABLE"),m=t=>Re(hs,t),_e=t=>m(e=>e.makeChildText(t).clear),Te=t=>m(e=>{const s=e.makeChildText(t.value),n=t.on(s.setText);return r=>{n(),s.clear(r)}}),ds=t=>g.is(t)?Te(t):_e(t),E=(...t)=>m(e=>{const s=t.map(n=>h(n).render(e));return n=>{s.forEach(r=>r(n))}}),C=m(()=>()=>{}),ps=t=>m(e=>(e.addClasses(t),s=>{s&&e.removeClasses(t)})),fs=t=>m(e=>{let s=[];const n=t.on(r=>{e.removeClasses(s),s=(r??"").split(" ").filter(o=>o.length>0),e.addClasses(s)},{noAutoDispose:!0});return r=>{n(),r&&e.removeClasses(s),s.length=0}}),ms=(t,e)=>m(s=>{const{get:n,set:r}=s.makeAccessors(t),o=n();return r(e),i=>{i&&r(o)}}),gs=(t,e)=>m(s=>{const{get:n,set:r}=s.makeAccessors(t),o=n(),i=e.on(r,{noAutoDispose:!0});return l=>{i(),l&&r(o)}}),z=(t,e)=>g.is(e)?gs(t,e):ms(t,e),ct=(t,e)=>t==="class"?g.is(e)?fs(e):ps((e??"").split(" ").filter(s=>s.length>0)):z(t,e),I=new Proxy({},{get:(t,e)=>s=>ct(e,s)}),ut=(t,e)=>z(`data-${t}`,e),ys=new Proxy({},{get:(t,e)=>s=>ut(e,s)}),ht=(t,e)=>z(`aria-${t}`,e),bs=new Proxy({},{get:(t,e)=>s=>ht(e,s)}),dt=(t,e)=>z(t,e),vs=new Proxy({},{get:(t,e)=>s=>dt(e,s)}),pt=(t,e)=>z(t,e),ws=new Proxy({},{get:(t,e)=>s=>pt(e,s)}),h=t=>{if(t==null)return C;if(Array.isArray(t))return E(...t.map(h));if(typeof t=="string")return _e(t);if(g.is(t))return Te(t);if(typeof t=="object"&&"render"in t&&"type"in t)return t;throw new Error(`Unknown type: '${typeof t}' for child: ${t}`)},Ee=(t,...e)=>m(s=>{const n=s.makeChildElement(t,void 0),r=e.map(o=>h(o).render(n));return o=>{r.forEach(i=>i(!1)),n.clear(o)}}),Y=(t,e,...s)=>m(n=>{const r=n.makeChildElement(t,e),o=s.map(i=>h(i).render(r));return i=>{o.forEach(l=>l(!1)),r.clear(i)}}),Ss=new Proxy({},{get:(t,e)=>(...s)=>Ee(e,s.flatMap(h))}),As=new Proxy({},{get:(t,e)=>(...s)=>Ee("input",I.type(e),...s)}),ft="http://www.w3.org/2000/svg",_s=(t,...e)=>Y(t,ft,...e),Ts=new Proxy({},{get:(t,e)=>(...s)=>Y(e,ft,s.flatMap(h))}),mt="http://www.w3.org/1998/Math/MathML",Es=(t,...e)=>Y(t,mt,...e),Cs=new Proxy({},{get:(t,e)=>(...s)=>Y(e,mt,s.flatMap(h))}),Ce=(t,e)=>{if(typeof e=="function")return Ce(t,{then:e});const s=e.pending!=null?h(e.pending()):C,n=e.then,r=e.error!=null?o=>h(e.error(o)):()=>C;return m(o=>{let i=!0;const l=t(),a=o.makeRef();let c=h(s).render(a);return l.then(u=>{i&&(c(!0),c=h(n(u)).render(a))},u=>{i&&(c(!0),c=h(r(u)).render(a))}),u=>{i=!1,c(u),a.clear(u)}})},Ds=(t,e)=>Ce(()=>t,e),gt=(t,e,s)=>m(n=>n.on(t,e,s)),yt=t=>gt("click",(e,s)=>{e.preventDefault();const n=e.target;setTimeout(()=>{const r=n.ownerDocument!=null?n?.checked:void 0;r!=null&&t(!r,s)},0)}),X=new Proxy({},{get:(t,e)=>s=>gt(e,s)}),bt=(t,e)=>s=>{e?.preventDefault===!0&&s.preventDefault(),e?.stopPropagation===!0&&s.stopPropagation(),e?.stopImmediatePropagation===!0&&s.stopImmediatePropagation(),t(s)},x=(t,e)=>bt(s=>{const n=s.target;t(n,s)},e),vt=(t,e)=>x((s,n)=>t(s.value,n),e),wt=(t,e)=>x((s,n)=>t(s.valueAsNumber,n),e),St=(t,e)=>x((s,n)=>{if(s.value==="")return;const r=s.value.split("-"),o=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));t(o,n)},e),Ps=(t,e)=>x((s,n)=>{if(s.value===""){t(null,n);return}const r=s.value.split("-"),o=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));t(o,n)},e),At=(t,e)=>x((s,n)=>{if(s.value==="")return;const r=s.value.split("T"),o=r[0].split("-"),i=new Date(Number(o[0]),Number(o[1])-1,Number(o[2])),l=r[1].split(":");i.setHours(Number(l[0])),i.setMinutes(Number(l[1])),i.setSeconds(Number(l[2])),t(i,n)},e),Os=(t,e)=>x((s,n)=>{if(s.value===""){t(null,n);return}const r=s.value.split("T");if(r.length!==2){t(null,n);return}const o=r[0].split("-"),i=new Date(Number(o[0]),Number(o[1])-1,Number(o[2])),l=r[1].split(":");i.setHours(Number(l[0]??0)),i.setMinutes(Number(l[1]??0)),i.setSeconds(Number(l[2]??0)),t(i,n)},e),xs=(t,e)=>x((s,n)=>{t(s.checked,n)},e),Ls=(t,e="input")=>E(I.valueAsDate(t),X[e](St(t.set))),ks=(t,e="input")=>E(I.valueAsDate(t),X[e](At(t.set))),Ms=(t,e="input")=>E(I.valueAsNumber(t),X[e](wt(t.set))),Ns=(t,e="input")=>E(I.value(t),X[e](vt(t.set))),Hs=t=>E(I.checked(t),yt(t.set)),De=(t,e,s)=>g.is(t)?e(t):s(t),Is=(t,e,s)=>{const n=t.makeRef();let r=()=>{},o=null;const i=e.on(l=>{o?.dispose(),r(!0),o=new B,r=O(o,()=>h(s(l)).render(n))},{noAutoDispose:!0});return l=>{o?.dispose(),r(l),i(),n.clear(l)}},Q=(t,e)=>{function s(r){return m(o=>{const i=o.makeRef();let l,a;const c=r.map(f=>Object.keys(f)[0]);let u;const d=c.on(f=>{if(f!==u){u=f,a?.dispose(),l?.(!0),a=r.map(y=>y[f]);const p=e[f](a);l=h(p).render(i)}});return f=>{a?.dispose(),d(),i.clear(f),l?.(f)}})}function n(r){const o=Object.keys(r)[0];return h(e[o](J(r[o])))}return De(t,s,n)},Pe=(t,e,s)=>Q(b.map(t,n=>({[n[e]]:n})),s),Rs=(t,e)=>Pe(t,"kind",e),$s=(t,e)=>{const s=b.map(t,([n,r])=>({[n]:r}));return Q(s,e)},Vs=(t,e)=>Pe(t,"type",e),_t=(t,e)=>Q(b.map(t,s=>({[s]:!0})),e),js=(t,e={})=>s=>{const n=e?.firstSeparator??t,r=e?.lastSeparator??t;return _t(s.map(o=>o.isFirst?"first":o.isLast?"last":"other"),{first:n,last:r,other:t})},Bs=t=>m(e=>(e.appendOrInsert(t),s=>{s&&q(t)})),qs=(t,e,s)=>{function n(o){return m(i=>{const l=i.makeRef();let a=()=>{},c=!1,u=null;const d=o.on(f=>{f==null?(a(!0),a=h(s?.()).render(l),c=!1,u?.dispose(),u=null):c?u.set(f):(u=T(f),a(!0),a=h(e(u)).render(l),c=!0)});return f=>{u?.dispose(),d(),a?.(f),l.clear(f)}})}function r(o){if(o==null){const i=s?.();return i!=null?h(i):C}return h(e(J(o)))}return De(t,n,r)},Ws=(...t)=>(e,s)=>m(n=>{const r=n.makeRef();if(t.some(p=>!g.is(p)&&p==null))return(s!=null?h(s?.()):C).render(r);const i=t.map(()=>null),l=t.map(p=>g.is(p)?p.value!=null:p!=null);let a=null;const c=T(l.every(p=>p)),u=(p,y)=>{if(p.value!=null){if(i[y]==null){const v=T(p.value);i[y]=v}else i[y].value=p.value;l[y]=!0}else l[y]=!1};let d=t.length-1;const f=t.map((p,y)=>{if(!g.is(p)){const v=T(p);return i[y]=v,()=>{}}return p.on(()=>{u(p,y),d===0?c.value=l.every(v=>v):d--})});return c.on(p=>{a?.(!0),a=null,p?a=h(e(...i)).render(r):a=h(s?.()??C).render(r)}),p=>{i.forEach(y=>y?.dispose()),c.dispose(),f.forEach(y=>y()),a?.(p),r.clear(p)}}),Oe=(t,e,s)=>De(t,n=>m(r=>Is(r,n,o=>o?e():s?.())),n=>{if(n){const r=e();return r!=null?h(r):C}return h(s?.())}),Fs=(t,e,s)=>Oe(b.map(t,n=>!n),e,s),xe=(t,e,s)=>{if(s!=null)return xe(t,n=>{const r=new re(n.index,n.total.map(o=>o-1));return E(h(e(n)),Oe(n.isLast,()=>C,()=>s(r)))});if(g.is(t))return m(n=>{const r=t.derive(),o=n.makeRef(),i=[],l=[];return r.on(a=>{const c=i.splice(a),u=l.splice(a);for(const d of u)d.dispose();for(const d of c)d(!0);for(let d=i.length;d<a;d++){const f=new re(d,r),p=new B;l.push(p),i.push(O(p,()=>h(e(f)).render(o)))}}),a=>{for(const c of l)c.dispose();l.length=0,r.dispose();for(const c of i)c(a);i.length=0,o.clear(a)}});{const n=J(t);return E(...Array.from({length:t},(r,o)=>o).map(r=>{const o=new re(r,n);return h(e(o))}))}},Us=(t,e,s)=>{const n=b.map(t,o=>o.length),r=b.toSignal(t);return xe(n,o=>{const i=r.map(l=>l[o.index]);return h(e(i,o))},s)},Le=(...t)=>m(e=>s=>t.forEach(n=>{typeof n=="function"?n(s,e):n.dispose(s,e)})),Gs=(t,e)=>{if(g.is(t)){const s=t;return m(n=>{n=n.makeRef();const r=s.map(l=>h(e(l)));let o=()=>{};const i=r.on(l=>{o(!0),o=l.render(n)});return l=>{i(),o(l)}})}return h(e(t))},Js=(t,e,s=()=>C)=>Q(b.map(t,n=>n.length>0?{notEmpty:n}:{whenEmpty:null}),{notEmpty:n=>e(n),whenEmpty:()=>s()}),Ks=(t,e)=>m(s=>{const n=s.makePortal(t),r=K(h(e),n);return()=>r(!0)}),se=new Map,Tt=t=>({mark:Ie(`Probe(${t.description})`),create:({callback:e=()=>{},timeout:s=10}={})=>{const n=l=>{clearTimeout(r),se.delete(t),e(l)};if(se.has(t))throw new Error(`Probe already exists: ${t.description}`);const r=setTimeout(()=>n("timeout"),s),o={counter:0,timeoutId:r};return se.set(t,o),{value:()=>{clearTimeout(r);const l=se.get(t);l!=null&&--l.counter===0&&n("resolved")},dispose:()=>n("disposed"),onUse:()=>o.counter++}}}),zs=Tt(Symbol("GlobalProbe")),ke=t=>m(e=>{if(e.isBrowser()){const s=t(e);if(s!=null)return h(s).render(e)}return()=>{}});function Ys({mode:t,delegatesFocus:e,slotAssignment:s,clonable:n,serializable:r},...o){return ke(i=>{const l={mode:t};e!==void 0&&(l.delegatesFocus=e),s!==void 0&&(l.slotAssignment=s),n!==void 0&&(l.clonable=n),r!==void 0&&(l.serializable=r);const a=i.element.attachShadow(l),c=i.withElement(a),u=K(E(...o),c);return Le(()=>u(!0))})}const Xs=(t,e)=>m(s=>{const n=s.getStyle(t);return s.setStyle(t,e),r=>{r&&s.setStyle(t,n)}}),Qs=(t,e)=>m(s=>{const n=s.getStyle(t),r=e.on(o=>s.setStyle(t,o));return o=>{r(),o&&s.setStyle(t,n)}}),He=(t,e)=>g.is(e)?Qs(t,e):Xs(t,e),Zs=new Proxy({},{get:(t,e)=>e==="variable"?(s,n)=>He(s,n):s=>He(e,s)}),en=t=>m(e=>{const s=t(e);return s==null?()=>{}:h(s).render(e)}),tn=t=>ke(e=>t(e.element)),sn=t=>m(e=>{if(e.isHeadlessDOM()){const s=t(e);if(s)return h(s).render(e)}return()=>{}}),nn=t=>m(e=>{const s=new B,n=O(s,()=>h(t(s)).render(e));return r=>{s.dispose(),n(r)}}),ue=t=>m(e=>{let s=e;function n(){return s}function r(l){s=l}const o=[],i=t({use:({mark:l})=>{const{value:a,onUse:c}=n().getProvider(l);return c?.(),a},set:({mark:l,create:a},c)=>{const{value:u,dispose:d,onUse:f}=a(c,n());o.push(d),r(n().setProvider(l,u,f))}});return i==null?()=>{}:E(h(i),Le(()=>o.forEach(l=>l()))).render(n())}),rn=(t,e,s)=>ue(({set:n})=>(n(t,e),s())),on=(t,e)=>ue(({use:s})=>e(s(t))),ln=(...t)=>e=>ue(({use:s})=>{const n=t.map(s);return e(...n)});exports.Aria=ht;exports.Async=Ds;exports.Attr=ct;exports.BindChecked=Hs;exports.BindDate=Ls;exports.BindDateTime=ks;exports.BindNumber=Ms;exports.BindText=Ns;exports.BrowserContext=N;exports.CLASS_PLACEHOLDER_ATTR=W;exports.Computed=M;exports.Conjunction=js;exports.DOMNode=Bs;exports.DataAttr=ut;exports.DisposalScope=B;exports.El=Ee;exports.ElNS=Y;exports.ElementPosition=re;exports.Empty=C;exports.Ensure=qs;exports.EnsureAll=Ws;exports.ForEach=Us;exports.Fragment=E;exports.GlobalProbe=zs;exports.HeadlessAdapter=Gt;exports.HeadlessContext=H;exports.HeadlessElement=lt;exports.HeadlessPortal=Ae;exports.HeadlessText=at;exports.MapSignal=Gs;exports.MathAttr=pt;exports.MathEl=Es;exports.MemoryStore=ge;exports.NotEmpty=Js;exports.OnChecked=yt;exports.OnDispose=Le;exports.OneOf=Q;exports.OneOfField=Pe;exports.OneOfKind=Rs;exports.OneOfTuple=$s;exports.OneOfType=Vs;exports.OneOfValue=_t;exports.Portal=Ks;exports.Prop=U;exports.Provide=rn;exports.ProviderNotFoundError=we;exports.RenderingError=nt;exports.Repeat=xe;exports.SVGAttr=dt;exports.SVGEl=_s;exports.ShadowRoot=Ys;exports.Signal=g;exports.Task=Ce;exports.TextNode=ds;exports.Unless=Fs;exports.Use=on;exports.UseMany=ln;exports.Value=b;exports.When=Oe;exports.WithBrowserCtx=ke;exports.WithCtx=en;exports.WithElement=tn;exports.WithHeadlessCtx=sn;exports.WithProvider=ue;exports.WithScope=nn;exports._NODE_PLACEHOLDER_ATTR=Se;exports._getSelfOrParentElement=st;exports._isElement=be;exports._isFragment=ve;exports._makeGetter=tt;exports._makeSetter=et;exports._removeDOMNode=q;exports._signalText=Te;exports._staticText=_e;exports.animateSignal=Rt;exports.animateSignals=Je;exports.aria=bs;exports.attr=I;exports.bind=qt;exports.coalesce=Wt;exports.computed=G;exports.computedOf=F;exports.computedRecord=Ke;exports.createRenderable=Re;exports.dataAttr=ys;exports.delaySignal=Vt;exports.effect=fe;exports.effectOf=Ve;exports.emit=bt;exports.emitChecked=xs;exports.emitTarget=x;exports.emitValue=vt;exports.emitValueAsDate=St;exports.emitValueAsDateTime=At;exports.emitValueAsNullableDate=Ps;exports.emitValueAsNullableDateTime=Os;exports.emitValueAsNumber=wt;exports.endInterpolate=Ue;exports.getCurrentScope=ce;exports.getParentScope=xt;exports.getScopeStack=Ot;exports.getWindow=us;exports.guessInterpolate=Ge;exports.html=Ss;exports.input=As;exports.interpolateDate=Fe;exports.interpolateNumber=qe;exports.interpolateString=We;exports.joinSignals=Pt;exports.localStorageProp=Ht;exports.makeProbe=Tt;exports.makeProviderMark=Ie;exports.math=Cs;exports.mathAttr=ws;exports.merge=$t;exports.on=X;exports.popScope=Be;exports.previousSignal=jt;exports.prop=T;exports.pushScope=je;exports.render=Ft;exports.renderWithContext=K;exports.renderableOfTNode=h;exports.restoreTempoPlaceholders=rs;exports.runHeadless=Ut;exports.scoped=Lt;exports.sessionStorageProp=It;exports.signal=J;exports.slidingWindowSignal=Bt;exports.storedProp=ye;exports.style=Zs;exports.svg=Ts;exports.svgAttr=vs;exports.untracked=ne;exports.withScope=O;
package/index.d.ts CHANGED
@@ -36,6 +36,7 @@ export * from './renderable/portal';
36
36
  export * from './renderable/probe';
37
37
  export * from './renderable/render';
38
38
  export * from './renderable/repeat';
39
+ export * from './renderable/shadow-root';
39
40
  export * from './renderable/style';
40
41
  export * from './renderable/task';
41
42
  export * from './renderable/text';