@tempots/dom 25.0.0 → 25.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +1 -1
- package/index.js +158 -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}={})=>{const i=typeof e=="string"?(t??document).querySelector(e):e;if(i===null)throw new Re(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??i.ownerDocument)!=null&&i.nodeType===1&&(i.innerHTML="");const l=$e(i),a=se(i)?void 0:i,c=w.of(l,a),h=z(s,c);let u;return n&&(u=new MutationObserver(g=>{var T;(T=g[0])==null||T.removedNodes.forEach(p=>{p===i&&(h(i.nodeType!==Node.ELEMENT_NODE),u==null||u.disconnect())})}),u.observe(i.parentElement,{childList:!0,subtree:!1,attributes:!1})),()=>{u==null||u.disconnect(),h(!0)}},Tt=(s,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const r=y.toSignal(e).deriveProp(),n=new ie(t,void 0),i=new O(n,void 0,{currentURL:r},{});return{clear:z(s(),i),root:n,currentURL:r}};class Re extends Error{constructor(e){super(e)}}const ne="data-tts-node",N="data-tts-class",U="data-tts-style",W="data-tts-html",G="data-tts-text",J="data-tts-attrs";class Et{constructor({select:e,getAttribute:t,setAttribute:r,getClass:n,setClass:i,getStyles:l,setStyles:a,appendHTML:c,getInnerHTML:h,setInnerHTML:u,getInnerText:g,setInnerText:T}){o(this,"select");o(this,"getAttribute");o(this,"setAttribute");o(this,"getClass");o(this,"setClass");o(this,"getStyles");o(this,"setStyles");o(this,"appendHTML");o(this,"getInnerHTML");o(this,"setInnerHTML");o(this,"getInnerText");o(this,"setInnerText");o(this,"setFromRoot",(e,t)=>{e.getPortals().forEach(n=>{for(const i of this.select(n.selector)){if(i==null)throw new Error(`Cannot find element by selector for render: ${n.selector}`);if(n.hasChildren()&&this.appendHTML(i,n.contentToHTML(t)),n.hasInnerHTML()){if(t){const l=this.getInnerHTML(i);l!=null&&this.setAttribute(i,W,l)}this.setInnerHTML(i,n.getInnerHTML())}if(n.hasInnerText()){if(t){const l=this.getInnerText(i);l!=null&&this.setAttribute(i,G,l)}this.setInnerText(i,n.getInnerText())}if(n.hasClasses()){if(t){const l=this.getClass(i);l!=null&&this.setAttribute(i,N,l)}this.setClass(i,n.getClasses().join(" "))}if(n.hasStyles()){if(t){const l=this.getStyles(i);Object.keys(l).length>0&&this.setAttribute(i,U,JSON.stringify(l))}this.setStyles(i,n.getStyles())}if(n.hasAttributes()){const l=n.getAttributes();if(t){const a=[];l.forEach(([c])=>{const h=this.getAttribute(i,c);h!=null&&a.push([c,h])}),a.length>0&&this.setAttribute(i,J,JSON.stringify(Object.fromEntries(a)))}l.forEach(([a,c])=>{this.setAttribute(i,a,c)})}}})});this.select=e,this.getAttribute=t,this.setAttribute=r,this.getClass=n,this.setClass=i,this.getStyles=l,this.setStyles=a,this.appendHTML=c,this.getInnerHTML=h,this.setInnerHTML=u,this.getInnerText=g,this.setInnerText=T}}const St=()=>{document.querySelectorAll(`[${ne}]`).forEach(I)},bt=s=>{const e=s.getAttribute(N);s.removeAttribute(N),e!=null&&s.setAttribute("class",e)},At=()=>{document.querySelectorAll(`[${N}]`).forEach(e=>bt(e))},Pt=s=>{const e=s.getAttribute(W);s.removeAttribute(W),e!=null&&(s.innerHTML=e)},_t=()=>{document.querySelectorAll(`[${W}]`).forEach(e=>Pt(e))},vt=s=>{const e=s.getAttribute(G);s.removeAttribute(G),e!=null&&(s.innerText=e)},Ct=()=>{document.querySelectorAll(`[${G}]`).forEach(e=>vt(e))},Ve=s=>JSON.parse(s.replace(/"/g,'"')),wt=s=>{const e=s.getAttribute(U);if(s.removeAttribute(U),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{s.style.setProperty(r,n)})}},Ot=()=>{document.querySelectorAll(`[${U}]`).forEach(e=>wt(e))},xt=s=>{const e=s.getAttribute(J);if(s.removeAttribute(J),e!=null){const t=Ve(e);Object.entries(t).forEach(([r,n])=>{n==null?s.removeAttribute(r):s.setAttribute(r,n)})}},Lt=()=>{document.querySelectorAll(`[${J}]`).forEach(e=>xt(e))},Dt=()=>{St(),At(),Ct(),_t(),Ot(),Lt()},S=Symbol("class"),_=Symbol("style"),L=Symbol("handler"),je=()=>Math.random().toString(36).substring(2,15),Mt=s=>s.replace(/<[^>]*>?/g,"");class qe{constructor(e){o(this,"id",je());o(this,"properties",{});o(this,"children",[]);o(this,"isElement",()=>!0);o(this,"isText",()=>!1);o(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?Mt(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));o(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});o(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});o(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});o(this,"elements",()=>this.children.filter(e=>e.isElement()));o(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);o(this,"getInnerHTML",()=>this.properties.innerHTML??"");o(this,"getInnerText",()=>this.properties.innerText??"");o(this,"hasInnerText",()=>this.properties.innerText!=null);o(this,"hasChildren",()=>this.children.length>0);o(this,"hasClasses",()=>this.properties[S]!=null);o(this,"hasStyles",()=>this.properties[_]!=null);o(this,"hasAttributes",()=>Object.keys(this.properties).length>0);o(this,"hasHandlers",()=>this.properties[L]!=null);o(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());o(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const r=t.getById(e);if(r!=null)return r}});o(this,"trigger",(e,t)=>{((this.properties[L]??{})[e]??[]).forEach(n=>n(t))});o(this,"click",()=>{this.trigger("click",{})});o(this,"on",(e,t,r)=>{var a;const n=(a=this.properties)[L]??(a[L]={}),i=r!=null&&r.once?c=>{l(),t(c)}:c=>t(c);n[e]=[...n[e]??[],i];const l=()=>{const c=n[e]??[],h=c.indexOf(i);h!==-1&&(c.splice(h,1),c.length===0?(delete n[e],Object.keys(n).length===0&&delete this.properties[L]):n[e]=c,(r==null?void 0:r.signal)!=null&&r.signal.removeEventListener("abort",l))};return(r==null?void 0:r.signal)!=null&&r.signal.addEventListener("abort",l),l});o(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});o(this,"removeClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[S]??(r[S]=[]);e.forEach(n=>{const i=t.indexOf(n);i!==-1&&t.splice(i,1)}),t.length===0&&delete this.properties[S]});o(this,"getClasses",()=>this.properties[S]??[]);o(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));o(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===S?[["class",this.getClasses()]]:e===_?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));o(this,"setStyle",(e,t)=>{var n;const r=(n=this.properties)[_]??(n[_]={});r[e]=t,t===""&&(delete r[e],Object.keys(r).length===0&&delete this.properties[_])});o(this,"getStyle",e=>{var t;return((t=this.properties[_])==null?void 0:t[e])??""});o(this,"getStyles",()=>this.properties[_]??{});o(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const kt=s=>s.replace(/"/g,"""),Ht=s=>s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");class Be extends qe{constructor(t,r,n){super(n);o(this,"isPortal",()=>!1);o(this,"toHTML",(t=!1)=>{const r=this.children.map(c=>c.toHTML()).join(""),n=this.namespace?` xmlns="${this.namespace}"`:"";let i=null;const l=this.getVisibleAttributes().map(([c,h])=>c==="class"?` class="${h.join(" ")}"`:c==="style"?typeof h=="string"?` style="${h}"`:` style="${Object.entries(h).map(([u,g])=>`${u}: ${g};`).join(" ")}"`:It.has(c)?` ${c}`:c==="innerHTML"?(i=h,""):c==="innerText"?(i=Ht(h),""):` ${c}="${kt(h)}"`).join(""),a=t?` ${ne}`:"";return Nt.has(this.tagName)&&r===""?`<${this.tagName}${n}${l}${a} />`:`<${this.tagName}${n}${l}${a}>${i??r}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class ie extends qe{constructor(t,r){super(r);o(this,"isPortal",()=>!0);o(this,"toHTML",()=>"");o(this,"contentToHTML",(t=!1)=>this.children.map(r=>r.toHTML(t)).join(""));this.selector=t}}class Fe{constructor(e){o(this,"id",je());o(this,"isElement",()=>!1);o(this,"isText",()=>!0);o(this,"getText",()=>this.text);o(this,"toHTML",()=>this.text);this.text=e}}class O{constructor(e,t,r,n){o(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});o(this,"makeChildElement",(e,t)=>{const r=new Be(e,t,this.element);return this.appendOrInsert(r),new O(r,void 0,this.container,this.providers)});o(this,"makeChildText",e=>{const t=new Fe(e);return this.appendOrInsert(t),new O(this.element,t,this.container,this.providers)});o(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});o(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});o(this,"makeRef",()=>this.makeChildText(""));o(this,"makePortal",e=>{const t=new ie(e,this.element);return this.appendOrInsert(t),new O(t,void 0,this.container,this.providers)});o(this,"withProviders",e=>new O(this.element,this.reference,this.container,{...this.providers,...e}));o(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new re(e);return this.providers[e]});o(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});o(this,"on",(e,t)=>this.element.on(e,t));o(this,"addClasses",e=>this.element.addClasses(e));o(this,"removeClasses",e=>this.element.removeClasses(e));o(this,"getClasses",()=>this.element.getClasses());o(this,"isBrowserDOM",()=>!1);o(this,"isHeadlessDOM",()=>!0);o(this,"setStyle",(e,t)=>this.element.setStyle(e,t));o(this,"getStyle",e=>this.element.getStyle(e));o(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=r,this.providers=n}}const It=new Set(["checked","disabled","multiple","readonly","required","selected"]),Nt=new Set(["img","br","hr","input","link","meta"]),oe=s=>e=>{const t=e.makeChildText(s);return r=>t.clear(r)},le=s=>e=>{const t=e.makeChildText(s.value),r=s.on(n=>t.setText(n));return n=>{r(),t.clear(n)}},$t=s=>f.is(s)?le(s):oe(s),E=(...s)=>e=>{const t=s.map(r=>d(r)(e));return r=>{t.forEach(n=>n(r))}},b=()=>()=>{},Rt=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),Vt=s=>e=>{let t=[];const r=s.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(i=>i.length>0),e.addClasses(t)});return n=>{r(),n&&e.removeClasses(t),t.length=0}},R=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r();return n(e),l=>{l&&n(i)}},V=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),i=r(),l=e.on(n);return a=>{l(),a&&n(i)}},x=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?Vt(t):Rt((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?V(e,t):R(e,t)}),jt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`data-${e}`,t):R(`data-${e}`,t)}),qt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(`aria-${e}`,t):R(`aria-${e}`,t)}),Bt=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),Ft=new Proxy({},{get:(s,e)=>t=>f.is(t)?V(e,t):R(e,t)}),d=s=>{if(s==null)return b;if(Array.isArray(s))return E(...s.map(d));if(typeof s=="string")return oe(s);if(f.is(s))return le(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},ae=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(i=>d(i)(r));return i=>{n.forEach(l=>l(!1)),r.clear(i)}},ce=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),i=t.map(l=>d(l)(n));return l=>{i.forEach(a=>a(!1)),n.clear(l)}},Ut=new Proxy({},{get:(s,e)=>(...t)=>ae(e,t.flatMap(d))}),Wt=new Proxy({},{get:(s,e)=>(...t)=>ae("input",x.type(e),...t)}),Gt="http://www.w3.org/2000/svg",Jt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Gt,t.flatMap(d))}),Xt="http://www.w3.org/1998/Math/MathML",Yt=new Proxy({},{get:(s,e)=>(...t)=>ce(e,Xt,t.flatMap(d))}),ue=(s,e)=>{if(typeof e=="function")return ue(s,{then:e});const t=e.pending!=null?d(e.pending()):b,r=e.then,n=e.error!=null?i=>d(e.error(i)):()=>b;return i=>{let l=!0;const a=s(),c=i.makeRef();let h=d(t)(c);return a.then(u=>{l&&(h(!0),h=d(r(u))(c))},u=>{l&&(h(!0),h=d(n(u))(c))}),u=>{l=!1,h(u),c.clear(u)}}},zt=(s,e)=>ue(()=>s,e),Ue=(s,e,t)=>r=>r.on(s,e,t),We=s=>Ue("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const r=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;r!=null&&s(!r)},0)}),j=new Proxy({},{get:(s,e)=>t=>Ue(e,t)}),Ge=s=>e=>{const t=e.target;s(t.value)},Je=s=>e=>{const t=e.target;s(t.valueAsNumber)},Xe=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("-"),n=new Date(Number(r[0]),Number(r[1])-1,Number(r[2].substring(0,2)));s(n)},Ye=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("T"),n=r[0].split("-"),i=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=r[1].split(":");i.setHours(Number(l[0])),i.setMinutes(Number(l[1])),i.setSeconds(Number(l[2])),s(i)},Qt=s=>e=>{const t=e.target;s(t.checked)},Zt=s=>e=>{e.preventDefault(),s()},Kt=s=>e=>{e.stopPropagation(),s()},es=s=>e=>{e.stopImmediatePropagation(),s()},ts=(s,e="input")=>E(x.valueAsDate(s),j[e](Xe(s.set))),ss=(s,e="input")=>E(x.valueAsDate(s),j[e](Ye(s.set))),rs=(s,e="input")=>E(x.valueAsNumber(s),j[e](Je(s.set))),ns=(s,e="input")=>E(x.value(s),j[e](Ge(s.set))),is=s=>E(x.checked(s),We(s.set)),q=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let i,l;const a=s.map(u=>Object.keys(u)[0]);let c;const h=a.on(u=>{if(u!==c){l==null||l.dispose(),i==null||i(!0),l=s.map(T=>T[u]);const g=e[u](l);i=d(g)(n),c=u}});return u=>{l==null||l.dispose(),h(),n.clear(u),i==null||i(u)}};const t=Object.keys(s)[0];return d(e[t]($(s[t])))},he=(s,e,t)=>q(y.map(s,r=>({[r[e]]:r})),t),os=(s,e)=>he(s,"kind",e),ls=(s,e)=>{const t=y.map(s,([r,n])=>({[r]:n}));return q(t,e)},as=(s,e)=>he(s,"type",e),ze=(s,e)=>q(y.map(s,t=>({[t]:!0})),e),cs=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return ze(t.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:r,last:n,other:s})},Qe=(s,e)=>t=>{const r=Object.values(s).reduce((n,i)=>{const l=t.getProvider(i);return Reflect.set(n,i,l),n},{});return d(e(r))(t)},us=(s,e)=>t=>{const r=[],n=Object.entries(s).reduce((i,[l,a])=>(r.push(a(c=>(Reflect.set(i,l,c),null))(t)),i),{});return r.push(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,33 @@ 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
|
-
const
|
|
957
|
-
if (
|
|
954
|
+
return (r = !0) => t(r);
|
|
955
|
+
}, Vt = (s, e, { doc: t, clear: r, disposeWithParent: n = !0 } = {}) => {
|
|
956
|
+
const i = typeof e == "string" ? (t ?? document).querySelector(e) : e;
|
|
957
|
+
if (i === null)
|
|
958
958
|
throw new Xe(
|
|
959
959
|
`Cannot find element by selector for render: ${e}`
|
|
960
960
|
);
|
|
961
|
-
r !== !1 && (t ??
|
|
962
|
-
const
|
|
963
|
-
|
|
961
|
+
r !== !1 && (t ?? i.ownerDocument) != null && i.nodeType === 1 && (i.innerHTML = "");
|
|
962
|
+
const l = Ge(i), c = pe(i) ? void 0 : i, a = x.of(l, c), h = Q(s, a);
|
|
963
|
+
let u;
|
|
964
|
+
return n && (u = new MutationObserver((m) => {
|
|
965
|
+
var T;
|
|
966
|
+
(T = m[0]) == null || T.removedNodes.forEach((p) => {
|
|
967
|
+
p === i && (h(i.nodeType !== Node.ELEMENT_NODE), u == null || u.disconnect());
|
|
968
|
+
});
|
|
969
|
+
}), u.observe(i.parentElement, {
|
|
970
|
+
childList: !0,
|
|
971
|
+
subtree: !1,
|
|
972
|
+
attributes: !1
|
|
973
|
+
})), () => {
|
|
974
|
+
u == null || u.disconnect(), h(!0);
|
|
975
|
+
};
|
|
964
976
|
}, jt = (s, {
|
|
965
977
|
startUrl: e = "https://example.com",
|
|
966
978
|
selector: t = ":root"
|
|
967
979
|
} = {}) => {
|
|
968
|
-
const r = y.toSignal(e).deriveProp(), n = new
|
|
980
|
+
const r = y.toSignal(e).deriveProp(), n = new Se(t, void 0), i = new O(n, void 0, { currentURL: r }, {});
|
|
969
981
|
return {
|
|
970
982
|
clear: Q(s(), i),
|
|
971
983
|
root: n,
|
|
@@ -988,10 +1000,10 @@ class qt {
|
|
|
988
1000
|
getStyles: l,
|
|
989
1001
|
setStyles: c,
|
|
990
1002
|
appendHTML: a,
|
|
991
|
-
getInnerHTML:
|
|
992
|
-
setInnerHTML:
|
|
1003
|
+
getInnerHTML: h,
|
|
1004
|
+
setInnerHTML: u,
|
|
993
1005
|
getInnerText: m,
|
|
994
|
-
setInnerText:
|
|
1006
|
+
setInnerText: T
|
|
995
1007
|
}) {
|
|
996
1008
|
/**
|
|
997
1009
|
* Selects elements from the headless environment.
|
|
@@ -1118,8 +1130,8 @@ class qt {
|
|
|
1118
1130
|
if (t) {
|
|
1119
1131
|
const c = [];
|
|
1120
1132
|
l.forEach(([a]) => {
|
|
1121
|
-
const
|
|
1122
|
-
|
|
1133
|
+
const h = this.getAttribute(i, a);
|
|
1134
|
+
h != null && c.push([a, h]);
|
|
1123
1135
|
}), c.length > 0 && this.setAttribute(
|
|
1124
1136
|
i,
|
|
1125
1137
|
B,
|
|
@@ -1133,11 +1145,11 @@ class qt {
|
|
|
1133
1145
|
}
|
|
1134
1146
|
});
|
|
1135
1147
|
});
|
|
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 =
|
|
1148
|
+
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
1149
|
}
|
|
1138
1150
|
}
|
|
1139
1151
|
const Ye = () => {
|
|
1140
|
-
document.querySelectorAll(`[${me}]`).forEach(
|
|
1152
|
+
document.querySelectorAll(`[${me}]`).forEach(R);
|
|
1141
1153
|
}, ze = (s) => {
|
|
1142
1154
|
const e = s.getAttribute(V);
|
|
1143
1155
|
s.removeAttribute(V), e != null && s.setAttribute("class", e);
|
|
@@ -1175,8 +1187,8 @@ const Ye = () => {
|
|
|
1175
1187
|
document.querySelectorAll(`[${B}]`).forEach((e) => nt(e));
|
|
1176
1188
|
}, Ft = () => {
|
|
1177
1189
|
Ye(), Qe(), tt(), Ke(), rt(), it();
|
|
1178
|
-
},
|
|
1179
|
-
class
|
|
1190
|
+
}, b = Symbol("class"), _ = Symbol("style"), C = Symbol("handler"), Te = () => Math.random().toString(36).substring(2, 15), ot = (s) => s.replace(/<[^>]*>?/g, "");
|
|
1191
|
+
class be {
|
|
1180
1192
|
constructor(e) {
|
|
1181
1193
|
o(this, "id", Te());
|
|
1182
1194
|
o(this, "properties", {});
|
|
@@ -1204,8 +1216,8 @@ class Se {
|
|
|
1204
1216
|
o(this, "getInnerText", () => this.properties.innerText ?? "");
|
|
1205
1217
|
o(this, "hasInnerText", () => this.properties.innerText != null);
|
|
1206
1218
|
o(this, "hasChildren", () => this.children.length > 0);
|
|
1207
|
-
o(this, "hasClasses", () => this.properties[
|
|
1208
|
-
o(this, "hasStyles", () => this.properties[
|
|
1219
|
+
o(this, "hasClasses", () => this.properties[b] != null);
|
|
1220
|
+
o(this, "hasStyles", () => this.properties[_] != null);
|
|
1209
1221
|
o(this, "hasAttributes", () => Object.keys(this.properties).length > 0);
|
|
1210
1222
|
o(this, "hasHandlers", () => this.properties[C] != null);
|
|
1211
1223
|
o(this, "hasRenderableProperties", () => this.hasClasses() || this.hasAttributes() || this.hasStyles());
|
|
@@ -1231,8 +1243,8 @@ class Se {
|
|
|
1231
1243
|
} : (a) => t(a);
|
|
1232
1244
|
n[e] = [...n[e] ?? [], i];
|
|
1233
1245
|
const l = () => {
|
|
1234
|
-
const a = n[e] ?? [],
|
|
1235
|
-
|
|
1246
|
+
const a = n[e] ?? [], h = a.indexOf(i);
|
|
1247
|
+
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
1248
|
};
|
|
1237
1249
|
return (r == null ? void 0 : r.signal) != null && r.signal.addEventListener("abort", l), l;
|
|
1238
1250
|
});
|
|
@@ -1240,7 +1252,7 @@ class Se {
|
|
|
1240
1252
|
var r;
|
|
1241
1253
|
if (e.length === 0)
|
|
1242
1254
|
return;
|
|
1243
|
-
const t = (r = this.properties)[
|
|
1255
|
+
const t = (r = this.properties)[b] ?? (r[b] = []);
|
|
1244
1256
|
e.forEach((n) => {
|
|
1245
1257
|
t.includes(n) || t.push(n);
|
|
1246
1258
|
});
|
|
@@ -1249,29 +1261,29 @@ class Se {
|
|
|
1249
1261
|
var r;
|
|
1250
1262
|
if (e.length === 0)
|
|
1251
1263
|
return;
|
|
1252
|
-
const t = (r = this.properties)[
|
|
1264
|
+
const t = (r = this.properties)[b] ?? (r[b] = []);
|
|
1253
1265
|
e.forEach((n) => {
|
|
1254
1266
|
const i = t.indexOf(n);
|
|
1255
1267
|
i !== -1 && t.splice(i, 1);
|
|
1256
|
-
}), t.length === 0 && delete this.properties[
|
|
1268
|
+
}), t.length === 0 && delete this.properties[b];
|
|
1257
1269
|
});
|
|
1258
|
-
o(this, "getClasses", () => this.properties[
|
|
1270
|
+
o(this, "getClasses", () => this.properties[b] ?? []);
|
|
1259
1271
|
o(this, "getAttributes", () => Object.entries(this.properties).filter(
|
|
1260
1272
|
([e]) => !["innerText", "innerHTML"].includes(e)
|
|
1261
1273
|
));
|
|
1262
1274
|
o(this, "getVisibleAttributes", () => Reflect.ownKeys(this.properties).flatMap(
|
|
1263
|
-
(e) => e ===
|
|
1275
|
+
(e) => e === b ? [["class", this.getClasses()]] : e === _ ? [["style", this.getStyles()]] : typeof e == "string" ? [[e, String(this.properties[e])]] : []
|
|
1264
1276
|
));
|
|
1265
1277
|
o(this, "setStyle", (e, t) => {
|
|
1266
1278
|
var n;
|
|
1267
|
-
const r = (n = this.properties)[
|
|
1268
|
-
r[e] = t, t === "" && (delete r[e], Object.keys(r).length === 0 && delete this.properties[
|
|
1279
|
+
const r = (n = this.properties)[_] ?? (n[_] = {});
|
|
1280
|
+
r[e] = t, t === "" && (delete r[e], Object.keys(r).length === 0 && delete this.properties[_]);
|
|
1269
1281
|
});
|
|
1270
1282
|
o(this, "getStyle", (e) => {
|
|
1271
1283
|
var t;
|
|
1272
|
-
return ((t = this.properties[
|
|
1284
|
+
return ((t = this.properties[_]) == null ? void 0 : t[e]) ?? "";
|
|
1273
1285
|
});
|
|
1274
|
-
o(this, "getStyles", () => this.properties[
|
|
1286
|
+
o(this, "getStyles", () => this.properties[_] ?? {});
|
|
1275
1287
|
o(this, "makeAccessors", (e) => {
|
|
1276
1288
|
const t = this.properties;
|
|
1277
1289
|
return {
|
|
@@ -1283,20 +1295,20 @@ class Se {
|
|
|
1283
1295
|
}
|
|
1284
1296
|
}
|
|
1285
1297
|
const lt = (s) => s.replace(/"/g, """), ct = (s) => s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
1286
|
-
class at extends
|
|
1298
|
+
class at extends be {
|
|
1287
1299
|
constructor(t, r, n) {
|
|
1288
1300
|
super(n);
|
|
1289
1301
|
o(this, "isPortal", () => !1);
|
|
1290
1302
|
o(this, "toHTML", (t = !1) => {
|
|
1291
1303
|
const r = this.children.map((a) => a.toHTML()).join(""), n = this.namespace ? ` xmlns="${this.namespace}"` : "";
|
|
1292
1304
|
let i = null;
|
|
1293
|
-
const l = this.getVisibleAttributes().map(([a,
|
|
1305
|
+
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
1306
|
return ft.has(this.tagName) && r === "" ? `<${this.tagName}${n}${l}${c} />` : `<${this.tagName}${n}${l}${c}>${i ?? r}</${this.tagName}>`;
|
|
1295
1307
|
});
|
|
1296
1308
|
this.tagName = t, this.namespace = r;
|
|
1297
1309
|
}
|
|
1298
1310
|
}
|
|
1299
|
-
class
|
|
1311
|
+
class Se extends be {
|
|
1300
1312
|
constructor(t, r) {
|
|
1301
1313
|
super(r);
|
|
1302
1314
|
o(this, "isPortal", () => !0);
|
|
@@ -1351,7 +1363,7 @@ class O {
|
|
|
1351
1363
|
});
|
|
1352
1364
|
o(this, "makeRef", () => this.makeChildText(""));
|
|
1353
1365
|
o(this, "makePortal", (e) => {
|
|
1354
|
-
const t = new
|
|
1366
|
+
const t = new Se(e, this.element);
|
|
1355
1367
|
return this.appendOrInsert(t), new O(
|
|
1356
1368
|
t,
|
|
1357
1369
|
void 0,
|
|
@@ -1393,17 +1405,17 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1393
1405
|
]), ft = /* @__PURE__ */ new Set(["img", "br", "hr", "input", "link", "meta"]), Ae = (s) => (e) => {
|
|
1394
1406
|
const t = e.makeChildText(s);
|
|
1395
1407
|
return (r) => t.clear(r);
|
|
1396
|
-
},
|
|
1408
|
+
}, Ee = (s) => (e) => {
|
|
1397
1409
|
const t = e.makeChildText(s.value), r = s.on((n) => t.setText(n));
|
|
1398
1410
|
return (n) => {
|
|
1399
1411
|
r(), t.clear(n);
|
|
1400
1412
|
};
|
|
1401
|
-
}, Bt = (s) => d.is(s) ?
|
|
1413
|
+
}, Bt = (s) => d.is(s) ? Ee(s) : Ae(s), S = (...s) => (e) => {
|
|
1402
1414
|
const t = s.map((r) => f(r)(e));
|
|
1403
1415
|
return (r) => {
|
|
1404
1416
|
t.forEach((n) => n(r));
|
|
1405
1417
|
};
|
|
1406
|
-
},
|
|
1418
|
+
}, E = () => () => {
|
|
1407
1419
|
}, dt = (s) => (e) => (e.addClasses(s), (t) => {
|
|
1408
1420
|
t && e.removeClasses(s);
|
|
1409
1421
|
}), pt = (s) => (e) => {
|
|
@@ -1522,22 +1534,22 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1522
1534
|
}
|
|
1523
1535
|
), f = (s) => {
|
|
1524
1536
|
if (s == null)
|
|
1525
|
-
return
|
|
1537
|
+
return E;
|
|
1526
1538
|
if (Array.isArray(s))
|
|
1527
1539
|
return S(...s.map(f));
|
|
1528
1540
|
if (typeof s == "string")
|
|
1529
1541
|
return Ae(s);
|
|
1530
1542
|
if (d.is(s))
|
|
1531
|
-
return
|
|
1543
|
+
return Ee(s);
|
|
1532
1544
|
if (typeof s == "function")
|
|
1533
1545
|
return s;
|
|
1534
1546
|
throw new Error(`Unknown type: '${typeof s}' for child: ${s}`);
|
|
1535
|
-
},
|
|
1547
|
+
}, _e = (s, ...e) => (t) => {
|
|
1536
1548
|
const r = t.makeChildElement(s, void 0), n = e.map((i) => f(i)(r));
|
|
1537
1549
|
return (i) => {
|
|
1538
1550
|
n.forEach((l) => l(!1)), r.clear(i);
|
|
1539
1551
|
};
|
|
1540
|
-
},
|
|
1552
|
+
}, ve = (s, e, ...t) => (r) => {
|
|
1541
1553
|
const n = r.makeChildElement(s, e), i = t.map((l) => f(l)(n));
|
|
1542
1554
|
return (l) => {
|
|
1543
1555
|
i.forEach((c) => c(!1)), n.clear(l);
|
|
@@ -1550,7 +1562,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1550
1562
|
* @param tagName - The HTML tag name.
|
|
1551
1563
|
* @returns A renderable function that creates and appends the HTML element to the DOM.
|
|
1552
1564
|
*/
|
|
1553
|
-
get: (s, e) => (...t) =>
|
|
1565
|
+
get: (s, e) => (...t) => _e(e, t.flatMap(f))
|
|
1554
1566
|
}
|
|
1555
1567
|
), Yt = new Proxy(
|
|
1556
1568
|
{},
|
|
@@ -1560,7 +1572,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1560
1572
|
* @param type - The input type name.
|
|
1561
1573
|
* @returns A renderable function that creates and appends the HTMLInput element to the DOM.
|
|
1562
1574
|
*/
|
|
1563
|
-
get: (s, e) => (...t) =>
|
|
1575
|
+
get: (s, e) => (...t) => _e("input", M.type(e), ...t)
|
|
1564
1576
|
}
|
|
1565
1577
|
), gt = "http://www.w3.org/2000/svg", zt = new Proxy(
|
|
1566
1578
|
{},
|
|
@@ -1570,7 +1582,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1570
1582
|
* @param tagName - The SVG tag name.
|
|
1571
1583
|
* @returns A renderable function that creates and appends the SVG element to the DOM.
|
|
1572
1584
|
*/
|
|
1573
|
-
get: (s, e) => (...t) =>
|
|
1585
|
+
get: (s, e) => (...t) => ve(e, gt, t.flatMap(f))
|
|
1574
1586
|
}
|
|
1575
1587
|
), mt = "http://www.w3.org/1998/Math/MathML", Qt = new Proxy(
|
|
1576
1588
|
{},
|
|
@@ -1580,25 +1592,25 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1580
1592
|
* @param tagName - The Math tag name.
|
|
1581
1593
|
* @returns A renderable function that creates and appends the Math element to the DOM.
|
|
1582
1594
|
*/
|
|
1583
|
-
get: (s, e) => (...t) =>
|
|
1595
|
+
get: (s, e) => (...t) => ve(e, mt, t.flatMap(f))
|
|
1584
1596
|
}
|
|
1585
1597
|
), we = (s, e) => {
|
|
1586
1598
|
if (typeof e == "function")
|
|
1587
1599
|
return we(s, { then: e });
|
|
1588
|
-
const t = e.pending != null ? f(e.pending()) :
|
|
1600
|
+
const t = e.pending != null ? f(e.pending()) : E, r = e.then, n = e.error != null ? (i) => f(e.error(i)) : () => E;
|
|
1589
1601
|
return (i) => {
|
|
1590
1602
|
let l = !0;
|
|
1591
1603
|
const c = s(), a = i.makeRef();
|
|
1592
|
-
let
|
|
1604
|
+
let h = f(t)(a);
|
|
1593
1605
|
return c.then(
|
|
1594
|
-
(
|
|
1595
|
-
l && (
|
|
1606
|
+
(u) => {
|
|
1607
|
+
l && (h(!0), h = f(r(u))(a));
|
|
1596
1608
|
},
|
|
1597
|
-
(
|
|
1598
|
-
l && (
|
|
1609
|
+
(u) => {
|
|
1610
|
+
l && (h(!0), h = f(n(u))(a));
|
|
1599
1611
|
}
|
|
1600
|
-
), (
|
|
1601
|
-
l = !1, u
|
|
1612
|
+
), (u) => {
|
|
1613
|
+
l = !1, h(u), a.clear(u);
|
|
1602
1614
|
};
|
|
1603
1615
|
};
|
|
1604
1616
|
}, Zt = (s, e) => we(() => s, e), Ce = (s, e, t) => (r) => r.on(s, e, t), yt = (s) => Ce("click", (e) => {
|
|
@@ -1621,10 +1633,10 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1621
1633
|
), Tt = (s) => (e) => {
|
|
1622
1634
|
const t = e.target;
|
|
1623
1635
|
s(t.value);
|
|
1624
|
-
},
|
|
1636
|
+
}, bt = (s) => (e) => {
|
|
1625
1637
|
const t = e.target;
|
|
1626
1638
|
s(t.valueAsNumber);
|
|
1627
|
-
},
|
|
1639
|
+
}, St = (s) => (e) => {
|
|
1628
1640
|
const t = e.target;
|
|
1629
1641
|
if (t.value === "")
|
|
1630
1642
|
return;
|
|
@@ -1653,22 +1665,22 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1653
1665
|
e.stopPropagation(), s();
|
|
1654
1666
|
}, ss = (s) => (e) => {
|
|
1655
1667
|
e.stopImmediatePropagation(), s();
|
|
1656
|
-
}, rs = (s, e = "input") => S(M.valueAsDate(s), J[e](
|
|
1668
|
+
}, 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
1669
|
if (d.is(s))
|
|
1658
1670
|
return (r) => {
|
|
1659
1671
|
const n = r.makeRef();
|
|
1660
1672
|
let i, l;
|
|
1661
|
-
const c = s.map((
|
|
1673
|
+
const c = s.map((u) => Object.keys(u)[0]);
|
|
1662
1674
|
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 =
|
|
1675
|
+
const h = c.on((u) => {
|
|
1676
|
+
if (u !== a) {
|
|
1677
|
+
l == null || l.dispose(), i == null || i(!0), l = s.map((T) => T[u]);
|
|
1678
|
+
const m = e[u](l);
|
|
1679
|
+
i = f(m)(n), a = u;
|
|
1668
1680
|
}
|
|
1669
1681
|
});
|
|
1670
|
-
return (
|
|
1671
|
-
l == null || l.dispose(),
|
|
1682
|
+
return (u) => {
|
|
1683
|
+
l == null || l.dispose(), h(), n.clear(u), i == null || i(u);
|
|
1672
1684
|
};
|
|
1673
1685
|
};
|
|
1674
1686
|
const t = Object.keys(s)[0];
|
|
@@ -1680,12 +1692,12 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1680
1692
|
), cs = (s, e) => Pe(s, "kind", e), as = (s, e) => {
|
|
1681
1693
|
const t = y.map(s, ([r, n]) => ({ [r]: n }));
|
|
1682
1694
|
return G(t, e);
|
|
1683
|
-
}, us = (s, e) => Pe(s, "type", e),
|
|
1695
|
+
}, us = (s, e) => Pe(s, "type", e), Et = (s, e) => G(
|
|
1684
1696
|
y.map(s, (t) => ({ [t]: !0 })),
|
|
1685
1697
|
e
|
|
1686
1698
|
), hs = (s, e = {}) => (t) => {
|
|
1687
1699
|
const r = (e == null ? void 0 : e.firstSeparator) ?? s, n = (e == null ? void 0 : e.lastSeparator) ?? s;
|
|
1688
|
-
return
|
|
1700
|
+
return Et(
|
|
1689
1701
|
t.map((i) => i.isFirst ? "first" : i.isLast ? "last" : "other"),
|
|
1690
1702
|
{
|
|
1691
1703
|
first: r,
|
|
@@ -1712,33 +1724,33 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1712
1724
|
return r.push(e(n)(t)), (i) => {
|
|
1713
1725
|
r.forEach((l) => l(i));
|
|
1714
1726
|
};
|
|
1715
|
-
},
|
|
1727
|
+
}, _t = (s, e) => Le([s], (t) => f(e(t[s]))), ds = (s, e) => Le(s, (t) => f(e(t))), ps = (s) => (e) => {
|
|
1716
1728
|
const t = s(e);
|
|
1717
1729
|
return t == null ? () => {
|
|
1718
1730
|
} : f(t)(e);
|
|
1719
1731
|
}, gs = (s) => (e) => (e.appendOrInsert(s), (t) => {
|
|
1720
|
-
t &&
|
|
1721
|
-
}),
|
|
1732
|
+
t && R(s);
|
|
1733
|
+
}), vt = (s, e, t) => {
|
|
1722
1734
|
if (d.is(s)) {
|
|
1723
1735
|
const r = s;
|
|
1724
1736
|
return (n) => {
|
|
1725
1737
|
const i = n.makeRef();
|
|
1726
1738
|
let l = () => {
|
|
1727
1739
|
}, c = !1, a = null;
|
|
1728
|
-
const
|
|
1729
|
-
|
|
1740
|
+
const h = r.on((u) => {
|
|
1741
|
+
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
1742
|
i
|
|
1731
1743
|
), c = !0));
|
|
1732
1744
|
});
|
|
1733
|
-
return (
|
|
1734
|
-
a == null || a.dispose(),
|
|
1745
|
+
return (u) => {
|
|
1746
|
+
a == null || a.dispose(), h(), l == null || l(u), i.clear(u);
|
|
1735
1747
|
};
|
|
1736
1748
|
};
|
|
1737
1749
|
} else {
|
|
1738
1750
|
const r = s;
|
|
1739
1751
|
if (r == null) {
|
|
1740
1752
|
const n = t == null ? void 0 : t();
|
|
1741
|
-
return n != null ? f(n) :
|
|
1753
|
+
return n != null ? f(n) : E;
|
|
1742
1754
|
}
|
|
1743
1755
|
return f(e(W(r)));
|
|
1744
1756
|
}
|
|
@@ -1747,17 +1759,17 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1747
1759
|
if (s.some(
|
|
1748
1760
|
(p) => !d.is(p) && p == null
|
|
1749
1761
|
))
|
|
1750
|
-
return (t != null ? f(t == null ? void 0 : t()) :
|
|
1762
|
+
return (t != null ? f(t == null ? void 0 : t()) : E)(
|
|
1751
1763
|
n
|
|
1752
1764
|
);
|
|
1753
1765
|
const l = s.map(() => null), c = s.map(
|
|
1754
1766
|
(p) => d.is(p) ? p.value != null : p != null
|
|
1755
1767
|
);
|
|
1756
1768
|
let a = null;
|
|
1757
|
-
const
|
|
1769
|
+
const h = v(c.every((p) => p)), u = (p, g) => {
|
|
1758
1770
|
if (p.value != null) {
|
|
1759
1771
|
if (l[g] == null) {
|
|
1760
|
-
const w =
|
|
1772
|
+
const w = v(p.value);
|
|
1761
1773
|
l[g] = w;
|
|
1762
1774
|
} else
|
|
1763
1775
|
l[g].value = p.value;
|
|
@@ -1766,22 +1778,22 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1766
1778
|
c[g] = !1;
|
|
1767
1779
|
};
|
|
1768
1780
|
let m = s.length - 1;
|
|
1769
|
-
const
|
|
1781
|
+
const T = s.map((p, g) => {
|
|
1770
1782
|
if (!d.is(p)) {
|
|
1771
|
-
const w =
|
|
1783
|
+
const w = v(p);
|
|
1772
1784
|
return l[g] = w, () => {
|
|
1773
1785
|
};
|
|
1774
1786
|
}
|
|
1775
1787
|
return p.on(() => {
|
|
1776
|
-
|
|
1788
|
+
u(p, g), m === 0 ? h.value = c.every((w) => w) : m--;
|
|
1777
1789
|
});
|
|
1778
1790
|
});
|
|
1779
|
-
return
|
|
1780
|
-
a == null || a(!0), a = null, p ? a = f(e(...l))(n) : a = f((t == null ? void 0 : t()) ??
|
|
1791
|
+
return h.on((p) => {
|
|
1792
|
+
a == null || a(!0), a = null, p ? a = f(e(...l))(n) : a = f((t == null ? void 0 : t()) ?? E)(n);
|
|
1781
1793
|
}), (p) => {
|
|
1782
|
-
l.forEach((g) => g == null ? void 0 : g.dispose()),
|
|
1794
|
+
l.forEach((g) => g == null ? void 0 : g.dispose()), h.dispose(), T.forEach((g) => g()), a == null || a(p), n.clear(p);
|
|
1783
1795
|
};
|
|
1784
|
-
}, Z = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), xe = (s, e, t) =>
|
|
1796
|
+
}, Z = (...s) => (e) => (t) => s.forEach((r) => r(t, e)), xe = (s, e, t) => vt(
|
|
1785
1797
|
y.map(s, (r) => r ? !0 : null),
|
|
1786
1798
|
e,
|
|
1787
1799
|
t ?? void 0
|
|
@@ -1799,18 +1811,18 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1799
1811
|
f(e(r)),
|
|
1800
1812
|
xe(
|
|
1801
1813
|
r.isLast,
|
|
1802
|
-
() =>
|
|
1814
|
+
() => E,
|
|
1803
1815
|
() => t(n)
|
|
1804
1816
|
)
|
|
1805
1817
|
);
|
|
1806
1818
|
}) : d.is(s) ? (r) => {
|
|
1807
1819
|
const n = r.makeRef(), i = [], l = s.on((c) => {
|
|
1808
1820
|
const a = i.splice(c);
|
|
1809
|
-
for (const
|
|
1810
|
-
|
|
1811
|
-
for (let
|
|
1812
|
-
const
|
|
1813
|
-
i.push(f(e(
|
|
1821
|
+
for (const h of a)
|
|
1822
|
+
h(!0);
|
|
1823
|
+
for (let h = i.length; h < c; h++) {
|
|
1824
|
+
const u = new Y(h, s);
|
|
1825
|
+
i.push(f(e(u))(n));
|
|
1814
1826
|
}
|
|
1815
1827
|
});
|
|
1816
1828
|
return (c) => {
|
|
@@ -1844,7 +1856,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1844
1856
|
}
|
|
1845
1857
|
return () => {
|
|
1846
1858
|
};
|
|
1847
|
-
},
|
|
1859
|
+
}, bs = (s) => (e) => {
|
|
1848
1860
|
if (e.isHeadlessDOM()) {
|
|
1849
1861
|
const t = s(e);
|
|
1850
1862
|
if (t)
|
|
@@ -1852,7 +1864,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1852
1864
|
}
|
|
1853
1865
|
return () => {
|
|
1854
1866
|
};
|
|
1855
|
-
},
|
|
1867
|
+
}, Ss = (s) => wt((e) => s(e.element)), As = (s, e) => {
|
|
1856
1868
|
if (d.is(s)) {
|
|
1857
1869
|
const t = s;
|
|
1858
1870
|
return (r) => {
|
|
@@ -1869,7 +1881,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1869
1881
|
};
|
|
1870
1882
|
}
|
|
1871
1883
|
return f(e(s));
|
|
1872
|
-
},
|
|
1884
|
+
}, Es = (s, e, t = () => E) => G(
|
|
1873
1885
|
y.map(
|
|
1874
1886
|
s,
|
|
1875
1887
|
(r) => r.length > 0 ? { notEmpty: r } : { whenEmpty: null }
|
|
@@ -1878,10 +1890,10 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1878
1890
|
notEmpty: (r) => e(r),
|
|
1879
1891
|
whenEmpty: () => t()
|
|
1880
1892
|
}
|
|
1881
|
-
),
|
|
1893
|
+
), _s = (s, e) => (t) => {
|
|
1882
1894
|
const r = t.makePortal(s);
|
|
1883
1895
|
return Q(f(e), r);
|
|
1884
|
-
}, Ct = (s) => Symbol(s), De = (s, e) => (t) => f(e)(t.withProviders(s)),
|
|
1896
|
+
}, 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
1897
|
identifier: s,
|
|
1886
1898
|
callback: e = () => {
|
|
1887
1899
|
},
|
|
@@ -1906,7 +1918,7 @@ const ht = /* @__PURE__ */ new Set([
|
|
|
1906
1918
|
Z(() => clearTimeout(n)),
|
|
1907
1919
|
Pt(Me, i, t)
|
|
1908
1920
|
);
|
|
1909
|
-
}, xt = (s, e) =>
|
|
1921
|
+
}, xt = (s, e) => _t(Me, (t) => {
|
|
1910
1922
|
const r = P.get(s);
|
|
1911
1923
|
return r == null ? e(() => {
|
|
1912
1924
|
}) : (clearTimeout(r.timeoutId), r.counter++, e(() => t(s)));
|
|
@@ -1949,37 +1961,37 @@ export {
|
|
|
1949
1961
|
L as Computed,
|
|
1950
1962
|
hs as Conjunction,
|
|
1951
1963
|
gs as DOMNode,
|
|
1952
|
-
|
|
1953
|
-
|
|
1964
|
+
_e as El,
|
|
1965
|
+
ve as ElNS,
|
|
1954
1966
|
Y as ElementPosition,
|
|
1955
|
-
|
|
1956
|
-
|
|
1967
|
+
E as Empty,
|
|
1968
|
+
vt as Ensure,
|
|
1957
1969
|
ms as EnsureAll,
|
|
1958
1970
|
Ts as ForEach,
|
|
1959
1971
|
S as Fragment,
|
|
1960
1972
|
qt as HeadlessAdapter,
|
|
1961
1973
|
O as HeadlessContext,
|
|
1962
1974
|
at as HeadlessElement,
|
|
1963
|
-
|
|
1975
|
+
Se as HeadlessPortal,
|
|
1964
1976
|
ut as HeadlessText,
|
|
1965
1977
|
As as MapSignal,
|
|
1966
1978
|
le as MemoryStore,
|
|
1967
|
-
|
|
1979
|
+
Es as NotEmpty,
|
|
1968
1980
|
wt as OnBrowserCtx,
|
|
1969
1981
|
yt as OnChecked,
|
|
1970
1982
|
ps as OnCtx,
|
|
1971
1983
|
Z as OnDispose,
|
|
1972
|
-
|
|
1973
|
-
|
|
1984
|
+
Ss as OnElement,
|
|
1985
|
+
bs as OnHeadlessCtx,
|
|
1974
1986
|
G as OneOf,
|
|
1975
1987
|
Pe as OneOfField,
|
|
1976
1988
|
cs as OneOfKind,
|
|
1977
1989
|
as as OneOfTuple,
|
|
1978
1990
|
us as OneOfType,
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1991
|
+
Et as OneOfValue,
|
|
1992
|
+
_s as Portal,
|
|
1993
|
+
N as Prop,
|
|
1994
|
+
vs as Provide,
|
|
1983
1995
|
Cs as ProvideGlobalProbe,
|
|
1984
1996
|
Lt as ProvideProbe,
|
|
1985
1997
|
ge as ProviderNotFoundError,
|
|
@@ -1992,7 +2004,7 @@ export {
|
|
|
1992
2004
|
fs as Use,
|
|
1993
2005
|
Ps as UseGlobalProbe,
|
|
1994
2006
|
xt as UseProbe,
|
|
1995
|
-
|
|
2007
|
+
_t as UseProvider,
|
|
1996
2008
|
ds as UseProviders,
|
|
1997
2009
|
y as Value,
|
|
1998
2010
|
xe as When,
|
|
@@ -2003,10 +2015,10 @@ export {
|
|
|
2003
2015
|
pe as _isElement,
|
|
2004
2016
|
Je as _makeGetter,
|
|
2005
2017
|
We as _makeSetter,
|
|
2006
|
-
|
|
2007
|
-
|
|
2018
|
+
R as _removeDOMNode,
|
|
2019
|
+
Ee as _signalText,
|
|
2008
2020
|
Ae as _staticText,
|
|
2009
|
-
|
|
2021
|
+
Nt as animateSignal,
|
|
2010
2022
|
Ue as animateSignals,
|
|
2011
2023
|
Wt as aria,
|
|
2012
2024
|
M as attr,
|
|
@@ -2016,24 +2028,24 @@ export {
|
|
|
2016
2028
|
ss as emitStopImmediatePropagation,
|
|
2017
2029
|
ts as emitStopPropagation,
|
|
2018
2030
|
Tt as emitValue,
|
|
2019
|
-
|
|
2031
|
+
St as emitValueAsDate,
|
|
2020
2032
|
At as emitValueAsDateTime,
|
|
2021
|
-
|
|
2033
|
+
bt as emitValueAsNumber,
|
|
2022
2034
|
je as endInterpolate,
|
|
2023
2035
|
oe as getWindow,
|
|
2024
2036
|
qe as guessInterpolate,
|
|
2025
2037
|
Xt as html,
|
|
2026
2038
|
Yt as input,
|
|
2027
2039
|
Ve as interpolateDate,
|
|
2028
|
-
|
|
2029
|
-
|
|
2040
|
+
Ne as interpolateNumber,
|
|
2041
|
+
Re as interpolateString,
|
|
2030
2042
|
kt as localStorageProp,
|
|
2031
2043
|
z as makeComputed,
|
|
2032
2044
|
Ht as makeComputedOf,
|
|
2033
|
-
|
|
2045
|
+
Rt as makeComputedRecord,
|
|
2034
2046
|
Be as makeEffect,
|
|
2035
2047
|
$t as makeEffectOf,
|
|
2036
|
-
|
|
2048
|
+
v as makeProp,
|
|
2037
2049
|
Ct as makeProviderMark,
|
|
2038
2050
|
W as makeSignal,
|
|
2039
2051
|
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
|
};
|