@tempots/dom 25.0.0 → 25.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +1 -1
- package/index.js +159 -146
- package/package.json +1 -1
- package/renderable/render.d.ts +7 -3
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)),Se=(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),Ae=(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,ve=(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},_e=(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"?ve:s instanceof Date?_e:Ce;var M;class F{constructor(e,t){o(this,"counter");o(this,"isFirst");o(this,"isEven");o(this,"isOdd");Se(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&&Ae(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 u=++l;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});u===l&&i.set(h)}catch(h){if(u===l)if(r!=null)i.set(r(h));else throw h}})),i});o(this,"mapMaybe",(e,t)=>this.map(r=>e(r)??t));o(this,"feedProp",(e,t=!1)=>{const r=this.on(e.set);return e.onDispose(r),t?this.onDispose(e.dispose):this.onDispose(r),e});o(this,"deriveProp",({autoDisposeProp:e=!0,equals:t}={})=>this.feedProp(P(this.get(),t),e));o(this,"derive",()=>this.map(e=>e));o(this,"count",()=>{let e=0;return this.map(()=>++e)});o(this,"setDerivative",e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty)),this.onDispose(e.dispose)});this.equals=t,this._value=e}get value(){return this._value}get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,t)=>this.at(t)})}};o(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),N=(s,e=(t,r)=>t===r)=>new f(s,e),K=()=>typeof window<"u"?window:void 0,g={map:(s,e)=>f.is(s)?s.map(e):e(s),toSignal:(s,e)=>f.is(s)?s:N(s,e),maybeToSignal:(s,e)=>{if(s!=null)return g.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=>g.get(n))),r,t)},dt=(...s)=>(e,t={})=>{const r=s.filter(n=>f.is(n));return Oe(()=>e(...s.map(g.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(u=>{t.setItem(s,r(u))}),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 Ee(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)??(E=>E),l=(r==null?void 0:r.equals)??((E,B)=>E===B);let a=r==null?void 0:r.interpolate,c=s,u=e(),h=performance.now(),y=null,b=!0;const p=new C(e,l),m=P(s,l);m.onDispose(()=>{y!==null&&cancelAnimationFrame(y)}),m.onDispose(p.dispose),t.forEach(E=>{E.setDerivative(p),E.onDispose(m.dispose)});const _=E=>{u=E,h=performance.now(),c=m.value,b&&(b=!1,y=Ee(me))},me=()=>{const B=(performance.now()-h)/g.get(n),lt=i(B);a==null&&(a=we(c));let ge=a(c,u,lt);B>=1?(b=!0,ge=u):y=Ee(me),m.set(ge)};return p.on(_),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)},$e=(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)},Ne=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:$e(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()=>t(!0)},yt=(s,e,{doc:t,clear:r}={})=>{const n=typeof e=="string"?(t??document).querySelector(e):e;if(n===null)throw new Re(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??n.ownerDocument)!=null&&n.nodeType===1&&(n.innerHTML="");const i=Ne(n),l=se(n)?void 0:n,a=w.of(i,l);return z(s,a)},Tt=(s,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const r=g.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",$="data-tts-class",U="data-tts-style",W="data-tts-html",G="data-tts-text",J="data-tts-attrs";class St{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:a,appendHTML:c,getInnerHTML:u,setInnerHTML:h,getInnerText:y,setInnerText:b}){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,$,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 u=this.getAttribute(i,c);u!=null&&a.push([c,u])}),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=u,this.setInnerHTML=h,this.getInnerText=y,this.setInnerText=b}}const At=()=>{document.querySelectorAll(`[${ne}]`).forEach(I)},bt=s=>{const e=s.getAttribute($);s.removeAttribute($),e!=null&&s.setAttribute("class",e)},Et=()=>{document.querySelectorAll(`[${$}]`).forEach(e=>bt(e))},Pt=s=>{const e=s.getAttribute(W);s.removeAttribute(W),e!=null&&(s.innerHTML=e)},vt=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Pt(e))},_t=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},Ct=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>_t(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=()=>{At(),Et(),Ct(),vt(),Ot(),Lt()},S=Symbol("class"),v=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[v]!=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]??[],u=c.indexOf(i);u!==-1&&(c.splice(u,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===v?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[v]??(n[v]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[v])});o(this,"getStyle",e=>{var t;return((t=this.properties[v])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[v]??{});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,u])=>c==="class"?` class="${u.join(" ")}"`:c==="style"?typeof u=="string"?` style="${u}"`:` style="${Object.entries(u).map(([h,y])=>`${h}: ${y};`).join(" ")}"`:It.has(c)?` ${c}`:c==="innerHTML"?(i=u,""):c==="innerText"?(i=Ht(u),""):` ${c}="${kt(u)}"`).join(""),a=t?` ${ne}`:"";return $t.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"]),$t=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)}},Nt=s=>f.is(s)?le(s):oe(s),T=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},A=()=>()=>{},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 A;if(Array.isArray(s))return T(...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()):A,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>A;return i=>{let l=!0;const a=s(),c=i.makeRef();let u=d(t)(c);return a.then(h=>{l&&(u(!0),u=d(r(h))(c))},h=>{l&&(u(!0),u=d(n(h))(c))}),h=>{l=!1,u(h),c.clear(h)}}},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")=>T(x.valueAsDate(s),j[e](Xe(s.set))),ss=(s,e="input")=>T(x.valueAsDate(s),j[e](Ye(s.set))),rs=(s,e="input")=>T(x.valueAsNumber(s),j[e](Je(s.set))),ns=(s,e="input")=>T(x.value(s),j[e](Ge(s.set))),is=s=>T(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(h=>Object.keys(h)[0]);let c;const u=a.on(h=>{if(h!==c){l==null||l.dispose(),i==null||i(!0),l=s.map(b=>b[h]);const y=e[h](l);i=d(y)(n),c=h}});return h=>{l==null||l.dispose(),u(),n.clear(h),i==null||i(h)}};const t=Object.keys(s)[0];return d(e[t](N(s[t])))},he=(s,e,t)=>q(g.map(s,r=>({[r[e]]:r})),t),os=(s,e)=>he(s,"kind",e),ls=(s,e)=>{const t=g.map(s,([r,n])=>({[r]:n}));return q(t,e)},as=(s,e)=>he(s,"type",e),ze=(s,e)=>q(g.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 u=r.on(h=>{h==null?(l(!0),l=d((t==null?void 0:t())??A)(i),a=!1,c==null||c.dispose(),c=null):(c==null?c=P(h):c.value=h,a||(l(!0),l=d(e(c))(i),a=!0))});return h=>{c==null||c.dispose(),u(),l==null||l(h),i.clear(h)}}}else{const r=s;if(r==null){const n=t==null?void 0:t();return n!=null?d(n):A}return d(e(N(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()):A)(n);const l=s.map(()=>null),a=s.map(p=>f.is(p)?p.value!=null:p!=null);let c=null;const u=P(a.every(p=>p)),h=(p,m)=>{if(p.value!=null){if(l[m]==null){const _=P(p.value);l[m]=_}else l[m].value=p.value;a[m]=!0}else a[m]=!1};let y=s.length-1;const b=s.map((p,m)=>{if(!f.is(p)){const _=P(p);return l[m]=_,()=>{}}return p.on(()=>{h(p,m),y===0?u.value=a.every(_=>_):y--})});return u.on(p=>{c==null||c(!0),c=null,p?c=d(e(...l))(n):c=d((t==null?void 0:t())??A)(n)}),p=>{l.forEach(m=>m==null?void 0:m.dispose()),u.dispose(),b.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(g.map(s,r=>r?!0:null),e,t??void 0),ms=(s,e,t)=>de(g.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 T(Q(n.dispose),d(e(r)),de(r.isLast,()=>A,()=>t(n)))}):f.is(s)?r=>{const n=r.makeRef(),i=[],l=s.on(a=>{const c=i.splice(a);for(const u of c)u(!0);for(let u=i.length;u<a;u++){const h=new F(u,s);i.push(d(e(h))(n))}});return a=>{l();for(const c of i)c(a);i.length=0,n.clear(a)}}:T(...Array.from({length:s},(r,n)=>n).map(r=>d(e(new F(r,N(s)))))),gs=(s,e,t)=>{const r=g.map(s,i=>i.length),n=g.toSignal(s);return fe(r,i=>{const l=n.map(a=>a[i.index]);return T(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)),Ss=(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))},As=(s,e,t=()=>A)=>q(g.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)),Es=(...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 T(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"),vs=({callback:s,timeout:e},t)=>nt({identifier:ot,callback:s,child:t,timeout:e}),_s=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=$;exports.Computed=C;exports.Conjunction=cs;exports.DOMNode=fs;exports.El=ae;exports.ElNS=ce;exports.ElementPosition=F;exports.Empty=A;exports.Ensure=Ke;exports.EnsureAll=ps;exports.ForEach=gs;exports.Fragment=T;exports.HeadlessAdapter=St;exports.HeadlessContext=O;exports.HeadlessElement=Be;exports.HeadlessPortal=ie;exports.HeadlessText=Fe;exports.MapSignal=Ss;exports.MemoryStore=ee;exports.NotEmpty=As;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=Es;exports.ProvideGlobalProbe=vs;exports.ProvideProbe=nt;exports.ProviderNotFoundError=re;exports.RenderingError=Re;exports.Repeat=fe;exports.Signal=f;exports.Task=ue;exports.TextNode=Nt;exports.Unless=ms;exports.Use=us;exports.UseGlobalProbe=_s;exports.UseProbe=it;exports.UseProvider=Ze;exports.UseProviders=hs;exports.Value=g;exports.When=de;exports.WithProvider=rt;exports.WithProviders=Ps;exports._NODE_PLACEHOLDER_ATTR=ne;exports._getSelfOrParentElement=Ne;exports._isElement=se;exports._makeGetter=$e;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=_e;exports.interpolateNumber=Pe;exports.interpolateString=ve;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=N;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}={})=>{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;
|
package/index.js
CHANGED
|
@@ -5,8 +5,8 @@ var te = (s) => {
|
|
|
5
5
|
var Ie = (s, e, t) => e in s ? ke(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
|
|
6
6
|
var o = (s, e, t) => Ie(s, typeof e != "symbol" ? e + "" : e, t), se = (s, e, t) => e.has(s) || te("Cannot " + t);
|
|
7
7
|
var X = (s, e, t) => (se(s, e, "read from private field"), t ? t.call(s) : e.get(s)), re = (s, e, t) => e.has(s) ? te("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), ne = (s, e, t, r) => (se(s, e, "write to private field"), r ? r.call(s, t) : e.set(s, t), t);
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const Ne = (s, e, t) => s + (e - s) * t;
|
|
9
|
+
const Re = (s, e, t) => {
|
|
10
10
|
const r = Math.max(s.length, e.length);
|
|
11
11
|
let n = "";
|
|
12
12
|
for (let i = 0; i < r; i++) {
|
|
@@ -16,7 +16,7 @@ const Ne = (s, e, t) => {
|
|
|
16
16
|
isNaN(c) && (c = 97), n += String.fromCharCode(l + (c - l) * t);
|
|
17
17
|
}
|
|
18
18
|
return n;
|
|
19
|
-
}, Ve = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), je = (s, e) => e, qe = (s) => typeof s == "number" ?
|
|
19
|
+
}, Ve = (s, e, t) => new Date(s.getTime() + (e.getTime() - s.getTime()) * t), je = (s, e) => e, qe = (s) => typeof s == "number" ? Ne : typeof s == "string" ? Re : s instanceof Date ? Ve : je;
|
|
20
20
|
var D;
|
|
21
21
|
class Y {
|
|
22
22
|
/**
|
|
@@ -255,21 +255,21 @@ const H = class H {
|
|
|
255
255
|
* @returns A property that holds the mapped value and can be observed for changes.
|
|
256
256
|
*/
|
|
257
257
|
o(this, "mapAsync", (e, t, r, n = (i, l) => i === l) => {
|
|
258
|
-
const i =
|
|
258
|
+
const i = v(t, n);
|
|
259
259
|
let l = 0, c = new AbortController();
|
|
260
260
|
return i.onDispose(
|
|
261
261
|
this.on(async (a) => {
|
|
262
|
-
const
|
|
262
|
+
const h = ++l;
|
|
263
263
|
c.abort(), c = new AbortController();
|
|
264
264
|
try {
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
} catch (
|
|
268
|
-
if (
|
|
265
|
+
const u = await e(a, { abortSignal: c.signal });
|
|
266
|
+
h === l && i.set(u);
|
|
267
|
+
} catch (u) {
|
|
268
|
+
if (h === l)
|
|
269
269
|
if (r != null)
|
|
270
|
-
i.set(r(
|
|
270
|
+
i.set(r(u));
|
|
271
271
|
else
|
|
272
|
-
throw
|
|
272
|
+
throw u;
|
|
273
273
|
}
|
|
274
274
|
})
|
|
275
275
|
), i;
|
|
@@ -305,7 +305,7 @@ const H = class H {
|
|
|
305
305
|
o(this, "deriveProp", ({
|
|
306
306
|
autoDisposeProp: e = !0,
|
|
307
307
|
equals: t
|
|
308
|
-
} = {}) => this.feedProp(
|
|
308
|
+
} = {}) => this.feedProp(v(this.get(), t), e));
|
|
309
309
|
/**
|
|
310
310
|
* Derives a new signal from the current signal. Useful to create a new signal that emits the same values as the current signal but can be disposed independently.
|
|
311
311
|
* @returns A new signal that emits the same values as the current signal.
|
|
@@ -526,7 +526,7 @@ o(U, "is", (t) => (
|
|
|
526
526
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
527
527
|
t != null && t.$__prop__ === !0
|
|
528
528
|
));
|
|
529
|
-
let
|
|
529
|
+
let N = U;
|
|
530
530
|
const z = (s, e, t = (r, n) => r === n) => {
|
|
531
531
|
const r = new L(s, t);
|
|
532
532
|
return e.forEach((n) => n.setDerivative(r)), r;
|
|
@@ -545,7 +545,7 @@ const z = (s, e, t = (r, n) => r === n) => {
|
|
|
545
545
|
n.dispose(), t.abortSignal != null && t.abortSignal.removeEventListener("abort", i);
|
|
546
546
|
};
|
|
547
547
|
return t.abortSignal != null && t.abortSignal.addEventListener("abort", i), i;
|
|
548
|
-
},
|
|
548
|
+
}, v = (s, e = (t, r) => t === r) => new N(s, e), W = (s, e = (t, r) => t === r) => new d(s, e), oe = () => typeof window < "u" ? window : void 0, y = {
|
|
549
549
|
/**
|
|
550
550
|
* Maps a value or a Signal to a new value.
|
|
551
551
|
* If the value is a Signal, it returns a new Signal with the mapped value.
|
|
@@ -615,7 +615,7 @@ const z = (s, e, t = (r, n) => r === n) => {
|
|
|
615
615
|
deriveProp: (s, {
|
|
616
616
|
autoDisposeProp: e = !0,
|
|
617
617
|
equals: t
|
|
618
|
-
} = {}) => d.is(s) ? s.deriveProp({ autoDisposeProp: e, equals: t }) :
|
|
618
|
+
} = {}) => d.is(s) ? s.deriveProp({ autoDisposeProp: e, equals: t }) : v(s, t)
|
|
619
619
|
}, Ht = (...s) => (e, t) => {
|
|
620
620
|
const r = s.filter((n) => d.is(n));
|
|
621
621
|
return z(
|
|
@@ -659,12 +659,12 @@ const ce = ({
|
|
|
659
659
|
equals: i = (c, a) => c === a,
|
|
660
660
|
onLoad: l = (c) => c
|
|
661
661
|
}) => {
|
|
662
|
-
const c = t.getItem(s), a = new
|
|
662
|
+
const c = t.getItem(s), a = new N(
|
|
663
663
|
c != null ? l(n(c)) : typeof e == "function" ? e() : e,
|
|
664
664
|
i
|
|
665
665
|
);
|
|
666
|
-
return a.on((
|
|
667
|
-
t.setItem(s, r(
|
|
666
|
+
return a.on((h) => {
|
|
667
|
+
t.setItem(s, r(h));
|
|
668
668
|
}), a;
|
|
669
669
|
}, kt = (s) => {
|
|
670
670
|
var e;
|
|
@@ -684,23 +684,23 @@ function ie(s) {
|
|
|
684
684
|
}
|
|
685
685
|
const Ue = (s, e, t, r) => {
|
|
686
686
|
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, I) => A === I);
|
|
687
|
-
let c = r == null ? void 0 : r.interpolate, a = s,
|
|
688
|
-
const p = new L(e, l), g =
|
|
687
|
+
let c = r == null ? void 0 : r.interpolate, a = s, h = e(), u = performance.now(), m = null, T = !0;
|
|
688
|
+
const p = new L(e, l), g = v(s, l);
|
|
689
689
|
g.onDispose(() => {
|
|
690
690
|
m !== null && cancelAnimationFrame(m);
|
|
691
691
|
}), g.onDispose(p.dispose), t.forEach((A) => {
|
|
692
692
|
A.setDerivative(p), A.onDispose(g.dispose);
|
|
693
693
|
});
|
|
694
694
|
const w = (A) => {
|
|
695
|
-
|
|
695
|
+
h = A, u = performance.now(), a = g.value, T && (T = !1, m = ie(K));
|
|
696
696
|
}, K = () => {
|
|
697
|
-
const I = (performance.now() -
|
|
697
|
+
const I = (performance.now() - u) / y.get(n), $e = i(I);
|
|
698
698
|
c == null && (c = qe(a));
|
|
699
|
-
let ee = c(a,
|
|
700
|
-
I >= 1 ? (
|
|
699
|
+
let ee = c(a, h, $e);
|
|
700
|
+
I >= 1 ? (T = !0, ee = h) : m = ie(K), g.set(ee);
|
|
701
701
|
};
|
|
702
702
|
return p.on(w), g;
|
|
703
|
-
},
|
|
703
|
+
}, Nt = (s, e) => {
|
|
704
704
|
const { initialValue: t, ...r } = e ?? {};
|
|
705
705
|
return Ue(
|
|
706
706
|
t ?? s.get(),
|
|
@@ -708,7 +708,7 @@ const Ue = (s, e, t, r) => {
|
|
|
708
708
|
[s],
|
|
709
709
|
r
|
|
710
710
|
);
|
|
711
|
-
},
|
|
711
|
+
}, Rt = (s, e) => {
|
|
712
712
|
const { signals: t, literals: r } = Object.entries(s).reduce(
|
|
713
713
|
({ signals: i, literals: l }, [c, a]) => (d.is(a) ? i.push([c, a]) : l[c] = a, { signals: i, literals: l }),
|
|
714
714
|
{ signals: [], literals: {} }
|
|
@@ -739,7 +739,7 @@ const Ue = (s, e, t, r) => {
|
|
|
739
739
|
t == null ? e[s] = null : e[s] = String(t);
|
|
740
740
|
} : (t) => {
|
|
741
741
|
t == null ? e.removeAttribute(s) : e.setAttribute(s, t);
|
|
742
|
-
}, Je = (s, e) => ue.has(s) ? () => e.hasAttribute(s) : ae.has(s) ? () => !!e[s] : he.has(s) ? () => Number(e[s]) : fe.has(s) ? () => e[s] : de.has(s) ? () => String(e[s]) : () => e.getAttribute(s),
|
|
742
|
+
}, Je = (s, e) => ue.has(s) ? () => e.hasAttribute(s) : ae.has(s) ? () => !!e[s] : he.has(s) ? () => Number(e[s]) : fe.has(s) ? () => e[s] : de.has(s) ? () => String(e[s]) : () => e.getAttribute(s), R = (s) => {
|
|
743
743
|
const e = s;
|
|
744
744
|
e && e.onblur && (e.onblur = null), !(!s || s.ownerDocument === void 0) && s.parentElement && s.parentElement.removeChild(s);
|
|
745
745
|
}, Ge = (s) => pe(s) ? s : s.parentElement, pe = (s) => s.nodeType === 1;
|
|
@@ -873,7 +873,7 @@ class x {
|
|
|
873
873
|
return this.providers[e];
|
|
874
874
|
});
|
|
875
875
|
o(this, "clear", (e) => {
|
|
876
|
-
e && (this.reference !== void 0 ?
|
|
876
|
+
e && (this.reference !== void 0 ? R(this.reference) : R(this.element));
|
|
877
877
|
});
|
|
878
878
|
/**
|
|
879
879
|
* Adds classes to the element.
|
|
@@ -951,21 +951,34 @@ class x {
|
|
|
951
951
|
}
|
|
952
952
|
const Q = (s, e) => {
|
|
953
953
|
const t = s(e);
|
|
954
|
-
return () => t(
|
|
955
|
-
}, Vt = (s, e, { doc: t, clear: r } = {}) => {
|
|
956
|
-
|
|
957
|
-
|
|
954
|
+
return (r = !0) => t(r);
|
|
955
|
+
}, Vt = (s, e, { doc: t, clear: r, disposeWithParent: n = !0 } = {}) => {
|
|
956
|
+
console.time("render");
|
|
957
|
+
const i = typeof e == "string" ? (t ?? document).querySelector(e) : e;
|
|
958
|
+
if (i === null)
|
|
958
959
|
throw new Xe(
|
|
959
960
|
`Cannot find element by selector for render: ${e}`
|
|
960
961
|
);
|
|
961
|
-
r !== !1 && (t ??
|
|
962
|
-
const
|
|
963
|
-
|
|
962
|
+
r !== !1 && (t ?? i.ownerDocument) != null && i.nodeType === 1 && (i.innerHTML = "");
|
|
963
|
+
const l = Ge(i), c = pe(i) ? void 0 : i, a = x.of(l, c), h = Q(s, a);
|
|
964
|
+
let u;
|
|
965
|
+
return n && (u = new MutationObserver((m) => {
|
|
966
|
+
var T;
|
|
967
|
+
(T = m[0]) == null || T.removedNodes.forEach((p) => {
|
|
968
|
+
p === i && (h(i.nodeType !== Node.ELEMENT_NODE), u == null || u.disconnect());
|
|
969
|
+
});
|
|
970
|
+
}), u.observe(i.parentElement, {
|
|
971
|
+
childList: !0,
|
|
972
|
+
subtree: !1,
|
|
973
|
+
attributes: !1
|
|
974
|
+
})), console.timeEnd("render"), () => {
|
|
975
|
+
u == null || u.disconnect(), h(!0);
|
|
976
|
+
};
|
|
964
977
|
}, jt = (s, {
|
|
965
978
|
startUrl: e = "https://example.com",
|
|
966
979
|
selector: t = ":root"
|
|
967
980
|
} = {}) => {
|
|
968
|
-
const r = y.toSignal(e).deriveProp(), n = new
|
|
981
|
+
const r = y.toSignal(e).deriveProp(), n = new Se(t, void 0), i = new O(n, void 0, { currentURL: r }, {});
|
|
969
982
|
return {
|
|
970
983
|
clear: Q(s(), i),
|
|
971
984
|
root: n,
|
|
@@ -988,10 +1001,10 @@ class qt {
|
|
|
988
1001
|
getStyles: l,
|
|
989
1002
|
setStyles: c,
|
|
990
1003
|
appendHTML: a,
|
|
991
|
-
getInnerHTML:
|
|
992
|
-
setInnerHTML:
|
|
1004
|
+
getInnerHTML: h,
|
|
1005
|
+
setInnerHTML: u,
|
|
993
1006
|
getInnerText: m,
|
|
994
|
-
setInnerText:
|
|
1007
|
+
setInnerText: T
|
|
995
1008
|
}) {
|
|
996
1009
|
/**
|
|
997
1010
|
* Selects elements from the headless environment.
|
|
@@ -1118,8 +1131,8 @@ class qt {
|
|
|
1118
1131
|
if (t) {
|
|
1119
1132
|
const c = [];
|
|
1120
1133
|
l.forEach(([a]) => {
|
|
1121
|
-
const
|
|
1122
|
-
|
|
1134
|
+
const h = this.getAttribute(i, a);
|
|
1135
|
+
h != null && c.push([a, h]);
|
|
1123
1136
|
}), c.length > 0 && this.setAttribute(
|
|
1124
1137
|
i,
|
|
1125
1138
|
B,
|
|
@@ -1133,11 +1146,11 @@ class qt {
|
|
|
1133
1146
|
}
|
|
1134
1147
|
});
|
|
1135
1148
|
});
|
|
1136
|
-
this.select = e, this.getAttribute = t, this.setAttribute = r, this.getClass = n, this.setClass = i, this.getStyles = l, this.setStyles = c, this.appendHTML = a, this.getInnerHTML =
|
|
1149
|
+
this.select = e, this.getAttribute = t, this.setAttribute = r, this.getClass = n, this.setClass = i, this.getStyles = l, this.setStyles = c, this.appendHTML = a, this.getInnerHTML = h, this.setInnerHTML = u, this.getInnerText = m, this.setInnerText = T;
|
|
1137
1150
|
}
|
|
1138
1151
|
}
|
|
1139
1152
|
const Ye = () => {
|
|
1140
|
-
document.querySelectorAll(`[${me}]`).forEach(
|
|
1153
|
+
document.querySelectorAll(`[${me}]`).forEach(R);
|
|
1141
1154
|
}, ze = (s) => {
|
|
1142
1155
|
const e = s.getAttribute(V);
|
|
1143
1156
|
s.removeAttribute(V), e != null && s.setAttribute("class", e);
|
|
@@ -1175,8 +1188,8 @@ const Ye = () => {
|
|
|
1175
1188
|
document.querySelectorAll(`[${B}]`).forEach((e) => nt(e));
|
|
1176
1189
|
}, Ft = () => {
|
|
1177
1190
|
Ye(), Qe(), tt(), Ke(), rt(), it();
|
|
1178
|
-
},
|
|
1179
|
-
class
|
|
1191
|
+
}, b = Symbol("class"), _ = Symbol("style"), C = Symbol("handler"), Te = () => Math.random().toString(36).substring(2, 15), ot = (s) => s.replace(/<[^>]*>?/g, "");
|
|
1192
|
+
class be {
|
|
1180
1193
|
constructor(e) {
|
|
1181
1194
|
o(this, "id", Te());
|
|
1182
1195
|
o(this, "properties", {});
|
|
@@ -1204,8 +1217,8 @@ class Se {
|
|
|
1204
1217
|
o(this, "getInnerText", () => this.properties.innerText ?? "");
|
|
1205
1218
|
o(this, "hasInnerText", () => this.properties.innerText != null);
|
|
1206
1219
|
o(this, "hasChildren", () => this.children.length > 0);
|
|
1207
|
-
o(this, "hasClasses", () => this.properties[
|
|
1208
|
-
o(this, "hasStyles", () => this.properties[
|
|
1220
|
+
o(this, "hasClasses", () => this.properties[b] != null);
|
|
1221
|
+
o(this, "hasStyles", () => this.properties[_] != null);
|
|
1209
1222
|
o(this, "hasAttributes", () => Object.keys(this.properties).length > 0);
|
|
1210
1223
|
o(this, "hasHandlers", () => this.properties[C] != null);
|
|
1211
1224
|
o(this, "hasRenderableProperties", () => this.hasClasses() || this.hasAttributes() || this.hasStyles());
|
|
@@ -1231,8 +1244,8 @@ class Se {
|
|
|
1231
1244
|
} : (a) => t(a);
|
|
1232
1245
|
n[e] = [...n[e] ?? [], i];
|
|
1233
1246
|
const l = () => {
|
|
1234
|
-
const a = n[e] ?? [],
|
|
1235
|
-
|
|
1247
|
+
const a = n[e] ?? [], h = a.indexOf(i);
|
|
1248
|
+
h !== -1 && (a.splice(h, 1), a.length === 0 ? (delete n[e], Object.keys(n).length === 0 && delete this.properties[C]) : n[e] = a, (r == null ? void 0 : r.signal) != null && r.signal.removeEventListener("abort", l));
|
|
1236
1249
|
};
|
|
1237
1250
|
return (r == null ? void 0 : r.signal) != null && r.signal.addEventListener("abort", l), l;
|
|
1238
1251
|
});
|
|
@@ -1240,7 +1253,7 @@ class Se {
|
|
|
1240
1253
|
var r;
|
|
1241
1254
|
if (e.length === 0)
|
|
1242
1255
|
return;
|
|
1243
|
-
const t = (r = this.properties)[
|
|
1256
|
+
const t = (r = this.properties)[b] ?? (r[b] = []);
|
|
1244
1257
|
e.forEach((n) => {
|
|
1245
1258
|
t.includes(n) || t.push(n);
|
|
1246
1259
|
});
|
|
@@ -1249,29 +1262,29 @@ class Se {
|
|
|
1249
1262
|
var r;
|
|
1250
1263
|
if (e.length === 0)
|
|
1251
1264
|
return;
|
|
1252
|
-
const t = (r = this.properties)[
|
|
1265
|
+
const t = (r = this.properties)[b] ?? (r[b] = []);
|
|
1253
1266
|
e.forEach((n) => {
|
|
1254
1267
|
const i = t.indexOf(n);
|
|
1255
1268
|
i !== -1 && t.splice(i, 1);
|
|
1256
|
-
}), t.length === 0 && delete this.properties[
|
|
1269
|
+
}), t.length === 0 && delete this.properties[b];
|
|
1257
1270
|
});
|
|
1258
|
-
o(this, "getClasses", () => this.properties[
|
|
1271
|
+
o(this, "getClasses", () => this.properties[b] ?? []);
|
|
1259
1272
|
o(this, "getAttributes", () => Object.entries(this.properties).filter(
|
|
1260
1273
|
([e]) => !["innerText", "innerHTML"].includes(e)
|
|
1261
1274
|
));
|
|
1262
1275
|
o(this, "getVisibleAttributes", () => Reflect.ownKeys(this.properties).flatMap(
|
|
1263
|
-
(e) => e ===
|
|
1276
|
+
(e) => e === b ? [["class", this.getClasses()]] : e === _ ? [["style", this.getStyles()]] : typeof e == "string" ? [[e, String(this.properties[e])]] : []
|
|
1264
1277
|
));
|
|
1265
1278
|
o(this, "setStyle", (e, t) => {
|
|
1266
1279
|
var n;
|
|
1267
|
-
const r = (n = this.properties)[
|
|
1268
|
-
r[e] = t, t === "" && (delete r[e], Object.keys(r).length === 0 && delete this.properties[
|
|
1280
|
+
const r = (n = this.properties)[_] ?? (n[_] = {});
|
|
1281
|
+
r[e] = t, t === "" && (delete r[e], Object.keys(r).length === 0 && delete this.properties[_]);
|
|
1269
1282
|
});
|
|
1270
1283
|
o(this, "getStyle", (e) => {
|
|
1271
1284
|
var t;
|
|
1272
|
-
return ((t = this.properties[
|
|
1285
|
+
return ((t = this.properties[_]) == null ? void 0 : t[e]) ?? "";
|
|
1273
1286
|
});
|
|
1274
|
-
o(this, "getStyles", () => this.properties[
|
|
1287
|
+
o(this, "getStyles", () => this.properties[_] ?? {});
|
|
1275
1288
|
o(this, "makeAccessors", (e) => {
|
|
1276
1289
|
const t = this.properties;
|
|
1277
1290
|
return {
|
|
@@ -1283,20 +1296,20 @@ class Se {
|
|
|
1283
1296
|
}
|
|
1284
1297
|
}
|
|
1285
1298
|
const lt = (s) => s.replace(/"/g, """), ct = (s) => s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
1286
|
-
class at extends
|
|
1299
|
+
class at extends be {
|
|
1287
1300
|
constructor(t, r, n) {
|
|
1288
1301
|
super(n);
|
|
1289
1302
|
o(this, "isPortal", () => !1);
|
|
1290
1303
|
o(this, "toHTML", (t = !1) => {
|
|
1291
1304
|
const r = this.children.map((a) => a.toHTML()).join(""), n = this.namespace ? ` xmlns="${this.namespace}"` : "";
|
|
1292
1305
|
let i = null;
|
|
1293
|
-
const l = this.getVisibleAttributes().map(([a,
|
|
1306
|
+
const l = this.getVisibleAttributes().map(([a, h]) => a === "class" ? ` class="${h.join(" ")}"` : a === "style" ? typeof h == "string" ? ` style="${h}"` : ` style="${Object.entries(h).map(([u, m]) => `${u}: ${m};`).join(" ")}"` : ht.has(a) ? ` ${a}` : a === "innerHTML" ? (i = h, "") : a === "innerText" ? (i = ct(h), "") : ` ${a}="${lt(h)}"`).join(""), c = t ? ` ${me}` : "";
|
|
1294
1307
|
return ft.has(this.tagName) && r === "" ? `<${this.tagName}${n}${l}${c} />` : `<${this.tagName}${n}${l}${c}>${i ?? r}</${this.tagName}>`;
|
|
1295
1308
|
});
|
|
1296
1309
|
this.tagName = t, this.namespace = r;
|
|
1297
1310
|
}
|
|
1298
1311
|
}
|
|
1299
|
-
class
|
|
1312
|
+
class Se extends be {
|
|
1300
1313
|
constructor(t, r) {
|
|
1301
1314
|
super(r);
|
|
1302
1315
|
o(this, "isPortal", () => !0);
|
|
@@ -1351,7 +1364,7 @@ class O {
|
|
|
1351
1364
|
});
|
|
1352
1365
|
o(this, "makeRef", () => this.makeChildText(""));
|
|
1353
1366
|
o(this, "makePortal", (e) => {
|
|
1354
|
-
const t = new
|
|
1367
|
+
const t = new Se(e, this.element);
|
|
1355
1368
|
return this.appendOrInsert(t), new O(
|
|
1356
1369
|
t,
|
|
1357
1370
|
void 0,
|
|
@@ -1393,17 +1406,17 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1393
1406
|
]), ft = /* @__PURE__ */ new Set(["img", "br", "hr", "input", "link", "meta"]), Ae = (s) => (e) => {
|
|
1394
1407
|
const t = e.makeChildText(s);
|
|
1395
1408
|
return (r) => t.clear(r);
|
|
1396
|
-
},
|
|
1409
|
+
}, Ee = (s) => (e) => {
|
|
1397
1410
|
const t = e.makeChildText(s.value), r = s.on((n) => t.setText(n));
|
|
1398
1411
|
return (n) => {
|
|
1399
1412
|
r(), t.clear(n);
|
|
1400
1413
|
};
|
|
1401
|
-
}, Bt = (s) => d.is(s) ?
|
|
1414
|
+
}, Bt = (s) => d.is(s) ? Ee(s) : Ae(s), S = (...s) => (e) => {
|
|
1402
1415
|
const t = s.map((r) => f(r)(e));
|
|
1403
1416
|
return (r) => {
|
|
1404
1417
|
t.forEach((n) => n(r));
|
|
1405
1418
|
};
|
|
1406
|
-
},
|
|
1419
|
+
}, E = () => () => {
|
|
1407
1420
|
}, dt = (s) => (e) => (e.addClasses(s), (t) => {
|
|
1408
1421
|
t && e.removeClasses(s);
|
|
1409
1422
|
}), pt = (s) => (e) => {
|
|
@@ -1522,22 +1535,22 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1522
1535
|
}
|
|
1523
1536
|
), f = (s) => {
|
|
1524
1537
|
if (s == null)
|
|
1525
|
-
return
|
|
1538
|
+
return E;
|
|
1526
1539
|
if (Array.isArray(s))
|
|
1527
1540
|
return S(...s.map(f));
|
|
1528
1541
|
if (typeof s == "string")
|
|
1529
1542
|
return Ae(s);
|
|
1530
1543
|
if (d.is(s))
|
|
1531
|
-
return
|
|
1544
|
+
return Ee(s);
|
|
1532
1545
|
if (typeof s == "function")
|
|
1533
1546
|
return s;
|
|
1534
1547
|
throw new Error(`Unknown type: '${typeof s}' for child: ${s}`);
|
|
1535
|
-
},
|
|
1548
|
+
}, _e = (s, ...e) => (t) => {
|
|
1536
1549
|
const r = t.makeChildElement(s, void 0), n = e.map((i) => f(i)(r));
|
|
1537
1550
|
return (i) => {
|
|
1538
1551
|
n.forEach((l) => l(!1)), r.clear(i);
|
|
1539
1552
|
};
|
|
1540
|
-
},
|
|
1553
|
+
}, ve = (s, e, ...t) => (r) => {
|
|
1541
1554
|
const n = r.makeChildElement(s, e), i = t.map((l) => f(l)(n));
|
|
1542
1555
|
return (l) => {
|
|
1543
1556
|
i.forEach((c) => c(!1)), n.clear(l);
|
|
@@ -1550,7 +1563,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1550
1563
|
* @param tagName - The HTML tag name.
|
|
1551
1564
|
* @returns A renderable function that creates and appends the HTML element to the DOM.
|
|
1552
1565
|
*/
|
|
1553
|
-
get: (s, e) => (...t) =>
|
|
1566
|
+
get: (s, e) => (...t) => _e(e, t.flatMap(f))
|
|
1554
1567
|
}
|
|
1555
1568
|
), Yt = new Proxy(
|
|
1556
1569
|
{},
|
|
@@ -1560,7 +1573,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1560
1573
|
* @param type - The input type name.
|
|
1561
1574
|
* @returns A renderable function that creates and appends the HTMLInput element to the DOM.
|
|
1562
1575
|
*/
|
|
1563
|
-
get: (s, e) => (...t) =>
|
|
1576
|
+
get: (s, e) => (...t) => _e("input", M.type(e), ...t)
|
|
1564
1577
|
}
|
|
1565
1578
|
), gt = "http://www.w3.org/2000/svg", zt = new Proxy(
|
|
1566
1579
|
{},
|
|
@@ -1570,7 +1583,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1570
1583
|
* @param tagName - The SVG tag name.
|
|
1571
1584
|
* @returns A renderable function that creates and appends the SVG element to the DOM.
|
|
1572
1585
|
*/
|
|
1573
|
-
get: (s, e) => (...t) =>
|
|
1586
|
+
get: (s, e) => (...t) => ve(e, gt, t.flatMap(f))
|
|
1574
1587
|
}
|
|
1575
1588
|
), mt = "http://www.w3.org/1998/Math/MathML", Qt = new Proxy(
|
|
1576
1589
|
{},
|
|
@@ -1580,25 +1593,25 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1580
1593
|
* @param tagName - The Math tag name.
|
|
1581
1594
|
* @returns A renderable function that creates and appends the Math element to the DOM.
|
|
1582
1595
|
*/
|
|
1583
|
-
get: (s, e) => (...t) =>
|
|
1596
|
+
get: (s, e) => (...t) => ve(e, mt, t.flatMap(f))
|
|
1584
1597
|
}
|
|
1585
1598
|
), we = (s, e) => {
|
|
1586
1599
|
if (typeof e == "function")
|
|
1587
1600
|
return we(s, { then: e });
|
|
1588
|
-
const t = e.pending != null ? f(e.pending()) :
|
|
1601
|
+
const t = e.pending != null ? f(e.pending()) : E, r = e.then, n = e.error != null ? (i) => f(e.error(i)) : () => E;
|
|
1589
1602
|
return (i) => {
|
|
1590
1603
|
let l = !0;
|
|
1591
1604
|
const c = s(), a = i.makeRef();
|
|
1592
|
-
let
|
|
1605
|
+
let h = f(t)(a);
|
|
1593
1606
|
return c.then(
|
|
1594
|
-
(
|
|
1595
|
-
l && (
|
|
1607
|
+
(u) => {
|
|
1608
|
+
l && (h(!0), h = f(r(u))(a));
|
|
1596
1609
|
},
|
|
1597
|
-
(
|
|
1598
|
-
l && (
|
|
1610
|
+
(u) => {
|
|
1611
|
+
l && (h(!0), h = f(n(u))(a));
|
|
1599
1612
|
}
|
|
1600
|
-
), (
|
|
1601
|
-
l = !1, u
|
|
1613
|
+
), (u) => {
|
|
1614
|
+
l = !1, h(u), a.clear(u);
|
|
1602
1615
|
};
|
|
1603
1616
|
};
|
|
1604
1617
|
}, Zt = (s, e) => we(() => s, e), Ce = (s, e, t) => (r) => r.on(s, e, t), yt = (s) => Ce("click", (e) => {
|
|
@@ -1621,10 +1634,10 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1621
1634
|
), Tt = (s) => (e) => {
|
|
1622
1635
|
const t = e.target;
|
|
1623
1636
|
s(t.value);
|
|
1624
|
-
},
|
|
1637
|
+
}, bt = (s) => (e) => {
|
|
1625
1638
|
const t = e.target;
|
|
1626
1639
|
s(t.valueAsNumber);
|
|
1627
|
-
},
|
|
1640
|
+
}, St = (s) => (e) => {
|
|
1628
1641
|
const t = e.target;
|
|
1629
1642
|
if (t.value === "")
|
|
1630
1643
|
return;
|
|
@@ -1653,22 +1666,22 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1653
1666
|
e.stopPropagation(), s();
|
|
1654
1667
|
}, ss = (s) => (e) => {
|
|
1655
1668
|
e.stopImmediatePropagation(), s();
|
|
1656
|
-
}, rs = (s, e = "input") => S(M.valueAsDate(s), J[e](
|
|
1669
|
+
}, rs = (s, e = "input") => S(M.valueAsDate(s), J[e](St(s.set))), ns = (s, e = "input") => S(M.valueAsDate(s), J[e](At(s.set))), is = (s, e = "input") => S(M.valueAsNumber(s), J[e](bt(s.set))), os = (s, e = "input") => S(M.value(s), J[e](Tt(s.set))), ls = (s) => S(M.checked(s), yt(s.set)), G = (s, e) => {
|
|
1657
1670
|
if (d.is(s))
|
|
1658
1671
|
return (r) => {
|
|
1659
1672
|
const n = r.makeRef();
|
|
1660
1673
|
let i, l;
|
|
1661
|
-
const c = s.map((
|
|
1674
|
+
const c = s.map((u) => Object.keys(u)[0]);
|
|
1662
1675
|
let a;
|
|
1663
|
-
const
|
|
1664
|
-
if (
|
|
1665
|
-
l == null || l.dispose(), i == null || i(!0), l = s.map((
|
|
1666
|
-
const m = e[
|
|
1667
|
-
i = f(m)(n), a =
|
|
1676
|
+
const h = c.on((u) => {
|
|
1677
|
+
if (u !== a) {
|
|
1678
|
+
l == null || l.dispose(), i == null || i(!0), l = s.map((T) => T[u]);
|
|
1679
|
+
const m = e[u](l);
|
|
1680
|
+
i = f(m)(n), a = u;
|
|
1668
1681
|
}
|
|
1669
1682
|
});
|
|
1670
|
-
return (
|
|
1671
|
-
l == null || l.dispose(),
|
|
1683
|
+
return (u) => {
|
|
1684
|
+
l == null || l.dispose(), h(), n.clear(u), i == null || i(u);
|
|
1672
1685
|
};
|
|
1673
1686
|
};
|
|
1674
1687
|
const t = Object.keys(s)[0];
|
|
@@ -1680,12 +1693,12 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1680
1693
|
), cs = (s, e) => Pe(s, "kind", e), as = (s, e) => {
|
|
1681
1694
|
const t = y.map(s, ([r, n]) => ({ [r]: n }));
|
|
1682
1695
|
return G(t, e);
|
|
1683
|
-
}, us = (s, e) => Pe(s, "type", e),
|
|
1696
|
+
}, us = (s, e) => Pe(s, "type", e), Et = (s, e) => G(
|
|
1684
1697
|
y.map(s, (t) => ({ [t]: !0 })),
|
|
1685
1698
|
e
|
|
1686
1699
|
), hs = (s, e = {}) => (t) => {
|
|
1687
1700
|
const r = (e == null ? void 0 : e.firstSeparator) ?? s, n = (e == null ? void 0 : e.lastSeparator) ?? s;
|
|
1688
|
-
return
|
|
1701
|
+
return Et(
|
|
1689
1702
|
t.map((i) => i.isFirst ? "first" : i.isLast ? "last" : "other"),
|
|
1690
1703
|
{
|
|
1691
1704
|
first: r,
|
|
@@ -1712,33 +1725,33 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1712
1725
|
return r.push(e(n)(t)), (i) => {
|
|
1713
1726
|
r.forEach((l) => l(i));
|
|
1714
1727
|
};
|
|
1715
|
-
},
|
|
1728
|
+
}, _t = (s, e) => Le([s], (t) => f(e(t[s]))), ds = (s, e) => Le(s, (t) => f(e(t))), ps = (s) => (e) => {
|
|
1716
1729
|
const t = s(e);
|
|
1717
1730
|
return t == null ? () => {
|
|
1718
1731
|
} : f(t)(e);
|
|
1719
1732
|
}, gs = (s) => (e) => (e.appendOrInsert(s), (t) => {
|
|
1720
|
-
t &&
|
|
1721
|
-
}),
|
|
1733
|
+
t && R(s);
|
|
1734
|
+
}), vt = (s, e, t) => {
|
|
1722
1735
|
if (d.is(s)) {
|
|
1723
1736
|
const r = s;
|
|
1724
1737
|
return (n) => {
|
|
1725
1738
|
const i = n.makeRef();
|
|
1726
1739
|
let l = () => {
|
|
1727
1740
|
}, c = !1, a = null;
|
|
1728
|
-
const
|
|
1729
|
-
|
|
1741
|
+
const h = r.on((u) => {
|
|
1742
|
+
u == null ? (l(!0), l = f((t == null ? void 0 : t()) ?? E)(i), c = !1, a == null || a.dispose(), a = null) : (a == null ? a = v(u) : a.value = u, c || (l(!0), l = f(e(a))(
|
|
1730
1743
|
i
|
|
1731
1744
|
), c = !0));
|
|
1732
1745
|
});
|
|
1733
|
-
return (
|
|
1734
|
-
a == null || a.dispose(),
|
|
1746
|
+
return (u) => {
|
|
1747
|
+
a == null || a.dispose(), h(), l == null || l(u), i.clear(u);
|
|
1735
1748
|
};
|
|
1736
1749
|
};
|
|
1737
1750
|
} else {
|
|
1738
1751
|
const r = s;
|
|
1739
1752
|
if (r == null) {
|
|
1740
1753
|
const n = t == null ? void 0 : t();
|
|
1741
|
-
return n != null ? f(n) :
|
|
1754
|
+
return n != null ? f(n) : E;
|
|
1742
1755
|
}
|
|
1743
1756
|
return f(e(W(r)));
|
|
1744
1757
|
}
|
|
@@ -1747,17 +1760,17 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1747
1760
|
if (s.some(
|
|
1748
1761
|
(p) => !d.is(p) && p == null
|
|
1749
1762
|
))
|
|
1750
|
-
return (t != null ? f(t == null ? void 0 : t()) :
|
|
1763
|
+
return (t != null ? f(t == null ? void 0 : t()) : E)(
|
|
1751
1764
|
n
|
|
1752
1765
|
);
|
|
1753
1766
|
const l = s.map(() => null), c = s.map(
|
|
1754
1767
|
(p) => d.is(p) ? p.value != null : p != null
|
|
1755
1768
|
);
|
|
1756
1769
|
let a = null;
|
|
1757
|
-
const
|
|
1770
|
+
const h = v(c.every((p) => p)), u = (p, g) => {
|
|
1758
1771
|
if (p.value != null) {
|
|
1759
1772
|
if (l[g] == null) {
|
|
1760
|
-
const w =
|
|
1773
|
+
const w = v(p.value);
|
|
1761
1774
|
l[g] = w;
|
|
1762
1775
|
} else
|
|
1763
1776
|
l[g].value = p.value;
|
|
@@ -1766,22 +1779,22 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1766
1779
|
c[g] = !1;
|
|
1767
1780
|
};
|
|
1768
1781
|
let m = s.length - 1;
|
|
1769
|
-
const
|
|
1782
|
+
const T = s.map((p, g) => {
|
|
1770
1783
|
if (!d.is(p)) {
|
|
1771
|
-
const w =
|
|
1784
|
+
const w = v(p);
|
|
1772
1785
|
return l[g] = w, () => {
|
|
1773
1786
|
};
|
|
1774
1787
|
}
|
|
1775
1788
|
return p.on(() => {
|
|
1776
|
-
|
|
1789
|
+
u(p, g), m === 0 ? h.value = c.every((w) => w) : m--;
|
|
1777
1790
|
});
|
|
1778
1791
|
});
|
|
1779
|
-
return
|
|
1780
|
-
a == null || a(!0), a = null, p ? a = f(e(...l))(n) : a = f((t == null ? void 0 : t()) ??
|
|
1792
|
+
return h.on((p) => {
|
|
1793
|
+
a == null || a(!0), a = null, p ? a = f(e(...l))(n) : a = f((t == null ? void 0 : t()) ?? E)(n);
|
|
1781
1794
|
}), (p) => {
|
|
1782
|
-
l.forEach((g) => g == null ? void 0 : g.dispose()),
|
|
1795
|
+
l.forEach((g) => g == null ? void 0 : g.dispose()), h.dispose(), T.forEach((g) => g()), a == null || a(p), n.clear(p);
|
|
1783
1796
|
};
|
|
1784
|
-
}, Z = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), xe = (s, e, t) =>
|
|
1797
|
+
}, Z = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), xe = (s, e, t) => vt(
|
|
1785
1798
|
y.map(s, (r) => r ? !0 : null),
|
|
1786
1799
|
e,
|
|
1787
1800
|
t ?? void 0
|
|
@@ -1799,18 +1812,18 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1799
1812
|
f(e(r)),
|
|
1800
1813
|
xe(
|
|
1801
1814
|
r.isLast,
|
|
1802
|
-
() =>
|
|
1815
|
+
() => E,
|
|
1803
1816
|
() => t(n)
|
|
1804
1817
|
)
|
|
1805
1818
|
);
|
|
1806
1819
|
}) : d.is(s) ? (r) => {
|
|
1807
1820
|
const n = r.makeRef(), i = [], l = s.on((c) => {
|
|
1808
1821
|
const a = i.splice(c);
|
|
1809
|
-
for (const
|
|
1810
|
-
|
|
1811
|
-
for (let
|
|
1812
|
-
const
|
|
1813
|
-
i.push(f(e(
|
|
1822
|
+
for (const h of a)
|
|
1823
|
+
h(!0);
|
|
1824
|
+
for (let h = i.length; h < c; h++) {
|
|
1825
|
+
const u = new Y(h, s);
|
|
1826
|
+
i.push(f(e(u))(n));
|
|
1814
1827
|
}
|
|
1815
1828
|
});
|
|
1816
1829
|
return (c) => {
|
|
@@ -1844,7 +1857,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1844
1857
|
}
|
|
1845
1858
|
return () => {
|
|
1846
1859
|
};
|
|
1847
|
-
},
|
|
1860
|
+
}, bs = (s) => (e) => {
|
|
1848
1861
|
if (e.isHeadlessDOM()) {
|
|
1849
1862
|
const t = s(e);
|
|
1850
1863
|
if (t)
|
|
@@ -1852,7 +1865,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1852
1865
|
}
|
|
1853
1866
|
return () => {
|
|
1854
1867
|
};
|
|
1855
|
-
},
|
|
1868
|
+
}, Ss = (s) => wt((e) => s(e.element)), As = (s, e) => {
|
|
1856
1869
|
if (d.is(s)) {
|
|
1857
1870
|
const t = s;
|
|
1858
1871
|
return (r) => {
|
|
@@ -1869,7 +1882,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1869
1882
|
};
|
|
1870
1883
|
}
|
|
1871
1884
|
return f(e(s));
|
|
1872
|
-
},
|
|
1885
|
+
}, Es = (s, e, t = () => E) => G(
|
|
1873
1886
|
y.map(
|
|
1874
1887
|
s,
|
|
1875
1888
|
(r) => r.length > 0 ? { notEmpty: r } : { whenEmpty: null }
|
|
@@ -1878,10 +1891,10 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1878
1891
|
notEmpty: (r) => e(r),
|
|
1879
1892
|
whenEmpty: () => t()
|
|
1880
1893
|
}
|
|
1881
|
-
),
|
|
1894
|
+
), _s = (s, e) => (t) => {
|
|
1882
1895
|
const r = t.makePortal(s);
|
|
1883
1896
|
return Q(f(e), r);
|
|
1884
|
-
}, Ct = (s) => Symbol(s), De = (s, e) => (t) => f(e)(t.withProviders(s)),
|
|
1897
|
+
}, Ct = (s) => Symbol(s), De = (s, e) => (t) => f(e)(t.withProviders(s)), vs = (...s) => s.length > 0 ? s.reduceRight((e, t) => (r) => e(t(r))) : f, Pt = (s, e, t) => De({ [s]: e }, f(t)), ws = (s, e) => De(s, f(e)), Me = Ct("Probe"), P = /* @__PURE__ */ new Map(), Lt = ({
|
|
1885
1898
|
identifier: s,
|
|
1886
1899
|
callback: e = () => {
|
|
1887
1900
|
},
|
|
@@ -1906,7 +1919,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1906
1919
|
Z(() => clearTimeout(n)),
|
|
1907
1920
|
Pt(Me, i, t)
|
|
1908
1921
|
);
|
|
1909
|
-
}, xt = (s, e) =>
|
|
1922
|
+
}, xt = (s, e) => _t(Me, (t) => {
|
|
1910
1923
|
const r = P.get(s);
|
|
1911
1924
|
return r == null ? e(() => {
|
|
1912
1925
|
}) : (clearTimeout(r.timeoutId), r.counter++, e(() => t(s)));
|
|
@@ -1949,37 +1962,37 @@ export {
|
|
|
1949
1962
|
L as Computed,
|
|
1950
1963
|
hs as Conjunction,
|
|
1951
1964
|
gs as DOMNode,
|
|
1952
|
-
|
|
1953
|
-
|
|
1965
|
+
_e as El,
|
|
1966
|
+
ve as ElNS,
|
|
1954
1967
|
Y as ElementPosition,
|
|
1955
|
-
|
|
1956
|
-
|
|
1968
|
+
E as Empty,
|
|
1969
|
+
vt as Ensure,
|
|
1957
1970
|
ms as EnsureAll,
|
|
1958
1971
|
Ts as ForEach,
|
|
1959
1972
|
S as Fragment,
|
|
1960
1973
|
qt as HeadlessAdapter,
|
|
1961
1974
|
O as HeadlessContext,
|
|
1962
1975
|
at as HeadlessElement,
|
|
1963
|
-
|
|
1976
|
+
Se as HeadlessPortal,
|
|
1964
1977
|
ut as HeadlessText,
|
|
1965
1978
|
As as MapSignal,
|
|
1966
1979
|
le as MemoryStore,
|
|
1967
|
-
|
|
1980
|
+
Es as NotEmpty,
|
|
1968
1981
|
wt as OnBrowserCtx,
|
|
1969
1982
|
yt as OnChecked,
|
|
1970
1983
|
ps as OnCtx,
|
|
1971
1984
|
Z as OnDispose,
|
|
1972
|
-
|
|
1973
|
-
|
|
1985
|
+
Ss as OnElement,
|
|
1986
|
+
bs as OnHeadlessCtx,
|
|
1974
1987
|
G as OneOf,
|
|
1975
1988
|
Pe as OneOfField,
|
|
1976
1989
|
cs as OneOfKind,
|
|
1977
1990
|
as as OneOfTuple,
|
|
1978
1991
|
us as OneOfType,
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1992
|
+
Et as OneOfValue,
|
|
1993
|
+
_s as Portal,
|
|
1994
|
+
N as Prop,
|
|
1995
|
+
vs as Provide,
|
|
1983
1996
|
Cs as ProvideGlobalProbe,
|
|
1984
1997
|
Lt as ProvideProbe,
|
|
1985
1998
|
ge as ProviderNotFoundError,
|
|
@@ -1992,7 +2005,7 @@ export {
|
|
|
1992
2005
|
fs as Use,
|
|
1993
2006
|
Ps as UseGlobalProbe,
|
|
1994
2007
|
xt as UseProbe,
|
|
1995
|
-
|
|
2008
|
+
_t as UseProvider,
|
|
1996
2009
|
ds as UseProviders,
|
|
1997
2010
|
y as Value,
|
|
1998
2011
|
xe as When,
|
|
@@ -2003,10 +2016,10 @@ export {
|
|
|
2003
2016
|
pe as _isElement,
|
|
2004
2017
|
Je as _makeGetter,
|
|
2005
2018
|
We as _makeSetter,
|
|
2006
|
-
|
|
2007
|
-
|
|
2019
|
+
R as _removeDOMNode,
|
|
2020
|
+
Ee as _signalText,
|
|
2008
2021
|
Ae as _staticText,
|
|
2009
|
-
|
|
2022
|
+
Nt as animateSignal,
|
|
2010
2023
|
Ue as animateSignals,
|
|
2011
2024
|
Wt as aria,
|
|
2012
2025
|
M as attr,
|
|
@@ -2016,24 +2029,24 @@ export {
|
|
|
2016
2029
|
ss as emitStopImmediatePropagation,
|
|
2017
2030
|
ts as emitStopPropagation,
|
|
2018
2031
|
Tt as emitValue,
|
|
2019
|
-
|
|
2032
|
+
St as emitValueAsDate,
|
|
2020
2033
|
At as emitValueAsDateTime,
|
|
2021
|
-
|
|
2034
|
+
bt as emitValueAsNumber,
|
|
2022
2035
|
je as endInterpolate,
|
|
2023
2036
|
oe as getWindow,
|
|
2024
2037
|
qe as guessInterpolate,
|
|
2025
2038
|
Xt as html,
|
|
2026
2039
|
Yt as input,
|
|
2027
2040
|
Ve as interpolateDate,
|
|
2028
|
-
|
|
2029
|
-
|
|
2041
|
+
Ne as interpolateNumber,
|
|
2042
|
+
Re as interpolateString,
|
|
2030
2043
|
kt as localStorageProp,
|
|
2031
2044
|
z as makeComputed,
|
|
2032
2045
|
Ht as makeComputedOf,
|
|
2033
|
-
|
|
2046
|
+
Rt as makeComputedRecord,
|
|
2034
2047
|
Be as makeEffect,
|
|
2035
2048
|
$t as makeEffectOf,
|
|
2036
|
-
|
|
2049
|
+
v as makeProp,
|
|
2037
2050
|
Ct as makeProviderMark,
|
|
2038
2051
|
W as makeSignal,
|
|
2039
2052
|
Qt as math,
|
package/package.json
CHANGED
package/renderable/render.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { Value } from '../std/value';
|
|
|
10
10
|
* @returns A function that can be called to clear the rendered node.
|
|
11
11
|
* @public
|
|
12
12
|
*/
|
|
13
|
-
export declare const renderWithContext: (renderable: Renderable, ctx: DOMContext) => () => void;
|
|
13
|
+
export declare const renderWithContext: (renderable: Renderable, ctx: DOMContext) => (removeTree?: boolean) => void;
|
|
14
14
|
/**
|
|
15
15
|
* Options for rendering.
|
|
16
16
|
* @public
|
|
@@ -24,6 +24,10 @@ export type RenderOptions = {
|
|
|
24
24
|
* Whether to clear the document before rendering. This is useful when the page has been pre-rendered on the server.
|
|
25
25
|
*/
|
|
26
26
|
clear?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Whether to dispose the renderable when the parent element is removed from the DOM.
|
|
29
|
+
*/
|
|
30
|
+
disposeWithParent?: boolean;
|
|
27
31
|
};
|
|
28
32
|
/**
|
|
29
33
|
* Renders a `Renderable` node into a specified parent element or selector.
|
|
@@ -35,7 +39,7 @@ export type RenderOptions = {
|
|
|
35
39
|
* @throws Throws a `RenderingError` if the parent element cannot be found by the provided selector.
|
|
36
40
|
* @public
|
|
37
41
|
*/
|
|
38
|
-
export declare const render: (node: Renderable, parent: Node | string, { doc, clear }?: RenderOptions) => () => void;
|
|
42
|
+
export declare const render: (node: Renderable, parent: Node | string, { doc, clear, disposeWithParent }?: RenderOptions) => () => void;
|
|
39
43
|
/**
|
|
40
44
|
* Runs a renderable function in a headless environment.
|
|
41
45
|
*
|
|
@@ -50,7 +54,7 @@ export declare const runHeadless: (makeRenderable: () => Renderable, { startUrl,
|
|
|
50
54
|
startUrl?: Value<string>;
|
|
51
55
|
selector?: string;
|
|
52
56
|
}) => {
|
|
53
|
-
clear: () => void;
|
|
57
|
+
clear: (removeTree?: boolean) => void;
|
|
54
58
|
root: HeadlessPortal;
|
|
55
59
|
currentURL: import('..').Prop<string>;
|
|
56
60
|
};
|