@tempots/dom 24.0.0-next.0 → 24.0.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +1 -1
- package/index.js +55 -76
- package/package.json +1 -1
- package/renderable/render.d.ts +6 -2
- package/dom/ssr.d.ts +0 -0
package/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var st=Object.defineProperty;var de=r=>{throw TypeError(r)};var nt=(r,e,t)=>e in r?st(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var i=(r,e,t)=>nt(r,typeof e!="symbol"?e+"":e,t),fe=(r,e,t)=>e.has(r)||de("Cannot "+t);var M=(r,e,t)=>(fe(r,e,"read from private field"),t?t.call(r):e.get(r)),pe=(r,e,t)=>e.has(r)?de("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),z=(r,e,t,s)=>(fe(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ye=(r,e,t)=>r+(e-r)*t,me=97,we=(r,e,t)=>{const s=Math.max(r.length,e.length);let n="";for(let o=0;o<s;o++){let l=r.charCodeAt(o);isNaN(l)&&(l=me);let a=e.charCodeAt(o);isNaN(a)&&(a=me),n+=String.fromCharCode(l+(a-l)*t)}return n},_e=(r,e,t)=>new Date(r.getTime()+(e.getTime()-r.getTime())*t),Pe=(r,e)=>e,ve=r=>typeof r=="number"?ye:typeof r=="string"?we:r instanceof Date?_e:Pe;var w;class D{constructor(e,t){i(this,"counter");i(this,"isFirst");i(this,"isEven");i(this,"isOdd");pe(this,w);i(this,"dispose",()=>{M(this,w)!=null&&(M(this,w).dispose(),z(this,w,void 0))});this.index=e,this.total=t,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}get isLast(){return M(this,w)==null&&z(this,w,this.total.map(e=>this.counter===e)),M(this,w)}}w=new WeakMap;const L=class L{constructor(e,t){i(this,"$__signal__",!0);i(this,"_value");i(this,"_derivatives",[]);i(this,"_onValueListeners",[]);i(this,"_onDisposeListeners",[]);i(this,"get",()=>this._value);i(this,"hasListeners",()=>this._onValueListeners.length>0);i(this,"on",e=>(e(this.get()),this._onValueListeners.push(e),()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(e),1)}));i(this,"_setAndNotify",(e,t)=>{const s=this.equals(this._value,e);s||(this._value=e),(t||!s)&&this._onValueListeners.forEach(n=>n(e))});i(this,"_disposed",!1);i(this,"isDisposed",()=>this._disposed);i(this,"onDispose",e=>{this._onDisposeListeners.push(e)});i(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});i(this,"map",(e,t=(s,n)=>s===n)=>{const s=new S(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(s),s});i(this,"flatMap",(e,t=(s,n)=>s===n)=>{const s=new S(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(s),s});i(this,"tap",e=>this.map(t=>(e(t),t)));i(this,"at",e=>this.map(t=>t[e]));i(this,"_$");i(this,"filter",(e,t)=>{let s=t??this.get();const n=new S(()=>{try{const o=this.get();return s=e(o)?o:s}catch(o){throw console.error("Error in Signal.filter:",o),o}},this.equals);return this.setDerivative(n),n});i(this,"filterMap",(e,t,s=(n,o)=>n===o)=>{let n=t;const o=new S(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},s);return this.setDerivative(o),o});i(this,"mapAsync",(e,t,s,n=(o,l)=>o===l)=>{const o=k(t,n);let l=0,a=new AbortController;return o.onDispose(this.on(async c=>{const d=++l;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});d===l&&o.set(h)}catch(h){if(d===l)if(s!=null)o.set(s(h));else throw h}})),o});i(this,"mapMaybe",(e,t)=>this.map(s=>e(s)??t));i(this,"feedProp",(e,t=!1)=>{const s=this.on(e.set);return e.onDispose(s),t?this.onDispose(e.dispose):this.onDispose(s),e});i(this,"deriveProp",(e=!0)=>this.feedProp(k(this.get()),e));i(this,"count",()=>{let e=0;return this.map(()=>++e)});i(this,"setDerivative",e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty)),this.onDispose(e.dispose)});this.equals=t,this._value=e}get value(){return this._value}get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,t)=>this.at(t)})}};i(L,"ofPromise",(e,t,s,n=(o,l)=>o===l)=>{const o=new L(t,n);return e.then(l=>o._setAndNotify(l,!1)).catch(l=>{s!=null?o._setAndNotify(s(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),o}),i(L,"is",e=>e!=null&&e.$__signal__===!0);let f=L;const it=typeof queueMicrotask=="function"?queueMicrotask:r=>Promise.resolve().then(r);class S extends f{constructor(t,s){super(void 0,s);i(this,"$__computed__",!0);i(this,"_isDirty",!1);i(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});i(this,"_scheduleCount",0);i(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;it(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});i(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._value=this._fn(),this._setAndNotify(this._value,!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const q=class q extends f{constructor(){super(...arguments);i(this,"$__prop__",!0);i(this,"set",t=>{this._setAndNotify(t,!1)});i(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});i(this,"reducer",(t,...s)=>{const n=this;return function o(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&s.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:o}))}});i(this,"iso",(t,s,n=(o,l)=>o===l)=>{const o=new q(t(this.get()),n);return o.onDispose(this.on(l=>o.set(t(l)))),o.on(l=>this._setAndNotify(s(l),!1)),o});i(this,"atProp",t=>this.iso(s=>s[t],s=>({...this.value,[t]:s})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};i(q,"is",t=>t!=null&&t.$__prop__===!0);let N=q;const F=(r,e,t=(s,n)=>s===n)=>{const s=new S(r,t);return e.forEach(n=>n.setDerivative(s)),s},Se=(r,e)=>F(r,e).dispose,k=(r,e=(t,s)=>t===s)=>new N(r,e),$=(r,e=(t,s)=>t===s)=>new f(r,e),J=()=>typeof window<"u"?window:void 0,p={map:(r,e)=>f.is(r)?r.map(e):e(r),toSignal:(r,e)=>f.is(r)?r:$(r,e),maybeToSignal:(r,e)=>{if(r!=null)return p.toSignal(r,e)},get:r=>f.is(r)?r.get():r,on:(r,e)=>f.is(r)?r.on(e):(e(r),()=>{}),dispose:r=>{f.is(r)&&r.dispose()}},ot=(...r)=>(e,t)=>{const s=r.filter(n=>f.is(n));return F(()=>e(...r.map(n=>p.get(n))),s,t)},lt=(...r)=>e=>{const t=r.filter(s=>f.is(s));Se(()=>e(...r.map(p.get)),t)};class Q{constructor(){i(this,"_store",new Map);i(this,"getItem",e=>this._store.get(e)??null);i(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const X=({key:r,defaultValue:e,store:t,serialize:s=JSON.stringify,deserialize:n=JSON.parse,equals:o=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(r),c=new N(a!=null?l(n(a)):typeof e=="function"?e():e,o);return c.on(d=>{t.setItem(r,s(d))}),c},at=r=>{var e;return X({...r,store:((e=J())==null?void 0:e.localStorage)??new Q})},ct=r=>{var e;return X({...r,store:((e=J())==null?void 0:e.sessionStorage)??new Q})};function ge(r){return typeof requestAnimationFrame=="function"?requestAnimationFrame(r):setTimeout(r,0)}const Ce=(r,e,t,s)=>{const n=(s==null?void 0:s.duration)??300,o=(s==null?void 0:s.easing)??(y=>y),l=(s==null?void 0:s.equals)??((y,j)=>y===j);let a=s==null?void 0:s.interpolate,c=r,d=e(),h=performance.now(),O=null,A=!0;const G=new S(e,l),b=k(r,l);b.onDispose(()=>{O!==null&&cancelAnimationFrame(O)}),b.onDispose(G.dispose),t.forEach(y=>{y.setDerivative(G),y.onDispose(b.dispose)});const tt=y=>{d=y,h=performance.now(),c=b.value,A&&(A=!1,O=ge(ue))},ue=()=>{const j=(performance.now()-h)/p.get(n),rt=o(j);a==null&&(a=ve(c));let he=a(c,d,rt);j>=1?(A=!0,he=d):O=ge(ue),b.set(he)};return G.on(tt),b},ut=(r,e)=>{const{initialValue:t,...s}=e??{};return Ce(t??r.get(),r.get,[r],s)},ht=(r,e)=>{const{signals:t,literals:s}=Object.entries(r).reduce(({signals:o,literals:l},[a,c])=>(f.is(c)?o.push([a,c]):l[a]=c,{signals:o,literals:l}),{signals:[],literals:{}}),n=t.map(([,o])=>o);return F(()=>(t.forEach(([o,l])=>s[o]=l.value),e(s)),n)},Te=new Set(["checked","disabled","hidden","selected"]),xe=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Oe=new Set(["valueAsDate"]),be=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ee=(r,e)=>Te.has(r)?t=>{t==null?e[r]=null:e[r]=!!t}:xe.has(r)?t=>{t==null?e[r]=null:e[r]=Number(t)}:Oe.has(r)?t=>{t==null?e[r]=null:e[r]=t}:be.has(r)?t=>{t==null?e[r]=null:e[r]=String(t)}:t=>{t==null?e.removeAttribute(r):e.setAttribute(r,t)},De=(r,e)=>Te.has(r)?()=>!!e[r]:xe.has(r)?()=>Number(e[r]):Oe.has(r)?()=>e[r]:be.has(r)?()=>String(e[r]):()=>e.getAttribute(r),B=r=>{const e=r;e&&e.onblur&&(e.onblur=null),!(!r||r.ownerDocument===void 0)&&r.parentElement&&r.parentElement.removeChild(r)},ke=r=>Y(r)?r:r.parentElement,Y=r=>r.nodeType===1;class Z extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class C{constructor(e,t,s,n){i(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));i(this,"makeChildElement",(e,t)=>{const s=this.createElement(e,t);return this.appendOrInsert(s),this.withElement(s)});i(this,"createText",e=>this.document.createTextNode(e));i(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});i(this,"setText",e=>{this.reference.nodeValue=e});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});i(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});i(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});i(this,"withElement",e=>new C(this.document,e,void 0,this.providers));i(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)});i(this,"withReference",e=>new C(this.document,this.element,e,this.providers));i(this,"withProviders",e=>new C(this.document,this.element,this.reference,{...this.providers,...e}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Z(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?B(this.reference):B(this.element))});i(this,"addClasses",e=>{this.element.classList.add(...e)});i(this,"removeClasses",e=>{this.element.classList.remove(...e)});i(this,"getClasses",()=>Array.from(this.element.classList));i(this,"on",(e,t)=>(this.element.addEventListener(e,t),s=>{s&&this.element.removeEventListener(e,t)}));i(this,"isBrowserDOM",()=>!0);i(this,"isHeadlessDOM",()=>!1);i(this,"setStyle",(e,t)=>{this.element.style.setProperty(e,t)});i(this,"getStyle",e=>this.element.style.getPropertyValue(e));i(this,"makeAccessors",e=>({get:De(e,this.element),set:Ee(e,this.element)}));this.document=e,this.element=t,this.reference=s,this.providers=n}static of(e,t){return new C(e.ownerDocument,e,t,{})}}const g=Symbol("class"),P=Symbol("style"),E=Symbol("handler"),Ae=()=>Math.random().toString(36).substring(2,15),dt=r=>r.replace(/<[^>]*>?/g,"");class Me{constructor(e){i(this,"id",Ae());i(this,"properties",{});i(this,"children",[]);i(this,"isElement",()=>!0);i(this,"isText",()=>!1);i(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?dt(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));i(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});i(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});i(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});i(this,"elements",()=>this.children.filter(e=>e.isElement()));i(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);i(this,"getInnerHTML",()=>this.properties.innerHTML??"");i(this,"getInnerText",()=>this.properties.innerText??"");i(this,"hasInnerText",()=>this.properties.innerText!=null);i(this,"hasChildren",()=>this.children.length>0);i(this,"hasClasses",()=>this.properties[g]!=null);i(this,"hasStyles",()=>this.properties[P]!=null);i(this,"hasAttributes",()=>Object.keys(this.properties).length>0);i(this,"hasHandlers",()=>this.properties[E]!=null);i(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());i(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const s=t.getById(e);if(s!=null)return s}});i(this,"trigger",(e,t)=>{((this.properties[E]??{})[e]??[]).forEach(n=>n(t))});i(this,"click",()=>{this.trigger("click",{})});i(this,"on",(e,t)=>{var o;const s=(o=this.properties)[E]??(o[E]={}),n=t;return s[e]=[...s[e]??[],n],()=>{const l=s[e]??[],a=l.indexOf(n);a!==-1&&(l.splice(a,1),l.length===0?(delete s[e],Object.keys(s).length===0&&delete this.properties[E]):s[e]=l)}});i(this,"addClasses",e=>{var s;if(e.length===0)return;const t=(s=this.properties)[g]??(s[g]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});i(this,"removeClasses",e=>{var s;if(e.length===0)return;const t=(s=this.properties)[g]??(s[g]=[]);e.forEach(n=>{const o=t.indexOf(n);o!==-1&&t.splice(o,1)}),t.length===0&&delete this.properties[g]});i(this,"getClasses",()=>this.properties[g]??[]);i(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));i(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===g?[["class",this.getClasses()]]:e===P?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));i(this,"setStyle",(e,t)=>{var n;const s=(n=this.properties)[P]??(n[P]={});s[e]=t,t===""&&(delete s[e],Object.keys(s).length===0&&delete this.properties[P])});i(this,"getStyle",e=>{var t;return((t=this.properties[P])==null?void 0:t[e])??""});i(this,"getStyles",()=>this.properties[P]??{});i(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:s=>t[e]=s}});this.parent=e}}const ft=r=>r.replace(/"/g,"""),pt=r=>r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");class Le extends Me{constructor(t,s,n){super(n);i(this,"isPortal",()=>!1);i(this,"toHTML",()=>{const t=this.children.map(l=>l.toHTML()).join(""),s=this.namespace?` xmlns="${this.namespace}"`:"";let n=null;const o=this.getVisibleAttributes().map(([l,a])=>l==="class"?` class="${a.join(" ")}"`:l==="style"?typeof a=="string"?` style="${a}"`:` style="${Object.entries(a).map(([c,d])=>`${c}: ${d};`).join(" ")}"`:mt.has(l)?` ${l}`:l==="innerHTML"?(n=a,""):l==="innerText"?(n=pt(a),""):` ${l}="${ft(a)}"`).join("");return gt.has(this.tagName)&&t===""?`<${this.tagName}${s}${o} />`:`<${this.tagName}${s}${o}>${n??t}</${this.tagName}>`});this.tagName=t,this.namespace=s}}class K extends Me{constructor(t,s){super(s);i(this,"isPortal",()=>!0);i(this,"toHTML",()=>"");i(this,"contentToHTML",()=>this.children.map(t=>t.toHTML()).join(""));this.selector=t}}class Ne{constructor(e){i(this,"id",Ae());i(this,"isElement",()=>!1);i(this,"isText",()=>!0);i(this,"getText",()=>this.text);i(this,"toHTML",()=>this.text);this.text=e}}class T{constructor(e,t,s,n){i(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});i(this,"makeChildElement",(e,t)=>{const s=new Le(e,t,this.element);return this.appendOrInsert(s),new T(s,void 0,this.container,this.providers)});i(this,"makeChildText",e=>{const t=new Ne(e);return this.appendOrInsert(t),new T(this.element,t,this.container,this.providers)});i(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});i(this,"makeRef",()=>this.makeChildText(""));i(this,"makePortal",e=>{const t=new K(e,this.element);return this.appendOrInsert(t),new T(t,void 0,this.container,this.providers)});i(this,"withProviders",e=>new T(this.element,this.reference,this.container,{...this.providers,...e}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Z(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});i(this,"on",(e,t)=>this.element.on(e,t));i(this,"addClasses",e=>this.element.addClasses(e));i(this,"removeClasses",e=>this.element.removeClasses(e));i(this,"getClasses",()=>this.element.getClasses());i(this,"isBrowserDOM",()=>!1);i(this,"isHeadlessDOM",()=>!0);i(this,"setStyle",(e,t)=>this.element.setStyle(e,t));i(this,"getStyle",e=>this.element.getStyle(e));i(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=s,this.providers=n}}const mt=new Set(["checked","disabled","multiple","readonly","required","selected"]),gt=new Set(["img","br","hr","input","link","meta"]),ee=r=>e=>{const t=e.makeChildText(r);return s=>t.clear(s)},te=r=>e=>{const t=e.makeChildText(r.value),s=r.on(n=>t.setText(n));return n=>{s(),t.clear(n)}},yt=r=>f.is(r)?te(r):ee(r),m=(...r)=>e=>{const t=r.map(s=>u(s)(e));return s=>{t.forEach(n=>n(s))}},_=()=>()=>{},wt=r=>e=>(e.addClasses(r),t=>{t&&e.removeClasses(r)}),_t=r=>e=>{let t=[];const s=r.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(o=>o.length>0),e.addClasses(t)});return n=>{s(),n&&e.removeClasses(t),t.length=0}},H=(r,e)=>t=>{const{get:s,set:n}=t.makeAccessors(r),o=s();return n(e),l=>{l&&n(o)}},V=(r,e)=>t=>{const{get:s,set:n}=t.makeAccessors(r),o=s(),l=e.on(n);return a=>{l(),a&&n(o)}},x=new Proxy({},{get:(r,e)=>e==="class"?t=>f.is(t)?_t(t):wt((t??"").split(" ").filter(s=>s.length>0)):t=>f.is(t)?V(e,t):H(e,t)}),Pt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(`data-${e}`,t):H(`data-${e}`,t)}),vt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(`aria-${e}`,t):H(`aria-${e}`,t)}),St=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(e,t):H(e,t)}),Ct=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(e,t):H(e,t)}),u=r=>{if(r==null)return _;if(Array.isArray(r))return m(...r.map(u));if(typeof r=="string")return ee(r);if(f.is(r))return te(r);if(typeof r=="function")return r;throw new Error(`Unknown type: '${typeof r}' for child: ${r}`)},re=(r,...e)=>t=>{const s=t.makeChildElement(r,void 0),n=e.map(o=>u(o)(s));return o=>{n.forEach(l=>l(!1)),s.clear(o)}},se=(r,e,...t)=>s=>{const n=s.makeChildElement(r,e),o=t.map(l=>u(l)(n));return l=>{o.forEach(a=>a(!1)),n.clear(l)}},Tt=new Proxy({},{get:(r,e)=>(...t)=>re(e,t.flatMap(u))}),xt=new Proxy({},{get:(r,e)=>(...t)=>re("input",x.type(e),...t)}),Ot="http://www.w3.org/2000/svg",bt=new Proxy({},{get:(r,e)=>(...t)=>se(e,Ot,t.flatMap(u))}),Et="http://www.w3.org/1998/Math/MathML",Dt=new Proxy({},{get:(r,e)=>(...t)=>se(e,Et,t.flatMap(u))}),ne=(r,e)=>{if(typeof e=="function")return ne(r,{then:e});const t=e.pending!=null?u(e.pending):_,s=e.then,n=e.error!=null?o=>u(e.error(o)):()=>_;return o=>{let l=!0;const a=r(),c=o.makeRef();let d=u(t)(c);return a.then(h=>{l&&(d(!0),d=u(s(h))(c))},h=>{l&&(d(!0),d=u(n(h))(c))}),h=>{l=!1,d(h),c.clear(h)}}},kt=(r,e)=>ne(()=>r,e),$e=(r,e)=>t=>t.on(r,e),He=r=>$e("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const s=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;s!=null&&r(!s)},0)}),I=new Proxy({},{get:(r,e)=>t=>$e(e,t)}),Ve=r=>e=>{const t=e.target;r(t.value)},Ie=r=>e=>{const t=e.target;r(t.valueAsNumber)},Re=r=>e=>{const t=e.target;if(t.value==="")return;const s=t.value.split("-"),n=new Date(Number(s[0]),Number(s[1])-1,Number(s[2].substring(0,2)));r(n)},je=r=>e=>{const t=e.target;if(t.value==="")return;const s=t.value.split("T"),n=s[0].split("-"),o=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=s[1].split(":");o.setHours(Number(l[0])),o.setMinutes(Number(l[1])),o.setSeconds(Number(l[2])),r(o)},At=r=>e=>{const t=e.target;r(t.checked)},Mt=r=>e=>{e.preventDefault(),r()},Lt=r=>e=>{e.stopPropagation(),r()},Nt=r=>e=>{e.stopImmediatePropagation(),r()},$t=(r,e="input")=>m(x.valueAsDate(r),I[e](Re(r.set))),Ht=(r,e="input")=>m(x.valueAsDate(r),I[e](je(r.set))),Vt=(r,e="input")=>m(x.valueAsNumber(r),I[e](Ie(r.set))),It=(r,e="input")=>m(x.value(r),I[e](Ve(r.set))),Rt=r=>m(x.checked(r),He(r.set)),R=(r,e)=>{if(f.is(r))return s=>{const n=s.makeRef();let o,l;const a=r.map(h=>Object.keys(h)[0]);let c;const d=a.on(h=>{if(h!==c){l==null||l.dispose(),o==null||o(!0),l=r.map(A=>A[h]);const O=e[h](l);o=u(O)(n),c=h}});return h=>{d(),n.clear(h),o==null||o(h)}};const t=Object.keys(r)[0];return u(e[t]($(r[t])))},ie=(r,e,t)=>R(p.map(r,s=>({[s[e]]:s})),t),jt=(r,e)=>ie(r,"kind",e),Bt=(r,e)=>{const t=p.map(r,([s,n])=>({[s]:n}));return R(t,e)},Ut=(r,e)=>ie(r,"type",e),Be=(r,e)=>R(p.map(r,t=>({[t]:!0})),e),qt=(r,e={})=>t=>{const s=(e==null?void 0:e.firstSeparator)??r,n=(e==null?void 0:e.lastSeparator)??r;return Be(t.map(o=>o.isFirst?"first":o.isLast?"last":"other"),{first:()=>s,last:()=>n,other:()=>r})},Ue=(r,e)=>t=>{const s=Object.values(r).reduce((n,o)=>{const l=t.getProvider(o);return n[o]=l,n},{});return u(e(s))(t)},Ft=(r,e)=>t=>{const s=[],n=Object.entries(r).reduce((o,[l,a])=>(s.push(a(c=>(Reflect.set(o,l,c),null))(t)),o),{});return s.push(e(n)(t)),o=>{s.forEach(l=>l(o))}},qe=(r,e)=>Ue([r],t=>u(e(t[r]))),Wt=(r,e)=>Ue(r,t=>u(e(t))),Gt=r=>e=>r(e)??(()=>{}),zt=r=>e=>(e.appendOrInsert(r),t=>{t&&B(r)}),Fe=(r,e,t)=>{if(f.is(r)){const s=r;return n=>{const o=n.makeRef();let l=null,a=!1;const c=k(null),d=s.on(h=>{h==null?(l==null||l(!0),l=u((t==null?void 0:t())??_)(o),a=!1):(c.value=h,a||(l==null||l(!0),l=u(e(c))(o),a=!0))});return h=>{d(),l==null||l(h),o.clear(h)}}}else{const s=r;if(s==null){const n=t==null?void 0:t();return n!=null?u(n):_}return u(e($(s)))}},U=r=>e=>t=>r(t,e),oe=(r,e,t)=>le(r,()=>e,()=>t),le=(r,e,t)=>Fe(p.map(r,s=>s?!0:null),e,t??void 0),Jt=(r,e,t)=>We(r,()=>e,()=>t),We=(r,e,t)=>le(p.map(r,s=>!s),e,t),ae=(r,e,t)=>t!=null?ae(r,s=>{const n=new D(s.index,s.total.map(o=>o-1));return m(U(n.dispose),u(e(s)),oe(s.isLast,_,t(n)))}):f.is(r)?s=>{const n=s.makeRef(),o=Array.from({length:r.value},(c,d)=>d).map(c=>new D(c,r)),l=o.map(c=>u(e(c))(n)),a=r.on(c=>{for(;c<l.length;)o.pop().dispose(),l.pop()(!0);for(let d=0;d<c;d++)if(o[d]==null){o[d]=new D(d,r);const h=u(e(o[d]));l[d]=h(n)}});return c=>{a(),n.clear(c)}}:m(...Array.from({length:r},(s,n)=>n).map(s=>u(e(new D(s,$(r)))))),Ge=(r,e,t)=>{if(t!=null)return Ge(r,(s,n)=>{const o=new D(n.index,n.total.map(l=>l-1));return m([U(o.dispose),u(e(s,n)),oe(n.isLast,_,t(o))])});{const s=p.map(r,o=>o.length),n=p.toSignal(r);return ae(s,o=>{const l=n.map(a=>a[o.index]);return m(U(l.dispose),u(e(l,o)))})}},ze=r=>e=>e.isBrowserDOM()?r(e)??(()=>{}):()=>{},Qt=r=>e=>e.isHeadlessDOM()?r(e)??(()=>{}):()=>{},Xt=r=>ze(e=>r(e.element)??(()=>{})),Yt=(r,e)=>{if(f.is(r)){const t=r;return s=>{s=s.makeRef();const n=t.map(a=>u(e(a)));let o=()=>{};const l=n.on(a=>{o(!0),o=a(s)});return a=>{l(),o(a)}}}return u(e(r))},Zt=(r,e,t=()=>_)=>R(p.map(r,s=>s.length>0?{notEmpty:s}:{whenEmpty:null}),{notEmpty:s=>e(s),whenEmpty:()=>t()}),W=(r,e)=>{const t=r(e);return()=>t(!0)},Kt=(r,e,{doc:t,clear:s}={})=>{const n=typeof e=="string"?(t??document).querySelector(e):e;if(n===null)throw new Je(`Cannot find element by selector for render: ${e}`);s!==!1&&(t??n.ownerDocument)!=null&&n.nodeType===1&&(n.innerHTML="");const o=ke(n),l=Y(n)?void 0:n,a=C.of(o,l);return W(r,a)},er=(r,e)=>{const t=k(e),s=new K(":root",void 0),n=new T(s,void 0,{currentURL:t},{});return{clear:W(r,n),root:s,currentURL:t}};class Je extends Error{constructor(e){super(e)}}const tr=(r,e)=>t=>{const s=t.makePortal(r);return W(u(e),s)},Qe=r=>Symbol(r),Xe=(r,e)=>t=>u(e)(t.withProviders(r)),rr=(...r)=>r.length>0?r.reduceRight((e,t)=>s=>e(t(s))):u,Ye=(r,e,t)=>Xe({[r]:e},u(t)),sr=(r,e)=>Xe(r,u(e)),ce=Qe("Probe"),v=new Map,Ze=(r,e,t)=>{if(v.has(r))throw new Error(`Probe already exists: ${r.description}`);return v.set(r,0),Ye(ce,n=>{let o=v.get(n);if(o==null)throw new Error(`Probe not found: ${n.description}`);--o===0?(e(),v.delete(n)):v.set(n,o)},t)},Ke=(r,e)=>qe(ce,t=>{const s=v.get(r);if(s==null)throw new Error(`Probe not found: ${r.description}`);return v.set(r,s+1),e(()=>t(r))}),et=Symbol("globalProbe"),nr=(r,e)=>Ze(et,r,e),ir=r=>Ke(et,r),or=(r,e)=>t=>{const s=t.getStyle(r);return t.setStyle(r,e),n=>{n&&t.setStyle(r,s)}},lr=(r,e)=>t=>{const s=t.getStyle(r);return e.on(n=>t.setStyle(r,n)),n=>{n&&t.setStyle(r,s)}},ar=new Proxy({},{get:(r,e)=>t=>f.is(t)?lr(e,t):or(e,t)});exports.Async=kt;exports.BindChecked=Rt;exports.BindDate=$t;exports.BindDateTime=Ht;exports.BindNumber=Vt;exports.BindText=It;exports.BrowserContext=C;exports.Computed=S;exports.Conjunction=qt;exports.DOMNode=zt;exports.El=re;exports.ElNS=se;exports.ElementPosition=D;exports.Empty=_;exports.Ensure=Fe;exports.ForEach=Ge;exports.Fragment=m;exports.HeadlessContext=T;exports.HeadlessElement=Le;exports.HeadlessPortal=K;exports.HeadlessText=Ne;exports.LazyUnless=We;exports.LazyWhen=le;exports.MapSignal=Yt;exports.MemoryStore=Q;exports.NotEmpty=Zt;exports.OnBrowserCtx=ze;exports.OnChecked=He;exports.OnCtx=Gt;exports.OnDispose=U;exports.OnElement=Xt;exports.OnHeadlessCtx=Qt;exports.OneOf=R;exports.OneOfField=ie;exports.OneOfKind=jt;exports.OneOfTuple=Bt;exports.OneOfType=Ut;exports.OneOfValue=Be;exports.Portal=tr;exports.Prop=N;exports.Provide=rr;exports.ProvideGlobalProbe=nr;exports.ProvideProbe=Ze;exports.ProviderNotFoundError=Z;exports.RenderingError=Je;exports.Repeat=ae;exports.Signal=f;exports.Task=ne;exports.TextNode=yt;exports.Unless=Jt;exports.Use=Ft;exports.UseGlobalProbe=ir;exports.UseProbe=Ke;exports.UseProvider=qe;exports.UseProviders=Wt;exports.Value=p;exports.When=oe;exports.WithProvider=Ye;exports.WithProviders=sr;exports._getSelfOrParentElement=ke;exports._isElement=Y;exports._makeGetter=De;exports._makeSetter=Ee;exports._removeDOMNode=B;exports._signalText=te;exports._staticText=ee;exports.animateSignal=ut;exports.animateSignals=Ce;exports.aria=vt;exports.attr=x;exports.dataAttr=Pt;exports.emitChecked=At;exports.emitPreventDefault=Mt;exports.emitStopImmediatePropagation=Nt;exports.emitStopPropagation=Lt;exports.emitValue=Ve;exports.emitValueAsDate=Re;exports.emitValueAsDateTime=je;exports.emitValueAsNumber=Ie;exports.endInterpolate=Pe;exports.getWindow=J;exports.guessInterpolate=ve;exports.html=Tt;exports.input=xt;exports.interpolateDate=_e;exports.interpolateNumber=ye;exports.interpolateString=we;exports.localStorageProp=at;exports.makeComputed=F;exports.makeComputedOf=ot;exports.makeComputedRecord=ht;exports.makeEffect=Se;exports.makeEffectOf=lt;exports.makeProp=k;exports.makeProviderMark=Qe;exports.makeSignal=$;exports.math=Dt;exports.mathAttr=Ct;exports.on=I;exports.probeMarker=ce;exports.render=Kt;exports.renderWithContext=W;exports.renderableOfTNode=u;exports.runHeadless=er;exports.sessionStorageProp=ct;exports.storedProp=X;exports.style=ar;exports.svg=bt;exports.svgAttr=St;
|
|
1
|
+
"use strict";var st=Object.defineProperty;var de=r=>{throw TypeError(r)};var nt=(r,e,t)=>e in r?st(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var i=(r,e,t)=>nt(r,typeof e!="symbol"?e+"":e,t),fe=(r,e,t)=>e.has(r)||de("Cannot "+t);var A=(r,e,t)=>(fe(r,e,"read from private field"),t?t.call(r):e.get(r)),pe=(r,e,t)=>e.has(r)?de("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),z=(r,e,t,s)=>(fe(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ye=(r,e,t)=>r+(e-r)*t,me=97,we=(r,e,t)=>{const s=Math.max(r.length,e.length);let n="";for(let o=0;o<s;o++){let l=r.charCodeAt(o);isNaN(l)&&(l=me);let a=e.charCodeAt(o);isNaN(a)&&(a=me),n+=String.fromCharCode(l+(a-l)*t)}return n},_e=(r,e,t)=>new Date(r.getTime()+(e.getTime()-r.getTime())*t),Pe=(r,e)=>e,ve=r=>typeof r=="number"?ye:typeof r=="string"?we:r instanceof Date?_e:Pe;var w;class D{constructor(e,t){i(this,"counter");i(this,"isFirst");i(this,"isEven");i(this,"isOdd");pe(this,w);i(this,"dispose",()=>{A(this,w)!=null&&(A(this,w).dispose(),z(this,w,void 0))});this.index=e,this.total=t,this.counter=e+1,this.isFirst=e===0,this.isEven=e%2===1,this.isOdd=e%2===0}get isLast(){return A(this,w)==null&&z(this,w,this.total.map(e=>this.counter===e)),A(this,w)}}w=new WeakMap;const M=class M{constructor(e,t){i(this,"$__signal__",!0);i(this,"_value");i(this,"_derivatives",[]);i(this,"_onValueListeners",[]);i(this,"_onDisposeListeners",[]);i(this,"get",()=>this._value);i(this,"hasListeners",()=>this._onValueListeners.length>0);i(this,"on",e=>(e(this.get()),this._onValueListeners.push(e),()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(e),1)}));i(this,"_setAndNotify",(e,t)=>{const s=this.equals(this._value,e);s||(this._value=e),(t||!s)&&this._onValueListeners.forEach(n=>n(e))});i(this,"_disposed",!1);i(this,"isDisposed",()=>this._disposed);i(this,"onDispose",e=>{this._onDisposeListeners.push(e)});i(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});i(this,"map",(e,t=(s,n)=>s===n)=>{const s=new S(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(s),s});i(this,"flatMap",(e,t=(s,n)=>s===n)=>{const s=new S(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(s),s});i(this,"tap",e=>this.map(t=>(e(t),t)));i(this,"at",e=>this.map(t=>t[e]));i(this,"_$");i(this,"filter",(e,t)=>{let s=t??this.get();const n=new S(()=>{try{const o=this.get();return s=e(o)?o:s}catch(o){throw console.error("Error in Signal.filter:",o),o}},this.equals);return this.setDerivative(n),n});i(this,"filterMap",(e,t,s=(n,o)=>n===o)=>{let n=t;const o=new S(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},s);return this.setDerivative(o),o});i(this,"mapAsync",(e,t,s,n=(o,l)=>o===l)=>{const o=N(t,n);let l=0,a=new AbortController;return o.onDispose(this.on(async c=>{const d=++l;a.abort(),a=new AbortController;try{const h=await e(c,{abortSignal:a.signal});d===l&&o.set(h)}catch(h){if(d===l)if(s!=null)o.set(s(h));else throw h}})),o});i(this,"mapMaybe",(e,t)=>this.map(s=>e(s)??t));i(this,"feedProp",(e,t=!1)=>{const s=this.on(e.set);return e.onDispose(s),t?this.onDispose(e.dispose):this.onDispose(s),e});i(this,"deriveProp",(e=!0)=>this.feedProp(N(this.get()),e));i(this,"count",()=>{let e=0;return this.map(()=>++e)});i(this,"setDerivative",e=>{this._derivatives.push(e),e.onDispose(()=>{this._derivatives.splice(this._derivatives.indexOf(e),1)}),e.onDispose(this.on(e.setDirty)),this.onDispose(e.dispose)});this.equals=t,this._value=e}get value(){return this._value}get $(){return this._$!==void 0?this._$:this._$=new Proxy(this,{get:(e,t)=>this.at(t)})}};i(M,"ofPromise",(e,t,s,n=(o,l)=>o===l)=>{const o=new M(t,n);return e.then(l=>o._setAndNotify(l,!1)).catch(l=>{s!=null?o._setAndNotify(s(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),o}),i(M,"is",e=>e!=null&&e.$__signal__===!0);let f=M;const it=typeof queueMicrotask=="function"?queueMicrotask:r=>Promise.resolve().then(r);class S extends f{constructor(t,s){super(void 0,s);i(this,"$__computed__",!0);i(this,"_isDirty",!1);i(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});i(this,"_scheduleCount",0);i(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;it(()=>{this._scheduleCount!==t||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});i(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._value=this._fn(),this._setAndNotify(this._value,!0)),this._value));this._fn=t,this.setDirty()}static is(t){return t!=null&&t.$__computed__===!0}get value(){return this.get()}}const q=class q extends f{constructor(){super(...arguments);i(this,"$__prop__",!0);i(this,"set",t=>{this._setAndNotify(t,!1)});i(this,"update",t=>{this._setAndNotify(t(this.get()),!1)});i(this,"reducer",(t,...s)=>{const n=this;return function o(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&s.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:o}))}});i(this,"iso",(t,s,n=(o,l)=>o===l)=>{const o=new q(t(this.get()),n);return o.onDispose(this.on(l=>o.set(t(l)))),o.on(l=>this._setAndNotify(s(l),!1)),o});i(this,"atProp",t=>this.iso(s=>s[t],s=>({...this.value,[t]:s})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};i(q,"is",t=>t!=null&&t.$__prop__===!0);let L=q;const F=(r,e,t=(s,n)=>s===n)=>{const s=new S(r,t);return e.forEach(n=>n.setDerivative(s)),s},Se=(r,e)=>F(r,e).dispose,N=(r,e=(t,s)=>t===s)=>new L(r,e),$=(r,e=(t,s)=>t===s)=>new f(r,e),J=()=>typeof window<"u"?window:void 0,p={map:(r,e)=>f.is(r)?r.map(e):e(r),toSignal:(r,e)=>f.is(r)?r:$(r,e),maybeToSignal:(r,e)=>{if(r!=null)return p.toSignal(r,e)},get:r=>f.is(r)?r.get():r,on:(r,e)=>f.is(r)?r.on(e):(e(r),()=>{}),dispose:r=>{f.is(r)&&r.dispose()}},ot=(...r)=>(e,t)=>{const s=r.filter(n=>f.is(n));return F(()=>e(...r.map(n=>p.get(n))),s,t)},lt=(...r)=>e=>{const t=r.filter(s=>f.is(s));Se(()=>e(...r.map(p.get)),t)};class Q{constructor(){i(this,"_store",new Map);i(this,"getItem",e=>this._store.get(e)??null);i(this,"setItem",(e,t)=>{this._store.set(e,t)})}}const X=({key:r,defaultValue:e,store:t,serialize:s=JSON.stringify,deserialize:n=JSON.parse,equals:o=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(r),c=new L(a!=null?l(n(a)):typeof e=="function"?e():e,o);return c.on(d=>{t.setItem(r,s(d))}),c},at=r=>{var e;return X({...r,store:((e=J())==null?void 0:e.localStorage)??new Q})},ct=r=>{var e;return X({...r,store:((e=J())==null?void 0:e.sessionStorage)??new Q})};function ge(r){return typeof requestAnimationFrame=="function"?requestAnimationFrame(r):setTimeout(r,0)}const xe=(r,e,t,s)=>{const n=(s==null?void 0:s.duration)??300,o=(s==null?void 0:s.easing)??(y=>y),l=(s==null?void 0:s.equals)??((y,j)=>y===j);let a=s==null?void 0:s.interpolate,c=r,d=e(),h=performance.now(),O=null,k=!0;const G=new S(e,l),b=N(r,l);b.onDispose(()=>{O!==null&&cancelAnimationFrame(O)}),b.onDispose(G.dispose),t.forEach(y=>{y.setDerivative(G),y.onDispose(b.dispose)});const tt=y=>{d=y,h=performance.now(),c=b.value,k&&(k=!1,O=ge(ue))},ue=()=>{const j=(performance.now()-h)/p.get(n),rt=o(j);a==null&&(a=ve(c));let he=a(c,d,rt);j>=1?(k=!0,he=d):O=ge(ue),b.set(he)};return G.on(tt),b},ut=(r,e)=>{const{initialValue:t,...s}=e??{};return xe(t??r.get(),r.get,[r],s)},ht=(r,e)=>{const{signals:t,literals:s}=Object.entries(r).reduce(({signals:o,literals:l},[a,c])=>(f.is(c)?o.push([a,c]):l[a]=c,{signals:o,literals:l}),{signals:[],literals:{}}),n=t.map(([,o])=>o);return F(()=>(t.forEach(([o,l])=>s[o]=l.value),e(s)),n)},Ce=new Set(["checked","disabled","hidden","selected"]),Te=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Oe=new Set(["valueAsDate"]),be=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Ee=(r,e)=>Ce.has(r)?t=>{t==null?e[r]=null:e[r]=!!t}:Te.has(r)?t=>{t==null?e[r]=null:e[r]=Number(t)}:Oe.has(r)?t=>{t==null?e[r]=null:e[r]=t}:be.has(r)?t=>{t==null?e[r]=null:e[r]=String(t)}:t=>{t==null?e.removeAttribute(r):e.setAttribute(r,t)},De=(r,e)=>Ce.has(r)?()=>!!e[r]:Te.has(r)?()=>Number(e[r]):Oe.has(r)?()=>e[r]:be.has(r)?()=>String(e[r]):()=>e.getAttribute(r),B=r=>{const e=r;e&&e.onblur&&(e.onblur=null),!(!r||r.ownerDocument===void 0)&&r.parentElement&&r.parentElement.removeChild(r)},ke=r=>Y(r)?r:r.parentElement,Y=r=>r.nodeType===1;class Z extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class x{constructor(e,t,s,n){i(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));i(this,"makeChildElement",(e,t)=>{const s=this.createElement(e,t);return this.appendOrInsert(s),this.withElement(s)});i(this,"createText",e=>this.document.createTextNode(e));i(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});i(this,"setText",e=>{this.reference.nodeValue=e});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});i(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});i(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});i(this,"withElement",e=>new x(this.document,e,void 0,this.providers));i(this,"makePortal",e=>{const t=this.document.querySelector(e);if(t==null)throw new Error(`Cannot find element by selector for portal: ${e}`);return this.withElement(t)});i(this,"withReference",e=>new x(this.document,this.element,e,this.providers));i(this,"withProviders",e=>new x(this.document,this.element,this.reference,{...this.providers,...e}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Z(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?B(this.reference):B(this.element))});i(this,"addClasses",e=>{this.element.classList.add(...e)});i(this,"removeClasses",e=>{this.element.classList.remove(...e)});i(this,"getClasses",()=>Array.from(this.element.classList));i(this,"on",(e,t)=>(this.element.addEventListener(e,t),s=>{s&&this.element.removeEventListener(e,t)}));i(this,"isBrowserDOM",()=>!0);i(this,"isHeadlessDOM",()=>!1);i(this,"setStyle",(e,t)=>{this.element.style.setProperty(e,t)});i(this,"getStyle",e=>this.element.style.getPropertyValue(e));i(this,"makeAccessors",e=>({get:De(e,this.element),set:Ee(e,this.element)}));this.document=e,this.element=t,this.reference=s,this.providers=n}static of(e,t){return new x(e.ownerDocument,e,t,{})}}const g=Symbol("class"),P=Symbol("style"),E=Symbol("handler"),Ae=()=>Math.random().toString(36).substring(2,15),dt=r=>r.replace(/<[^>]*>?/g,"");class Me{constructor(e){i(this,"id",Ae());i(this,"properties",{});i(this,"children",[]);i(this,"isElement",()=>!0);i(this,"isText",()=>!1);i(this,"getText",()=>this.properties.innerText!=null?this.properties.innerText:this.properties.innerHTML!=null?dt(this.properties.innerHTML):this.children.map(e=>e.getText()).join(""));i(this,"removeChild",e=>{const t=this.children.indexOf(e);t!==-1&&this.children.splice(t,1)});i(this,"remove",()=>{if(this.parent!=null)this.parent.removeChild(this);else throw new Error("Parent is undefined")});i(this,"getPortals",()=>{const e=this.elements().flatMap(t=>t.isPortal()?[t,...t.getPortals()]:t.getPortals());return this.isPortal()&&e.unshift(this),e});i(this,"elements",()=>this.children.filter(e=>e.isElement()));i(this,"hasInnerHTML",()=>this.properties.innerHTML!=null);i(this,"getInnerHTML",()=>this.properties.innerHTML??"");i(this,"getInnerText",()=>this.properties.innerText??"");i(this,"hasInnerText",()=>this.properties.innerText!=null);i(this,"hasChildren",()=>this.children.length>0);i(this,"hasClasses",()=>this.properties[g]!=null);i(this,"hasStyles",()=>this.properties[P]!=null);i(this,"hasAttributes",()=>Object.keys(this.properties).length>0);i(this,"hasHandlers",()=>this.properties[E]!=null);i(this,"hasRenderableProperties",()=>this.hasClasses()||this.hasAttributes()||this.hasStyles());i(this,"getById",e=>{if(this.properties.id===e)return this;for(const t of this.elements()){const s=t.getById(e);if(s!=null)return s}});i(this,"trigger",(e,t)=>{((this.properties[E]??{})[e]??[]).forEach(n=>n(t))});i(this,"click",()=>{this.trigger("click",{})});i(this,"on",(e,t)=>{var o;const s=(o=this.properties)[E]??(o[E]={}),n=t;return s[e]=[...s[e]??[],n],()=>{const l=s[e]??[],a=l.indexOf(n);a!==-1&&(l.splice(a,1),l.length===0?(delete s[e],Object.keys(s).length===0&&delete this.properties[E]):s[e]=l)}});i(this,"addClasses",e=>{var s;if(e.length===0)return;const t=(s=this.properties)[g]??(s[g]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});i(this,"removeClasses",e=>{var s;if(e.length===0)return;const t=(s=this.properties)[g]??(s[g]=[]);e.forEach(n=>{const o=t.indexOf(n);o!==-1&&t.splice(o,1)}),t.length===0&&delete this.properties[g]});i(this,"getClasses",()=>this.properties[g]??[]);i(this,"getAttributes",()=>Object.entries(this.properties).filter(([e])=>!["innerText","innerHTML"].includes(e)));i(this,"getVisibleAttributes",()=>Reflect.ownKeys(this.properties).flatMap(e=>e===g?[["class",this.getClasses()]]:e===P?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));i(this,"setStyle",(e,t)=>{var n;const s=(n=this.properties)[P]??(n[P]={});s[e]=t,t===""&&(delete s[e],Object.keys(s).length===0&&delete this.properties[P])});i(this,"getStyle",e=>{var t;return((t=this.properties[P])==null?void 0:t[e])??""});i(this,"getStyles",()=>this.properties[P]??{});i(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:s=>t[e]=s}});this.parent=e}}const ft=r=>r.replace(/"/g,"""),pt=r=>r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");class Le extends Me{constructor(t,s,n){super(n);i(this,"isPortal",()=>!1);i(this,"toHTML",()=>{const t=this.children.map(l=>l.toHTML()).join(""),s=this.namespace?` xmlns="${this.namespace}"`:"";let n=null;const o=this.getVisibleAttributes().map(([l,a])=>l==="class"?` class="${a.join(" ")}"`:l==="style"?typeof a=="string"?` style="${a}"`:` style="${Object.entries(a).map(([c,d])=>`${c}: ${d};`).join(" ")}"`:mt.has(l)?` ${l}`:l==="innerHTML"?(n=a,""):l==="innerText"?(n=pt(a),""):` ${l}="${ft(a)}"`).join("");return gt.has(this.tagName)&&t===""?`<${this.tagName}${s}${o} />`:`<${this.tagName}${s}${o}>${n??t}</${this.tagName}>`});this.tagName=t,this.namespace=s}}class K extends Me{constructor(t,s){super(s);i(this,"isPortal",()=>!0);i(this,"toHTML",()=>"");i(this,"contentToHTML",()=>this.children.map(t=>t.toHTML()).join(""));this.selector=t}}class Ne{constructor(e){i(this,"id",Ae());i(this,"isElement",()=>!1);i(this,"isText",()=>!0);i(this,"getText",()=>this.text);i(this,"toHTML",()=>this.text);this.text=e}}class C{constructor(e,t,s,n){i(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});i(this,"makeChildElement",(e,t)=>{const s=new Le(e,t,this.element);return this.appendOrInsert(s),new C(s,void 0,this.container,this.providers)});i(this,"makeChildText",e=>{const t=new Ne(e);return this.appendOrInsert(t),new C(this.element,t,this.container,this.providers)});i(this,"setText",e=>{this.reference&&this.reference.isText()&&(this.reference.text=e)});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.getText())??this.element.getText()});i(this,"makeRef",()=>this.makeChildText(""));i(this,"makePortal",e=>{const t=new K(e,this.element);return this.appendOrInsert(t),new C(t,void 0,this.container,this.providers)});i(this,"withProviders",e=>new C(this.element,this.reference,this.container,{...this.providers,...e}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Z(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?this.element.removeChild(this.reference):this.element.remove())});i(this,"on",(e,t)=>this.element.on(e,t));i(this,"addClasses",e=>this.element.addClasses(e));i(this,"removeClasses",e=>this.element.removeClasses(e));i(this,"getClasses",()=>this.element.getClasses());i(this,"isBrowserDOM",()=>!1);i(this,"isHeadlessDOM",()=>!0);i(this,"setStyle",(e,t)=>this.element.setStyle(e,t));i(this,"getStyle",e=>this.element.getStyle(e));i(this,"makeAccessors",e=>this.element.makeAccessors(e));this.element=e,this.reference=t,this.container=s,this.providers=n}}const mt=new Set(["checked","disabled","multiple","readonly","required","selected"]),gt=new Set(["img","br","hr","input","link","meta"]),ee=r=>e=>{const t=e.makeChildText(r);return s=>t.clear(s)},te=r=>e=>{const t=e.makeChildText(r.value),s=r.on(n=>t.setText(n));return n=>{s(),t.clear(n)}},yt=r=>f.is(r)?te(r):ee(r),m=(...r)=>e=>{const t=r.map(s=>u(s)(e));return s=>{t.forEach(n=>n(s))}},_=()=>()=>{},wt=r=>e=>(e.addClasses(r),t=>{t&&e.removeClasses(r)}),_t=r=>e=>{let t=[];const s=r.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(o=>o.length>0),e.addClasses(t)});return n=>{s(),n&&e.removeClasses(t),t.length=0}},H=(r,e)=>t=>{const{get:s,set:n}=t.makeAccessors(r),o=s();return n(e),l=>{l&&n(o)}},V=(r,e)=>t=>{const{get:s,set:n}=t.makeAccessors(r),o=s(),l=e.on(n);return a=>{l(),a&&n(o)}},T=new Proxy({},{get:(r,e)=>e==="class"?t=>f.is(t)?_t(t):wt((t??"").split(" ").filter(s=>s.length>0)):t=>f.is(t)?V(e,t):H(e,t)}),Pt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(`data-${e}`,t):H(`data-${e}`,t)}),vt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(`aria-${e}`,t):H(`aria-${e}`,t)}),St=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(e,t):H(e,t)}),xt=new Proxy({},{get:(r,e)=>t=>f.is(t)?V(e,t):H(e,t)}),u=r=>{if(r==null)return _;if(Array.isArray(r))return m(...r.map(u));if(typeof r=="string")return ee(r);if(f.is(r))return te(r);if(typeof r=="function")return r;throw new Error(`Unknown type: '${typeof r}' for child: ${r}`)},re=(r,...e)=>t=>{const s=t.makeChildElement(r,void 0),n=e.map(o=>u(o)(s));return o=>{n.forEach(l=>l(!1)),s.clear(o)}},se=(r,e,...t)=>s=>{const n=s.makeChildElement(r,e),o=t.map(l=>u(l)(n));return l=>{o.forEach(a=>a(!1)),n.clear(l)}},Ct=new Proxy({},{get:(r,e)=>(...t)=>re(e,t.flatMap(u))}),Tt=new Proxy({},{get:(r,e)=>(...t)=>re("input",T.type(e),...t)}),Ot="http://www.w3.org/2000/svg",bt=new Proxy({},{get:(r,e)=>(...t)=>se(e,Ot,t.flatMap(u))}),Et="http://www.w3.org/1998/Math/MathML",Dt=new Proxy({},{get:(r,e)=>(...t)=>se(e,Et,t.flatMap(u))}),ne=(r,e)=>{if(typeof e=="function")return ne(r,{then:e});const t=e.pending!=null?u(e.pending):_,s=e.then,n=e.error!=null?o=>u(e.error(o)):()=>_;return o=>{let l=!0;const a=r(),c=o.makeRef();let d=u(t)(c);return a.then(h=>{l&&(d(!0),d=u(s(h))(c))},h=>{l&&(d(!0),d=u(n(h))(c))}),h=>{l=!1,d(h),c.clear(h)}}},kt=(r,e)=>ne(()=>r,e),$e=(r,e)=>t=>t.on(r,e),He=r=>$e("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const s=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;s!=null&&r(!s)},0)}),I=new Proxy({},{get:(r,e)=>t=>$e(e,t)}),Ve=r=>e=>{const t=e.target;r(t.value)},Ie=r=>e=>{const t=e.target;r(t.valueAsNumber)},Re=r=>e=>{const t=e.target;if(t.value==="")return;const s=t.value.split("-"),n=new Date(Number(s[0]),Number(s[1])-1,Number(s[2].substring(0,2)));r(n)},je=r=>e=>{const t=e.target;if(t.value==="")return;const s=t.value.split("T"),n=s[0].split("-"),o=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=s[1].split(":");o.setHours(Number(l[0])),o.setMinutes(Number(l[1])),o.setSeconds(Number(l[2])),r(o)},At=r=>e=>{const t=e.target;r(t.checked)},Mt=r=>e=>{e.preventDefault(),r()},Lt=r=>e=>{e.stopPropagation(),r()},Nt=r=>e=>{e.stopImmediatePropagation(),r()},$t=(r,e="input")=>m(T.valueAsDate(r),I[e](Re(r.set))),Ht=(r,e="input")=>m(T.valueAsDate(r),I[e](je(r.set))),Vt=(r,e="input")=>m(T.valueAsNumber(r),I[e](Ie(r.set))),It=(r,e="input")=>m(T.value(r),I[e](Ve(r.set))),Rt=r=>m(T.checked(r),He(r.set)),R=(r,e)=>{if(f.is(r))return s=>{const n=s.makeRef();let o,l;const a=r.map(h=>Object.keys(h)[0]);let c;const d=a.on(h=>{if(h!==c){l==null||l.dispose(),o==null||o(!0),l=r.map(k=>k[h]);const O=e[h](l);o=u(O)(n),c=h}});return h=>{d(),n.clear(h),o==null||o(h)}};const t=Object.keys(r)[0];return u(e[t]($(r[t])))},ie=(r,e,t)=>R(p.map(r,s=>({[s[e]]:s})),t),jt=(r,e)=>ie(r,"kind",e),Bt=(r,e)=>{const t=p.map(r,([s,n])=>({[s]:n}));return R(t,e)},Ut=(r,e)=>ie(r,"type",e),Be=(r,e)=>R(p.map(r,t=>({[t]:!0})),e),qt=(r,e={})=>t=>{const s=(e==null?void 0:e.firstSeparator)??r,n=(e==null?void 0:e.lastSeparator)??r;return Be(t.map(o=>o.isFirst?"first":o.isLast?"last":"other"),{first:()=>s,last:()=>n,other:()=>r})},Ue=(r,e)=>t=>{const s=Object.values(r).reduce((n,o)=>{const l=t.getProvider(o);return n[o]=l,n},{});return u(e(s))(t)},Ft=(r,e)=>t=>{const s=[],n=Object.entries(r).reduce((o,[l,a])=>(s.push(a(c=>(Reflect.set(o,l,c),null))(t)),o),{});return s.push(e(n)(t)),o=>{s.forEach(l=>l(o))}},qe=(r,e)=>Ue([r],t=>u(e(t[r]))),Wt=(r,e)=>Ue(r,t=>u(e(t))),Gt=r=>e=>r(e)??(()=>{}),zt=r=>e=>(e.appendOrInsert(r),t=>{t&&B(r)}),Fe=(r,e,t)=>{if(f.is(r)){const s=r;return n=>{const o=n.makeRef();let l=null,a=!1;const c=N(null),d=s.on(h=>{h==null?(l==null||l(!0),l=u((t==null?void 0:t())??_)(o),a=!1):(c.value=h,a||(l==null||l(!0),l=u(e(c))(o),a=!0))});return h=>{d(),l==null||l(h),o.clear(h)}}}else{const s=r;if(s==null){const n=t==null?void 0:t();return n!=null?u(n):_}return u(e($(s)))}},U=r=>e=>t=>r(t,e),oe=(r,e,t)=>le(r,()=>e,()=>t),le=(r,e,t)=>Fe(p.map(r,s=>s?!0:null),e,t??void 0),Jt=(r,e,t)=>We(r,()=>e,()=>t),We=(r,e,t)=>le(p.map(r,s=>!s),e,t),ae=(r,e,t)=>t!=null?ae(r,s=>{const n=new D(s.index,s.total.map(o=>o-1));return m(U(n.dispose),u(e(s)),oe(s.isLast,_,t(n)))}):f.is(r)?s=>{const n=s.makeRef(),o=Array.from({length:r.value},(c,d)=>d).map(c=>new D(c,r)),l=o.map(c=>u(e(c))(n)),a=r.on(c=>{for(;c<l.length;)o.pop().dispose(),l.pop()(!0);for(let d=0;d<c;d++)if(o[d]==null){o[d]=new D(d,r);const h=u(e(o[d]));l[d]=h(n)}});return c=>{a(),n.clear(c)}}:m(...Array.from({length:r},(s,n)=>n).map(s=>u(e(new D(s,$(r)))))),Ge=(r,e,t)=>{if(t!=null)return Ge(r,(s,n)=>{const o=new D(n.index,n.total.map(l=>l-1));return m([U(o.dispose),u(e(s,n)),oe(n.isLast,_,t(o))])});{const s=p.map(r,o=>o.length),n=p.toSignal(r);return ae(s,o=>{const l=n.map(a=>a[o.index]);return m(U(l.dispose),u(e(l,o)))})}},ze=r=>e=>e.isBrowserDOM()?r(e)??(()=>{}):()=>{},Qt=r=>e=>e.isHeadlessDOM()?r(e)??(()=>{}):()=>{},Xt=r=>ze(e=>r(e.element)??(()=>{})),Yt=(r,e)=>{if(f.is(r)){const t=r;return s=>{s=s.makeRef();const n=t.map(a=>u(e(a)));let o=()=>{};const l=n.on(a=>{o(!0),o=a(s)});return a=>{l(),o(a)}}}return u(e(r))},Zt=(r,e,t=()=>_)=>R(p.map(r,s=>s.length>0?{notEmpty:s}:{whenEmpty:null}),{notEmpty:s=>e(s),whenEmpty:()=>t()}),W=(r,e)=>{const t=r(e);return()=>t(!0)},Kt=(r,e,{doc:t,clear:s}={})=>{const n=typeof e=="string"?(t??document).querySelector(e):e;if(n===null)throw new Je(`Cannot find element by selector for render: ${e}`);s!==!1&&(t??n.ownerDocument)!=null&&n.nodeType===1&&(n.innerHTML="");const o=ke(n),l=Y(n)?void 0:n,a=x.of(o,l);return W(r,a)},er=(r,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const s=p.toSignal(e).deriveProp(),n=new K(t,void 0),o=new C(n,void 0,{currentURL:s},{});return{clear:W(r(),o),root:n,currentURL:s}};class Je extends Error{constructor(e){super(e)}}const tr=(r,e)=>t=>{const s=t.makePortal(r);return W(u(e),s)},Qe=r=>Symbol(r),Xe=(r,e)=>t=>u(e)(t.withProviders(r)),rr=(...r)=>r.length>0?r.reduceRight((e,t)=>s=>e(t(s))):u,Ye=(r,e,t)=>Xe({[r]:e},u(t)),sr=(r,e)=>Xe(r,u(e)),ce=Qe("Probe"),v=new Map,Ze=(r,e,t)=>{if(v.has(r))throw new Error(`Probe already exists: ${r.description}`);return v.set(r,0),Ye(ce,n=>{let o=v.get(n);if(o==null)throw new Error(`Probe not found: ${n.description}`);--o===0?(e(),v.delete(n)):v.set(n,o)},t)},Ke=(r,e)=>qe(ce,t=>{const s=v.get(r);if(s==null)throw new Error(`Probe not found: ${r.description}`);return v.set(r,s+1),e(()=>t(r))}),et=Symbol("globalProbe"),nr=(r,e)=>Ze(et,r,e),ir=r=>Ke(et,r),or=(r,e)=>t=>{const s=t.getStyle(r);return t.setStyle(r,e),n=>{n&&t.setStyle(r,s)}},lr=(r,e)=>t=>{const s=t.getStyle(r);return e.on(n=>t.setStyle(r,n)),n=>{n&&t.setStyle(r,s)}},ar=new Proxy({},{get:(r,e)=>t=>f.is(t)?lr(e,t):or(e,t)});exports.Async=kt;exports.BindChecked=Rt;exports.BindDate=$t;exports.BindDateTime=Ht;exports.BindNumber=Vt;exports.BindText=It;exports.BrowserContext=x;exports.Computed=S;exports.Conjunction=qt;exports.DOMNode=zt;exports.El=re;exports.ElNS=se;exports.ElementPosition=D;exports.Empty=_;exports.Ensure=Fe;exports.ForEach=Ge;exports.Fragment=m;exports.HeadlessContext=C;exports.HeadlessElement=Le;exports.HeadlessPortal=K;exports.HeadlessText=Ne;exports.LazyUnless=We;exports.LazyWhen=le;exports.MapSignal=Yt;exports.MemoryStore=Q;exports.NotEmpty=Zt;exports.OnBrowserCtx=ze;exports.OnChecked=He;exports.OnCtx=Gt;exports.OnDispose=U;exports.OnElement=Xt;exports.OnHeadlessCtx=Qt;exports.OneOf=R;exports.OneOfField=ie;exports.OneOfKind=jt;exports.OneOfTuple=Bt;exports.OneOfType=Ut;exports.OneOfValue=Be;exports.Portal=tr;exports.Prop=L;exports.Provide=rr;exports.ProvideGlobalProbe=nr;exports.ProvideProbe=Ze;exports.ProviderNotFoundError=Z;exports.RenderingError=Je;exports.Repeat=ae;exports.Signal=f;exports.Task=ne;exports.TextNode=yt;exports.Unless=Jt;exports.Use=Ft;exports.UseGlobalProbe=ir;exports.UseProbe=Ke;exports.UseProvider=qe;exports.UseProviders=Wt;exports.Value=p;exports.When=oe;exports.WithProvider=Ye;exports.WithProviders=sr;exports._getSelfOrParentElement=ke;exports._isElement=Y;exports._makeGetter=De;exports._makeSetter=Ee;exports._removeDOMNode=B;exports._signalText=te;exports._staticText=ee;exports.animateSignal=ut;exports.animateSignals=xe;exports.aria=vt;exports.attr=T;exports.dataAttr=Pt;exports.emitChecked=At;exports.emitPreventDefault=Mt;exports.emitStopImmediatePropagation=Nt;exports.emitStopPropagation=Lt;exports.emitValue=Ve;exports.emitValueAsDate=Re;exports.emitValueAsDateTime=je;exports.emitValueAsNumber=Ie;exports.endInterpolate=Pe;exports.getWindow=J;exports.guessInterpolate=ve;exports.html=Ct;exports.input=Tt;exports.interpolateDate=_e;exports.interpolateNumber=ye;exports.interpolateString=we;exports.localStorageProp=at;exports.makeComputed=F;exports.makeComputedOf=ot;exports.makeComputedRecord=ht;exports.makeEffect=Se;exports.makeEffectOf=lt;exports.makeProp=N;exports.makeProviderMark=Qe;exports.makeSignal=$;exports.math=Dt;exports.mathAttr=xt;exports.on=I;exports.probeMarker=ce;exports.render=Kt;exports.renderWithContext=W;exports.renderableOfTNode=u;exports.runHeadless=er;exports.sessionStorageProp=ct;exports.storedProp=X;exports.style=ar;exports.svg=bt;exports.svgAttr=St;
|
package/index.js
CHANGED
|
@@ -243,7 +243,7 @@ const k = class k {
|
|
|
243
243
|
* @returns A property that holds the mapped value and can be observed for changes.
|
|
244
244
|
*/
|
|
245
245
|
i(this, "mapAsync", (e, t, r, n = (o, l) => o === l) => {
|
|
246
|
-
const o =
|
|
246
|
+
const o = I(t, n);
|
|
247
247
|
let l = 0, c = new AbortController();
|
|
248
248
|
return o.onDispose(
|
|
249
249
|
this.on(async (a) => {
|
|
@@ -288,7 +288,7 @@ const k = class k {
|
|
|
288
288
|
* @param autoDisposeProp - Determines whether the derived property should be automatically disposed.
|
|
289
289
|
* @returns The derived property.
|
|
290
290
|
*/
|
|
291
|
-
i(this, "deriveProp", (e = !0) => this.feedProp(
|
|
291
|
+
i(this, "deriveProp", (e = !0) => this.feedProp(I(this.get()), e));
|
|
292
292
|
/**
|
|
293
293
|
* Returns a signal that emits the count of values received so far.
|
|
294
294
|
* @returns A signal that emits the count of values received so far.
|
|
@@ -504,11 +504,11 @@ i(V, "is", (t) => (
|
|
|
504
504
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
505
505
|
t != null && t.$__prop__ === !0
|
|
506
506
|
));
|
|
507
|
-
let
|
|
507
|
+
let H = V;
|
|
508
508
|
const G = (s, e, t = (r, n) => r === n) => {
|
|
509
509
|
const r = new T(s, t);
|
|
510
510
|
return e.forEach((n) => n.setDerivative(r)), r;
|
|
511
|
-
}, He = (s, e) => G(s, e).dispose,
|
|
511
|
+
}, He = (s, e) => G(s, e).dispose, I = (s, e = (t, r) => t === r) => new H(s, e), R = (s, e = (t, r) => t === r) => new d(s, e), ee = () => typeof window < "u" ? window : void 0, p = {
|
|
512
512
|
/**
|
|
513
513
|
* Maps a value or a Signal to a new value.
|
|
514
514
|
* If the value is a Signal, it returns a new Signal with the mapped value.
|
|
@@ -604,7 +604,7 @@ const se = ({
|
|
|
604
604
|
equals: o = (c, a) => c === a,
|
|
605
605
|
onLoad: l = (c) => c
|
|
606
606
|
}) => {
|
|
607
|
-
const c = t.getItem(s), a = new
|
|
607
|
+
const c = t.getItem(s), a = new H(
|
|
608
608
|
c != null ? l(n(c)) : typeof e == "function" ? e() : e,
|
|
609
609
|
o
|
|
610
610
|
);
|
|
@@ -628,23 +628,23 @@ function K(s) {
|
|
|
628
628
|
return typeof requestAnimationFrame == "function" ? requestAnimationFrame(s) : setTimeout(s, 0);
|
|
629
629
|
}
|
|
630
630
|
const Ie = (s, e, t, r) => {
|
|
631
|
-
const n = (r == null ? void 0 : r.duration) ?? 300, o = (r == null ? void 0 : r.easing) ?? ((y) => y), l = (r == null ? void 0 : r.equals) ?? ((y,
|
|
631
|
+
const n = (r == null ? void 0 : r.duration) ?? 300, o = (r == null ? void 0 : r.easing) ?? ((y) => y), l = (r == null ? void 0 : r.equals) ?? ((y, N) => y === N);
|
|
632
632
|
let c = r == null ? void 0 : r.interpolate, a = s, f = e(), h = performance.now(), P = null, O = !0;
|
|
633
|
-
const B = new T(e, l),
|
|
634
|
-
|
|
633
|
+
const B = new T(e, l), x = I(s, l);
|
|
634
|
+
x.onDispose(() => {
|
|
635
635
|
P !== null && cancelAnimationFrame(P);
|
|
636
|
-
}),
|
|
637
|
-
y.setDerivative(B), y.onDispose(
|
|
636
|
+
}), x.onDispose(B.dispose), t.forEach((y) => {
|
|
637
|
+
y.setDerivative(B), y.onDispose(x.dispose);
|
|
638
638
|
});
|
|
639
639
|
const be = (y) => {
|
|
640
|
-
f = y, h = performance.now(), a =
|
|
640
|
+
f = y, h = performance.now(), a = x.value, O && (O = !1, P = K(J));
|
|
641
641
|
}, J = () => {
|
|
642
|
-
const
|
|
642
|
+
const N = (performance.now() - h) / p.get(n), Ee = o(N);
|
|
643
643
|
c == null && (c = $e(a));
|
|
644
644
|
let Q = c(a, f, Ee);
|
|
645
|
-
|
|
645
|
+
N >= 1 ? (O = !0, Q = f) : P = K(J), x.set(Q);
|
|
646
646
|
};
|
|
647
|
-
return B.on(be),
|
|
647
|
+
return B.on(be), x;
|
|
648
648
|
}, St = (s, e) => {
|
|
649
649
|
const { initialValue: t, ...r } = e ?? {};
|
|
650
650
|
return Ie(
|
|
@@ -785,31 +785,13 @@ class b {
|
|
|
785
785
|
throw new Error(`Cannot find element by selector for portal: ${e}`);
|
|
786
786
|
return this.withElement(t);
|
|
787
787
|
});
|
|
788
|
-
// /**
|
|
789
|
-
// * Creates a new `DOMContext` instance with the `isFirstLevel` property set to `true`.
|
|
790
|
-
// * @returns A new `DOMContext` instance with the `isFirstLevel` property set to `true`.
|
|
791
|
-
// */
|
|
792
|
-
// readonly withFirstLevel = (): DOMContext =>
|
|
793
|
-
// new BrowserContext(
|
|
794
|
-
// this.document,
|
|
795
|
-
// this.element,
|
|
796
|
-
// this.reference,
|
|
797
|
-
// this.providers,
|
|
798
|
-
// true
|
|
799
|
-
// )
|
|
800
788
|
/**
|
|
801
789
|
* Creates a new `DOMContext` instance with the specified reference.
|
|
802
790
|
*
|
|
803
791
|
* @param reference - The optional `Text` node to use as the reference for the new `DOMContext`.
|
|
804
792
|
* @returns A new `DOMContext` instance with the specified reference.
|
|
805
793
|
*/
|
|
806
|
-
i(this, "withReference", (e) => new b(
|
|
807
|
-
this.document,
|
|
808
|
-
this.element,
|
|
809
|
-
e,
|
|
810
|
-
this.providers
|
|
811
|
-
// this.isFirstLevel
|
|
812
|
-
));
|
|
794
|
+
i(this, "withReference", (e) => new b(this.document, this.element, e, this.providers));
|
|
813
795
|
/**
|
|
814
796
|
* Returns a new HTMLDOMContext instance with the specified providers merged into
|
|
815
797
|
* the existing providers.
|
|
@@ -817,16 +799,10 @@ class b {
|
|
|
817
799
|
* @param providers - An object containing the providers to be merged into the existing providers.
|
|
818
800
|
* @returns A new HTMLDOMContext instance with the merged providers.
|
|
819
801
|
*/
|
|
820
|
-
i(this, "withProviders", (e) => new b(
|
|
821
|
-
this.
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
{
|
|
825
|
-
...this.providers,
|
|
826
|
-
...e
|
|
827
|
-
}
|
|
828
|
-
// this.isFirstLevel
|
|
829
|
-
));
|
|
802
|
+
i(this, "withProviders", (e) => new b(this.document, this.element, this.reference, {
|
|
803
|
+
...this.providers,
|
|
804
|
+
...e
|
|
805
|
+
}));
|
|
830
806
|
/**
|
|
831
807
|
* Retrieves a provider for the given provider mark.
|
|
832
808
|
*
|
|
@@ -911,7 +887,7 @@ class b {
|
|
|
911
887
|
return new b(e.ownerDocument, e, t, {});
|
|
912
888
|
}
|
|
913
889
|
}
|
|
914
|
-
const g = Symbol("class"), _ = Symbol("style"),
|
|
890
|
+
const g = Symbol("class"), _ = Symbol("style"), C = Symbol("handler"), ae = () => Math.random().toString(36).substring(2, 15), qe = (s) => s.replace(/<[^>]*>?/g, "");
|
|
915
891
|
class ue {
|
|
916
892
|
constructor(e) {
|
|
917
893
|
i(this, "id", ae());
|
|
@@ -943,7 +919,7 @@ class ue {
|
|
|
943
919
|
i(this, "hasClasses", () => this.properties[g] != null);
|
|
944
920
|
i(this, "hasStyles", () => this.properties[_] != null);
|
|
945
921
|
i(this, "hasAttributes", () => Object.keys(this.properties).length > 0);
|
|
946
|
-
i(this, "hasHandlers", () => this.properties[
|
|
922
|
+
i(this, "hasHandlers", () => this.properties[C] != null);
|
|
947
923
|
i(this, "hasRenderableProperties", () => this.hasClasses() || this.hasAttributes() || this.hasStyles());
|
|
948
924
|
i(this, "getById", (e) => {
|
|
949
925
|
if (this.properties.id === e)
|
|
@@ -955,17 +931,17 @@ class ue {
|
|
|
955
931
|
}
|
|
956
932
|
});
|
|
957
933
|
i(this, "trigger", (e, t) => {
|
|
958
|
-
((this.properties[
|
|
934
|
+
((this.properties[C] ?? {})[e] ?? []).forEach((n) => n(t));
|
|
959
935
|
});
|
|
960
936
|
i(this, "click", () => {
|
|
961
937
|
this.trigger("click", {});
|
|
962
938
|
});
|
|
963
939
|
i(this, "on", (e, t) => {
|
|
964
940
|
var o;
|
|
965
|
-
const r = (o = this.properties)[
|
|
941
|
+
const r = (o = this.properties)[C] ?? (o[C] = {}), n = t;
|
|
966
942
|
return r[e] = [...r[e] ?? [], n], () => {
|
|
967
943
|
const l = r[e] ?? [], c = l.indexOf(n);
|
|
968
|
-
c !== -1 && (l.splice(c, 1), l.length === 0 ? (delete r[e], Object.keys(r).length === 0 && delete this.properties[
|
|
944
|
+
c !== -1 && (l.splice(c, 1), l.length === 0 ? (delete r[e], Object.keys(r).length === 0 && delete this.properties[C]) : r[e] = l);
|
|
969
945
|
};
|
|
970
946
|
});
|
|
971
947
|
i(this, "addClasses", (e) => {
|
|
@@ -1130,7 +1106,7 @@ const Ge = /* @__PURE__ */ new Set([
|
|
|
1130
1106
|
return (n) => {
|
|
1131
1107
|
r(), t.clear(n);
|
|
1132
1108
|
};
|
|
1133
|
-
},
|
|
1109
|
+
}, xt = (s) => d.is(s) ? de(s) : fe(s), m = (...s) => (e) => {
|
|
1134
1110
|
const t = s.map((r) => u(r)(e));
|
|
1135
1111
|
return (r) => {
|
|
1136
1112
|
t.forEach((n) => n(r));
|
|
@@ -1146,12 +1122,12 @@ const Ge = /* @__PURE__ */ new Set([
|
|
|
1146
1122
|
return (n) => {
|
|
1147
1123
|
r(), n && e.removeClasses(t), t.length = 0;
|
|
1148
1124
|
};
|
|
1149
|
-
},
|
|
1125
|
+
}, L = (s, e) => (t) => {
|
|
1150
1126
|
const { get: r, set: n } = t.makeAccessors(s), o = r();
|
|
1151
1127
|
return n(e), (l) => {
|
|
1152
1128
|
l && n(o);
|
|
1153
1129
|
};
|
|
1154
|
-
},
|
|
1130
|
+
}, $ = (s, e) => (t) => {
|
|
1155
1131
|
const { get: r, set: n } = t.makeAccessors(s), o = r(), l = e.on(n);
|
|
1156
1132
|
return (c) => {
|
|
1157
1133
|
l(), c && n(o);
|
|
@@ -1172,15 +1148,15 @@ const Ge = /* @__PURE__ */ new Set([
|
|
|
1172
1148
|
*/
|
|
1173
1149
|
get: (s, e) => e === "class" ? (t) => d.is(t) ? Qe(t) : Je(
|
|
1174
1150
|
(t ?? "").split(" ").filter((r) => r.length > 0)
|
|
1175
|
-
) : (t) => d.is(t) ?
|
|
1151
|
+
) : (t) => d.is(t) ? $(
|
|
1176
1152
|
e,
|
|
1177
1153
|
t
|
|
1178
|
-
) :
|
|
1154
|
+
) : L(
|
|
1179
1155
|
e,
|
|
1180
1156
|
t
|
|
1181
1157
|
)
|
|
1182
1158
|
}
|
|
1183
|
-
),
|
|
1159
|
+
), Ct = new Proxy(
|
|
1184
1160
|
{},
|
|
1185
1161
|
{
|
|
1186
1162
|
/**
|
|
@@ -1191,10 +1167,10 @@ const Ge = /* @__PURE__ */ new Set([
|
|
|
1191
1167
|
* @returns The renderable component for the specified attribute.
|
|
1192
1168
|
*
|
|
1193
1169
|
*/
|
|
1194
|
-
get: (s, e) => (t) => d.is(t) ?
|
|
1170
|
+
get: (s, e) => (t) => d.is(t) ? $(
|
|
1195
1171
|
`data-${e}`,
|
|
1196
1172
|
t
|
|
1197
|
-
) :
|
|
1173
|
+
) : L(`data-${e}`, t)
|
|
1198
1174
|
}
|
|
1199
1175
|
), Tt = new Proxy(
|
|
1200
1176
|
{},
|
|
@@ -1207,10 +1183,10 @@ const Ge = /* @__PURE__ */ new Set([
|
|
|
1207
1183
|
* @returns The renderable component for the specified attribute.
|
|
1208
1184
|
*
|
|
1209
1185
|
*/
|
|
1210
|
-
get: (s, e) => (t) => d.is(t) ?
|
|
1186
|
+
get: (s, e) => (t) => d.is(t) ? $(
|
|
1211
1187
|
`aria-${e}`,
|
|
1212
1188
|
t
|
|
1213
|
-
) :
|
|
1189
|
+
) : L(
|
|
1214
1190
|
`aria-${e}`,
|
|
1215
1191
|
t
|
|
1216
1192
|
)
|
|
@@ -1226,10 +1202,10 @@ const Ge = /* @__PURE__ */ new Set([
|
|
|
1226
1202
|
* @returns The renderable component for the specified attribute.
|
|
1227
1203
|
*
|
|
1228
1204
|
*/
|
|
1229
|
-
get: (s, e) => (t) => d.is(t) ?
|
|
1205
|
+
get: (s, e) => (t) => d.is(t) ? $(
|
|
1230
1206
|
e,
|
|
1231
1207
|
t
|
|
1232
|
-
) :
|
|
1208
|
+
) : L(
|
|
1233
1209
|
e,
|
|
1234
1210
|
t
|
|
1235
1211
|
)
|
|
@@ -1244,10 +1220,10 @@ const Ge = /* @__PURE__ */ new Set([
|
|
|
1244
1220
|
* @returns The renderable component for the specified attribute.
|
|
1245
1221
|
*
|
|
1246
1222
|
*/
|
|
1247
|
-
get: (s, e) => (t) => d.is(t) ?
|
|
1223
|
+
get: (s, e) => (t) => d.is(t) ? $(
|
|
1248
1224
|
e,
|
|
1249
1225
|
t
|
|
1250
|
-
) :
|
|
1226
|
+
) : L(
|
|
1251
1227
|
e,
|
|
1252
1228
|
t
|
|
1253
1229
|
)
|
|
@@ -1459,7 +1435,7 @@ const Ge = /* @__PURE__ */ new Set([
|
|
|
1459
1435
|
return (n) => {
|
|
1460
1436
|
const o = n.makeRef();
|
|
1461
1437
|
let l = null, c = !1;
|
|
1462
|
-
const a =
|
|
1438
|
+
const a = I(null), f = r.on((h) => {
|
|
1463
1439
|
h == null ? (l == null || l(!0), l = u((t == null ? void 0 : t()) ?? v)(o), c = !1) : (a.value = h, c || (l == null || l(!0), l = u(e(a))(
|
|
1464
1440
|
o
|
|
1465
1441
|
), c = !0));
|
|
@@ -1591,12 +1567,15 @@ const Ge = /* @__PURE__ */ new Set([
|
|
|
1591
1567
|
r !== !1 && (t ?? n.ownerDocument) != null && n.nodeType === 1 && (n.innerHTML = "");
|
|
1592
1568
|
const o = je(n), l = le(n) ? void 0 : n, c = b.of(o, l);
|
|
1593
1569
|
return z(s, c);
|
|
1594
|
-
}, ss = (s,
|
|
1595
|
-
|
|
1570
|
+
}, ss = (s, {
|
|
1571
|
+
startUrl: e = "https://example.com",
|
|
1572
|
+
selector: t = ":root"
|
|
1573
|
+
} = {}) => {
|
|
1574
|
+
const r = p.toSignal(e).deriveProp(), n = new he(t, void 0), o = new E(n, void 0, { currentURL: r }, {});
|
|
1596
1575
|
return {
|
|
1597
|
-
clear: z(s,
|
|
1598
|
-
root:
|
|
1599
|
-
currentURL:
|
|
1576
|
+
clear: z(s(), o),
|
|
1577
|
+
root: n,
|
|
1578
|
+
currentURL: r
|
|
1600
1579
|
};
|
|
1601
1580
|
};
|
|
1602
1581
|
class at extends Error {
|
|
@@ -1607,16 +1586,16 @@ class at extends Error {
|
|
|
1607
1586
|
const rs = (s, e) => (t) => {
|
|
1608
1587
|
const r = t.makePortal(s);
|
|
1609
1588
|
return z(u(e), r);
|
|
1610
|
-
}, ut = (s) => Symbol(s),
|
|
1589
|
+
}, ut = (s) => Symbol(s), xe = (s, e) => (t) => u(e)(t.withProviders(s)), ns = (...s) => s.length > 0 ? s.reduceRight((e, t) => (r) => e(t(r))) : u, ht = (s, e, t) => xe({ [s]: e }, u(t)), is = (s, e) => xe(s, u(e)), Ce = ut("Probe"), S = /* @__PURE__ */ new Map(), ft = (s, e, t) => {
|
|
1611
1590
|
if (S.has(s))
|
|
1612
1591
|
throw new Error(`Probe already exists: ${s.description}`);
|
|
1613
|
-
return S.set(s, 0), ht(
|
|
1592
|
+
return S.set(s, 0), ht(Ce, (n) => {
|
|
1614
1593
|
let o = S.get(n);
|
|
1615
1594
|
if (o == null)
|
|
1616
1595
|
throw new Error(`Probe not found: ${n.description}`);
|
|
1617
1596
|
--o === 0 ? (e(), S.delete(n)) : S.set(n, o);
|
|
1618
1597
|
}, t);
|
|
1619
|
-
}, dt = (s, e) => nt(
|
|
1598
|
+
}, dt = (s, e) => nt(Ce, (t) => {
|
|
1620
1599
|
const r = S.get(s);
|
|
1621
1600
|
if (r == null)
|
|
1622
1601
|
throw new Error(`Probe not found: ${s.description}`);
|
|
@@ -1685,7 +1664,7 @@ export {
|
|
|
1685
1664
|
Ut as OneOfType,
|
|
1686
1665
|
rt as OneOfValue,
|
|
1687
1666
|
rs as Portal,
|
|
1688
|
-
|
|
1667
|
+
H as Prop,
|
|
1689
1668
|
ns as Provide,
|
|
1690
1669
|
os as ProvideGlobalProbe,
|
|
1691
1670
|
ft as ProvideProbe,
|
|
@@ -1694,7 +1673,7 @@ export {
|
|
|
1694
1673
|
Pe as Repeat,
|
|
1695
1674
|
d as Signal,
|
|
1696
1675
|
me as Task,
|
|
1697
|
-
|
|
1676
|
+
xt as TextNode,
|
|
1698
1677
|
Xt as Unless,
|
|
1699
1678
|
Gt as Use,
|
|
1700
1679
|
ls as UseGlobalProbe,
|
|
@@ -1716,7 +1695,7 @@ export {
|
|
|
1716
1695
|
Ie as animateSignals,
|
|
1717
1696
|
Tt as aria,
|
|
1718
1697
|
D as attr,
|
|
1719
|
-
|
|
1698
|
+
Ct as dataAttr,
|
|
1720
1699
|
Lt as emitChecked,
|
|
1721
1700
|
$t as emitPreventDefault,
|
|
1722
1701
|
Ht as emitStopImmediatePropagation,
|
|
@@ -1739,13 +1718,13 @@ export {
|
|
|
1739
1718
|
Pt as makeComputedRecord,
|
|
1740
1719
|
He as makeEffect,
|
|
1741
1720
|
wt as makeEffectOf,
|
|
1742
|
-
|
|
1721
|
+
I as makeProp,
|
|
1743
1722
|
ut as makeProviderMark,
|
|
1744
1723
|
R as makeSignal,
|
|
1745
1724
|
Mt as math,
|
|
1746
1725
|
Et as mathAttr,
|
|
1747
1726
|
j as on,
|
|
1748
|
-
|
|
1727
|
+
Ce as probeMarker,
|
|
1749
1728
|
ts as render,
|
|
1750
1729
|
z as renderWithContext,
|
|
1751
1730
|
u as renderableOfTNode,
|
package/package.json
CHANGED
package/renderable/render.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Renderable } from '../types/domain';
|
|
2
2
|
import { DOMContext } from '../dom/dom-context';
|
|
3
3
|
import { HeadlessPortal } from '../dom/headless-context';
|
|
4
|
+
import { Value } from '../std/value';
|
|
4
5
|
/**
|
|
5
6
|
* Renders the given `renderable` with the provided `ctx` DOM context.
|
|
6
7
|
*
|
|
@@ -35,10 +36,13 @@ export type RenderOptions = {
|
|
|
35
36
|
* @public
|
|
36
37
|
*/
|
|
37
38
|
export declare const render: (node: Renderable, parent: Node | string, { doc, clear }?: RenderOptions) => () => void;
|
|
38
|
-
export declare const runHeadless: (
|
|
39
|
+
export declare const runHeadless: (makeRenderable: () => Renderable, { startUrl, selector, }?: {
|
|
40
|
+
startUrl?: Value<string>;
|
|
41
|
+
selector?: string;
|
|
42
|
+
}) => {
|
|
39
43
|
clear: () => void;
|
|
40
44
|
root: HeadlessPortal;
|
|
41
|
-
currentURL: import('
|
|
45
|
+
currentURL: import('..').Prop<string>;
|
|
42
46
|
};
|
|
43
47
|
/**
|
|
44
48
|
* Represents an error that occurs during rendering.
|
package/dom/ssr.d.ts
DELETED
|
File without changes
|