@tempots/dom 26.9.0 → 26.10.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.
@@ -146,7 +146,10 @@ export declare class BrowserContext implements DOMContext {
146
146
  * @returns The provider for the given mark.
147
147
  * @throws Throws `ProviderNotFoundError` if the provider for the given mark is not found.
148
148
  */
149
- readonly getProvider: <T>(mark: ProviderMark<T>) => [T, undefined | (() => void)];
149
+ readonly getProvider: <T>(mark: ProviderMark<T>) => {
150
+ value: T;
151
+ onUse: (() => void) | undefined;
152
+ };
150
153
  readonly clear: (removeTree: boolean) => void;
151
154
  /**
152
155
  * Adds classes to the element.
@@ -170,7 +173,7 @@ export declare class BrowserContext implements DOMContext {
170
173
  * @param options - The options for the event listener.
171
174
  * @returns A function to remove the event listener.
172
175
  */
173
- readonly on: <E>(event: string, listener: (event: E) => void, options?: HandlerOptions) => Clear;
176
+ readonly on: <E>(event: string, listener: (event: E, ctx: BrowserContext) => void, options?: HandlerOptions) => Clear;
174
177
  /**
175
178
  * Returns `true` if the context is a browser DOM context.
176
179
  * @returns `true` if the context is a browser DOM context.
@@ -74,7 +74,10 @@ export interface DOMContext {
74
74
  * @returns The provider for the given mark.
75
75
  * @throws Throws `ProviderNotFoundError` if the provider for the given mark is not found.
76
76
  */
77
- getProvider<T>(mark: ProviderMark<T>): [T, undefined | (() => void)];
77
+ getProvider<T>(mark: ProviderMark<T>): {
78
+ value: T;
79
+ onUse?: () => void;
80
+ };
78
81
  /**
79
82
  * Sets a provider for the given provider mark.
80
83
  *
@@ -90,7 +93,7 @@ export interface DOMContext {
90
93
  * @param options - The options for the event listener.
91
94
  * @returns A function to remove the event listener.
92
95
  */
93
- on<E>(event: string, listener: (event: E) => void, options?: HandlerOptions): Clear;
96
+ on<E>(event: string, listener: (event: E, ctx: DOMContext) => void, options?: HandlerOptions): Clear;
94
97
  /**
95
98
  * Adds classes to the element.
96
99
  * @param tokens - The class names to add.
@@ -30,7 +30,7 @@ declare abstract class HeadlessBase {
30
30
  readonly getById: (id: string) => HeadlessBase | undefined;
31
31
  readonly trigger: <E>(event: string, detail: E) => void;
32
32
  readonly click: () => void;
33
- readonly on: <E>(event: string, listener: (event: E) => void, options?: HandlerOptions) => Clear;
33
+ readonly on: <E>(event: string, listener: (event: E, ctx: HeadlessContext) => void, ctx: HeadlessContext, options?: HandlerOptions) => Clear;
34
34
  readonly addClasses: (tokens: string[]) => void;
35
35
  readonly removeClasses: (tokens: string[]) => void;
36
36
  readonly getClasses: () => string[];
@@ -92,9 +92,12 @@ export declare class HeadlessContext implements DOMContext {
92
92
  * @returns A new `DOMContext` instance with the specified provider.
93
93
  */
94
94
  readonly setProvider: <T>(mark: ProviderMark<T>, value: T, onUse: undefined | (() => void)) => DOMContext;
95
- readonly getProvider: <T>(mark: ProviderMark<T>) => [T, undefined | (() => void)];
95
+ readonly getProvider: <T>(mark: ProviderMark<T>) => {
96
+ value: T;
97
+ onUse: (() => void) | undefined;
98
+ };
96
99
  readonly clear: (removeTree: boolean) => void;
97
- readonly on: <E>(event: string, listener: (event: E) => void) => Clear;
100
+ readonly on: <E>(event: string, listener: (event: E, ctx: HeadlessContext) => void) => Clear;
98
101
  readonly addClasses: (tokens: string[]) => void;
99
102
  readonly removeClasses: (tokens: string[]) => void;
100
103
  readonly getClasses: () => string[];
package/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var rt=Object.defineProperty;var ye=s=>{throw TypeError(s)};var nt=(s,e,t)=>e in s?rt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var i=(s,e,t)=>nt(s,typeof e!="symbol"?e+"":e,t),Te=(s,e,t)=>e.has(s)||ye("Cannot "+t);var K=(s,e,t)=>(Te(s,e,"read from private field"),t?t.call(s):e.get(s)),be=(s,e,t)=>e.has(s)?ye("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),Se=(s,e,t,r)=>(Te(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _e=(s,e,t)=>s+(e-s)*t,Ae=97,we=(s,e,t)=>{const r=Math.max(s.length,e.length);let n="";for(let l=0;l<r;l++){let o=s.charCodeAt(l);isNaN(o)&&(o=Ae);let a=e.charCodeAt(l);isNaN(a)&&(a=Ae),n+=String.fromCharCode(o+(a-o)*t)}return n},Ce=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),Pe=(s,e)=>e,xe=s=>typeof s=="number"?_e:typeof s=="string"?we:s instanceof Date?Ce:Pe;var L;class F{constructor(e,t){i(this,"counter");i(this,"isFirst");i(this,"isEven");i(this,"isOdd");be(this,L);i(this,"dispose",()=>{this.total.dispose()});this.index=e,this.total=t,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}get isLast(){return K(this,L)==null&&Se(this,L,this.total.map(e=>this.counter===e)),K(this,L)}}L=new WeakMap;const M=class M{constructor(e,t){i(this,"$__signal__",!0);i(this,"_value");i(this,"_derivatives",[]);i(this,"_onValueListeners",[]);i(this,"_onDisposeListeners",[]);i(this,"get",()=>this._value);i(this,"hasListeners",()=>this._onValueListeners.length>0);i(this,"on",(e,t={})=>{t.skipInitial||e(this.get(),void 0);const r=t.once?(l,o)=>{n(),e(l,o)}: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});i(this,"_setAndNotify",(e,t)=>{if(this._disposed)return;const r=this._value,n=this.equals(r,e);n||(this._value=e),(t||!n)&&this._onValueListeners.forEach(l=>l(e,r))});i(this,"_disposed",!1);i(this,"isDisposed",()=>this._disposed);i(this,"onDispose",e=>{this._onDisposeListeners.push(e)});i(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});i(this,"map",(e,t=(r,n)=>r===n)=>{const r=new P(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(r),r});i(this,"flatMap",(e,t=(r,n)=>r===n)=>{const r=new P(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(r),r});i(this,"tap",e=>this.map(t=>(e(t),t)));i(this,"at",e=>this.map(t=>t[e]));i(this,"_$");i(this,"filter",(e,t)=>{let r=t??this.get();const n=new P(()=>{try{const l=this.get();return r=e(l)?l:r}catch(l){throw console.error("Error in Signal.filter:",l),l}},this.equals);return this.setDerivative(n),n});i(this,"filterMap",(e,t,r=(n,l)=>n===l)=>{let n=t;const l=new P(()=>{try{const o=this.get(),a=e(o);return n=a??n}catch(o){throw console.error("Error in Signal.filterMap:",o),o}},r);return this.setDerivative(l),l});i(this,"mapAsync",(e,t,r,n=(l,o)=>l===o)=>{const l=_(t,n);let o=0,a=new AbortController;return l.onDispose(this.on(async c=>{const u=++o;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});u===o&&l.set(h)}catch(h){if(u===o)if(r!=null)l.set(r(h));else throw h}})),l});i(this,"mapMaybe",(e,t)=>this.map(r=>e(r)??t));i(this,"feedProp",(e,t=!1)=>{const r=this.on(e.set);return e.onDispose(r),t?this.onDispose(e.dispose):this.onDispose(r),e});i(this,"deriveProp",({autoDisposeProp:e=!0,equals:t}={})=>this.feedProp(_(this.get(),t),e));i(this,"derive",()=>this.map(e=>e));i(this,"count",()=>{let e=0;return this.map(()=>++e)});i(this,"setDerivative",e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty)),this.onDispose(e.dispose)});this.equals=t,this._value=e}get value(){return this._value}get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,t)=>this.at(t)})}};i(M,"ofPromise",(e,t,r,n=(l,o)=>l===o)=>{const l=new M(t,n);return e.then(o=>l._setAndNotify(o,!1)).catch(o=>{r!=null?l._setAndNotify(r(o),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",o)}),l}),i(M,"is",e=>e!=null&&e.$__signal__===!0);let d=M;const it=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class P extends d{constructor(t,r){super(void 0,r);i(this,"$__computed__",!0);i(this,"_isDirty",!1);i(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});i(this,"_scheduleCount",0);i(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;it(()=>{this._scheduleCount!==t||this._disposed||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});i(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const X=class X extends d{constructor(){super(...arguments);i(this,"$__prop__",!0);i(this,"set",t=>{this._setAndNotify(t,!1)});i(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});i(this,"reducer",(t,...r)=>{const n=this;return function l(o){const a=n.value;n.update(c=>t(c,o)),!n.equals(a,n.value)&&r.forEach(c=>c({previousState:a,state:n.value,action:o,dispatch:l}))}});i(this,"iso",(t,r,n=(l,o)=>l===o)=>{const l=new X(t(this.get()),n);return l.onDispose(this.on(o=>l.set(t(o)))),l.on(o=>this._setAndNotify(r(o),!1)),l});i(this,"atProp",t=>this.iso(r=>r[t],r=>({...this.value,[t]:r})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};i(X,"is",t=>t!=null&&t.$__prop__===!0);let H=X;const Y=(s,e,t=(r,n)=>r===n)=>{const r=new P(s,t);return e.forEach(n=>n.setDerivative(r)),r},Oe=(s,e,t={})=>{let r=t.once?()=>{l(),s()}:s;if(t.skipInitial){let o=!1;const a=r;r=()=>{o?a():o=!0}}const n=Y(r,e),l=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",l)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",l),l},_=(s,e=(t,r)=>t===r)=>new H(s,e),I=(s,e=(t,r)=>t===r)=>new d(s,e),ee=()=>typeof window<"u"?window:void 0,y={map:(s,e)=>d.is(s)?s.map(e):e(s),toSignal:(s,e)=>d.is(s)?s:I(s,e),maybeToSignal:(s,e)=>{if(s!=null)return y.toSignal(s,e)},get:s=>d.is(s)?s.get():s,on:(s,e)=>d.is(s)?s.on(e):(e(s),()=>{}),dispose:s=>{d.is(s)&&s.dispose()},deriveProp:(s,{autoDisposeProp:e=!0,equals:t}={})=>d.is(s)?s.deriveProp({autoDisposeProp:e,equals:t}):_(s,t)},ve=(...s)=>(e,t)=>{const r=s.filter(n=>d.is(n));return Y(()=>e(...s.map(n=>y.get(n))),r,t)},ot=s=>{const e=Object.keys(s);return ve(...Object.values(s))((...t)=>Object.fromEntries(e.map((r,n)=>[r,t[n]])))},lt=(...s)=>(e,t={})=>{const r=s.filter(n=>d.is(n));return Oe(()=>e(...s.map(y.get)),r,t)};class te{constructor(){i(this,"_store",new Map);i(this,"getItem",e=>this._store.get(e)??null);i(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const se=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:l=(a,c)=>a===c,onLoad:o=a=>a})=>{const a=t.getItem(s),c=new H(a!=null?o(n(a)):typeof e=="function"?e():e,l);return c.on(u=>{t.setItem(s,r(u))}),c},at=s=>{var e;return se({...s,store:((e=ee())==null?void 0:e.localStorage)??new te})},ct=s=>{var e;return se({...s,store:((e=ee())==null?void 0:e.sessionStorage)??new te})};function Ee(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const De=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,l=(r==null?void 0:r.easing)??(E=>E),o=(r==null?void 0:r.equals)??((E,q)=>E===q);let a=r==null?void 0:r.interpolate,c=s,u=e(),h=performance.now(),m=null,T=!0;const p=new P(e,o),g=_(s,o);g.onDispose(()=>{m!==null&&cancelAnimationFrame(m)}),g.onDispose(p.dispose),t.forEach(E=>{E.setDerivative(p),E.onDispose(g.dispose)});const C=E=>{u=E,h=performance.now(),c=g.value,T&&(T=!1,m=Ee(me))},me=()=>{const q=(performance.now()-h)/y.get(n),st=l(q);a==null&&(a=xe(c));let ge=a(c,u,st);q>=1?(T=!0,ge=u):m=Ee(me),g.set(ge)};return p.on(C),g},ut=(s,e)=>{const{initialValue:t,...r}=e??{};return De(t??s.get(),s.get,[s],r)},ht=(s,e)=>{const{signals:t,literals:r}=Object.entries(s).reduce(({signals:l,literals:o},[a,c])=>(d.is(c)?l.push([a,c]):o[a]=c,{signals:l,literals:o}),{signals:[],literals:{}}),n=t.map(([,l])=>l);return Y(()=>(t.forEach(([l,o])=>r[l]=o.value),e(r)),n)},Le=new Set(["checked","disabled","hidden"]),Me=new Set(["selected"]),He=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Ne=new Set(["valueAsDate"]),ke=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ie=(s,e)=>Me.has(s)?t=>{t==null||t!==!0?e.removeAttribute(s):e.setAttribute(s,"")}:Le.has(s)?t=>{t==null?e[s]=null:e[s]=!!t}:He.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:Ne.has(s)?t=>{t==null?e[s]=null:e[s]=t}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},$e=(s,e)=>Me.has(s)?()=>e.hasAttribute(s):Le.has(s)?()=>!!e[s]:He.has(s)?()=>Number(e[s]):Ne.has(s)?()=>e[s]:ke.has(s)?()=>String(e[s]):()=>e.getAttribute(s),N=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},Re=s=>re(s)?s:s.parentElement,re=s=>s.nodeType===1;class ne extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class x{constructor(e,t,r,n){i(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));i(this,"makeChildElement",(e,t)=>{const r=this.createElement(e,t);return this.appendOrInsert(r),this.withElement(r)});i(this,"createText",e=>this.document.createTextNode(e));i(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});i(this,"setText",e=>{this.reference.nodeValue=e});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});i(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});i(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});i(this,"withElement",e=>new x(this.document,e,void 0,this.providers));i(this,"makePortal",e=>{const t=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)});i(this,"withReference",e=>new x(this.document,this.element,e,this.providers));i(this,"setProvider",(e,t,r)=>new x(this.document,this.element,this.reference,{...this.providers,[e]:[t,r]}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new ne(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?N(this.reference):N(this.element))});i(this,"addClasses",e=>{this.element.classList.add(...e)});i(this,"removeClasses",e=>{this.element.classList.remove(...e)});i(this,"getClasses",()=>Array.from(this.element.classList));i(this,"on",(e,t,r)=>(this.element.addEventListener(e,t,r),n=>{n&&this.element.removeEventListener(e,t,r)}));i(this,"isBrowserDOM",()=>!0);i(this,"isBrowser",()=>!0);i(this,"isHeadlessDOM",()=>!1);i(this,"isHeadless",()=>!1);i(this,"setStyle",(e,t)=>{this.element.style[e]=t});i(this,"getStyle",e=>this.element.style[e]);i(this,"makeAccessors",e=>({get:$e(e,this.element),set:Ie(e,this.element)}));i(this,"getWindow",()=>this.document.defaultView);this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t,r){return new x(e.ownerDocument,e,t,r)}}const Ve=s=>Symbol(s),z=(s,e)=>{const t=s(e);return(r=!0)=>t(r)},ft=(s,e,{doc:t,clear:r,disposeWithParent:n=!0,providers:l={}}={})=>{const o=typeof e=="string"?(t??document).querySelector(e):e;if(o===null)throw new je(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??o.ownerDocument)!=null&&o.nodeType===1&&(o.innerHTML="");const a=Re(o),c=re(o)?void 0:o,u=x.of(a,c,l),h=z(s,u);let m;return n&&(m=new MutationObserver(T=>{var p;(p=T[0])==null||p.removedNodes.forEach(g=>{g===o&&(m==null||m.disconnect(),h(o.nodeType!==Node.ELEMENT_NODE))})}),m.observe(o.parentElement,{childList:!0,subtree:!1,attributes:!1})),()=>{m==null||m.disconnect(),h(!0)}},dt=(s,{startUrl:e="https://example.com",selector:t,providers:r={}}={selector:"body"})=>{const n=y.toSignal(e).deriveProp(),l=new oe(t,void 0),o=new O(l,void 0,{currentURL:n},r);return{clear:z(s(),o),root:l,currentURL:n}};class je extends Error{constructor(e){super(e)}}const ie="data-tts-node",k="data-tts-class",W="data-tts-style",U="data-tts-html",G="data-tts-text",J="data-tts-attrs";class pt{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:l,getStyles:o,setStyles:a,appendHTML:c,getInnerHTML:u,setInnerHTML:h,getInnerText:m,setInnerText:T}){i(this,"select");i(this,"getAttribute");i(this,"setAttribute");i(this,"getClass");i(this,"setClass");i(this,"getStyles");i(this,"setStyles");i(this,"appendHTML");i(this,"getInnerHTML");i(this,"setInnerHTML");i(this,"getInnerText");i(this,"setInnerText");i(this,"setFromRoot",(e,t)=>{e.getPortals().forEach(n=>{const l=typeof n.selector=="string"?this.select(n.selector):[n.selector];for(const o of l){if(o==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(o,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const a=this.getInnerHTML(o);a!=null&&this.setAttribute(o,U,a)}this.setInnerHTML(o,n.getInnerHTML())}if(n.hasInnerText()){if(t){const a=this.getInnerText(o);a!=null&&this.setAttribute(o,G,a)}this.setInnerText(o,n.getInnerText())}if(n.hasClasses()){if(t){const a=this.getClass(o);a!=null&&this.setAttribute(o,k,a)}this.setClass(o,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const a=this.getStyles(o);Object.keys(a).length>0&&this.setAttribute(o,W,JSON.stringify(a))}this.setStyles(o,n.getStyles())}if(n.hasAttributes()){const a=n.getAttributes();if(t){const c=[];a.forEach(([u])=>{const h=this.getAttribute(o,u);h!=null&&c.push([u,h])}),c.length>0&&this.setAttribute(o,J,JSON.stringify(Object.fromEntries(c)))}a.forEach(([c,u])=>{this.setAttribute(o,c,u)})}}})});this.select=e,this.getAttribute=t,this.setAttribute=r,this.getClass=n,this.setClass=l,this.getStyles=o,this.setStyles=a,this.appendHTML=c,this.getInnerHTML=u,this.setInnerHTML=h,this.getInnerText=m,this.setInnerText=T}}const mt=()=>{document.querySelectorAll(`[${ie}]`).forEach(N)},gt=s=>{const e=s.getAttribute(k);s.removeAttribute(k),e!=null&&s.setAttribute("class",e)},yt=()=>{document.querySelectorAll(`[${k}]`).forEach(e=>gt(e))},Tt=s=>{const e=s.getAttribute(U);s.removeAttribute(U),e!=null&&(s.innerHTML=e)},bt=()=>{document.querySelectorAll(`[${U}]`).forEach(e=>Tt(e))},St=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},At=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>St(e))},qe=s=>JSON.parse(s.replace(/&quot;/g,'"')),Et=s=>{const e=s.getAttribute(W);if(s.removeAttribute(W),e!=null){const t=qe(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},_t=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Et(e))},wt=s=>{const e=s.getAttribute(J);if(s.removeAttribute(J),e!=null){const t=qe(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Ct=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>wt(e))},Pt=()=>{mt(),yt(),At(),bt(),_t(),Ct()},S=Symbol("class"),w=Symbol("style"),D=Symbol("handler"),Be=()=>Math.random().toString(36).substring(2,15),xt=s=>s.replace(/<[^>]*>?/g,"");class Fe{constructor(e){i(this,"id",Be());i(this,"properties",{});i(this,"children",[]);i(this,"isElement",()=>!0);i(this,"isText",()=>!1);i(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?xt(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));i(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});i(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});i(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});i(this,"elements",()=>this.children.filter(e=>e.isElement()));i(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);i(this,"getInnerHTML",()=>this.properties.innerHTML??"");i(this,"getInnerText",()=>this.properties.innerText??"");i(this,"hasInnerText",()=>this.properties.innerText!=null);i(this,"hasChildren",()=>this.children.length>0);i(this,"hasClasses",()=>this.properties[S]!=null);i(this,"hasStyles",()=>this.properties[w]!=null);i(this,"hasAttributes",()=>Object.keys(this.properties).length>0);i(this,"hasHandlers",()=>this.properties[D]!=null);i(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());i(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const r=t.getById(e);if(r!=null)return r}});i(this,"trigger",(e,t)=>{((this.properties[D]??{})[e]??[]).forEach(n=>n(t))});i(this,"click",()=>{this.trigger("click",{})});i(this,"on",(e,t,r)=>{var a;const n=(a=this.properties)[D]??(a[D]={}),l=r!=null&&r.once?c=>{o(),t(c)}:c=>t(c);n[e]=[...n[e]??[],l];const o=()=>{const c=n[e]??[],u=c.indexOf(l);u!==-1&&(c.splice(u,1),c.length===0?(delete n[e],Object.keys(n).length===0&&delete this.properties[D]):n[e]=c,(r==null?void 0:r.signal)!=null&&r.signal.removeEventListener("abort",o))};return(r==null?void 0:r.signal)!=null&&r.signal.addEventListener("abort",o),o});i(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});i(this,"removeClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);e.forEach(n=>{const l=t.indexOf(n);l!==-1&&t.splice(l,1)}),t.length===0&&delete this.properties[S]});i(this,"getClasses",()=>this.properties[S]??[]);i(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));i(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===S?[["class",this.getClasses()]]:e===w?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));i(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[w]??(n[w]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[w])});i(this,"getStyle",e=>{var t;return((t=this.properties[w])==null?void 0:t[e])??""});i(this,"getStyles",()=>this.properties[w]??{});i(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const Ot=s=>s.replace(/"/g,"&quot;"),vt=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class We extends Fe{constructor(t,r,n){super(n);i(this,"isPortal",()=>!1);i(this,"toHTML",(t=!1)=>{const r=this.children.map(c=>c.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let l=null;const o=this.getVisibleAttributes().map(([c,u])=>c==="class"?` class="${u.join(" ")}"`:c==="style"?typeof u=="string"?` style="${u}"`:` style="${Object.entries(u).map(([h,m])=>`${h}: ${m};`).join(" ")}"`:Dt.has(c)?` ${c}`:c==="innerHTML"?(l=u,""):c==="innerText"?(l=vt(u),""):` ${c}="${Ot(u)}"`).join(""),a=t?` ${ie}`:"";return Lt.has(this.tagName)&&r===""?`<${this.tagName}${n}${o}${a} />`:`<${this.tagName}${n}${o}${a}>${l??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class oe extends Fe{constructor(t,r){super(r);i(this,"isPortal",()=>!0);i(this,"toHTML",()=>"");i(this,"contentToHTML",(t=!1)=>this.children.map(r=>r.toHTML(t)).join(""));this.selector=t}}class Ue{constructor(e){i(this,"id",Be());i(this,"isElement",()=>!1);i(this,"isText",()=>!0);i(this,"getText",()=>this.text);i(this,"toHTML",()=>this.text);this.text=e}}class O{constructor(e,t,r,n){i(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});i(this,"makeChildElement",(e,t)=>{const r=new We(e,t,this.element);return this.appendOrInsert(r),new O(r,void 0,this.container,this.providers)});i(this,"makeChildText",e=>{const t=new Ue(e);return this.appendOrInsert(t),new O(this.element,t,this.container,this.providers)});i(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});i(this,"makeRef",()=>this.makeChildText(""));i(this,"makePortal",e=>{const t=new oe(e,this.element);return this.appendOrInsert(t),new O(t,void 0,this.container,this.providers)});i(this,"setProvider",(e,t,r)=>new O(this.element,this.reference,this.container,{...this.providers,[e]:[t,r]}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new ne(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});i(this,"on",(e,t)=>this.element.on(e,t));i(this,"addClasses",e=>this.element.addClasses(e));i(this,"removeClasses",e=>this.element.removeClasses(e));i(this,"getClasses",()=>this.element.getClasses());i(this,"isBrowserDOM",()=>!1);i(this,"isBrowser",()=>!1);i(this,"isHeadlessDOM",()=>!0);i(this,"isHeadless",()=>!0);i(this,"setStyle",(e,t)=>this.element.setStyle(e,t));i(this,"getStyle",e=>this.element.getStyle(e));i(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=r,this.providers=n}}const Dt=new Set(["checked","disabled","multiple","readonly","required","selected"]),Lt=new Set(["img","br","hr","input","link","meta"]),le=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)}},Mt=s=>d.is(s)?ae(s):le(s),b=(...s)=>e=>{const t=s.map(r=>f(r)(e));return r=>{t.forEach(n=>n(r))}},A=()=>()=>{},Ht=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),Nt=s=>e=>{let t=[];const r=s.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(l=>l.length>0),e.addClasses(t)});return n=>{r(),n&&e.removeClasses(t),t.length=0}},$=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),l=r();return n(e),o=>{o&&n(l)}},R=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),l=r(),o=e.on(n);return a=>{o(),a&&n(l)}},v=new Proxy({},{get:(s,e)=>e==="class"?t=>d.is(t)?Nt(t):Ht((t??"").split(" ").filter(r=>r.length>0)):t=>d.is(t)?R(e,t):$(e,t)}),kt=new Proxy({},{get:(s,e)=>t=>d.is(t)?R(`data-${e}`,t):$(`data-${e}`,t)}),It=new Proxy({},{get:(s,e)=>t=>d.is(t)?R(`aria-${e}`,t):$(`aria-${e}`,t)}),$t=new Proxy({},{get:(s,e)=>t=>d.is(t)?R(e,t):$(e,t)}),Rt=new Proxy({},{get:(s,e)=>t=>d.is(t)?R(e,t):$(e,t)}),f=s=>{if(s==null)return A;if(Array.isArray(s))return b(...s.map(f));if(typeof s=="string")return le(s);if(d.is(s))return ae(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ce=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(l=>f(l)(r));return l=>{n.forEach(o=>o(!1)),r.clear(l)}},ue=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),l=t.map(o=>f(o)(n));return o=>{l.forEach(a=>a(!1)),n.clear(o)}},Vt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,t.flatMap(f))}),jt=new Proxy({},{get:(s,e)=>(...t)=>ce("input",v.type(e),...t)}),qt="http://www.w3.org/2000/svg",Bt=new Proxy({},{get:(s,e)=>(...t)=>ue(e,qt,t.flatMap(f))}),Ft="http://www.w3.org/1998/Math/MathML",Wt=new Proxy({},{get:(s,e)=>(...t)=>ue(e,Ft,t.flatMap(f))}),he=(s,e)=>{if(typeof e=="function")return he(s,{then:e});const t=e.pending!=null?f(e.pending()):A,r=e.then,n=e.error!=null?l=>f(e.error(l)):()=>A;return l=>{let o=!0;const a=s(),c=l.makeRef();let u=f(t)(c);return a.then(h=>{o&&(u(!0),u=f(r(h))(c))},h=>{o&&(u(!0),u=f(n(h))(c))}),h=>{o=!1,u(h),c.clear(h)}}},Ut=(s,e)=>he(()=>s,e),Ge=(s,e,t)=>r=>r.on(s,e,t),Je=s=>Ge("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const r=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;r!=null&&s(!r)},0)}),V=new Proxy({},{get:(s,e)=>t=>Ge(e,t)}),Xe=s=>e=>{const t=e.target;s(t.value)},Ye=s=>e=>{const t=e.target;s(t.valueAsNumber)},ze=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("-"),n=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));s(n)},Gt=s=>e=>{const t=e.target;if(t.value===""){s(null);return}const r=t.value.split("-"),n=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));s(n)},Qe=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("T"),n=r[0].split("-"),l=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),o=r[1].split(":");l.setHours(Number(o[0])),l.setMinutes(Number(o[1])),l.setSeconds(Number(o[2])),s(l)},Jt=s=>e=>{const t=e.target;if(t.value===""){s(null);return}const r=t.value.split("T");if(r.length!==2){s(null);return}const n=r[0].split("-"),l=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),o=r[1].split(":");l.setHours(Number(o[0]??0)),l.setMinutes(Number(o[1]??0)),l.setSeconds(Number(o[2]??0)),s(l)},Xt=s=>e=>{const t=e.target;s(t.checked)},Yt=s=>e=>{e.preventDefault(),s()},zt=s=>e=>{e.stopPropagation(),s()},Qt=s=>e=>{e.stopImmediatePropagation(),s()},Zt=(s,e="input")=>b(v.valueAsDate(s),V[e](ze(s.set))),Kt=(s,e="input")=>b(v.valueAsDate(s),V[e](Qe(s.set))),es=(s,e="input")=>b(v.valueAsNumber(s),V[e](Ye(s.set))),ts=(s,e="input")=>b(v.value(s),V[e](Xe(s.set))),ss=s=>b(v.checked(s),Je(s.set)),j=(s,e)=>{if(d.is(s))return r=>{const n=r.makeRef();let l,o;const a=s.map(h=>Object.keys(h)[0]);let c;const u=a.on(h=>{if(h!==c){c=h,o==null||o.dispose(),l==null||l(!0),o=s.map(T=>T[h]);const m=e[h](o);l=f(m)(n)}});return h=>{o==null||o.dispose(),u(),n.clear(h),l==null||l(h)}};const t=Object.keys(s)[0];return f(e[t](I(s[t])))},fe=(s,e,t)=>j(y.map(s,r=>({[r[e]]:r})),t),rs=(s,e)=>fe(s,"kind",e),ns=(s,e)=>{const t=y.map(s,([r,n])=>({[r]:n}));return j(t,e)},is=(s,e)=>fe(s,"type",e),Ze=(s,e)=>j(y.map(s,t=>({[t]:!0})),e),os=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return Ze(t.map(l=>l.isFirst?"first":l.isLast?"last":"other"),{first:r,last:n,other:s})},ls=s=>e=>(e.appendOrInsert(s),t=>{t&&N(s)}),Ke=(s,e,t)=>{if(d.is(s)){const r=s;return n=>{const l=n.makeRef();let o=()=>{},a=!1,c=null;const u=r.on(h=>{h==null?(o(!0),o=f((t==null?void 0:t())??A)(l),a=!1,c==null||c.dispose(),c=null):(c==null?c=_(h):c.value=h,a||(o(!0),o=f(e(c))(l),a=!0))});return h=>{c==null||c.dispose(),u(),o==null||o(h),l.clear(h)}}}else{const r=s;if(r==null){const n=t==null?void 0:t();return n!=null?f(n):A}return f(e(I(r)))}},as=(...s)=>(e,t)=>r=>{const n=r.makeRef();if(s.some(p=>!d.is(p)&&p==null))return(t!=null?f(t==null?void 0:t()):A)(n);const o=s.map(()=>null),a=s.map(p=>d.is(p)?p.value!=null:p!=null);let c=null;const u=_(a.every(p=>p)),h=(p,g)=>{if(p.value!=null){if(o[g]==null){const C=_(p.value);o[g]=C}else o[g].value=p.value;a[g]=!0}else a[g]=!1};let m=s.length-1;const T=s.map((p,g)=>{if(!d.is(p)){const C=_(p);return o[g]=C,()=>{}}return p.on(()=>{h(p,g),m===0?u.value=a.every(C=>C):m--})});return u.on(p=>{c==null||c(!0),c=null,p?c=f(e(...o))(n):c=f((t==null?void 0:t())??A)(n)}),p=>{o.forEach(g=>g==null?void 0:g.dispose()),u.dispose(),T.forEach(g=>g()),c==null||c(p),n.clear(p)}},Q=(...s)=>e=>t=>s.forEach(r=>r(t,e)),de=(s,e,t)=>Ke(y.map(s,r=>r?!0:null),e,t??void 0),cs=(s,e,t)=>de(y.map(s,r=>!r),e,t),pe=(s,e,t)=>t!=null?pe(s,r=>{const n=new F(r.index,r.total.map(l=>l-1));return b(Q(n.dispose),f(e(r)),de(r.isLast,()=>A,()=>t(n)))}):d.is(s)?r=>{const n=r.makeRef(),l=[],o=s.on(a=>{const c=l.splice(a);for(const u of c)u(!0);for(let u=l.length;u<a;u++){const h=new F(u,s);l.push(f(e(h))(n))}});return a=>{o();for(const c of l)c(a);l.length=0,n.clear(a)}}:b(...Array.from({length:s},(r,n)=>n).map(r=>f(e(new F(r,I(s)))))),us=(s,e,t)=>{const r=y.map(s,l=>l.length),n=y.toSignal(s);return pe(r,l=>{const o=n.map(a=>a[l.index]);return b(Q(o.dispose),f(e(o,l)))},t)},hs=(s,e)=>{if(d.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(a=>f(e(a)));let l=()=>{};const o=n.on(a=>{l(!0),l=a(r)});return a=>{o(),l(a)}}}return f(e(s))},fs=(s,e,t=()=>A)=>j(y.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),ds=(s,e)=>t=>{const r=t.makePortal(s);return z(f(e),r)},B=new Map,et=s=>({mark:Ve(`Probe(${s.description})`),create:({callback:e=()=>{},timeout:t=10}={})=>{const r=a=>{clearTimeout(n),B.delete(s),e(a)};if(B.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>r("timeout"),t),l={counter:0,timeoutId:n};return B.set(s,l),{value:()=>{clearTimeout(n);const a=B.get(s);a!=null&&--a.counter===0&&r("resolved")},dispose:()=>r("disposed"),onUse:()=>l.counter++}}}),ps=et(Symbol("GlobalProbe")),ms=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},gs=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},ys=new Proxy({},{get:(s,e)=>t=>d.is(t)?gs(e,t):ms(e,t)}),tt=s=>e=>{if(e.isBrowser()){const t=s(e);if(t!=null)return f(t)(e)}return()=>{}},Ts=s=>e=>{const t=s(e);return t==null?()=>{}:f(t)(e)},bs=s=>tt(e=>s(e.element)),Ss=s=>e=>{if(e.isHeadlessDOM()){const t=s(e);if(t)return f(t)(e)}return()=>{}},Z=s=>e=>{let t=e;function r(){return t}function n(a){t=a}const l=[],o=s({use:({mark:a})=>{const[c,u]=r().getProvider(a);return u==null||u(),c},set:({mark:a,create:c},u)=>{const{value:h,dispose:m,onUse:T}=c(u,r());l.push(m),n(r().setProvider(a,h,T))}});return o==null?()=>{}:b(f(o),Q(()=>l.forEach(a=>a())))(r())},As=(s,e,t)=>Z(({set:r})=>(r(s,e),t())),Es=(s,e)=>Z(({use:t})=>e(t(s))),_s=(...s)=>e=>Z(({use:t})=>{const r=s.map(t);return e(...r)});exports.Async=Ut;exports.BindChecked=ss;exports.BindDate=Zt;exports.BindDateTime=Kt;exports.BindNumber=es;exports.BindText=ts;exports.BrowserContext=x;exports.CLASS_PLACEHOLDER_ATTR=k;exports.Computed=P;exports.Conjunction=os;exports.DOMNode=ls;exports.El=ce;exports.ElNS=ue;exports.ElementPosition=F;exports.Empty=A;exports.Ensure=Ke;exports.EnsureAll=as;exports.ForEach=us;exports.Fragment=b;exports.GlobalProbe=ps;exports.HeadlessAdapter=pt;exports.HeadlessContext=O;exports.HeadlessElement=We;exports.HeadlessPortal=oe;exports.HeadlessText=Ue;exports.MapSignal=hs;exports.MemoryStore=te;exports.NotEmpty=fs;exports.OnChecked=Je;exports.OnDispose=Q;exports.OneOf=j;exports.OneOfField=fe;exports.OneOfKind=rs;exports.OneOfTuple=ns;exports.OneOfType=is;exports.OneOfValue=Ze;exports.Portal=ds;exports.Prop=H;exports.Provide=As;exports.ProviderNotFoundError=ne;exports.RenderingError=je;exports.Repeat=pe;exports.Signal=d;exports.Task=he;exports.TextNode=Mt;exports.Unless=cs;exports.Use=Es;exports.UseMany=_s;exports.Value=y;exports.When=de;exports.WithBrowserCtx=tt;exports.WithCtx=Ts;exports.WithElement=bs;exports.WithHeadlessCtx=Ss;exports.WithProvider=Z;exports._NODE_PLACEHOLDER_ATTR=ie;exports._getSelfOrParentElement=Re;exports._isElement=re;exports._makeGetter=$e;exports._makeSetter=Ie;exports._removeDOMNode=N;exports._signalText=ae;exports._staticText=le;exports.animateSignal=ut;exports.animateSignals=De;exports.aria=It;exports.attr=v;exports.computed=Y;exports.computedOf=ve;exports.computedRecord=ht;exports.dataAttr=kt;exports.effect=Oe;exports.effectOf=lt;exports.emitChecked=Xt;exports.emitPreventDefault=Yt;exports.emitStopImmediatePropagation=Qt;exports.emitStopPropagation=zt;exports.emitValue=Xe;exports.emitValueAsDate=ze;exports.emitValueAsDateTime=Qe;exports.emitValueAsNullableDate=Gt;exports.emitValueAsNullableDateTime=Jt;exports.emitValueAsNumber=Ye;exports.endInterpolate=Pe;exports.getWindow=ee;exports.guessInterpolate=xe;exports.html=Vt;exports.input=jt;exports.interpolateDate=Ce;exports.interpolateNumber=_e;exports.interpolateString=we;exports.joinSignals=ot;exports.localStorageProp=at;exports.makeProbe=et;exports.makeProviderMark=Ve;exports.math=Wt;exports.mathAttr=Rt;exports.on=V;exports.prop=_;exports.render=ft;exports.renderWithContext=z;exports.renderableOfTNode=f;exports.restoreTempoPlaceholders=Pt;exports.runHeadless=dt;exports.sessionStorageProp=ct;exports.signal=I;exports.storedProp=se;exports.style=ys;exports.svg=Bt;exports.svgAttr=$t;
1
+ "use strict";var rt=Object.defineProperty;var ye=s=>{throw TypeError(s)};var nt=(s,e,t)=>e in s?rt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var i=(s,e,t)=>nt(s,typeof e!="symbol"?e+"":e,t),Te=(s,e,t)=>e.has(s)||ye("Cannot "+t);var K=(s,e,t)=>(Te(s,e,"read from private field"),t?t.call(s):e.get(s)),be=(s,e,t)=>e.has(s)?ye("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),Se=(s,e,t,r)=>(Te(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _e=(s,e,t)=>s+(e-s)*t,Ae=97,we=(s,e,t)=>{const r=Math.max(s.length,e.length);let n="";for(let o=0;o<r;o++){let l=s.charCodeAt(o);isNaN(l)&&(l=Ae);let a=e.charCodeAt(o);isNaN(a)&&(a=Ae),n+=String.fromCharCode(l+(a-l)*t)}return n},Ce=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),Pe=(s,e)=>e,ve=s=>typeof s=="number"?_e:typeof s=="string"?we:s instanceof Date?Ce:Pe;var L;class F{constructor(e,t){i(this,"counter");i(this,"isFirst");i(this,"isEven");i(this,"isOdd");be(this,L);i(this,"dispose",()=>{this.total.dispose()});this.index=e,this.total=t,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}get isLast(){return K(this,L)==null&&Se(this,L,this.total.map(e=>this.counter===e)),K(this,L)}}L=new WeakMap;const M=class M{constructor(e,t){i(this,"$__signal__",!0);i(this,"_value");i(this,"_derivatives",[]);i(this,"_onValueListeners",[]);i(this,"_onDisposeListeners",[]);i(this,"get",()=>this._value);i(this,"hasListeners",()=>this._onValueListeners.length>0);i(this,"on",(e,t={})=>{t.skipInitial||e(this.get(),void 0);const r=t.once?(o,l)=>{n(),e(o,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});i(this,"_setAndNotify",(e,t)=>{if(this._disposed)return;const r=this._value,n=this.equals(r,e);n||(this._value=e),(t||!n)&&this._onValueListeners.forEach(o=>o(e,r))});i(this,"_disposed",!1);i(this,"isDisposed",()=>this._disposed);i(this,"onDispose",e=>{this._onDisposeListeners.push(e)});i(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});i(this,"map",(e,t=(r,n)=>r===n)=>{const r=new P(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(r),r});i(this,"flatMap",(e,t=(r,n)=>r===n)=>{const r=new P(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(r),r});i(this,"tap",e=>this.map(t=>(e(t),t)));i(this,"at",e=>this.map(t=>t[e]));i(this,"_$");i(this,"filter",(e,t)=>{let r=t??this.get();const n=new P(()=>{try{const o=this.get();return r=e(o)?o:r}catch(o){throw console.error("Error in Signal.filter:",o),o}},this.equals);return this.setDerivative(n),n});i(this,"filterMap",(e,t,r=(n,o)=>n===o)=>{let n=t;const o=new P(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},r);return this.setDerivative(o),o});i(this,"mapAsync",(e,t,r,n=(o,l)=>o===l)=>{const o=_(t,n);let l=0,a=new AbortController;return o.onDispose(this.on(async c=>{const u=++l;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});u===l&&o.set(h)}catch(h){if(u===l)if(r!=null)o.set(r(h));else throw h}})),o});i(this,"mapMaybe",(e,t)=>this.map(r=>e(r)??t));i(this,"feedProp",(e,t=!1)=>{const r=this.on(e.set);return e.onDispose(r),t?this.onDispose(e.dispose):this.onDispose(r),e});i(this,"deriveProp",({autoDisposeProp:e=!0,equals:t}={})=>this.feedProp(_(this.get(),t),e));i(this,"derive",()=>this.map(e=>e));i(this,"count",()=>{let e=0;return this.map(()=>++e)});i(this,"setDerivative",e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty)),this.onDispose(e.dispose)});this.equals=t,this._value=e}get value(){return this._value}get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,t)=>this.at(t)})}};i(M,"ofPromise",(e,t,r,n=(o,l)=>o===l)=>{const o=new M(t,n);return e.then(l=>o._setAndNotify(l,!1)).catch(l=>{r!=null?o._setAndNotify(r(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),o}),i(M,"is",e=>e!=null&&e.$__signal__===!0);let d=M;const it=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class P extends d{constructor(t,r){super(void 0,r);i(this,"$__computed__",!0);i(this,"_isDirty",!1);i(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});i(this,"_scheduleCount",0);i(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;it(()=>{this._scheduleCount!==t||this._disposed||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});i(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const X=class X extends d{constructor(){super(...arguments);i(this,"$__prop__",!0);i(this,"set",t=>{this._setAndNotify(t,!1)});i(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});i(this,"reducer",(t,...r)=>{const n=this;return function o(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&r.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:o}))}});i(this,"iso",(t,r,n=(o,l)=>o===l)=>{const o=new X(t(this.get()),n);return o.onDispose(this.on(l=>o.set(t(l)))),o.on(l=>this._setAndNotify(r(l),!1)),o});i(this,"atProp",t=>this.iso(r=>r[t],r=>({...this.value,[t]:r})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};i(X,"is",t=>t!=null&&t.$__prop__===!0);let H=X;const Y=(s,e,t=(r,n)=>r===n)=>{const r=new P(s,t);return e.forEach(n=>n.setDerivative(r)),r},Oe=(s,e,t={})=>{let r=t.once?()=>{o(),s()}:s;if(t.skipInitial){let l=!1;const a=r;r=()=>{l?a():l=!0}}const n=Y(r,e),o=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",o)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",o),o},_=(s,e=(t,r)=>t===r)=>new H(s,e),I=(s,e=(t,r)=>t===r)=>new d(s,e),ee=()=>typeof window<"u"?window:void 0,y={map:(s,e)=>d.is(s)?s.map(e):e(s),toSignal:(s,e)=>d.is(s)?s:I(s,e),maybeToSignal:(s,e)=>{if(s!=null)return y.toSignal(s,e)},get:s=>d.is(s)?s.get():s,on:(s,e)=>d.is(s)?s.on(e):(e(s),()=>{}),dispose:s=>{d.is(s)&&s.dispose()},deriveProp:(s,{autoDisposeProp:e=!0,equals:t}={})=>d.is(s)?s.deriveProp({autoDisposeProp:e,equals:t}):_(s,t)},xe=(...s)=>(e,t)=>{const r=s.filter(n=>d.is(n));return Y(()=>e(...s.map(n=>y.get(n))),r,t)},ot=s=>{const e=Object.keys(s);return xe(...Object.values(s))((...t)=>Object.fromEntries(e.map((r,n)=>[r,t[n]])))},lt=(...s)=>(e,t={})=>{const r=s.filter(n=>d.is(n));return Oe(()=>e(...s.map(y.get)),r,t)};class te{constructor(){i(this,"_store",new Map);i(this,"getItem",e=>this._store.get(e)??null);i(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const se=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:o=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(s),c=new H(a!=null?l(n(a)):typeof e=="function"?e():e,o);return c.on(u=>{t.setItem(s,r(u))}),c},at=s=>{var e;return se({...s,store:((e=ee())==null?void 0:e.localStorage)??new te})},ct=s=>{var e;return se({...s,store:((e=ee())==null?void 0:e.sessionStorage)??new te})};function Ee(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const De=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,o=(r==null?void 0:r.easing)??(E=>E),l=(r==null?void 0:r.equals)??((E,q)=>E===q);let a=r==null?void 0:r.interpolate,c=s,u=e(),h=performance.now(),m=null,T=!0;const p=new P(e,l),g=_(s,l);g.onDispose(()=>{m!==null&&cancelAnimationFrame(m)}),g.onDispose(p.dispose),t.forEach(E=>{E.setDerivative(p),E.onDispose(g.dispose)});const C=E=>{u=E,h=performance.now(),c=g.value,T&&(T=!1,m=Ee(me))},me=()=>{const q=(performance.now()-h)/y.get(n),st=o(q);a==null&&(a=ve(c));let ge=a(c,u,st);q>=1?(T=!0,ge=u):m=Ee(me),g.set(ge)};return p.on(C),g},ut=(s,e)=>{const{initialValue:t,...r}=e??{};return De(t??s.get(),s.get,[s],r)},ht=(s,e)=>{const{signals:t,literals:r}=Object.entries(s).reduce(({signals:o,literals:l},[a,c])=>(d.is(c)?o.push([a,c]):l[a]=c,{signals:o,literals:l}),{signals:[],literals:{}}),n=t.map(([,o])=>o);return Y(()=>(t.forEach(([o,l])=>r[o]=l.value),e(r)),n)},Le=new Set(["checked","disabled","hidden"]),Me=new Set(["selected"]),He=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Ne=new Set(["valueAsDate"]),ke=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ie=(s,e)=>Me.has(s)?t=>{t==null||t!==!0?e.removeAttribute(s):e.setAttribute(s,"")}:Le.has(s)?t=>{t==null?e[s]=null:e[s]=!!t}:He.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:Ne.has(s)?t=>{t==null?e[s]=null:e[s]=t}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},$e=(s,e)=>Me.has(s)?()=>e.hasAttribute(s):Le.has(s)?()=>!!e[s]:He.has(s)?()=>Number(e[s]):Ne.has(s)?()=>e[s]:ke.has(s)?()=>String(e[s]):()=>e.getAttribute(s),N=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},Re=s=>re(s)?s:s.parentElement,re=s=>s.nodeType===1;class ne extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class v{constructor(e,t,r,n){i(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));i(this,"makeChildElement",(e,t)=>{const r=this.createElement(e,t);return this.appendOrInsert(r),this.withElement(r)});i(this,"createText",e=>this.document.createTextNode(e));i(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});i(this,"setText",e=>{this.reference.nodeValue=e});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});i(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});i(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});i(this,"withElement",e=>new v(this.document,e,void 0,this.providers));i(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)});i(this,"withReference",e=>new v(this.document,this.element,e,this.providers));i(this,"setProvider",(e,t,r)=>new v(this.document,this.element,this.reference,{...this.providers,[e]:[t,r]}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new ne(e);const[t,r]=this.providers[e];return{value:t,onUse:r}});i(this,"clear",e=>{e&&(this.reference!==void 0?N(this.reference):N(this.element))});i(this,"addClasses",e=>{this.element.classList.add(...e)});i(this,"removeClasses",e=>{this.element.classList.remove(...e)});i(this,"getClasses",()=>Array.from(this.element.classList));i(this,"on",(e,t,r)=>{const n=o=>t(o,this);return this.element.addEventListener(e,n,r),o=>{o&&this.element.removeEventListener(e,n,r)}});i(this,"isBrowserDOM",()=>!0);i(this,"isBrowser",()=>!0);i(this,"isHeadlessDOM",()=>!1);i(this,"isHeadless",()=>!1);i(this,"setStyle",(e,t)=>{this.element.style[e]=t});i(this,"getStyle",e=>this.element.style[e]);i(this,"makeAccessors",e=>({get:$e(e,this.element),set:Ie(e,this.element)}));i(this,"getWindow",()=>this.document.defaultView);this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t,r){return new v(e.ownerDocument,e,t,r)}}const Ve=s=>Symbol(s),z=(s,e)=>{const t=s(e);return(r=!0)=>t(r)},ft=(s,e,{doc:t,clear:r,disposeWithParent:n=!0,providers:o={}}={})=>{const l=typeof e=="string"?(t??document).querySelector(e):e;if(l===null)throw new je(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??l.ownerDocument)!=null&&l.nodeType===1&&(l.innerHTML="");const a=Re(l),c=re(l)?void 0:l,u=v.of(a,c,o),h=z(s,u);let m;return n&&(m=new MutationObserver(T=>{var p;(p=T[0])==null||p.removedNodes.forEach(g=>{g===l&&(m==null||m.disconnect(),h(l.nodeType!==Node.ELEMENT_NODE))})}),m.observe(l.parentElement,{childList:!0,subtree:!1,attributes:!1})),()=>{m==null||m.disconnect(),h(!0)}},dt=(s,{startUrl:e="https://example.com",selector:t,providers:r={}}={selector:"body"})=>{const n=y.toSignal(e).deriveProp(),o=new oe(t,void 0),l=new O(o,void 0,{currentURL:n},r);return{clear:z(s(),l),root:o,currentURL:n}};class je extends Error{constructor(e){super(e)}}const ie="data-tts-node",k="data-tts-class",W="data-tts-style",U="data-tts-html",G="data-tts-text",J="data-tts-attrs";class pt{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:o,getStyles:l,setStyles:a,appendHTML:c,getInnerHTML:u,setInnerHTML:h,getInnerText:m,setInnerText:T}){i(this,"select");i(this,"getAttribute");i(this,"setAttribute");i(this,"getClass");i(this,"setClass");i(this,"getStyles");i(this,"setStyles");i(this,"appendHTML");i(this,"getInnerHTML");i(this,"setInnerHTML");i(this,"getInnerText");i(this,"setInnerText");i(this,"setFromRoot",(e,t)=>{e.getPortals().forEach(n=>{const o=typeof n.selector=="string"?this.select(n.selector):[n.selector];for(const l of o){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 a=this.getInnerHTML(l);a!=null&&this.setAttribute(l,U,a)}this.setInnerHTML(l,n.getInnerHTML())}if(n.hasInnerText()){if(t){const a=this.getInnerText(l);a!=null&&this.setAttribute(l,G,a)}this.setInnerText(l,n.getInnerText())}if(n.hasClasses()){if(t){const a=this.getClass(l);a!=null&&this.setAttribute(l,k,a)}this.setClass(l,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const a=this.getStyles(l);Object.keys(a).length>0&&this.setAttribute(l,W,JSON.stringify(a))}this.setStyles(l,n.getStyles())}if(n.hasAttributes()){const a=n.getAttributes();if(t){const c=[];a.forEach(([u])=>{const h=this.getAttribute(l,u);h!=null&&c.push([u,h])}),c.length>0&&this.setAttribute(l,J,JSON.stringify(Object.fromEntries(c)))}a.forEach(([c,u])=>{this.setAttribute(l,c,u)})}}})});this.select=e,this.getAttribute=t,this.setAttribute=r,this.getClass=n,this.setClass=o,this.getStyles=l,this.setStyles=a,this.appendHTML=c,this.getInnerHTML=u,this.setInnerHTML=h,this.getInnerText=m,this.setInnerText=T}}const mt=()=>{document.querySelectorAll(`[${ie}]`).forEach(N)},gt=s=>{const e=s.getAttribute(k);s.removeAttribute(k),e!=null&&s.setAttribute("class",e)},yt=()=>{document.querySelectorAll(`[${k}]`).forEach(e=>gt(e))},Tt=s=>{const e=s.getAttribute(U);s.removeAttribute(U),e!=null&&(s.innerHTML=e)},bt=()=>{document.querySelectorAll(`[${U}]`).forEach(e=>Tt(e))},St=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},At=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>St(e))},qe=s=>JSON.parse(s.replace(/&quot;/g,'"')),Et=s=>{const e=s.getAttribute(W);if(s.removeAttribute(W),e!=null){const t=qe(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},_t=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Et(e))},wt=s=>{const e=s.getAttribute(J);if(s.removeAttribute(J),e!=null){const t=qe(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Ct=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>wt(e))},Pt=()=>{mt(),yt(),At(),bt(),_t(),Ct()},S=Symbol("class"),w=Symbol("style"),D=Symbol("handler"),Be=()=>Math.random().toString(36).substring(2,15),vt=s=>s.replace(/<[^>]*>?/g,"");class Fe{constructor(e){i(this,"id",Be());i(this,"properties",{});i(this,"children",[]);i(this,"isElement",()=>!0);i(this,"isText",()=>!1);i(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?vt(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));i(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});i(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});i(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});i(this,"elements",()=>this.children.filter(e=>e.isElement()));i(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);i(this,"getInnerHTML",()=>this.properties.innerHTML??"");i(this,"getInnerText",()=>this.properties.innerText??"");i(this,"hasInnerText",()=>this.properties.innerText!=null);i(this,"hasChildren",()=>this.children.length>0);i(this,"hasClasses",()=>this.properties[S]!=null);i(this,"hasStyles",()=>this.properties[w]!=null);i(this,"hasAttributes",()=>Object.keys(this.properties).length>0);i(this,"hasHandlers",()=>this.properties[D]!=null);i(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());i(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const r=t.getById(e);if(r!=null)return r}});i(this,"trigger",(e,t)=>{((this.properties[D]??{})[e]??[]).forEach(n=>n(t))});i(this,"click",()=>{this.trigger("click",{})});i(this,"on",(e,t,r,n)=>{var c;const o=(c=this.properties)[D]??(c[D]={}),l=n!=null&&n.once?u=>{a(),t(u,r)}:u=>t(u,r);o[e]=[...o[e]??[],l];const a=()=>{const u=o[e]??[],h=u.indexOf(l);h!==-1&&(u.splice(h,1),u.length===0?(delete o[e],Object.keys(o).length===0&&delete this.properties[D]):o[e]=u,(n==null?void 0:n.signal)!=null&&n.signal.removeEventListener("abort",a))};return(n==null?void 0:n.signal)!=null&&n.signal.addEventListener("abort",a),a});i(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});i(this,"removeClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);e.forEach(n=>{const o=t.indexOf(n);o!==-1&&t.splice(o,1)}),t.length===0&&delete this.properties[S]});i(this,"getClasses",()=>this.properties[S]??[]);i(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));i(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===S?[["class",this.getClasses()]]:e===w?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));i(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[w]??(n[w]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[w])});i(this,"getStyle",e=>{var t;return((t=this.properties[w])==null?void 0:t[e])??""});i(this,"getStyles",()=>this.properties[w]??{});i(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const Ot=s=>s.replace(/"/g,"&quot;"),xt=s=>s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");class We extends Fe{constructor(t,r,n){super(n);i(this,"isPortal",()=>!1);i(this,"toHTML",(t=!1)=>{const r=this.children.map(c=>c.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let o=null;const l=this.getVisibleAttributes().map(([c,u])=>c==="class"?` class="${u.join(" ")}"`:c==="style"?typeof u=="string"?` style="${u}"`:` style="${Object.entries(u).map(([h,m])=>`${h}: ${m};`).join(" ")}"`:Dt.has(c)?` ${c}`:c==="innerHTML"?(o=u,""):c==="innerText"?(o=xt(u),""):` ${c}="${Ot(u)}"`).join(""),a=t?` ${ie}`:"";return Lt.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${a} />`:`<${this.tagName}${n}${l}${a}>${o??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class oe extends Fe{constructor(t,r){super(r);i(this,"isPortal",()=>!0);i(this,"toHTML",()=>"");i(this,"contentToHTML",(t=!1)=>this.children.map(r=>r.toHTML(t)).join(""));this.selector=t}}class Ue{constructor(e){i(this,"id",Be());i(this,"isElement",()=>!1);i(this,"isText",()=>!0);i(this,"getText",()=>this.text);i(this,"toHTML",()=>this.text);this.text=e}}class O{constructor(e,t,r,n){i(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});i(this,"makeChildElement",(e,t)=>{const r=new We(e,t,this.element);return this.appendOrInsert(r),new O(r,void 0,this.container,this.providers)});i(this,"makeChildText",e=>{const t=new Ue(e);return this.appendOrInsert(t),new O(this.element,t,this.container,this.providers)});i(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});i(this,"makeRef",()=>this.makeChildText(""));i(this,"makePortal",e=>{const t=new oe(e,this.element);return this.appendOrInsert(t),new O(t,void 0,this.container,this.providers)});i(this,"setProvider",(e,t,r)=>new O(this.element,this.reference,this.container,{...this.providers,[e]:[t,r]}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new ne(e);const[t,r]=this.providers[e];return{value:t,onUse:r}});i(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});i(this,"on",(e,t)=>this.element.on(e,t,this));i(this,"addClasses",e=>this.element.addClasses(e));i(this,"removeClasses",e=>this.element.removeClasses(e));i(this,"getClasses",()=>this.element.getClasses());i(this,"isBrowserDOM",()=>!1);i(this,"isBrowser",()=>!1);i(this,"isHeadlessDOM",()=>!0);i(this,"isHeadless",()=>!0);i(this,"setStyle",(e,t)=>this.element.setStyle(e,t));i(this,"getStyle",e=>this.element.getStyle(e));i(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=r,this.providers=n}}const Dt=new Set(["checked","disabled","multiple","readonly","required","selected"]),Lt=new Set(["img","br","hr","input","link","meta"]),le=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)}},Mt=s=>d.is(s)?ae(s):le(s),b=(...s)=>e=>{const t=s.map(r=>f(r)(e));return r=>{t.forEach(n=>n(r))}},A=()=>()=>{},Ht=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),Nt=s=>e=>{let t=[];const r=s.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(o=>o.length>0),e.addClasses(t)});return n=>{r(),n&&e.removeClasses(t),t.length=0}},$=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),o=r();return n(e),l=>{l&&n(o)}},R=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),o=r(),l=e.on(n);return a=>{l(),a&&n(o)}},x=new Proxy({},{get:(s,e)=>e==="class"?t=>d.is(t)?Nt(t):Ht((t??"").split(" ").filter(r=>r.length>0)):t=>d.is(t)?R(e,t):$(e,t)}),kt=new Proxy({},{get:(s,e)=>t=>d.is(t)?R(`data-${e}`,t):$(`data-${e}`,t)}),It=new Proxy({},{get:(s,e)=>t=>d.is(t)?R(`aria-${e}`,t):$(`aria-${e}`,t)}),$t=new Proxy({},{get:(s,e)=>t=>d.is(t)?R(e,t):$(e,t)}),Rt=new Proxy({},{get:(s,e)=>t=>d.is(t)?R(e,t):$(e,t)}),f=s=>{if(s==null)return A;if(Array.isArray(s))return b(...s.map(f));if(typeof s=="string")return le(s);if(d.is(s))return ae(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ce=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(o=>f(o)(r));return o=>{n.forEach(l=>l(!1)),r.clear(o)}},ue=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),o=t.map(l=>f(l)(n));return l=>{o.forEach(a=>a(!1)),n.clear(l)}},Vt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,t.flatMap(f))}),jt=new Proxy({},{get:(s,e)=>(...t)=>ce("input",x.type(e),...t)}),qt="http://www.w3.org/2000/svg",Bt=new Proxy({},{get:(s,e)=>(...t)=>ue(e,qt,t.flatMap(f))}),Ft="http://www.w3.org/1998/Math/MathML",Wt=new Proxy({},{get:(s,e)=>(...t)=>ue(e,Ft,t.flatMap(f))}),he=(s,e)=>{if(typeof e=="function")return he(s,{then:e});const t=e.pending!=null?f(e.pending()):A,r=e.then,n=e.error!=null?o=>f(e.error(o)):()=>A;return o=>{let l=!0;const a=s(),c=o.makeRef();let u=f(t)(c);return a.then(h=>{l&&(u(!0),u=f(r(h))(c))},h=>{l&&(u(!0),u=f(n(h))(c))}),h=>{l=!1,u(h),c.clear(h)}}},Ut=(s,e)=>he(()=>s,e),Ge=(s,e,t)=>r=>r.on(s,e,t),Je=s=>Ge("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)}),V=new Proxy({},{get:(s,e)=>t=>Ge(e,t)}),Xe=s=>e=>{const t=e.target;s(t.value)},Ye=s=>e=>{const t=e.target;s(t.valueAsNumber)},ze=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("-"),n=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));s(n)},Gt=s=>e=>{const t=e.target;if(t.value===""){s(null);return}const r=t.value.split("-"),n=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));s(n)},Qe=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("T"),n=r[0].split("-"),o=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=r[1].split(":");o.setHours(Number(l[0])),o.setMinutes(Number(l[1])),o.setSeconds(Number(l[2])),s(o)},Jt=s=>e=>{const t=e.target;if(t.value===""){s(null);return}const r=t.value.split("T");if(r.length!==2){s(null);return}const n=r[0].split("-"),o=new Date(Number(n[0]),Number(n[1])-1,Number(n[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)},Xt=s=>e=>{const t=e.target;s(t.checked)},Yt=s=>e=>{e.preventDefault(),s()},zt=s=>e=>{e.stopPropagation(),s()},Qt=s=>e=>{e.stopImmediatePropagation(),s()},Zt=(s,e="input")=>b(x.valueAsDate(s),V[e](ze(s.set))),Kt=(s,e="input")=>b(x.valueAsDate(s),V[e](Qe(s.set))),es=(s,e="input")=>b(x.valueAsNumber(s),V[e](Ye(s.set))),ts=(s,e="input")=>b(x.value(s),V[e](Xe(s.set))),ss=s=>b(x.checked(s),Je(s.set)),j=(s,e)=>{if(d.is(s))return r=>{const n=r.makeRef();let o,l;const a=s.map(h=>Object.keys(h)[0]);let c;const u=a.on(h=>{if(h!==c){c=h,l==null||l.dispose(),o==null||o(!0),l=s.map(T=>T[h]);const m=e[h](l);o=f(m)(n)}});return h=>{l==null||l.dispose(),u(),n.clear(h),o==null||o(h)}};const t=Object.keys(s)[0];return f(e[t](I(s[t])))},fe=(s,e,t)=>j(y.map(s,r=>({[r[e]]:r})),t),rs=(s,e)=>fe(s,"kind",e),ns=(s,e)=>{const t=y.map(s,([r,n])=>({[r]:n}));return j(t,e)},is=(s,e)=>fe(s,"type",e),Ze=(s,e)=>j(y.map(s,t=>({[t]:!0})),e),os=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return Ze(t.map(o=>o.isFirst?"first":o.isLast?"last":"other"),{first:r,last:n,other:s})},ls=s=>e=>(e.appendOrInsert(s),t=>{t&&N(s)}),Ke=(s,e,t)=>{if(d.is(s)){const r=s;return n=>{const o=n.makeRef();let l=()=>{},a=!1,c=null;const u=r.on(h=>{h==null?(l(!0),l=f((t==null?void 0:t())??A)(o),a=!1,c==null||c.dispose(),c=null):(c==null?c=_(h):c.value=h,a||(l(!0),l=f(e(c))(o),a=!0))});return h=>{c==null||c.dispose(),u(),l==null||l(h),o.clear(h)}}}else{const r=s;if(r==null){const n=t==null?void 0:t();return n!=null?f(n):A}return f(e(I(r)))}},as=(...s)=>(e,t)=>r=>{const n=r.makeRef();if(s.some(p=>!d.is(p)&&p==null))return(t!=null?f(t==null?void 0:t()):A)(n);const l=s.map(()=>null),a=s.map(p=>d.is(p)?p.value!=null:p!=null);let c=null;const u=_(a.every(p=>p)),h=(p,g)=>{if(p.value!=null){if(l[g]==null){const C=_(p.value);l[g]=C}else l[g].value=p.value;a[g]=!0}else a[g]=!1};let m=s.length-1;const T=s.map((p,g)=>{if(!d.is(p)){const C=_(p);return l[g]=C,()=>{}}return p.on(()=>{h(p,g),m===0?u.value=a.every(C=>C):m--})});return u.on(p=>{c==null||c(!0),c=null,p?c=f(e(...l))(n):c=f((t==null?void 0:t())??A)(n)}),p=>{l.forEach(g=>g==null?void 0:g.dispose()),u.dispose(),T.forEach(g=>g()),c==null||c(p),n.clear(p)}},Q=(...s)=>e=>t=>s.forEach(r=>r(t,e)),de=(s,e,t)=>Ke(y.map(s,r=>r?!0:null),e,t??void 0),cs=(s,e,t)=>de(y.map(s,r=>!r),e,t),pe=(s,e,t)=>t!=null?pe(s,r=>{const n=new F(r.index,r.total.map(o=>o-1));return b(Q(n.dispose),f(e(r)),de(r.isLast,()=>A,()=>t(n)))}):d.is(s)?r=>{const n=r.makeRef(),o=[],l=s.on(a=>{const c=o.splice(a);for(const u of c)u(!0);for(let u=o.length;u<a;u++){const h=new F(u,s);o.push(f(e(h))(n))}});return a=>{l();for(const c of o)c(a);o.length=0,n.clear(a)}}:b(...Array.from({length:s},(r,n)=>n).map(r=>f(e(new F(r,I(s)))))),us=(s,e,t)=>{const r=y.map(s,o=>o.length),n=y.toSignal(s);return pe(r,o=>{const l=n.map(a=>a[o.index]);return b(Q(l.dispose),f(e(l,o)))},t)},hs=(s,e)=>{if(d.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(a=>f(e(a)));let o=()=>{};const l=n.on(a=>{o(!0),o=a(r)});return a=>{l(),o(a)}}}return f(e(s))},fs=(s,e,t=()=>A)=>j(y.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),ds=(s,e)=>t=>{const r=t.makePortal(s);return z(f(e),r)},B=new Map,et=s=>({mark:Ve(`Probe(${s.description})`),create:({callback:e=()=>{},timeout:t=10}={})=>{const r=a=>{clearTimeout(n),B.delete(s),e(a)};if(B.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>r("timeout"),t),o={counter:0,timeoutId:n};return B.set(s,o),{value:()=>{clearTimeout(n);const a=B.get(s);a!=null&&--a.counter===0&&r("resolved")},dispose:()=>r("disposed"),onUse:()=>o.counter++}}}),ps=et(Symbol("GlobalProbe")),ms=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},gs=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},ys=new Proxy({},{get:(s,e)=>t=>d.is(t)?gs(e,t):ms(e,t)}),tt=s=>e=>{if(e.isBrowser()){const t=s(e);if(t!=null)return f(t)(e)}return()=>{}},Ts=s=>e=>{const t=s(e);return t==null?()=>{}:f(t)(e)},bs=s=>tt(e=>s(e.element)),Ss=s=>e=>{if(e.isHeadlessDOM()){const t=s(e);if(t)return f(t)(e)}return()=>{}},Z=s=>e=>{let t=e;function r(){return t}function n(a){t=a}const o=[],l=s({use:({mark:a})=>{const{value:c,onUse:u}=r().getProvider(a);return u==null||u(),c},set:({mark:a,create:c},u)=>{const{value:h,dispose:m,onUse:T}=c(u,r());o.push(m),n(r().setProvider(a,h,T))}});return l==null?()=>{}:b(f(l),Q(()=>o.forEach(a=>a())))(r())},As=(s,e,t)=>Z(({set:r})=>(r(s,e),t())),Es=(s,e)=>Z(({use:t})=>e(t(s))),_s=(...s)=>e=>Z(({use:t})=>{const r=s.map(t);return e(...r)});exports.Async=Ut;exports.BindChecked=ss;exports.BindDate=Zt;exports.BindDateTime=Kt;exports.BindNumber=es;exports.BindText=ts;exports.BrowserContext=v;exports.CLASS_PLACEHOLDER_ATTR=k;exports.Computed=P;exports.Conjunction=os;exports.DOMNode=ls;exports.El=ce;exports.ElNS=ue;exports.ElementPosition=F;exports.Empty=A;exports.Ensure=Ke;exports.EnsureAll=as;exports.ForEach=us;exports.Fragment=b;exports.GlobalProbe=ps;exports.HeadlessAdapter=pt;exports.HeadlessContext=O;exports.HeadlessElement=We;exports.HeadlessPortal=oe;exports.HeadlessText=Ue;exports.MapSignal=hs;exports.MemoryStore=te;exports.NotEmpty=fs;exports.OnChecked=Je;exports.OnDispose=Q;exports.OneOf=j;exports.OneOfField=fe;exports.OneOfKind=rs;exports.OneOfTuple=ns;exports.OneOfType=is;exports.OneOfValue=Ze;exports.Portal=ds;exports.Prop=H;exports.Provide=As;exports.ProviderNotFoundError=ne;exports.RenderingError=je;exports.Repeat=pe;exports.Signal=d;exports.Task=he;exports.TextNode=Mt;exports.Unless=cs;exports.Use=Es;exports.UseMany=_s;exports.Value=y;exports.When=de;exports.WithBrowserCtx=tt;exports.WithCtx=Ts;exports.WithElement=bs;exports.WithHeadlessCtx=Ss;exports.WithProvider=Z;exports._NODE_PLACEHOLDER_ATTR=ie;exports._getSelfOrParentElement=Re;exports._isElement=re;exports._makeGetter=$e;exports._makeSetter=Ie;exports._removeDOMNode=N;exports._signalText=ae;exports._staticText=le;exports.animateSignal=ut;exports.animateSignals=De;exports.aria=It;exports.attr=x;exports.computed=Y;exports.computedOf=xe;exports.computedRecord=ht;exports.dataAttr=kt;exports.effect=Oe;exports.effectOf=lt;exports.emitChecked=Xt;exports.emitPreventDefault=Yt;exports.emitStopImmediatePropagation=Qt;exports.emitStopPropagation=zt;exports.emitValue=Xe;exports.emitValueAsDate=ze;exports.emitValueAsDateTime=Qe;exports.emitValueAsNullableDate=Gt;exports.emitValueAsNullableDateTime=Jt;exports.emitValueAsNumber=Ye;exports.endInterpolate=Pe;exports.getWindow=ee;exports.guessInterpolate=ve;exports.html=Vt;exports.input=jt;exports.interpolateDate=Ce;exports.interpolateNumber=_e;exports.interpolateString=we;exports.joinSignals=ot;exports.localStorageProp=at;exports.makeProbe=et;exports.makeProviderMark=Ve;exports.math=Wt;exports.mathAttr=Rt;exports.on=V;exports.prop=_;exports.render=ft;exports.renderWithContext=z;exports.renderableOfTNode=f;exports.restoreTempoPlaceholders=Pt;exports.runHeadless=dt;exports.sessionStorageProp=ct;exports.signal=I;exports.storedProp=se;exports.style=ys;exports.svg=Bt;exports.svgAttr=$t;
package/index.js CHANGED
@@ -9,11 +9,11 @@ const Ne = (s, e, t) => s + (e - s) * t;
9
9
  const $e = (s, e, t) => {
10
10
  const r = Math.max(s.length, e.length);
11
11
  let n = "";
12
- for (let l = 0; l < r; l++) {
13
- let o = s.charCodeAt(l);
14
- isNaN(o) && (o = 97);
15
- let c = e.charCodeAt(l);
16
- isNaN(c) && (c = 97), n += String.fromCharCode(o + (c - o) * t);
12
+ for (let o = 0; o < r; o++) {
13
+ let l = s.charCodeAt(o);
14
+ isNaN(l) && (l = 97);
15
+ let c = e.charCodeAt(o);
16
+ isNaN(c) && (c = 97), n += String.fromCharCode(l + (c - l) * t);
17
17
  }
18
18
  return n;
19
19
  }, ke = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), Ie = (s, e) => e, Re = (s) => typeof s == "number" ? Ne : typeof s == "string" ? $e : s instanceof Date ? ke : Ie;
@@ -108,8 +108,8 @@ const O = class O {
108
108
  */
109
109
  i(this, "on", (e, t = {}) => {
110
110
  t.skipInitial || e(this.get(), void 0);
111
- const r = t.once ? (l, o) => {
112
- n(), e(l, o);
111
+ const r = t.once ? (o, l) => {
112
+ n(), e(o, l);
113
113
  } : e;
114
114
  this._onValueListeners.push(r);
115
115
  const n = () => {
@@ -126,7 +126,7 @@ const O = class O {
126
126
  i(this, "_setAndNotify", (e, t) => {
127
127
  if (this._disposed) return;
128
128
  const r = this._value, n = this.equals(r, e);
129
- n || (this._value = e), (t || !n) && this._onValueListeners.forEach((l) => l(e, r));
129
+ n || (this._value = e), (t || !n) && this._onValueListeners.forEach((o) => o(e, r));
130
130
  });
131
131
  /**
132
132
  * @internal
@@ -212,10 +212,10 @@ const O = class O {
212
212
  let r = t ?? this.get();
213
213
  const n = new x(() => {
214
214
  try {
215
- const l = this.get();
216
- return r = e(l) ? l : r;
217
- } catch (l) {
218
- throw console.error("Error in Signal.filter:", l), l;
215
+ const o = this.get();
216
+ return r = e(o) ? o : r;
217
+ } catch (o) {
218
+ throw console.error("Error in Signal.filter:", o), o;
219
219
  }
220
220
  }, this.equals);
221
221
  return this.setDerivative(n), n;
@@ -230,17 +230,17 @@ const O = class O {
230
230
  * @param equals - Optional equality function to determine if two values are equal.
231
231
  * @returns - A new Computed object with the mapped and filtered values.
232
232
  */
233
- i(this, "filterMap", (e, t, r = (n, l) => n === l) => {
233
+ i(this, "filterMap", (e, t, r = (n, o) => n === o) => {
234
234
  let n = t;
235
- const l = new x(() => {
235
+ const o = new x(() => {
236
236
  try {
237
- const o = this.get(), c = e(o);
237
+ const l = this.get(), c = e(l);
238
238
  return n = c ?? n;
239
- } catch (o) {
240
- throw console.error("Error in Signal.filterMap:", o), o;
239
+ } catch (l) {
240
+ throw console.error("Error in Signal.filterMap:", l), l;
241
241
  }
242
242
  }, r);
243
- return this.setDerivative(l), l;
243
+ return this.setDerivative(o), o;
244
244
  });
245
245
  /**
246
246
  * Maps the values emitted by the signal to a new value asynchronously using the provided function.
@@ -255,25 +255,25 @@ const O = class O {
255
255
  * @param equals - The equality function to compare the mapped values for equality.
256
256
  * @returns A property that holds the mapped value and can be observed for changes.
257
257
  */
258
- i(this, "mapAsync", (e, t, r, n = (l, o) => l === o) => {
259
- const l = w(t, n);
260
- let o = 0, c = new AbortController();
261
- return l.onDispose(
258
+ i(this, "mapAsync", (e, t, r, n = (o, l) => o === l) => {
259
+ const o = w(t, n);
260
+ let l = 0, c = new AbortController();
261
+ return o.onDispose(
262
262
  this.on(async (a) => {
263
- const u = ++o;
263
+ const u = ++l;
264
264
  c.abort(), c = new AbortController();
265
265
  try {
266
266
  const h = await e(a, { abortSignal: c.signal });
267
- u === o && l.set(h);
267
+ u === l && o.set(h);
268
268
  } catch (h) {
269
- if (u === o)
269
+ if (u === l)
270
270
  if (r != null)
271
- l.set(r(h));
271
+ o.set(r(h));
272
272
  else
273
273
  throw h;
274
274
  }
275
275
  })
276
- ), l;
276
+ ), o;
277
277
  });
278
278
  /**
279
279
  * Maps the values of the signal using the provided function `fn`, and returns a new signal
@@ -363,14 +363,14 @@ const O = class O {
363
363
  * @param equals - A function to compare two values of type O for equality. Defaults to strict equality (===).
364
364
  * @returns - A Signal that represents the result of the Promise.
365
365
  */
366
- i(O, "ofPromise", (e, t, r, n = (l, o) => l === o) => {
367
- const l = new O(t, n);
368
- return e.then((o) => l._setAndNotify(o, !1)).catch((o) => {
369
- r != null ? l._setAndNotify(r(o), !1) : console.error(
366
+ i(O, "ofPromise", (e, t, r, n = (o, l) => o === l) => {
367
+ const o = new O(t, n);
368
+ return e.then((l) => o._setAndNotify(l, !1)).catch((l) => {
369
+ r != null ? o._setAndNotify(r(l), !1) : console.error(
370
370
  "Unhandled promise rejection in Signal.ofPromise:",
371
- o
371
+ l
372
372
  );
373
- }), l;
373
+ }), o;
374
374
  }), /**
375
375
  * Checks if a value is a Signal.
376
376
  *
@@ -470,14 +470,14 @@ const W = class W extends d {
470
470
  */
471
471
  i(this, "reducer", (t, ...r) => {
472
472
  const n = this;
473
- return function l(o) {
473
+ return function o(l) {
474
474
  const c = n.value;
475
- n.update((a) => t(a, o)), !n.equals(c, n.value) && r.forEach(
475
+ n.update((a) => t(a, l)), !n.equals(c, n.value) && r.forEach(
476
476
  (a) => a({
477
477
  previousState: c,
478
478
  state: n.value,
479
- action: o,
480
- dispatch: l
479
+ action: l,
480
+ dispatch: o
481
481
  })
482
482
  );
483
483
  };
@@ -493,9 +493,9 @@ const W = class W extends d {
493
493
  * Defaults to a strict equality check (===).
494
494
  * @returns A Prop object representing the isomorphism.
495
495
  */
496
- i(this, "iso", (t, r, n = (l, o) => l === o) => {
497
- const l = new W(t(this.get()), n);
498
- return l.onDispose(this.on((o) => l.set(t(o)))), l.on((o) => this._setAndNotify(r(o), !1)), l;
496
+ i(this, "iso", (t, r, n = (o, l) => o === l) => {
497
+ const o = new W(t(this.get()), n);
498
+ return o.onDispose(this.on((l) => o.set(t(l)))), o.on((l) => this._setAndNotify(r(l), !1)), o;
499
499
  });
500
500
  /**
501
501
  * Returns a `Prop` that represents the value at the specified key of the current value.
@@ -533,19 +533,19 @@ const z = (s, e, t = (r, n) => r === n) => {
533
533
  return e.forEach((n) => n.setDerivative(r)), r;
534
534
  }, je = (s, e, t = {}) => {
535
535
  let r = t.once ? () => {
536
- l(), s();
536
+ o(), s();
537
537
  } : s;
538
538
  if (t.skipInitial) {
539
- let o = !1;
539
+ let l = !1;
540
540
  const c = r;
541
541
  r = () => {
542
- o ? c() : o = !0;
542
+ l ? c() : l = !0;
543
543
  };
544
544
  }
545
- const n = z(r, e), l = () => {
546
- n.dispose(), t.abortSignal != null && t.abortSignal.removeEventListener("abort", l);
545
+ const n = z(r, e), o = () => {
546
+ n.dispose(), t.abortSignal != null && t.abortSignal.removeEventListener("abort", o);
547
547
  };
548
- return t.abortSignal != null && t.abortSignal.addEventListener("abort", l), l;
548
+ return t.abortSignal != null && t.abortSignal.addEventListener("abort", o), o;
549
549
  }, w = (s, e = (t, r) => t === r) => new I(s, e), U = (s, e = (t, r) => t === r) => new d(s, e), le = () => typeof window < "u" ? window : void 0, T = {
550
550
  /**
551
551
  * Maps a value or a Signal to a new value.
@@ -662,12 +662,12 @@ const ae = ({
662
662
  store: t,
663
663
  serialize: r = JSON.stringify,
664
664
  deserialize: n = JSON.parse,
665
- equals: l = (c, a) => c === a,
666
- onLoad: o = (c) => c
665
+ equals: o = (c, a) => c === a,
666
+ onLoad: l = (c) => c
667
667
  }) => {
668
668
  const c = t.getItem(s), a = new I(
669
- c != null ? o(n(c)) : typeof e == "function" ? e() : e,
670
- l
669
+ c != null ? l(n(c)) : typeof e == "function" ? e() : e,
670
+ o
671
671
  );
672
672
  return a.on((u) => {
673
673
  t.setItem(s, r(u));
@@ -689,9 +689,9 @@ function oe(s) {
689
689
  return typeof requestAnimationFrame == "function" ? requestAnimationFrame(s) : setTimeout(s, 0);
690
690
  }
691
691
  const Fe = (s, e, t, r) => {
692
- const n = (r == null ? void 0 : r.duration) ?? 300, l = (r == null ? void 0 : r.easing) ?? ((S) => S), o = (r == null ? void 0 : r.equals) ?? ((S, $) => S === $);
692
+ const n = (r == null ? void 0 : r.duration) ?? 300, o = (r == null ? void 0 : r.easing) ?? ((S) => S), l = (r == null ? void 0 : r.equals) ?? ((S, $) => S === $);
693
693
  let c = r == null ? void 0 : r.interpolate, a = s, u = e(), h = performance.now(), g = null, y = !0;
694
- const p = new x(e, o), m = w(s, o);
694
+ const p = new x(e, l), m = w(s, l);
695
695
  m.onDispose(() => {
696
696
  g !== null && cancelAnimationFrame(g);
697
697
  }), m.onDispose(p.dispose), t.forEach((S) => {
@@ -700,7 +700,7 @@ const Fe = (s, e, t, r) => {
700
700
  const C = (S) => {
701
701
  u = S, h = performance.now(), a = m.value, y && (y = !1, g = oe(ee));
702
702
  }, ee = () => {
703
- const $ = (performance.now() - h) / T.get(n), Me = l($);
703
+ const $ = (performance.now() - h) / T.get(n), Me = o($);
704
704
  c == null && (c = Re(a));
705
705
  let te = c(a, u, Me);
706
706
  $ >= 1 ? (y = !0, te = u) : g = oe(ee), m.set(te);
@@ -716,10 +716,10 @@ const Fe = (s, e, t, r) => {
716
716
  );
717
717
  }, Ht = (s, e) => {
718
718
  const { signals: t, literals: r } = Object.entries(s).reduce(
719
- ({ signals: l, literals: o }, [c, a]) => (d.is(a) ? l.push([c, a]) : o[c] = a, { signals: l, literals: o }),
719
+ ({ signals: o, literals: l }, [c, a]) => (d.is(a) ? o.push([c, a]) : l[c] = a, { signals: o, literals: l }),
720
720
  { signals: [], literals: {} }
721
- ), n = t.map(([, l]) => l);
722
- return z(() => (t.forEach(([l, o]) => r[l] = o.value), e(r)), n);
721
+ ), n = t.map(([, o]) => o);
722
+ return z(() => (t.forEach(([o, l]) => r[o] = l.value), e(r)), n);
723
723
  }, ue = /* @__PURE__ */ new Set(["checked", "disabled", "hidden"]), he = /* @__PURE__ */ new Set(["selected"]), fe = /* @__PURE__ */ new Set([
724
724
  "rowSpan",
725
725
  "colSpan",
@@ -876,7 +876,8 @@ class L {
876
876
  i(this, "getProvider", (e) => {
877
877
  if (this.providers[e] === void 0)
878
878
  throw new me(e);
879
- return this.providers[e];
879
+ const [t, r] = this.providers[e];
880
+ return { value: t, onUse: r };
880
881
  });
881
882
  i(this, "clear", (e) => {
882
883
  e && (this.reference !== void 0 ? R(this.reference) : R(this.element));
@@ -907,13 +908,12 @@ class L {
907
908
  * @param options - The options for the event listener.
908
909
  * @returns A function to remove the event listener.
909
910
  */
910
- i(this, "on", (e, t, r) => (this.element.addEventListener(e, t, r), (n) => {
911
- n && this.element.removeEventListener(
912
- e,
913
- t,
914
- r
915
- );
916
- }));
911
+ i(this, "on", (e, t, r) => {
912
+ const n = (o) => t(o, this);
913
+ return this.element.addEventListener(e, n, r), (o) => {
914
+ o && this.element.removeEventListener(e, n, r);
915
+ };
916
+ });
917
917
  /**
918
918
  * Returns `true` if the context is a browser DOM context.
919
919
  * @returns `true` if the context is a browser DOM context.
@@ -971,21 +971,21 @@ class L {
971
971
  const Je = (s) => Symbol(s), Q = (s, e) => {
972
972
  const t = s(e);
973
973
  return (r = !0) => t(r);
974
- }, Nt = (s, e, { doc: t, clear: r, disposeWithParent: n = !0, providers: l = {} } = {}) => {
975
- const o = typeof e == "string" ? (t ?? document).querySelector(e) : e;
976
- if (o === null)
974
+ }, Nt = (s, e, { doc: t, clear: r, disposeWithParent: n = !0, providers: o = {} } = {}) => {
975
+ const l = typeof e == "string" ? (t ?? document).querySelector(e) : e;
976
+ if (l === null)
977
977
  throw new Ge(
978
978
  `Cannot find element by selector for render: ${e}`
979
979
  );
980
- r !== !1 && (t ?? o.ownerDocument) != null && o.nodeType === 1 && (o.innerHTML = "");
981
- const c = Ue(o), a = ge(o) ? void 0 : o, u = L.of(c, a, l), h = Q(s, u);
980
+ r !== !1 && (t ?? l.ownerDocument) != null && l.nodeType === 1 && (l.innerHTML = "");
981
+ const c = Ue(l), a = ge(l) ? void 0 : l, u = L.of(c, a, o), h = Q(s, u);
982
982
  let g;
983
983
  return n && (g = new MutationObserver((y) => {
984
984
  var p;
985
985
  (p = y[0]) == null || p.removedNodes.forEach((m) => {
986
- m === o && (g == null || g.disconnect(), h(o.nodeType !== Node.ELEMENT_NODE));
986
+ m === l && (g == null || g.disconnect(), h(l.nodeType !== Node.ELEMENT_NODE));
987
987
  });
988
- }), g.observe(o.parentElement, {
988
+ }), g.observe(l.parentElement, {
989
989
  childList: !0,
990
990
  subtree: !1,
991
991
  attributes: !1
@@ -999,10 +999,10 @@ const Je = (s) => Symbol(s), Q = (s, e) => {
999
999
  } = {
1000
1000
  selector: "body"
1001
1001
  }) => {
1002
- const n = T.toSignal(e).deriveProp(), l = new Se(t, void 0), o = new P(l, void 0, { currentURL: n }, r);
1002
+ const n = T.toSignal(e).deriveProp(), o = new Se(t, void 0), l = new P(o, void 0, { currentURL: n }, r);
1003
1003
  return {
1004
- clear: Q(s(), o),
1005
- root: l,
1004
+ clear: Q(s(), l),
1005
+ root: o,
1006
1006
  currentURL: n
1007
1007
  };
1008
1008
  };
@@ -1018,8 +1018,8 @@ class kt {
1018
1018
  getAttribute: t,
1019
1019
  setAttribute: r,
1020
1020
  getClass: n,
1021
- setClass: l,
1022
- getStyles: o,
1021
+ setClass: o,
1022
+ getStyles: l,
1023
1023
  setStyles: c,
1024
1024
  appendHTML: a,
1025
1025
  getInnerHTML: u,
@@ -1110,65 +1110,65 @@ class kt {
1110
1110
  */
1111
1111
  i(this, "setFromRoot", (e, t) => {
1112
1112
  e.getPortals().forEach((n) => {
1113
- const l = typeof n.selector == "string" ? this.select(n.selector) : [n.selector];
1114
- for (const o of l) {
1115
- if (o == null)
1113
+ const o = typeof n.selector == "string" ? this.select(n.selector) : [n.selector];
1114
+ for (const l of o) {
1115
+ if (l == null)
1116
1116
  throw new Error(
1117
1117
  `Cannot find element by selector for render: ${n.selector}`
1118
1118
  );
1119
- if (n.hasChildren() && this.appendHTML(o, n.contentToHTML(t)), n.hasInnerHTML()) {
1119
+ if (n.hasChildren() && this.appendHTML(l, n.contentToHTML(t)), n.hasInnerHTML()) {
1120
1120
  if (t) {
1121
- const c = this.getInnerHTML(o);
1122
- c != null && this.setAttribute(o, q, c);
1121
+ const c = this.getInnerHTML(l);
1122
+ c != null && this.setAttribute(l, q, c);
1123
1123
  }
1124
- this.setInnerHTML(o, n.getInnerHTML());
1124
+ this.setInnerHTML(l, n.getInnerHTML());
1125
1125
  }
1126
1126
  if (n.hasInnerText()) {
1127
1127
  if (t) {
1128
- const c = this.getInnerText(o);
1129
- c != null && this.setAttribute(o, F, c);
1128
+ const c = this.getInnerText(l);
1129
+ c != null && this.setAttribute(l, F, c);
1130
1130
  }
1131
- this.setInnerText(o, n.getInnerText());
1131
+ this.setInnerText(l, n.getInnerText());
1132
1132
  }
1133
1133
  if (n.hasClasses()) {
1134
1134
  if (t) {
1135
- const c = this.getClass(o);
1136
- c != null && this.setAttribute(o, V, c);
1135
+ const c = this.getClass(l);
1136
+ c != null && this.setAttribute(l, V, c);
1137
1137
  }
1138
- this.setClass(o, n.getClasses().join(" "));
1138
+ this.setClass(l, n.getClasses().join(" "));
1139
1139
  }
1140
1140
  if (n.hasStyles()) {
1141
1141
  if (t) {
1142
- const c = this.getStyles(o);
1142
+ const c = this.getStyles(l);
1143
1143
  Object.keys(c).length > 0 && this.setAttribute(
1144
- o,
1144
+ l,
1145
1145
  j,
1146
1146
  JSON.stringify(c)
1147
1147
  );
1148
1148
  }
1149
- this.setStyles(o, n.getStyles());
1149
+ this.setStyles(l, n.getStyles());
1150
1150
  }
1151
1151
  if (n.hasAttributes()) {
1152
1152
  const c = n.getAttributes();
1153
1153
  if (t) {
1154
1154
  const a = [];
1155
1155
  c.forEach(([u]) => {
1156
- const h = this.getAttribute(o, u);
1156
+ const h = this.getAttribute(l, u);
1157
1157
  h != null && a.push([u, h]);
1158
1158
  }), a.length > 0 && this.setAttribute(
1159
- o,
1159
+ l,
1160
1160
  B,
1161
1161
  JSON.stringify(Object.fromEntries(a))
1162
1162
  );
1163
1163
  }
1164
1164
  c.forEach(([a, u]) => {
1165
- this.setAttribute(o, a, u);
1165
+ this.setAttribute(l, a, u);
1166
1166
  });
1167
1167
  }
1168
1168
  }
1169
1169
  });
1170
1170
  });
1171
- this.select = e, this.getAttribute = t, this.setAttribute = r, this.getClass = n, this.setClass = l, this.getStyles = o, this.setStyles = c, this.appendHTML = a, this.getInnerHTML = u, this.setInnerHTML = h, this.getInnerText = g, this.setInnerText = y;
1171
+ this.select = e, this.getAttribute = t, this.setAttribute = r, this.getClass = n, this.setClass = o, this.getStyles = l, this.setStyles = c, this.appendHTML = a, this.getInnerHTML = u, this.setInnerHTML = h, this.getInnerText = g, this.setInnerText = y;
1172
1172
  }
1173
1173
  }
1174
1174
  const Xe = () => {
@@ -1259,17 +1259,17 @@ class Ae {
1259
1259
  i(this, "click", () => {
1260
1260
  this.trigger("click", {});
1261
1261
  });
1262
- i(this, "on", (e, t, r) => {
1263
- var c;
1264
- const n = (c = this.properties)[v] ?? (c[v] = {}), l = r != null && r.once ? (a) => {
1265
- o(), t(a);
1266
- } : (a) => t(a);
1267
- n[e] = [...n[e] ?? [], l];
1268
- const o = () => {
1269
- const a = n[e] ?? [], u = a.indexOf(l);
1270
- u !== -1 && (a.splice(u, 1), a.length === 0 ? (delete n[e], Object.keys(n).length === 0 && delete this.properties[v]) : n[e] = a, (r == null ? void 0 : r.signal) != null && r.signal.removeEventListener("abort", o));
1262
+ i(this, "on", (e, t, r, n) => {
1263
+ var a;
1264
+ const o = (a = this.properties)[v] ?? (a[v] = {}), l = n != null && n.once ? (u) => {
1265
+ c(), t(u, r);
1266
+ } : (u) => t(u, r);
1267
+ o[e] = [...o[e] ?? [], l];
1268
+ const c = () => {
1269
+ const u = o[e] ?? [], h = u.indexOf(l);
1270
+ h !== -1 && (u.splice(h, 1), u.length === 0 ? (delete o[e], Object.keys(o).length === 0 && delete this.properties[v]) : o[e] = u, (n == null ? void 0 : n.signal) != null && n.signal.removeEventListener("abort", c));
1271
1271
  };
1272
- return (r == null ? void 0 : r.signal) != null && r.signal.addEventListener("abort", o), o;
1272
+ return (n == null ? void 0 : n.signal) != null && n.signal.addEventListener("abort", c), c;
1273
1273
  });
1274
1274
  i(this, "addClasses", (e) => {
1275
1275
  var r;
@@ -1286,8 +1286,8 @@ class Ae {
1286
1286
  return;
1287
1287
  const t = (r = this.properties)[b] ?? (r[b] = []);
1288
1288
  e.forEach((n) => {
1289
- const l = t.indexOf(n);
1290
- l !== -1 && t.splice(l, 1);
1289
+ const o = t.indexOf(n);
1290
+ o !== -1 && t.splice(o, 1);
1291
1291
  }), t.length === 0 && delete this.properties[b];
1292
1292
  });
1293
1293
  i(this, "getClasses", () => this.properties[b] ?? []);
@@ -1324,9 +1324,9 @@ class ct extends Ae {
1324
1324
  i(this, "isPortal", () => !1);
1325
1325
  i(this, "toHTML", (t = !1) => {
1326
1326
  const r = this.children.map((a) => a.toHTML()).join(""), n = this.namespace ? ` xmlns="${this.namespace}"` : "";
1327
- let l = null;
1328
- const o = this.getVisibleAttributes().map(([a, u]) => a === "class" ? ` class="${u.join(" ")}"` : a === "style" ? typeof u == "string" ? ` style="${u}"` : ` style="${Object.entries(u).map(([h, g]) => `${h}: ${g};`).join(" ")}"` : ut.has(a) ? ` ${a}` : a === "innerHTML" ? (l = u, "") : a === "innerText" ? (l = lt(u), "") : ` ${a}="${ot(u)}"`).join(""), c = t ? ` ${ye}` : "";
1329
- return ht.has(this.tagName) && r === "" ? `<${this.tagName}${n}${o}${c} />` : `<${this.tagName}${n}${o}${c}>${l ?? r}</${this.tagName}>`;
1327
+ let o = null;
1328
+ 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, g]) => `${h}: ${g};`).join(" ")}"` : ut.has(a) ? ` ${a}` : a === "innerHTML" ? (o = u, "") : a === "innerText" ? (o = lt(u), "") : ` ${a}="${ot(u)}"`).join(""), c = t ? ` ${ye}` : "";
1329
+ return ht.has(this.tagName) && r === "" ? `<${this.tagName}${n}${l}${c} />` : `<${this.tagName}${n}${l}${c}>${o ?? r}</${this.tagName}>`;
1330
1330
  });
1331
1331
  this.tagName = t, this.namespace = r;
1332
1332
  }
@@ -1408,12 +1408,13 @@ class P {
1408
1408
  i(this, "getProvider", (e) => {
1409
1409
  if (this.providers[e] === void 0)
1410
1410
  throw new me(e);
1411
- return this.providers[e];
1411
+ const [t, r] = this.providers[e];
1412
+ return { value: t, onUse: r };
1412
1413
  });
1413
1414
  i(this, "clear", (e) => {
1414
1415
  e && (this.reference !== void 0 ? this.element.removeChild(this.reference) : this.element.remove());
1415
1416
  });
1416
- i(this, "on", (e, t) => this.element.on(e, t));
1417
+ i(this, "on", (e, t) => this.element.on(e, t, this));
1417
1418
  i(this, "addClasses", (e) => this.element.addClasses(e));
1418
1419
  i(this, "removeClasses", (e) => this.element.removeClasses(e));
1419
1420
  i(this, "getClasses", () => this.element.getClasses());
@@ -1450,20 +1451,20 @@ const ut = /* @__PURE__ */ new Set([
1450
1451
  }), dt = (s) => (e) => {
1451
1452
  let t = [];
1452
1453
  const r = s.on((n) => {
1453
- e.removeClasses(t), t = (n ?? "").split(" ").filter((l) => l.length > 0), e.addClasses(t);
1454
+ e.removeClasses(t), t = (n ?? "").split(" ").filter((o) => o.length > 0), e.addClasses(t);
1454
1455
  });
1455
1456
  return (n) => {
1456
1457
  r(), n && e.removeClasses(t), t.length = 0;
1457
1458
  };
1458
1459
  }, H = (s, e) => (t) => {
1459
- const { get: r, set: n } = t.makeAccessors(s), l = r();
1460
- return n(e), (o) => {
1461
- o && n(l);
1460
+ const { get: r, set: n } = t.makeAccessors(s), o = r();
1461
+ return n(e), (l) => {
1462
+ l && n(o);
1462
1463
  };
1463
1464
  }, N = (s, e) => (t) => {
1464
- const { get: r, set: n } = t.makeAccessors(s), l = r(), o = e.on(n);
1465
+ const { get: r, set: n } = t.makeAccessors(s), o = r(), l = e.on(n);
1465
1466
  return (c) => {
1466
- o(), c && n(l);
1467
+ l(), c && n(o);
1467
1468
  };
1468
1469
  }, M = new Proxy(
1469
1470
  {},
@@ -1574,14 +1575,14 @@ const ut = /* @__PURE__ */ new Set([
1574
1575
  return s;
1575
1576
  throw new Error(`Unknown type: '${typeof s}' for child: ${s}`);
1576
1577
  }, we = (s, ...e) => (t) => {
1577
- const r = t.makeChildElement(s, void 0), n = e.map((l) => f(l)(r));
1578
- return (l) => {
1579
- n.forEach((o) => o(!1)), r.clear(l);
1578
+ const r = t.makeChildElement(s, void 0), n = e.map((o) => f(o)(r));
1579
+ return (o) => {
1580
+ n.forEach((l) => l(!1)), r.clear(o);
1580
1581
  };
1581
1582
  }, Ce = (s, e, ...t) => (r) => {
1582
- const n = r.makeChildElement(s, e), l = t.map((o) => f(o)(n));
1583
- return (o) => {
1584
- l.forEach((c) => c(!1)), n.clear(o);
1583
+ const n = r.makeChildElement(s, e), o = t.map((l) => f(l)(n));
1584
+ return (l) => {
1585
+ o.forEach((c) => c(!1)), n.clear(l);
1585
1586
  };
1586
1587
  }, Bt = new Proxy(
1587
1588
  {},
@@ -1626,28 +1627,28 @@ const ut = /* @__PURE__ */ new Set([
1626
1627
  ), ve = (s, e) => {
1627
1628
  if (typeof e == "function")
1628
1629
  return ve(s, { then: e });
1629
- const t = e.pending != null ? f(e.pending()) : _, r = e.then, n = e.error != null ? (l) => f(e.error(l)) : () => _;
1630
- return (l) => {
1631
- let o = !0;
1632
- const c = s(), a = l.makeRef();
1630
+ const t = e.pending != null ? f(e.pending()) : _, r = e.then, n = e.error != null ? (o) => f(e.error(o)) : () => _;
1631
+ return (o) => {
1632
+ let l = !0;
1633
+ const c = s(), a = o.makeRef();
1633
1634
  let u = f(t)(a);
1634
1635
  return c.then(
1635
1636
  (h) => {
1636
- o && (u(!0), u = f(r(h))(a));
1637
+ l && (u(!0), u = f(r(h))(a));
1637
1638
  },
1638
1639
  (h) => {
1639
- o && (u(!0), u = f(n(h))(a));
1640
+ l && (u(!0), u = f(n(h))(a));
1640
1641
  }
1641
1642
  ), (h) => {
1642
- o = !1, u(h), a.clear(h);
1643
+ l = !1, u(h), a.clear(h);
1643
1644
  };
1644
1645
  };
1645
- }, Gt = (s, e) => ve(() => s, e), xe = (s, e, t) => (r) => r.on(s, e, t), mt = (s) => xe("click", (e) => {
1646
+ }, Gt = (s, e) => ve(() => s, e), xe = (s, e, t) => (r) => r.on(s, e, t), mt = (s) => xe("click", (e, t) => {
1646
1647
  e.preventDefault();
1647
- const t = e.target;
1648
+ const r = e.target;
1648
1649
  setTimeout(() => {
1649
- const r = t.ownerDocument != null ? t == null ? void 0 : t.checked : void 0;
1650
- r != null && s(!r);
1650
+ const n = r.ownerDocument != null ? r == null ? void 0 : r.checked : void 0;
1651
+ n != null && s(!n, t);
1651
1652
  }, 0);
1652
1653
  }), J = new Proxy(
1653
1654
  {},
@@ -1691,12 +1692,12 @@ const ut = /* @__PURE__ */ new Set([
1691
1692
  const t = e.target;
1692
1693
  if (t.value === "")
1693
1694
  return;
1694
- const r = t.value.split("T"), n = r[0].split("-"), l = new Date(
1695
+ const r = t.value.split("T"), n = r[0].split("-"), o = new Date(
1695
1696
  Number(n[0]),
1696
1697
  Number(n[1]) - 1,
1697
1698
  Number(n[2])
1698
- ), o = r[1].split(":");
1699
- l.setHours(Number(o[0])), l.setMinutes(Number(o[1])), l.setSeconds(Number(o[2])), s(l);
1699
+ ), l = r[1].split(":");
1700
+ o.setHours(Number(l[0])), o.setMinutes(Number(l[1])), o.setSeconds(Number(l[2])), s(o);
1700
1701
  }, Yt = (s) => (e) => {
1701
1702
  const t = e.target;
1702
1703
  if (t.value === "") {
@@ -1708,12 +1709,12 @@ const ut = /* @__PURE__ */ new Set([
1708
1709
  s(null);
1709
1710
  return;
1710
1711
  }
1711
- const n = r[0].split("-"), l = new Date(
1712
+ const n = r[0].split("-"), o = new Date(
1712
1713
  Number(n[0]),
1713
1714
  Number(n[1]) - 1,
1714
1715
  Number(n[2])
1715
- ), o = r[1].split(":");
1716
- l.setHours(Number(o[0] ?? 0)), l.setMinutes(Number(o[1] ?? 0)), l.setSeconds(Number(o[2] ?? 0)), s(l);
1716
+ ), l = r[1].split(":");
1717
+ o.setHours(Number(l[0] ?? 0)), o.setMinutes(Number(l[1] ?? 0)), o.setSeconds(Number(l[2] ?? 0)), s(o);
1717
1718
  }, zt = (s) => (e) => {
1718
1719
  const t = e.target;
1719
1720
  s(t.checked);
@@ -1727,18 +1728,18 @@ const ut = /* @__PURE__ */ new Set([
1727
1728
  if (d.is(s))
1728
1729
  return (r) => {
1729
1730
  const n = r.makeRef();
1730
- let l, o;
1731
+ let o, l;
1731
1732
  const c = s.map((h) => Object.keys(h)[0]);
1732
1733
  let a;
1733
1734
  const u = c.on((h) => {
1734
1735
  if (h !== a) {
1735
- a = h, o == null || o.dispose(), l == null || l(!0), o = s.map((y) => y[h]);
1736
- const g = e[h](o);
1737
- l = f(g)(n);
1736
+ a = h, l == null || l.dispose(), o == null || o(!0), l = s.map((y) => y[h]);
1737
+ const g = e[h](l);
1738
+ o = f(g)(n);
1738
1739
  }
1739
1740
  });
1740
1741
  return (h) => {
1741
- o == null || o.dispose(), u(), n.clear(h), l == null || l(h);
1742
+ l == null || l.dispose(), u(), n.clear(h), o == null || o(h);
1742
1743
  };
1743
1744
  };
1744
1745
  const t = Object.keys(s)[0];
@@ -1756,7 +1757,7 @@ const ut = /* @__PURE__ */ new Set([
1756
1757
  ), cs = (s, e = {}) => (t) => {
1757
1758
  const r = (e == null ? void 0 : e.firstSeparator) ?? s, n = (e == null ? void 0 : e.lastSeparator) ?? s;
1758
1759
  return St(
1759
- t.map((l) => l.isFirst ? "first" : l.isLast ? "last" : "other"),
1760
+ t.map((o) => o.isFirst ? "first" : o.isLast ? "last" : "other"),
1760
1761
  {
1761
1762
  first: r,
1762
1763
  last: n,
@@ -1769,16 +1770,16 @@ const ut = /* @__PURE__ */ new Set([
1769
1770
  if (d.is(s)) {
1770
1771
  const r = s;
1771
1772
  return (n) => {
1772
- const l = n.makeRef();
1773
- let o = () => {
1773
+ const o = n.makeRef();
1774
+ let l = () => {
1774
1775
  }, c = !1, a = null;
1775
1776
  const u = r.on((h) => {
1776
- h == null ? (o(!0), o = f((t == null ? void 0 : t()) ?? _)(l), c = !1, a == null || a.dispose(), a = null) : (a == null ? a = w(h) : a.value = h, c || (o(!0), o = f(e(a))(
1777
- l
1777
+ h == null ? (l(!0), l = f((t == null ? void 0 : t()) ?? _)(o), c = !1, a == null || a.dispose(), a = null) : (a == null ? a = w(h) : a.value = h, c || (l(!0), l = f(e(a))(
1778
+ o
1778
1779
  ), c = !0));
1779
1780
  });
1780
1781
  return (h) => {
1781
- a == null || a.dispose(), u(), o == null || o(h), l.clear(h);
1782
+ a == null || a.dispose(), u(), l == null || l(h), o.clear(h);
1782
1783
  };
1783
1784
  };
1784
1785
  } else {
@@ -1797,17 +1798,17 @@ const ut = /* @__PURE__ */ new Set([
1797
1798
  return (t != null ? f(t == null ? void 0 : t()) : _)(
1798
1799
  n
1799
1800
  );
1800
- const o = s.map(() => null), c = s.map(
1801
+ const l = s.map(() => null), c = s.map(
1801
1802
  (p) => d.is(p) ? p.value != null : p != null
1802
1803
  );
1803
1804
  let a = null;
1804
1805
  const u = w(c.every((p) => p)), h = (p, m) => {
1805
1806
  if (p.value != null) {
1806
- if (o[m] == null) {
1807
+ if (l[m] == null) {
1807
1808
  const C = w(p.value);
1808
- o[m] = C;
1809
+ l[m] = C;
1809
1810
  } else
1810
- o[m].value = p.value;
1811
+ l[m].value = p.value;
1811
1812
  c[m] = !0;
1812
1813
  } else
1813
1814
  c[m] = !1;
@@ -1816,7 +1817,7 @@ const ut = /* @__PURE__ */ new Set([
1816
1817
  const y = s.map((p, m) => {
1817
1818
  if (!d.is(p)) {
1818
1819
  const C = w(p);
1819
- return o[m] = C, () => {
1820
+ return l[m] = C, () => {
1820
1821
  };
1821
1822
  }
1822
1823
  return p.on(() => {
@@ -1824,9 +1825,9 @@ const ut = /* @__PURE__ */ new Set([
1824
1825
  });
1825
1826
  });
1826
1827
  return u.on((p) => {
1827
- a == null || a(!0), a = null, p ? a = f(e(...o))(n) : a = f((t == null ? void 0 : t()) ?? _)(n);
1828
+ a == null || a(!0), a = null, p ? a = f(e(...l))(n) : a = f((t == null ? void 0 : t()) ?? _)(n);
1828
1829
  }), (p) => {
1829
- o.forEach((m) => m == null ? void 0 : m.dispose()), u.dispose(), y.forEach((m) => m()), a == null || a(p), n.clear(p);
1830
+ l.forEach((m) => m == null ? void 0 : m.dispose()), u.dispose(), y.forEach((m) => m()), a == null || a(p), n.clear(p);
1830
1831
  };
1831
1832
  }, Z = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), Pe = (s, e, t) => _t(
1832
1833
  T.map(s, (r) => r ? !0 : null),
@@ -1839,7 +1840,7 @@ const ut = /* @__PURE__ */ new Set([
1839
1840
  ), De = (s, e, t) => t != null ? De(s, (r) => {
1840
1841
  const n = new Y(
1841
1842
  r.index,
1842
- r.total.map((l) => l - 1)
1843
+ r.total.map((o) => o - 1)
1843
1844
  );
1844
1845
  return A(
1845
1846
  Z(n.dispose),
@@ -1851,34 +1852,34 @@ const ut = /* @__PURE__ */ new Set([
1851
1852
  )
1852
1853
  );
1853
1854
  }) : d.is(s) ? (r) => {
1854
- const n = r.makeRef(), l = [], o = s.on((c) => {
1855
- const a = l.splice(c);
1855
+ const n = r.makeRef(), o = [], l = s.on((c) => {
1856
+ const a = o.splice(c);
1856
1857
  for (const u of a)
1857
1858
  u(!0);
1858
- for (let u = l.length; u < c; u++) {
1859
+ for (let u = o.length; u < c; u++) {
1859
1860
  const h = new Y(u, s);
1860
- l.push(f(e(h))(n));
1861
+ o.push(f(e(h))(n));
1861
1862
  }
1862
1863
  });
1863
1864
  return (c) => {
1864
- o();
1865
- for (const a of l)
1865
+ l();
1866
+ for (const a of o)
1866
1867
  a(c);
1867
- l.length = 0, n.clear(c);
1868
+ o.length = 0, n.clear(c);
1868
1869
  };
1869
1870
  } : A(
1870
1871
  ...Array.from({ length: s }, (r, n) => n).map(
1871
1872
  (r) => f(e(new Y(r, U(s))))
1872
1873
  )
1873
1874
  ), fs = (s, e, t) => {
1874
- const r = T.map(s, (l) => l.length), n = T.toSignal(s);
1875
+ const r = T.map(s, (o) => o.length), n = T.toSignal(s);
1875
1876
  return De(
1876
1877
  r,
1877
- (l) => {
1878
- const o = n.map((c) => c[l.index]);
1878
+ (o) => {
1879
+ const l = n.map((c) => c[o.index]);
1879
1880
  return A(
1880
- Z(o.dispose),
1881
- f(e(o, l))
1881
+ Z(l.dispose),
1882
+ f(e(l, o))
1882
1883
  );
1883
1884
  },
1884
1885
  t
@@ -1889,13 +1890,13 @@ const ut = /* @__PURE__ */ new Set([
1889
1890
  return (r) => {
1890
1891
  r = r.makeRef();
1891
1892
  const n = t.map((c) => f(e(c)));
1892
- let l = () => {
1893
+ let o = () => {
1893
1894
  };
1894
- const o = n.on((c) => {
1895
- l(!0), l = c(r);
1895
+ const l = n.on((c) => {
1896
+ o(!0), o = c(r);
1896
1897
  });
1897
1898
  return (c) => {
1898
- o(), l(c);
1899
+ l(), o(c);
1899
1900
  };
1900
1901
  };
1901
1902
  }
@@ -1921,15 +1922,15 @@ const ut = /* @__PURE__ */ new Set([
1921
1922
  };
1922
1923
  if (k.has(s))
1923
1924
  throw new Error(`Probe already exists: ${s.description}`);
1924
- const n = setTimeout(() => r("timeout"), t), l = { counter: 0, timeoutId: n };
1925
- return k.set(s, l), {
1925
+ const n = setTimeout(() => r("timeout"), t), o = { counter: 0, timeoutId: n };
1926
+ return k.set(s, o), {
1926
1927
  value: () => {
1927
1928
  clearTimeout(n);
1928
1929
  const c = k.get(s);
1929
1930
  c != null && --c.counter === 0 && r("resolved");
1930
1931
  },
1931
1932
  dispose: () => r("disposed"),
1932
- onUse: () => l.counter++
1933
+ onUse: () => o.counter++
1933
1934
  };
1934
1935
  }
1935
1936
  }), ms = Et(Symbol("GlobalProbe")), wt = (s, e) => (t) => {
@@ -1983,20 +1984,20 @@ const ut = /* @__PURE__ */ new Set([
1983
1984
  function n(c) {
1984
1985
  t = c;
1985
1986
  }
1986
- const l = [], o = s({
1987
+ const o = [], l = s({
1987
1988
  use: ({ mark: c }) => {
1988
- const [a, u] = r().getProvider(c);
1989
+ const { value: a, onUse: u } = r().getProvider(c);
1989
1990
  return u == null || u(), a;
1990
1991
  },
1991
1992
  set: ({ mark: c, create: a }, u) => {
1992
1993
  const { value: h, dispose: g, onUse: y } = a(u, r());
1993
- l.push(g), n(r().setProvider(c, h, y));
1994
+ o.push(g), n(r().setProvider(c, h, y));
1994
1995
  }
1995
1996
  });
1996
- return o == null ? () => {
1997
+ return l == null ? () => {
1997
1998
  } : A(
1998
- f(o),
1999
- Z(() => l.forEach((c) => c()))
1999
+ f(l),
2000
+ Z(() => o.forEach((c) => c()))
2000
2001
  )(r());
2001
2002
  }, Ss = (s, e, t) => K(({ set: r }) => (r(s, e), t())), _s = (s, e) => K(({ use: t }) => e(t(s))), Es = (...s) => (e) => K(({ use: t }) => {
2002
2003
  const r = s.map(t);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/dom",
3
- "version": "26.9.0",
3
+ "version": "26.10.0",
4
4
  "type": "module",
5
5
  "main": "./index.cjs",
6
6
  "module": "./index.js",
@@ -1,102 +1,103 @@
1
1
  import { Renderable } from '../types/domain';
2
+ import { DOMContext } from '../dom/dom-context';
2
3
  /**
3
4
  * Attaches an event handler to the 'click' event that triggers when a checkbox is checked or unchecked.
4
5
  * @param fn - The callback function to be executed when the checkbox is clicked.
5
6
  * @alpha
6
7
  */
7
- export declare const OnChecked: (fn: (event: boolean) => void) => Renderable;
8
+ export declare const OnChecked: (fn: (event: boolean, ctx: DOMContext) => void) => Renderable;
8
9
  /**
9
10
  * Represents a collection of HTML event handlers that can be attached to an element.
10
11
  * @public
11
12
  */
12
13
  export declare const on: {
13
- abort: (handler: (event: Event) => void) => Renderable;
14
- animationcancel: (handler: (event: AnimationEvent) => void) => Renderable;
15
- animationend: (handler: (event: AnimationEvent) => void) => Renderable;
16
- animationiteration: (handler: (event: AnimationEvent) => void) => Renderable;
17
- animationstart: (handler: (event: AnimationEvent) => void) => Renderable;
18
- auxclick: (handler: (event: MouseEvent) => void) => Renderable;
19
- blur: (handler: (event: FocusEvent) => void) => Renderable;
20
- cancel: (handler: (event: Event) => void) => Renderable;
21
- canplay: (handler: (event: Event) => void) => Renderable;
22
- canplaythrough: (handler: (event: Event) => void) => Renderable;
23
- change: (handler: (event: Event) => void) => Renderable;
24
- click: (handler: (event: MouseEvent) => void) => Renderable;
25
- close: (handler: (event: Event) => void) => Renderable;
26
- contextmenu: (handler: (event: MouseEvent) => void) => Renderable;
27
- cuechange: (handler: (event: Event) => void) => Renderable;
28
- dblclick: (handler: (event: MouseEvent) => void) => Renderable;
29
- drag: (handler: (event: DragEvent) => void) => Renderable;
30
- dragend: (handler: (event: DragEvent) => void) => Renderable;
31
- dragenter: (handler: (event: DragEvent) => void) => Renderable;
32
- dragexit: (handler: (event: Event) => void) => Renderable;
33
- dragleave: (handler: (event: DragEvent) => void) => Renderable;
34
- dragover: (handler: (event: DragEvent) => void) => Renderable;
35
- dragstart: (handler: (event: DragEvent) => void) => Renderable;
36
- drop: (handler: (event: DragEvent) => void) => Renderable;
37
- durationchange: (handler: (event: Event) => void) => Renderable;
38
- emptied: (handler: (event: Event) => void) => Renderable;
39
- ended: (handler: (event: Event) => void) => Renderable;
40
- error: (handler: (event: ErrorEvent) => void) => Renderable;
41
- focus: (handler: (event: FocusEvent) => void) => Renderable;
42
- focusin: (handler: (event: FocusEvent) => void) => Renderable;
43
- focusout: (handler: (event: FocusEvent) => void) => Renderable;
44
- gotpointercapture: (handler: (event: PointerEvent) => void) => Renderable;
45
- input: (handler: (event: Event) => void) => Renderable;
46
- invalid: (handler: (event: Event) => void) => Renderable;
47
- keydown: (handler: (event: KeyboardEvent) => void) => Renderable;
48
- keypress: (handler: (event: KeyboardEvent) => void) => Renderable;
49
- keyup: (handler: (event: KeyboardEvent) => void) => Renderable;
50
- load: (handler: (event: Event) => void) => Renderable;
51
- loadeddata: (handler: (event: Event) => void) => Renderable;
52
- loadedmetadata: (handler: (event: Event) => void) => Renderable;
53
- loadend: (handler: (event: ProgressEvent<EventTarget>) => void) => Renderable;
54
- loadstart: (handler: (event: ProgressEvent<EventTarget>) => void) => Renderable;
55
- lostpointercapture: (handler: (event: PointerEvent) => void) => Renderable;
56
- mousedown: (handler: (event: MouseEvent) => void) => Renderable;
57
- mouseenter: (handler: (event: MouseEvent) => void) => Renderable;
58
- mouseleave: (handler: (event: MouseEvent) => void) => Renderable;
59
- mousemove: (handler: (event: MouseEvent) => void) => Renderable;
60
- mouseout: (handler: (event: MouseEvent) => void) => Renderable;
61
- mouseover: (handler: (event: MouseEvent) => void) => Renderable;
62
- mouseup: (handler: (event: MouseEvent) => void) => Renderable;
63
- pause: (handler: (event: Event) => void) => Renderable;
64
- play: (handler: (event: Event) => void) => Renderable;
65
- playing: (handler: (event: Event) => void) => Renderable;
66
- pointercancel: (handler: (event: PointerEvent) => void) => Renderable;
67
- pointerdown: (handler: (event: PointerEvent) => void) => Renderable;
68
- pointerenter: (handler: (event: PointerEvent) => void) => Renderable;
69
- pointerleave: (handler: (event: PointerEvent) => void) => Renderable;
70
- pointermove: (handler: (event: PointerEvent) => void) => Renderable;
71
- pointerout: (handler: (event: PointerEvent) => void) => Renderable;
72
- pointerover: (handler: (event: PointerEvent) => void) => Renderable;
73
- pointerup: (handler: (event: PointerEvent) => void) => Renderable;
74
- progress: (handler: (event: ProgressEvent<EventTarget>) => void) => Renderable;
75
- ratechange: (handler: (event: Event) => void) => Renderable;
76
- reset: (handler: (event: Event) => void) => Renderable;
77
- resize: (handler: (event: UIEvent) => void) => Renderable;
78
- scroll: (handler: (event: Event) => void) => Renderable;
79
- securitypolicyviolation: (handler: (event: SecurityPolicyViolationEvent) => void) => Renderable;
80
- seeked: (handler: (event: Event) => void) => Renderable;
81
- seeking: (handler: (event: Event) => void) => Renderable;
82
- select: (handler: (event: Event) => void) => Renderable;
83
- selectionchange: (handler: (event: Event) => void) => Renderable;
84
- selectstart: (handler: (event: Event) => void) => Renderable;
85
- stalled: (handler: (event: Event) => void) => Renderable;
86
- submit: (handler: (event: Event) => void) => Renderable;
87
- suspend: (handler: (event: Event) => void) => Renderable;
88
- timeupdate: (handler: (event: Event) => void) => Renderable;
89
- toggle: (handler: (event: Event) => void) => Renderable;
90
- touchcancel: (handler: (event: TouchEvent) => void) => Renderable;
91
- touchend: (handler: (event: TouchEvent) => void) => Renderable;
92
- touchmove: (handler: (event: TouchEvent) => void) => Renderable;
93
- touchstart: (handler: (event: TouchEvent) => void) => Renderable;
94
- transitioncancel: (handler: (event: TransitionEvent) => void) => Renderable;
95
- transitionend: (handler: (event: TransitionEvent) => void) => Renderable;
96
- transitionrun: (handler: (event: TransitionEvent) => void) => Renderable;
97
- transitionstart: (handler: (event: TransitionEvent) => void) => Renderable;
98
- volumechange: (handler: (event: Event) => void) => Renderable;
99
- waiting: (handler: (event: Event) => void) => Renderable;
14
+ abort: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
15
+ animationcancel: (handler: (event: AnimationEvent, ctx: DOMContext) => void) => Renderable;
16
+ animationend: (handler: (event: AnimationEvent, ctx: DOMContext) => void) => Renderable;
17
+ animationiteration: (handler: (event: AnimationEvent, ctx: DOMContext) => void) => Renderable;
18
+ animationstart: (handler: (event: AnimationEvent, ctx: DOMContext) => void) => Renderable;
19
+ auxclick: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
20
+ blur: (handler: (event: FocusEvent, ctx: DOMContext) => void) => Renderable;
21
+ cancel: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
22
+ canplay: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
23
+ canplaythrough: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
24
+ change: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
25
+ click: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
26
+ close: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
27
+ contextmenu: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
28
+ cuechange: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
29
+ dblclick: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
30
+ drag: (handler: (event: DragEvent, ctx: DOMContext) => void) => Renderable;
31
+ dragend: (handler: (event: DragEvent, ctx: DOMContext) => void) => Renderable;
32
+ dragenter: (handler: (event: DragEvent, ctx: DOMContext) => void) => Renderable;
33
+ dragexit: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
34
+ dragleave: (handler: (event: DragEvent, ctx: DOMContext) => void) => Renderable;
35
+ dragover: (handler: (event: DragEvent, ctx: DOMContext) => void) => Renderable;
36
+ dragstart: (handler: (event: DragEvent, ctx: DOMContext) => void) => Renderable;
37
+ drop: (handler: (event: DragEvent, ctx: DOMContext) => void) => Renderable;
38
+ durationchange: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
39
+ emptied: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
40
+ ended: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
41
+ error: (handler: (event: ErrorEvent, ctx: DOMContext) => void) => Renderable;
42
+ focus: (handler: (event: FocusEvent, ctx: DOMContext) => void) => Renderable;
43
+ focusin: (handler: (event: FocusEvent, ctx: DOMContext) => void) => Renderable;
44
+ focusout: (handler: (event: FocusEvent, ctx: DOMContext) => void) => Renderable;
45
+ gotpointercapture: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
46
+ input: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
47
+ invalid: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
48
+ keydown: (handler: (event: KeyboardEvent, ctx: DOMContext) => void) => Renderable;
49
+ keypress: (handler: (event: KeyboardEvent, ctx: DOMContext) => void) => Renderable;
50
+ keyup: (handler: (event: KeyboardEvent, ctx: DOMContext) => void) => Renderable;
51
+ load: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
52
+ loadeddata: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
53
+ loadedmetadata: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
54
+ loadend: (handler: (event: ProgressEvent<EventTarget>, ctx: DOMContext) => void) => Renderable;
55
+ loadstart: (handler: (event: ProgressEvent<EventTarget>, ctx: DOMContext) => void) => Renderable;
56
+ lostpointercapture: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
57
+ mousedown: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
58
+ mouseenter: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
59
+ mouseleave: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
60
+ mousemove: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
61
+ mouseout: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
62
+ mouseover: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
63
+ mouseup: (handler: (event: MouseEvent, ctx: DOMContext) => void) => Renderable;
64
+ pause: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
65
+ play: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
66
+ playing: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
67
+ pointercancel: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
68
+ pointerdown: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
69
+ pointerenter: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
70
+ pointerleave: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
71
+ pointermove: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
72
+ pointerout: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
73
+ pointerover: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
74
+ pointerup: (handler: (event: PointerEvent, ctx: DOMContext) => void) => Renderable;
75
+ progress: (handler: (event: ProgressEvent<EventTarget>, ctx: DOMContext) => void) => Renderable;
76
+ ratechange: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
77
+ reset: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
78
+ resize: (handler: (event: UIEvent, ctx: DOMContext) => void) => Renderable;
79
+ scroll: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
80
+ securitypolicyviolation: (handler: (event: SecurityPolicyViolationEvent, ctx: DOMContext) => void) => Renderable;
81
+ seeked: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
82
+ seeking: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
83
+ select: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
84
+ selectionchange: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
85
+ selectstart: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
86
+ stalled: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
87
+ submit: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
88
+ suspend: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
89
+ timeupdate: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
90
+ toggle: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
91
+ touchcancel: (handler: (event: TouchEvent, ctx: DOMContext) => void) => Renderable;
92
+ touchend: (handler: (event: TouchEvent, ctx: DOMContext) => void) => Renderable;
93
+ touchmove: (handler: (event: TouchEvent, ctx: DOMContext) => void) => Renderable;
94
+ touchstart: (handler: (event: TouchEvent, ctx: DOMContext) => void) => Renderable;
95
+ transitioncancel: (handler: (event: TransitionEvent, ctx: DOMContext) => void) => Renderable;
96
+ transitionend: (handler: (event: TransitionEvent, ctx: DOMContext) => void) => Renderable;
97
+ transitionrun: (handler: (event: TransitionEvent, ctx: DOMContext) => void) => Renderable;
98
+ transitionstart: (handler: (event: TransitionEvent, ctx: DOMContext) => void) => Renderable;
99
+ volumechange: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
100
+ waiting: (handler: (event: Event, ctx: DOMContext) => void) => Renderable;
100
101
  };
101
102
  /**
102
103
  * Creates an event handler that emits the value of an HTMLInputElement.