glass-easel 0.2.0 → 0.3.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.
Files changed (197) hide show
  1. package/.eslintignore +4 -0
  2. package/dist/glass_easel.all.js +2 -2
  3. package/dist/glass_easel.all.js.map +1 -1
  4. package/dist/glass_easel.d.ts +2546 -0
  5. package/dist/glass_easel.domlike.global.js +2 -2
  6. package/dist/glass_easel.domlike.global.js.map +1 -1
  7. package/guide/zh_CN/appendix/backend_protocol.md +164 -74
  8. package/jest.unit.config.js +7 -4
  9. package/package.json +7 -5
  10. package/rollup.config.ts +101 -0
  11. package/src/backend/backend_protocol.ts +26 -345
  12. package/src/backend/composed_backend_protocol.ts +10 -264
  13. package/src/backend/current_window_backend_context.ts +478 -0
  14. package/src/backend/domlike_backend_protocol.ts +9 -498
  15. package/src/backend/empty_backend.ts +265 -0
  16. package/src/backend/empty_composed_backend.ts +245 -0
  17. package/src/backend/index.ts +18 -0
  18. package/src/backend/suggested_backend_protocol.ts +62 -11
  19. package/src/behavior.ts +131 -442
  20. package/src/class_list.ts +328 -222
  21. package/src/component.ts +349 -184
  22. package/src/component_params.ts +54 -25
  23. package/src/component_space.ts +36 -15
  24. package/src/data_path.ts +22 -34
  25. package/src/data_proxy.ts +334 -27
  26. package/src/devtool.ts +89 -0
  27. package/src/element.ts +667 -285
  28. package/src/element_iterator.ts +9 -4
  29. package/src/event.ts +39 -20
  30. package/src/external_shadow_tree.ts +2 -2
  31. package/src/func_arr.ts +55 -101
  32. package/src/global_options.ts +18 -42
  33. package/src/index.ts +72 -73
  34. package/src/mutation_observer.ts +10 -7
  35. package/src/native_node.ts +79 -35
  36. package/src/node.ts +23 -30
  37. package/src/relation.ts +101 -12
  38. package/src/render.ts +5 -3
  39. package/src/selector.ts +9 -7
  40. package/src/shadow_root.ts +96 -240
  41. package/src/template_engine.ts +10 -7
  42. package/src/text_node.ts +43 -19
  43. package/src/tmpl/index.ts +38 -30
  44. package/src/tmpl/native_rendering.ts +14 -21
  45. package/src/tmpl/proc_gen_wrapper.ts +189 -151
  46. package/src/tmpl/proc_gen_wrapper_dom.ts +10 -8
  47. package/src/tmpl/range_list_diff.ts +30 -9
  48. package/src/trait_behaviors.ts +1 -1
  49. package/src/type_symbol.ts +36 -0
  50. package/src/virtual_node.ts +26 -13
  51. package/src/warning.ts +119 -0
  52. package/tests/base/composed_backend.ts +143 -142
  53. package/tests/base/env.ts +76 -3
  54. package/tests/base/match.ts +24 -22
  55. package/tests/base/shadow_backend.ts +917 -0
  56. package/tests/core/backend.test.ts +53 -1
  57. package/tests/core/behavior.test.ts +1 -1
  58. package/tests/core/data_update.test.ts +135 -0
  59. package/tests/core/misc.test.ts +91 -21
  60. package/tests/core/placeholder.test.ts +66 -25
  61. package/tests/core/slot.test.ts +161 -23
  62. package/tests/legacy/component.test.js +152 -78
  63. package/tests/legacy/data_path.test.js +19 -19
  64. package/tests/legacy/data_proxy.test.js +14 -7
  65. package/tests/legacy/external.test.js +8 -8
  66. package/tests/legacy/mutation_observer.test.js +7 -5
  67. package/tests/legacy/slot.test.js +2 -3
  68. package/tests/legacy/virtual.test.js +258 -25
  69. package/tests/tmpl/binding_map.test.ts +201 -195
  70. package/tests/tmpl/event.test.ts +138 -23
  71. package/tests/tmpl/expression.test.ts +15 -15
  72. package/tests/tmpl/lvalue.test.ts +101 -0
  73. package/tests/tmpl/structure.test.ts +486 -43
  74. package/tests/types/chaining.test.ts +27 -30
  75. package/tests/types/createElement.test.ts +5 -4
  76. package/tests/types/definition.test.ts +11 -14
  77. package/tsconfig.json +1 -3
  78. package/dist/glass_easel.all.d.ts +0 -1
  79. package/dist/glass_easel.domlike.global.d.ts +0 -1
  80. package/dist/index.d.ts +0 -1
  81. package/dist/index.js +0 -1
  82. package/dist/types/src/backend/backend_protocol.d.ts +0 -141
  83. package/dist/types/src/backend/backend_protocol.d.ts.map +0 -1
  84. package/dist/types/src/backend/composed_backend_protocol.d.ts +0 -102
  85. package/dist/types/src/backend/composed_backend_protocol.d.ts.map +0 -1
  86. package/dist/types/src/backend/domlike_backend_protocol.d.ts +0 -100
  87. package/dist/types/src/backend/domlike_backend_protocol.d.ts.map +0 -1
  88. package/dist/types/src/backend/mode.d.ts +0 -65
  89. package/dist/types/src/backend/mode.d.ts.map +0 -1
  90. package/dist/types/src/backend/suggested_backend_protocol.d.ts +0 -30
  91. package/dist/types/src/backend/suggested_backend_protocol.d.ts.map +0 -1
  92. package/dist/types/src/behavior.d.ts +0 -434
  93. package/dist/types/src/behavior.d.ts.map +0 -1
  94. package/dist/types/src/class_list.d.ts +0 -83
  95. package/dist/types/src/class_list.d.ts.map +0 -1
  96. package/dist/types/src/component.d.ts +0 -325
  97. package/dist/types/src/component.d.ts.map +0 -1
  98. package/dist/types/src/component_params.d.ts +0 -236
  99. package/dist/types/src/component_params.d.ts.map +0 -1
  100. package/dist/types/src/component_space.d.ts +0 -211
  101. package/dist/types/src/component_space.d.ts.map +0 -1
  102. package/dist/types/src/data_path.d.ts +0 -5
  103. package/dist/types/src/data_path.d.ts.map +0 -1
  104. package/dist/types/src/data_proxy.d.ts +0 -107
  105. package/dist/types/src/data_proxy.d.ts.map +0 -1
  106. package/dist/types/src/data_utils.d.ts +0 -3
  107. package/dist/types/src/data_utils.d.ts.map +0 -1
  108. package/dist/types/src/element.d.ts +0 -365
  109. package/dist/types/src/element.d.ts.map +0 -1
  110. package/dist/types/src/element_iterator.d.ts +0 -43
  111. package/dist/types/src/element_iterator.d.ts.map +0 -1
  112. package/dist/types/src/event.d.ts +0 -105
  113. package/dist/types/src/event.d.ts.map +0 -1
  114. package/dist/types/src/external_shadow_tree.d.ts +0 -20
  115. package/dist/types/src/external_shadow_tree.d.ts.map +0 -1
  116. package/dist/types/src/func_arr.d.ts +0 -39
  117. package/dist/types/src/func_arr.d.ts.map +0 -1
  118. package/dist/types/src/global_options.d.ts +0 -120
  119. package/dist/types/src/global_options.d.ts.map +0 -1
  120. package/dist/types/src/index.d.ts +0 -43
  121. package/dist/types/src/index.d.ts.map +0 -1
  122. package/dist/types/src/mutation_observer.d.ts +0 -79
  123. package/dist/types/src/mutation_observer.d.ts.map +0 -1
  124. package/dist/types/src/native_node.d.ts +0 -11
  125. package/dist/types/src/native_node.d.ts.map +0 -1
  126. package/dist/types/src/node.d.ts +0 -48
  127. package/dist/types/src/node.d.ts.map +0 -1
  128. package/dist/types/src/relation.d.ts +0 -46
  129. package/dist/types/src/relation.d.ts.map +0 -1
  130. package/dist/types/src/render.d.ts +0 -3
  131. package/dist/types/src/render.d.ts.map +0 -1
  132. package/dist/types/src/selector.d.ts +0 -32
  133. package/dist/types/src/selector.d.ts.map +0 -1
  134. package/dist/types/src/shadow_root.d.ts +0 -174
  135. package/dist/types/src/shadow_root.d.ts.map +0 -1
  136. package/dist/types/src/template_engine.d.ts +0 -56
  137. package/dist/types/src/template_engine.d.ts.map +0 -1
  138. package/dist/types/src/text_node.d.ts +0 -44
  139. package/dist/types/src/text_node.d.ts.map +0 -1
  140. package/dist/types/src/tmpl/index.d.ts +0 -19
  141. package/dist/types/src/tmpl/index.d.ts.map +0 -1
  142. package/dist/types/src/tmpl/native_rendering.d.ts +0 -45
  143. package/dist/types/src/tmpl/native_rendering.d.ts.map +0 -1
  144. package/dist/types/src/tmpl/proc_gen_wrapper.d.ts +0 -89
  145. package/dist/types/src/tmpl/proc_gen_wrapper.d.ts.map +0 -1
  146. package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts +0 -50
  147. package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts.map +0 -1
  148. package/dist/types/src/tmpl/range_list_diff.d.ts +0 -19
  149. package/dist/types/src/tmpl/range_list_diff.d.ts.map +0 -1
  150. package/dist/types/src/trait_behaviors.d.ts +0 -38
  151. package/dist/types/src/trait_behaviors.d.ts.map +0 -1
  152. package/dist/types/src/virtual_node.d.ts +0 -10
  153. package/dist/types/src/virtual_node.d.ts.map +0 -1
  154. package/dist/types/tests/backend/domlike.test.d.ts +0 -2
  155. package/dist/types/tests/backend/domlike.test.d.ts.map +0 -1
  156. package/dist/types/tests/base/composed_backend.d.ts +0 -123
  157. package/dist/types/tests/base/composed_backend.d.ts.map +0 -1
  158. package/dist/types/tests/base/env.d.ts +0 -30
  159. package/dist/types/tests/base/env.d.ts.map +0 -1
  160. package/dist/types/tests/base/match.d.ts +0 -9
  161. package/dist/types/tests/base/match.d.ts.map +0 -1
  162. package/dist/types/tests/core/backend.test.d.ts +0 -2
  163. package/dist/types/tests/core/backend.test.d.ts.map +0 -1
  164. package/dist/types/tests/core/behavior.test.d.ts +0 -2
  165. package/dist/types/tests/core/behavior.test.d.ts.map +0 -1
  166. package/dist/types/tests/core/component_space.test.d.ts +0 -2
  167. package/dist/types/tests/core/component_space.test.d.ts.map +0 -1
  168. package/dist/types/tests/core/data_update.test.d.ts +0 -2
  169. package/dist/types/tests/core/data_update.test.d.ts.map +0 -1
  170. package/dist/types/tests/core/misc.test.d.ts +0 -2
  171. package/dist/types/tests/core/misc.test.d.ts.map +0 -1
  172. package/dist/types/tests/core/placeholder.test.d.ts +0 -2
  173. package/dist/types/tests/core/placeholder.test.d.ts.map +0 -1
  174. package/dist/types/tests/core/slot.test.d.ts +0 -2
  175. package/dist/types/tests/core/slot.test.d.ts.map +0 -1
  176. package/dist/types/tests/core/trait_behaviors.test.d.ts +0 -2
  177. package/dist/types/tests/core/trait_behaviors.test.d.ts.map +0 -1
  178. package/dist/types/tests/tmpl/binding_map.test.d.ts +0 -2
  179. package/dist/types/tests/tmpl/binding_map.test.d.ts.map +0 -1
  180. package/dist/types/tests/tmpl/event.test.d.ts +0 -2
  181. package/dist/types/tests/tmpl/event.test.d.ts.map +0 -1
  182. package/dist/types/tests/tmpl/expression.test.d.ts +0 -2
  183. package/dist/types/tests/tmpl/expression.test.d.ts.map +0 -1
  184. package/dist/types/tests/tmpl/lvalue.test.d.ts +0 -2
  185. package/dist/types/tests/tmpl/lvalue.test.d.ts.map +0 -1
  186. package/dist/types/tests/tmpl/native_rendering.test.d.ts +0 -2
  187. package/dist/types/tests/tmpl/native_rendering.test.d.ts.map +0 -1
  188. package/dist/types/tests/tmpl/structure.test.d.ts +0 -2
  189. package/dist/types/tests/tmpl/structure.test.d.ts.map +0 -1
  190. package/dist/types/tests/types/chaining.test.d.ts +0 -2
  191. package/dist/types/tests/types/chaining.test.d.ts.map +0 -1
  192. package/dist/types/tests/types/createElement.test.d.ts +0 -2
  193. package/dist/types/tests/types/createElement.test.d.ts.map +0 -1
  194. package/dist/types/tests/types/definition.test.d.ts +0 -2
  195. package/dist/types/tests/types/definition.test.d.ts.map +0 -1
  196. package/webpack.config.js +0 -275
  197. /package/src/backend/{mode.ts → shared.ts} +0 -0
@@ -1,83 +0,0 @@
1
- import { Element, StyleSegmentIndex } from '.';
2
- /**
3
- * The style scope identifier
4
- *
5
- * It is actually a non-negative integer.
6
- *
7
- * Specifically, `0` represents *global* scope, which means it is a global style in stylesheets.
8
- * However, in elements, `0` means it does not match any stylesheets other than the global styles.
9
- */
10
- export type StyleScopeId = number;
11
- /**
12
- * Style scope manager
13
- */
14
- export declare class StyleScopeManager {
15
- /** @internal */
16
- private _$names;
17
- static globalScope(): StyleScopeId;
18
- register(name: string): StyleScopeId;
19
- queryName(id: StyleScopeId): string | undefined;
20
- }
21
- export type AliasTarget = {
22
- scopeId: StyleScopeId | undefined;
23
- className: string;
24
- };
25
- /**
26
- * Class manager for non-virtual `Element`
27
- */
28
- export declare class ClassList {
29
- /** @internal */
30
- private _$elem;
31
- /** @internal */
32
- private _$owner;
33
- /** @internal */
34
- private _$defaultScope;
35
- /** @internal */
36
- private _$extraScope;
37
- /** @internal */
38
- private _$rootScope;
39
- /** @internal */
40
- private _$alias;
41
- /** @internal */
42
- private _$resolvedAlias;
43
- /** @internal */
44
- private _$aliasDirty;
45
- /** @internal */
46
- private _$rawNames;
47
- /** @internal */
48
- private _$rawNamesSegmentSep;
49
- /** @internal */
50
- private _$hasResolvedNames;
51
- /** @internal */
52
- private _$prefixManager;
53
- constructor(elem: Element, externalNameAlias: {
54
- [externalName: string]: string[] | null;
55
- } | null);
56
- /** @internal */
57
- private _$resolvePrefixes;
58
- /** @internal */
59
- private _$updateResolvedAliases;
60
- /** @internal */
61
- _$hasAlias(name: string): boolean;
62
- /** @internal */
63
- _$setAlias(name: string, target: string): void;
64
- /** @internal */
65
- _$spreadAliasUpdate(): void;
66
- /** @internal */
67
- private _$updateResolvedNames;
68
- /** @internal */
69
- private _$classListAdd;
70
- /** @internal */
71
- private _$classListRemove;
72
- /** @internal */
73
- private _$addClassToBackend;
74
- /** @internal */
75
- private _$removeClassFromBackend;
76
- toggle(name: string, force?: boolean): void;
77
- contains(name: string): boolean;
78
- /** Set class string */
79
- setClassNames(names: string, index?: StyleSegmentIndex): void;
80
- /** Returns space separated class string */
81
- getClassNames(): string;
82
- }
83
- //# sourceMappingURL=class_list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"class_list.d.ts","sourceRoot":"","sources":["../../../src/class_list.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAA2C,iBAAiB,EAAE,MAAM,GAAG,CAAA;AAKvF;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,gBAAgB;IAChB,OAAO,CAAC,OAAO,CAAiB;IAEhC,MAAM,CAAC,WAAW,IAAI,YAAY;IAIlC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAMpC,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;CAGhD;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,YAAY,GAAG,SAAS,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,gBAAgB;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,gBAAgB;IAChB,OAAO,CAAC,OAAO,CAAkB;IACjC,gBAAgB;IAChB,OAAO,CAAC,cAAc,CAAc;IACpC,gBAAgB;IAChB,OAAO,CAAC,YAAY,CAA0B;IAC9C,gBAAgB;IAChB,OAAO,CAAC,WAAW,CAA0B;IAC7C,gBAAgB;IAChB,OAAO,CAAC,OAAO,CAAoD;IACnE,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAAyD;IAChF,gBAAgB;IAChB,OAAO,CAAC,YAAY,CAAQ;IAC5B,gBAAgB;IAChB,OAAO,CAAC,UAAU,CAAe;IACjC,gBAAgB;IAChB,OAAO,CAAC,oBAAoB,CAAe;IAC3C,gBAAgB;IAChB,OAAO,CAAC,kBAAkB,CAAQ;IAClC,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAA+B;gBAGpD,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAkCvE,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAiCzB,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAmC/B,gBAAgB;IAChB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOjC,gBAAgB;IAChB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IASvC,gBAAgB;IAChB,mBAAmB;IAqCnB,gBAAgB;IAChB,OAAO,CAAC,qBAAqB;IAc7B,gBAAgB;IAChB,OAAO,CAAC,cAAc;IAUtB,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAczB,gBAAgB;IAChB,OAAO,CAAC,mBAAmB;IAM3B,gBAAgB;IAChB,OAAO,CAAC,wBAAwB;IAMhC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;IAuCpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAmB/B,uBAAuB;IACvB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,iBAAqB;IAsCzD,2CAA2C;IAC3C,aAAa,IAAI,MAAM;CAGxB"}
@@ -1,325 +0,0 @@
1
- import { FuncArr, GeneralFuncType } from './func_arr';
2
- import { Element } from './element';
3
- import { NormalizedComponentOptions } from './global_options';
4
- import { ShadowRoot } from './shadow_root';
5
- import { ComponentInstance, ComponentParams, DataList, PropertyList, MethodList, DataWithPropertyValues, ComponentMethod, TaggedMethod, DeepReadonly, GetFromDataPath, SetDataSetter } from './component_params';
6
- import { Behavior, GeneralBehavior, ComponentDefinitionWithPlaceholder, NativeNodeDefinition } from './behavior';
7
- import { ComponentSpace } from './component_space';
8
- import { DataGroup, DataGroupObserverTree, DataValue, DeepCopyStrategy } from './data_proxy';
9
- import { Relation, RelationDefinitionGroup } from './relation';
10
- import { Template, TemplateInstance } from './template_engine';
11
- import { GeneralBackendContext, GeneralBackendElement } from './node';
12
- import { DataPath } from './data_path';
13
- import { ExternalShadowRoot } from './external_shadow_tree';
14
- import { EventListener, EventListenerOptions } from './event';
15
- import { TraitBehavior } from './trait_behaviors';
16
- export declare const convertGenerics: (compDef: GeneralComponentDefinition, sourceBehavior: GeneralBehavior, owner?: GeneralComponent, genericTargets?: {
17
- [key: string]: ComponentDefinitionWithPlaceholder;
18
- } | undefined) => {
19
- [key: string]: ComponentDefinitionWithPlaceholder;
20
- } | null;
21
- export declare const resolvePlaceholder: (placeholder: string, space: ComponentSpace, behavior: GeneralBehavior, genericImpls: {
22
- [key: string]: ComponentDefinitionWithPlaceholder;
23
- } | null) => GeneralComponentDefinition | NativeNodeDefinition;
24
- export type Lifetimes = {
25
- created: () => void;
26
- attached: () => void;
27
- moved: () => void;
28
- detached: () => void;
29
- ready: () => void;
30
- listenerChange: (isAdd: boolean, name: string, func: EventListener<unknown>, options: EventListenerOptions | undefined) => void;
31
- workletChange: (name: string, value: unknown) => void;
32
- };
33
- export type LifetimeFuncs = {
34
- [name in keyof Lifetimes]?: FuncArr<Lifetimes[name]>;
35
- } & Record<string, FuncArr<GeneralFuncType>>;
36
- export type PageLifetimeFuncs = {
37
- [name: string]: FuncArr<GeneralFuncType>;
38
- };
39
- type ComponentDefinitionDetail<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> = {
40
- proto: ComponentInstProto<TData, TProperty, TMethod>;
41
- template: Template;
42
- dataGroupObserverTree: DataGroupObserverTree;
43
- dataDeepCopy: DeepCopyStrategy;
44
- propertyPassingDeepCopy: DeepCopyStrategy;
45
- relationDefinitionGroup: RelationDefinitionGroup | null;
46
- };
47
- export declare class ComponentDefinition<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> {
48
- is: string;
49
- behavior: Behavior<TData, TProperty, TMethod, any>;
50
- /** @internal */
51
- _$detail: ComponentDefinitionDetail<TData, TProperty, TMethod> | null;
52
- /** @internal */
53
- _$options: NormalizedComponentOptions;
54
- /** @internal */
55
- private _$templateEngine;
56
- /** @internal */
57
- constructor(behavior: Behavior<TData, TProperty, TMethod, any>);
58
- general(): GeneralComponentDefinition;
59
- /** Get the normalized component options */
60
- getComponentOptions(): NormalizedComponentOptions;
61
- /**
62
- * List all component dependencies (recursively)
63
- *
64
- * This method will prepare the underlying behavior.
65
- * The caller component is not included in the result.
66
- */
67
- getComponentDependencies(): Set<GeneralComponentDefinition>;
68
- /**
69
- * Update the template field
70
- *
71
- * This method has no effect if the template engine does not support template update.
72
- */
73
- updateTemplate(template: {
74
- [key: string]: unknown;
75
- }): void;
76
- isPrepared(): boolean;
77
- prepare(): void;
78
- }
79
- /**
80
- * A node that has a shadow tree attached to it
81
- */
82
- export declare class Component<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> extends Element {
83
- /** @internal */
84
- _$behavior: Behavior<TData, TProperty, TMethod, any>;
85
- /** @internal */
86
- _$definition: ComponentDefinition<TData, TProperty, TMethod>;
87
- /** @internal */
88
- _$lifetimeFuncs: LifetimeFuncs;
89
- /** @internal */
90
- _$pageLifetimeFuncs: PageLifetimeFuncs;
91
- /** @internal */
92
- _$methodMap: MethodList;
93
- /** @internal */
94
- _$genericImpls: {
95
- [name: string]: ComponentDefinitionWithPlaceholder;
96
- } | null;
97
- /** @internal */
98
- _$dataGroup: DataGroup<TData, TProperty, TMethod>;
99
- /** @internal */
100
- _$external: boolean;
101
- shadowRoot: ShadowRoot | ExternalShadowRoot;
102
- /** @internal */
103
- _$tmplInst: TemplateInstance | undefined;
104
- /** @internal */
105
- _$relation: Relation | null;
106
- /** @internal */
107
- _$idPrefix: string;
108
- /** @internal */
109
- _$componentInstanceId: number | undefined;
110
- tagName: string;
111
- /** @internal */
112
- private _$traitGroup;
113
- /** @internal */
114
- private _$methodCaller;
115
- constructor();
116
- general(): GeneralComponent;
117
- /**
118
- * Cast a general component node to the instance of the specified component
119
- *
120
- * Returns `null` if the component node is not the instance of the specified component.
121
- */
122
- asInstanceOf<UData extends DataList, UProperty extends PropertyList, UMethod extends MethodList>(componentDefinition: ComponentDefinition<UData, UProperty, UMethod>): ComponentInstance<UData, UProperty, UMethod> | null;
123
- static register<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(def: ComponentParams<TData, TProperty, TMethod> & ThisType<ComponentInstance<TData, TProperty, TMethod>>, space?: ComponentSpace): ComponentDefinition<TData, TProperty, TMethod>;
124
- /** @internal */
125
- static _$tagMethod<Fn extends ComponentMethod>(func: Fn): TaggedMethod<Fn>;
126
- /** @internal */
127
- static _$isTaggedMethod(func: unknown): func is TaggedMethod<ComponentMethod>;
128
- /** @internal */
129
- static _$advancedCreate<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string, def: ComponentDefinition<TData, TProperty, TMethod>, owner: ShadowRoot | null, backendContext: GeneralBackendContext | null, genericImpls: {
130
- [name: string]: ComponentDefinitionWithPlaceholder;
131
- } | null, placeholderHandler: (() => void) | undefined, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
132
- static createWithGenericsAndContext<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string | ComponentDefinition<TData, TProperty, TMethod>, componentDefinition: ComponentDefinition<TData, TProperty, TMethod> | null, genericTargets: {
133
- [name: string]: GeneralComponentDefinition;
134
- } | null, backendContext: GeneralBackendContext | null, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
135
- static createWithGenerics<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string | ComponentDefinition<TData, TProperty, TMethod>, componentDefinition: ComponentDefinition<TData, TProperty, TMethod> | null, genericImpls: {
136
- [name: string]: GeneralComponentDefinition;
137
- } | null, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
138
- static createWithContext<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string | ComponentDefinition<TData, TProperty, TMethod>, componentDefinition: ComponentDefinition<TData, TProperty, TMethod> | null, backendContext: GeneralBackendContext | null, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
139
- static create<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string | ComponentDefinition<TData, TProperty, TMethod>, componentDefinition: ComponentDefinition<TData, TProperty, TMethod> | null, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
140
- get is(): string;
141
- get properties(): DeepReadonly<DataWithPropertyValues<TData, TProperty>>;
142
- get data(): DeepReadonly<DataWithPropertyValues<TData, TProperty>>;
143
- set data(newData: Partial<DataWithPropertyValues<TData, TProperty>>);
144
- get $(): {
145
- [id: string]: Element;
146
- } | {
147
- [id: string]: GeneralBackendElement;
148
- };
149
- /**
150
- * Returns the shadow root element
151
- *
152
- * Returns `null` for external components.
153
- */
154
- getShadowRoot(): ShadowRoot | null;
155
- /**
156
- * Apply the template updates to this component instance
157
- *
158
- * This method has no effect if the template engine does not support template update.
159
- */
160
- applyTemplateUpdates(): void;
161
- static listProperties<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: ComponentInstance<TData, TProperty, TMethod>): string[];
162
- static hasProperty<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>, propName: string): boolean;
163
- /** List methods by the component definition (backward compatibility) */
164
- static getMethodsFromDef<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(compDef: ComponentDefinition<TData, TProperty, TMethod>): {
165
- [name: string]: GeneralFuncType;
166
- };
167
- /**
168
- * Get a method
169
- *
170
- * If `useMethodCallerListeners` option is set for this component,
171
- * this method will use the corresponding fields in the `methodCaller` .
172
- */
173
- static getMethod<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>, methodName: string): GeneralFuncType | undefined;
174
- /**
175
- * Call a method
176
- *
177
- * If `useMethodCallerListeners` option is set for this component,
178
- * this method will use the corresponding fields in the `methodCaller` .
179
- * Returns `undefined` if there is no such method.
180
- */
181
- callMethod<T extends string>(methodName: T, ...args: Parameters<MethodList[T]>): ReturnType<MethodList[T]> | undefined;
182
- /**
183
- * Get the corresponding component definition
184
- */
185
- getComponentDefinition(): ComponentDefinition<TData, TProperty, TMethod>;
186
- /**
187
- * Get the options of the component
188
- */
189
- getComponentOptions(): NormalizedComponentOptions;
190
- /**
191
- * Check whether the `other` behavior is a dependent behavior or a implemented trait behavior
192
- */
193
- hasBehavior(other: string | GeneralBehavior | TraitBehavior<any, any>): boolean;
194
- /** Get the root behavior of the component */
195
- getRootBehavior(): Behavior<TData, TProperty, TMethod, any>;
196
- /**
197
- * Get the trait behavior implementation of the component
198
- *
199
- * Returns `undefined` if the specified trait behavior is not implemented.
200
- */
201
- traitBehavior<TOut extends {
202
- [x: string]: any;
203
- }>(traitBehavior: TraitBehavior<any, TOut>): TOut | undefined;
204
- /**
205
- * Set the caller (a.k.a. `this` ) of event callbacks and life-time callbacks
206
- *
207
- * By default, the caller is the component instance itself.
208
- * Use this method to override this behavior.
209
- */
210
- setMethodCaller(caller: ComponentInstance<TData, TProperty, TMethod>): void;
211
- /**
212
- * Get the current caller set by `setMethodCaller`
213
- */
214
- getMethodCaller(): ComponentInstance<TData, TProperty, TMethod>;
215
- /**
216
- * Triggers a life-time callback on an element
217
- *
218
- * Normally external life-times should only be triggered by template engine.
219
- * Most cases should take a common method instead.
220
- */
221
- triggerLifetime(name: string, args: Parameters<GeneralFuncType>): void;
222
- /**
223
- * @internal
224
- * @deprecated Rename to `triggerLifetime`
225
- */
226
- triggerLifeTime(name: string, args: Parameters<GeneralFuncType>): void;
227
- /**
228
- * Triggers a page-life-time callback on an element
229
- */
230
- triggerPageLifetime(name: string, args: Parameters<GeneralFuncType>): void;
231
- /**
232
- * @internal
233
- * @deprecated Rename to `triggerPageLifetime`
234
- */
235
- triggerPageLifeTime(name: string, args: Parameters<GeneralFuncType>): void;
236
- /**
237
- * Get the target elements of a relation
238
- */
239
- getRelationNodes(relationKey: string): GeneralComponent[];
240
- /** Check the existence of an external class */
241
- hasExternalClass(name: string): boolean;
242
- /** Update an external class value */
243
- setExternalClass(name: string, target: string): void;
244
- /** Schedule an update for an external class value */
245
- scheduleExternalClassChange(name: string, target: string): void;
246
- /** Update multiple external class values */
247
- applyExternalClassChanges(): void;
248
- /** Triggers a worklet change lifetime */
249
- triggerWorkletChangeLifetime(name: string, value: unknown): void;
250
- /** Check a field is excluded by pureDataPattern or not */
251
- isInnerDataExcluded(fieldName: string): boolean;
252
- static getInnerData<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>): {
253
- [key: string]: DataValue;
254
- } | null;
255
- static getDataProxy<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>): DataGroup<TData, TProperty, TMethod>;
256
- static replaceWholeData<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>, newData: DataWithPropertyValues<TData, TProperty>): void;
257
- /**
258
- * Schedule a data update on a single specified path
259
- *
260
- * The data update will not be applied until next `setData` or `applyDataUpdates` call.
261
- * All data observers will not be triggered immediately before applied.
262
- * Reads of the data will get the unchanged value before applied.
263
- */
264
- replaceDataOnPath<T extends DataPath>(path: readonly [...T], data: GetFromDataPath<DataWithPropertyValues<TData, TProperty>, T>): void;
265
- /**
266
- * Schedule an array update
267
- *
268
- * The behavior is like `Array.prototype.slice` .
269
- * Break the array before the `index`-th item, delete `del` items, and insert some items here.
270
- * If `index` is undefined, negative, or larger than the length of the array,
271
- * no items will be deleted and new items will be appended to the end of the array.
272
- * The data update will not be applied until next `setData` or `applyDataUpdates` call.
273
- * All data observers will not be triggered immediately before applied.
274
- * Reads of the data will get the unchanged value before applied.
275
- */
276
- spliceArrayDataOnPath<T extends DataPath>(path: readonly [...T], index: GetFromDataPath<DataWithPropertyValues<TData, TProperty>, T> extends any[] ? number | undefined : never, del: GetFromDataPath<DataWithPropertyValues<TData, TProperty>, T> extends any[] ? number | undefined : never, inserts: GetFromDataPath<DataWithPropertyValues<TData, TProperty>, T> extends (infer I)[] ? I[] : never): void;
277
- /**
278
- * Check whether there are pending changes or not
279
- */
280
- hasPendingChanges(): boolean;
281
- /**
282
- * Apply all scheduled updates immediately
283
- *
284
- * Inside observers, it is generally not .
285
- */
286
- applyDataUpdates(): void;
287
- /**
288
- * Pending all data updates in the callback, and apply updates after callback returns
289
- *
290
- * This function helps grouping several `replaceDataOnPath` or `spliceArrayDataOnPath` calls,
291
- * and then apply them at the end of the callback.
292
- * `setData` and `applyDataUpdates` calls inside the callback still apply updates immediately.
293
- */
294
- groupUpdates<T>(callback: () => T): T;
295
- /**
296
- * Schedule a classic data updates
297
- *
298
- * The data update will not be applied until next `setData` or `applyDataUpdates` call.
299
- * When called inside observers, the data update will be applied when observer ends.
300
- * All data observers will not be triggered immediately before applied.
301
- * Reads of the data will get the unchanged value before applied.
302
- */
303
- updateData(newData?: Partial<SetDataSetter<DataWithPropertyValues<TData, TProperty>>>): void;
304
- /**
305
- * Do a classic data updates
306
- *
307
- * This method apply updates immediately, so there is no async callback.
308
- * When called inside observers, the data update will not be applied to templates.
309
- * Inside observers, it is recommended to use `updateData` instead.
310
- */
311
- setData(newData?: Partial<SetDataSetter<DataWithPropertyValues<TData, TProperty>>>): void;
312
- }
313
- export type GeneralComponentDefinition = ComponentDefinition<Record<string, any>, Record<string, any>, Record<string, any>>;
314
- export type GeneralComponent = Component<Record<string, any>, Record<string, any>, Record<string, any>>;
315
- type ComponentInstProto<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> = Component<TData, TProperty, TMethod> & {
316
- _$behavior: Behavior<TData, TProperty, TMethod, any>;
317
- _$definition: ComponentDefinition<TData, TProperty, TMethod>;
318
- _$lifetimeFuncs: LifetimeFuncs;
319
- _$pageLifetimeFuncs: PageLifetimeFuncs;
320
- _$methodMap: MethodList;
321
- } & {
322
- [key: string]: any;
323
- };
324
- export {};
325
- //# sourceMappingURL=component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/component.ts"],"names":[],"mappings":"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"}