@zeus-js/runtime-dom 0.1.0 → 0.1.1-beta.1
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/runtime-dom.cjs +315 -1433
- package/dist/runtime-dom.d.ts +13 -8
- package/dist/runtime-dom.esm-browser.js +410 -125
- package/dist/runtime-dom.esm-browser.prod.js +1 -1
- package/dist/runtime-dom.esm-bundler.js +304 -1422
- package/dist/runtime-dom.global.js +410 -125
- package/dist/runtime-dom.global.prod.js +1 -1
- package/dist/runtime-dom.prod.cjs +315 -1370
- package/package.json +2 -2
package/dist/runtime-dom.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Accessor } from '@zeus-js/signal';
|
|
2
|
+
|
|
1
3
|
type JSXPrimitive = string | number | boolean | null | undefined;
|
|
2
4
|
export type JSXValue = JSXPrimitive | Node | JSXValue[];
|
|
3
5
|
export type JSXGetter = () => JSXValue;
|
|
@@ -12,7 +14,7 @@ export type RefTarget<T> = ((value: T | null) => void) | {
|
|
|
12
14
|
current: T | null;
|
|
13
15
|
};
|
|
14
16
|
|
|
15
|
-
export declare function template<T extends Node = Node>(html: string, _isImportNode?: boolean,
|
|
17
|
+
export declare function template<T extends Node = Node>(html: string, _isImportNode?: boolean, isSVG?: boolean, _isMathML?: boolean): TemplateFactory<T>;
|
|
16
18
|
|
|
17
19
|
export type ContextId = symbol;
|
|
18
20
|
export interface Context<T = unknown> {
|
|
@@ -104,14 +106,14 @@ export declare function marker(parent: ParentNode, index: number): Comment;
|
|
|
104
106
|
export declare function child(parent: ParentNode, index: number): ChildNode;
|
|
105
107
|
export declare function removeNodes(nodes: readonly Node[]): void;
|
|
106
108
|
|
|
107
|
-
export declare function bindText(node: Text, value: () => JSXValue): void;
|
|
108
|
-
export declare function bindTextContent(el: Node, value: () => JSXValue): void;
|
|
109
|
+
export declare function bindText(node: Text, value: () => JSXValue, once?: boolean): void;
|
|
110
|
+
export declare function bindTextContent(el: Node, value: () => JSXValue, once?: boolean): void;
|
|
109
111
|
export declare function setAttr(el: Element, name: string, value: AttrValue): void;
|
|
110
|
-
export declare function bindAttr(el: Element, name: string, value: () => AttrValue): void;
|
|
111
|
-
export declare function bindProp<T extends Element, K extends keyof T>(el: T, name: K, value: () => T[K]): void;
|
|
112
|
-
export declare function bindClass(el: Element, value: () => ClassValue): void;
|
|
112
|
+
export declare function bindAttr(el: Element, name: string, value: () => AttrValue, once?: boolean): void;
|
|
113
|
+
export declare function bindProp<T extends Element, K extends keyof T>(el: T, name: K, value: () => T[K], once?: boolean): void;
|
|
114
|
+
export declare function bindClass(el: Element, value: () => ClassValue, once?: boolean): void;
|
|
113
115
|
export declare function normalizeClass(value: ClassValue): string;
|
|
114
|
-
export declare function bindStyle(el: HTMLElement | SVGElement, value: () => StyleValue): void;
|
|
116
|
+
export declare function bindStyle(el: HTMLElement | SVGElement, value: () => StyleValue, once?: boolean): void;
|
|
115
117
|
|
|
116
118
|
export declare function bindEvent(el: Element, name: string, handler: EventListener): void;
|
|
117
119
|
export declare function delegateEvents(events: readonly string[]): void;
|
|
@@ -135,7 +137,7 @@ export type ForProps<T, K = unknown> = {
|
|
|
135
137
|
children: (item: T, index: number) => JSXValue;
|
|
136
138
|
};
|
|
137
139
|
export declare function For<T, K = unknown>(props: ForProps<T, K>): JSXValue;
|
|
138
|
-
export declare function mountFor<T, K = unknown>(parent: Node, marker: Node, each: () => readonly T[] | null | undefined, key: ((item: T, index: number) => K) | undefined, render: (item: T
|
|
140
|
+
export declare function mountFor<T, K = unknown>(parent: Node, marker: Node, each: () => readonly T[] | null | undefined, key: ((item: T, index: number) => K) | undefined, render: (item: Accessor<T>, index: Accessor<number>) => JSXValue): void;
|
|
139
141
|
|
|
140
142
|
export type CustomElementPropType = 'string' | 'number' | 'boolean' | 'object' | 'array' | 'function' | 'unknown';
|
|
141
143
|
export interface CustomElementPropSchema {
|
|
@@ -168,10 +170,12 @@ export type PropSerializer<T = unknown> = {
|
|
|
168
170
|
export type PropDeserializer<T = unknown> = {
|
|
169
171
|
bivarianceHack(value: string | null): T | undefined;
|
|
170
172
|
}['bivarianceHack'];
|
|
173
|
+
export type PropReactivity = 'deep' | 'shallow';
|
|
171
174
|
export interface PropDefinitionOptions<T = unknown> {
|
|
172
175
|
type?: ElementPropConstructor;
|
|
173
176
|
attr?: string | false;
|
|
174
177
|
reflect?: boolean;
|
|
178
|
+
reactivity?: PropReactivity;
|
|
175
179
|
default?: T | (() => T);
|
|
176
180
|
values?: readonly T[];
|
|
177
181
|
serialize?(value: T | undefined): string | null | undefined;
|
|
@@ -276,6 +280,7 @@ export type DefineElementSetup<P extends object, E extends HTMLElement = HTMLEle
|
|
|
276
280
|
export type NormalizedPropDefinition = CustomElementPropSchema & {
|
|
277
281
|
attrName: string | false;
|
|
278
282
|
reflect: boolean;
|
|
283
|
+
reactivity: PropReactivity;
|
|
279
284
|
default?: unknown;
|
|
280
285
|
serialize?: (value: unknown) => string | null | undefined;
|
|
281
286
|
deserialize?: (value: string | null) => unknown;
|