@tempots/dom 36.0.1 → 37.0.0

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