@tempots/dom 17.0.0 → 19.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 +12 -12
- package/dom/attr.d.ts +14 -7
- package/dom/dom-context.d.ts +47 -2
- package/dom/dom-utils.d.ts +6 -3
- package/dom/handle-anchor-click.d.ts +13 -2
- package/dom/ssr.d.ts +48 -16
- package/index.cjs +1 -1
- package/index.d.ts +1 -1
- package/index.js +1050 -931
- package/package.json +1 -1
- package/renderable/async.d.ts +33 -3
- package/renderable/attribute.d.ts +28 -9
- package/renderable/bind.d.ts +43 -13
- package/renderable/conjunction.d.ts +23 -4
- package/renderable/consumers.d.ts +54 -1
- package/renderable/domnode.d.ts +10 -2
- package/renderable/element.d.ts +50 -3
- package/renderable/empty.d.ts +5 -0
- package/renderable/ensure.d.ts +10 -0
- package/renderable/foreach.d.ts +12 -2
- package/renderable/fragment.d.ts +11 -0
- package/renderable/handler.d.ts +67 -10
- package/renderable/map-signal.d.ts +15 -0
- package/renderable/not-empty.d.ts +13 -1
- package/renderable/onctx.d.ts +9 -2
- package/renderable/oneof.d.ts +138 -16
- package/renderable/onmount.d.ts +8 -0
- package/renderable/onunmount.d.ts +6 -0
- package/renderable/portal.d.ts +12 -3
- package/renderable/providers.d.ts +39 -6
- package/renderable/render.d.ts +39 -3
- package/renderable/repeat.d.ts +11 -2
- package/renderable/style.d.ts +5 -2
- package/renderable/task.d.ts +18 -2
- package/renderable/text.d.ts +18 -5
- package/renderable/when.d.ts +21 -3
- package/std/interpolate.d.ts +56 -5
- package/std/position.d.ts +42 -2
- package/std/signal-utils.d.ts +226 -0
- package/std/signal.d.ts +397 -85
- package/types/aria-attributes.d.ts +5 -0
- package/types/css-styles.d.ts +11 -0
- package/types/domain.d.ts +69 -3
- package/types/html-attributes.d.ts +10 -0
- package/types/html-events.d.ts +5 -0
- package/types/html-tags.d.ts +5 -0
- package/types/mathml-attributes.d.ts +5 -0
- package/types/mathml-tags.d.ts +4 -0
- package/types/svg-attributes.d.ts +5 -0
- package/types/svg-tags.d.ts +5 -0
package/dom/animatable.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type AnimatableProps = {
|
|
2
2
|
width?: number;
|
|
3
3
|
maxWidth?: number;
|
|
4
4
|
minWidth?: number;
|
|
@@ -51,7 +51,7 @@ export interface Animatable {
|
|
|
51
51
|
brightness?: number;
|
|
52
52
|
contrast?: number;
|
|
53
53
|
blur?: number;
|
|
54
|
-
}
|
|
54
|
+
};
|
|
55
55
|
export type ColorChannels = [
|
|
56
56
|
number,
|
|
57
57
|
number,
|
|
@@ -59,7 +59,7 @@ export type ColorChannels = [
|
|
|
59
59
|
number,
|
|
60
60
|
'rgba' | 'hex' | 'hsla'
|
|
61
61
|
];
|
|
62
|
-
export declare
|
|
62
|
+
export declare const parseColorChannels: (color: string) => ColorChannels;
|
|
63
63
|
export interface BoxShadow {
|
|
64
64
|
inset: boolean;
|
|
65
65
|
x: number;
|
|
@@ -68,12 +68,12 @@ export interface BoxShadow {
|
|
|
68
68
|
spread: number;
|
|
69
69
|
color: string;
|
|
70
70
|
}
|
|
71
|
-
export declare
|
|
72
|
-
export declare
|
|
73
|
-
export declare
|
|
74
|
-
export declare
|
|
75
|
-
export declare
|
|
76
|
-
export declare
|
|
77
|
-
export declare
|
|
78
|
-
export declare
|
|
79
|
-
export declare
|
|
71
|
+
export declare const colorChannelsToString: (channels: ColorChannels) => string;
|
|
72
|
+
export declare const interpolateColor: (startColor: string, endColor: string) => ((t: number) => string);
|
|
73
|
+
export declare const interpolateShadow: (startShadow: string, endShadow: string) => ((t: number) => string);
|
|
74
|
+
export declare const getComputedAnimatableProp: (styles: CSSStyleDeclaration, key: keyof AnimatableProps) => AnimatableProps[typeof key];
|
|
75
|
+
export declare const getComputedAnimatable: (el: HTMLElement, styles: AnimatableProps) => AnimatableProps;
|
|
76
|
+
export declare const applyAnimatableProp: (el: HTMLElement, key: keyof AnimatableProps, value: AnimatableProps[typeof key]) => void;
|
|
77
|
+
export declare const applyInterpolatedAnimatableProp: (el: HTMLElement, key: keyof AnimatableProps, from: AnimatableProps[typeof key], to: AnimatableProps[typeof key], progress: number) => void;
|
|
78
|
+
export declare const applyInterpolatedAnimatable: (el: HTMLElement, from: AnimatableProps, to: AnimatableProps, progress: number) => void;
|
|
79
|
+
export declare const applyAnimatable: (el: HTMLElement, styles: AnimatableProps) => void;
|
package/dom/attr.d.ts
CHANGED
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* @param attributeName - The name of the boolean property to set.
|
|
8
8
|
* @returns A function that takes an `Element` and a `value` and sets the
|
|
9
9
|
* boolean property on the element.
|
|
10
|
+
* @internal
|
|
10
11
|
*/
|
|
11
|
-
export declare
|
|
12
|
+
export declare const _setBooleanProperty: (attributeName: string) => (element: Element, value: unknown) => void;
|
|
12
13
|
/**
|
|
13
14
|
* Sets a numeric property on an HTML element.
|
|
14
15
|
*
|
|
@@ -17,8 +18,9 @@ export declare function setBooleanProperty(attributeName: string): (element: Ele
|
|
|
17
18
|
*
|
|
18
19
|
* @param attributeName - The name of the property to set on the element.
|
|
19
20
|
* @returns A function that takes an `Element` and a `value` and sets the property.
|
|
21
|
+
* @internal
|
|
20
22
|
*/
|
|
21
|
-
export declare
|
|
23
|
+
export declare const _setNumberProperty: (attributeName: string) => (element: Element, value: unknown) => void;
|
|
22
24
|
/**
|
|
23
25
|
* Sets a date property on an element.
|
|
24
26
|
*
|
|
@@ -28,8 +30,9 @@ export declare function setNumberProperty(attributeName: string): (element: Elem
|
|
|
28
30
|
* @param attributeName - The name of the date property to set on the element.
|
|
29
31
|
* @returns A function that takes an element and a value, and sets the date
|
|
30
32
|
* property on the element.
|
|
33
|
+
* @internal
|
|
31
34
|
*/
|
|
32
|
-
export declare
|
|
35
|
+
export declare const _setDateProperty: (attributeName: string) => (element: Element, value: unknown) => void;
|
|
33
36
|
/**
|
|
34
37
|
* Sets a string property on an `Element` object.
|
|
35
38
|
*
|
|
@@ -38,16 +41,18 @@ export declare function setDateProperty(attributeName: string): (element: Elemen
|
|
|
38
41
|
*
|
|
39
42
|
* @param attributeName - The name of the property to set on the `Element`.
|
|
40
43
|
* @returns A function that takes an `Element` and a `value` and sets the property.
|
|
44
|
+
* @internal
|
|
41
45
|
*/
|
|
42
|
-
export declare
|
|
46
|
+
export declare const _setStringProperty: (attributeName: string) => (element: Element, value: unknown) => void;
|
|
43
47
|
/**
|
|
44
48
|
* Sets the specified attribute on the given element to the provided value.
|
|
45
49
|
* If the value is `null`, the attribute will be removed from the element.
|
|
46
50
|
*
|
|
47
51
|
* @param attributeName - The name of the attribute to set.
|
|
48
52
|
* @returns A function that takes an element and a value, and sets the attribute on the element.
|
|
53
|
+
* @internal
|
|
49
54
|
*/
|
|
50
|
-
export declare
|
|
55
|
+
export declare const _setAttribute: (attributeName: string) => (element: Element, value: unknown) => void;
|
|
51
56
|
/**
|
|
52
57
|
* Creates a setter function for an element attribute based on the attribute's type.
|
|
53
58
|
*
|
|
@@ -57,8 +62,9 @@ export declare function setAttribute(attributeName: string): (element: Element,
|
|
|
57
62
|
*
|
|
58
63
|
* @param attributeName - The name of the attribute to create a setter for.
|
|
59
64
|
* @returns A function that sets the attribute value on an element.
|
|
65
|
+
* @internal
|
|
60
66
|
*/
|
|
61
|
-
export declare
|
|
67
|
+
export declare const _makeSetter: (attributeName: string) => ((element: Element, value: unknown) => void);
|
|
62
68
|
/**
|
|
63
69
|
* Creates a getter function for a specific HTML element attribute.
|
|
64
70
|
*
|
|
@@ -69,5 +75,6 @@ export declare function makeSetter(attributeName: string): (element: Element, va
|
|
|
69
75
|
* @param attributeName - The name of the HTML element attribute to get.
|
|
70
76
|
* @returns A function that takes an `Element` and returns the value of the
|
|
71
77
|
* specified attribute.
|
|
78
|
+
* @internal
|
|
72
79
|
*/
|
|
73
|
-
export declare
|
|
80
|
+
export declare const _makeGetter: <T>(attributeName: string) => ((element: Element) => T);
|
package/dom/dom-context.d.ts
CHANGED
|
@@ -6,12 +6,29 @@ import { ProviderMark, Providers } from '../types/domain';
|
|
|
6
6
|
*
|
|
7
7
|
* A reference in a DOMContext is to mark a position within a set of sibblings.
|
|
8
8
|
* It is used to insert new elements before the reference.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
9
11
|
*/
|
|
10
12
|
export declare class DOMContext {
|
|
13
|
+
/**
|
|
14
|
+
* The `Document` instance associated with this context.
|
|
15
|
+
*/
|
|
11
16
|
readonly document: Document;
|
|
17
|
+
/**
|
|
18
|
+
* The `Element` instance associated with this context.
|
|
19
|
+
*/
|
|
12
20
|
readonly element: Element;
|
|
21
|
+
/**
|
|
22
|
+
* An optional `Node` instance that serves as a reference for this context.
|
|
23
|
+
*/
|
|
13
24
|
readonly reference: Node | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* The `Providers` instance associated with this context.
|
|
27
|
+
*/
|
|
14
28
|
readonly providers: Providers;
|
|
29
|
+
/**
|
|
30
|
+
* A boolean value indicating whether this context is at the first level, meaning the outermost node in the generated
|
|
31
|
+
*/
|
|
15
32
|
readonly isFirstLevel: boolean;
|
|
16
33
|
/**
|
|
17
34
|
* Creates a new `DOMContext` instance for the given `Element` and optional reference `Node`.
|
|
@@ -30,7 +47,27 @@ export declare class DOMContext {
|
|
|
30
47
|
* @param providers - The `Providers` instance associated with this context.
|
|
31
48
|
* @param isFirstLevel - A boolean value indicating whether this context is at the first level, meaning the outermost node in the generated DOM.
|
|
32
49
|
*/
|
|
33
|
-
constructor(
|
|
50
|
+
constructor(
|
|
51
|
+
/**
|
|
52
|
+
* The `Document` instance associated with this context.
|
|
53
|
+
*/
|
|
54
|
+
document: Document,
|
|
55
|
+
/**
|
|
56
|
+
* The `Element` instance associated with this context.
|
|
57
|
+
*/
|
|
58
|
+
element: Element,
|
|
59
|
+
/**
|
|
60
|
+
* An optional `Node` instance that serves as a reference for this context.
|
|
61
|
+
*/
|
|
62
|
+
reference: Node | undefined,
|
|
63
|
+
/**
|
|
64
|
+
* The `Providers` instance associated with this context.
|
|
65
|
+
*/
|
|
66
|
+
providers: Providers,
|
|
67
|
+
/**
|
|
68
|
+
* A boolean value indicating whether this context is at the first level, meaning the outermost node in the generated
|
|
69
|
+
*/
|
|
70
|
+
isFirstLevel: boolean);
|
|
34
71
|
/**
|
|
35
72
|
* Creates a new DOM element (eg: HTML or SVG) with the specified tag name and namespace.
|
|
36
73
|
*
|
|
@@ -102,7 +139,15 @@ export declare class DOMContext {
|
|
|
102
139
|
*
|
|
103
140
|
* @param mark - The provider mark to retrieve the provider for.
|
|
104
141
|
* @returns The provider for the given mark.
|
|
105
|
-
* @throws
|
|
142
|
+
* @throws Throws `ProviderNotFoundError` if the provider for the given mark is not found.
|
|
106
143
|
*/
|
|
107
144
|
readonly getProvider: <T>(mark: ProviderMark<T>) => T;
|
|
108
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Error thrown when a provider is not found.
|
|
148
|
+
*
|
|
149
|
+
* @public
|
|
150
|
+
*/
|
|
151
|
+
export declare class ProviderNotFoundError extends Error {
|
|
152
|
+
constructor(mark: ProviderMark<unknown>);
|
|
153
|
+
}
|
package/dom/dom-utils.d.ts
CHANGED
|
@@ -2,20 +2,23 @@
|
|
|
2
2
|
* Removes the specified node from the DOM.
|
|
3
3
|
*
|
|
4
4
|
* @param node - The node to be removed from the DOM.
|
|
5
|
+
* @internal
|
|
5
6
|
*/
|
|
6
|
-
export declare
|
|
7
|
+
export declare const _removeDOMNode: (node: Node) => void;
|
|
7
8
|
/**
|
|
8
9
|
* Returns the given `node` if it is an `Element`, or the parent `Element` of
|
|
9
10
|
* the given `node` if it is not an `Element`.
|
|
10
11
|
*
|
|
11
12
|
* @param node - The `Node` to get the `Element` for.
|
|
12
13
|
* @returns The `Element` for the given `node`.
|
|
14
|
+
* @internal
|
|
13
15
|
*/
|
|
14
|
-
export declare
|
|
16
|
+
export declare const _getSelfOrParentElement: (node: Node) => Element;
|
|
15
17
|
/**
|
|
16
18
|
* Determines if the given `Node` is an `Element`.
|
|
17
19
|
*
|
|
18
20
|
* @param node - The `Node` to check.
|
|
19
21
|
* @returns `true` if the `node` is an `Element`, `false` otherwise.
|
|
22
|
+
* @internal
|
|
20
23
|
*/
|
|
21
|
-
export declare
|
|
24
|
+
export declare const _isElement: (node: Node) => node is Element;
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for handling anchor click events.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
1
5
|
export type HandleAnchorClickOptions = {
|
|
2
|
-
|
|
6
|
+
/**
|
|
7
|
+
* A boolean indicating whether to check the anchor's href for a file extension.
|
|
8
|
+
*/
|
|
9
|
+
checkExtension?: boolean | string[];
|
|
10
|
+
/**
|
|
11
|
+
* A boolean indicating whether to check if the anchor's href points to an external URL.
|
|
12
|
+
*/
|
|
3
13
|
checkExternalUrl?: boolean;
|
|
4
14
|
};
|
|
5
15
|
/**
|
|
@@ -10,5 +20,6 @@ export type HandleAnchorClickOptions = {
|
|
|
10
20
|
* - `checkExtension`: A boolean indicating whether to check the anchor's href for a file extension. Defaults to `true`.
|
|
11
21
|
* - `checkExternalUrl`: A boolean indicating whether to check if the anchor's href points to an external URL. Defaults to `true`.
|
|
12
22
|
* @returns A function that handles the anchor click event, calling the provided callback and preventing the default behavior if the callback returns `true`.
|
|
23
|
+
* @public
|
|
13
24
|
*/
|
|
14
|
-
export declare const handleAnchorClick: (callback: () => boolean,
|
|
25
|
+
export declare const handleAnchorClick: (callback: () => boolean, { checkExtension, checkExternalUrl, }?: HandleAnchorClickOptions) => (e: MouseEvent) => void;
|
package/dom/ssr.d.ts
CHANGED
|
@@ -1,19 +1,51 @@
|
|
|
1
1
|
import { TNode, Renderable } from '../types/domain';
|
|
2
2
|
import { DOMContext } from './dom-context';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export declare
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export declare
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export declare const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare const _maybeAddAttributeTracker: (ctx: DOMContext, name: string) => void;
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const _maybeAddClassTracker: (ctx: DOMContext) => void;
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare const _addNodeTracker: (element: Element) => void;
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
export declare const _maybeAddTextTracker: (ctx: DOMContext) => void;
|
|
20
|
+
export declare const removeTextTrackers: (doc: Document) => void;
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare const _clearSSR: (doc: Document) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Prepares for server-side rendering (SSR) by setting a timeout. The returned
|
|
27
|
+
* promise resolves when all the `useSSRDone` calls have been completed.
|
|
28
|
+
*
|
|
29
|
+
* @param timeoutSeconds - The timeout duration in seconds (default: 30 seconds).
|
|
30
|
+
* @returns A promise that resolves when all useSSRDone calls have been completed.
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
export declare const prepareSSR: (timeoutSeconds?: number) => Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Provides a way to signal that a renderable has been rendered on the server.
|
|
36
|
+
* Multiple ussSSRDone calls can be made in parallel, and the promise returned
|
|
37
|
+
* by `prepareSSR` will resolve when all the `useSSRDone` calls have been completed.
|
|
38
|
+
*
|
|
39
|
+
* @param child - A function that takes a `done` callback and returns a `TNode`.
|
|
40
|
+
* @returns A renderable value.
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
export declare const useSSRDone: (child: (done: () => void) => TNode) => Renderable;
|
|
44
|
+
/**
|
|
45
|
+
* Checks if the code is running on the server-side (SSR - Server-Side Rendering).
|
|
46
|
+
* The flag is set by running the `prepareSSR` function.
|
|
47
|
+
*
|
|
48
|
+
* @returns Returns true if the code is running on the server-side, false otherwise.
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
export declare const isSSR: () => boolean;
|
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 Qe=Object.defineProperty;var Ye=(t,e,r)=>e in t?Qe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var a=(t,e,r)=>Ye(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const pe=(t,e,r)=>t+(e-t)*r,de=97,me=(t,e,r)=>{const n=Math.max(t.length,e.length);let s="";for(let o=0;o<n;o++){let i=t.charCodeAt(o);isNaN(i)&&(i=de);let u=e.charCodeAt(o);isNaN(u)&&(u=de),s+=String.fromCharCode(i+(u-i)*r)}return s},ge=(t,e,r)=>new Date(t.getTime()+(e.getTime()-t.getTime())*r),_e=(t,e)=>e,ve=t=>typeof t=="number"?pe:typeof t=="string"?me:t instanceof Date?ge:_e;class ye{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 h=class h{constructor(e,r){a(this,"$__signal__",!0);a(this,"_value");a(this,"_derivatives",[]);a(this,"_onValueListeners",[]);a(this,"_onDisposeListeners",[]);a(this,"get",()=>this._value);a(this,"hasListeners",()=>this._onValueListeners.length>0);a(this,"on",e=>(e(this.get()),this._onValueListeners.push(e),()=>{this._onValueListeners.splice(this._onValueListeners.indexOf(e),1)}));a(this,"_setAndNotify",(e,r)=>{const n=this.equals(this._value,e);n||(this._value=e),(r||!n)&&this._onValueListeners.forEach(s=>s(e))});a(this,"_disposed",!1);a(this,"isDisposed",()=>this._disposed);a(this,"onDispose",e=>{this._onDisposeListeners.push(e)});a(this,"dispose",()=>{this._disposed||(this._disposed=!0,this._onDisposeListeners.forEach(e=>e()),this._onDisposeListeners.length=0,this._derivatives.length=0)});a(this,"map",(e,r=(n,s)=>n===s)=>{const n=new w(()=>{try{return e(this.get())}catch(s){throw console.error("Error in Signal.map:",s),s}},r);return this.setDerivative(n),n});a(this,"flatMap",(e,r=(n,s)=>n===s)=>{const n=new w(()=>{try{return e(this.get()).get()}catch(s){throw console.error("Error in Signal.flatMap:",s),s}},r);return this.setDerivative(n),n});a(this,"tap",e=>this.map(r=>(e(r),r)));a(this,"at",e=>this.map(r=>r[e]));a(this,"$",new Proxy(this,{get:(e,r)=>this.at(r)}));a(this,"filter",(e,r)=>{let n=r??this.get();const s=new w(()=>{try{const o=this.get();return n=e(o)?o:n}catch(o){throw console.error("Error in Signal.filter:",o),o}},this.equals);return this.setDerivative(s),s});a(this,"filterMap",(e,r,n=(s,o)=>s===o)=>{let s=r;const o=new w(()=>{try{const i=this.get(),u=e(i);return s=u??s}catch(i){throw console.error("Error in Signal.filterMap:",i),i}},n);return this.setDerivative(o),o});a(this,"mapAsync",(e,r,n,s=(o,i)=>o===i)=>{const o=D(r,s);let i=0;return o.onDispose(this.on(u=>{const l=++i;try{e(u).then(c=>{l===i&&o.set(c)}).catch(c=>{l===i&&(n!=null?o.set(n(c)):console.error("Unhandled promise rejection in Signal.mapAsync:",c))})}catch(c){throw console.error("Error in Signal.mapAsync:",c),c}})),o});a(this,"mapMaybe",(e,r)=>this.map(n=>e(n)??r));a(this,"feedProp",(e,r=!1)=>{const n=this.on(e.set);return e.onDispose(n),r?this.onDispose(e.dispose):this.onDispose(n),e});a(this,"deriveProp",(e=!0)=>this.feedProp(D(this.get()),e));a(this,"count",()=>{let e=0;return this.map(()=>++e)});a(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}get value(){return this._value}};a(h,"ofPromise",(e,r,n,s=(o,i)=>o===i)=>{const o=new h(r,s);return e.then(i=>o._setAndNotify(i,!1)).catch(i=>{n!=null?o._setAndNotify(n(i),!1):console.error("Unhandled promise rejection in Signal.ofPromise:",i)}),o}),a(h,"is",e=>e!=null&&e.$__signal__===!0),a(h,"wrap",(e,r=(n,s)=>n===s)=>h.is(e)?e:new h(e,r)),a(h,"maybeWrap",e=>e==null?e:h.wrap(e)),a(h,"unwrap",e=>h.is(e)?e.get():e),a(h,"map",(e,r)=>h.is(e)?e.map(r):r(e));let d=h;const Ze=typeof queueMicrotask=="function"?queueMicrotask:t=>Promise.resolve().then(t);class w extends d{constructor(r,n){super(void 0,n);a(this,"$__computed__",!0);a(this,"_isDirty",!1);a(this,"setDirty",()=>{this._isDirty||this._disposed||(this._isDirty=!0,this._derivatives.forEach(r=>r.setDirty()),this._scheduleNotify())});a(this,"_scheduleCount",0);a(this,"_scheduleNotify",()=>{const r=++this._scheduleCount;Ze(()=>{this._scheduleCount!==r||this._disposed!==!1||this._isDirty&&(this._isDirty=!1,this._setAndNotify(this._fn(),!1))})});a(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.$__computed__===!0}get value(){return this.get()}}const $=class $ extends d{constructor(){super(...arguments);a(this,"$__prop__",!0);a(this,"set",r=>{this._setAndNotify(r,!1)});a(this,"update",r=>{this._setAndNotify(r(this.get()),!1)});a(this,"reducer",(r,...n)=>{const s=this;return function o(i){const u=s.value;s.update(l=>r(l,i)),!s.equals(u,s.value)&&n.forEach(l=>l({previousState:u,state:s.value,action:i,dispatch:o}))}});a(this,"iso",(r,n,s=(o,i)=>o===i)=>{const o=new $(r(this.get()),s);return o.onDispose(this.on(i=>o.set(r(i)))),o.on(i=>this._setAndNotify(n(i),!1)),o});a(this,"atProp",r=>this.iso(n=>n[r],n=>({...this.value,[r]:n})))}get value(){return this.get()}set value(r){this._setAndNotify(r,!1)}};a($,"is",r=>r!=null&&r.$__prop__===!0);let N=$;const q=(t,e,r=(n,s)=>n===s)=>{const n=new w(t,r);return e.forEach(s=>s.setDerivative(n)),n},xe=(t,e)=>q(t,e).dispose,D=(t,e=(r,n)=>r===n)=>new N(t,e),et=(t,e=(r,n)=>r===n)=>new d(t,e);class G{constructor(){a(this,"_store",new Map);a(this,"getItem",e=>this._store.get(e)??null);a(this,"setItem",(e,r)=>{this._store.set(e,r)})}}const H=({key:t,defaultValue:e,store:r,serialize:n=JSON.stringify,deserialize:s=JSON.parse,equals:o=(u,l)=>u===l,onLoad:i=u=>u})=>{const u=r.getItem(t),l=new N(u!=null?i(s(u)):typeof e=="function"?e():e,o);return l.on(c=>{r.setItem(t,n(c))}),l},tt=t=>H({...t,store:(window==null?void 0:window.localStorage)??new G}),rt=t=>H({...t,store:(window==null?void 0:window.sessionStorage)??new G});function he(t){return typeof requestAnimationFrame=="function"?requestAnimationFrame(t):setTimeout(t,0)}const Se=(t,e,r,n)=>{const s=(n==null?void 0:n.duration)??300,o=(n==null?void 0:n.easing)??(S=>S),i=(n==null?void 0:n.equals)??((S,M)=>S===M);let u=n==null?void 0:n.interpolate,l=t,c=e(),y=performance.now(),A=null,p=!0;const b=new w(e,i),P=D(t,i);P.onDispose(()=>{A!==null&&cancelAnimationFrame(A)}),P.onDispose(b.dispose),r.forEach(S=>{S.setDerivative(b),S.onDispose(P.dispose)});const Xe=S=>{c=S,y=performance.now(),l=P.value,p&&(p=!1,A=he(ce))},ce=()=>{const M=(performance.now()-y)/d.unwrap(s),ze=o(M);u==null&&(u=ve(l));let fe=u(l,c,ze);M>=1?(p=!0,fe=c):A=he(ce),P.set(fe)};return b.on(Xe),P},nt=(t,e)=>{const{initialValue:r,...n}=e??{};return Se(r??t.get(),t.get,[t],n)},st=(t,e)=>{const{signals:r,literals:n}=Object.entries(t).reduce(({signals:o,literals:i},[u,l])=>(d.is(l)?o.push([u,l]):i[u]=l,{signals:o,literals:i}),{signals:[],literals:{}}),s=r.map(([,o])=>o);return q(()=>(r.forEach(([o,i])=>n[o]=i.value),e(n)),s)},Ae=new Set(["checked","disabled","hidden","selected"]),we=new Set(["rowSpan","colSpan","tabIndex","valueAsNumber"]),Ee=new Set(["valueAsDate"]),Pe=new Set(["value","textContent","innerText","innerHTML","outerHTML","className","classList"]),j=new Map,O=(t,e)=>{if(j.has(t))return j.get(t);{const r=e(t);return j.set(t,r),r}},De=t=>(e,r)=>{r==null?e[t]=null:e[t]=!!r},Te=t=>(e,r)=>{r==null?e[t]=null:e[t]=Number(r)},be=t=>(e,r)=>{r==null?e[t]=null:e[t]=r},Oe=t=>(e,r)=>{r==null?e[t]=null:e[t]=String(r)},ke=t=>(e,r)=>{r==null?e.removeAttribute(t):e.setAttribute(t,r)},J=t=>Ae.has(t)?O(t,De):we.has(t)?O(t,Te):Ee.has(t)?O(t,be):Pe.has(t)?O(t,Oe):O(t,ke),K=t=>e=>Ae.has(t)?!!e[t]:we.has(t)?Number(e[t]):Ee.has(t)?e[t]:Pe.has(t)?String(e[t]):e.getAttribute(t);class g{constructor(e,r,n,s,o){a(this,"createElement",(e,r)=>r!==void 0?this.document.createElementNS(r,e):this.document.createElement(e));a(this,"createText",e=>this.document.createTextNode(e));a(this,"makeRef",()=>{const e=this.createText("");return this.appendOrInsert(e),this.withReference(e)});a(this,"appendOrInsert",e=>{this.reference===void 0?this.element.appendChild(e):this.element.insertBefore(e,this.reference)});a(this,"withDocument",e=>new g(e,this.element,this.reference,this.providers,!0));a(this,"withElement",e=>new g(this.document,e,void 0,this.providers,!1));a(this,"withFirstLevel",()=>new g(this.document,this.element,this.reference,this.providers,!0));a(this,"withReference",e=>new g(this.document,this.element,e,this.providers,this.isFirstLevel));a(this,"withProvider",(e,r)=>new g(this.document,this.element,this.reference,{...this.providers,[e]:r},this.isFirstLevel));a(this,"withProviders",e=>new g(this.document,this.element,this.reference,{...this.providers,...e},this.isFirstLevel));a(this,"getProvider",e=>{if(this.providers[e]===void 0)throw new Ne(e);return this.providers[e]});this.document=e,this.element=r,this.reference=n,this.providers=s,this.isFirstLevel=o}static of(e,r){return new g(e.ownerDocument,e,r,{},!0)}}class Ne extends Error{constructor(e){super(`Provider not found: ${e.description}`)}}const m=t=>{const e=t;e&&e.onblur&&(e.onblur=null),!(!t||t.ownerDocument===void 0)&&t.parentElement&&t.parentElement.removeChild(t)},Ce=t=>X(t)?t:t.parentElement,X=t=>t.nodeType===1;function ot(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:o,search:i,hash:u}=s,l=o+i+u;if(s.getAttribute("href")!==l||e===!0&&!/\/[^/.]*$/.test(o)||Array.isArray(e)&&!e.some(c=>o.endsWith(c)))return!0}return!1}const it=(t,{checkExtension:e=[".html"],checkExternalUrl:r=!0}={})=>n=>{ot(n,e,r)||t()&&n.preventDefault()},z=t=>e=>{re(e);const r=e.createText(t);return e.appendOrInsert(r),n=>{n&&m(r)}},Q=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&&m(r)}},at=t=>d.is(t)?Q(t):z(t),_=(...t)=>e=>{const r=t.map(n=>f(n)(e));return n=>{r.forEach(s=>s(n))}},v=()=>()=>{},lt=t=>e=>(ee(e),e.element.classList.add(...t),r=>{r&&e.element.classList.remove(...t)}),ut=t=>e=>{ee(e);const r=e.element;let n=[];const s=t.on(o=>{n.forEach(i=>r.classList.remove(i)),n=(o??"").split(" ").filter(i=>i.length>0),r.classList.add(...n)});return o=>{s(),o&&n.forEach(i=>r.classList.remove(i)),n.length=0}},C=(t,e)=>{const r=J(t),n=K(t);return s=>{x(s,t);const o=n(s.element);return r(s.element,e),i=>{i&&r(s.element,o)}}},L=(t,e)=>{const r=J(t),n=K(t);return s=>{x(s,t);const o=n(s.element),i=e.on(u=>r(s.element,u));return u=>{i(),u&&r(s.element,o)}}},E=new Proxy({},{get:(t,e)=>e==="class"?r=>d.is(r)?ut(r):lt((r??"").split(" ").filter(n=>n.length>0)):r=>d.is(r)?L(e,r):C(e,r)}),ct=new Proxy({},{get:(t,e)=>r=>d.is(r)?L(`data-${e}`,r):C(`data-${e}`,r)}),ft=new Proxy({},{get:(t,e)=>r=>d.is(r)?L(`aria-${e}`,r):C(`aria-${e}`,r)}),dt=new Proxy({},{get:(t,e)=>r=>d.is(r)?L(e,r):C(e,r)}),ht=new Proxy({},{get:(t,e)=>r=>d.is(r)?L(e,r):C(e,r)}),f=t=>t==null?v:Array.isArray(t)?_(...t.map(f)):typeof t=="string"?z(t):d.is(t)?Q(t):t,Y=(t,...e)=>r=>{const n=r.createElement(t,void 0);r.isFirstLevel&&T()&&te(n),r.appendOrInsert(n),r=r.withElement(n);const s=e.map(o=>f(o)(r));return o=>{s.forEach(i=>i(!1)),o&&m(n)}},Z=(t,e,...r)=>n=>{const s=n.createElement(t,e);n.isFirstLevel&&T()&&te(s),n.appendOrInsert(s),n=n.withElement(s);const o=r.map(i=>f(i)(n));return i=>{o.forEach(u=>u(!1)),i&&m(s)}},pt=new Proxy({},{get:(t,e)=>(...r)=>Y(e,r.flatMap(f))}),mt=new Proxy({},{get:(t,e)=>(...r)=>Y("input",E.type(e),...r)}),gt="http://www.w3.org/2000/svg",_t=new Proxy({},{get:(t,e)=>(...r)=>Z(e,gt,r.flatMap(f))}),vt="http://www.w3.org/1998/Math/MathML",yt=new Proxy({},{get:(t,e)=>(...r)=>Z(e,vt,r.flatMap(f))}),k="data-tempo-attr",V="data-tempo-class",Le="data-tempo-node",F="data-tempo-text",St=(t,e)=>{const r=t.getAttribute(e);if(r!=null){const n=t.getAttribute(k)??"{}",s={...JSON.parse(n),name:r};t.setAttribute(k,JSON.stringify(s).replace(/"/g,"""))}},x=(t,e)=>{T()&&t.isFirstLevel&&St(t.element,e)},At=t=>{t.querySelectorAll(`[${k}]`).forEach(e=>{const r=JSON.parse((e.getAttribute(k)??"{}").replace(/"/g,'"'));for(const[n,s]of Object.entries(r))e.setAttribute(n,s);e.removeAttribute(k)})};function wt(t){t.setAttribute(V,t.className)}const ee=t=>{T()&&t.isFirstLevel&&wt(t.element)},Et=t=>{t.querySelectorAll(`[${V}]`).forEach(e=>{const r=e.getAttribute(V);r!==null&&(e.className=r,e.removeAttribute(V))})},te=t=>{t.setAttribute(Le,"")},Pt=t=>{t.querySelectorAll(`[${Le}]`).forEach(e=>{m(e)})},Dt=t=>{t.setAttribute(F,t.textContent??"")},re=t=>{T()&&t.isFirstLevel&&Dt(t.element)},Re=t=>{t.querySelectorAll(`[${F}]`).forEach(e=>{e.textContent=e.getAttribute(F),e.removeAttribute(F)})},Me=t=>{Pt(t),Et(t),At(t),Re(t)},Ve=()=>{const t=globalThis;return t.__tempoSSR__==null&&(t.__tempoSSR__={isSSR:!1,counter:0}),t.__tempoSSR__},ne=(t,e)=>{const r=Ve();r[t]=e},Fe=t=>Ve()[t],W=t=>{ne("isSSR",t)},se=()=>Fe("counter"),Tt=()=>{ne("counter",(se()??0)+1)},bt=()=>{ne("counter",(se()??0)-1)},Ot=(t=30)=>(W(!0),new Promise((e,r)=>{let n;const s=setInterval(()=>{se()<=0&&(clearInterval(s),clearTimeout(n),W(!1),e())},30);n=setTimeout(()=>{clearInterval(s),W(!1),r(new Error("SSR Timeout"))},t*1e3)})),kt=t=>(Tt(),f(t(bt))),T=()=>Fe("isSSR"),oe=(t,e)=>{if(typeof e=="function")return oe(t,{then:e});const r=e.pending!=null?f(e.pending):v,n=e.then,s=e.error!=null?o=>f(e.error(o)):()=>v;return o=>{let i=!0;const u=t();o=o.makeRef();let l=f(r)(o);return u.then(c=>{i&&(l(!0),l=f(n(c))(o))},c=>{i&&(l(!0),l=f(s(c))(o))}),c=>{i=!1,l(c),c&&o.reference&&m(o.reference)}}},Nt=(t,e)=>oe(()=>t,e),Ie=(t,e)=>r=>(r.element.addEventListener(t,e),n=>{n&&r.element.removeEventListener(t,e)}),$e=t=>Ie("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=>Ie(e,r)}),qe=t=>e=>{const r=e.target;t(r.value)},Be=t=>e=>{const r=e.target;t(r.valueAsNumber)},Ue=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)},je=t=>e=>{const r=e.target;if(r.value==="")return;const n=r.value.split("T"),s=n[0].split("-"),o=new Date(Number(s[0]),Number(s[1])-1,Number(s[2])),i=n[1].split(":");o.setHours(Number(i[0])),o.setMinutes(Number(i[1])),o.setSeconds(Number(i[2])),t(o)},Ct=t=>e=>{const r=e.target;t(r.checked)},Lt=t=>e=>{e.preventDefault(),t()},Rt=t=>e=>{e.stopPropagation(),t()},Mt=t=>e=>{e.stopImmediatePropagation(),t()},Vt=(t,e="input")=>_(E.valueAsDate(t),R[e](Ue(t.set))),Ft=(t,e="input")=>_(E.valueAsDate(t),R[e](je(t.set))),It=(t,e="input")=>_(E.valueAsNumber(t),R[e](Be(t.set))),$t=(t,e="input")=>_(E.value(t),R[e](qe(t.set))),qt=t=>_(E.checked(t),$e(t.set)),B=(t,e)=>r=>{r=r.makeRef();let n,s;const o=t.map(l=>Object.keys(l)[0]);let i;const u=o.on(l=>{if(l!==i){s==null||s.dispose(),n==null||n(!0),s=t.map(y=>y[l]);const c=e[l](s);n=f(c)(r),i=l}});return l=>{u(),l&&r.reference!=null&&m(r.reference),n==null||n(!0)}},ie=(t,e,r)=>B(t.map(n=>({[n[e]]:n})),r),Bt=(t,e)=>ie(t,"kind",e),Ut=(t,e)=>{const r=t.map(([n,s])=>({[n]:s}));return B(r,e)},jt=(t,e)=>ie(t,"type",e),U=(t,e)=>B(t.map(r=>({[r]:!0})),e),Wt=(t,e={})=>r=>{const n=(e==null?void 0:e.firstSeparator)??v,s=(e==null?void 0:e.lastSeparator)??v;return U(r.map(o=>o.isFirst?"first":o.isLast?"last":"other"),{first:()=>n,last:()=>s,other:()=>t})},We=(t,e)=>r=>{const n=Object.values(t).reduce((s,o)=>{const i=r.getProvider(o);if(i==null)throw new Error(`No provider found for mark: ${o.description}`);return s[o]=i,s},{});return f(e(n))(r)},Gt=(t,e)=>r=>{const n=[],s=Object.entries(t).reduce((o,[i,u])=>(n.push(u(l=>(Reflect.set(o,i,l),null))(r)),o),{});return n.push(e(s)(r)),o=>{n.forEach(i=>i(o))}},Ht=(t,e)=>We([t],r=>f(e(r[t]))),Jt=(t,e)=>We(t,r=>f(e(r))),Kt=t=>e=>t(e),Xt=t=>e=>(e.appendOrInsert(t),r=>{r&&m(t)}),Ge=(t,e,r)=>n=>{n=n.makeRef();let s=null,o=!1;const i=D(null),u=t.on(l=>{l==null?(s==null||s(!0),s=f((r==null?void 0:r())??v)(n),o=!1):(i.value=l,o||(s==null||s(!0),s=f(e(i))(n),o=!0))});return l=>{u(),s==null||s(l),l&&n.reference&&m(n.reference)}},I=t=>e=>r=>t(r,e),ae=(t,e,r)=>r!=null?ae(t,n=>{const s=n.map(o=>o.isLast?"last":"other");return _(I(()=>s.dispose()),f(e(n)),U(s,{last:()=>v,other:()=>r(n)}))}):n=>{n=n.makeRef();const s=t.map(l=>Array.from({length:l},(c,y)=>y).map(c=>new ye(c,l))),o=[],i=[],u=s.on(l=>{var y,A;const c=l.length;for(;c<o.length;)(y=o.pop())==null||y(!0),(A=i.pop())==null||A.dispose();for(let p=0;p<c;p++)if(i[p]==null){i[p]=D(l[p]);const b=f(e(i[p]));o[p]=b(n)}else i[p].value=l[p]});return l=>{u(),l&&n.reference&&m(n.reference)}},He=(t,e,r)=>r!=null?He(t,(n,s)=>{const o=s.map(i=>i.isLast?"last":"other");return _([I(()=>o.dispose()),f(e(n,s)),U(o,{last:()=>v,other:()=>r(s)})])}):n=>{const s=t.map(o=>o.length);return ae(s,o=>{const i=q(()=>t.value[o.value.index],[o,t]);return _(I(()=>i.dispose()),f(e(i,o)))})(n)},zt=(t,e)=>r=>{r=r.makeRef();const n=t.map(i=>f(e(i)));let s=()=>{};const o=n.on(i=>{s(!0),s=i(r)});return i=>{o(),s(i)}},le=(t,e,r)=>Ge(t.map(n=>n?!0:null),()=>e,r!=null?()=>r:void 0),Qt=(t,e,r)=>le(t.map(n=>!n),e,r),Yt=(t,e,r=v)=>le(t.map(n=>n.length>0),e,r),Zt=t=>e=>t(e.element)??(()=>{}),ue=(t,e)=>{const r=t(e);return()=>r(!0)},xt=(t,e,{doc:r,clear:n}={})=>{const s=typeof e=="string"?(r??document).querySelector(e):e;if(s===null)throw new Je(`Cannot find element by selector for render: ${e}`);n!==!1&&(r??s.ownerDocument)!=null&&Me(r??s.ownerDocument);const o=Ce(s),i=X(s)?void 0:s,u=g.of(o,i);return ue(t,u)};class Je extends Error{constructor(e){super(e)}}const er=(t,e)=>r=>{const n=r.document.querySelector(t);if(n===null)throw new Error(`Cannot find element by selector for portal: ${t}`);return ue(f(e),r.withElement(n).withFirstLevel())},tr=t=>Symbol(t),Ke=(t,e)=>r=>f(e)(r.withProviders(t)),rr=(...t)=>t.length>0?t.reduceRight((e,r)=>n=>e(r(n))):f,nr=(t,e,r)=>Ke({[t]:e},f(r)),sr=(t,e)=>Ke(t,f(e)),or=(t,e)=>r=>{const n=r.element,s=n.style.getPropertyValue(t);return n.style.setProperty(t,e),o=>{o&&n.style.setProperty(t,s)}},ir=(t,e)=>r=>{const n=r.element,s=n.style.getPropertyValue(t);return e.on(o=>n.style.setProperty(t,o)),o=>{o&&n.style.setProperty(t,s)}},ar=new Proxy({},{get:(t,e)=>r=>d.is(r)?ir(e,r):or(e,r)});exports.Async=Nt;exports.BindChecked=qt;exports.BindDate=Vt;exports.BindDateTime=Ft;exports.BindNumber=It;exports.BindText=$t;exports.Computed=w;exports.Conjunction=Wt;exports.DOMContext=g;exports.DOMNode=Xt;exports.El=Y;exports.ElNS=Z;exports.ElementPosition=ye;exports.EmitChecked=Ct;exports.EmitPreventDefault=Lt;exports.EmitStopImmediatePropagation=Mt;exports.EmitStopPropagation=Rt;exports.EmitValue=qe;exports.EmitValueAsDate=Ue;exports.EmitValueAsDateTime=je;exports.EmitValueAsNumber=Be;exports.Empty=v;exports.Ensure=Ge;exports.ForEach=He;exports.Fragment=_;exports.MapSignal=zt;exports.MemoryStore=G;exports.NotEmpty=Yt;exports.OnChecked=$e;exports.OnCtx=Kt;exports.OnMount=Zt;exports.OnUnmount=I;exports.OneOf=B;exports.OneOfField=ie;exports.OneOfKind=Bt;exports.OneOfTuple=Ut;exports.OneOfType=jt;exports.OneOfValue=U;exports.Portal=er;exports.Prop=N;exports.Provide=rr;exports.ProviderNotFoundError=Ne;exports.RenderingError=Je;exports.Repeat=ae;exports.Signal=d;exports.Task=oe;exports.TextNode=at;exports.Unless=Qt;exports.Use=Gt;exports.UseProvider=Ht;exports.UseProviders=Jt;exports.When=le;exports.WithProvider=nr;exports.WithProviders=sr;exports._addNodeTracker=te;exports._clearSSR=Me;exports._getSelfOrParentElement=Ce;exports._isElement=X;exports._makeGetter=K;exports._makeSetter=J;exports._maybeAddAttributeTracker=x;exports._maybeAddClassTracker=ee;exports._maybeAddTextTracker=re;exports._removeDOMNode=m;exports._setAttribute=ke;exports._setBooleanProperty=De;exports._setDateProperty=be;exports._setNumberProperty=Te;exports._setStringProperty=Oe;exports._signalText=Q;exports._staticText=z;exports.animateSignal=nt;exports.animateSignals=Se;exports.aria=ft;exports.attr=E;exports.dataAttr=ct;exports.endInterpolate=_e;exports.guessInterpolate=ve;exports.handleAnchorClick=it;exports.html=pt;exports.input=mt;exports.interpolateDate=ge;exports.interpolateNumber=pe;exports.interpolateString=me;exports.isSSR=T;exports.localStorageProp=tt;exports.makeComputed=q;exports.makeComputedRecord=st;exports.makeEffect=xe;exports.makeProp=D;exports.makeProviderMark=tr;exports.makeSignal=et;exports.math=yt;exports.mathAttr=ht;exports.on=R;exports.prepareSSR=Ot;exports.removeTextTrackers=Re;exports.render=xt;exports.renderWithContext=ue;exports.renderableOfTNode=f;exports.sessionStorageProp=rt;exports.storedProp=H;exports.style=ar;exports.svg=_t;exports.svgAttr=dt;exports.useSSRDone=kt;
|
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';
|