glass-easel 0.1.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/README.md +40 -0
- package/dist/glass_easel.all.d.ts +1 -0
- package/dist/glass_easel.all.js +2 -0
- package/dist/glass_easel.all.js.map +1 -0
- package/dist/glass_easel.domlike.global.d.ts +1 -0
- package/dist/glass_easel.domlike.global.js +2 -0
- package/dist/glass_easel.domlike.global.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/types/src/backend/backend_protocol.d.ts +119 -0
- package/dist/types/src/backend/backend_protocol.d.ts.map +1 -0
- package/dist/types/src/backend/composed_backend_protocol.d.ts +90 -0
- package/dist/types/src/backend/composed_backend_protocol.d.ts.map +1 -0
- package/dist/types/src/backend/domlike_backend_protocol.d.ts +76 -0
- package/dist/types/src/backend/domlike_backend_protocol.d.ts.map +1 -0
- package/dist/types/src/backend/mode.d.ts +46 -0
- package/dist/types/src/backend/mode.d.ts.map +1 -0
- package/dist/types/src/backend/suggested_backend_protocol.d.ts +30 -0
- package/dist/types/src/backend/suggested_backend_protocol.d.ts.map +1 -0
- package/dist/types/src/behavior.d.ts +428 -0
- package/dist/types/src/behavior.d.ts.map +1 -0
- package/dist/types/src/class_list.d.ts +79 -0
- package/dist/types/src/class_list.d.ts.map +1 -0
- package/dist/types/src/component.d.ts +291 -0
- package/dist/types/src/component.d.ts.map +1 -0
- package/dist/types/src/component_params.d.ts +239 -0
- package/dist/types/src/component_params.d.ts.map +1 -0
- package/dist/types/src/component_space.d.ts +164 -0
- package/dist/types/src/component_space.d.ts.map +1 -0
- package/dist/types/src/data_path.d.ts +5 -0
- package/dist/types/src/data_path.d.ts.map +1 -0
- package/dist/types/src/data_proxy.d.ts +107 -0
- package/dist/types/src/data_proxy.d.ts.map +1 -0
- package/dist/types/src/data_utils.d.ts +3 -0
- package/dist/types/src/data_utils.d.ts.map +1 -0
- package/dist/types/src/element.d.ts +275 -0
- package/dist/types/src/element.d.ts.map +1 -0
- package/dist/types/src/element_iterator.d.ts +43 -0
- package/dist/types/src/element_iterator.d.ts.map +1 -0
- package/dist/types/src/event.d.ts +104 -0
- package/dist/types/src/event.d.ts.map +1 -0
- package/dist/types/src/external_shadow_tree.d.ts +20 -0
- package/dist/types/src/external_shadow_tree.d.ts.map +1 -0
- package/dist/types/src/func_arr.d.ts +39 -0
- package/dist/types/src/func_arr.d.ts.map +1 -0
- package/dist/types/src/global_options.d.ts +111 -0
- package/dist/types/src/global_options.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +43 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/mutation_observer.d.ts +79 -0
- package/dist/types/src/mutation_observer.d.ts.map +1 -0
- package/dist/types/src/native_node.d.ts +8 -0
- package/dist/types/src/native_node.d.ts.map +1 -0
- package/dist/types/src/node.d.ts +49 -0
- package/dist/types/src/node.d.ts.map +1 -0
- package/dist/types/src/relation.d.ts +47 -0
- package/dist/types/src/relation.d.ts.map +1 -0
- package/dist/types/src/render.d.ts +3 -0
- package/dist/types/src/render.d.ts.map +1 -0
- package/dist/types/src/selector.d.ts +32 -0
- package/dist/types/src/selector.d.ts.map +1 -0
- package/dist/types/src/shadow_root.d.ts +136 -0
- package/dist/types/src/shadow_root.d.ts.map +1 -0
- package/dist/types/src/template_engine.d.ts +18 -0
- package/dist/types/src/template_engine.d.ts.map +1 -0
- package/dist/types/src/text_node.d.ts +32 -0
- package/dist/types/src/text_node.d.ts.map +1 -0
- package/dist/types/src/tmpl/index.d.ts +18 -0
- package/dist/types/src/tmpl/index.d.ts.map +1 -0
- package/dist/types/src/tmpl/native_rendering.d.ts +45 -0
- package/dist/types/src/tmpl/native_rendering.d.ts.map +1 -0
- package/dist/types/src/tmpl/proc_gen_wrapper.d.ts +80 -0
- package/dist/types/src/tmpl/proc_gen_wrapper.d.ts.map +1 -0
- package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts +50 -0
- package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts.map +1 -0
- package/dist/types/src/tmpl/range_list_diff.d.ts +19 -0
- package/dist/types/src/tmpl/range_list_diff.d.ts.map +1 -0
- package/dist/types/src/trait_behaviors.d.ts +38 -0
- package/dist/types/src/trait_behaviors.d.ts.map +1 -0
- package/dist/types/src/virtual_node.d.ts +10 -0
- package/dist/types/src/virtual_node.d.ts.map +1 -0
- package/dist/types/tests/backend/domlike.test.d.ts +2 -0
- package/dist/types/tests/backend/domlike.test.d.ts.map +1 -0
- package/dist/types/tests/base/env.d.ts +29 -0
- package/dist/types/tests/base/env.d.ts.map +1 -0
- package/dist/types/tests/base/match.d.ts +9 -0
- package/dist/types/tests/base/match.d.ts.map +1 -0
- package/dist/types/tests/core/backend.test.d.ts +2 -0
- package/dist/types/tests/core/backend.test.d.ts.map +1 -0
- package/dist/types/tests/core/behavior.test.d.ts +2 -0
- package/dist/types/tests/core/behavior.test.d.ts.map +1 -0
- package/dist/types/tests/core/component_space.test.d.ts +2 -0
- package/dist/types/tests/core/component_space.test.d.ts.map +1 -0
- package/dist/types/tests/core/data_update.test.d.ts +2 -0
- package/dist/types/tests/core/data_update.test.d.ts.map +1 -0
- package/dist/types/tests/core/misc.test.d.ts +2 -0
- package/dist/types/tests/core/misc.test.d.ts.map +1 -0
- package/dist/types/tests/core/placeholder.test.d.ts +2 -0
- package/dist/types/tests/core/placeholder.test.d.ts.map +1 -0
- package/dist/types/tests/core/slot.test.d.ts +2 -0
- package/dist/types/tests/core/slot.test.d.ts.map +1 -0
- package/dist/types/tests/core/trait_behaviors.test.d.ts +2 -0
- package/dist/types/tests/core/trait_behaviors.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/binding_map.test.d.ts +2 -0
- package/dist/types/tests/tmpl/binding_map.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/event.test.d.ts +2 -0
- package/dist/types/tests/tmpl/event.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/expression.test.d.ts +2 -0
- package/dist/types/tests/tmpl/expression.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/lvalue.test.d.ts +2 -0
- package/dist/types/tests/tmpl/lvalue.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/native_rendering.test.d.ts +2 -0
- package/dist/types/tests/tmpl/native_rendering.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/structure.test.d.ts +2 -0
- package/dist/types/tests/tmpl/structure.test.d.ts.map +1 -0
- package/dist/types/tests/types/chaining.test.d.ts +2 -0
- package/dist/types/tests/types/chaining.test.d.ts.map +1 -0
- package/dist/types/tests/types/createElement.test.d.ts +2 -0
- package/dist/types/tests/types/createElement.test.d.ts.map +1 -0
- package/dist/types/tests/types/definition.test.d.ts +2 -0
- package/dist/types/tests/types/definition.test.d.ts.map +1 -0
- package/guide/zh_CN/advanced/binding_map_update.md +32 -0
- package/guide/zh_CN/advanced/build_args.md +28 -0
- package/guide/zh_CN/advanced/component_filter.md +70 -0
- package/guide/zh_CN/advanced/component_space.md +124 -0
- package/guide/zh_CN/advanced/custom_backend.md +53 -0
- package/guide/zh_CN/advanced/error_listener.md +32 -0
- package/guide/zh_CN/advanced/external_component.md +73 -0
- package/guide/zh_CN/advanced/template_engine.md +61 -0
- package/guide/zh_CN/appendix/backend_protocol.md +501 -0
- package/guide/zh_CN/appendix/list_diff_algorithm.md +406 -0
- package/guide/zh_CN/basic/beginning.md +94 -0
- package/guide/zh_CN/basic/component.md +156 -0
- package/guide/zh_CN/basic/event.md +169 -0
- package/guide/zh_CN/basic/lifetime.md +66 -0
- package/guide/zh_CN/basic/method.md +62 -0
- package/guide/zh_CN/basic/template.md +135 -0
- package/guide/zh_CN/data_management/advanced_update.md +170 -0
- package/guide/zh_CN/data_management/data_deep_copy.md +157 -0
- package/guide/zh_CN/data_management/data_observer.md +154 -0
- package/guide/zh_CN/data_management/property_early_init.md +31 -0
- package/guide/zh_CN/data_management/pure_data_pattern.md +21 -0
- package/guide/zh_CN/index.md +93 -0
- package/guide/zh_CN/interaction/behavior.md +52 -0
- package/guide/zh_CN/interaction/component_path.md +37 -0
- package/guide/zh_CN/interaction/generic.md +73 -0
- package/guide/zh_CN/interaction/placeholder.md +40 -0
- package/guide/zh_CN/interaction/relation.md +151 -0
- package/guide/zh_CN/interaction/slot.md +137 -0
- package/guide/zh_CN/interaction/template_import.md +94 -0
- package/guide/zh_CN/interaction/trait_behavior.md +117 -0
- package/guide/zh_CN/styling/external_class.md +46 -0
- package/guide/zh_CN/styling/style_isolation.md +54 -0
- package/guide/zh_CN/styling/virtual_host.md +52 -0
- package/guide/zh_CN/tree/element_iterator.md +54 -0
- package/guide/zh_CN/tree/mutation_observer.md +52 -0
- package/guide/zh_CN/tree/node_tree.md +142 -0
- package/guide/zh_CN/tree/node_tree_modification.md +78 -0
- package/guide/zh_CN/tree/selector.md +66 -0
- package/jest.config.js +6 -0
- package/jest.dts.config.js +9 -0
- package/jest.unit.config.js +14 -0
- package/package.json +28 -0
- package/src/backend/backend_protocol.ts +313 -0
- package/src/backend/composed_backend_protocol.ts +252 -0
- package/src/backend/domlike_backend_protocol.ts +370 -0
- package/src/backend/mode.ts +51 -0
- package/src/backend/suggested_backend_protocol.ts +83 -0
- package/src/behavior.ts +1655 -0
- package/src/bootstrap_dom_dev.js +22 -0
- package/src/class_list.ts +376 -0
- package/src/component.ts +1309 -0
- package/src/component_params.ts +461 -0
- package/src/component_space.ts +547 -0
- package/src/data_path.ts +225 -0
- package/src/data_proxy.ts +670 -0
- package/src/data_utils.ts +50 -0
- package/src/element.ts +1966 -0
- package/src/element_iterator.ts +158 -0
- package/src/event.ts +401 -0
- package/src/external_shadow_tree.ts +27 -0
- package/src/func_arr.ts +198 -0
- package/src/global_options.ts +242 -0
- package/src/index.ts +187 -0
- package/src/mutation_observer.ts +252 -0
- package/src/native_node.ts +74 -0
- package/src/node.ts +174 -0
- package/src/relation.ts +380 -0
- package/src/render.ts +25 -0
- package/src/selector.ts +218 -0
- package/src/shadow_root.ts +766 -0
- package/src/template_engine.ts +45 -0
- package/src/text_node.ts +149 -0
- package/src/tmpl/index.ts +199 -0
- package/src/tmpl/native_rendering.ts +175 -0
- package/src/tmpl/proc_gen_wrapper.ts +954 -0
- package/src/tmpl/proc_gen_wrapper_dom.ts +230 -0
- package/src/tmpl/range_list_diff.ts +443 -0
- package/src/trait_behaviors.ts +51 -0
- package/src/virtual_node.ts +51 -0
- package/tests/backend/domlike.test.ts +254 -0
- package/tests/base/env.ts +78 -0
- package/tests/base/match.ts +185 -0
- package/tests/core/backend.test.ts +144 -0
- package/tests/core/behavior.test.ts +546 -0
- package/tests/core/component_space.test.ts +212 -0
- package/tests/core/data_update.test.ts +461 -0
- package/tests/core/misc.test.ts +339 -0
- package/tests/core/placeholder.test.ts +180 -0
- package/tests/core/slot.test.ts +1495 -0
- package/tests/core/trait_behaviors.test.ts +153 -0
- package/tests/legacy/README.md +3 -0
- package/tests/legacy/behavior.test.js +293 -0
- package/tests/legacy/component.test.js +1247 -0
- package/tests/legacy/data_path.test.js +149 -0
- package/tests/legacy/data_proxy.test.js +759 -0
- package/tests/legacy/element_iterator.test.js +148 -0
- package/tests/legacy/event.test.js +849 -0
- package/tests/legacy/external.test.js +510 -0
- package/tests/legacy/extra_info.test.js +109 -0
- package/tests/legacy/generics.test.js +176 -0
- package/tests/legacy/mutation_observer.test.js +210 -0
- package/tests/legacy/relation.test.js +517 -0
- package/tests/legacy/selector.test.js +263 -0
- package/tests/legacy/slot.test.js +915 -0
- package/tests/legacy/virtual.test.js +394 -0
- package/tests/tmpl/binding_map.test.ts +208 -0
- package/tests/tmpl/event.test.ts +206 -0
- package/tests/tmpl/expression.test.ts +429 -0
- package/tests/tmpl/lvalue.test.ts +160 -0
- package/tests/tmpl/native_rendering.test.ts +155 -0
- package/tests/tmpl/structure.test.ts +998 -0
- package/tests/types/chaining.test.ts +614 -0
- package/tests/types/createElement.test.ts +82 -0
- package/tests/types/definition.test.ts +442 -0
- package/tsconfig.json +11 -0
- package/webpack.config.js +270 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { FuncArrWithMeta } from './func_arr';
|
|
2
|
+
import { Element, GeneralComponent, GeneralBackendElement } from '.';
|
|
3
|
+
/**
|
|
4
|
+
* Options for an event
|
|
5
|
+
*/
|
|
6
|
+
export type EventOptions = {
|
|
7
|
+
originalEvent?: unknown;
|
|
8
|
+
bubbles?: boolean;
|
|
9
|
+
composed?: boolean;
|
|
10
|
+
capturePhase?: boolean;
|
|
11
|
+
extraFields?: {
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Options for an event listener
|
|
17
|
+
*/
|
|
18
|
+
export type EventListenerOptions = {
|
|
19
|
+
/** Always stop bubbling after this listener */
|
|
20
|
+
final?: boolean;
|
|
21
|
+
/** Mark mutated after this listener (ignored if `final` is true) */
|
|
22
|
+
mutated?: boolean;
|
|
23
|
+
/** Listen in the capture phase */
|
|
24
|
+
capture?: boolean;
|
|
25
|
+
/** The same as `capture` for compatibility */
|
|
26
|
+
useCapture?: boolean;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Event bubbling control
|
|
30
|
+
*/
|
|
31
|
+
export declare const enum EventBubbleStatus {
|
|
32
|
+
Normal = 0,
|
|
33
|
+
NoDefault = 1
|
|
34
|
+
}
|
|
35
|
+
export type EventListener<TDetail> = (ev: ShadowedEvent<TDetail>) => boolean | void;
|
|
36
|
+
declare const enum MutLevel {
|
|
37
|
+
None = 0,
|
|
38
|
+
Mut = 1,
|
|
39
|
+
Final = 2
|
|
40
|
+
}
|
|
41
|
+
type EventFuncArr<TDetail> = {
|
|
42
|
+
mutCount: number;
|
|
43
|
+
finalCount: number;
|
|
44
|
+
funcArr: FuncArrWithMeta<EventListener<TDetail>, MutLevel>;
|
|
45
|
+
};
|
|
46
|
+
export declare const enum FinalChanged {
|
|
47
|
+
NotChanged = 0,
|
|
48
|
+
Failed = 1,
|
|
49
|
+
Init = 2,
|
|
50
|
+
Added = 3,
|
|
51
|
+
Removed = 4
|
|
52
|
+
}
|
|
53
|
+
/** The target of an event */
|
|
54
|
+
export declare class EventTarget<TEvents extends {
|
|
55
|
+
[type: string]: unknown;
|
|
56
|
+
}> {
|
|
57
|
+
listeners: { [T in keyof TEvents]: EventFuncArr<TEvents[T]>; };
|
|
58
|
+
captureListeners: {
|
|
59
|
+
[T in keyof TEvents]: EventFuncArr<TEvents[T]>;
|
|
60
|
+
} | null;
|
|
61
|
+
addListener<T extends string>(name: T, func: EventListener<TEvents[T]>, options?: EventListenerOptions): FinalChanged;
|
|
62
|
+
removeListener<T extends string>(name: T, func: EventListener<TEvents[T]>, options?: EventListenerOptions): FinalChanged;
|
|
63
|
+
}
|
|
64
|
+
export type ShadowedEvent<TDetail> = Required<Event<TDetail>> & {
|
|
65
|
+
target: Element;
|
|
66
|
+
mark: {
|
|
67
|
+
[name: string]: unknown;
|
|
68
|
+
} | null;
|
|
69
|
+
currentTarget: Element;
|
|
70
|
+
};
|
|
71
|
+
export declare class Event<TDetail> {
|
|
72
|
+
type: string;
|
|
73
|
+
timeStamp: number;
|
|
74
|
+
detail: TDetail;
|
|
75
|
+
bubbles: boolean;
|
|
76
|
+
composed: boolean;
|
|
77
|
+
/** @internal */
|
|
78
|
+
private _$capturePhase;
|
|
79
|
+
/** @internal */
|
|
80
|
+
private _$originalEvent;
|
|
81
|
+
/** @internal */
|
|
82
|
+
private _$dispatched;
|
|
83
|
+
/** @internal */
|
|
84
|
+
private _$eventBubblingControl;
|
|
85
|
+
constructor(name: string, detail: TDetail, options?: EventOptions);
|
|
86
|
+
getEventBubbleStatus(): EventBubbleStatus;
|
|
87
|
+
wrapShadowedEvent(targetCaller: Element, mark: {
|
|
88
|
+
[name: string]: unknown;
|
|
89
|
+
} | null, currentTargetCaller: Element): ShadowedEvent<TDetail>;
|
|
90
|
+
getOriginalEvent(): unknown;
|
|
91
|
+
preventDefault(): void;
|
|
92
|
+
defaultPrevented(): boolean;
|
|
93
|
+
stopPropagation(): void;
|
|
94
|
+
propagationStopped(): boolean;
|
|
95
|
+
markMutated(): void;
|
|
96
|
+
mutatedMarked(): boolean;
|
|
97
|
+
dispatch(target: Element, externalTarget?: GeneralBackendElement): void;
|
|
98
|
+
static dispatchEvent<TDetail>(target: Element, event: Event<TDetail>): void;
|
|
99
|
+
static dispatchExternalEvent<TDetail>(component: GeneralComponent, target: GeneralBackendElement, event: Event<TDetail>): void;
|
|
100
|
+
static triggerEvent<TDetail>(this: void, target: Element, name: string, detail: TDetail, options?: EventOptions): void;
|
|
101
|
+
static triggerExternalEvent<TDetail>(this: void, component: GeneralComponent, target: GeneralBackendElement, name: string, detail: TDetail, options?: EventOptions): void;
|
|
102
|
+
}
|
|
103
|
+
export {};
|
|
104
|
+
//# sourceMappingURL=event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Event, ShadowedEvent } from './event';
|
|
2
|
+
import { GeneralBackendElement } from './node';
|
|
3
|
+
/**
|
|
4
|
+
* An external shadow root
|
|
5
|
+
*
|
|
6
|
+
* It can be used to build an external component.
|
|
7
|
+
* External component is a customizable subtree that can be composed with normal components.
|
|
8
|
+
* It allows third-party frameworks to render a subtree and then compose it together.
|
|
9
|
+
* However, the subtree must be created in the same backend context.
|
|
10
|
+
*/
|
|
11
|
+
export interface ExternalShadowRoot {
|
|
12
|
+
root: GeneralBackendElement;
|
|
13
|
+
slot: GeneralBackendElement;
|
|
14
|
+
getIdMap(): {
|
|
15
|
+
[id: string]: GeneralBackendElement;
|
|
16
|
+
};
|
|
17
|
+
handleEvent<T>(target: GeneralBackendElement, event: Event<T>): void;
|
|
18
|
+
setListener<T>(elem: GeneralBackendElement, ev: string, listener: (event: ShadowedEvent<T>) => unknown): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=external_shadow_tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external_shadow_tree.d.ts","sourceRoot":"","sources":["../../../src/external_shadow_tree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,qBAAqB,EACtB,MAAM,QAAQ,CAAA;AAEf;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,IAAI,EAAE,qBAAqB,CAAA;IAC3B,QAAQ,IAAI;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAA;IACnD,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACpE,WAAW,CAAC,CAAC,EACX,IAAI,EAAE,qBAAqB,EAC3B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,OAAO,GAC7C,IAAI,CAAA;CACR"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { GeneralComponent } from '.';
|
|
2
|
+
export type GeneralFuncType = (this: any, ...args: any[]) => any;
|
|
3
|
+
type ErrorInfo = {
|
|
4
|
+
message: string;
|
|
5
|
+
type: string;
|
|
6
|
+
element: unknown;
|
|
7
|
+
method: unknown;
|
|
8
|
+
args: unknown[];
|
|
9
|
+
};
|
|
10
|
+
export declare class FuncArr<F extends GeneralFuncType> {
|
|
11
|
+
empty: boolean;
|
|
12
|
+
private _$type;
|
|
13
|
+
private _$arr;
|
|
14
|
+
_$avoidErrorHandler: boolean;
|
|
15
|
+
add(func: F): void;
|
|
16
|
+
remove(func: F): F | null;
|
|
17
|
+
call(caller: ThisType<F>, args: Parameters<F>, relatedComponent?: GeneralComponent): boolean;
|
|
18
|
+
static safeCallback<F extends GeneralFuncType>(this: void, type: string, method: F, caller: ThisType<F>, args: Parameters<F>, relatedComponent?: GeneralComponent, avoidErrorHandler?: boolean): ReturnType<F> | undefined;
|
|
19
|
+
static addGlobalErrorListener(this: void, func: (err: Error, info: ErrorInfo) => boolean): void;
|
|
20
|
+
static removeGlobalErrorListener(this: void, func: (err: Error, info: ErrorInfo) => boolean): void;
|
|
21
|
+
static addGlobalWarningListener(this: void, func: (msg: string) => void): void;
|
|
22
|
+
static removeGlobalWarningListener(this: void, func: (msg: string) => void): void;
|
|
23
|
+
}
|
|
24
|
+
export declare function triggerWarning(msg: string): void;
|
|
25
|
+
export declare class FuncArrWithMeta<F extends GeneralFuncType, T> {
|
|
26
|
+
empty: boolean;
|
|
27
|
+
private _$type;
|
|
28
|
+
private _$arr;
|
|
29
|
+
add(func: F, data: T): void;
|
|
30
|
+
remove(func: F): T | null;
|
|
31
|
+
call(caller: ThisType<F>, args: Parameters<F>, retainFn: (data: T) => boolean, relatedComponent?: GeneralComponent): boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare const safeCallback: typeof FuncArr.safeCallback;
|
|
34
|
+
export declare const addGlobalErrorListener: typeof FuncArr.addGlobalErrorListener;
|
|
35
|
+
export declare const removeGlobalErrorListener: typeof FuncArr.removeGlobalErrorListener;
|
|
36
|
+
export declare const addGlobalWarningListener: typeof FuncArr.addGlobalWarningListener;
|
|
37
|
+
export declare const removeGlobalWarningListener: typeof FuncArr.removeGlobalWarningListener;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=func_arr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"func_arr.d.ts","sourceRoot":"","sources":["../../../src/func_arr.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EACjB,MAAM,GAAG,CAAA;AAKV,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAEhE,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,EAAE,CAAA;CAChB,CAAA;AAYD,qBAAa,OAAO,CAAC,CAAC,SAAS,eAAe;IAC5C,KAAK,UAAO;IACZ,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAmB;IAChC,mBAAmB,UAAQ;IAE3B,GAAG,CAAC,IAAI,EAAE,CAAC;IAMX,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI;IAmBzB,IAAI,CACF,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO;IAmBV,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,eAAe,EAC3C,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,iBAAiB,UAAQ,GACxB,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS;IAsB5B,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO;IAIxF,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO;IAI3F,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAIvE,MAAM,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;CAG3E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,QAMzC;AAMD,qBAAa,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC;IACvD,KAAK,UAAO;IACZ,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAmC;IAEhD,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAOpB,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI;IAoBzB,IAAI,CACF,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EAC9B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO;CAaX;AAED,eAAO,MAAM,YAAY,6BAAuB,CAAA;AAChD,eAAO,MAAM,sBAAsB,uCAAiC,CAAA;AACpE,eAAO,MAAM,yBAAyB,0CAAoC,CAAA;AAC1E,eAAO,MAAM,wBAAwB,yCAAmC,CAAA;AACxE,eAAO,MAAM,2BAA2B,4CAAsC,CAAA"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { StyleScopeId } from './class_list';
|
|
2
|
+
import { Context as BackendContext } from './backend/backend_protocol';
|
|
3
|
+
import { TemplateEngine } from './template_engine';
|
|
4
|
+
import { ComponentSpace } from './component_space';
|
|
5
|
+
import { GeneralComponent, GeneralBackendContext } from '.';
|
|
6
|
+
/**
|
|
7
|
+
* The deep copy strategy
|
|
8
|
+
*
|
|
9
|
+
* Higher level indicates more accuracy but probably less performance.
|
|
10
|
+
*/
|
|
11
|
+
export declare enum DeepCopyKind {
|
|
12
|
+
/**
|
|
13
|
+
* Avoid deep copy
|
|
14
|
+
*
|
|
15
|
+
* This avoids any copy, and recursive objects can be handled without any failing.
|
|
16
|
+
* However, changing non-copied data will sometimes break the logic.
|
|
17
|
+
*/
|
|
18
|
+
None = "none",
|
|
19
|
+
/**
|
|
20
|
+
* Do a simple deep copy
|
|
21
|
+
*
|
|
22
|
+
* This simply clones each enumerable fields in an object to a new object.
|
|
23
|
+
* It causes stack overflow in recursive objects.
|
|
24
|
+
* Everything in prototypes is ignored.
|
|
25
|
+
*/
|
|
26
|
+
Simple = "simple",
|
|
27
|
+
/**
|
|
28
|
+
* Do a deep copy with recursion detection
|
|
29
|
+
*
|
|
30
|
+
* This clones each enumerable fields in an object to a new object.
|
|
31
|
+
* It can handle recursive objects by recursive detection.
|
|
32
|
+
* Everything in prototypes is ignored.
|
|
33
|
+
*/
|
|
34
|
+
SimpleWithRecursion = "simple-recursion"
|
|
35
|
+
}
|
|
36
|
+
export declare const getDefaultComponentSpace: () => ComponentSpace;
|
|
37
|
+
export declare const getDefaultBackendContext: () => GeneralBackendContext;
|
|
38
|
+
/**
|
|
39
|
+
* Options for a component
|
|
40
|
+
*/
|
|
41
|
+
export type ComponentOptions = {
|
|
42
|
+
/** Is external component or not */
|
|
43
|
+
externalComponent?: boolean;
|
|
44
|
+
/** The template engine */
|
|
45
|
+
templateEngine?: TemplateEngine;
|
|
46
|
+
/** The style scope */
|
|
47
|
+
styleScope?: StyleScopeId;
|
|
48
|
+
/** An extra style scope assigned to the component */
|
|
49
|
+
extraStyleScope?: StyleScopeId | null;
|
|
50
|
+
/** Enable multiple slots or not */
|
|
51
|
+
multipleSlots?: boolean;
|
|
52
|
+
/** Enable dynamic slots or not */
|
|
53
|
+
dynamicSlots?: boolean;
|
|
54
|
+
/** Write property values of components to backend with `setAttribute` */
|
|
55
|
+
reflectToAttributes?: boolean;
|
|
56
|
+
/** Allow properties and methods to be able to visit directly in component instance */
|
|
57
|
+
writeFieldsToNode?: boolean;
|
|
58
|
+
/** Write node ID to backend node */
|
|
59
|
+
writeIdToDOM?: boolean;
|
|
60
|
+
/** Generate a prefix for ID written to backend node */
|
|
61
|
+
idPrefixGenerator?: ((this: GeneralComponent) => string) | null;
|
|
62
|
+
/** Filter some fields out when applying to templates */
|
|
63
|
+
pureDataPattern?: RegExp | null;
|
|
64
|
+
/** Decide how to deep copy component data when updates */
|
|
65
|
+
dataDeepCopy?: DeepCopyKind;
|
|
66
|
+
/** Decide how to deep copy when a property changes */
|
|
67
|
+
propertyPassingDeepCopy?: DeepCopyKind;
|
|
68
|
+
/** Enable listener change events or not */
|
|
69
|
+
listenerChangeLifetimes?: boolean;
|
|
70
|
+
/** Component host node is virtual or not */
|
|
71
|
+
virtualHost?: boolean;
|
|
72
|
+
/** Init component with property values or not */
|
|
73
|
+
propertyEarlyInit?: boolean;
|
|
74
|
+
};
|
|
75
|
+
export type NormalizedComponentOptions = {
|
|
76
|
+
externalComponent: boolean;
|
|
77
|
+
templateEngine: TemplateEngine;
|
|
78
|
+
styleScope: StyleScopeId;
|
|
79
|
+
extraStyleScope: StyleScopeId | null;
|
|
80
|
+
multipleSlots: boolean;
|
|
81
|
+
dynamicSlots: boolean;
|
|
82
|
+
reflectToAttributes: boolean;
|
|
83
|
+
writeFieldsToNode: boolean;
|
|
84
|
+
writeIdToDOM: boolean;
|
|
85
|
+
idPrefixGenerator: ((this: GeneralComponent) => string) | null;
|
|
86
|
+
pureDataPattern: RegExp | null;
|
|
87
|
+
dataDeepCopy: DeepCopyKind;
|
|
88
|
+
propertyPassingDeepCopy: DeepCopyKind;
|
|
89
|
+
listenerChangeLifetimes: boolean;
|
|
90
|
+
virtualHost: boolean;
|
|
91
|
+
propertyEarlyInit: boolean;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Options for global environment
|
|
95
|
+
*/
|
|
96
|
+
export type EnvironmentOptions = {
|
|
97
|
+
/** The default component space */
|
|
98
|
+
defaultComponentSpace: ComponentSpace | null;
|
|
99
|
+
/** Throw errors when errors caught in event callbacks (useful in testing scripts) */
|
|
100
|
+
throwGlobalError: boolean;
|
|
101
|
+
/** Write some extra attributes to DOM backend (for testing) */
|
|
102
|
+
writeExtraInfoToAttr: boolean;
|
|
103
|
+
/** The default backend context */
|
|
104
|
+
backendContext: BackendContext | null;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* The default options
|
|
108
|
+
*/
|
|
109
|
+
export declare const globalOptions: NormalizedComponentOptions & EnvironmentOptions;
|
|
110
|
+
export declare const normalizeComponentOptions: (componentOptions: ComponentOptions | undefined, baseComponentOptions?: NormalizedComponentOptions) => NormalizedComponentOptions;
|
|
111
|
+
//# sourceMappingURL=global_options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global_options.d.ts","sourceRoot":"","sources":["../../../src/global_options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export { TextNode, } from './text_node';
|
|
2
|
+
export { NativeNode, } from './native_node';
|
|
3
|
+
export { ShadowRoot, } from './shadow_root';
|
|
4
|
+
export { VirtualNode, } from './virtual_node';
|
|
5
|
+
export { globalOptions, DeepCopyKind, ComponentOptions, EnvironmentOptions, NormalizedComponentOptions, getDefaultComponentSpace, } from './global_options';
|
|
6
|
+
export { Element, StyleSegmentIndex, } from './element';
|
|
7
|
+
export * as dataUtils from './data_utils';
|
|
8
|
+
export * as dataPath from './data_path';
|
|
9
|
+
export { DataGroup, GeneralDataGroup, DataValue, DataObserver, DataChange, PropertyChange, DataUpdateCallback, } from './data_proxy';
|
|
10
|
+
export { Event, ShadowedEvent, EventBubbleStatus, EventOptions, } from './event';
|
|
11
|
+
export * as typeUtils from './component_params';
|
|
12
|
+
export { Behavior, GeneralBehavior, BehaviorBuilder, GeneralBehaviorBuilder, BuilderContext, } from './behavior';
|
|
13
|
+
export { Component, ComponentDefinition, GeneralComponent, GeneralComponentDefinition, } from './component';
|
|
14
|
+
export { MutationObserver as Observer, MutationObserver, } from './mutation_observer';
|
|
15
|
+
export * as mutationObserver from './mutation_observer';
|
|
16
|
+
export { Node, dumpElement, dumpElementToString, dumpSingleElementToString, GeneralBackendElement, GeneralBackendContext, NodeCast, } from './node';
|
|
17
|
+
export { ElementIterator, ElementIteratorType, } from './element_iterator';
|
|
18
|
+
export { FuncArr, GeneralFuncType, safeCallback, addGlobalErrorListener, removeGlobalErrorListener, addGlobalWarningListener, removeGlobalWarningListener, } from './func_arr';
|
|
19
|
+
export { ParsedSelector, } from './selector';
|
|
20
|
+
export { StyleScopeManager, ClassList, StyleScopeId, } from './class_list';
|
|
21
|
+
export { RelationType, RelationListener, RelationFailedListener, } from './relation';
|
|
22
|
+
export { TraitBehavior, } from './trait_behaviors';
|
|
23
|
+
export { triggerRender, } from './render';
|
|
24
|
+
export { ComponentSpace, } from './component_space';
|
|
25
|
+
export { ExternalShadowRoot, } from './external_shadow_tree';
|
|
26
|
+
export * as template from './tmpl';
|
|
27
|
+
export * as backend from './backend/backend_protocol';
|
|
28
|
+
export * as composedBackend from './backend/composed_backend_protocol';
|
|
29
|
+
export * as domlikeBackend from './backend/domlike_backend_protocol';
|
|
30
|
+
export { BackendMode, } from './backend/mode';
|
|
31
|
+
export * as templateEngine from './template_engine';
|
|
32
|
+
export * as glassEaselTemplate from './tmpl';
|
|
33
|
+
import { ComponentParams, DataList, PropertyList, MethodList, ComponentInstance, GeneralComponentInstance, Empty } from './component_params';
|
|
34
|
+
import { Behavior } from './behavior';
|
|
35
|
+
import { ComponentDefinition, GeneralComponentDefinition } from './component';
|
|
36
|
+
import { Event } from './event';
|
|
37
|
+
export declare const registerBehavior: <TData extends DataList = Empty, TProperty extends PropertyList = Empty, TMethod extends MethodList = Empty>(def: ComponentParams<TData, TProperty, TMethod> & ThisType<ComponentInstance<TData, TProperty, TMethod>>) => Behavior<TData, TProperty, TMethod, never>;
|
|
38
|
+
export declare const registerElement: <TData extends DataList = Empty, TProperty extends PropertyList = Empty, TMethod extends MethodList = Empty>(def: ComponentParams<TData, TProperty, TMethod> & ThisType<ComponentInstance<TData, TProperty, TMethod>>) => ComponentDefinition<TData, TProperty, TMethod>;
|
|
39
|
+
export declare function createElement(tagName: string, compDef?: GeneralComponentDefinition): GeneralComponentInstance;
|
|
40
|
+
export declare function createElement<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string, compDef: ComponentDefinition<TData, TProperty, TMethod>): ComponentInstance<TData, TProperty, TMethod>;
|
|
41
|
+
export declare const triggerEvent: typeof Event.triggerEvent;
|
|
42
|
+
export declare const triggerExternalEvent: typeof Event.triggerExternalEvent;
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Element, Node, TextNode } from '.';
|
|
2
|
+
import { FuncArr } from './func_arr';
|
|
3
|
+
/**
|
|
4
|
+
* What the observer will listen
|
|
5
|
+
*/
|
|
6
|
+
export type MutationObserverOptions = {
|
|
7
|
+
/** Attribute changes, including property, id, slot, and class changes */
|
|
8
|
+
properties: boolean;
|
|
9
|
+
/** Child nodes changes */
|
|
10
|
+
childList: boolean;
|
|
11
|
+
/** Text content changes */
|
|
12
|
+
characterData: boolean;
|
|
13
|
+
/** Enable property, childList, and characterData changes in subtree */
|
|
14
|
+
subtree: boolean;
|
|
15
|
+
/** Attached status changes */
|
|
16
|
+
attachStatus: boolean;
|
|
17
|
+
};
|
|
18
|
+
export type MutationObserverAttrEvent = {
|
|
19
|
+
type: 'properties';
|
|
20
|
+
target: Element;
|
|
21
|
+
propertyName?: string;
|
|
22
|
+
attributeName?: string;
|
|
23
|
+
};
|
|
24
|
+
export type MutationObserverTextEvent = {
|
|
25
|
+
type: 'characterData';
|
|
26
|
+
target: TextNode;
|
|
27
|
+
};
|
|
28
|
+
export type MutationObserverChildEvent = {
|
|
29
|
+
type: 'childList';
|
|
30
|
+
target: Node;
|
|
31
|
+
addedNodes?: Node[];
|
|
32
|
+
removedNodes?: Node[];
|
|
33
|
+
};
|
|
34
|
+
export type MutationObserverAttachEvent = {
|
|
35
|
+
type: 'attachStatus';
|
|
36
|
+
target: Element;
|
|
37
|
+
status: 'attached' | 'detached';
|
|
38
|
+
};
|
|
39
|
+
export type MutationObserverEvent = MutationObserverAttrEvent | MutationObserverTextEvent | MutationObserverChildEvent | MutationObserverAttachEvent;
|
|
40
|
+
export type MutationObserverListener<T> = (this: Element, ev: T) => void;
|
|
41
|
+
export declare class MutationObserverTarget {
|
|
42
|
+
private _$bindedElement;
|
|
43
|
+
private _$subtreeObserversCount;
|
|
44
|
+
attrObservers: FuncArr<MutationObserverListener<MutationObserverAttrEvent>> | null;
|
|
45
|
+
textObservers: FuncArr<MutationObserverListener<MutationObserverTextEvent>> | null;
|
|
46
|
+
childObservers: FuncArr<MutationObserverListener<MutationObserverChildEvent>> | null;
|
|
47
|
+
attachObservers: FuncArr<MutationObserverListener<MutationObserverAttachEvent>> | null;
|
|
48
|
+
constructor(bindedElement: Element);
|
|
49
|
+
attachChild(child: Element): void;
|
|
50
|
+
detachChild(child: Element): void;
|
|
51
|
+
updateSubtreeCount(diff: number): void;
|
|
52
|
+
hasSubtreeListeners(): boolean;
|
|
53
|
+
static callAttrObservers(node: Element, eventObj: MutationObserverAttrEvent): void;
|
|
54
|
+
static callTextObservers(textNode: TextNode, eventObj: MutationObserverTextEvent): void;
|
|
55
|
+
static callChildObservers(node: Element, eventObj: MutationObserverChildEvent): void;
|
|
56
|
+
static callAttachObservers(node: Element, eventObj: MutationObserverAttachEvent): void;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* An observer that can observe shadow tree changes
|
|
60
|
+
*
|
|
61
|
+
* Like DOM MutationObserver,
|
|
62
|
+
* this observer can observe attributes, text content, and child nodes changes.
|
|
63
|
+
* It can optionally observe changes in a subtree.
|
|
64
|
+
* Further more, it can listen attached/detached events on an element.
|
|
65
|
+
*/
|
|
66
|
+
export declare class MutationObserver {
|
|
67
|
+
private _$listener;
|
|
68
|
+
private _$normalizedListener;
|
|
69
|
+
private _$subtreeListenersCount;
|
|
70
|
+
private _$bindedFuncArrs;
|
|
71
|
+
private _$bindedTarget;
|
|
72
|
+
constructor(listener: (ev: MutationObserverEvent) => void);
|
|
73
|
+
static create(listener: (ev: MutationObserverEvent) => void): MutationObserver;
|
|
74
|
+
/** Start observation */
|
|
75
|
+
observe(targetElement: Element, options?: MutationObserverOptions): void;
|
|
76
|
+
/** End observation */
|
|
77
|
+
disconnect(): void;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=mutation_observer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation_observer.d.ts","sourceRoot":"","sources":["../../../src/mutation_observer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Element } from './element';
|
|
2
|
+
import { ShadowRoot } from './shadow_root';
|
|
3
|
+
export declare class NativeNode extends Element {
|
|
4
|
+
is: string;
|
|
5
|
+
constructor();
|
|
6
|
+
static create(tagName: string, owner: ShadowRoot): NativeNode;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=native_node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native_node.d.ts","sourceRoot":"","sources":["../../../src/native_node.ts"],"names":[],"mappings":"AASA,OAAO,EACL,OAAO,EACR,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,UAAU,EACX,MAAM,eAAe,CAAA;AAStB,qBAAa,UAAW,SAAQ,OAAO;IACrC,EAAE,EAAE,MAAM,CAAA;;IAQV,MAAM,CAAC,MAAM,CACX,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,UAAU,GAChB,UAAU;CAsCd"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as backend from './backend/backend_protocol';
|
|
2
|
+
import * as composedBackend from './backend/composed_backend_protocol';
|
|
3
|
+
import * as domlikeBackend from './backend/domlike_backend_protocol';
|
|
4
|
+
import * as suggestedBackend from './backend/suggested_backend_protocol';
|
|
5
|
+
import { TextNode } from './text_node';
|
|
6
|
+
import { Element } from './element';
|
|
7
|
+
import { VirtualNode } from './virtual_node';
|
|
8
|
+
import { ComponentDefinition } from './component';
|
|
9
|
+
import { NativeNode } from './native_node';
|
|
10
|
+
import { DataList, PropertyList, MethodList, ComponentInstance } from './component_params';
|
|
11
|
+
export type GeneralBackendContext = (backend.Context | composedBackend.Context | domlikeBackend.Context) & Partial<suggestedBackend.Context>;
|
|
12
|
+
export type GeneralBackendElement = (backend.Element | composedBackend.Element | domlikeBackend.Element) & Partial<suggestedBackend.Element>;
|
|
13
|
+
export type Node = TextNode | Element;
|
|
14
|
+
export interface NodeCast {
|
|
15
|
+
/**
|
|
16
|
+
* Cast a node to a text node
|
|
17
|
+
*
|
|
18
|
+
* Returns `null` if the element is not a text node.
|
|
19
|
+
*/
|
|
20
|
+
asTextNode(): TextNode | null;
|
|
21
|
+
/**
|
|
22
|
+
* Cast a node to an element (native node, virtual node, or component node)
|
|
23
|
+
*
|
|
24
|
+
* Returns `null` if the element is not a text node.
|
|
25
|
+
*/
|
|
26
|
+
asElement(): Element | null;
|
|
27
|
+
/**
|
|
28
|
+
* Cast an element to a native node
|
|
29
|
+
*
|
|
30
|
+
* Returns `null` if the element is not a native node.
|
|
31
|
+
*/
|
|
32
|
+
asNativeNode(): NativeNode | null;
|
|
33
|
+
/**
|
|
34
|
+
* Cast an element to a virtual node
|
|
35
|
+
*
|
|
36
|
+
* Returns `null` if the element is not a virtual node.
|
|
37
|
+
*/
|
|
38
|
+
asVirtualNode(): VirtualNode | null;
|
|
39
|
+
/**
|
|
40
|
+
* Cast an element to the instance of the specified component
|
|
41
|
+
*
|
|
42
|
+
* Returns `null` if the element is not the instance of the specified component.
|
|
43
|
+
*/
|
|
44
|
+
asInstanceOf<UData extends DataList, UProperty extends PropertyList, UMethod extends MethodList>(componentDefinition: ComponentDefinition<UData, UProperty, UMethod>): ComponentInstance<UData, UProperty, UMethod> | null;
|
|
45
|
+
}
|
|
46
|
+
export declare const dumpSingleElementToString: (elem: any) => string;
|
|
47
|
+
export declare const dumpElementToString: (elem: any, composed: boolean, tabDepth?: number) => string;
|
|
48
|
+
export declare const dumpElement: (elem: any, composed: boolean) => void;
|
|
49
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AACrD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAA;AACtE,OAAO,KAAK,cAAc,MAAM,oCAAoC,CAAA;AACpE,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAA;AACxE,OAAO,EACL,QAAQ,EACT,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,OAAO,EACR,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,WAAW,EACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAEL,mBAAmB,EACpB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,MAAM,qBAAqB,GAAG,CAChC,OAAO,CAAC,OAAO,GACf,eAAe,CAAC,OAAO,GACvB,cAAc,CAAC,OAAO,CACzB,GACC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;AACnC,MAAM,MAAM,qBAAqB,GAAG,CAChC,OAAO,CAAC,OAAO,GACf,eAAe,CAAC,OAAO,GACvB,cAAc,CAAC,OAAO,CACzB,GACC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;AAEnC,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErC,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,UAAU,IAAI,QAAQ,GAAG,IAAI,CAAA;IAE7B;;;;OAIG;IACH,SAAS,IAAI,OAAO,GAAG,IAAI,CAAA;IAE3B;;;;OAIG;IACH,YAAY,IAAI,UAAU,GAAG,IAAI,CAAA;IAEjC;;;;OAIG;IACH,aAAa,IAAI,WAAW,GAAG,IAAI,CAAA;IAEnC;;;;OAIG;IACH,YAAY,CACV,KAAK,SAAS,QAAQ,EACtB,SAAS,SAAS,YAAY,EAC9B,OAAO,SAAS,UAAU,EAE1B,mBAAmB,EAAE,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,GAClE,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACvD;AA2BD,eAAO,MAAM,yBAAyB,SAAU,GAAG,WAwBlD,CAAA;AAED,eAAO,MAAM,mBAAmB,SAAU,GAAG,YAAY,OAAO,8BAgC/D,CAAA;AAED,eAAO,MAAM,WAAW,SAAU,GAAG,YAAY,OAAO,SAGvD,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { GeneralBehavior } from './behavior';
|
|
2
|
+
import { GeneralComponent } from './component';
|
|
3
|
+
import { TraitBehavior } from './trait_behaviors';
|
|
4
|
+
export declare const enum RelationType {
|
|
5
|
+
Ancestor = 0,
|
|
6
|
+
Descendant = 1,
|
|
7
|
+
ParentNonVirtualNode = 2,
|
|
8
|
+
ChildNonVirtualNode = 3,
|
|
9
|
+
ParentComponent = 4,
|
|
10
|
+
ChildComponent = 5
|
|
11
|
+
}
|
|
12
|
+
export type RelationListener = (target: unknown) => void;
|
|
13
|
+
export type RelationFailedListener = () => void;
|
|
14
|
+
export type RelationDefinition = {
|
|
15
|
+
target: string | GeneralBehavior | TraitBehavior<{
|
|
16
|
+
[x: string]: unknown;
|
|
17
|
+
}, {
|
|
18
|
+
[x: string]: unknown;
|
|
19
|
+
}>;
|
|
20
|
+
domain: string | null;
|
|
21
|
+
type: RelationType;
|
|
22
|
+
linked: RelationListener | null;
|
|
23
|
+
linkChanged: RelationListener | null;
|
|
24
|
+
unlinked: RelationListener | null;
|
|
25
|
+
linkFailed: RelationFailedListener | null;
|
|
26
|
+
};
|
|
27
|
+
export type RelationDefinitionGroup = {
|
|
28
|
+
definitions: RelationDefinition[][];
|
|
29
|
+
keyMap: {
|
|
30
|
+
[key: string | symbol]: [RelationType, number];
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export declare const generateRelationDefinitionGroup: (relations?: {
|
|
34
|
+
[key: string]: RelationDefinition;
|
|
35
|
+
} | undefined) => RelationDefinitionGroup | null;
|
|
36
|
+
export declare const cloneRelationDefinitionGroup: (group: RelationDefinitionGroup) => RelationDefinitionGroup;
|
|
37
|
+
export declare class Relation {
|
|
38
|
+
private _$comp;
|
|
39
|
+
private _$group;
|
|
40
|
+
private _$sharedGroup;
|
|
41
|
+
private _$links;
|
|
42
|
+
constructor(associatedComponent: GeneralComponent, group: RelationDefinitionGroup | null);
|
|
43
|
+
add(relation: RelationDefinition): symbol;
|
|
44
|
+
triggerLinkEvent(parentType: RelationType.ParentComponent | RelationType.ParentNonVirtualNode | RelationType.Ancestor, isDetach: boolean): void;
|
|
45
|
+
getLinkedTargets(key: string | symbol): GeneralComponent[];
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=relation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../src/relation.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAEL,gBAAgB,EACjB,MAAM,aAAa,CAAA;AAQpB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,0BAAkB,YAAY;IAC5B,QAAQ,IAAI;IACZ,UAAU,IAAA;IACV,oBAAoB,IAAA;IACpB,mBAAmB,IAAA;IACnB,eAAe,IAAA;IACf,cAAc,IAAA;CACf;AAID,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;AAExD,MAAM,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAA;AAE/C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GACV,eAAe,GACf,aAAa,CAAC;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAA;IACrE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC/B,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACpC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,kBAAkB,EAAE,EAAE,CAAC;IACpC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CAC5D,CAAA;AAED,eAAO,MAAM,+BAA+B;;kBAEzC,uBAAuB,GAAG,IAsB5B,CAAA;AAED,eAAO,MAAM,4BAA4B,UAChC,uBAAuB,KAC7B,uBAOF,CAAA;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAoE;gBAGjF,mBAAmB,EAAE,gBAAgB,EACrC,KAAK,EAAE,uBAAuB,GAAG,IAAI;IAuBvC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM;IAqCzC,gBAAgB,CACd,UAAU,EAAE,YAAY,CAAC,eAAe,GACpC,YAAY,CAAC,oBAAoB,GACjC,YAAY,CAAC,QAAQ,EACzB,QAAQ,EAAE,OAAO;IAiKnB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,EAAE;CAyD3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/render.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,OAAO,EACR,MAAM,WAAW,CAAA;AAgBlB,eAAO,MAAM,aAAa,YAAa,OAAO,oBAAmB,KAAK,GAAG,IAAI,KAAK,IAAI,sBAGrF,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Element } from '.';
|
|
2
|
+
declare const enum SegmentRelation {
|
|
3
|
+
Child = 0,
|
|
4
|
+
Descendant = 1,
|
|
5
|
+
CrossShadowDescendant = 2
|
|
6
|
+
}
|
|
7
|
+
type Segment = {
|
|
8
|
+
id: string;
|
|
9
|
+
classes: string[];
|
|
10
|
+
relation: SegmentRelation;
|
|
11
|
+
};
|
|
12
|
+
type Union = Segment[];
|
|
13
|
+
/** A parsed selector that can be used in selector queries */
|
|
14
|
+
export declare class ParsedSelector {
|
|
15
|
+
unions: Union[];
|
|
16
|
+
private static _$parseSegment;
|
|
17
|
+
constructor(str: string);
|
|
18
|
+
/** Whether the selector is empty */
|
|
19
|
+
isEmpty(): boolean;
|
|
20
|
+
private static _$testSelectorSegment;
|
|
21
|
+
/**
|
|
22
|
+
* Test whether the specified node matches the selector
|
|
23
|
+
*
|
|
24
|
+
* If `root` is specified, than the selector is match inside this subtree;
|
|
25
|
+
* otherwise it match in the whole tree.
|
|
26
|
+
*/
|
|
27
|
+
testSelector(root: Element | null, node: Element): boolean;
|
|
28
|
+
/** Queries an element or elements that matches this selector */
|
|
29
|
+
query(root: Element, findOne: boolean): Element[] | Element | null;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=selector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../../../src/selector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAKR,MAAM,GAAG,CAAA;AAEV,mBAAW,eAAe;IACxB,KAAK,IAAA;IACL,UAAU,IAAA;IACV,qBAAqB,IAAA;CACtB;AAED,KAAK,OAAO,GAAG;IACb,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAAA;AAED,KAAK,KAAK,GAAG,OAAO,EAAE,CAAA;AAOtB,6DAA6D;AAC7D,qBAAa,cAAc;IACzB,MAAM,EAAE,KAAK,EAAE,CAAK;IAEpB,OAAO,CAAC,MAAM,CAAC,cAAc;gBAcjB,GAAG,EAAE,MAAM;IA6BvB,oCAAoC;IACpC,OAAO,IAAI,OAAO;IAIlB,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAuEpC;;;;;OAKG;IACH,YAAY,CACV,IAAI,EAAE,OAAO,GAAG,IAAI,EACpB,IAAI,EAAE,OAAO,GACZ,OAAO;IAyBV,gEAAgE;IAChE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI;CAgCnE"}
|