@jay-framework/runtime 0.5.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/dist/index.d.ts +481 -0
- package/dist/index.js +836 -0
- package/docs/context.md +85 -0
- package/docs/jay-element.md +81 -0
- package/docs/kindergarten.md +51 -0
- package/docs/refs.md +200 -0
- package/docs/runtime.md +310 -0
- package/package.json +43 -0
- package/readme.md +113 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
interface KindergardenGroupListener {
|
|
2
|
+
addNode(node: Node): any;
|
|
3
|
+
removeNode(node: Node): any;
|
|
4
|
+
}
|
|
5
|
+
declare class KindergartenGroup {
|
|
6
|
+
private kindergarten;
|
|
7
|
+
private groupListener;
|
|
8
|
+
children: Set<Node>;
|
|
9
|
+
constructor(kindergarten: Kindergarten);
|
|
10
|
+
addListener(groupListener: KindergardenGroupListener): void;
|
|
11
|
+
ensureNode(node: Node, atIndex?: number): void;
|
|
12
|
+
removeNode(node: Node): void;
|
|
13
|
+
removeNodeAt(pos: number): void;
|
|
14
|
+
moveNode(from: number, to: number): void;
|
|
15
|
+
}
|
|
16
|
+
declare class Kindergarten {
|
|
17
|
+
readonly parentNode: Element;
|
|
18
|
+
private groups;
|
|
19
|
+
constructor(parentNode: Element);
|
|
20
|
+
newGroup(): KindergartenGroup;
|
|
21
|
+
getOffsetFor(group: KindergartenGroup): number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface updateFunc<T> {
|
|
25
|
+
(newData: T): void;
|
|
26
|
+
_origUpdates?: Array<updateFunc<T>>;
|
|
27
|
+
}
|
|
28
|
+
type MountFunc = () => void;
|
|
29
|
+
declare const noopUpdate: updateFunc<any>;
|
|
30
|
+
declare const noopMount: MountFunc;
|
|
31
|
+
interface BaseJayElement<ViewState> {
|
|
32
|
+
update: updateFunc<ViewState>;
|
|
33
|
+
mount: MountFunc;
|
|
34
|
+
unmount: MountFunc;
|
|
35
|
+
}
|
|
36
|
+
interface JayElement<ViewState, Refs> extends BaseJayElement<ViewState> {
|
|
37
|
+
refs: Refs;
|
|
38
|
+
}
|
|
39
|
+
type Coordinate = string[];
|
|
40
|
+
interface JayEvent<EventType, ViewState> {
|
|
41
|
+
event: EventType;
|
|
42
|
+
viewState: ViewState;
|
|
43
|
+
coordinate: Coordinate;
|
|
44
|
+
}
|
|
45
|
+
type JayEventHandler<EventType, ViewState, Returns> = (event: JayEvent<EventType, ViewState>) => Returns;
|
|
46
|
+
interface JayComponent<Props, ViewState, jayElement extends BaseJayElement<ViewState>> {
|
|
47
|
+
element: jayElement;
|
|
48
|
+
update: updateFunc<Props>;
|
|
49
|
+
mount: MountFunc;
|
|
50
|
+
unmount: MountFunc;
|
|
51
|
+
addEventListener: (type: string, handler: JayEventHandler<any, ViewState, void>) => void;
|
|
52
|
+
removeEventListener: (type: string, handler: JayEventHandler<any, ViewState, void>) => void;
|
|
53
|
+
}
|
|
54
|
+
type PropsFrom<Type> = Type extends JayComponent<infer Props, any, any> ? Props : null;
|
|
55
|
+
type ViewStateFrom<Type> = Type extends JayComponent<any, infer ViewState, any> ? ViewState : null;
|
|
56
|
+
type ElementFrom<Type> = Type extends JayComponent<any, any, infer Element> ? Element : null;
|
|
57
|
+
type JayComponentConstructor<Props> = (props: Props) => JayComponent<Props, any, any>;
|
|
58
|
+
type PreRenderElement<ViewState extends object, Refs extends object, JayElementT extends JayElement<ViewState, Refs>> = (options?: RenderElementOptions) => [Refs, RenderElement<ViewState, Refs, JayElementT>];
|
|
59
|
+
type RenderElement<ViewState extends object, Refs extends object, JayElementT extends JayElement<ViewState, Refs>> = (vs: ViewState) => JayElementT;
|
|
60
|
+
interface RenderElementOptions {
|
|
61
|
+
eventWrapper?: JayEventHandlerWrapper<any, any, any>;
|
|
62
|
+
}
|
|
63
|
+
type JayEventHandlerWrapper<EventType, ViewState, Returns> = (orig: JayEventHandler<EventType, ViewState, Returns>, event: JayEvent<EventType, ViewState>) => Returns;
|
|
64
|
+
interface ContextMarker<ContextType> {
|
|
65
|
+
}
|
|
66
|
+
declare const _jayContractBrand: unique symbol;
|
|
67
|
+
type JayContract<ViewState extends object, Refs extends object> = {
|
|
68
|
+
readonly [_jayContractBrand]: {
|
|
69
|
+
viewState: ViewState;
|
|
70
|
+
refs: Refs;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
type ExtractViewState<A> = A extends JayContract<infer ViewState, any> ? ViewState : never;
|
|
74
|
+
type ExtractRefs<A> = A extends JayContract<any, infer Refs> ? Refs : never;
|
|
75
|
+
|
|
76
|
+
declare module '@jay-framework/runtime' {
|
|
77
|
+
interface BaseJayElement<ViewState> {
|
|
78
|
+
dom: Element;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/** DOM element references **/
|
|
83
|
+
type JayNativeFunction<ElementType extends HTMLElement, ViewState, Result> = (elem: ElementType, viewState: ViewState) => Result;
|
|
84
|
+
interface JayNativeEventBuilder<ViewState, EventData> {
|
|
85
|
+
then(handler: (event: JayEvent<EventData, ViewState>) => void): void;
|
|
86
|
+
}
|
|
87
|
+
interface GlobalJayEvents<ViewState> {
|
|
88
|
+
onabort(handler: JayEventHandler<UIEvent, ViewState, void>): void;
|
|
89
|
+
onabort$<EventData>(handler: JayEventHandler<UIEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
90
|
+
onanimationcancel(handler: JayEventHandler<AnimationEvent, ViewState, void>): void;
|
|
91
|
+
onanimationcancel$<EventData>(handler: JayEventHandler<AnimationEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
92
|
+
onanimationend(handler: JayEventHandler<AnimationEvent, ViewState, void>): void;
|
|
93
|
+
onanimationend$<EventData>(handler: JayEventHandler<AnimationEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
94
|
+
onanimationiteration(handler: JayEventHandler<AnimationEvent, ViewState, void>): void;
|
|
95
|
+
onanimationiteration$<EventData>(handler: JayEventHandler<AnimationEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
96
|
+
onanimationstart(handler: JayEventHandler<AnimationEvent, ViewState, void>): void;
|
|
97
|
+
onanimationstart$<EventData>(handler: JayEventHandler<AnimationEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
98
|
+
onauxclick(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
99
|
+
onauxclick$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
100
|
+
onblur(handler: JayEventHandler<FocusEvent, ViewState, void>): void;
|
|
101
|
+
onblur$<EventData>(handler: JayEventHandler<FocusEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
102
|
+
oncanplay(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
103
|
+
oncanplay$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
104
|
+
oncanplaythrough(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
105
|
+
oncanplaythrough$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
106
|
+
onchange(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
107
|
+
onchange$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
108
|
+
onclick(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
109
|
+
onclick$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
110
|
+
onclose(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
111
|
+
onclose$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
112
|
+
oncontextmenu(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
113
|
+
oncontextmenu$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
114
|
+
oncuechange(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
115
|
+
oncuechange$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
116
|
+
ondblclick(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
117
|
+
ondblclick$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
118
|
+
ondrag(handler: JayEventHandler<DragEvent, ViewState, void>): void;
|
|
119
|
+
ondrag$<EventData>(handler: JayEventHandler<DragEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
120
|
+
ondragend(handler: JayEventHandler<DragEvent, ViewState, void>): void;
|
|
121
|
+
ondragend$<EventData>(handler: JayEventHandler<DragEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
122
|
+
ondragenter(handler: JayEventHandler<DragEvent, ViewState, void>): void;
|
|
123
|
+
ondragenter$<EventData>(handler: JayEventHandler<DragEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
124
|
+
ondragleave(handler: JayEventHandler<DragEvent, ViewState, void>): void;
|
|
125
|
+
ondragleave$<EventData>(handler: JayEventHandler<DragEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
126
|
+
ondragover(handler: JayEventHandler<DragEvent, ViewState, void>): void;
|
|
127
|
+
ondragover$<EventData>(handler: JayEventHandler<DragEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
128
|
+
ondragstart(handler: JayEventHandler<DragEvent, ViewState, void>): void;
|
|
129
|
+
ondragstart$<EventData>(handler: JayEventHandler<DragEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
130
|
+
ondrop(handler: JayEventHandler<DragEvent, ViewState, void>): void;
|
|
131
|
+
ondrop$<EventData>(handler: JayEventHandler<DragEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
132
|
+
ondurationchange(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
133
|
+
ondurationchange$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
134
|
+
onemptied(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
135
|
+
onemptied$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
136
|
+
onended(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
137
|
+
onended$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
138
|
+
onfocus(handler: JayEventHandler<FocusEvent, ViewState, void>): void;
|
|
139
|
+
onfocus$<EventData>(handler: JayEventHandler<FocusEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
140
|
+
onformdata(handler: JayEventHandler<void, ViewState, void>): void;
|
|
141
|
+
onformdata$<EventData>(handler: JayEventHandler<any, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
142
|
+
ongotpointercapture(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
143
|
+
ongotpointercapture$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
144
|
+
oninput(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
145
|
+
oninput$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
146
|
+
oninvalid(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
147
|
+
oninvalid$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
148
|
+
onkeydown(handler: JayEventHandler<KeyboardEvent, ViewState, void>): void;
|
|
149
|
+
onkeydown$<EventData>(handler: JayEventHandler<KeyboardEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
150
|
+
onkeypress(handler: JayEventHandler<KeyboardEvent, ViewState, void>): void;
|
|
151
|
+
onkeypress$<EventData>(handler: JayEventHandler<KeyboardEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
152
|
+
onkeyup(handler: JayEventHandler<KeyboardEvent, ViewState, void>): void;
|
|
153
|
+
onkeyup$<EventData>(handler: JayEventHandler<KeyboardEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
154
|
+
onload(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
155
|
+
onload$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
156
|
+
onloadeddata(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
157
|
+
onloadeddata$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
158
|
+
onloadedmetadata(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
159
|
+
onloadedmetadata$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
160
|
+
onloadstart(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
161
|
+
onloadstart$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
162
|
+
onlostpointercapture(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
163
|
+
onlostpointercapture$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
164
|
+
onmousedown(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
165
|
+
onmousedown$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
166
|
+
onmouseenter(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
167
|
+
onmouseenter$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
168
|
+
onmouseleave(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
169
|
+
onmouseleave$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
170
|
+
onmousemove(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
171
|
+
onmousemove$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
172
|
+
onmouseout(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
173
|
+
onmouseout$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
174
|
+
onmouseover(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
175
|
+
onmouseover$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
176
|
+
onmouseup(handler: JayEventHandler<MouseEvent, ViewState, void>): void;
|
|
177
|
+
onmouseup$<EventData>(handler: JayEventHandler<MouseEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
178
|
+
onpause(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
179
|
+
onpause$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
180
|
+
onplay(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
181
|
+
onplay$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
182
|
+
onplaying(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
183
|
+
onplaying$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
184
|
+
onpointercancel(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
185
|
+
onpointercancel$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
186
|
+
onpointerdown(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
187
|
+
onpointerdown$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
188
|
+
onpointerenter(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
189
|
+
onpointerenter$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
190
|
+
onpointerleave(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
191
|
+
onpointerleave$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
192
|
+
onpointermove(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
193
|
+
onpointermove$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
194
|
+
onpointerout(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
195
|
+
onpointerout$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
196
|
+
onpointerover(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
197
|
+
onpointerover$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
198
|
+
onpointerup(handler: JayEventHandler<PointerEvent, ViewState, void>): void;
|
|
199
|
+
onpointerup$<EventData>(handler: JayEventHandler<PointerEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
200
|
+
onprogress(handler: JayEventHandler<ProgressEvent, ViewState, void>): void;
|
|
201
|
+
onprogress$<EventData>(handler: JayEventHandler<ProgressEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
202
|
+
onratechange(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
203
|
+
onratechange$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
204
|
+
onreset(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
205
|
+
onreset$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
206
|
+
onresize(handler: JayEventHandler<UIEvent, ViewState, void>): void;
|
|
207
|
+
onresize$<EventData>(handler: JayEventHandler<UIEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
208
|
+
onscroll(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
209
|
+
onscroll$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
210
|
+
onseeked(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
211
|
+
onseeked$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
212
|
+
onseeking(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
213
|
+
onseeking$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
214
|
+
onselect(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
215
|
+
onselect$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
216
|
+
onselectionchange(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
217
|
+
onselectionchange$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
218
|
+
onselectstart(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
219
|
+
onselectstart$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
220
|
+
onstalled(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
221
|
+
onstalled$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
222
|
+
onsubmit(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
223
|
+
onsubmit$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
224
|
+
onsuspend(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
225
|
+
onsuspend$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
226
|
+
ontimeupdate(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
227
|
+
ontimeupdate$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
228
|
+
ontoggle(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
229
|
+
ontoggle$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
230
|
+
ontouchcancel(handler: JayEventHandler<TouchEvent, ViewState, void>): void;
|
|
231
|
+
ontouchcancel$<EventData>(handler: JayEventHandler<TouchEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
232
|
+
ontouchend(handler: JayEventHandler<TouchEvent, ViewState, void>): void;
|
|
233
|
+
ontouchend$<EventData>(handler: JayEventHandler<TouchEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
234
|
+
ontouchmove(handler: JayEventHandler<TouchEvent, ViewState, void>): void;
|
|
235
|
+
ontouchmove$<EventData>(handler: JayEventHandler<TouchEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
236
|
+
ontouchstart(handler: JayEventHandler<TouchEvent, ViewState, void>): void;
|
|
237
|
+
ontouchstart$<EventData>(handler: JayEventHandler<TouchEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
238
|
+
ontransitioncancel(handler: JayEventHandler<TransitionEvent, ViewState, void>): void;
|
|
239
|
+
ontransitioncancel$<EventData>(handler: JayEventHandler<TransitionEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
240
|
+
ontransitionend(handler: JayEventHandler<TransitionEvent, ViewState, void>): void;
|
|
241
|
+
ontransitionend$<EventData>(handler: JayEventHandler<TransitionEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
242
|
+
ontransitionrun(handler: JayEventHandler<TransitionEvent, ViewState, void>): void;
|
|
243
|
+
ontransitionrun$<EventData>(handler: JayEventHandler<TransitionEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
244
|
+
ontransitionstart(handler: JayEventHandler<TransitionEvent, ViewState, void>): void;
|
|
245
|
+
ontransitionstart$<EventData>(handler: JayEventHandler<TransitionEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
246
|
+
onvolumechange(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
247
|
+
onvolumechange$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
248
|
+
ontransitionstart(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
249
|
+
ontransitionstart$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
250
|
+
ontransitionstart(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
251
|
+
ontransitionstart$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
252
|
+
ontransitionstart(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
253
|
+
ontransitionstart$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
254
|
+
ontransitionstart(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
255
|
+
ontransitionstart$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
256
|
+
onvolumechange(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
257
|
+
onvolumechange$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
258
|
+
onwaiting(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
259
|
+
onwaiting$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
260
|
+
onwebkitanimationend(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
261
|
+
onwebkitanimationend$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
262
|
+
onwebkitanimationiteration(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
263
|
+
onwebkitanimationiteration$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
264
|
+
onwebkitanimationstart(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
265
|
+
onwebkitanimationstart$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
266
|
+
onwebkittransitionend(handler: JayEventHandler<Event, ViewState, void>): void;
|
|
267
|
+
onwebkittransitionend$<EventData>(handler: JayEventHandler<Event, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
268
|
+
onwheel(handler: JayEventHandler<WheelEvent, ViewState, void>): void;
|
|
269
|
+
onwheel$<EventData>(handler: JayEventHandler<WheelEvent, ViewState, EventData>): JayNativeEventBuilder<ViewState, EventData>;
|
|
270
|
+
}
|
|
271
|
+
interface HTMLElementCollectionProxyTarget<ViewState, ElementType extends HTMLElement> {
|
|
272
|
+
addEventListener<E extends Event>(type: string, handler: JayEventHandler<E, ViewState, any>, options?: boolean | AddEventListenerOptions): any;
|
|
273
|
+
removeEventListener<E extends Event>(type: string, handler: JayEventHandler<E, ViewState, any>, options?: EventListenerOptions | boolean): any;
|
|
274
|
+
find(predicate: (t: ViewState, c: Coordinate) => boolean): HTMLNativeExec<ViewState, ElementType> | undefined;
|
|
275
|
+
map<ResultType>(handler: (element: HTMLNativeExec<ViewState, ElementType>, viewState: ViewState, coordinate: Coordinate) => ResultType): Array<ResultType>;
|
|
276
|
+
}
|
|
277
|
+
interface HTMLElementCollectionProxy<ViewState, ElementType extends HTMLElement> extends GlobalJayEvents<ViewState>, HTMLElementCollectionProxyTarget<ViewState, ElementType> {
|
|
278
|
+
}
|
|
279
|
+
interface HTMLNativeExec<ViewState, ElementType extends HTMLElement> {
|
|
280
|
+
exec$<ResultType>(handler: JayNativeFunction<ElementType, ViewState, ResultType>): Promise<ResultType>;
|
|
281
|
+
}
|
|
282
|
+
interface HTMLElementProxyTarget<ViewState, ElementType extends HTMLElement> extends HTMLNativeExec<ViewState, ElementType> {
|
|
283
|
+
addEventListener<E extends Event>(type: string, handler: JayEventHandler<E, ViewState, any>, options?: boolean | AddEventListenerOptions): any;
|
|
284
|
+
removeEventListener<E extends Event>(type: string, handler: JayEventHandler<E, ViewState, any>, options?: EventListenerOptions | boolean): any;
|
|
285
|
+
}
|
|
286
|
+
interface HTMLElementProxy<ViewState, ElementType extends HTMLElement> extends GlobalJayEvents<ViewState>, HTMLElementProxyTarget<ViewState, ElementType> {
|
|
287
|
+
}
|
|
288
|
+
/** Components references **/
|
|
289
|
+
interface EventEmitter<EventType, ViewState> {
|
|
290
|
+
(handler: JayEventHandler<EventType, ViewState, void>): void;
|
|
291
|
+
emit: (event?: EventType) => void;
|
|
292
|
+
}
|
|
293
|
+
type EventTypeFrom<Type> = Type extends EventEmitter<infer X, any> ? X : null;
|
|
294
|
+
type MapEventEmitterViewState<ParentViewState, ComponentType> = {
|
|
295
|
+
[key in keyof ComponentType]: ComponentType[key] extends EventEmitter<infer T, any> ? EventEmitter<T, ParentViewState> : ComponentType[key];
|
|
296
|
+
};
|
|
297
|
+
type OnlyEventEmitters<ComponentType> = {
|
|
298
|
+
[key in keyof ComponentType as ComponentType[key] extends EventEmitter<any, any> ? key : never]: ComponentType[key];
|
|
299
|
+
};
|
|
300
|
+
interface ComponentProxy<ViewState, ComponentType extends JayComponent<any, ViewState, any>> {
|
|
301
|
+
addEventListener(type: string, handler: JayEventHandler<any, ViewState, void>, options?: boolean | AddEventListenerOptions): void;
|
|
302
|
+
removeEventListener(type: string, handler: JayEventHandler<any, ViewState, void>, options?: EventListenerOptions | boolean): void;
|
|
303
|
+
}
|
|
304
|
+
interface ComponentCollectionProxy<ViewState, ComponentType extends JayComponent<any, any, any>> {
|
|
305
|
+
addEventListener(type: string, handler: JayEventHandler<any, ViewState, void>, options?: boolean | AddEventListenerOptions): void;
|
|
306
|
+
removeEventListener(type: string, handler: JayEventHandler<any, ViewState, void>, options?: EventListenerOptions | boolean): void;
|
|
307
|
+
map<ResultType>(handler: (comp: ComponentType, viewState: ViewState, coordinate: Coordinate) => ResultType): Array<ResultType>;
|
|
308
|
+
find(predicate: (t: ViewState) => boolean): ComponentType | undefined;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
interface ManagedRefs {
|
|
312
|
+
getPublicAPI(): any;
|
|
313
|
+
mkManagedRef(currData: any, strings: Coordinate, eventWrapper: JayEventHandlerWrapper<any, any, any>): any;
|
|
314
|
+
}
|
|
315
|
+
declare function defaultEventWrapper<EventType, ViewState, Returns>(orig: JayEventHandler<EventType, ViewState, Returns>, event: JayEvent<EventType, ViewState>): Returns;
|
|
316
|
+
type ManagedRefConstructor = () => ManagedRefs;
|
|
317
|
+
type PrivateRefConstructor<ViewState> = () => PrivateRef<ViewState, any>;
|
|
318
|
+
declare enum ManagedRefType {
|
|
319
|
+
element = 0,
|
|
320
|
+
elementCollection = 1,
|
|
321
|
+
component = 2,
|
|
322
|
+
componentCollection = 3
|
|
323
|
+
}
|
|
324
|
+
declare abstract class BaseReferencesManager {
|
|
325
|
+
readonly eventWrapper: JayEventHandlerWrapper<any, any, any>;
|
|
326
|
+
private refs;
|
|
327
|
+
private refsPublicAPI;
|
|
328
|
+
constructor(eventWrapper?: JayEventHandlerWrapper<any, any, any>);
|
|
329
|
+
abstract mkManagedRef(refType: ManagedRefType, refName: string): ManagedRefs;
|
|
330
|
+
abstract currentContext(): {
|
|
331
|
+
currData: any;
|
|
332
|
+
coordinate: (refName: string) => Coordinate;
|
|
333
|
+
};
|
|
334
|
+
private mkRefsOfType;
|
|
335
|
+
mkRefs<ViewState>(elem: string[], elemCollection: string[], comp: string[], compCollection: string[], childRefManagers?: Record<string, BaseReferencesManager>): PrivateRefConstructor<ViewState>[];
|
|
336
|
+
private mkRefsPublicAPI;
|
|
337
|
+
get(refName: string): ManagedRefs | BaseReferencesManager;
|
|
338
|
+
getPublicAPI(): object;
|
|
339
|
+
applyToElement<T, Refs>(element: BaseJayElement<T>): JayElement<T, Refs>;
|
|
340
|
+
}
|
|
341
|
+
declare class ReferencesManager extends BaseReferencesManager {
|
|
342
|
+
mkManagedRef(refType: ManagedRefType): ManagedRefs;
|
|
343
|
+
currentContext(): {
|
|
344
|
+
currData: any;
|
|
345
|
+
coordinate: (refName: string) => Coordinate;
|
|
346
|
+
};
|
|
347
|
+
static for(options: RenderElementOptions, elem: string[], elemCollection: string[], comp: string[], compCollection: string[], childRefManagers?: Record<string, ReferencesManager>): [ReferencesManager, PrivateRefConstructor<any>[]];
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
type ReferenceTarget<ViewState> = Element | JayComponent<any, ViewState, any>;
|
|
351
|
+
interface PrivateRef<ViewState, PublicRefAPI> {
|
|
352
|
+
update: updateFunc<ViewState>;
|
|
353
|
+
mount: MountFunc;
|
|
354
|
+
unmount: MountFunc;
|
|
355
|
+
viewState: ViewState;
|
|
356
|
+
coordinate: Coordinate;
|
|
357
|
+
getPublicAPI(): PublicRefAPI;
|
|
358
|
+
set(referenced: ReferenceTarget<ViewState>): void;
|
|
359
|
+
addEventListener<E extends Event>(type: string, handler: JayEventHandler<E, ViewState, any>, options?: boolean | AddEventListenerOptions): void;
|
|
360
|
+
removeEventListener<E extends Event>(type: string, handler: JayEventHandler<E, ViewState, any>, options?: EventListenerOptions | boolean): void;
|
|
361
|
+
}
|
|
362
|
+
declare abstract class PrivateRefs<ViewState, PublicRefAPI, RefType extends PrivateRef<ViewState, PublicRefAPI>> {
|
|
363
|
+
protected elements: Set<RefType>;
|
|
364
|
+
private listeners;
|
|
365
|
+
addEventListener<E extends Event>(type: string, listener: JayEventHandler<E, ViewState, any>, options?: boolean | AddEventListenerOptions): void;
|
|
366
|
+
addRef(ref: RefType): void;
|
|
367
|
+
removeRef(ref: RefType): void;
|
|
368
|
+
removeEventListener<E extends Event>(type: string, listener: JayEventHandler<E, ViewState, any>, options?: EventListenerOptions | boolean): void;
|
|
369
|
+
}
|
|
370
|
+
declare abstract class PrivateCollectionRefs<ViewState, PublicRefAPI, PublicCollectionRefAPI, RefType extends PrivateRef<ViewState, PublicRefAPI>> extends PrivateRefs<ViewState, PublicRefAPI, RefType> {
|
|
371
|
+
map<ResultType>(handler: (referenced: PublicRefAPI, viewState: ViewState, coordinate: Coordinate) => ResultType): Array<ResultType>;
|
|
372
|
+
find(predicate: (viewState: ViewState, c: Coordinate) => boolean): PublicRefAPI;
|
|
373
|
+
abstract getPublicAPI(): PublicCollectionRefAPI;
|
|
374
|
+
}
|
|
375
|
+
declare class ComponentRefsImpl<ViewState, ComponentType extends JayComponent<any, ViewState, any>> extends PrivateRefs<ViewState, ComponentType, ComponentRefImpl<ViewState, ComponentType>> implements ManagedRefs {
|
|
376
|
+
getInstance(): ComponentType;
|
|
377
|
+
mkManagedRef(currData: any, coordinate: Coordinate, eventWrapper: JayEventHandlerWrapper<any, any, any>): ComponentRefImpl<ViewState, ComponentType>;
|
|
378
|
+
getPublicAPI(): ComponentType;
|
|
379
|
+
}
|
|
380
|
+
declare class ComponentCollectionRefImpl<ViewState, ComponentType extends JayComponent<any, ViewState, any>> extends PrivateCollectionRefs<ViewState, ComponentType, ComponentCollectionProxy<ViewState, ComponentType>, ComponentRefImpl<ViewState, ComponentType>> implements ManagedRefs {
|
|
381
|
+
mkManagedRef(currData: any, coordinate: Coordinate, eventWrapper: JayEventHandlerWrapper<any, any, any>): ComponentRefImpl<ViewState, ComponentType>;
|
|
382
|
+
getPublicAPI(): ComponentCollectionProxy<ViewState, ComponentType>;
|
|
383
|
+
}
|
|
384
|
+
declare abstract class RefImpl<ViewState, ElementType extends ReferenceTarget<ViewState>, PublicRefAPI, RefType extends PrivateRef<ViewState, PublicRefAPI>> implements PrivateRef<ViewState, PublicRefAPI> {
|
|
385
|
+
viewState: ViewState;
|
|
386
|
+
coordinate: Coordinate;
|
|
387
|
+
private eventWrapper;
|
|
388
|
+
private parentCollection?;
|
|
389
|
+
private listeners;
|
|
390
|
+
protected element: ElementType;
|
|
391
|
+
constructor(viewState: ViewState, coordinate: Coordinate, eventWrapper: JayEventHandlerWrapper<any, ViewState, any>, parentCollection?: PrivateRefs<ViewState, PublicRefAPI, RefType>);
|
|
392
|
+
abstract getPublicAPI(): PublicRefAPI;
|
|
393
|
+
set(referenced: ElementType | JayComponent<any, ViewState, any>): void;
|
|
394
|
+
mount: () => void;
|
|
395
|
+
unmount: () => void;
|
|
396
|
+
abstract formatEvent(event: any): JayEvent<any, ViewState>;
|
|
397
|
+
addEventListener<E extends Event>(type: string, listener: JayEventHandler<E, ViewState, any>, options?: boolean | AddEventListenerOptions): void;
|
|
398
|
+
removeEventListener<E extends Event>(type: string, listener: JayEventHandler<E, ViewState, any>, options?: EventListenerOptions | boolean): void;
|
|
399
|
+
update: (newData: ViewState) => void;
|
|
400
|
+
}
|
|
401
|
+
declare class ComponentRefImpl<ViewState, ComponentType extends JayComponent<any, ViewState, any>> extends RefImpl<ViewState, ComponentType, ComponentType, ComponentRefImpl<ViewState, ComponentType>> {
|
|
402
|
+
getFromComponent(prop: any): any;
|
|
403
|
+
formatEvent(event: any): JayEvent<any, ViewState>;
|
|
404
|
+
getPublicAPI(): ComponentType;
|
|
405
|
+
}
|
|
406
|
+
declare const EVENT_TRAP: (target: any, prop: any) => any;
|
|
407
|
+
declare const GetTrapProxy: (getTraps: ((target: any, p: string | symbol, receiver: any) => any)[]) => {
|
|
408
|
+
get: (target: any, prop: any, receiver: any) => any;
|
|
409
|
+
};
|
|
410
|
+
|
|
411
|
+
declare function childComp<ParentVS, Props, ChildT, ChildElement extends BaseJayElement<ChildT>, ChildComp extends JayComponent<Props, ChildT, ChildElement>>(compCreator: JayComponentConstructor<Props>, getProps: (t: ParentVS) => Props, ref?: PrivateRef<ParentVS, ChildComp>): BaseJayElement<ParentVS>;
|
|
412
|
+
interface TextElement<ViewState> {
|
|
413
|
+
dom: Text;
|
|
414
|
+
update: updateFunc<ViewState>;
|
|
415
|
+
mount: MountFunc;
|
|
416
|
+
unmount: MountFunc;
|
|
417
|
+
}
|
|
418
|
+
declare const PROPERTY = 1;
|
|
419
|
+
declare const ATTRIBUTE = 2;
|
|
420
|
+
declare const BOOLEAN_ATTRIBUTE = 3;
|
|
421
|
+
type AttributeStyle = typeof PROPERTY | typeof ATTRIBUTE | typeof BOOLEAN_ATTRIBUTE;
|
|
422
|
+
interface DynamicAttributeOrProperty<ViewState, S> {
|
|
423
|
+
valueFunc: (data: ViewState) => S;
|
|
424
|
+
style: AttributeStyle;
|
|
425
|
+
}
|
|
426
|
+
declare function dynamicAttribute<ViewState>(attributeValue: (data: ViewState) => string): DynamicAttributeOrProperty<ViewState, string>;
|
|
427
|
+
declare function dynamicProperty<ViewState, S>(propertyValue: (data: ViewState) => S): DynamicAttributeOrProperty<ViewState, S>;
|
|
428
|
+
declare function booleanAttribute<ViewState, S>(propertyValue: (data: ViewState) => S): DynamicAttributeOrProperty<ViewState, S>;
|
|
429
|
+
type Attribute<ViewState, S> = string | DynamicAttributeOrProperty<ViewState, S> | Record<string, string | DynamicAttributeOrProperty<ViewState, S>>;
|
|
430
|
+
type Attributes<ViewState> = Record<string, Attribute<ViewState, any>>;
|
|
431
|
+
declare function conditional<ViewState>(condition: (newData: ViewState) => boolean, elem: () => BaseJayElement<ViewState> | TextElement<ViewState> | string): Conditional<ViewState>;
|
|
432
|
+
interface Conditional<ViewState> {
|
|
433
|
+
condition: (newData: ViewState) => boolean;
|
|
434
|
+
elem: () => BaseJayElement<ViewState> | TextElement<ViewState>;
|
|
435
|
+
}
|
|
436
|
+
declare function isCondition<ViewState>(c: Conditional<ViewState> | ForEach<ViewState, any> | TextElement<ViewState> | BaseJayElement<ViewState>): c is Conditional<ViewState>;
|
|
437
|
+
declare function isForEach<ViewState, Item>(c: Conditional<ViewState> | ForEach<ViewState, Item> | TextElement<ViewState> | BaseJayElement<ViewState>): c is ForEach<ViewState, Item>;
|
|
438
|
+
declare function forEach<T, Item>(getItems: (T: any) => Array<Item>, elemCreator: (Item: any) => BaseJayElement<Item>, matchBy: string): ForEach<T, Item>;
|
|
439
|
+
interface ForEach<ViewState, Item> {
|
|
440
|
+
getItems: (T: any) => Array<Item>;
|
|
441
|
+
elemCreator: (Item: any, String: any) => BaseJayElement<Item>;
|
|
442
|
+
trackBy: string;
|
|
443
|
+
}
|
|
444
|
+
declare function mkUpdateCollection<ViewState, Item>(child: ForEach<ViewState, Item>, group: KindergartenGroup): [updateFunc<ViewState>, MountFunc, MountFunc];
|
|
445
|
+
declare function dynamicText<ViewState>(textContent: (vs: ViewState) => string | number | boolean): TextElement<ViewState>;
|
|
446
|
+
type ElementChildren<ViewState> = Array<BaseJayElement<ViewState> | TextElement<ViewState> | string>;
|
|
447
|
+
declare const element: <ViewState>(tagName: string, attributes: Attributes<ViewState>, children?: ElementChildren<ViewState>, ref?: PrivateRef<ViewState, BaseJayElement<ViewState>>) => BaseJayElement<ViewState>;
|
|
448
|
+
declare const svgElement: <ViewState>(tagName: string, attributes: Attributes<ViewState>, children?: ElementChildren<ViewState>, ref?: PrivateRef<ViewState, BaseJayElement<ViewState>>) => BaseJayElement<ViewState>;
|
|
449
|
+
declare const mathMLElement: <ViewState>(tagName: string, attributes: Attributes<ViewState>, children?: ElementChildren<ViewState>, ref?: PrivateRef<ViewState, BaseJayElement<ViewState>>) => BaseJayElement<ViewState>;
|
|
450
|
+
type DynamicElementChildren<ViewState> = Array<Conditional<ViewState> | ForEach<ViewState, any> | TextElement<ViewState> | BaseJayElement<ViewState> | string>;
|
|
451
|
+
declare const dynamicElementNS: (ns: string) => <ViewState>(tagName: string, attributes: Attributes<ViewState>, children?: DynamicElementChildren<ViewState>, ref?: PrivateRef<ViewState, BaseJayElement<ViewState>>) => BaseJayElement<ViewState>;
|
|
452
|
+
declare const dynamicElement: <ViewState>(tagName: string, attributes: Attributes<ViewState>, children?: DynamicElementChildren<ViewState>, ref?: PrivateRef<ViewState, BaseJayElement<ViewState>>) => BaseJayElement<ViewState>;
|
|
453
|
+
declare const svgDynamicElement: <ViewState>(tagName: string, attributes: Attributes<ViewState>, children?: DynamicElementChildren<ViewState>, ref?: PrivateRef<ViewState, BaseJayElement<ViewState>>) => BaseJayElement<ViewState>;
|
|
454
|
+
declare const mathMLDynamicElement: <ViewState>(tagName: string, attributes: Attributes<ViewState>, children?: DynamicElementChildren<ViewState>, ref?: PrivateRef<ViewState, BaseJayElement<ViewState>>) => BaseJayElement<ViewState>;
|
|
455
|
+
declare function normalizeUpdates<ViewState>(updates: Array<updateFunc<ViewState>>): updateFunc<ViewState>;
|
|
456
|
+
declare function normalizeMount(mounts: Array<MountFunc>): MountFunc;
|
|
457
|
+
|
|
458
|
+
interface ContextStack<ContextType> {
|
|
459
|
+
context: ContextType;
|
|
460
|
+
marker: ContextMarker<ContextType>;
|
|
461
|
+
parent?: ContextStack<any>;
|
|
462
|
+
}
|
|
463
|
+
declare function createJayContext<ContextType = unknown>(): ContextMarker<ContextType>;
|
|
464
|
+
declare function withContext<ContextType, Returns>(marker: ContextMarker<ContextType>, context: ContextType, callback: () => Returns): Returns;
|
|
465
|
+
declare function useContext<ContextType>(marker: ContextMarker<ContextType>): ContextType;
|
|
466
|
+
declare function findContext<ContextType>(predicate: (marker: ContextMarker<ContextType>) => boolean): ContextType | undefined;
|
|
467
|
+
declare function saveContext(): ContextStack<any>;
|
|
468
|
+
declare function restoreContext<Returns>(savedContext: ContextStack<any>, callback: () => Returns): Returns;
|
|
469
|
+
declare function currentConstructionContext(): ConstructContext<any>;
|
|
470
|
+
declare class ConstructContext<ViewState> {
|
|
471
|
+
private readonly data;
|
|
472
|
+
readonly forStaticElements: boolean;
|
|
473
|
+
private readonly coordinateBase;
|
|
474
|
+
constructor(data: ViewState, forStaticElements?: boolean, coordinateBase?: Coordinate);
|
|
475
|
+
get currData(): ViewState;
|
|
476
|
+
coordinate: (refName: string) => Coordinate;
|
|
477
|
+
forItem<ChildViewState>(childViewState: ChildViewState, id: string): ConstructContext<ChildViewState>;
|
|
478
|
+
static withRootContext<ViewState, Refs>(viewState: ViewState, refManager: ReferencesManager, elementConstructor: () => BaseJayElement<ViewState>): JayElement<ViewState, Refs>;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
export { type Attribute, type Attributes, type BaseJayElement, BaseReferencesManager, type ComponentCollectionProxy, ComponentCollectionRefImpl, type ComponentProxy, ComponentRefImpl, ComponentRefsImpl, type Conditional, ConstructContext, type ContextMarker, type Coordinate, type DynamicAttributeOrProperty, EVENT_TRAP, type ElementFrom, type EventEmitter, type EventTypeFrom, type ExtractRefs, type ExtractViewState, type ForEach, GetTrapProxy, type GlobalJayEvents, type HTMLElementCollectionProxy, type HTMLElementCollectionProxyTarget, type HTMLElementProxy, type HTMLElementProxyTarget, type HTMLNativeExec, type JayComponent, type JayComponentConstructor, type JayContract, type JayElement, type JayEvent, type JayEventHandler, type JayEventHandlerWrapper, type JayNativeEventBuilder, type JayNativeFunction, type ManagedRefConstructor, ManagedRefType, type ManagedRefs, type MapEventEmitterViewState, type MountFunc, type OnlyEventEmitters, type PreRenderElement, type PrivateRef, type PrivateRefConstructor, PrivateRefs, type PropsFrom, ReferencesManager, type RenderElement, type RenderElementOptions, type TextElement, type ViewStateFrom, booleanAttribute, childComp, conditional, createJayContext, currentConstructionContext, defaultEventWrapper, dynamicAttribute, dynamicElement, dynamicElementNS, dynamicProperty, dynamicText, element, findContext, forEach, isCondition, isForEach, mathMLDynamicElement, mathMLElement, mkUpdateCollection, noopMount, noopUpdate, normalizeMount, normalizeUpdates, restoreContext, saveContext, svgDynamicElement, svgElement, type updateFunc, useContext, withContext };
|