@tempots/dom 17.0.0 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dom/animatable.d.ts +7 -7
- package/dom/dom-context.d.ts +1 -1
- package/index.cjs +1 -1
- package/index.d.ts +1 -1
- package/index.js +485 -606
- package/package.json +1 -1
- package/renderable/attribute.d.ts +7 -5
- package/renderable/handler.d.ts +3 -0
- package/renderable/style.d.ts +1 -2
- package/renderable/text.d.ts +2 -2
- package/std/signal-utils.d.ts +50 -0
- package/std/signal.d.ts +9 -66
- package/types/domain.d.ts +7 -1
package/dom/animatable.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface AnimatableProps {
|
|
2
2
|
width?: number;
|
|
3
3
|
maxWidth?: number;
|
|
4
4
|
minWidth?: number;
|
|
@@ -71,9 +71,9 @@ export interface BoxShadow {
|
|
|
71
71
|
export declare function colorChannelsToString(channels: ColorChannels): string;
|
|
72
72
|
export declare function interpolateColor(startColor: string, endColor: string): (t: number) => string;
|
|
73
73
|
export declare function interpolateShadow(startShadow: string, endShadow: string): (t: number) => string;
|
|
74
|
-
export declare function getComputedAnimatableProp(styles: CSSStyleDeclaration, key: keyof
|
|
75
|
-
export declare function getComputedAnimatable(el: HTMLElement, styles:
|
|
76
|
-
export declare function applyAnimatableProp(el: HTMLElement, key: keyof
|
|
77
|
-
export declare function applyInterpolatedAnimatableProp(el: HTMLElement, key: keyof
|
|
78
|
-
export declare function applyInterpolatedAnimatable(el: HTMLElement, from:
|
|
79
|
-
export declare function applyAnimatable(el: HTMLElement, styles:
|
|
74
|
+
export declare function getComputedAnimatableProp(styles: CSSStyleDeclaration, key: keyof AnimatableProps): AnimatableProps[typeof key];
|
|
75
|
+
export declare function getComputedAnimatable(el: HTMLElement, styles: AnimatableProps): AnimatableProps;
|
|
76
|
+
export declare function applyAnimatableProp(el: HTMLElement, key: keyof AnimatableProps, value: AnimatableProps[typeof key]): void;
|
|
77
|
+
export declare function applyInterpolatedAnimatableProp(el: HTMLElement, key: keyof AnimatableProps, from: AnimatableProps[typeof key], to: AnimatableProps[typeof key], progress: number): void;
|
|
78
|
+
export declare function applyInterpolatedAnimatable(el: HTMLElement, from: AnimatableProps, to: AnimatableProps, progress: number): void;
|
|
79
|
+
export declare function applyAnimatable(el: HTMLElement, styles: AnimatableProps): void;
|
package/dom/dom-context.d.ts
CHANGED
|
@@ -102,7 +102,7 @@ export declare class DOMContext {
|
|
|
102
102
|
*
|
|
103
103
|
* @param mark - The provider mark to retrieve the provider for.
|
|
104
104
|
* @returns The provider for the given mark.
|
|
105
|
-
* @throws
|
|
105
|
+
* @throws Error If the provider for the given mark is not found.
|
|
106
106
|
*/
|
|
107
107
|
readonly getProvider: <T>(mark: ProviderMark<T>) => T;
|
|
108
108
|
}
|
package/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ct=Object.defineProperty;var ft=(t,e,r)=>e in t?ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var u=(t,e,r)=>ft(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function Ce(t,e,r){return t+(e-t)*r}const me=97;function Te(t,e,r){const n=Math.max(t.length,e.length);let s="";for(let i=0;i<n;i++){let o=t.charCodeAt(i);isNaN(o)&&(o=me);let l=e.charCodeAt(i);isNaN(l)&&(l=me),s+=String.fromCharCode(o+(l-o)*r)}return s}function De(t,e,r){return new Date(t.getTime()+(e.getTime()-t.getTime())*r)}function Ne(t,e,r){return e}function $e(t){return typeof t=="number"?Ce:typeof t=="string"?Te:t instanceof Date?De:Ne}class Oe{constructor(e,r){this.index=e,this.total=r}get isFirst(){return this.index===0}get isLast(){return this.index===this.total-1}get isEven(){return this.index%2===0}get isOdd(){return this.index%2===1}}const ge="$__signal__",Se="$__prop__",be="$__computed__";var Ae;Ae=ge;const y=class y{constructor(e,r){u(this,Ae,!0);u(this,"_value");u(this,"_derivatives",[]);u(this,"_onValueListeners",[]);u(this,"_onDisposeListeners",[]);u(this,"get",()=>this._value);u(this,"hasListeners",()=>this._onValueListeners.length>0);u(this,"on",e=>(e(this.get()),this._onValueListeners.push(e),()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(e),1)}));u(this,"_setAndNotify",(e,r)=>{const n=this.equals(this._value,e);n||(this._value=e),(r||!n)&&this._onValueListeners.forEach(s=>s(e))});u(this,"_disposed",!1);u(this,"isDisposed",()=>this._disposed);u(this,"onDispose",e=>{this._onDisposeListeners.push(e)});u(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});u(this,"map",(e,r=(n,s)=>n===s)=>{const n=new P(()=>{try{return e(this.get())}catch(s){throw console.error("Error in Signal.map:",s),s}},r);return this.setDerivative(n),n});u(this,"flatMap",(e,r=(n,s)=>n===s)=>{const n=new P(()=>{try{return e(this.get()).get()}catch(s){throw console.error("Error in Signal.flatMap:",s),s}},r);return this.setDerivative(n),n});u(this,"tap",e=>this.map(r=>(e(r),r)));u(this,"at",e=>this.map(r=>r[e]));u(this,"$",new Proxy(this,{get:(e,r)=>this.at(r)}));u(this,"filter",(e,r)=>{let n=r??this.get();const s=new P(()=>{try{const i=this.get();return n=e(i)?i:n}catch(i){throw console.error("Error in Signal.filter:",i),i}},this.equals);return this.setDerivative(s),s});u(this,"filterMap",(e,r,n=(s,i)=>s===i)=>{let s=r;const i=new P(()=>{try{const o=this.get(),l=e(o);return s=l??s}catch(o){throw console.error("Error in Signal.filterMap:",o),o}},n);return this.setDerivative(i),i});u(this,"mapAsync",(e,r,n,s=(i,o)=>i===o)=>{const i=C(r,s);let o=0;return i.onDispose(this.on(l=>{const a=++o;try{e(l).then(c=>{a===o&&i.set(c)}).catch(c=>{a===o&&(n!=null?i.set(n(c)):console.error("Unhandled promise rejection in Signal.mapAsync:",c))})}catch(c){throw console.error("Error in Signal.mapAsync:",c),c}})),i});u(this,"mapMaybe",(e,r)=>this.map(n=>e(n)??r));u(this,"feedProp",(e,r=!1)=>{const n=this.on(e.set);return e.onDispose(n),r?this.onDispose(e.dispose):this.onDispose(n),e});u(this,"deriveProp",(e=!0)=>this.feedProp(C(this.get()),e));u(this,"count",()=>{let e=0;return this.map(()=>++e)});u(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=r,this._value=e}static ofPromise(e,r,n,s=(i,o)=>i===o){const i=new y(r,s);return e.then(o=>i._setAndNotify(o,!1)).catch(o=>{n!=null?i._setAndNotify(n(o),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",o)}),i}static is(e){return e!=null&&e[ge]===!0}static wrap(e,r=(n,s)=>n===s){return y.is(e)?e:new y(e,r)}static maybeWrap(e){return e==null?e:y.wrap(e)}static unwrap(e){return y.is(e)?e.get():e}static map(e,r){return y.is(e)?e.map(r):r(e)}get value(){return this._value}};let d=y;const dt=typeof queueMicrotask=="function"?queueMicrotask:t=>Promise.resolve().then(t);var ye,_e;class P extends(_e=d,ye=be,_e){constructor(r,n){super(void 0,n);u(this,ye,!0);u(this,"_isDirty",!1);u(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(r=>r.setDirty()),this.scheduleNotify())});u(this,"_scheduleCount",0);u(this,"scheduleNotify",()=>{const r=++this._scheduleCount;dt(()=>{this._scheduleCount!==r||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});u(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._value=this._fn(),this._setAndNotify(this._value,!0)),this._value));this._fn=r,this.setDirty()}static is(r){return r!=null&&r[be]===!0}get value(){return this.get()}}var Pe,Ee;class M extends(Ee=d,Pe=Se,Ee){constructor(){super(...arguments);u(this,Pe,!0);u(this,"set",r=>{this._setAndNotify(r,!1)});u(this,"update",r=>{this._setAndNotify(r(this.get()),!1)});u(this,"reducer",(r,...n)=>{const s=this;return function i(o){const l=s.value;s.update(a=>r(a,o)),!s.equals(l,s.value)&&n.forEach(a=>a({previousState:l,state:s.value,action:o,dispatch:i}))}});u(this,"iso",(r,n,s=(i,o)=>i===o)=>{const i=new M(r(this.get()),s);return i.onDispose(this.on(o=>i.set(r(o)))),i.on(o=>this._setAndNotify(n(o),!1)),i});u(this,"atProp",r=>this.iso(n=>n[r],n=>({...this.value,[r]:n})))}static is(r){return r!=null&&r[Se]===!0}get value(){return this.get()}set value(r){this._setAndNotify(r,!1)}}function U(t,e,r=(n,s)=>n===s){const n=new P(t,r);return e.forEach(s=>s.setDerivative(n)),n}function ht(t,e){return U(t,e).dispose}function C(t,e=(r,n)=>r===n){return new M(t,e)}function pt(t,e=(r,n)=>r===n){return new d(t,e)}class B{constructor(){u(this,"_store",new Map);u(this,"getItem",e=>this._store.get(e)??null);u(this,"setItem",(e,r)=>{this._store.set(e,r)})}}function G({key:t,defaultValue:e,store:r,serialize:n=JSON.stringify,deserialize:s=JSON.parse,equals:i=(l,a)=>l===a,onLoad:o=l=>l}){const l=r.getItem(t),a=new M(l!=null?o(s(l)):typeof e=="function"?e():e,i);return a.on(c=>{r.setItem(t,n(c))}),a}function mt(t){return G({...t,store:(window==null?void 0:window.localStorage)??new B})}function gt(t){return G({...t,store:(window==null?void 0:window.sessionStorage)??new B})}function ve(t){return typeof requestAnimationFrame=="function"?requestAnimationFrame(t):setTimeout(t,0)}function Me(t,e,r,n){const s=(n==null?void 0:n.duration)??300,i=(n==null?void 0:n.easing)??(w=>w),o=(n==null?void 0:n.equals)??((w,F)=>w===F);let l=n==null?void 0:n.interpolate,a=t,c=e(),p=performance.now(),m=null,h=!0;const _=new P(e,o),A=C(t,o);A.onDispose(()=>{m!==null&&cancelAnimationFrame(m)}),A.onDispose(_.dispose),r.forEach(w=>{w.setDerivative(_),w.onDispose(A.dispose)});const Z=w=>{c=w,p=performance.now(),a=A.value,h&&(h=!1,m=ve(he))},he=()=>{const F=(performance.now()-p)/d.unwrap(s),lt=i(F);l==null&&(l=$e(a));let pe=l(a,c,lt);F>=1?(h=!0,pe=c):m=ve(he),A.set(pe)};return _.on(Z),A}function St(t,e){const{initialValue:r,...n}=e??{};return Me(r??t.get(),t.get,[t],n)}function bt(t,e){const{signals:r,literals:n}=Object.entries(t).reduce(({signals:i,literals:o},[l,a])=>(d.is(a)?i.push([l,a]):o[l]=a,{signals:i,literals:o}),{signals:[],literals:{}}),s=r.map(([,i])=>i);return U(()=>(r.forEach(([i,o])=>n[i]=o.value),e(n)),s)}function K(t){let e=t.match(/rgba?\((\d+), (\d+), (\d+)(, (\d+))?\)/);return e!=null?[Number(e[1]),Number(e[2]),Number(e[3]),e[4]!=null?Number(e[5]):1,"rgba"]:(e=t.match(/#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/),e!=null?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16),1,"hex"]:(e=t.match(/hsla?\((\d+), (\d+)%?, (\d+)%?(, (\d+))?\)/),e!=null?[Number(e[1]),Number(e[2]),Number(e[3]),e[4]!=null?Number(e[5]):1,"hsla"]:[0,0,0,1,"rgba"]))}function we(t){const e=/^(inset\s)?(-?\d+)([a-zA-Z]*)(\s+)(-?\d+)([a-zA-Z]*)(?:\s+(-?\d+)([a-zA-Z]*))?(?:\s+(-?\d+)([a-zA-Z]*))?(?:\s+(-?\d+)([a-zA-Z]*))?(?:\s+)([a-zA-Z0-9(),.]+)$/i,r=t.match(e);if(r==null)return{inset:!1,x:0,y:0,blur:0,spread:0,color:"rgba(0, 0, 0, 0)"};const[,n,s,,,i,,o,,l,,a]=r,c=o!=null?parseInt(o,10):0,p=l!=null?parseInt(l,10):0;return{inset:!!n,x:parseInt(s,10),y:parseInt(i,10),blur:c,spread:p,color:a}}function vt(t){const{inset:e,x:r,y:n,blur:s,spread:i,color:o}=t;return`${e?"inset ":""}${r}px ${n}px ${s}px ${i}px ${o}`}function Le(t){return t[4]==="rgba"?`rgba(${t[0]}, ${t[1]}, ${t[2]}, ${t[3]})`:t[4]==="hex"?`#${t[0].toString(16).padStart(2,"0")}${t[1].toString(16).padStart(2,"0")}${t[2].toString(16).padStart(2,"0")}`:t[4]==="hsla"?`hsla(${t[0]}, ${t[1]}%, ${t[2]}%, ${t[3]})`:""}function Ie(t,e){const[r,n,s,i,o]=K(t),[l,a,c,p]=K(e);return m=>{const h=r+(l-r)*m,_=n+(a-n)*m,A=s+(c-s)*m,Z=i+(p-i)*m;return Le([h,_,A,Z,o])}}function wt(t,e){const r=we(t),n=we(e);return s=>{const i=r.x+(n.x-r.x)*s,o=r.y+(n.y-r.y)*s,l=r.blur+(n.blur-r.blur)*s,a=r.spread+(n.spread-r.spread)*s,c=Fe(r.color,n.color)(s);return vt({inset:r.inset,x:i,y:o,blur:l,spread:a,color:c})}}function Re(t,e){var r,n,s,i,o,l,a,c;return e==="translateX"?new WebKitCSSMatrix(t.transform).m41:e==="translateY"?new WebKitCSSMatrix(t.transform).m42:e==="translateZ"?new WebKitCSSMatrix(t.transform).m43:e==="rotateX"?new WebKitCSSMatrix(t.transform).m12:e==="rotateY"?new WebKitCSSMatrix(t.transform).m21:e==="rotateZ"?new WebKitCSSMatrix(t.transform).m31:e==="scaleX"?new WebKitCSSMatrix(t.transform).m11:e==="scaleY"?new WebKitCSSMatrix(t.transform).m22:e==="scaleZ"?new WebKitCSSMatrix(t.transform).m33:e==="skewX"?new WebKitCSSMatrix(t.transform).m13:e==="skewY"?new WebKitCSSMatrix(t.transform).m23:Number(e==="grayScale"?(r=t.filter.match(/grayscale\((\d+)%\)/))==null?void 0:r[1]:e==="sepia"?(n=t.filter.match(/sepia\((\d+)%\)/))==null?void 0:n[1]:e==="saturate"?(s=t.filter.match(/saturate\((\d+)%\)/))==null?void 0:s[1]:e==="hueRotate"?(i=t.filter.match(/hue-rotate\((\d+)deg\)/))==null?void 0:i[1]:e==="invert"?(o=t.filter.match(/invert\((\d+)%\)/))==null?void 0:o[1]:e==="brightness"?(l=t.filter.match(/brightness\((\d+)%\)/))==null?void 0:l[1]:e==="contrast"?(a=t.filter.match(/contrast\((\d+)%\)/))==null?void 0:a[1]:e==="blur"?(c=t.filter.match(/blur\((\d+)px\)/))==null?void 0:c[1]:t.getPropertyValue(e))}function At(t,e){const r={},n=getComputedStyle(t);for(const[s,i]of Object.entries(e)){const o=s;i!=null&&(r[o]=Re(n,o))}return r}function $(t,e,r){r!=null&&(e==="translateX"?t.style.transform+=` translateX(${r}px)`:e==="translateY"?t.style.transform+=` translateY(${r}px)`:e==="translateZ"?t.style.transform+=` translateZ(${r}px)`:e==="rotateX"?t.style.transform+=` rotateX(${r}deg)`:e==="rotateY"?t.style.transform+=` rotateY(${r}deg)`:e==="rotateZ"?t.style.transform+=` rotateZ(${r}deg)`:e==="scaleX"?t.style.transform+=` scaleX(${r})`:e==="scaleY"?t.style.transform+=` scaleY(${r})`:e==="scaleZ"?t.style.transform+=` scaleZ(${r})`:e==="skewX"?t.style.transform+=` skewX(${r}deg)`:e==="skewY"?t.style.transform+=` skewY(${r}deg)`:e==="grayScale"?t.style.filter+=` grayscale(${r}%)`:e==="sepia"?t.style.filter+=` sepia(${r}%)`:e==="saturate"?t.style.filter+=` saturate(${r}%)`:e==="hueRotate"?t.style.filter+=` hue-rotate(${r}deg)`:e==="invert"?t.style.filter+=` invert(${r}%)`:e==="brightness"?t.style.filter+=` brightness(${r}%)`:e==="contrast"?t.style.filter+=` contrast(${r}%)`:e==="blur"&&(t.style.filter+=` blur(${r}px)`),t.style.setProperty(e,String(r)))}const j=new Map;function xe(t,e,r){if(j.has(r+":"+t+e))return j.get(t+e);const n=Ie(t,e);return j.set(r+":"+t+e,n),n}function Fe(t,e){return xe(t,e,"c")}function yt(t,e){return xe(t,e,"s")}function We(t,e,r,n,s){if(r!=null&&n!=null){if(typeof r=="number"&&typeof n=="number"){const i=r+(n-r)*s;$(t,e,i)}else if(e==="boxShadow"||e==="textShadow"){const i=yt(r,n)(s);$(t,e,i)}else if(e==="color"||e==="backgroundColor"||e==="borderColor"||e==="outlineColor"){const i=Fe(r,n)(s);$(t,e,i)}}}function _t(t,e,r,n){t.style.transform="",t.style.filter="";for(const[s,i]of Object.entries(r)){const o=s;We(t,o,e[o],i,n)}}function Pt(t,e){t.style.transform="",t.style.filter="";for(const[r,n]of Object.entries(e))n!=null&&$(t,r,n)}const ke=new Set(["checked","disabled","hidden","selected"]),qe=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Ve=new Set(["valueAsDate"]),Ue=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),X=new Map;function N(t,e){if(X.has(t))return X.get(t);{const r=e(t);return X.set(t,r),r}}function Ze(t){return(e,r)=>{r==null?e[t]=null:e[t]=!!r}}function je(t){return(e,r)=>{r==null?e[t]=null:e[t]=Number(r)}}function Xe(t){return(e,r)=>{r==null?e[t]=null:e[t]=r}}function Ye(t){return(e,r)=>{r==null?e[t]=null:e[t]=String(r)}}function Ke(t){return(e,r)=>{r==null?e.removeAttribute(t):e.setAttribute(t,r)}}function z(t){return ke.has(t)?N(t,Ze):qe.has(t)?N(t,je):Ve.has(t)?N(t,Xe):Ue.has(t)?N(t,Ye):N(t,Ke)}function H(t){return e=>ke.has(t)?!!e[t]:qe.has(t)?Number(e[t]):Ve.has(t)?e[t]:Ue.has(t)?String(e[t]):e.getAttribute(t)}class S{constructor(e,r,n,s,i){u(this,"createElement",(e,r)=>r!==void 0?this.document.createElementNS(r,e):this.document.createElement(e));u(this,"createText",e=>this.document.createTextNode(e));u(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});u(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});u(this,"withDocument",e=>new S(e,this.element,this.reference,this.providers,!0));u(this,"withElement",e=>new S(this.document,e,void 0,this.providers,!1));u(this,"withFirstLevel",()=>new S(this.document,this.element,this.reference,this.providers,!0));u(this,"withReference",e=>new S(this.document,this.element,e,this.providers,this.isFirstLevel));u(this,"withProvider",(e,r)=>new S(this.document,this.element,this.reference,{...this.providers,[e]:r},this.isFirstLevel));u(this,"withProviders",e=>new S(this.document,this.element,this.reference,{...this.providers,...e},this.isFirstLevel));u(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Error(`Provider not found: ${e.description}`);return this.providers[e]});this.document=e,this.element=r,this.reference=n,this.providers=s,this.isFirstLevel=i}static of(e,r){return new S(e.ownerDocument,e,r,{},!0)}}function g(t){const e=t;e&&e.onblur&&(e.onblur=null),!(!t||t.ownerDocument===void 0)&&t.parentElement&&t.parentElement.removeChild(t)}function Be(t){return J(t)?t:t.parentElement}function J(t){return t.nodeType===1}function Et(t,e,r){let n=t.target;for(;n!=null&&!(n instanceof HTMLAnchorElement);)n=n.parentElement;if(n==null)return!0;const s=n;if(t.button!==0||t.ctrlKey||t.metaKey||s.target!=="_self"&&s.target!==""||s.getAttribute("download")!=null)return!0;if(r){const{pathname:i,search:o,hash:l}=s,a=i+o+l;if(s.getAttribute("href")!==a||e&&!/\/[^/.]*$/.test(i))return!0}return!1}const Ct=(t,e={checkExtension:!0,checkExternalUrl:!0})=>r=>{const{checkExtension:n,checkExternalUrl:s}=e;Et(r,n===!0,s===!0)||t()&&r.preventDefault()},Q=t=>e=>{oe(e);const r=e.createText(t);return e.appendOrInsert(r),n=>{n&&g(r)}},ee=t=>e=>{oe(e);const r=e.createText(t.value);e.appendOrInsert(r);const n=t.on(s=>r.data=s);return s=>{n(),s&&g(r)}};function Tt(t){return d.is(t)?ee(t):Q(t)}const b=(...t)=>e=>{const r=t.map(n=>f(n)(e));return n=>{r.forEach(s=>s(n))}},v=()=>()=>{},Dt=t=>e=>(se(e),e.element.classList.add(...t),r=>{r&&e.element.classList.remove(...t)}),Nt=t=>e=>{se(e);const r=e.element;let n=[];const s=t.on(i=>{n.forEach(o=>r.classList.remove(o)),n=(i??"").split(" ").filter(o=>o.length>0),r.classList.add(...n)});return i=>{s(),i&&n.forEach(o=>r.classList.remove(o)),n.length=0}},L=(t,e)=>{const r=z(t),n=H(t);return s=>{ne(s,t);const i=n(s.element);return r(s.element,e),o=>{o&&r(s.element,i)}}},I=(t,e)=>{const r=z(t),n=H(t);return s=>{ne(s,t);const i=n(s.element);return e.on(o=>r(s.element,o)),o=>{o&&r(s.element,i)}}},E=new Proxy({},{get:(t,e)=>e==="class"?r=>d.is(r)?Nt(r):Dt((r??"").split(" ").filter(n=>n.length>0)):r=>d.is(r)?I(e,r):L(e,r)}),$t=new Proxy({},{get:(t,e)=>r=>d.is(r)?I(`data-${e}`,r):L(`data-${e}`,r)}),Ot=new Proxy({},{get:(t,e)=>r=>d.is(r)?I(`aria-${e}`,r):L(`aria-${e}`,r)}),Mt=new Proxy({},{get:(t,e)=>r=>d.is(r)?I(e,r):L(e,r)}),Lt=new Proxy({},{get:(t,e)=>r=>d.is(r)?I(e,r):L(e,r)});function f(t){return t==null?v:Array.isArray(t)?b(...t.map(f)):typeof t=="string"?Q(t):d.is(t)?ee(t):t}function te(t,...e){return r=>{const n=r.createElement(t,void 0);r.isFirstLevel&&D.isSSR()&&ie(n),r.appendOrInsert(n),r=r.withElement(n);const s=e.map(i=>f(i)(r));return i=>{s.forEach(o=>o(!1)),i&&g(n)}}}function re(t,e,...r){return n=>{const s=n.createElement(t,e);n.isFirstLevel&&D.isSSR()&&ie(s),n.appendOrInsert(s),n=n.withElement(s);const i=r.map(o=>f(o)(n));return o=>{i.forEach(l=>l(!1)),o&&g(s)}}}const It=new Proxy({},{get:(t,e)=>(...r)=>te(e,r.flatMap(f))}),Rt=new Proxy({},{get:(t,e)=>(...r)=>te("input",E.type(e),...r)}),xt="http://www.w3.org/2000/svg",Ft=new Proxy({},{get:(t,e)=>(...r)=>re(e,xt,r.flatMap(f))}),Wt="http://www.w3.org/1998/Math/MathML",kt=new Proxy({},{get:(t,e)=>(...r)=>re(e,Wt,r.flatMap(f))}),O="data-tempo-attr",k="data-tempo-class",Ge="data-tempo-node",q="data-tempo-text";function qt(t,e){const r=t.getAttribute(e);if(r!=null){const n=t.getAttribute(O)??"{}",s={...JSON.parse(n),name:r};t.setAttribute(O,JSON.stringify(s))}}function ne(t,e){D.isSSR()&&t.isFirstLevel&&qt(t.element,e)}function ze(t){t.querySelectorAll(`[${O}]`).forEach(e=>{const r=JSON.parse(e.getAttribute(O)??"{}");for(const[n,s]of Object.entries(r))e.setAttribute(n,s);e.removeAttribute(O)})}function Vt(t){t.setAttribute(k,t.className)}function se(t){D.isSSR()&&t.isFirstLevel&&Vt(t.element)}function He(t){t.querySelectorAll(`[${k}]`).forEach(e=>{const r=e.getAttribute(k);r!==null&&(e.className=r,e.removeAttribute(k))})}function ie(t){t.setAttribute(Ge,"")}function Je(t){t.querySelectorAll(`[${Ge}]`).forEach(e=>{g(e)})}function Ut(t){t.setAttribute(q,t.textContent??"")}function oe(t){D.isSSR()&&t.isFirstLevel&&Ut(t.element)}function Qe(t){t.querySelectorAll(`[${q}]`).forEach(e=>{e.textContent=e.getAttribute(q),e.removeAttribute(q)})}function et(t){Je(t),He(t),ze(t),Qe(t)}function tt(){const t=globalThis;return t.__tempoSSR__==null&&(t.__tempoSSR__={isSSR:!1,counter:0}),t.__tempoSSR__}function ae(t,e){const r=tt();r[t]=e}function rt(t){return tt()[t]}function Zt(){return rt("isSSR")}function Y(t){ae("isSSR",t)}function ue(){return rt("counter")}function jt(){ae("counter",(ue()??0)+1)}function Xt(){ae("counter",(ue()??0)-1)}const Yt=(t=30)=>(Y(!0),new Promise((e,r)=>{let n;const s=setInterval(()=>{ue()<=0&&(clearInterval(s),clearTimeout(n),Y(!1),e())},30);n=setTimeout(()=>{clearInterval(s),Y(!1),r(new Error("SSR Timeout"))},t*1e3)})),D={useDone:t=>(jt(),f(t(Xt))),isSSR:Zt},le=(t,e)=>{if(typeof e=="function")return le(t,{then:e});const r=e.pending!=null?f(e.pending):v,n=e.then,s=e.error!=null?i=>f(e.error(i)):()=>v;return i=>{let o=!0;const l=t();i=i.makeRef();let a=f(r)(i);return l.then(c=>{o&&(a(!0),a=f(n(c))(i))},c=>{o&&(a(!0),a=f(s(c))(i))}),c=>{o=!1,a(c),c&&i.reference&&g(i.reference)}}},Kt=(t,e)=>le(()=>t,e),nt=(t,e)=>r=>(r.element.addEventListener(t,e),n=>{n&&r.element.removeEventListener(t,e)}),st=t=>nt("click",e=>{e.preventDefault();const r=e.target;setTimeout(()=>{const n=r.ownerDocument!=null?r==null?void 0:r.checked:void 0;n!=null&&t(!n)},0)}),R=new Proxy({},{get:(t,e)=>r=>nt(e,r)}),x={value:t=>e=>{const r=e.target;t(r.value)},valueAsNumber:t=>e=>{const r=e.target;t(r.valueAsNumber)},valueAsDate:t=>e=>{const r=e.target;if(r.value==="")return;const n=r.value.split("-"),s=new Date(Number(n[0]),Number(n[1])-1,Number(n[2].substring(0,2)));t(s)},valueAsDateTime:t=>e=>{const r=e.target;if(r.value==="")return;const n=r.value.split("T"),s=n[0].split("-"),i=new Date(Number(s[0]),Number(s[1])-1,Number(s[2])),o=n[1].split(":");i.setHours(Number(o[0])),i.setMinutes(Number(o[1])),i.setSeconds(Number(o[2])),t(i)},checked:t=>e=>{const r=e.target;t(r.checked)},preventDefault:t=>e=>{e.preventDefault(),t()},stopPropagation:t=>e=>{e.stopPropagation(),t()},stopImmediatePropagation:t=>e=>{e.stopImmediatePropagation(),t()}};function Bt(t,e="input"){return b(E.valueAsDate(t),R[e](x.valueAsDate(t.set)))}function Gt(t,e="input"){return b(E.valueAsDate(t),R[e](x.valueAsDateTime(t.set)))}function zt(t,e="input"){return b(E.valueAsNumber(t),R[e](x.valueAsNumber(t.set)))}function Ht(t,e="input"){return b(E.value(t),R[e](x.value(t.set)))}function Jt(t){return b(E.checked(t),st(t.set))}const Qt={date:Bt,dateTime:Gt,number:zt,text:Ht,checked:Jt},W=(t,e)=>r=>{r=r.makeRef();let n,s;const i=t.map(a=>Object.keys(a)[0]);let o;const l=i.on(a=>{if(a!==o){s==null||s.dispose(),n==null||n(!0),s=t.map(p=>p[a]);const c=e[a](s);n=f(c)(r),o=a}});return a=>{l(),a&&r.reference!=null&&g(r.reference),n==null||n(!0)}},T={bool:(t,e)=>W(t.map(r=>r?{true:!0}:{false:!0}),e),field:(t,e,r)=>W(t.map(n=>({[n[e]]:n})),r),kind:(t,e)=>T.field(t,"kind",e),tuple:(t,e)=>{const r=t.map(([n,s])=>({[n]:s}));return W(r,e)},type:(t,e)=>T.field(t,"type",e),value:(t,e)=>W(t.map(r=>({[r]:!0})),e)},er=(t,e)=>r=>{const n=(e==null?void 0:e.firstSeparator)??v,s=(e==null?void 0:e.lastSeparator)??v;return T.value(r.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:()=>n,last:()=>s,other:()=>t})},it=(t,e)=>r=>{const n=Object.values(t).reduce((s,i)=>{const o=r.getProvider(i);if(o==null)throw new Error(`No provider found for mark: ${i.description}`);return s[i]=o,s},{});return f(e(n))(r)},tr=(t,e)=>r=>{const n=[],s=Object.entries(t).reduce((i,[o,l])=>(n.push(l(a=>(Reflect.set(i,o,a),null))(r)),i),{});return n.push(e(s)(r)),i=>{n.forEach(o=>o(i))}},rr=(t,e)=>it([t],r=>f(e(r[t]))),nr=(t,e)=>it(t,r=>f(e(r))),sr=t=>e=>t(e),ir=t=>e=>(e.appendOrInsert(t),r=>{r&&g(t)}),ot=(t,e,r)=>n=>{n=n.makeRef();let s=null,i=!1;const o=C(null),l=t.on(a=>{a==null?(s==null||s(!0),s=f((r==null?void 0:r())??v)(n),i=!1):(o.value=a,i||(s==null||s(!0),s=f(e(o))(n),i=!0))});return a=>{l(),s==null||s(a),a&&n.reference&&g(n.reference)}},V=t=>e=>r=>t(r,e),ce=(t,e,r)=>r!=null?ce(t,n=>{const s=n.map(i=>i.isLast?"last":"other");return b(V(()=>s.dispose()),f(e(n)),T.value(s,{last:()=>v,other:()=>r(n)}))}):n=>{n=n.makeRef();const s=t.map(a=>Array.from({length:a},(c,p)=>p).map(c=>new Oe(c,a))),i=[],o=[],l=s.on(a=>{var p,m;const c=a.length;for(;c<i.length;)(p=i.pop())==null||p(!0),(m=o.pop())==null||m.dispose();for(let h=0;h<c;h++)if(o[h]==null){o[h]=C(a[h]);const _=f(e(o[h]));i[h]=_(n)}else o[h].value=a[h]});return a=>{l(),a&&n.reference&&g(n.reference)}},at=(t,e,r)=>r!=null?at(t,(n,s)=>{const i=s.map(o=>o.isLast?"last":"other");return b([V(()=>i.dispose()),f(e(n,s)),T.value(i,{last:()=>v,other:()=>r(s)})])}):n=>{const s=t.map(i=>i.length);return ce(s,i=>{const o=U(()=>t.value[i.value.index],[i,t]);return b(V(()=>o.dispose()),f(e(o,i)))})(n)},or=(t,e)=>r=>{r=r.makeRef();const n=t.map(o=>f(e(o)));let s=()=>{};const i=n.on(o=>{s(!0),s=o(r)});return o=>{i(),s(o)}},fe=(t,e,r)=>ot(t.map(n=>n?!0:null),()=>e,r!=null?()=>r:void 0),ar=(t,e,r)=>fe(t.map(n=>!n),e,r);function ur(t,e,r=v){return fe(t.map(n=>n.length>0),e,r)}const lr=t=>e=>t(e.element)??(()=>{});function de(t,e){const r=t(e);return()=>r(!0)}function cr(t,e,{doc:r,clear:n}={}){const s=typeof e=="string"?(r??document).querySelector(e):e;if(s===null)throw new Error(`Cannot find element by selector for render: ${e}`);n&&(r??s.ownerDocument)!=null&&et(r??s.ownerDocument);const i=Be(s),o=J(s)?void 0:s,l=S.of(i,o);return de(t,l)}const fr=(t,e)=>r=>{const n=r.document.querySelector(t);if(n===null)throw new Error(`Cannot find element by selector for portal: ${t}`);return de(f(e),r.withElement(n).withFirstLevel())};function dr(t){return Symbol(t)}const ut=(t,e)=>r=>f(e)(r.withProviders(t)),hr=(...t)=>t.length>0?t.reduceRight((e,r)=>n=>e(r(n))):f,pr=(t,e,r)=>ut({[t]:e},f(r)),mr=(t,e)=>ut(t,f(e)),gr=(t,e)=>r=>{const n=r.element,s=n.style.getPropertyValue(t);return n.style.setProperty(t,e),i=>{i&&n.style.setProperty(t,s)}},Sr=(t,e)=>r=>{const n=r.element,s=n.style.getPropertyValue(t);return e.on(i=>n.style.setProperty(t,i)),i=>{i&&n.style.setProperty(t,s)}},br=new Proxy({},{get:(t,e)=>r=>d.is(r)?Sr(e,r):gr(e,r)});exports.Async=Kt;exports.Computed=P;exports.Conjunction=er;exports.DOMContext=S;exports.DOMNode=ir;exports.El=te;exports.ElNS=re;exports.Empty=v;exports.Ensure=ot;exports.ForEach=at;exports.Fragment=b;exports.MapSignal=or;exports.MemoryStore=B;exports.NotEmpty=ur;exports.OnChecked=st;exports.OnCtx=sr;exports.OnMount=lr;exports.OnUnmount=V;exports.Portal=fr;exports.Position=Oe;exports.Prop=M;exports.Provide=hr;exports.Repeat=ce;exports.Signal=d;exports.Task=le;exports.Text=Tt;exports.Unless=ar;exports.Use=tr;exports.UseProvider=rr;exports.UseProviders=nr;exports.When=fe;exports.WithProvider=pr;exports.WithProviders=mr;exports.addNodeTracker=ie;exports.animate=Me;exports.animateOne=St;exports.applyAnimatable=Pt;exports.applyAnimatableProp=$;exports.applyInterpolatedAnimatable=_t;exports.applyInterpolatedAnimatableProp=We;exports.aria=Ot;exports.attr=E;exports.bind=Qt;exports.clearSSR=et;exports.colorChannelsToString=Le;exports.computed=U;exports.computedRecord=bt;exports.dataAttr=$t;exports.dateInterpolate=De;exports.effect=ht;exports.emit=x;exports.endInterpolate=Ne;exports.getComputedAnimatable=At;exports.getComputedAnimatableProp=Re;exports.getSelfOrParentElement=Be;exports.guessInterpolate=$e;exports.handleAnchorClick=Ct;exports.html=It;exports.input=Rt;exports.interpolateColor=Ie;exports.interpolateShadow=wt;exports.isElement=J;exports.makeGetter=H;exports.makeProviderMark=dr;exports.makeSetter=z;exports.math=kt;exports.mathAttr=Lt;exports.maybeAddAttributeTracker=ne;exports.maybeAddClassTracker=se;exports.maybeAddTextTracker=oe;exports.numberInterpolate=Ce;exports.on=R;exports.oneof=T;exports.parseColorChannels=K;exports.prop=C;exports.propOfLocalStorage=mt;exports.propOfSessionStorage=gt;exports.propOfStorage=G;exports.removeAttributeTrackers=ze;exports.removeClassTrackers=He;exports.removeDOMNode=g;exports.removeNodeTrackers=Je;exports.removeTextTrackers=Qe;exports.render=cr;exports.renderWithContext=de;exports.renderableOfTNode=f;exports.setAttribute=Ke;exports.setBooleanProperty=Ze;exports.setDateProperty=Xe;exports.setNumberProperty=je;exports.setStringProperty=Ye;exports.signal=pt;exports.signalText=ee;exports.ssr=D;exports.startSSR=Yt;exports.staticText=Q;exports.stringInterpolate=Te;exports.style=br;exports.svg=Ft;exports.svgAttr=Mt;
|
|
1
|
+
"use strict";var et=Object.defineProperty;var tt=(t,e,r)=>e in t?et(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var l=(t,e,r)=>tt(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function Ae(t,e,r){return t+(e-t)*r}const fe=97;function _e(t,e,r){const n=Math.max(t.length,e.length);let s="";for(let i=0;i<n;i++){let o=t.charCodeAt(i);isNaN(o)&&(o=fe);let a=e.charCodeAt(i);isNaN(a)&&(a=fe),s+=String.fromCharCode(o+(a-o)*r)}return s}function Pe(t,e,r){return new Date(t.getTime()+(e.getTime()-t.getTime())*r)}function Ee(t,e,r){return e}function be(t){return typeof t=="number"?Ae:typeof t=="string"?_e:t instanceof Date?Pe:Ee}class Te{constructor(e,r){this.index=e,this.total=r}get isFirst(){return this.index===0}get isLast(){return this.index===this.total-1}get isEven(){return this.index%2===0}get isOdd(){return this.index%2===1}}const he="$__signal__",de="$__prop__",pe="$__computed__";var ge;ge=he;const w=class w{constructor(e,r){l(this,ge,!0);l(this,"_value");l(this,"_derivatives",[]);l(this,"_onValueListeners",[]);l(this,"_onDisposeListeners",[]);l(this,"get",()=>this._value);l(this,"hasListeners",()=>this._onValueListeners.length>0);l(this,"on",e=>(e(this.get()),this._onValueListeners.push(e),()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(e),1)}));l(this,"_setAndNotify",(e,r)=>{const n=this.equals(this._value,e);n||(this._value=e),(r||!n)&&this._onValueListeners.forEach(s=>s(e))});l(this,"_disposed",!1);l(this,"isDisposed",()=>this._disposed);l(this,"onDispose",e=>{this._onDisposeListeners.push(e)});l(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});l(this,"map",(e,r=(n,s)=>n===s)=>{const n=new _(()=>{try{return e(this.get())}catch(s){throw console.error("Error in Signal.map:",s),s}},r);return this.setDerivative(n),n});l(this,"flatMap",(e,r=(n,s)=>n===s)=>{const n=new _(()=>{try{return e(this.get()).get()}catch(s){throw console.error("Error in Signal.flatMap:",s),s}},r);return this.setDerivative(n),n});l(this,"tap",e=>this.map(r=>(e(r),r)));l(this,"at",e=>this.map(r=>r[e]));l(this,"$",new Proxy(this,{get:(e,r)=>this.at(r)}));l(this,"filter",(e,r)=>{let n=r??this.get();const s=new _(()=>{try{const i=this.get();return n=e(i)?i:n}catch(i){throw console.error("Error in Signal.filter:",i),i}},this.equals);return this.setDerivative(s),s});l(this,"filterMap",(e,r,n=(s,i)=>s===i)=>{let s=r;const i=new _(()=>{try{const o=this.get(),a=e(o);return s=a??s}catch(o){throw console.error("Error in Signal.filterMap:",o),o}},n);return this.setDerivative(i),i});l(this,"mapAsync",(e,r,n,s=(i,o)=>i===o)=>{const i=b(r,s);let o=0;return i.onDispose(this.on(a=>{const u=++o;try{e(a).then(f=>{u===o&&i.set(f)}).catch(f=>{u===o&&(n!=null?i.set(n(f)):console.error("Unhandled promise rejection in Signal.mapAsync:",f))})}catch(f){throw console.error("Error in Signal.mapAsync:",f),f}})),i});l(this,"mapMaybe",(e,r)=>this.map(n=>e(n)??r));l(this,"feedProp",(e,r=!1)=>{const n=this.on(e.set);return e.onDispose(n),r?this.onDispose(e.dispose):this.onDispose(n),e});l(this,"deriveProp",(e=!0)=>this.feedProp(b(this.get()),e));l(this,"count",()=>{let e=0;return this.map(()=>++e)});l(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=r,this._value=e}static ofPromise(e,r,n,s=(i,o)=>i===o){const i=new w(r,s);return e.then(o=>i._setAndNotify(o,!1)).catch(o=>{n!=null?i._setAndNotify(n(o),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",o)}),i}static is(e){return e!=null&&e[he]===!0}static wrap(e,r=(n,s)=>n===s){return w.is(e)?e:new w(e,r)}static maybeWrap(e){return e==null?e:w.wrap(e)}static unwrap(e){return w.is(e)?e.get():e}static map(e,r){return w.is(e)?e.map(r):r(e)}get value(){return this._value}};let h=w;const rt=typeof queueMicrotask=="function"?queueMicrotask:t=>Promise.resolve().then(t);var ve,ye;class _ extends(ye=h,ve=pe,ye){constructor(r,n){super(void 0,n);l(this,ve,!0);l(this,"_isDirty",!1);l(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(r=>r.setDirty()),this.scheduleNotify())});l(this,"_scheduleCount",0);l(this,"scheduleNotify",()=>{const r=++this._scheduleCount;rt(()=>{this._scheduleCount!==r||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});l(this,"get",()=>(this._isDirty&&(this._isDirty=!1,this._value=this._fn(),this._setAndNotify(this._value,!0)),this._value));this._fn=r,this.setDirty()}static is(r){return r!=null&&r[pe]===!0}get value(){return this.get()}}var Se,we;class L extends(we=h,Se=de,we){constructor(){super(...arguments);l(this,Se,!0);l(this,"set",r=>{this._setAndNotify(r,!1)});l(this,"update",r=>{this._setAndNotify(r(this.get()),!1)});l(this,"reducer",(r,...n)=>{const s=this;return function i(o){const a=s.value;s.update(u=>r(u,o)),!s.equals(a,s.value)&&n.forEach(u=>u({previousState:a,state:s.value,action:o,dispatch:i}))}});l(this,"iso",(r,n,s=(i,o)=>i===o)=>{const i=new L(r(this.get()),s);return i.onDispose(this.on(o=>i.set(r(o)))),i.on(o=>this._setAndNotify(n(o),!1)),i});l(this,"atProp",r=>this.iso(n=>n[r],n=>({...this.value,[r]:n})))}static is(r){return r!=null&&r[de]===!0}get value(){return this.get()}set value(r){this._setAndNotify(r,!1)}}function j(t,e,r=(n,s)=>n===s){const n=new _(t,r);return e.forEach(s=>s.setDerivative(n)),n}function nt(t,e){return j(t,e).dispose}function b(t,e=(r,n)=>r===n){return new L(t,e)}function st(t,e=(r,n)=>r===n){return new h(t,e)}class B{constructor(){l(this,"_store",new Map);l(this,"getItem",e=>this._store.get(e)??null);l(this,"setItem",(e,r)=>{this._store.set(e,r)})}}function H({key:t,defaultValue:e,store:r,serialize:n=JSON.stringify,deserialize:s=JSON.parse,equals:i=(a,u)=>a===u,onLoad:o=a=>a}){const a=r.getItem(t),u=new L(a!=null?o(s(a)):typeof e=="function"?e():e,i);return u.on(f=>{r.setItem(t,n(f))}),u}function it(t){return H({...t,store:(window==null?void 0:window.localStorage)??new B})}function ot(t){return H({...t,store:(window==null?void 0:window.sessionStorage)??new B})}function me(t){return typeof requestAnimationFrame=="function"?requestAnimationFrame(t):setTimeout(t,0)}function De(t,e,r,n){const s=(n==null?void 0:n.duration)??300,i=(n==null?void 0:n.easing)??(S=>S),o=(n==null?void 0:n.equals)??((S,F)=>S===F);let a=n==null?void 0:n.interpolate,u=t,f=e(),y=performance.now(),A=null,d=!0;const k=new _(e,o),E=b(t,o);E.onDispose(()=>{A!==null&&cancelAnimationFrame(A)}),E.onDispose(k.dispose),r.forEach(S=>{S.setDerivative(k),S.onDispose(E.dispose)});const Ye=S=>{f=S,y=performance.now(),u=E.value,d&&(d=!1,A=me(ae))},ae=()=>{const F=(performance.now()-y)/h.unwrap(s),Ze=i(F);a==null&&(a=be(u));let ce=a(u,f,Ze);F>=1?(d=!0,ce=f):A=me(ae),E.set(ce)};return k.on(Ye),E}function ut(t,e){const{initialValue:r,...n}=e??{};return De(r??t.get(),t.get,[t],n)}function lt(t,e){const{signals:r,literals:n}=Object.entries(t).reduce(({signals:i,literals:o},[a,u])=>(h.is(u)?i.push([a,u]):o[a]=u,{signals:i,literals:o}),{signals:[],literals:{}}),s=r.map(([,i])=>i);return j(()=>(r.forEach(([i,o])=>n[i]=o.value),e(n)),s)}const ke=new Set(["checked","disabled","hidden","selected"]),Ne=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Ce=new Set(["valueAsDate"]),Le=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),W=new Map;function N(t,e){if(W.has(t))return W.get(t);{const r=e(t);return W.set(t,r),r}}function Re(t){return(e,r)=>{r==null?e[t]=null:e[t]=!!r}}function Oe(t){return(e,r)=>{r==null?e[t]=null:e[t]=Number(r)}}function Me(t){return(e,r)=>{r==null?e[t]=null:e[t]=r}}function Ie(t){return(e,r)=>{r==null?e[t]=null:e[t]=String(r)}}function Fe(t){return(e,r)=>{r==null?e.removeAttribute(t):e.setAttribute(t,r)}}function J(t){return ke.has(t)?N(t,Re):Ne.has(t)?N(t,Oe):Ce.has(t)?N(t,Me):Le.has(t)?N(t,Ie):N(t,Fe)}function x(t){return e=>ke.has(t)?!!e[t]:Ne.has(t)?Number(e[t]):Ce.has(t)?e[t]:Le.has(t)?String(e[t]):e.getAttribute(t)}class m{constructor(e,r,n,s,i){l(this,"createElement",(e,r)=>r!==void 0?this.document.createElementNS(r,e):this.document.createElement(e));l(this,"createText",e=>this.document.createTextNode(e));l(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});l(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});l(this,"withDocument",e=>new m(e,this.element,this.reference,this.providers,!0));l(this,"withElement",e=>new m(this.document,e,void 0,this.providers,!1));l(this,"withFirstLevel",()=>new m(this.document,this.element,this.reference,this.providers,!0));l(this,"withReference",e=>new m(this.document,this.element,e,this.providers,this.isFirstLevel));l(this,"withProvider",(e,r)=>new m(this.document,this.element,this.reference,{...this.providers,[e]:r},this.isFirstLevel));l(this,"withProviders",e=>new m(this.document,this.element,this.reference,{...this.providers,...e},this.isFirstLevel));l(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Error(`Provider not found: ${e.description}`);return this.providers[e]});this.document=e,this.element=r,this.reference=n,this.providers=s,this.isFirstLevel=i}static of(e,r){return new m(e.ownerDocument,e,r,{},!0)}}function p(t){const e=t;e&&e.onblur&&(e.onblur=null),!(!t||t.ownerDocument===void 0)&&t.parentElement&&t.parentElement.removeChild(t)}function $e(t){return X(t)?t:t.parentElement}function X(t){return t.nodeType===1}function at(t,e,r){let n=t.target;for(;n!=null&&!(n instanceof HTMLAnchorElement);)n=n.parentElement;if(n==null)return!0;const s=n;if(t.button!==0||t.ctrlKey||t.metaKey||s.target!=="_self"&&s.target!==""||s.getAttribute("download")!=null)return!0;if(r){const{pathname:i,search:o,hash:a}=s,u=i+o+a;if(s.getAttribute("href")!==u||e&&!/\/[^/.]*$/.test(i))return!0}return!1}const ct=(t,e={checkExtension:!0,checkExternalUrl:!0})=>r=>{const{checkExtension:n,checkExternalUrl:s}=e;at(r,n===!0,s===!0)||t()&&r.preventDefault()},z=t=>e=>{re(e);const r=e.createText(t);return e.appendOrInsert(r),n=>{n&&p(r)}},K=t=>e=>{re(e);const r=e.createText(t.value);e.appendOrInsert(r);const n=t.on(s=>r.data=s);return s=>{n(),s&&p(r)}};function ft(t){return h.is(t)?K(t):z(t)}const g=(...t)=>e=>{const r=t.map(n=>c(n)(e));return n=>{r.forEach(s=>s(n))}},v=()=>()=>{},ht=t=>e=>(ee(e),e.element.classList.add(...t),r=>{r&&e.element.classList.remove(...t)}),dt=t=>e=>{ee(e);const r=e.element;let n=[];const s=t.on(i=>{n.forEach(o=>r.classList.remove(o)),n=(i??"").split(" ").filter(o=>o.length>0),r.classList.add(...n)});return i=>{s(),i&&n.forEach(o=>r.classList.remove(o)),n.length=0}},R=(t,e)=>{const r=J(t),n=x(t);return s=>{Z(s,t);const i=n(s.element);return r(s.element,e),o=>{o&&r(s.element,i)}}},O=(t,e)=>{const r=J(t),n=x(t);return s=>{Z(s,t);const i=n(s.element);return e.on(o=>r(s.element,o)),o=>{o&&r(s.element,i)}}},P=new Proxy({},{get:(t,e)=>e==="class"?r=>h.is(r)?dt(r):ht((r??"").split(" ").filter(n=>n.length>0)):r=>h.is(r)?O(e,r):R(e,r)}),pt=new Proxy({},{get:(t,e)=>r=>h.is(r)?O(`data-${e}`,r):R(`data-${e}`,r)}),mt=new Proxy({},{get:(t,e)=>r=>h.is(r)?O(`aria-${e}`,r):R(`aria-${e}`,r)}),gt=new Proxy({},{get:(t,e)=>r=>h.is(r)?O(e,r):R(e,r)}),vt=new Proxy({},{get:(t,e)=>r=>h.is(r)?O(e,r):R(e,r)});function c(t){return t==null?v:Array.isArray(t)?g(...t.map(c)):typeof t=="string"?z(t):h.is(t)?K(t):t}function Q(t,...e){return r=>{const n=r.createElement(t,void 0);r.isFirstLevel&&D.isSSR()&&te(n),r.appendOrInsert(n),r=r.withElement(n);const s=e.map(i=>c(i)(r));return i=>{s.forEach(o=>o(!1)),i&&p(n)}}}function Y(t,e,...r){return n=>{const s=n.createElement(t,e);n.isFirstLevel&&D.isSSR()&&te(s),n.appendOrInsert(s),n=n.withElement(s);const i=r.map(o=>c(o)(n));return o=>{i.forEach(a=>a(!1)),o&&p(s)}}}const yt=new Proxy({},{get:(t,e)=>(...r)=>Q(e,r.flatMap(c))}),St=new Proxy({},{get:(t,e)=>(...r)=>Q("input",P.type(e),...r)}),wt="http://www.w3.org/2000/svg",At=new Proxy({},{get:(t,e)=>(...r)=>Y(e,wt,r.flatMap(c))}),_t="http://www.w3.org/1998/Math/MathML",Pt=new Proxy({},{get:(t,e)=>(...r)=>Y(e,_t,r.flatMap(c))}),C="data-tempo-attr",q="data-tempo-class",qe="data-tempo-node",U="data-tempo-text";function Et(t,e){const r=t.getAttribute(e);if(r!=null){const n=t.getAttribute(C)??"{}",s={...JSON.parse(n),name:r};t.setAttribute(C,JSON.stringify(s))}}function Z(t,e){D.isSSR()&&t.isFirstLevel&&Et(t.element,e)}function Ue(t){t.querySelectorAll(`[${C}]`).forEach(e=>{const r=JSON.parse(e.getAttribute(C)??"{}");for(const[n,s]of Object.entries(r))e.setAttribute(n,s);e.removeAttribute(C)})}function bt(t){t.setAttribute(q,t.className)}function ee(t){D.isSSR()&&t.isFirstLevel&&bt(t.element)}function Ve(t){t.querySelectorAll(`[${q}]`).forEach(e=>{const r=e.getAttribute(q);r!==null&&(e.className=r,e.removeAttribute(q))})}function te(t){t.setAttribute(qe,"")}function je(t){t.querySelectorAll(`[${qe}]`).forEach(e=>{p(e)})}function Tt(t){t.setAttribute(U,t.textContent??"")}function re(t){D.isSSR()&&t.isFirstLevel&&Tt(t.element)}function We(t){t.querySelectorAll(`[${U}]`).forEach(e=>{e.textContent=e.getAttribute(U),e.removeAttribute(U)})}function Ge(t){je(t),Ve(t),Ue(t),We(t)}function Be(){const t=globalThis;return t.__tempoSSR__==null&&(t.__tempoSSR__={isSSR:!1,counter:0}),t.__tempoSSR__}function ne(t,e){const r=Be();r[t]=e}function He(t){return Be()[t]}function Dt(){return He("isSSR")}function G(t){ne("isSSR",t)}function se(){return He("counter")}function kt(){ne("counter",(se()??0)+1)}function Nt(){ne("counter",(se()??0)-1)}const Ct=(t=30)=>(G(!0),new Promise((e,r)=>{let n;const s=setInterval(()=>{se()<=0&&(clearInterval(s),clearTimeout(n),G(!1),e())},30);n=setTimeout(()=>{clearInterval(s),G(!1),r(new Error("SSR Timeout"))},t*1e3)})),D={useDone:t=>(kt(),c(t(Nt))),isSSR:Dt},ie=(t,e)=>{if(typeof e=="function")return ie(t,{then:e});const r=e.pending!=null?c(e.pending):v,n=e.then,s=e.error!=null?i=>c(e.error(i)):()=>v;return i=>{let o=!0;const a=t();i=i.makeRef();let u=c(r)(i);return a.then(f=>{o&&(u(!0),u=c(n(f))(i))},f=>{o&&(u(!0),u=c(s(f))(i))}),f=>{o=!1,u(f),f&&i.reference&&p(i.reference)}}},Lt=(t,e)=>ie(()=>t,e),Je=(t,e)=>r=>(r.element.addEventListener(t,e),n=>{n&&r.element.removeEventListener(t,e)}),xe=t=>Je("click",e=>{e.preventDefault();const r=e.target;setTimeout(()=>{const n=r.ownerDocument!=null?r==null?void 0:r.checked:void 0;n!=null&&t(!n)},0)}),M=new Proxy({},{get:(t,e)=>r=>Je(e,r)}),I={value:t=>e=>{const r=e.target;t(r.value)},valueAsNumber:t=>e=>{const r=e.target;t(r.valueAsNumber)},valueAsDate:t=>e=>{const r=e.target;if(r.value==="")return;const n=r.value.split("-"),s=new Date(Number(n[0]),Number(n[1])-1,Number(n[2].substring(0,2)));t(s)},valueAsDateTime:t=>e=>{const r=e.target;if(r.value==="")return;const n=r.value.split("T"),s=n[0].split("-"),i=new Date(Number(s[0]),Number(s[1])-1,Number(s[2])),o=n[1].split(":");i.setHours(Number(o[0])),i.setMinutes(Number(o[1])),i.setSeconds(Number(o[2])),t(i)},checked:t=>e=>{const r=e.target;t(r.checked)},preventDefault:t=>e=>{e.preventDefault(),t()},stopPropagation:t=>e=>{e.stopPropagation(),t()},stopImmediatePropagation:t=>e=>{e.stopImmediatePropagation(),t()}};function Rt(t,e="input"){return g(P.valueAsDate(t),M[e](I.valueAsDate(t.set)))}function Ot(t,e="input"){return g(P.valueAsDate(t),M[e](I.valueAsDateTime(t.set)))}function Mt(t,e="input"){return g(P.valueAsNumber(t),M[e](I.valueAsNumber(t.set)))}function It(t,e="input"){return g(P.value(t),M[e](I.value(t.set)))}function Ft(t){return g(P.checked(t),xe(t.set))}const $t={date:Rt,dateTime:Ot,number:Mt,text:It,checked:Ft},$=(t,e)=>r=>{r=r.makeRef();let n,s;const i=t.map(u=>Object.keys(u)[0]);let o;const a=i.on(u=>{if(u!==o){s==null||s.dispose(),n==null||n(!0),s=t.map(y=>y[u]);const f=e[u](s);n=c(f)(r),o=u}});return u=>{a(),u&&r.reference!=null&&p(r.reference),n==null||n(!0)}},T={bool:(t,e)=>$(t.map(r=>r?{true:!0}:{false:!0}),e),field:(t,e,r)=>$(t.map(n=>({[n[e]]:n})),r),kind:(t,e)=>T.field(t,"kind",e),tuple:(t,e)=>{const r=t.map(([n,s])=>({[n]:s}));return $(r,e)},type:(t,e)=>T.field(t,"type",e),value:(t,e)=>$(t.map(r=>({[r]:!0})),e)},qt=(t,e)=>r=>{const n=(e==null?void 0:e.firstSeparator)??v,s=(e==null?void 0:e.lastSeparator)??v;return T.value(r.map(i=>i.isFirst?"first":i.isLast?"last":"other"),{first:()=>n,last:()=>s,other:()=>t})},Xe=(t,e)=>r=>{const n=Object.values(t).reduce((s,i)=>{const o=r.getProvider(i);if(o==null)throw new Error(`No provider found for mark: ${i.description}`);return s[i]=o,s},{});return c(e(n))(r)},Ut=(t,e)=>r=>{const n=[],s=Object.entries(t).reduce((i,[o,a])=>(n.push(a(u=>(Reflect.set(i,o,u),null))(r)),i),{});return n.push(e(s)(r)),i=>{n.forEach(o=>o(i))}},Vt=(t,e)=>Xe([t],r=>c(e(r[t]))),jt=(t,e)=>Xe(t,r=>c(e(r))),Wt=t=>e=>t(e),Gt=t=>e=>(e.appendOrInsert(t),r=>{r&&p(t)}),ze=(t,e,r)=>n=>{n=n.makeRef();let s=null,i=!1;const o=b(null),a=t.on(u=>{u==null?(s==null||s(!0),s=c((r==null?void 0:r())??v)(n),i=!1):(o.value=u,i||(s==null||s(!0),s=c(e(o))(n),i=!0))});return u=>{a(),s==null||s(u),u&&n.reference&&p(n.reference)}},V=t=>e=>r=>t(r,e),oe=(t,e,r)=>r!=null?oe(t,n=>{const s=n.map(i=>i.isLast?"last":"other");return g(V(()=>s.dispose()),c(e(n)),T.value(s,{last:()=>v,other:()=>r(n)}))}):n=>{n=n.makeRef();const s=t.map(u=>Array.from({length:u},(f,y)=>y).map(f=>new Te(f,u))),i=[],o=[],a=s.on(u=>{var y,A;const f=u.length;for(;f<i.length;)(y=i.pop())==null||y(!0),(A=o.pop())==null||A.dispose();for(let d=0;d<f;d++)if(o[d]==null){o[d]=b(u[d]);const k=c(e(o[d]));i[d]=k(n)}else o[d].value=u[d]});return u=>{a(),u&&n.reference&&p(n.reference)}},Ke=(t,e,r)=>r!=null?Ke(t,(n,s)=>{const i=s.map(o=>o.isLast?"last":"other");return g([V(()=>i.dispose()),c(e(n,s)),T.value(i,{last:()=>v,other:()=>r(s)})])}):n=>{const s=t.map(i=>i.length);return oe(s,i=>{const o=j(()=>t.value[i.value.index],[i,t]);return g(V(()=>o.dispose()),c(e(o,i)))})(n)},Bt=(t,e)=>r=>{r=r.makeRef();const n=t.map(o=>c(e(o)));let s=()=>{};const i=n.on(o=>{s(!0),s=o(r)});return o=>{i(),s(o)}},ue=(t,e,r)=>ze(t.map(n=>n?!0:null),()=>e,r!=null?()=>r:void 0),Ht=(t,e,r)=>ue(t.map(n=>!n),e,r);function Jt(t,e,r=v){return ue(t.map(n=>n.length>0),e,r)}const xt=t=>e=>t(e.element)??(()=>{});function le(t,e){const r=t(e);return()=>r(!0)}function Xt(t,e,{doc:r,clear:n}={}){const s=typeof e=="string"?(r??document).querySelector(e):e;if(s===null)throw new Error(`Cannot find element by selector for render: ${e}`);n&&(r??s.ownerDocument)!=null&&Ge(r??s.ownerDocument);const i=$e(s),o=X(s)?void 0:s,a=m.of(i,o);return le(t,a)}const zt=(t,e)=>r=>{const n=r.document.querySelector(t);if(n===null)throw new Error(`Cannot find element by selector for portal: ${t}`);return le(c(e),r.withElement(n).withFirstLevel())};function Kt(t){return Symbol(t)}const Qe=(t,e)=>r=>c(e)(r.withProviders(t)),Qt=(...t)=>t.length>0?t.reduceRight((e,r)=>n=>e(r(n))):c,Yt=(t,e,r)=>Qe({[t]:e},c(r)),Zt=(t,e)=>Qe(t,c(e)),er=(t,e)=>r=>{const n=r.element,s=n.style.getPropertyValue(t);return n.style.setProperty(t,e),i=>{i&&n.style.setProperty(t,s)}},tr=(t,e)=>r=>{const n=r.element,s=n.style.getPropertyValue(t);return e.on(i=>n.style.setProperty(t,i)),i=>{i&&n.style.setProperty(t,s)}},rr=new Proxy({},{get:(t,e)=>r=>h.is(r)?tr(e,r):er(e,r)});exports.Async=Lt;exports.Computed=_;exports.Conjunction=qt;exports.DOMContext=m;exports.DOMNode=Gt;exports.El=Q;exports.ElNS=Y;exports.Empty=v;exports.Ensure=ze;exports.ForEach=Ke;exports.Fragment=g;exports.MapSignal=Bt;exports.MemoryStore=B;exports.NotEmpty=Jt;exports.OnChecked=xe;exports.OnCtx=Wt;exports.OnMount=xt;exports.OnUnmount=V;exports.Portal=zt;exports.Position=Te;exports.Prop=L;exports.Provide=Qt;exports.Repeat=oe;exports.Signal=h;exports.Task=ie;exports.Text=ft;exports.Unless=Ht;exports.Use=Ut;exports.UseProvider=Vt;exports.UseProviders=jt;exports.When=ue;exports.WithProvider=Yt;exports.WithProviders=Zt;exports.addNodeTracker=te;exports.animateSignal=ut;exports.animateSignals=De;exports.aria=mt;exports.attr=P;exports.bind=$t;exports.clearSSR=Ge;exports.computedRecord=lt;exports.dataAttr=pt;exports.dateInterpolate=Pe;exports.emit=I;exports.endInterpolate=Ee;exports.getSelfOrParentElement=$e;exports.guessInterpolate=be;exports.handleAnchorClick=ct;exports.html=yt;exports.input=St;exports.isElement=X;exports.localStorageProp=it;exports.makeGetter=x;exports.makeProviderMark=Kt;exports.makeSetter=J;exports.math=Pt;exports.mathAttr=vt;exports.maybeAddAttributeTracker=Z;exports.maybeAddClassTracker=ee;exports.maybeAddTextTracker=re;exports.numberInterpolate=Ae;exports.on=M;exports.oneof=T;exports.removeAttributeTrackers=Ue;exports.removeClassTrackers=Ve;exports.removeDOMNode=p;exports.removeNodeTrackers=je;exports.removeTextTrackers=We;exports.render=Xt;exports.renderWithContext=le;exports.renderableOfTNode=c;exports.sessionStorageProp=ot;exports.setAttribute=Fe;exports.setBooleanProperty=Re;exports.setDateProperty=Me;exports.setNumberProperty=Oe;exports.setStringProperty=Ie;exports.signalText=K;exports.ssr=D;exports.startSSR=Ct;exports.staticText=z;exports.storedProp=H;exports.stringInterpolate=_e;exports.style=rr;exports.svg=At;exports.svgAttr=gt;exports.useComputed=j;exports.useEffect=nt;exports.useProp=b;exports.useSignal=st;
|
package/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export type * from './types/svg-tags';
|
|
|
11
11
|
export * from './std/interpolate';
|
|
12
12
|
export * from './std/position';
|
|
13
13
|
export * from './std/signal';
|
|
14
|
-
export * from './
|
|
14
|
+
export * from './std/signal-utils';
|
|
15
15
|
export * from './dom/attr';
|
|
16
16
|
export * from './dom/dom-context';
|
|
17
17
|
export * from './dom/dom-utils';
|