@tempots/dom 24.0.0-next.1 → 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.d.ts +1 -0
- package/index.js +313 -294
- package/package.json +1 -1
package/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Qe=Object.defineProperty;var ue=s=>{throw TypeError(s)};var Xe=(s,e,t)=>e in s?Qe(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var i=(s,e,t)=>Xe(s,typeof e!="symbol"?e+"":e,t),he=(s,e,t)=>e.has(s)||ue("Cannot "+t);var k=(s,e,t)=>(he(s,e,"read from private field"),t?t.call(s):e.get(s)),de=(s,e,t)=>e.has(s)?ue("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(s):e.set(s,t),z=(s,e,t,r)=>(he(s,e,"write to private field"),r?r.call(s,t):e.set(s,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const me=(s,e,t)=>s+(e-s)*t,fe=97,ge=(s,e,t)=>{const r=Math.max(s.length,e.length);let n="";for(let o=0;o<r;o++){let l=s.charCodeAt(o);isNaN(l)&&(l=fe);let a=e.charCodeAt(o);isNaN(a)&&(a=fe),n+=String.fromCharCode(l+(a-l)*t)}return n},ye=(s,e,t)=>new Date(s.getTime()+(e.getTime()-s.getTime())*t),we=(s,e)=>e,_e=s=>typeof s=="number"?me:typeof s=="string"?ge:s instanceof Date?ye:we;var w;class D{constructor(e,t){i(this,"counter");i(this,"isFirst");i(this,"isEven");i(this,"isOdd");de(this,w);i(this,"dispose",()=>{k(this,w)!=null&&(k(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 k(this,w)==null&&z(this,w,this.total.map(e=>this.counter===e)),k(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 r=this.equals(this._value,e);r||(this._value=e),(t||!r)&&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=(r,n)=>r===n)=>{const r=new S(()=>{try{return e(this.get())}catch(n){throw console.error("Error in Signal.map:",n),n}},t);return this.setDerivative(r),r});i(this,"flatMap",(e,t=(r,n)=>r===n)=>{const r=new S(()=>{try{return e(this.get()).get()}catch(n){throw console.error("Error in Signal.flatMap:",n),n}},t);return this.setDerivative(r),r});i(this,"tap",e=>this.map(t=>(e(t),t)));i(this,"at",e=>this.map(t=>t[e]));i(this,"_$");i(this,"filter",(e,t)=>{let r=t??this.get();const n=new S(()=>{try{const o=this.get();return r=e(o)?o:r}catch(o){throw console.error("Error in Signal.filter:",o),o}},this.equals);return this.setDerivative(n),n});i(this,"filterMap",(e,t,r=(n,o)=>n===o)=>{let n=t;const o=new S(()=>{try{const l=this.get(),a=e(l);return n=a??n}catch(l){throw console.error("Error in Signal.filterMap:",l),l}},r);return this.setDerivative(o),o});i(this,"mapAsync",(e,t,r,n=(o,l)=>o===l)=>{const o=L(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(r!=null)o.set(r(h));else throw h}})),o});i(this,"mapMaybe",(e,t)=>this.map(r=>e(r)??t));i(this,"feedProp",(e,t=!1)=>{const r=this.on(e.set);return e.onDispose(r),t?this.onDispose(e.dispose):this.onDispose(r),e});i(this,"deriveProp",(e=!0)=>this.feedProp(L(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,r,n=(o,l)=>o===l)=>{const o=new M(t,n);return e.then(l=>o._setAndNotify(l,!1)).catch(l=>{r!=null?o._setAndNotify(r(l),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",l)}),o}),i(M,"is",e=>e!=null&&e.$__signal__===!0);let f=M;const Ye=typeof queueMicrotask=="function"?queueMicrotask:s=>Promise.resolve().then(s);class S extends f{constructor(t,r){super(void 0,r);i(this,"$__computed__",!0);i(this,"_isDirty",!1);i(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(t=>t.setDirty()),this._scheduleNotify())});i(this,"_scheduleCount",0);i(this,"_scheduleNotify",()=>{const t=++this._scheduleCount;Ye(()=>{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,...r)=>{const n=this;return function o(l){const a=n.value;n.update(c=>t(c,l)),!n.equals(a,n.value)&&r.forEach(c=>c({previousState:a,state:n.value,action:l,dispatch:o}))}});i(this,"iso",(t,r,n=(o,l)=>o===l)=>{const o=new q(t(this.get()),n);return o.onDispose(this.on(l=>o.set(t(l)))),o.on(l=>this._setAndNotify(r(l),!1)),o});i(this,"atProp",t=>this.iso(r=>r[t],r=>({...this.value,[t]:r})))}get value(){return this.get()}set value(t){this._setAndNotify(t,!1)}};i(q,"is",t=>t!=null&&t.$__prop__===!0);let b=q;const F=(s,e,t=(r,n)=>r===n)=>{const r=new S(s,t);return e.forEach(n=>n.setDerivative(r)),r},ve=(s,e)=>F(s,e).dispose,L=(s,e=(t,r)=>t===r)=>new b(s,e),N=(s,e=(t,r)=>t===r)=>new f(s,e),G=()=>typeof window<"u"?window:void 0,p={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 p.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()}},Ze=(...s)=>(e,t)=>{const r=s.filter(n=>f.is(n));return F(()=>e(...s.map(n=>p.get(n))),r,t)},Ke=(...s)=>e=>{const t=s.filter(r=>f.is(r));ve(()=>e(...s.map(p.get)),t)};class J{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 Q=({key:s,defaultValue:e,store:t,serialize:r=JSON.stringify,deserialize:n=JSON.parse,equals:o=(a,c)=>a===c,onLoad:l=a=>a})=>{const a=t.getItem(s),c=new b(a!=null?l(n(a)):typeof e=="function"?e():e,o);return c.on(d=>{t.setItem(s,r(d))}),c},et=s=>{var e;return Q({...s,store:((e=G())==null?void 0:e.localStorage)??new J})},tt=s=>{var e;return Q({...s,store:((e=G())==null?void 0:e.sessionStorage)??new J})};function pe(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):setTimeout(s,0)}const Se=(s,e,t,r)=>{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,R)=>y===R);let a=r==null?void 0:r.interpolate,c=s,d=e(),h=performance.now(),x=null,A=!0;const W=new S(e,l),O=L(s,l);O.onDispose(()=>{x!==null&&cancelAnimationFrame(x)}),O.onDispose(W.dispose),t.forEach(y=>{y.setDerivative(W),y.onDispose(O.dispose)});const Ge=y=>{d=y,h=performance.now(),c=O.value,A&&(A=!1,x=pe(ae))},ae=()=>{const R=(performance.now()-h)/p.get(n),Je=o(R);a==null&&(a=_e(c));let ce=a(c,d,Je);R>=1?(A=!0,ce=d):x=pe(ae),O.set(ce)};return W.on(Ge),O},st=(s,e)=>{const{initialValue:t,...r}=e??{};return Se(t??s.get(),s.get,[s],r)},rt=(s,e)=>{const{signals:t,literals:r}=Object.entries(s).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])=>r[o]=l.value),e(r)),n)},Pe=new Set(["checked","disabled","hidden","selected"]),Ce=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Te=new Set(["valueAsDate"]),xe=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),Oe=(s,e)=>Pe.has(s)?t=>{t==null?e[s]=null:e[s]=!!t}:Ce.has(s)?t=>{t==null?e[s]=null:e[s]=Number(t)}:Te.has(s)?t=>{t==null?e[s]=null:e[s]=t}:xe.has(s)?t=>{t==null?e[s]=null:e[s]=String(t)}:t=>{t==null?e.removeAttribute(s):e.setAttribute(s,t)},Ee=(s,e)=>Pe.has(s)?()=>!!e[s]:Ce.has(s)?()=>Number(e[s]):Te.has(s)?()=>e[s]:xe.has(s)?()=>String(e[s]):()=>e.getAttribute(s),j=s=>{const e=s;e&&e.onblur&&(e.onblur=null),!(!s||s.ownerDocument===void 0)&&s.parentElement&&s.parentElement.removeChild(s)},De=s=>X(s)?s:s.parentElement,X=s=>s.nodeType===1;class Y extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}class P{constructor(e,t,r,n){i(this,"createElement",(e,t)=>t!==void 0?this.document.createElementNS(t,e):this.document.createElement(e));i(this,"makeChildElement",(e,t)=>{const r=this.createElement(e,t);return this.appendOrInsert(r),this.withElement(r)});i(this,"createText",e=>this.document.createTextNode(e));i(this,"makeChildText",e=>{const t=this.createText(e);return this.appendOrInsert(t),this.withReference(t)});i(this,"setText",e=>{this.reference.nodeValue=e});i(this,"getText",()=>{var e;return((e=this.reference)==null?void 0:e.nodeValue)??this.element.textContent??""});i(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});i(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});i(this,"withElement",e=>new P(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 P(this.document,this.element,e,this.providers));i(this,"withProviders",e=>new P(this.document,this.element,this.reference,{...this.providers,...e}));i(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Y(e);return this.providers[e]});i(this,"clear",e=>{e&&(this.reference!==void 0?j(this.reference):j(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),r=>{r&&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:Ee(e,this.element),set:Oe(e,this.element)}));this.document=e,this.element=t,this.reference=r,this.providers=n}static of(e,t){return new P(e.ownerDocument,e,t,{})}}const g=Symbol("class"),v=Symbol("style"),E=Symbol("handler"),Ae=()=>Math.random().toString(36).substring(2,15),nt=s=>s.replace(/<[^>]*>?/g,"");class ke{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?nt(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[v]!=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 r=t.getById(e);if(r!=null)return r}});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 r=(o=this.properties)[E]??(o[E]={}),n=t;return r[e]=[...r[e]??[],n],()=>{const l=r[e]??[],a=l.indexOf(n);a!==-1&&(l.splice(a,1),l.length===0?(delete r[e],Object.keys(r).length===0&&delete this.properties[E]):r[e]=l)}});i(this,"addClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[g]??(r[g]=[]);e.forEach(n=>{t.includes(n)||t.push(n)})});i(this,"removeClasses",e=>{var r;if(e.length===0)return;const t=(r=this.properties)[g]??(r[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===v?[["style",this.getStyles()]]:typeof e=="string"?[[e,String(this.properties[e])]]:[]));i(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])});i(this,"getStyle",e=>{var t;return((t=this.properties[v])==null?void 0:t[e])??""});i(this,"getStyles",()=>this.properties[v]??{});i(this,"makeAccessors",e=>{const t=this.properties;return{get:()=>t[e],set:r=>t[e]=r}});this.parent=e}}const it=s=>s.replace(/"/g,"""),ot=s=>s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");class Me extends ke{constructor(t,r,n){super(n);i(this,"isPortal",()=>!1);i(this,"toHTML",()=>{const t=this.children.map(l=>l.toHTML()).join(""),r=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(" ")}"`:lt.has(l)?` ${l}`:l==="innerHTML"?(n=a,""):l==="innerText"?(n=ot(a),""):` ${l}="${it(a)}"`).join("");return at.has(this.tagName)&&t===""?`<${this.tagName}${r}${o} />`:`<${this.tagName}${r}${o}>${n??t}</${this.tagName}>`});this.tagName=t,this.namespace=r}}class Z extends ke{constructor(t,r){super(r);i(this,"isPortal",()=>!0);i(this,"toHTML",()=>"");i(this,"contentToHTML",()=>this.children.map(t=>t.toHTML()).join(""));this.selector=t}}class be{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,r,n){i(this,"appendOrInsert",e=>{if(this.reference!=null){const t=this.element.children.indexOf(this.reference);this.element.children.splice(t,0,e)}else this.element.children.push(e)});i(this,"makeChildElement",(e,t)=>{const r=new Me(e,t,this.element);return this.appendOrInsert(r),new C(r,void 0,this.container,this.providers)});i(this,"makeChildText",e=>{const t=new be(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 Z(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 Y(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=r,this.providers=n}}const lt=new Set(["checked","disabled","multiple","readonly","required","selected"]),at=new Set(["img","br","hr","input","link","meta"]),K=s=>e=>{const t=e.makeChildText(s);return r=>t.clear(r)},ee=s=>e=>{const t=e.makeChildText(s.value),r=s.on(n=>t.setText(n));return n=>{r(),t.clear(n)}},ct=s=>f.is(s)?ee(s):K(s),m=(...s)=>e=>{const t=s.map(r=>u(r)(e));return r=>{t.forEach(n=>n(r))}},_=()=>()=>{},ut=s=>e=>(e.addClasses(s),t=>{t&&e.removeClasses(s)}),ht=s=>e=>{let t=[];const r=s.on(n=>{e.removeClasses(t),t=(n??"").split(" ").filter(o=>o.length>0),e.addClasses(t)});return n=>{r(),n&&e.removeClasses(t),t.length=0}},$=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),o=r();return n(e),l=>{l&&n(o)}},H=(s,e)=>t=>{const{get:r,set:n}=t.makeAccessors(s),o=r(),l=e.on(n);return a=>{l(),a&&n(o)}},T=new Proxy({},{get:(s,e)=>e==="class"?t=>f.is(t)?ht(t):ut((t??"").split(" ").filter(r=>r.length>0)):t=>f.is(t)?H(e,t):$(e,t)}),dt=new Proxy({},{get:(s,e)=>t=>f.is(t)?H(`data-${e}`,t):$(`data-${e}`,t)}),ft=new Proxy({},{get:(s,e)=>t=>f.is(t)?H(`aria-${e}`,t):$(`aria-${e}`,t)}),pt=new Proxy({},{get:(s,e)=>t=>f.is(t)?H(e,t):$(e,t)}),mt=new Proxy({},{get:(s,e)=>t=>f.is(t)?H(e,t):$(e,t)}),u=s=>{if(s==null)return _;if(Array.isArray(s))return m(...s.map(u));if(typeof s=="string")return K(s);if(f.is(s))return ee(s);if(typeof s=="function")return s;throw new Error(`Unknown type: '${typeof s}' for child: ${s}`)},te=(s,...e)=>t=>{const r=t.makeChildElement(s,void 0),n=e.map(o=>u(o)(r));return o=>{n.forEach(l=>l(!1)),r.clear(o)}},se=(s,e,...t)=>r=>{const n=r.makeChildElement(s,e),o=t.map(l=>u(l)(n));return l=>{o.forEach(a=>a(!1)),n.clear(l)}},gt=new Proxy({},{get:(s,e)=>(...t)=>te(e,t.flatMap(u))}),yt=new Proxy({},{get:(s,e)=>(...t)=>te("input",T.type(e),...t)}),wt="http://www.w3.org/2000/svg",_t=new Proxy({},{get:(s,e)=>(...t)=>se(e,wt,t.flatMap(u))}),vt="http://www.w3.org/1998/Math/MathML",St=new Proxy({},{get:(s,e)=>(...t)=>se(e,vt,t.flatMap(u))}),re=(s,e)=>{if(typeof e=="function")return re(s,{then:e});const t=e.pending!=null?u(e.pending):_,r=e.then,n=e.error!=null?o=>u(e.error(o)):()=>_;return o=>{let l=!0;const a=s(),c=o.makeRef();let d=u(t)(c);return a.then(h=>{l&&(d(!0),d=u(r(h))(c))},h=>{l&&(d(!0),d=u(n(h))(c))}),h=>{l=!1,d(h),c.clear(h)}}},Pt=(s,e)=>re(()=>s,e),Le=(s,e)=>t=>t.on(s,e),Ne=s=>Le("click",e=>{e.preventDefault();const t=e.target;setTimeout(()=>{const r=t.ownerDocument!=null?t==null?void 0:t.checked:void 0;r!=null&&s(!r)},0)}),V=new Proxy({},{get:(s,e)=>t=>Le(e,t)}),$e=s=>e=>{const t=e.target;s(t.value)},He=s=>e=>{const t=e.target;s(t.valueAsNumber)},Ve=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)},Ie=s=>e=>{const t=e.target;if(t.value==="")return;const r=t.value.split("T"),n=r[0].split("-"),o=new Date(Number(n[0]),Number(n[1])-1,Number(n[2])),l=r[1].split(":");o.setHours(Number(l[0])),o.setMinutes(Number(l[1])),o.setSeconds(Number(l[2])),s(o)},Ct=s=>e=>{const t=e.target;s(t.checked)},Tt=s=>e=>{e.preventDefault(),s()},xt=s=>e=>{e.stopPropagation(),s()},Ot=s=>e=>{e.stopImmediatePropagation(),s()},Et=(s,e="input")=>m(T.valueAsDate(s),V[e](Ve(s.set))),Dt=(s,e="input")=>m(T.valueAsDate(s),V[e](Ie(s.set))),At=(s,e="input")=>m(T.valueAsNumber(s),V[e](He(s.set))),kt=(s,e="input")=>m(T.value(s),V[e]($e(s.set))),Mt=s=>m(T.checked(s),Ne(s.set)),I=(s,e)=>{if(f.is(s))return r=>{const n=r.makeRef();let o,l;const a=s.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=s.map(A=>A[h]);const x=e[h](l);o=u(x)(n),c=h}});return h=>{d(),n.clear(h),o==null||o(h)}};const t=Object.keys(s)[0];return u(e[t](N(s[t])))},ne=(s,e,t)=>I(p.map(s,r=>({[r[e]]:r})),t),bt=(s,e)=>ne(s,"kind",e),Lt=(s,e)=>{const t=p.map(s,([r,n])=>({[r]:n}));return I(t,e)},Nt=(s,e)=>ne(s,"type",e),Re=(s,e)=>I(p.map(s,t=>({[t]:!0})),e),$t=(s,e={})=>t=>{const r=(e==null?void 0:e.firstSeparator)??s,n=(e==null?void 0:e.lastSeparator)??s;return Re(t.map(o=>o.isFirst?"first":o.isLast?"last":"other"),{first:()=>r,last:()=>n,other:()=>s})},je=(s,e)=>t=>{const r=Object.values(s).reduce((n,o)=>{const l=t.getProvider(o);return n[o]=l,n},{});return u(e(r))(t)},Ht=(s,e)=>t=>{const r=[],n=Object.entries(s).reduce((o,[l,a])=>(r.push(a(c=>(Reflect.set(o,l,c),null))(t)),o),{});return r.push(e(n)(t)),o=>{r.forEach(l=>l(o))}},Vt=(s,e)=>je([s],t=>u(e(t[s]))),It=(s,e)=>je(s,t=>u(e(t))),Rt=s=>e=>s(e)??(()=>{}),jt=s=>e=>(e.appendOrInsert(s),t=>{t&&j(s)}),Be=(s,e,t)=>{if(f.is(s)){const r=s;return n=>{const o=n.makeRef();let l=null,a=!1;const c=L(null),d=r.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 r=s;if(r==null){const n=t==null?void 0:t();return n!=null?u(n):_}return u(e(N(r)))}},B=s=>e=>t=>s(t,e),ie=(s,e,t)=>oe(s,()=>e,()=>t),oe=(s,e,t)=>Be(p.map(s,r=>r?!0:null),e,t??void 0),Bt=(s,e,t)=>qe(s,()=>e,()=>t),qe=(s,e,t)=>oe(p.map(s,r=>!r),e,t),le=(s,e,t)=>t!=null?le(s,r=>{const n=new D(r.index,r.total.map(o=>o-1));return m(B(n.dispose),u(e(r)),ie(r.isLast,_,t(n)))}):f.is(s)?r=>{const n=r.makeRef(),o=Array.from({length:s.value},(c,d)=>d).map(c=>new D(c,s)),l=o.map(c=>u(e(c))(n)),a=s.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,s);const h=u(e(o[d]));l[d]=h(n)}});return c=>{a(),n.clear(c)}}:m(...Array.from({length:s},(r,n)=>n).map(r=>u(e(new D(r,N(s)))))),Fe=(s,e,t)=>{if(t!=null)return Fe(s,(r,n)=>{const o=new D(n.index,n.total.map(l=>l-1));return m([B(o.dispose),u(e(r,n)),ie(n.isLast,_,t(o))])});{const r=p.map(s,o=>o.length),n=p.toSignal(s);return le(r,o=>{const l=n.map(a=>a[o.index]);return m(B(l.dispose),u(e(l,o)))})}},Ue=s=>e=>e.isBrowserDOM()?s(e)??(()=>{}):()=>{},qt=s=>e=>e.isHeadlessDOM()?s(e)??(()=>{}):()=>{},Ft=s=>Ue(e=>s(e.element)??(()=>{})),Ut=(s,e)=>{if(f.is(s)){const t=s;return r=>{r=r.makeRef();const n=t.map(a=>u(e(a)));let o=()=>{};const l=n.on(a=>{o(!0),o=a(r)});return a=>{l(),o(a)}}}return u(e(s))},Wt=(s,e,t=()=>_)=>I(p.map(s,r=>r.length>0?{notEmpty:r}:{whenEmpty:null}),{notEmpty:r=>e(r),whenEmpty:()=>t()}),U=(s,e)=>{const t=s(e);return()=>t(!0)},zt=(s,e,{doc:t,clear:r}={})=>{const n=typeof e=="string"?(t??document).querySelector(e):e;if(n===null)throw new We(`Cannot find element by selector for render: ${e}`);r!==!1&&(t??n.ownerDocument)!=null&&n.nodeType===1&&(n.innerHTML="");const o=De(n),l=X(n)?void 0:n,a=P.of(o,l);return U(s,a)},Gt=(s,{startUrl:e="https://example.com",selector:t=":root"}={})=>{const r=p.toSignal(e).deriveProp(),n=new Z(t,void 0),o=new C(n,void 0,{currentURL:r},{});return{clear:U(s(),o),root:n,currentURL:r}};class We extends Error{constructor(e){super(e)}}const Jt=(s,e)=>t=>{const r=t.makePortal(s);return U(u(e),r)},Qt=s=>Symbol(s),ze=(s,e)=>t=>u(e)(t.withProviders(s)),Xt=(...s)=>s.length>0?s.reduceRight((e,t)=>r=>e(t(r))):u,Yt=(s,e,t)=>ze({[s]:e},u(t)),Zt=(s,e)=>ze(s,u(e)),Kt=(s,e)=>t=>{const r=t.getStyle(s);return t.setStyle(s,e),n=>{n&&t.setStyle(s,r)}},es=(s,e)=>t=>{const r=t.getStyle(s);return e.on(n=>t.setStyle(s,n)),n=>{n&&t.setStyle(s,r)}},ts=new Proxy({},{get:(s,e)=>t=>f.is(t)?es(e,t):Kt(e,t)});exports.Async=Pt;exports.BindChecked=Mt;exports.BindDate=Et;exports.BindDateTime=Dt;exports.BindNumber=At;exports.BindText=kt;exports.BrowserContext=P;exports.Computed=S;exports.Conjunction=$t;exports.DOMNode=jt;exports.El=te;exports.ElNS=se;exports.ElementPosition=D;exports.Empty=_;exports.Ensure=Be;exports.ForEach=Fe;exports.Fragment=m;exports.HeadlessContext=C;exports.HeadlessElement=Me;exports.HeadlessPortal=Z;exports.HeadlessText=be;exports.LazyUnless=qe;exports.LazyWhen=oe;exports.MapSignal=Ut;exports.MemoryStore=J;exports.NotEmpty=Wt;exports.OnBrowserCtx=Ue;exports.OnChecked=Ne;exports.OnCtx=Rt;exports.OnDispose=B;exports.OnElement=Ft;exports.OnHeadlessCtx=qt;exports.OneOf=I;exports.OneOfField=ne;exports.OneOfKind=bt;exports.OneOfTuple=Lt;exports.OneOfType=Nt;exports.OneOfValue=Re;exports.Portal=Jt;exports.Prop=b;exports.Provide=Xt;exports.ProviderNotFoundError=Y;exports.RenderingError=We;exports.Repeat=le;exports.Signal=f;exports.Task=re;exports.TextNode=ct;exports.Unless=Bt;exports.Use=Ht;exports.UseProvider=Vt;exports.UseProviders=It;exports.Value=p;exports.When=ie;exports.WithProvider=Yt;exports.WithProviders=Zt;exports._getSelfOrParentElement=De;exports._isElement=X;exports._makeGetter=Ee;exports._makeSetter=Oe;exports._removeDOMNode=j;exports._signalText=ee;exports._staticText=K;exports.animateSignal=st;exports.animateSignals=Se;exports.aria=ft;exports.attr=T;exports.dataAttr=dt;exports.emitChecked=Ct;exports.emitPreventDefault=Tt;exports.emitStopImmediatePropagation=Ot;exports.emitStopPropagation=xt;exports.emitValue=$e;exports.emitValueAsDate=Ve;exports.emitValueAsDateTime=Ie;exports.emitValueAsNumber=He;exports.endInterpolate=we;exports.getWindow=G;exports.guessInterpolate=_e;exports.html=gt;exports.input=yt;exports.interpolateDate=ye;exports.interpolateNumber=me;exports.interpolateString=ge;exports.localStorageProp=et;exports.makeComputed=F;exports.makeComputedOf=Ze;exports.makeComputedRecord=rt;exports.makeEffect=ve;exports.makeEffectOf=Ke;exports.makeProp=L;exports.makeProviderMark=Qt;exports.makeSignal=N;exports.math=St;exports.mathAttr=mt;exports.on=V;exports.render=zt;exports.renderWithContext=U;exports.renderableOfTNode=u;exports.runHeadless=Gt;exports.sessionStorageProp=tt;exports.storedProp=Q;exports.style=ts;exports.svg=_t;exports.svgAttr=pt;
|
|
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.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export * from './renderable/oneof';
|
|
|
42
42
|
export * from './renderable/map-signal';
|
|
43
43
|
export * from './renderable/not-empty';
|
|
44
44
|
export * from './renderable/portal';
|
|
45
|
+
export * from './renderable/probe';
|
|
45
46
|
export * from './renderable/providers';
|
|
46
47
|
export * from './renderable/render';
|
|
47
48
|
export * from './renderable/repeat';
|