@tempots/dom 25.1.0 → 25.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +1 -1
- package/index.js +2 -3
- package/package.json +1 -1
- package/renderable/consumers.d.ts +1 -1
package/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var at=Object.defineProperty;var ye=s=>{throw TypeError(s)};var ct=(s,e,t)=>e in s?at(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e,t)=>ct(s,typeof e!="symbol"?e+"":e,t),Te=(s,e,t)=>e.has(s)||ye("Cannot "+t);var Z=(s,e,t)=>(Te(s,e,"read from private field"),t?t.call(s):e.get(s)),Ee=(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 Pe=(s,e,t)=>s+(e-s)*t,be=97,_e=(s,e,t)=>{const r=Math.max(s.length,e.length);let n="";for(let i=0;i<r;i++){let l=s.charCodeAt(i);isNaN(l)&&(l=be);let a=e.charCodeAt(i);isNaN(a)&&(a=be),n+=String.fromCharCode(l+(a-l)*t)}return n},ve=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),Ce=(s,e)=>e,we=s=>typeof s=="number"?Pe:typeof s=="string"?_e:s instanceof Date?ve:Ce;var M;class F{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");Ee(this,M);o(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 Z(this,M)==null&&Se(this,M,this.total.map(e=>this.counter===e)),Z(this,M)}}M=new WeakMap;const k=class k{constructor(e,t){o(this,"$__signal__",!0);o(this,"_value");o(this,"_derivatives",[]);o(this,"_onValueListeners",[]);o(this,"_onDisposeListeners",[]);o(this,"get",()=>this._value);o(this,"hasListeners",()=>this._onValueListeners.length>0);o(this,"on",(e,t={})=>{t.skipInitial||e(this.get(),void 0);const r=t.once?(i,l)=>{n(),e(i,l)}:e;this._onValueListeners.push(r);const n=()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(r),1),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",n)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",n),n});o(this,"_setAndNotify",(e,t)=>{const r=this._value,n=this.equals(r,e);n||(this._value=e),(t||!n)&&this._onValueListeners.forEach(i=>i(e,r))});o(this,"_disposed",!1);o(this,"isDisposed",()=>this._disposed);o(this,"onDispose",e=>{this._onDisposeListeners.push(e)});o(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});o(this,"map",(e,t=(r,n)=>r===n)=>{const r=new C(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(r),r});o(this,"flatMap",(e,t=(r,n)=>r===n)=>{const r=new C(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(r),r});o(this,"tap",e=>this.map(t=>(e(t),t)));o(this,"at",e=>this.map(t=>t[e]));o(this,"_$");o(this,"filter",(e,t)=>{let r=t??this.get();const n=new C(()=>{try{const i=this.get();return r=e(i)?i:r}catch(i){throw console.error("Error in Signal.filter:",i),i}},this.equals);return this.setDerivative(n),n});o(this,"filterMap",(e,t,r=(n,i)=>n===i)=>{let n=t;const i=new C(()=>{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(i),i});o(this,"mapAsync",(e,t,r,n=(i,l)=>i===l)=>{const i=P(t,n);let l=0,a=new AbortController;return i.onDispose(this.on(async c=>{const h=++l;a.abort(),a=new AbortController;try{const u=await e(c,{abortSignal:a.signal});h===l&&i.set(u)}catch(u){if(h===l)if(r!=null)i.set(r(u));else throw u}})),i});o(this,"mapMaybe",(e,t)=>this.map(r=>e(r)??t));o(this,"feedProp",(e,t=!1)=>{const r=this.on(e.set);return e.onDispose(r),t?this.onDispose(e.dispose):this.onDispose(r),e});o(this,"deriveProp",({autoDisposeProp:e=!0,equals:t}={})=>this.feedProp(P(this.get(),t),e));o(this,"derive",()=>this.map(e=>e));o(this,"count",()=>{let e=0;return this.map(()=>++e)});o(this,"setDerivative",e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty)),this.onDispose(e.dispose)});this.equals=t,this._value=e}get value(){return this._value}get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,t)=>this.at(t)})}};o(k,"ofPromise",(e,t,r,n=(i,l)=>i===l)=>{const i=new k(t,n);return e.then(l=>i._setAndNotify(l,!1)).catch(l=>{r!=null?i._setAndNotify(r(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),i}),o(k,"is",e=>e!=null&&e.$__signal__===!0);let f=k;const ut=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class C extends f{constructor(t,r){super(void 0,r);o(this,"$__computed__",!0);o(this,"_isDirty",!1);o(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});o(this,"_scheduleCount",0);o(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;ut(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});o(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 f{constructor(){super(...arguments);o(this,"$__prop__",!0);o(this,"set",t=>{this._setAndNotify(t,!1)});o(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});o(this,"reducer",(t,...r)=>{const n=this;return function i(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:i}))}});o(this,"iso",(t,r,n=(i,l)=>i===l)=>{const i=new X(t(this.get()),n);return i.onDispose(this.on(l=>i.set(t(l)))),i.on(l=>this._setAndNotify(r(l),!1)),i});o(this,"atProp",t=>this.iso(r=>r[t],r=>({...this.value,[t]:r})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};o(X,"is",t=>t!=null&&t.$__prop__===!0);let H=X;const Y=(s,e,t=(r,n)=>r===n)=>{const r=new C(s,t);return e.forEach(n=>n.setDerivative(r)),r},Oe=(s,e,t={})=>{let r=t.once?()=>{i(),s()}:s;if(t.skipInitial){let l=!1;const a=r;r=()=>{l?a():l=!0}}const n=Y(r,e),i=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",i)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",i),i},P=(s,e=(t,r)=>t===r)=>new H(s,e),$=(s,e=(t,r)=>t===r)=>new f(s,e),K=()=>typeof window<"u"?window:void 0,y={map:(s,e)=>f.is(s)?s.map(e):e(s),toSignal:(s,e)=>f.is(s)?s:$(s,e),maybeToSignal:(s,e)=>{if(s!=null)return y.toSignal(s,e)},get:s=>f.is(s)?s.get():s,on:(s,e)=>f.is(s)?s.on(e):(e(s),()=>{}),dispose:s=>{f.is(s)&&s.dispose()},deriveProp:(s,{autoDisposeProp:e=!0,equals:t}={})=>f.is(s)?s.deriveProp({autoDisposeProp:e,equals:t}):P(s,t)},ht=(...s)=>(e,t)=>{const r=s.filter(n=>f.is(n));return Y(()=>e(...s.map(n=>y.get(n))),r,t)},dt=(...s)=>(e,t={})=>{const r=s.filter(n=>f.is(n));return Oe(()=>e(...s.map(y.get)),r,t)};class ee{constructor(){o(this,"_store",new Map);o(this,"getItem",e=>this._store.get(e)??null);o(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const te=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:i=(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,i);return c.on(h=>{t.setItem(s,r(h))}),c},ft=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.localStorage)??new ee})},pt=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.sessionStorage)??new ee})};function Ae(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const xe=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,i=(r==null?void 0:r.easing)??(A=>A),l=(r==null?void 0:r.equals)??((A,B)=>A===B);let a=r==null?void 0:r.interpolate,c=s,h=e(),u=performance.now(),g=null,T=!0;const p=new C(e,l),m=P(s,l);m.onDispose(()=>{g!==null&&cancelAnimationFrame(g)}),m.onDispose(p.dispose),t.forEach(A=>{A.setDerivative(p),A.onDispose(m.dispose)});const v=A=>{h=A,u=performance.now(),c=m.value,T&&(T=!1,g=Ae(me))},me=()=>{const B=(performance.now()-u)/y.get(n),lt=i(B);a==null&&(a=we(c));let ge=a(c,h,lt);B>=1?(T=!0,ge=h):g=Ae(me),m.set(ge)};return p.on(v),m},mt=(s,e)=>{const{initialValue:t,...r}=e??{};return xe(t??s.get(),s.get,[s],r)},gt=(s,e)=>{const{signals:t,literals:r}=Object.entries(s).reduce(({signals:i,literals:l},[a,c])=>(f.is(c)?i.push([a,c]):l[a]=c,{signals:i,literals:l}),{signals:[],literals:{}}),n=t.map(([,i])=>i);return Y(()=>(t.forEach(([i,l])=>r[i]=l.value),e(r)),n)},Le=new Set(["checked","disabled","hidden"]),De=new Set(["selected"]),Me=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),ke=new Set(["valueAsDate"]),He=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ie=(s,e)=>De.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}:Me.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=t}:He.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},Ne=(s,e)=>De.has(s)?()=>e.hasAttribute(s):Le.has(s)?()=>!!e[s]:Me.has(s)?()=>Number(e[s]):ke.has(s)?()=>e[s]:He.has(s)?()=>String(e[s]):()=>e.getAttribute(s),I=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},$e=s=>se(s)?s:s.parentElement,se=s=>s.nodeType===1;class re extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class w{constructor(e,t,r,n){o(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));o(this,"makeChildElement",(e,t)=>{const r=this.createElement(e,t);return this.appendOrInsert(r),this.withElement(r)});o(this,"createText",e=>this.document.createTextNode(e));o(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});o(this,"setText",e=>{this.reference.nodeValue=e});o(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});o(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});o(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});o(this,"withElement",e=>new w(this.document,e,void 0,this.providers));o(this,"makePortal",e=>{const t=this.document.querySelector(e);if(t==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(t)});o(this,"withReference",e=>new w(this.document,this.element,e,this.providers));o(this,"withProviders",e=>new w(this.document,this.element,this.reference,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?I(this.reference):I(this.element))});o(this,"addClasses",e=>{this.element.classList.add(...e)});o(this,"removeClasses",e=>{this.element.classList.remove(...e)});o(this,"getClasses",()=>Array.from(this.element.classList));o(this,"on",(e,t,r)=>(this.element.addEventListener(e,t,r),n=>{n&&this.element.removeEventListener(e,t,r)}));o(this,"isBrowserDOM",()=>!0);o(this,"isHeadlessDOM",()=>!1);o(this,"setStyle",(e,t)=>{this.element.style[e]=t});o(this,"getStyle",e=>this.element.style[e]);o(this,"makeAccessors",e=>({get:Ne(e,this.element),set:Ie(e,this.element)}));this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t){return new w(e.ownerDocument,e,t,{})}}const z=(s,e)=>{const t=s(e);return(r=!0)=>t(r)},yt=(s,e,{doc:t,clear:r,disposeWithParent:n=!0}={})=>{console.time("render");const i=typeof e=="string"?(t??document).querySelector(e):e;if(i===null)throw new Re(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??i.ownerDocument)!=null&&i.nodeType===1&&(i.innerHTML="");const l=$e(i),a=se(i)?void 0:i,c=w.of(l,a),h=z(s,c);let u;return n&&(u=new MutationObserver(g=>{var T;(T=g[0])==null||T.removedNodes.forEach(p=>{p===i&&(h(i.nodeType!==Node.ELEMENT_NODE),u==null||u.disconnect())})}),u.observe(i.parentElement,{childList:!0,subtree:!1,attributes:!1})),console.timeEnd("render"),()=>{u==null||u.disconnect(),h(!0)}},Tt=(s,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const r=y.toSignal(e).deriveProp(),n=new ie(t,void 0),i=new O(n,void 0,{currentURL:r},{});return{clear:z(s(),i),root:n,currentURL:r}};class Re extends Error{constructor(e){super(e)}}const ne="data-tts-node",N="data-tts-class",U="data-tts-style",W="data-tts-html",G="data-tts-text",J="data-tts-attrs";class Et{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:a,appendHTML:c,getInnerHTML:h,setInnerHTML:u,getInnerText:g,setInnerText:T}){o(this,"select");o(this,"getAttribute");o(this,"setAttribute");o(this,"getClass");o(this,"setClass");o(this,"getStyles");o(this,"setStyles");o(this,"appendHTML");o(this,"getInnerHTML");o(this,"setInnerHTML");o(this,"getInnerText");o(this,"setInnerText");o(this,"setFromRoot",(e,t)=>{e.getPortals().forEach(n=>{for(const i of this.select(n.selector)){if(i==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(i,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const l=this.getInnerHTML(i);l!=null&&this.setAttribute(i,W,l)}this.setInnerHTML(i,n.getInnerHTML())}if(n.hasInnerText()){if(t){const l=this.getInnerText(i);l!=null&&this.setAttribute(i,G,l)}this.setInnerText(i,n.getInnerText())}if(n.hasClasses()){if(t){const l=this.getClass(i);l!=null&&this.setAttribute(i,N,l)}this.setClass(i,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const l=this.getStyles(i);Object.keys(l).length>0&&this.setAttribute(i,U,JSON.stringify(l))}this.setStyles(i,n.getStyles())}if(n.hasAttributes()){const l=n.getAttributes();if(t){const a=[];l.forEach(([c])=>{const h=this.getAttribute(i,c);h!=null&&a.push([c,h])}),a.length>0&&this.setAttribute(i,J,JSON.stringify(Object.fromEntries(a)))}l.forEach(([a,c])=>{this.setAttribute(i,a,c)})}}})});this.select=e,this.getAttribute=t,this.setAttribute=r,this.getClass=n,this.setClass=i,this.getStyles=l,this.setStyles=a,this.appendHTML=c,this.getInnerHTML=h,this.setInnerHTML=u,this.getInnerText=g,this.setInnerText=T}}const St=()=>{document.querySelectorAll(`[${ne}]`).forEach(I)},bt=s=>{const e=s.getAttribute(N);s.removeAttribute(N),e!=null&&s.setAttribute("class",e)},At=()=>{document.querySelectorAll(`[${N}]`).forEach(e=>bt(e))},Pt=s=>{const e=s.getAttribute(W);s.removeAttribute(W),e!=null&&(s.innerHTML=e)},_t=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Pt(e))},vt=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},Ct=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>vt(e))},Ve=s=>JSON.parse(s.replace(/"/g,'"')),wt=s=>{const e=s.getAttribute(U);if(s.removeAttribute(U),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},Ot=()=>{document.querySelectorAll(`[${U}]`).forEach(e=>wt(e))},xt=s=>{const e=s.getAttribute(J);if(s.removeAttribute(J),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Lt=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>xt(e))},Dt=()=>{St(),At(),Ct(),_t(),Ot(),Lt()},S=Symbol("class"),_=Symbol("style"),L=Symbol("handler"),je=()=>Math.random().toString(36).substring(2,15),Mt=s=>s.replace(/<[^>]*>?/g,"");class qe{constructor(e){o(this,"id",je());o(this,"properties",{});o(this,"children",[]);o(this,"isElement",()=>!0);o(this,"isText",()=>!1);o(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?Mt(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));o(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});o(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});o(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});o(this,"elements",()=>this.children.filter(e=>e.isElement()));o(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);o(this,"getInnerHTML",()=>this.properties.innerHTML??"");o(this,"getInnerText",()=>this.properties.innerText??"");o(this,"hasInnerText",()=>this.properties.innerText!=null);o(this,"hasChildren",()=>this.children.length>0);o(this,"hasClasses",()=>this.properties[S]!=null);o(this,"hasStyles",()=>this.properties[_]!=null);o(this,"hasAttributes",()=>Object.keys(this.properties).length>0);o(this,"hasHandlers",()=>this.properties[L]!=null);o(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());o(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const r=t.getById(e);if(r!=null)return r}});o(this,"trigger",(e,t)=>{((this.properties[L]??{})[e]??[]).forEach(n=>n(t))});o(this,"click",()=>{this.trigger("click",{})});o(this,"on",(e,t,r)=>{var a;const n=(a=this.properties)[L]??(a[L]={}),i=r!=null&&r.once?c=>{l(),t(c)}:c=>t(c);n[e]=[...n[e]??[],i];const l=()=>{const c=n[e]??[],h=c.indexOf(i);h!==-1&&(c.splice(h,1),c.length===0?(delete n[e],Object.keys(n).length===0&&delete this.properties[L]):n[e]=c,(r==null?void 0:r.signal)!=null&&r.signal.removeEventListener("abort",l))};return(r==null?void 0:r.signal)!=null&&r.signal.addEventListener("abort",l),l});o(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)})});o(this,"removeClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);e.forEach(n=>{const i=t.indexOf(n);i!==-1&&t.splice(i,1)}),t.length===0&&delete this.properties[S]});o(this,"getClasses",()=>this.properties[S]??[]);o(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));o(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===S?[["class",this.getClasses()]]:e===_?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[_]??(n[_]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[_])});o(this,"getStyle",e=>{var t;return((t=this.properties[_])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[_]??{});o(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const kt=s=>s.replace(/"/g,"""),Ht=s=>s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");class Be extends qe{constructor(t,r,n){super(n);o(this,"isPortal",()=>!1);o(this,"toHTML",(t=!1)=>{const r=this.children.map(c=>c.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let i=null;const l=this.getVisibleAttributes().map(([c,h])=>c==="class"?` class="${h.join(" ")}"`:c==="style"?typeof h=="string"?` style="${h}"`:` style="${Object.entries(h).map(([u,g])=>`${u}: ${g};`).join(" ")}"`:It.has(c)?` ${c}`:c==="innerHTML"?(i=h,""):c==="innerText"?(i=Ht(h),""):` ${c}="${kt(h)}"`).join(""),a=t?` ${ne}`:"";return Nt.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${a} />`:`<${this.tagName}${n}${l}${a}>${i??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class ie extends qe{constructor(t,r){super(r);o(this,"isPortal",()=>!0);o(this,"toHTML",()=>"");o(this,"contentToHTML",(t=!1)=>this.children.map(r=>r.toHTML(t)).join(""));this.selector=t}}class Fe{constructor(e){o(this,"id",je());o(this,"isElement",()=>!1);o(this,"isText",()=>!0);o(this,"getText",()=>this.text);o(this,"toHTML",()=>this.text);this.text=e}}class O{constructor(e,t,r,n){o(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});o(this,"makeChildElement",(e,t)=>{const r=new Be(e,t,this.element);return this.appendOrInsert(r),new O(r,void 0,this.container,this.providers)});o(this,"makeChildText",e=>{const t=new Fe(e);return this.appendOrInsert(t),new O(this.element,t,this.container,this.providers)});o(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});o(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});o(this,"makeRef",()=>this.makeChildText(""));o(this,"makePortal",e=>{const t=new ie(e,this.element);return this.appendOrInsert(t),new O(t,void 0,this.container,this.providers)});o(this,"withProviders",e=>new O(this.element,this.reference,this.container,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});o(this,"on",(e,t)=>this.element.on(e,t));o(this,"addClasses",e=>this.element.addClasses(e));o(this,"removeClasses",e=>this.element.removeClasses(e));o(this,"getClasses",()=>this.element.getClasses());o(this,"isBrowserDOM",()=>!1);o(this,"isHeadlessDOM",()=>!0);o(this,"setStyle",(e,t)=>this.element.setStyle(e,t));o(this,"getStyle",e=>this.element.getStyle(e));o(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=r,this.providers=n}}const It=new Set(["checked","disabled","multiple","readonly","required","selected"]),Nt=new Set(["img","br","hr","input","link","meta"]),oe=s=>e=>{const t=e.makeChildText(s);return r=>t.clear(r)},le=s=>e=>{const t=e.makeChildText(s.value),r=s.on(n=>t.setText(n));return n=>{r(),t.clear(n)}},$t=s=>f.is(s)?le(s):oe(s),E=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},b=()=>()=>{},Rt=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),Vt=s=>e=>{let t=[];const r=s.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(i=>i.length>0),e.addClasses(t)});return n=>{r(),n&&e.removeClasses(t),t.length=0}},R=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r();return n(e),l=>{l&&n(i)}},V=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r(),l=e.on(n);return a=>{l(),a&&n(i)}},x=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?Vt(t):Rt((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?V(e,t):R(e,t)}),jt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`data-${e}`,t):R(`data-${e}`,t)}),qt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`aria-${e}`,t):R(`aria-${e}`,t)}),Bt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),Ft=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),d=s=>{if(s==null)return b;if(Array.isArray(s))return E(...s.map(d));if(typeof s=="string")return oe(s);if(f.is(s))return le(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ae=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(i=>d(i)(r));return i=>{n.forEach(l=>l(!1)),r.clear(i)}},ce=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),i=t.map(l=>d(l)(n));return l=>{i.forEach(a=>a(!1)),n.clear(l)}},Ut=new Proxy({},{get:(s,e)=>(...t)=>ae(e,t.flatMap(d))}),Wt=new Proxy({},{get:(s,e)=>(...t)=>ae("input",x.type(e),...t)}),Gt="http://www.w3.org/2000/svg",Jt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Gt,t.flatMap(d))}),Xt="http://www.w3.org/1998/Math/MathML",Yt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Xt,t.flatMap(d))}),ue=(s,e)=>{if(typeof e=="function")return ue(s,{then:e});const t=e.pending!=null?d(e.pending()):b,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>b;return i=>{let l=!0;const a=s(),c=i.makeRef();let h=d(t)(c);return a.then(u=>{l&&(h(!0),h=d(r(u))(c))},u=>{l&&(h(!0),h=d(n(u))(c))}),u=>{l=!1,h(u),c.clear(u)}}},zt=(s,e)=>ue(()=>s,e),Ue=(s,e,t)=>r=>r.on(s,e,t),We=s=>Ue("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)}),j=new Proxy({},{get:(s,e)=>t=>Ue(e,t)}),Ge=s=>e=>{const t=e.target;s(t.value)},Je=s=>e=>{const t=e.target;s(t.valueAsNumber)},Xe=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)},Ye=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("T"),n=r[0].split("-"),i=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=r[1].split(":");i.setHours(Number(l[0])),i.setMinutes(Number(l[1])),i.setSeconds(Number(l[2])),s(i)},Qt=s=>e=>{const t=e.target;s(t.checked)},Zt=s=>e=>{e.preventDefault(),s()},Kt=s=>e=>{e.stopPropagation(),s()},es=s=>e=>{e.stopImmediatePropagation(),s()},ts=(s,e="input")=>E(x.valueAsDate(s),j[e](Xe(s.set))),ss=(s,e="input")=>E(x.valueAsDate(s),j[e](Ye(s.set))),rs=(s,e="input")=>E(x.valueAsNumber(s),j[e](Je(s.set))),ns=(s,e="input")=>E(x.value(s),j[e](Ge(s.set))),is=s=>E(x.checked(s),We(s.set)),q=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let i,l;const a=s.map(u=>Object.keys(u)[0]);let c;const h=a.on(u=>{if(u!==c){l==null||l.dispose(),i==null||i(!0),l=s.map(T=>T[u]);const g=e[u](l);i=d(g)(n),c=u}});return u=>{l==null||l.dispose(),h(),n.clear(u),i==null||i(u)}};const t=Object.keys(s)[0];return d(e[t]($(s[t])))},he=(s,e,t)=>q(y.map(s,r=>({[r[e]]:r})),t),os=(s,e)=>he(s,"kind",e),ls=(s,e)=>{const t=y.map(s,([r,n])=>({[r]:n}));return q(t,e)},as=(s,e)=>he(s,"type",e),ze=(s,e)=>q(y.map(s,t=>({[t]:!0})),e),cs=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return ze(t.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:r,last:n,other:s})},Qe=(s,e)=>t=>{const r=Object.values(s).reduce((n,i)=>{const l=t.getProvider(i);return Reflect.set(n,i,l),n},{});return d(e(r))(t)},us=(s,e)=>t=>{const r=[],n=Object.entries(s).reduce((i,[l,a])=>(r.push(a(c=>(Reflect.set(i,l,c),null))(t)),i),{});return r.push(e(n)(t)),i=>{r.forEach(l=>l(i))}},Ze=(s,e)=>Qe([s],t=>d(e(t[s]))),hs=(s,e)=>Qe(s,t=>d(e(t))),ds=s=>e=>{const t=s(e);return t==null?()=>{}:d(t)(e)},fs=s=>e=>(e.appendOrInsert(s),t=>{t&&I(s)}),Ke=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=()=>{},a=!1,c=null;const h=r.on(u=>{u==null?(l(!0),l=d((t==null?void 0:t())??b)(i),a=!1,c==null||c.dispose(),c=null):(c==null?c=P(u):c.value=u,a||(l(!0),l=d(e(c))(i),a=!0))});return u=>{c==null||c.dispose(),h(),l==null||l(u),i.clear(u)}}}else{const r=s;if(r==null){const n=t==null?void 0:t();return n!=null?d(n):b}return d(e($(r)))}},ps=(...s)=>(e,t)=>r=>{const n=r.makeRef();if(s.some(p=>!f.is(p)&&p==null))return(t!=null?d(t==null?void 0:t()):b)(n);const l=s.map(()=>null),a=s.map(p=>f.is(p)?p.value!=null:p!=null);let c=null;const h=P(a.every(p=>p)),u=(p,m)=>{if(p.value!=null){if(l[m]==null){const v=P(p.value);l[m]=v}else l[m].value=p.value;a[m]=!0}else a[m]=!1};let g=s.length-1;const T=s.map((p,m)=>{if(!f.is(p)){const v=P(p);return l[m]=v,()=>{}}return p.on(()=>{u(p,m),g===0?h.value=a.every(v=>v):g--})});return h.on(p=>{c==null||c(!0),c=null,p?c=d(e(...l))(n):c=d((t==null?void 0:t())??b)(n)}),p=>{l.forEach(m=>m==null?void 0:m.dispose()),h.dispose(),T.forEach(m=>m()),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),ms=(s,e,t)=>de(y.map(s,r=>!r),e,t),fe=(s,e,t)=>t!=null?fe(s,r=>{const n=new F(r.index,r.total.map(i=>i-1));return E(Q(n.dispose),d(e(r)),de(r.isLast,()=>b,()=>t(n)))}):f.is(s)?r=>{const n=r.makeRef(),i=[],l=s.on(a=>{const c=i.splice(a);for(const h of c)h(!0);for(let h=i.length;h<a;h++){const u=new F(h,s);i.push(d(e(u))(n))}});return a=>{l();for(const c of i)c(a);i.length=0,n.clear(a)}}:E(...Array.from({length:s},(r,n)=>n).map(r=>d(e(new F(r,$(s)))))),gs=(s,e,t)=>{const r=y.map(s,i=>i.length),n=y.toSignal(s);return fe(r,i=>{const l=n.map(a=>a[i.index]);return E(Q(l.dispose),d(e(l,i)))},t)},et=s=>e=>{if(e.isBrowserDOM()){const t=s(e);if(t!=null)return d(t)(e)}return()=>{}},ys=s=>e=>{if(e.isHeadlessDOM()){const t=s(e);if(t)return d(t)(e)}return()=>{}},Ts=s=>et(e=>s(e.element)),Es=(s,e)=>{if(f.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(a=>d(e(a)));let i=()=>{};const l=n.on(a=>{i(!0),i=a(r)});return a=>{l(),i(a)}}}return d(e(s))},Ss=(s,e,t=()=>b)=>q(y.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),bs=(s,e)=>t=>{const r=t.makePortal(s);return z(d(e),r)},tt=s=>Symbol(s),st=(s,e)=>t=>d(e)(t.withProviders(s)),As=(...s)=>s.length>0?s.reduceRight((e,t)=>r=>e(t(r))):d,rt=(s,e,t)=>st({[s]:e},d(t)),Ps=(s,e)=>st(s,d(e)),pe=tt("Probe"),D=new Map,nt=({identifier:s,callback:e=()=>{},child:t,timeout:r=10})=>{if(D.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>e("timeout"),r);D.set(s,{counter:0,timeoutId:n});const i=l=>{clearTimeout(n);const a=D.get(l);if(a==null)throw new Error(`Probe not found: ${l.description}`);--a.counter===0?(e("resolved"),D.delete(l)):D.set(l,a)};return E(Q(()=>clearTimeout(n)),rt(pe,i,t))},it=(s,e)=>Ze(pe,t=>{const r=D.get(s);return r==null?e(()=>{}):(clearTimeout(r.timeoutId),r.counter++,e(()=>t(s)))}),ot=Symbol("globalProbe"),_s=({callback:s,timeout:e},t)=>nt({identifier:ot,callback:s,child:t,timeout:e}),vs=s=>it(ot,s),Cs=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},ws=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},Os=new Proxy({},{get:(s,e)=>t=>f.is(t)?ws(e,t):Cs(e,t)});exports.Async=zt;exports.BindChecked=is;exports.BindDate=ts;exports.BindDateTime=ss;exports.BindNumber=rs;exports.BindText=ns;exports.BrowserContext=w;exports.CLASS_PLACEHOLDER_ATTR=N;exports.Computed=C;exports.Conjunction=cs;exports.DOMNode=fs;exports.El=ae;exports.ElNS=ce;exports.ElementPosition=F;exports.Empty=b;exports.Ensure=Ke;exports.EnsureAll=ps;exports.ForEach=gs;exports.Fragment=E;exports.HeadlessAdapter=Et;exports.HeadlessContext=O;exports.HeadlessElement=Be;exports.HeadlessPortal=ie;exports.HeadlessText=Fe;exports.MapSignal=Es;exports.MemoryStore=ee;exports.NotEmpty=Ss;exports.OnBrowserCtx=et;exports.OnChecked=We;exports.OnCtx=ds;exports.OnDispose=Q;exports.OnElement=Ts;exports.OnHeadlessCtx=ys;exports.OneOf=q;exports.OneOfField=he;exports.OneOfKind=os;exports.OneOfTuple=ls;exports.OneOfType=as;exports.OneOfValue=ze;exports.Portal=bs;exports.Prop=H;exports.Provide=As;exports.ProvideGlobalProbe=_s;exports.ProvideProbe=nt;exports.ProviderNotFoundError=re;exports.RenderingError=Re;exports.Repeat=fe;exports.Signal=f;exports.Task=ue;exports.TextNode=$t;exports.Unless=ms;exports.Use=us;exports.UseGlobalProbe=vs;exports.UseProbe=it;exports.UseProvider=Ze;exports.UseProviders=hs;exports.Value=y;exports.When=de;exports.WithProvider=rt;exports.WithProviders=Ps;exports._NODE_PLACEHOLDER_ATTR=ne;exports._getSelfOrParentElement=$e;exports._isElement=se;exports._makeGetter=Ne;exports._makeSetter=Ie;exports._removeDOMNode=I;exports._signalText=le;exports._staticText=oe;exports.animateSignal=mt;exports.animateSignals=xe;exports.aria=qt;exports.attr=x;exports.dataAttr=jt;exports.emitChecked=Qt;exports.emitPreventDefault=Zt;exports.emitStopImmediatePropagation=es;exports.emitStopPropagation=Kt;exports.emitValue=Ge;exports.emitValueAsDate=Xe;exports.emitValueAsDateTime=Ye;exports.emitValueAsNumber=Je;exports.endInterpolate=Ce;exports.getWindow=K;exports.guessInterpolate=we;exports.html=Ut;exports.input=Wt;exports.interpolateDate=ve;exports.interpolateNumber=Pe;exports.interpolateString=_e;exports.localStorageProp=ft;exports.makeComputed=Y;exports.makeComputedOf=ht;exports.makeComputedRecord=gt;exports.makeEffect=Oe;exports.makeEffectOf=dt;exports.makeProp=P;exports.makeProviderMark=tt;exports.makeSignal=$;exports.math=Yt;exports.mathAttr=Ft;exports.on=j;exports.probeMarker=pe;exports.render=yt;exports.renderWithContext=z;exports.renderableOfTNode=d;exports.restoreTempoPlaceholders=Dt;exports.runHeadless=Tt;exports.sessionStorageProp=pt;exports.storedProp=te;exports.style=Os;exports.svg=Jt;exports.svgAttr=Bt;
|
|
1
|
+
"use strict";var at=Object.defineProperty;var ye=s=>{throw TypeError(s)};var ct=(s,e,t)=>e in s?at(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var o=(s,e,t)=>ct(s,typeof e!="symbol"?e+"":e,t),Te=(s,e,t)=>e.has(s)||ye("Cannot "+t);var Z=(s,e,t)=>(Te(s,e,"read from private field"),t?t.call(s):e.get(s)),Ee=(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 Pe=(s,e,t)=>s+(e-s)*t,be=97,_e=(s,e,t)=>{const r=Math.max(s.length,e.length);let n="";for(let i=0;i<r;i++){let l=s.charCodeAt(i);isNaN(l)&&(l=be);let a=e.charCodeAt(i);isNaN(a)&&(a=be),n+=String.fromCharCode(l+(a-l)*t)}return n},ve=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),Ce=(s,e)=>e,we=s=>typeof s=="number"?Pe:typeof s=="string"?_e:s instanceof Date?ve:Ce;var M;class F{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");Ee(this,M);o(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 Z(this,M)==null&&Se(this,M,this.total.map(e=>this.counter===e)),Z(this,M)}}M=new WeakMap;const k=class k{constructor(e,t){o(this,"$__signal__",!0);o(this,"_value");o(this,"_derivatives",[]);o(this,"_onValueListeners",[]);o(this,"_onDisposeListeners",[]);o(this,"get",()=>this._value);o(this,"hasListeners",()=>this._onValueListeners.length>0);o(this,"on",(e,t={})=>{t.skipInitial||e(this.get(),void 0);const r=t.once?(i,l)=>{n(),e(i,l)}:e;this._onValueListeners.push(r);const n=()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(r),1),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",n)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",n),n});o(this,"_setAndNotify",(e,t)=>{const r=this._value,n=this.equals(r,e);n||(this._value=e),(t||!n)&&this._onValueListeners.forEach(i=>i(e,r))});o(this,"_disposed",!1);o(this,"isDisposed",()=>this._disposed);o(this,"onDispose",e=>{this._onDisposeListeners.push(e)});o(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});o(this,"map",(e,t=(r,n)=>r===n)=>{const r=new C(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(r),r});o(this,"flatMap",(e,t=(r,n)=>r===n)=>{const r=new C(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(r),r});o(this,"tap",e=>this.map(t=>(e(t),t)));o(this,"at",e=>this.map(t=>t[e]));o(this,"_$");o(this,"filter",(e,t)=>{let r=t??this.get();const n=new C(()=>{try{const i=this.get();return r=e(i)?i:r}catch(i){throw console.error("Error in Signal.filter:",i),i}},this.equals);return this.setDerivative(n),n});o(this,"filterMap",(e,t,r=(n,i)=>n===i)=>{let n=t;const i=new C(()=>{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(i),i});o(this,"mapAsync",(e,t,r,n=(i,l)=>i===l)=>{const i=P(t,n);let l=0,a=new AbortController;return i.onDispose(this.on(async c=>{const h=++l;a.abort(),a=new AbortController;try{const u=await e(c,{abortSignal:a.signal});h===l&&i.set(u)}catch(u){if(h===l)if(r!=null)i.set(r(u));else throw u}})),i});o(this,"mapMaybe",(e,t)=>this.map(r=>e(r)??t));o(this,"feedProp",(e,t=!1)=>{const r=this.on(e.set);return e.onDispose(r),t?this.onDispose(e.dispose):this.onDispose(r),e});o(this,"deriveProp",({autoDisposeProp:e=!0,equals:t}={})=>this.feedProp(P(this.get(),t),e));o(this,"derive",()=>this.map(e=>e));o(this,"count",()=>{let e=0;return this.map(()=>++e)});o(this,"setDerivative",e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty)),this.onDispose(e.dispose)});this.equals=t,this._value=e}get value(){return this._value}get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,t)=>this.at(t)})}};o(k,"ofPromise",(e,t,r,n=(i,l)=>i===l)=>{const i=new k(t,n);return e.then(l=>i._setAndNotify(l,!1)).catch(l=>{r!=null?i._setAndNotify(r(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),i}),o(k,"is",e=>e!=null&&e.$__signal__===!0);let f=k;const ut=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class C extends f{constructor(t,r){super(void 0,r);o(this,"$__computed__",!0);o(this,"_isDirty",!1);o(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});o(this,"_scheduleCount",0);o(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;ut(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});o(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 f{constructor(){super(...arguments);o(this,"$__prop__",!0);o(this,"set",t=>{this._setAndNotify(t,!1)});o(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});o(this,"reducer",(t,...r)=>{const n=this;return function i(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:i}))}});o(this,"iso",(t,r,n=(i,l)=>i===l)=>{const i=new X(t(this.get()),n);return i.onDispose(this.on(l=>i.set(t(l)))),i.on(l=>this._setAndNotify(r(l),!1)),i});o(this,"atProp",t=>this.iso(r=>r[t],r=>({...this.value,[t]:r})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};o(X,"is",t=>t!=null&&t.$__prop__===!0);let H=X;const Y=(s,e,t=(r,n)=>r===n)=>{const r=new C(s,t);return e.forEach(n=>n.setDerivative(r)),r},Oe=(s,e,t={})=>{let r=t.once?()=>{i(),s()}:s;if(t.skipInitial){let l=!1;const a=r;r=()=>{l?a():l=!0}}const n=Y(r,e),i=()=>{n.dispose(),t.abortSignal!=null&&t.abortSignal.removeEventListener("abort",i)};return t.abortSignal!=null&&t.abortSignal.addEventListener("abort",i),i},P=(s,e=(t,r)=>t===r)=>new H(s,e),$=(s,e=(t,r)=>t===r)=>new f(s,e),K=()=>typeof window<"u"?window:void 0,y={map:(s,e)=>f.is(s)?s.map(e):e(s),toSignal:(s,e)=>f.is(s)?s:$(s,e),maybeToSignal:(s,e)=>{if(s!=null)return y.toSignal(s,e)},get:s=>f.is(s)?s.get():s,on:(s,e)=>f.is(s)?s.on(e):(e(s),()=>{}),dispose:s=>{f.is(s)&&s.dispose()},deriveProp:(s,{autoDisposeProp:e=!0,equals:t}={})=>f.is(s)?s.deriveProp({autoDisposeProp:e,equals:t}):P(s,t)},ht=(...s)=>(e,t)=>{const r=s.filter(n=>f.is(n));return Y(()=>e(...s.map(n=>y.get(n))),r,t)},dt=(...s)=>(e,t={})=>{const r=s.filter(n=>f.is(n));return Oe(()=>e(...s.map(y.get)),r,t)};class ee{constructor(){o(this,"_store",new Map);o(this,"getItem",e=>this._store.get(e)??null);o(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const te=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:i=(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,i);return c.on(h=>{t.setItem(s,r(h))}),c},ft=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.localStorage)??new ee})},pt=s=>{var e;return te({...s,store:((e=K())==null?void 0:e.sessionStorage)??new ee})};function Ae(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const xe=(s,e,t,r)=>{const n=(r==null?void 0:r.duration)??300,i=(r==null?void 0:r.easing)??(A=>A),l=(r==null?void 0:r.equals)??((A,B)=>A===B);let a=r==null?void 0:r.interpolate,c=s,h=e(),u=performance.now(),g=null,T=!0;const p=new C(e,l),m=P(s,l);m.onDispose(()=>{g!==null&&cancelAnimationFrame(g)}),m.onDispose(p.dispose),t.forEach(A=>{A.setDerivative(p),A.onDispose(m.dispose)});const v=A=>{h=A,u=performance.now(),c=m.value,T&&(T=!1,g=Ae(me))},me=()=>{const B=(performance.now()-u)/y.get(n),lt=i(B);a==null&&(a=we(c));let ge=a(c,h,lt);B>=1?(T=!0,ge=h):g=Ae(me),m.set(ge)};return p.on(v),m},mt=(s,e)=>{const{initialValue:t,...r}=e??{};return xe(t??s.get(),s.get,[s],r)},gt=(s,e)=>{const{signals:t,literals:r}=Object.entries(s).reduce(({signals:i,literals:l},[a,c])=>(f.is(c)?i.push([a,c]):l[a]=c,{signals:i,literals:l}),{signals:[],literals:{}}),n=t.map(([,i])=>i);return Y(()=>(t.forEach(([i,l])=>r[i]=l.value),e(r)),n)},Le=new Set(["checked","disabled","hidden"]),De=new Set(["selected"]),Me=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),ke=new Set(["valueAsDate"]),He=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ie=(s,e)=>De.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}:Me.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:ke.has(s)?t=>{t==null?e[s]=null:e[s]=t}:He.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},Ne=(s,e)=>De.has(s)?()=>e.hasAttribute(s):Le.has(s)?()=>!!e[s]:Me.has(s)?()=>Number(e[s]):ke.has(s)?()=>e[s]:He.has(s)?()=>String(e[s]):()=>e.getAttribute(s),I=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},$e=s=>se(s)?s:s.parentElement,se=s=>s.nodeType===1;class re extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class w{constructor(e,t,r,n){o(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));o(this,"makeChildElement",(e,t)=>{const r=this.createElement(e,t);return this.appendOrInsert(r),this.withElement(r)});o(this,"createText",e=>this.document.createTextNode(e));o(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});o(this,"setText",e=>{this.reference.nodeValue=e});o(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});o(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});o(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});o(this,"withElement",e=>new w(this.document,e,void 0,this.providers));o(this,"makePortal",e=>{const t=this.document.querySelector(e);if(t==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(t)});o(this,"withReference",e=>new w(this.document,this.element,e,this.providers));o(this,"withProviders",e=>new w(this.document,this.element,this.reference,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?I(this.reference):I(this.element))});o(this,"addClasses",e=>{this.element.classList.add(...e)});o(this,"removeClasses",e=>{this.element.classList.remove(...e)});o(this,"getClasses",()=>Array.from(this.element.classList));o(this,"on",(e,t,r)=>(this.element.addEventListener(e,t,r),n=>{n&&this.element.removeEventListener(e,t,r)}));o(this,"isBrowserDOM",()=>!0);o(this,"isHeadlessDOM",()=>!1);o(this,"setStyle",(e,t)=>{this.element.style[e]=t});o(this,"getStyle",e=>this.element.style[e]);o(this,"makeAccessors",e=>({get:Ne(e,this.element),set:Ie(e,this.element)}));this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t){return new w(e.ownerDocument,e,t,{})}}const z=(s,e)=>{const t=s(e);return(r=!0)=>t(r)},yt=(s,e,{doc:t,clear:r,disposeWithParent:n=!0}={})=>{const i=typeof e=="string"?(t??document).querySelector(e):e;if(i===null)throw new Re(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??i.ownerDocument)!=null&&i.nodeType===1&&(i.innerHTML="");const l=$e(i),a=se(i)?void 0:i,c=w.of(l,a),h=z(s,c);let u;return n&&(u=new MutationObserver(g=>{var T;(T=g[0])==null||T.removedNodes.forEach(p=>{p===i&&(h(i.nodeType!==Node.ELEMENT_NODE),u==null||u.disconnect())})}),u.observe(i.parentElement,{childList:!0,subtree:!1,attributes:!1})),()=>{u==null||u.disconnect(),h(!0)}},Tt=(s,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const r=y.toSignal(e).deriveProp(),n=new ie(t,void 0),i=new O(n,void 0,{currentURL:r},{});return{clear:z(s(),i),root:n,currentURL:r}};class Re extends Error{constructor(e){super(e)}}const ne="data-tts-node",N="data-tts-class",U="data-tts-style",W="data-tts-html",G="data-tts-text",J="data-tts-attrs";class Et{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:a,appendHTML:c,getInnerHTML:h,setInnerHTML:u,getInnerText:g,setInnerText:T}){o(this,"select");o(this,"getAttribute");o(this,"setAttribute");o(this,"getClass");o(this,"setClass");o(this,"getStyles");o(this,"setStyles");o(this,"appendHTML");o(this,"getInnerHTML");o(this,"setInnerHTML");o(this,"getInnerText");o(this,"setInnerText");o(this,"setFromRoot",(e,t)=>{e.getPortals().forEach(n=>{for(const i of this.select(n.selector)){if(i==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(i,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const l=this.getInnerHTML(i);l!=null&&this.setAttribute(i,W,l)}this.setInnerHTML(i,n.getInnerHTML())}if(n.hasInnerText()){if(t){const l=this.getInnerText(i);l!=null&&this.setAttribute(i,G,l)}this.setInnerText(i,n.getInnerText())}if(n.hasClasses()){if(t){const l=this.getClass(i);l!=null&&this.setAttribute(i,N,l)}this.setClass(i,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const l=this.getStyles(i);Object.keys(l).length>0&&this.setAttribute(i,U,JSON.stringify(l))}this.setStyles(i,n.getStyles())}if(n.hasAttributes()){const l=n.getAttributes();if(t){const a=[];l.forEach(([c])=>{const h=this.getAttribute(i,c);h!=null&&a.push([c,h])}),a.length>0&&this.setAttribute(i,J,JSON.stringify(Object.fromEntries(a)))}l.forEach(([a,c])=>{this.setAttribute(i,a,c)})}}})});this.select=e,this.getAttribute=t,this.setAttribute=r,this.getClass=n,this.setClass=i,this.getStyles=l,this.setStyles=a,this.appendHTML=c,this.getInnerHTML=h,this.setInnerHTML=u,this.getInnerText=g,this.setInnerText=T}}const St=()=>{document.querySelectorAll(`[${ne}]`).forEach(I)},bt=s=>{const e=s.getAttribute(N);s.removeAttribute(N),e!=null&&s.setAttribute("class",e)},At=()=>{document.querySelectorAll(`[${N}]`).forEach(e=>bt(e))},Pt=s=>{const e=s.getAttribute(W);s.removeAttribute(W),e!=null&&(s.innerHTML=e)},_t=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Pt(e))},vt=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},Ct=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>vt(e))},Ve=s=>JSON.parse(s.replace(/"/g,'"')),wt=s=>{const e=s.getAttribute(U);if(s.removeAttribute(U),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},Ot=()=>{document.querySelectorAll(`[${U}]`).forEach(e=>wt(e))},xt=s=>{const e=s.getAttribute(J);if(s.removeAttribute(J),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Lt=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>xt(e))},Dt=()=>{St(),At(),Ct(),_t(),Ot(),Lt()},S=Symbol("class"),_=Symbol("style"),L=Symbol("handler"),je=()=>Math.random().toString(36).substring(2,15),Mt=s=>s.replace(/<[^>]*>?/g,"");class qe{constructor(e){o(this,"id",je());o(this,"properties",{});o(this,"children",[]);o(this,"isElement",()=>!0);o(this,"isText",()=>!1);o(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?Mt(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));o(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});o(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});o(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});o(this,"elements",()=>this.children.filter(e=>e.isElement()));o(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);o(this,"getInnerHTML",()=>this.properties.innerHTML??"");o(this,"getInnerText",()=>this.properties.innerText??"");o(this,"hasInnerText",()=>this.properties.innerText!=null);o(this,"hasChildren",()=>this.children.length>0);o(this,"hasClasses",()=>this.properties[S]!=null);o(this,"hasStyles",()=>this.properties[_]!=null);o(this,"hasAttributes",()=>Object.keys(this.properties).length>0);o(this,"hasHandlers",()=>this.properties[L]!=null);o(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());o(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const r=t.getById(e);if(r!=null)return r}});o(this,"trigger",(e,t)=>{((this.properties[L]??{})[e]??[]).forEach(n=>n(t))});o(this,"click",()=>{this.trigger("click",{})});o(this,"on",(e,t,r)=>{var a;const n=(a=this.properties)[L]??(a[L]={}),i=r!=null&&r.once?c=>{l(),t(c)}:c=>t(c);n[e]=[...n[e]??[],i];const l=()=>{const c=n[e]??[],h=c.indexOf(i);h!==-1&&(c.splice(h,1),c.length===0?(delete n[e],Object.keys(n).length===0&&delete this.properties[L]):n[e]=c,(r==null?void 0:r.signal)!=null&&r.signal.removeEventListener("abort",l))};return(r==null?void 0:r.signal)!=null&&r.signal.addEventListener("abort",l),l});o(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)})});o(this,"removeClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);e.forEach(n=>{const i=t.indexOf(n);i!==-1&&t.splice(i,1)}),t.length===0&&delete this.properties[S]});o(this,"getClasses",()=>this.properties[S]??[]);o(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));o(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===S?[["class",this.getClasses()]]:e===_?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[_]??(n[_]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[_])});o(this,"getStyle",e=>{var t;return((t=this.properties[_])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[_]??{});o(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const kt=s=>s.replace(/"/g,"""),Ht=s=>s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");class Be extends qe{constructor(t,r,n){super(n);o(this,"isPortal",()=>!1);o(this,"toHTML",(t=!1)=>{const r=this.children.map(c=>c.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let i=null;const l=this.getVisibleAttributes().map(([c,h])=>c==="class"?` class="${h.join(" ")}"`:c==="style"?typeof h=="string"?` style="${h}"`:` style="${Object.entries(h).map(([u,g])=>`${u}: ${g};`).join(" ")}"`:It.has(c)?` ${c}`:c==="innerHTML"?(i=h,""):c==="innerText"?(i=Ht(h),""):` ${c}="${kt(h)}"`).join(""),a=t?` ${ne}`:"";return Nt.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${a} />`:`<${this.tagName}${n}${l}${a}>${i??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class ie extends qe{constructor(t,r){super(r);o(this,"isPortal",()=>!0);o(this,"toHTML",()=>"");o(this,"contentToHTML",(t=!1)=>this.children.map(r=>r.toHTML(t)).join(""));this.selector=t}}class Fe{constructor(e){o(this,"id",je());o(this,"isElement",()=>!1);o(this,"isText",()=>!0);o(this,"getText",()=>this.text);o(this,"toHTML",()=>this.text);this.text=e}}class O{constructor(e,t,r,n){o(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});o(this,"makeChildElement",(e,t)=>{const r=new Be(e,t,this.element);return this.appendOrInsert(r),new O(r,void 0,this.container,this.providers)});o(this,"makeChildText",e=>{const t=new Fe(e);return this.appendOrInsert(t),new O(this.element,t,this.container,this.providers)});o(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});o(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});o(this,"makeRef",()=>this.makeChildText(""));o(this,"makePortal",e=>{const t=new ie(e,this.element);return this.appendOrInsert(t),new O(t,void 0,this.container,this.providers)});o(this,"withProviders",e=>new O(this.element,this.reference,this.container,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});o(this,"on",(e,t)=>this.element.on(e,t));o(this,"addClasses",e=>this.element.addClasses(e));o(this,"removeClasses",e=>this.element.removeClasses(e));o(this,"getClasses",()=>this.element.getClasses());o(this,"isBrowserDOM",()=>!1);o(this,"isHeadlessDOM",()=>!0);o(this,"setStyle",(e,t)=>this.element.setStyle(e,t));o(this,"getStyle",e=>this.element.getStyle(e));o(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=r,this.providers=n}}const It=new Set(["checked","disabled","multiple","readonly","required","selected"]),Nt=new Set(["img","br","hr","input","link","meta"]),oe=s=>e=>{const t=e.makeChildText(s);return r=>t.clear(r)},le=s=>e=>{const t=e.makeChildText(s.value),r=s.on(n=>t.setText(n));return n=>{r(),t.clear(n)}},$t=s=>f.is(s)?le(s):oe(s),E=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},b=()=>()=>{},Rt=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),Vt=s=>e=>{let t=[];const r=s.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(i=>i.length>0),e.addClasses(t)});return n=>{r(),n&&e.removeClasses(t),t.length=0}},R=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r();return n(e),l=>{l&&n(i)}},V=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r(),l=e.on(n);return a=>{l(),a&&n(i)}},x=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?Vt(t):Rt((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?V(e,t):R(e,t)}),jt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`data-${e}`,t):R(`data-${e}`,t)}),qt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`aria-${e}`,t):R(`aria-${e}`,t)}),Bt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),Ft=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),d=s=>{if(s==null)return b;if(Array.isArray(s))return E(...s.map(d));if(typeof s=="string")return oe(s);if(f.is(s))return le(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ae=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(i=>d(i)(r));return i=>{n.forEach(l=>l(!1)),r.clear(i)}},ce=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),i=t.map(l=>d(l)(n));return l=>{i.forEach(a=>a(!1)),n.clear(l)}},Ut=new Proxy({},{get:(s,e)=>(...t)=>ae(e,t.flatMap(d))}),Wt=new Proxy({},{get:(s,e)=>(...t)=>ae("input",x.type(e),...t)}),Gt="http://www.w3.org/2000/svg",Jt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Gt,t.flatMap(d))}),Xt="http://www.w3.org/1998/Math/MathML",Yt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Xt,t.flatMap(d))}),ue=(s,e)=>{if(typeof e=="function")return ue(s,{then:e});const t=e.pending!=null?d(e.pending()):b,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>b;return i=>{let l=!0;const a=s(),c=i.makeRef();let h=d(t)(c);return a.then(u=>{l&&(h(!0),h=d(r(u))(c))},u=>{l&&(h(!0),h=d(n(u))(c))}),u=>{l=!1,h(u),c.clear(u)}}},zt=(s,e)=>ue(()=>s,e),Ue=(s,e,t)=>r=>r.on(s,e,t),We=s=>Ue("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)}),j=new Proxy({},{get:(s,e)=>t=>Ue(e,t)}),Ge=s=>e=>{const t=e.target;s(t.value)},Je=s=>e=>{const t=e.target;s(t.valueAsNumber)},Xe=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)},Ye=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("T"),n=r[0].split("-"),i=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=r[1].split(":");i.setHours(Number(l[0])),i.setMinutes(Number(l[1])),i.setSeconds(Number(l[2])),s(i)},Qt=s=>e=>{const t=e.target;s(t.checked)},Zt=s=>e=>{e.preventDefault(),s()},Kt=s=>e=>{e.stopPropagation(),s()},es=s=>e=>{e.stopImmediatePropagation(),s()},ts=(s,e="input")=>E(x.valueAsDate(s),j[e](Xe(s.set))),ss=(s,e="input")=>E(x.valueAsDate(s),j[e](Ye(s.set))),rs=(s,e="input")=>E(x.valueAsNumber(s),j[e](Je(s.set))),ns=(s,e="input")=>E(x.value(s),j[e](Ge(s.set))),is=s=>E(x.checked(s),We(s.set)),q=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let i,l;const a=s.map(u=>Object.keys(u)[0]);let c;const h=a.on(u=>{if(u!==c){l==null||l.dispose(),i==null||i(!0),l=s.map(T=>T[u]);const g=e[u](l);i=d(g)(n),c=u}});return u=>{l==null||l.dispose(),h(),n.clear(u),i==null||i(u)}};const t=Object.keys(s)[0];return d(e[t]($(s[t])))},he=(s,e,t)=>q(y.map(s,r=>({[r[e]]:r})),t),os=(s,e)=>he(s,"kind",e),ls=(s,e)=>{const t=y.map(s,([r,n])=>({[r]:n}));return q(t,e)},as=(s,e)=>he(s,"type",e),ze=(s,e)=>q(y.map(s,t=>({[t]:!0})),e),cs=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return ze(t.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:r,last:n,other:s})},Qe=(s,e)=>t=>{const r=Object.values(s).reduce((n,i)=>{const l=t.getProvider(i);return Reflect.set(n,i,l),n},{});return d(e(r))(t)},us=(s,e)=>t=>{const r=[],n=Object.entries(s).reduce((i,[l,a])=>(r.push(a(c=>(Reflect.set(i,l,c),null))(t)),i),{});return r.push(d(e(n))(t)),i=>{r.forEach(l=>l(i))}},Ze=(s,e)=>Qe([s],t=>d(e(t[s]))),hs=(s,e)=>Qe(s,t=>d(e(t))),ds=s=>e=>{const t=s(e);return t==null?()=>{}:d(t)(e)},fs=s=>e=>(e.appendOrInsert(s),t=>{t&&I(s)}),Ke=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const i=n.makeRef();let l=()=>{},a=!1,c=null;const h=r.on(u=>{u==null?(l(!0),l=d((t==null?void 0:t())??b)(i),a=!1,c==null||c.dispose(),c=null):(c==null?c=P(u):c.value=u,a||(l(!0),l=d(e(c))(i),a=!0))});return u=>{c==null||c.dispose(),h(),l==null||l(u),i.clear(u)}}}else{const r=s;if(r==null){const n=t==null?void 0:t();return n!=null?d(n):b}return d(e($(r)))}},ps=(...s)=>(e,t)=>r=>{const n=r.makeRef();if(s.some(p=>!f.is(p)&&p==null))return(t!=null?d(t==null?void 0:t()):b)(n);const l=s.map(()=>null),a=s.map(p=>f.is(p)?p.value!=null:p!=null);let c=null;const h=P(a.every(p=>p)),u=(p,m)=>{if(p.value!=null){if(l[m]==null){const v=P(p.value);l[m]=v}else l[m].value=p.value;a[m]=!0}else a[m]=!1};let g=s.length-1;const T=s.map((p,m)=>{if(!f.is(p)){const v=P(p);return l[m]=v,()=>{}}return p.on(()=>{u(p,m),g===0?h.value=a.every(v=>v):g--})});return h.on(p=>{c==null||c(!0),c=null,p?c=d(e(...l))(n):c=d((t==null?void 0:t())??b)(n)}),p=>{l.forEach(m=>m==null?void 0:m.dispose()),h.dispose(),T.forEach(m=>m()),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),ms=(s,e,t)=>de(y.map(s,r=>!r),e,t),fe=(s,e,t)=>t!=null?fe(s,r=>{const n=new F(r.index,r.total.map(i=>i-1));return E(Q(n.dispose),d(e(r)),de(r.isLast,()=>b,()=>t(n)))}):f.is(s)?r=>{const n=r.makeRef(),i=[],l=s.on(a=>{const c=i.splice(a);for(const h of c)h(!0);for(let h=i.length;h<a;h++){const u=new F(h,s);i.push(d(e(u))(n))}});return a=>{l();for(const c of i)c(a);i.length=0,n.clear(a)}}:E(...Array.from({length:s},(r,n)=>n).map(r=>d(e(new F(r,$(s)))))),gs=(s,e,t)=>{const r=y.map(s,i=>i.length),n=y.toSignal(s);return fe(r,i=>{const l=n.map(a=>a[i.index]);return E(Q(l.dispose),d(e(l,i)))},t)},et=s=>e=>{if(e.isBrowserDOM()){const t=s(e);if(t!=null)return d(t)(e)}return()=>{}},ys=s=>e=>{if(e.isHeadlessDOM()){const t=s(e);if(t)return d(t)(e)}return()=>{}},Ts=s=>et(e=>s(e.element)),Es=(s,e)=>{if(f.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(a=>d(e(a)));let i=()=>{};const l=n.on(a=>{i(!0),i=a(r)});return a=>{l(),i(a)}}}return d(e(s))},Ss=(s,e,t=()=>b)=>q(y.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),bs=(s,e)=>t=>{const r=t.makePortal(s);return z(d(e),r)},tt=s=>Symbol(s),st=(s,e)=>t=>d(e)(t.withProviders(s)),As=(...s)=>s.length>0?s.reduceRight((e,t)=>r=>e(t(r))):d,rt=(s,e,t)=>st({[s]:e},d(t)),Ps=(s,e)=>st(s,d(e)),pe=tt("Probe"),D=new Map,nt=({identifier:s,callback:e=()=>{},child:t,timeout:r=10})=>{if(D.has(s))throw new Error(`Probe already exists: ${s.description}`);const n=setTimeout(()=>e("timeout"),r);D.set(s,{counter:0,timeoutId:n});const i=l=>{clearTimeout(n);const a=D.get(l);if(a==null)throw new Error(`Probe not found: ${l.description}`);--a.counter===0?(e("resolved"),D.delete(l)):D.set(l,a)};return E(Q(()=>clearTimeout(n)),rt(pe,i,t))},it=(s,e)=>Ze(pe,t=>{const r=D.get(s);return r==null?e(()=>{}):(clearTimeout(r.timeoutId),r.counter++,e(()=>t(s)))}),ot=Symbol("globalProbe"),_s=({callback:s,timeout:e},t)=>nt({identifier:ot,callback:s,child:t,timeout:e}),vs=s=>it(ot,s),Cs=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},ws=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},Os=new Proxy({},{get:(s,e)=>t=>f.is(t)?ws(e,t):Cs(e,t)});exports.Async=zt;exports.BindChecked=is;exports.BindDate=ts;exports.BindDateTime=ss;exports.BindNumber=rs;exports.BindText=ns;exports.BrowserContext=w;exports.CLASS_PLACEHOLDER_ATTR=N;exports.Computed=C;exports.Conjunction=cs;exports.DOMNode=fs;exports.El=ae;exports.ElNS=ce;exports.ElementPosition=F;exports.Empty=b;exports.Ensure=Ke;exports.EnsureAll=ps;exports.ForEach=gs;exports.Fragment=E;exports.HeadlessAdapter=Et;exports.HeadlessContext=O;exports.HeadlessElement=Be;exports.HeadlessPortal=ie;exports.HeadlessText=Fe;exports.MapSignal=Es;exports.MemoryStore=ee;exports.NotEmpty=Ss;exports.OnBrowserCtx=et;exports.OnChecked=We;exports.OnCtx=ds;exports.OnDispose=Q;exports.OnElement=Ts;exports.OnHeadlessCtx=ys;exports.OneOf=q;exports.OneOfField=he;exports.OneOfKind=os;exports.OneOfTuple=ls;exports.OneOfType=as;exports.OneOfValue=ze;exports.Portal=bs;exports.Prop=H;exports.Provide=As;exports.ProvideGlobalProbe=_s;exports.ProvideProbe=nt;exports.ProviderNotFoundError=re;exports.RenderingError=Re;exports.Repeat=fe;exports.Signal=f;exports.Task=ue;exports.TextNode=$t;exports.Unless=ms;exports.Use=us;exports.UseGlobalProbe=vs;exports.UseProbe=it;exports.UseProvider=Ze;exports.UseProviders=hs;exports.Value=y;exports.When=de;exports.WithProvider=rt;exports.WithProviders=Ps;exports._NODE_PLACEHOLDER_ATTR=ne;exports._getSelfOrParentElement=$e;exports._isElement=se;exports._makeGetter=Ne;exports._makeSetter=Ie;exports._removeDOMNode=I;exports._signalText=le;exports._staticText=oe;exports.animateSignal=mt;exports.animateSignals=xe;exports.aria=qt;exports.attr=x;exports.dataAttr=jt;exports.emitChecked=Qt;exports.emitPreventDefault=Zt;exports.emitStopImmediatePropagation=es;exports.emitStopPropagation=Kt;exports.emitValue=Ge;exports.emitValueAsDate=Xe;exports.emitValueAsDateTime=Ye;exports.emitValueAsNumber=Je;exports.endInterpolate=Ce;exports.getWindow=K;exports.guessInterpolate=we;exports.html=Ut;exports.input=Wt;exports.interpolateDate=ve;exports.interpolateNumber=Pe;exports.interpolateString=_e;exports.localStorageProp=ft;exports.makeComputed=Y;exports.makeComputedOf=ht;exports.makeComputedRecord=gt;exports.makeEffect=Oe;exports.makeEffectOf=dt;exports.makeProp=P;exports.makeProviderMark=tt;exports.makeSignal=$;exports.math=Yt;exports.mathAttr=Ft;exports.on=j;exports.probeMarker=pe;exports.render=yt;exports.renderWithContext=z;exports.renderableOfTNode=d;exports.restoreTempoPlaceholders=Dt;exports.runHeadless=Tt;exports.sessionStorageProp=pt;exports.storedProp=te;exports.style=Os;exports.svg=Jt;exports.svgAttr=Bt;
|
package/index.js
CHANGED
|
@@ -953,7 +953,6 @@ const Q = (s, e) => {
|
|
|
953
953
|
const t = s(e);
|
|
954
954
|
return (r = !0) => t(r);
|
|
955
955
|
}, Vt = (s, e, { doc: t, clear: r, disposeWithParent: n = !0 } = {}) => {
|
|
956
|
-
console.time("render");
|
|
957
956
|
const i = typeof e == "string" ? (t ?? document).querySelector(e) : e;
|
|
958
957
|
if (i === null)
|
|
959
958
|
throw new Xe(
|
|
@@ -971,7 +970,7 @@ const Q = (s, e) => {
|
|
|
971
970
|
childList: !0,
|
|
972
971
|
subtree: !1,
|
|
973
972
|
attributes: !1
|
|
974
|
-
})),
|
|
973
|
+
})), () => {
|
|
975
974
|
u == null || u.disconnect(), h(!0);
|
|
976
975
|
};
|
|
977
976
|
}, jt = (s, {
|
|
@@ -1722,7 +1721,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1722
1721
|
), i),
|
|
1723
1722
|
{}
|
|
1724
1723
|
);
|
|
1725
|
-
return r.push(e(n)(t)), (i) => {
|
|
1724
|
+
return r.push(f(e(n))(t)), (i) => {
|
|
1726
1725
|
r.forEach((l) => l(i));
|
|
1727
1726
|
};
|
|
1728
1727
|
}, _t = (s, e) => Le([s], (t) => f(e(t[s]))), ds = (s, e) => Le(s, (t) => f(e(t))), ps = (s) => (e) => {
|
package/package.json
CHANGED
|
@@ -42,7 +42,7 @@ export type UseMany<C extends Record<string, Consumer<unknown>>> = {
|
|
|
42
42
|
* @returns A renderable function that can be called with a DOMContext and returns a cleanup function.
|
|
43
43
|
* @public
|
|
44
44
|
*/
|
|
45
|
-
export declare const Use: <C extends Record<string, Consumer<unknown>>>(providers: C, fn: (data: UseMany<C>) =>
|
|
45
|
+
export declare const Use: <C extends Record<string, Consumer<unknown>>>(providers: C, fn: (data: UseMany<C>) => TNode) => Renderable;
|
|
46
46
|
/**
|
|
47
47
|
* Creates a renderable function that consumes a provider value and renders a `TNode`.
|
|
48
48
|
*
|