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