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.
Files changed (237) hide show
  1. package/README.md +40 -0
  2. package/dist/glass_easel.all.d.ts +1 -0
  3. package/dist/glass_easel.all.js +2 -0
  4. package/dist/glass_easel.all.js.map +1 -0
  5. package/dist/glass_easel.domlike.global.d.ts +1 -0
  6. package/dist/glass_easel.domlike.global.js +2 -0
  7. package/dist/glass_easel.domlike.global.js.map +1 -0
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +1 -0
  10. package/dist/types/src/backend/backend_protocol.d.ts +119 -0
  11. package/dist/types/src/backend/backend_protocol.d.ts.map +1 -0
  12. package/dist/types/src/backend/composed_backend_protocol.d.ts +90 -0
  13. package/dist/types/src/backend/composed_backend_protocol.d.ts.map +1 -0
  14. package/dist/types/src/backend/domlike_backend_protocol.d.ts +76 -0
  15. package/dist/types/src/backend/domlike_backend_protocol.d.ts.map +1 -0
  16. package/dist/types/src/backend/mode.d.ts +46 -0
  17. package/dist/types/src/backend/mode.d.ts.map +1 -0
  18. package/dist/types/src/backend/suggested_backend_protocol.d.ts +30 -0
  19. package/dist/types/src/backend/suggested_backend_protocol.d.ts.map +1 -0
  20. package/dist/types/src/behavior.d.ts +428 -0
  21. package/dist/types/src/behavior.d.ts.map +1 -0
  22. package/dist/types/src/class_list.d.ts +79 -0
  23. package/dist/types/src/class_list.d.ts.map +1 -0
  24. package/dist/types/src/component.d.ts +291 -0
  25. package/dist/types/src/component.d.ts.map +1 -0
  26. package/dist/types/src/component_params.d.ts +239 -0
  27. package/dist/types/src/component_params.d.ts.map +1 -0
  28. package/dist/types/src/component_space.d.ts +164 -0
  29. package/dist/types/src/component_space.d.ts.map +1 -0
  30. package/dist/types/src/data_path.d.ts +5 -0
  31. package/dist/types/src/data_path.d.ts.map +1 -0
  32. package/dist/types/src/data_proxy.d.ts +107 -0
  33. package/dist/types/src/data_proxy.d.ts.map +1 -0
  34. package/dist/types/src/data_utils.d.ts +3 -0
  35. package/dist/types/src/data_utils.d.ts.map +1 -0
  36. package/dist/types/src/element.d.ts +275 -0
  37. package/dist/types/src/element.d.ts.map +1 -0
  38. package/dist/types/src/element_iterator.d.ts +43 -0
  39. package/dist/types/src/element_iterator.d.ts.map +1 -0
  40. package/dist/types/src/event.d.ts +104 -0
  41. package/dist/types/src/event.d.ts.map +1 -0
  42. package/dist/types/src/external_shadow_tree.d.ts +20 -0
  43. package/dist/types/src/external_shadow_tree.d.ts.map +1 -0
  44. package/dist/types/src/func_arr.d.ts +39 -0
  45. package/dist/types/src/func_arr.d.ts.map +1 -0
  46. package/dist/types/src/global_options.d.ts +111 -0
  47. package/dist/types/src/global_options.d.ts.map +1 -0
  48. package/dist/types/src/index.d.ts +43 -0
  49. package/dist/types/src/index.d.ts.map +1 -0
  50. package/dist/types/src/mutation_observer.d.ts +79 -0
  51. package/dist/types/src/mutation_observer.d.ts.map +1 -0
  52. package/dist/types/src/native_node.d.ts +8 -0
  53. package/dist/types/src/native_node.d.ts.map +1 -0
  54. package/dist/types/src/node.d.ts +49 -0
  55. package/dist/types/src/node.d.ts.map +1 -0
  56. package/dist/types/src/relation.d.ts +47 -0
  57. package/dist/types/src/relation.d.ts.map +1 -0
  58. package/dist/types/src/render.d.ts +3 -0
  59. package/dist/types/src/render.d.ts.map +1 -0
  60. package/dist/types/src/selector.d.ts +32 -0
  61. package/dist/types/src/selector.d.ts.map +1 -0
  62. package/dist/types/src/shadow_root.d.ts +136 -0
  63. package/dist/types/src/shadow_root.d.ts.map +1 -0
  64. package/dist/types/src/template_engine.d.ts +18 -0
  65. package/dist/types/src/template_engine.d.ts.map +1 -0
  66. package/dist/types/src/text_node.d.ts +32 -0
  67. package/dist/types/src/text_node.d.ts.map +1 -0
  68. package/dist/types/src/tmpl/index.d.ts +18 -0
  69. package/dist/types/src/tmpl/index.d.ts.map +1 -0
  70. package/dist/types/src/tmpl/native_rendering.d.ts +45 -0
  71. package/dist/types/src/tmpl/native_rendering.d.ts.map +1 -0
  72. package/dist/types/src/tmpl/proc_gen_wrapper.d.ts +80 -0
  73. package/dist/types/src/tmpl/proc_gen_wrapper.d.ts.map +1 -0
  74. package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts +50 -0
  75. package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts.map +1 -0
  76. package/dist/types/src/tmpl/range_list_diff.d.ts +19 -0
  77. package/dist/types/src/tmpl/range_list_diff.d.ts.map +1 -0
  78. package/dist/types/src/trait_behaviors.d.ts +38 -0
  79. package/dist/types/src/trait_behaviors.d.ts.map +1 -0
  80. package/dist/types/src/virtual_node.d.ts +10 -0
  81. package/dist/types/src/virtual_node.d.ts.map +1 -0
  82. package/dist/types/tests/backend/domlike.test.d.ts +2 -0
  83. package/dist/types/tests/backend/domlike.test.d.ts.map +1 -0
  84. package/dist/types/tests/base/env.d.ts +29 -0
  85. package/dist/types/tests/base/env.d.ts.map +1 -0
  86. package/dist/types/tests/base/match.d.ts +9 -0
  87. package/dist/types/tests/base/match.d.ts.map +1 -0
  88. package/dist/types/tests/core/backend.test.d.ts +2 -0
  89. package/dist/types/tests/core/backend.test.d.ts.map +1 -0
  90. package/dist/types/tests/core/behavior.test.d.ts +2 -0
  91. package/dist/types/tests/core/behavior.test.d.ts.map +1 -0
  92. package/dist/types/tests/core/component_space.test.d.ts +2 -0
  93. package/dist/types/tests/core/component_space.test.d.ts.map +1 -0
  94. package/dist/types/tests/core/data_update.test.d.ts +2 -0
  95. package/dist/types/tests/core/data_update.test.d.ts.map +1 -0
  96. package/dist/types/tests/core/misc.test.d.ts +2 -0
  97. package/dist/types/tests/core/misc.test.d.ts.map +1 -0
  98. package/dist/types/tests/core/placeholder.test.d.ts +2 -0
  99. package/dist/types/tests/core/placeholder.test.d.ts.map +1 -0
  100. package/dist/types/tests/core/slot.test.d.ts +2 -0
  101. package/dist/types/tests/core/slot.test.d.ts.map +1 -0
  102. package/dist/types/tests/core/trait_behaviors.test.d.ts +2 -0
  103. package/dist/types/tests/core/trait_behaviors.test.d.ts.map +1 -0
  104. package/dist/types/tests/tmpl/binding_map.test.d.ts +2 -0
  105. package/dist/types/tests/tmpl/binding_map.test.d.ts.map +1 -0
  106. package/dist/types/tests/tmpl/event.test.d.ts +2 -0
  107. package/dist/types/tests/tmpl/event.test.d.ts.map +1 -0
  108. package/dist/types/tests/tmpl/expression.test.d.ts +2 -0
  109. package/dist/types/tests/tmpl/expression.test.d.ts.map +1 -0
  110. package/dist/types/tests/tmpl/lvalue.test.d.ts +2 -0
  111. package/dist/types/tests/tmpl/lvalue.test.d.ts.map +1 -0
  112. package/dist/types/tests/tmpl/native_rendering.test.d.ts +2 -0
  113. package/dist/types/tests/tmpl/native_rendering.test.d.ts.map +1 -0
  114. package/dist/types/tests/tmpl/structure.test.d.ts +2 -0
  115. package/dist/types/tests/tmpl/structure.test.d.ts.map +1 -0
  116. package/dist/types/tests/types/chaining.test.d.ts +2 -0
  117. package/dist/types/tests/types/chaining.test.d.ts.map +1 -0
  118. package/dist/types/tests/types/createElement.test.d.ts +2 -0
  119. package/dist/types/tests/types/createElement.test.d.ts.map +1 -0
  120. package/dist/types/tests/types/definition.test.d.ts +2 -0
  121. package/dist/types/tests/types/definition.test.d.ts.map +1 -0
  122. package/guide/zh_CN/advanced/binding_map_update.md +32 -0
  123. package/guide/zh_CN/advanced/build_args.md +28 -0
  124. package/guide/zh_CN/advanced/component_filter.md +70 -0
  125. package/guide/zh_CN/advanced/component_space.md +124 -0
  126. package/guide/zh_CN/advanced/custom_backend.md +53 -0
  127. package/guide/zh_CN/advanced/error_listener.md +32 -0
  128. package/guide/zh_CN/advanced/external_component.md +73 -0
  129. package/guide/zh_CN/advanced/template_engine.md +61 -0
  130. package/guide/zh_CN/appendix/backend_protocol.md +501 -0
  131. package/guide/zh_CN/appendix/list_diff_algorithm.md +406 -0
  132. package/guide/zh_CN/basic/beginning.md +94 -0
  133. package/guide/zh_CN/basic/component.md +156 -0
  134. package/guide/zh_CN/basic/event.md +169 -0
  135. package/guide/zh_CN/basic/lifetime.md +66 -0
  136. package/guide/zh_CN/basic/method.md +62 -0
  137. package/guide/zh_CN/basic/template.md +135 -0
  138. package/guide/zh_CN/data_management/advanced_update.md +170 -0
  139. package/guide/zh_CN/data_management/data_deep_copy.md +157 -0
  140. package/guide/zh_CN/data_management/data_observer.md +154 -0
  141. package/guide/zh_CN/data_management/property_early_init.md +31 -0
  142. package/guide/zh_CN/data_management/pure_data_pattern.md +21 -0
  143. package/guide/zh_CN/index.md +93 -0
  144. package/guide/zh_CN/interaction/behavior.md +52 -0
  145. package/guide/zh_CN/interaction/component_path.md +37 -0
  146. package/guide/zh_CN/interaction/generic.md +73 -0
  147. package/guide/zh_CN/interaction/placeholder.md +40 -0
  148. package/guide/zh_CN/interaction/relation.md +151 -0
  149. package/guide/zh_CN/interaction/slot.md +137 -0
  150. package/guide/zh_CN/interaction/template_import.md +94 -0
  151. package/guide/zh_CN/interaction/trait_behavior.md +117 -0
  152. package/guide/zh_CN/styling/external_class.md +46 -0
  153. package/guide/zh_CN/styling/style_isolation.md +54 -0
  154. package/guide/zh_CN/styling/virtual_host.md +52 -0
  155. package/guide/zh_CN/tree/element_iterator.md +54 -0
  156. package/guide/zh_CN/tree/mutation_observer.md +52 -0
  157. package/guide/zh_CN/tree/node_tree.md +142 -0
  158. package/guide/zh_CN/tree/node_tree_modification.md +78 -0
  159. package/guide/zh_CN/tree/selector.md +66 -0
  160. package/jest.config.js +6 -0
  161. package/jest.dts.config.js +9 -0
  162. package/jest.unit.config.js +14 -0
  163. package/package.json +28 -0
  164. package/src/backend/backend_protocol.ts +313 -0
  165. package/src/backend/composed_backend_protocol.ts +252 -0
  166. package/src/backend/domlike_backend_protocol.ts +370 -0
  167. package/src/backend/mode.ts +51 -0
  168. package/src/backend/suggested_backend_protocol.ts +83 -0
  169. package/src/behavior.ts +1655 -0
  170. package/src/bootstrap_dom_dev.js +22 -0
  171. package/src/class_list.ts +376 -0
  172. package/src/component.ts +1309 -0
  173. package/src/component_params.ts +461 -0
  174. package/src/component_space.ts +547 -0
  175. package/src/data_path.ts +225 -0
  176. package/src/data_proxy.ts +670 -0
  177. package/src/data_utils.ts +50 -0
  178. package/src/element.ts +1966 -0
  179. package/src/element_iterator.ts +158 -0
  180. package/src/event.ts +401 -0
  181. package/src/external_shadow_tree.ts +27 -0
  182. package/src/func_arr.ts +198 -0
  183. package/src/global_options.ts +242 -0
  184. package/src/index.ts +187 -0
  185. package/src/mutation_observer.ts +252 -0
  186. package/src/native_node.ts +74 -0
  187. package/src/node.ts +174 -0
  188. package/src/relation.ts +380 -0
  189. package/src/render.ts +25 -0
  190. package/src/selector.ts +218 -0
  191. package/src/shadow_root.ts +766 -0
  192. package/src/template_engine.ts +45 -0
  193. package/src/text_node.ts +149 -0
  194. package/src/tmpl/index.ts +199 -0
  195. package/src/tmpl/native_rendering.ts +175 -0
  196. package/src/tmpl/proc_gen_wrapper.ts +954 -0
  197. package/src/tmpl/proc_gen_wrapper_dom.ts +230 -0
  198. package/src/tmpl/range_list_diff.ts +443 -0
  199. package/src/trait_behaviors.ts +51 -0
  200. package/src/virtual_node.ts +51 -0
  201. package/tests/backend/domlike.test.ts +254 -0
  202. package/tests/base/env.ts +78 -0
  203. package/tests/base/match.ts +185 -0
  204. package/tests/core/backend.test.ts +144 -0
  205. package/tests/core/behavior.test.ts +546 -0
  206. package/tests/core/component_space.test.ts +212 -0
  207. package/tests/core/data_update.test.ts +461 -0
  208. package/tests/core/misc.test.ts +339 -0
  209. package/tests/core/placeholder.test.ts +180 -0
  210. package/tests/core/slot.test.ts +1495 -0
  211. package/tests/core/trait_behaviors.test.ts +153 -0
  212. package/tests/legacy/README.md +3 -0
  213. package/tests/legacy/behavior.test.js +293 -0
  214. package/tests/legacy/component.test.js +1247 -0
  215. package/tests/legacy/data_path.test.js +149 -0
  216. package/tests/legacy/data_proxy.test.js +759 -0
  217. package/tests/legacy/element_iterator.test.js +148 -0
  218. package/tests/legacy/event.test.js +849 -0
  219. package/tests/legacy/external.test.js +510 -0
  220. package/tests/legacy/extra_info.test.js +109 -0
  221. package/tests/legacy/generics.test.js +176 -0
  222. package/tests/legacy/mutation_observer.test.js +210 -0
  223. package/tests/legacy/relation.test.js +517 -0
  224. package/tests/legacy/selector.test.js +263 -0
  225. package/tests/legacy/slot.test.js +915 -0
  226. package/tests/legacy/virtual.test.js +394 -0
  227. package/tests/tmpl/binding_map.test.ts +208 -0
  228. package/tests/tmpl/event.test.ts +206 -0
  229. package/tests/tmpl/expression.test.ts +429 -0
  230. package/tests/tmpl/lvalue.test.ts +160 -0
  231. package/tests/tmpl/native_rendering.test.ts +155 -0
  232. package/tests/tmpl/structure.test.ts +998 -0
  233. package/tests/types/chaining.test.ts +614 -0
  234. package/tests/types/createElement.test.ts +82 -0
  235. package/tests/types/definition.test.ts +442 -0
  236. package/tsconfig.json +11 -0
  237. package/webpack.config.js +270 -0
@@ -0,0 +1,136 @@
1
+ import * as backend from './backend/backend_protocol';
2
+ import { VirtualNode } from './virtual_node';
3
+ import { GeneralComponentDefinition, GeneralComponent } from './component';
4
+ import { TextNode } from './text_node';
5
+ import { NativeNode } from './native_node';
6
+ import { Element } from './element';
7
+ import { Node } from './node';
8
+ export declare class ShadowRoot extends VirtualNode {
9
+ private _$host;
10
+ /** @internal */
11
+ _$backendShadowRoot: backend.ShadowRootContext | null;
12
+ private _$idMap;
13
+ private _$slotCacheDirty;
14
+ private _$appliedSlotCacheDirty;
15
+ private _$singleSlot?;
16
+ private _$appliedSingleSlot?;
17
+ private _$slots?;
18
+ private _$appliedSlots?;
19
+ private _$dynamicSlotSet?;
20
+ private _$appliedDynamicSlots?;
21
+ private _$requiredSlotValueNames?;
22
+ private _$propertyPassingDeepCopy?;
23
+ private _$insertDynamicSlotHandler?;
24
+ private _$removeDynamicSlotHandler?;
25
+ private _$updateDynamicSlotHandler?;
26
+ constructor();
27
+ static createShadowRoot(host: GeneralComponent): ShadowRoot;
28
+ getHostNode(): GeneralComponent;
29
+ createTextNode(text?: string): TextNode;
30
+ createNativeNode(tagName: string): NativeNode;
31
+ createVirtualNode(virtualName?: string): VirtualNode;
32
+ createComponent(tagName: string, usingKey?: string, genericTargets?: {
33
+ [key: string]: string;
34
+ }, placeholderCallback?: (c: GeneralComponentDefinition) => void, initPropValues?: (comp: GeneralComponent) => void): GeneralComponent;
35
+ /**
36
+ * Create a component if the given tag name is a component in the space, or a native node if not
37
+ *
38
+ * The component `using` map is not used.
39
+ * The tag name is not a relative path to the host component, but an absolute path.
40
+ */
41
+ createComponentOrNativeNode(tagName: string, genericTargets?: {
42
+ [key: string]: string;
43
+ }, initPropValues?: (comp: GeneralComponent | NativeNode) => void): GeneralComponent | NativeNode;
44
+ /**
45
+ * Find whether this component is placeholding or not
46
+ *
47
+ * This method will only find in the component `using` list and `generics` list.
48
+ * If not found, returns `undefined` .
49
+ * If the placeholder will be used, returns `true` ; `false` otherwise.
50
+ */
51
+ checkComponentPlaceholder(usingKey: string): boolean | undefined;
52
+ getElementById(id: string): Element | undefined;
53
+ /** @internal */
54
+ _$markIdCacheDirty(): void;
55
+ /** @internal */
56
+ _$getIdMap(): {
57
+ [id: string]: Element;
58
+ };
59
+ /** Get the slot element if the component is in single-slot mode, or `undefined` if not */
60
+ getSingleSlotElement(): Element | null | undefined;
61
+ /** Get the slot element with the specified name */
62
+ getSlotElementFromName(name: string): Element | Element[] | null;
63
+ /**
64
+ * Get the slot element for the slot content
65
+ *
66
+ * The provided node must be a valid child node of the host of this shadow root.
67
+ * Otherwise the behavior is undefined.
68
+ */
69
+ getContainingSlot(elem: Node | null): Element | null;
70
+ /**
71
+ * Get the elements that should be composed in specified slot
72
+ *
73
+ * This method always returns a new array (or null if the specified slot is invalid).
74
+ * It is convinient but less performant.
75
+ * For better performance, consider using `forEachNodeInSpecifiedSlot` .
76
+ */
77
+ getSlotContentArray(slot: Element): Node[] | null;
78
+ /**
79
+ * Iterate slots
80
+ */
81
+ forEachSlot(f: (slot: Element) => boolean | void): void;
82
+ /**
83
+ * Iterate elements with their slots
84
+ */
85
+ forEachNodeInSlot(f: (node: Node, slot: Element | undefined) => boolean | void): void;
86
+ /**
87
+ * Iterate elements in specified slot
88
+ */
89
+ forEachNodeInSpecifiedSlot(slot: Element | string, f: (node: Node, posIndex: number) => void): void;
90
+ /** @internal */
91
+ _$markSlotCacheDirty(): void;
92
+ /** @internal */
93
+ _$checkSlotChanges(): void;
94
+ private _$updateSlotCache;
95
+ /**
96
+ * Returns `true` if the component is in multiple-slot mode
97
+ */
98
+ isMultipleSlots(): boolean;
99
+ /**
100
+ * Returns `true` if the component is in dynamic-slot mode
101
+ */
102
+ isDynamicSlots(): boolean;
103
+ /**
104
+ * Set the dynamic slot handlers
105
+ *
106
+ * The updated value should be applied with `applySlotUpdates` call.
107
+ * If the handlers have not been set yet,
108
+ * the `insertSlotHandler` will be called for each slot that has been added to the shadow tree.
109
+ */
110
+ setDynamicSlotHandler(requiredSlotValueNames: string[], insertSlotHandler: (slot: Element, name: string, slotValues: {
111
+ [name: string]: unknown;
112
+ }) => void, removeSlotHandler: (slot: Element) => void, updateSlotHandler: (slot: Element, slotValues: {
113
+ [name: string]: unknown;
114
+ }, updatePathTree: {
115
+ [name: string]: true;
116
+ }) => void): void;
117
+ /**
118
+ * Use the same dynamic slot handlers with the `source`
119
+ */
120
+ useDynamicSlotHandlerFrom(source: ShadowRoot): void;
121
+ /**
122
+ * Update a slot value
123
+ *
124
+ * The updated value should be applied with `applySlotValueUpdates` call.
125
+ */
126
+ replaceSlotValue(slot: Element, name: string, value: unknown): void;
127
+ /**
128
+ * Apply slot value updates
129
+ */
130
+ applySlotValueUpdates(slot: Element): void;
131
+ /**
132
+ * Apply all pending slot updates
133
+ */
134
+ applySlotUpdates(): void;
135
+ }
136
+ //# sourceMappingURL=shadow_root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow_root.d.ts","sourceRoot":"","sources":["../../../src/shadow_root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AACrD,OAAO,EACL,WAAW,EACZ,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAEL,0BAA0B,EAC1B,gBAAgB,EAGjB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,QAAQ,EACT,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,OAAO,EACR,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,IAAI,EACL,MAAM,QAAQ,CAAA;AA0Cf,qBAAa,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAC,MAAM,CAAkB;IAChC,gBAAgB;IAChB,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAA;IACrD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,mBAAmB,CAAC,CAAgB;IAC5C,OAAO,CAAC,OAAO,CAAC,CAA6B;IAC7C,OAAO,CAAC,cAAc,CAAC,CAA6B;IACpD,OAAO,CAAC,gBAAgB,CAAC,CAAc;IACvC,OAAO,CAAC,qBAAqB,CAAC,CAA+B;IAC7D,OAAO,CAAC,wBAAwB,CAAC,CAAU;IAC3C,OAAO,CAAC,yBAAyB,CAAC,CAAkB;IACpD,OAAO,CAAC,0BAA0B,CAAC,CAI1B;IACT,OAAO,CAAC,0BAA0B,CAAC,CAAyB;IAC5D,OAAO,CAAC,0BAA0B,CAAC,CAI1B;;IAQT,MAAM,CAAC,gBAAgB,CACrB,IAAI,EAAE,gBAAgB,GACrB,UAAU;IAoCb,WAAW,IAAI,gBAAgB;IAI/B,cAAc,CAAC,IAAI,SAAK,GAAG,QAAQ;IAInC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAI7C,iBAAiB,CAAC,WAAW,SAAY,GAAG,WAAW;IAIvD,eAAe,CACb,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAC1C,mBAAmB,CAAC,EAClB,CAAC,CAAC,EAAE,0BAA0B,KAAK,IAAI,EACzC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,GAChD,gBAAgB;IAwEnB;;;;;OAKG;IACH,2BAA2B,CACzB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAC1C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,KAAK,IAAI,GAC7D,gBAAgB,GAAG,UAAU;IAyBhC;;;;;;OAMG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAgBhE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI/C,gBAAgB;IAChB,kBAAkB;IAIlB,gBAAgB;IAChB,UAAU,IAAI;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAOvC,0FAA0F;IAC1F,oBAAoB,IAAI,OAAO,GAAG,IAAI,GAAG,SAAS;IAIlD,mDAAmD;IACnD,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI;IAkBhE;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI;IAyBpD;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,IAAI;IASjD;;OAEG;IACH,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI;IAgBhD;;OAEG;IACH,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,KAAK,OAAO,GAAG,IAAI;IAqD9E;;OAEG;IACH,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI;IA6C5F,gBAAgB;IAChB,oBAAoB;IAKpB,gBAAgB;IAChB,kBAAkB,IAAI,IAAI;IA0E1B,OAAO,CAAC,iBAAiB;IAuDzB;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;;;OAMG;IACH,qBAAqB,CACnB,sBAAsB,EAAE,MAAM,EAAE,EAChC,iBAAiB,EAAE,CACjB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KACpC,IAAI,EACT,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,EAC1C,iBAAiB,EAAE,CACjB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACvC,cAAc,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACrC,IAAI;IAiBX;;OAEG;IACH,yBAAyB,CAAC,MAAM,EAAE,UAAU;IAW5C;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IA2BnE;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,OAAO;IASnC;;OAEG;IACH,gBAAgB,IAAI,IAAI;CAmBzB"}
@@ -0,0 +1,18 @@
1
+ import { GeneralBehavior } from './behavior';
2
+ import { GeneralComponentInstance } from './component_params';
3
+ import { ShadowRoot } from './shadow_root';
4
+ import { DataChange, DataValue } from './data_proxy';
5
+ import { NormalizedComponentOptions } from './global_options';
6
+ import { ExternalShadowRoot } from './external_shadow_tree';
7
+ export interface TemplateEngine {
8
+ create(behavior: GeneralBehavior, componentOptions: NormalizedComponentOptions): Template;
9
+ }
10
+ export interface Template {
11
+ createInstance(elem: GeneralComponentInstance): TemplateInstance;
12
+ }
13
+ export interface TemplateInstance {
14
+ shadowRoot: ShadowRoot | ExternalShadowRoot;
15
+ initValues(data: DataValue): void;
16
+ updateValues(data: DataValue, changes: DataChange[]): void;
17
+ }
18
+ //# sourceMappingURL=template_engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template_engine.d.ts","sourceRoot":"","sources":["../../../src/template_engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,UAAU,EACV,SAAS,EACV,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,0BAA0B,EAC3B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,cAAc;IAC7B,MAAM,CACJ,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,0BAA0B,GAC3C,QAAQ,CAAA;CACZ;AAED,MAAM,WAAW,QAAQ;IACvB,cAAc,CACZ,IAAI,EAAE,wBAAwB,GAC7B,gBAAgB,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,UAAU,GAAG,kBAAkB,CAAA;IAE3C,UAAU,CACR,IAAI,EAAE,SAAS,GACd,IAAI,CAAA;IAEP,YAAY,CACV,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,EAAE,GACpB,IAAI,CAAA;CACR"}
@@ -0,0 +1,32 @@
1
+ import { ShadowRoot } from './shadow_root';
2
+ import { Element } from './element';
3
+ import { GeneralBackendElement, NodeCast } from './node';
4
+ export declare class TextNode implements NodeCast {
5
+ private _$backendElement;
6
+ private _$text;
7
+ ownerShadowRoot: ShadowRoot;
8
+ parentNode: Element | null;
9
+ /** @internal */
10
+ _$destroyOnDetach: boolean;
11
+ /** @internal */
12
+ _$nodeSlotElement: Element | null;
13
+ constructor(text: string, owner: ShadowRoot);
14
+ static create(text: string, ownerShadowRoot: ShadowRoot): TextNode;
15
+ asTextNode(): TextNode;
16
+ asElement(): null;
17
+ asNativeNode(): null;
18
+ asVirtualNode(): null;
19
+ asInstanceOf(): null;
20
+ /** Destroy the backend element */
21
+ destroyBackendElement(): void;
22
+ /** Destroy the backend element on next detach */
23
+ destroyBackendElementOnDetach(): void;
24
+ /** Get the backend element */
25
+ getBackendElement(): GeneralBackendElement | null;
26
+ /** Get composed parent (including virtual nodes) */
27
+ getComposedParent(): Element | null;
28
+ get $$(): GeneralBackendElement | null;
29
+ get textContent(): string;
30
+ set textContent(text: string);
31
+ }
32
+ //# sourceMappingURL=text_node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text_node.d.ts","sourceRoot":"","sources":["../../../src/text_node.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,OAAO,EACR,MAAM,WAAW,CAAA;AAIlB,OAAO,EACL,qBAAqB,EAAE,QAAQ,EAChC,MAAM,QAAQ,CAAA;AASf,qBAAa,QAAS,YAAW,QAAQ;IACvC,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,MAAM,CAAQ;IACtB,eAAe,EAAE,UAAU,CAAA;IAC3B,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,gBAAgB;IAChB,iBAAiB,UAAQ;IACzB,gBAAgB;IAChB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAA;gBAG/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU;IAuBnB,MAAM,CAAC,MAAM,CACX,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,UAAU,GAC1B,QAAQ;IAIX,UAAU,IAAI,QAAQ;IAKtB,SAAS,IAAI,IAAI;IAKjB,YAAY,IAAI,IAAI;IAKpB,aAAa,IAAI,IAAI;IAKrB,YAAY,IAAI,IAAI;IAIpB,kCAAkC;IAClC,qBAAqB;IAWrB,iDAAiD;IACjD,6BAA6B;IAI7B,8BAA8B;IAC9B,iBAAiB,IAAI,qBAAqB,GAAG,IAAI;IAIjD,oDAAoD;IACpD,iBAAiB,IAAI,OAAO,GAAG,IAAI;IAYnC,IAAI,EAAE,iCAEL;IAED,IAAI,WAAW,IAIO,MAAM,CAF3B;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAe3B;CACF"}
@@ -0,0 +1,18 @@
1
+ import { templateEngine, GeneralBehavior, NormalizedComponentOptions } from '..';
2
+ import { ProcGenWrapper, ProcGen } from './proc_gen_wrapper';
3
+ export declare const DEFAULT_PROC_GEN_GROUP: (name: string) => ProcGen;
4
+ export type ProcGenGroup = (name: string) => ProcGen;
5
+ export type ProcGenGroupList = {
6
+ [path: string]: ProcGenGroup;
7
+ };
8
+ export type ComponentTemplate = {
9
+ groupList?: ProcGenGroupList;
10
+ content: (name: string) => ProcGen;
11
+ updateMode?: string;
12
+ disallowNativeNode?: boolean;
13
+ procGenWrapperType?: typeof ProcGenWrapper;
14
+ };
15
+ export declare class GlassEaselTemplateEngine implements templateEngine.TemplateEngine {
16
+ create(behavior: GeneralBehavior, componentOptions: NormalizedComponentOptions): templateEngine.Template;
17
+ }
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tmpl/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,cAAc,EACd,eAAe,EACf,0BAA0B,EAE3B,MAAM,IAAI,CAAA;AAGX,OAAO,EACL,cAAc,EAEd,OAAO,EAGR,MAAM,oBAAoB,CAAA;AAQ3B,eAAO,MAAM,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAgC,CAAA;AAEvF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;AAEpD,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,CAAA;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,cAAc,CAAC;CAC5C,CAAA;AAQD,qBAAa,wBAAyB,YAAW,cAAc,CAAC,cAAc;IAC5E,MAAM,CACJ,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,0BAA0B,GAC3C,cAAc,CAAC,QAAQ;CAM3B"}
@@ -0,0 +1,45 @@
1
+ import { ExternalShadowRoot, DataValue, templateEngine, GeneralFuncType, GeneralBehavior, Event, ShadowedEvent, GeneralBackendElement, GeneralComponent } from '..';
2
+ import { DataChange } from '../data_proxy';
3
+ import { ProcGenEnv, ProcGen, BindingMapGen } from './proc_gen_wrapper';
4
+ import { ProcGenWrapperDom } from './proc_gen_wrapper_dom';
5
+ export type ExternalEvent = Event<unknown> & {
6
+ target: Element;
7
+ currentTarget: Element;
8
+ };
9
+ export declare const DEFAULT_PROC_GEN_GROUP_DOM: (name: string) => ProcGen;
10
+ export declare class GlassEaselTemplateDOM implements templateEngine.Template {
11
+ data: DataValue;
12
+ innerData: DataValue;
13
+ genObjectGroupEnv: ProcGenEnv;
14
+ updateMode: string;
15
+ methods: {
16
+ [name: string]: GeneralFuncType;
17
+ };
18
+ constructor(behavior: GeneralBehavior);
19
+ createInstance(comp: GeneralComponent): templateEngine.TemplateInstance;
20
+ }
21
+ export declare class GlassEaselTemplateDOMInstance implements templateEngine.TemplateInstance, ExternalShadowRoot {
22
+ template: GlassEaselTemplateDOM;
23
+ comp: GeneralComponent;
24
+ shadowRoot: ExternalShadowRoot;
25
+ shadowRootElement: Element;
26
+ root: GeneralBackendElement;
27
+ slot: GeneralBackendElement;
28
+ idMap: {
29
+ [key: string]: Element;
30
+ };
31
+ listeners: Array<unknown>;
32
+ procGenWrapper: ProcGenWrapperDom;
33
+ bindingMapGen: {
34
+ [field: string]: BindingMapGen[];
35
+ } | undefined;
36
+ constructor(template: GlassEaselTemplateDOM, comp: GeneralComponent);
37
+ initValues(data: DataValue): void;
38
+ getIdMap(): {
39
+ [key: string]: GeneralBackendElement;
40
+ };
41
+ updateValues(data: DataValue, changes: DataChange[]): void;
42
+ setListener<T>(elem: GeneralBackendElement, ev: string, listener: (event: ShadowedEvent<T>) => unknown): void;
43
+ handleEvent(elem: GeneralBackendElement, event: Event<unknown>): void;
44
+ }
45
+ //# sourceMappingURL=native_rendering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native_rendering.d.ts","sourceRoot":"","sources":["../../../../src/tmpl/native_rendering.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EACf,eAAe,EACf,KAAK,EACL,aAAa,EACb,qBAAqB,EAErB,gBAAgB,EACjB,MAAM,IAAI,CAAA;AACX,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EACL,UAAU,EACV,OAAO,EACP,aAAa,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAS/B,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,CAAA;AAQxF,eAAO,MAAM,0BAA0B,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAoC,CAAA;AAE/F,qBAAa,qBAAsB,YAAW,cAAc,CAAC,QAAQ;IACnE,IAAI,EAAE,SAAS,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,UAAU,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAA;gBAG1C,QAAQ,EAAE,eAAe;IAiB3B,cAAc,CACZ,IAAI,EAAE,gBAAgB,GACrB,cAAc,CAAC,gBAAgB;CAGnC;AAED,qBAAa,6BACb,YAAW,cAAc,CAAC,gBAAgB,EAAE,kBAAkB;IAC5D,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,IAAI,EAAE,gBAAgB,CAAA;IACtB,UAAU,EAAE,kBAAkB,CAAA;IAC9B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,IAAI,EAAE,qBAAqB,CAAA;IAC3B,IAAI,EAAE,qBAAqB,CAAA;IAC3B,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IACjC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACzB,cAAc,EAAE,iBAAiB,CAAA;IACjC,aAAa,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;gBAEnD,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE,gBAAgB;IAoBnE,UAAU,CACR,IAAI,EAAE,SAAS;IAejB,QAAQ,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE;IAIpD,YAAY,CACV,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,EAAE;IAUvB,WAAW,CAAC,CAAC,EACX,IAAI,EAAE,qBAAqB,EAC3B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,OAAO;IAUhD,WAAW,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;CAuB/D"}
@@ -0,0 +1,80 @@
1
+ import { ProcGenGroupList } from '.';
2
+ import { DataValue, Element, ShadowRoot, TextNode, GeneralComponent, Node, ShadowedEvent } from '..';
3
+ import { DataPath } from '../data_path';
4
+ import { RangeListManager } from './range_list_diff';
5
+ export type UpdatePathTreeNode = true | {
6
+ [key: string]: UpdatePathTreeNode;
7
+ } | UpdatePathTreeNode[];
8
+ export type UpdatePathTreeRoot = UpdatePathTreeNode | undefined;
9
+ type TmplArgs = {
10
+ key?: number | string;
11
+ keyList?: RangeListManager;
12
+ scopeData?: unknown;
13
+ dynEvListeners?: {
14
+ [name: string]: (ev: ShadowedEvent<unknown>) => boolean | undefined;
15
+ };
16
+ index?: number;
17
+ dynamicSlotNameMatched?: boolean;
18
+ slotProps?: Record<string, [DataValue, DataPath | null, boolean]>;
19
+ slotPropsUpdatePathTree?: Record<string, UpdatePathTreeRoot>;
20
+ };
21
+ export type TmplNode = Node & {
22
+ _$wxTmplArgs?: TmplArgs;
23
+ };
24
+ export declare const getTmplArgs: (elem: Node) => TmplArgs;
25
+ export declare const dataValueToString: (v: DataValue) => string;
26
+ export type ProcGen = (wrapper: ProcGenWrapper, isCreation: boolean, data: DataValue, dataUpdatePathTree: UpdatePathTreeRoot) => {
27
+ C: DefineChildren;
28
+ B?: {
29
+ [field: string]: BindingMapGen[];
30
+ };
31
+ };
32
+ export type ProcGenEnv = {
33
+ group: (name: string) => ProcGen;
34
+ list: ProcGenGroupList;
35
+ };
36
+ export type BindingMapGen = (data: DataValue, elementUpdated: (elem: Element) => void, updateText: (node: TextNode, content: string) => void) => void;
37
+ export type DefineChildren = (isCreation: boolean, defineTextNode: DefineTextNode, defineElement: DefineElement, defineIfGroup: DefineIfGroup, defineForLoop: DefineForLoop, defineSlot: DefineSlot, definePureVirtualNode: DefinePureVirtualNode, dynamicSlotValues: {
38
+ [name: string]: unknown;
39
+ } | undefined, slotValueUpdatePathTrees: UpdatePathTreeNode | undefined) => void;
40
+ type DefineTextNode = (text: string | undefined, textInit?: (elem: TextNode) => boolean) => void;
41
+ type DefineElement = (tag: string, genericImpls: {
42
+ [key: string]: string;
43
+ }, propertyInit: (elem: Element, isCreation: boolean) => void, children: DefineChildren, slot?: string, dynamicSlotValueNames?: string[]) => void;
44
+ type DefineIfGroup = (branchKey: number | string, branchFunc: DefineChildren) => void;
45
+ type DefineForLoop = (list: DataValue[], key: string | null, oriListUpdatePathTree: UpdatePathTreeRoot, lvaluePath: DataPath | null, itemCallback: (isCreation: boolean, item: DataValue, index: number | string, itemUpdatePathTree: UpdatePathTreeRoot, indexUpdatePathTree: UpdatePathTreeRoot, itemLvaluePath: DataPath | null, defineTextNode: DefineTextNode, defineElement: DefineElement, defineIfGroup: DefineIfGroup, defineForLoop: DefineForLoop, defineSlot: DefineSlot, definePureVirtualNode: DefinePureVirtualNode) => void) => void;
46
+ type DefineSlot = (name: string | undefined, slotValueInit?: (elem: Element) => void) => void;
47
+ type DefinePureVirtualNode = (children: DefineChildren, slot: string | undefined) => void;
48
+ export declare class ProcGenWrapper {
49
+ shadowRoot: ShadowRoot;
50
+ procGen: ProcGen;
51
+ disallowNativeNode: boolean;
52
+ bindingMapDisabled: boolean;
53
+ constructor(shadowRoot: ShadowRoot, procGen: ProcGen, disallowNativeNode: boolean);
54
+ create(data: DataValue): {
55
+ [field: string]: BindingMapGen[];
56
+ } | undefined;
57
+ update(data: DataValue, dataUpdatePathTree: UpdatePathTreeRoot): void;
58
+ bindingMapUpdate(field: string, data: DataValue, bindingMapGenList: {
59
+ [field: string]: BindingMapGen[];
60
+ }): boolean;
61
+ handleChildrenCreation(children: DefineChildren, parentNode: Element, slotElement: Element | undefined, dynamicSlotName: string | undefined): void;
62
+ handleChildrenUpdate(children: DefineChildren, parentNode: Element, slotElement: Element | undefined, dynamicSlotName: string | undefined): void;
63
+ dynamicSlotUpdate(elem: GeneralComponent, dynamicSlotValueNames: string[] | undefined, children: DefineChildren): ShadowRoot | null;
64
+ createDynamicPlaceholder(slotElement: Element): Element;
65
+ createCommonElement(tagName: string, genericImpls: {
66
+ [key: string]: string;
67
+ }, propertyInit: (elem: Element, isCreation: boolean) => void, children: DefineChildren, dynamicSlotValueNames: string[] | undefined): Element;
68
+ s(elem: Element, v: string): void;
69
+ l(elem: Element, name: string, value: unknown): void;
70
+ i(elem: Element, v: string): void;
71
+ c(elem: Element, v: string): void;
72
+ y(elem: Element, v: string): void;
73
+ d(elem: Element, name: string, v: unknown): void;
74
+ m(elem: Element, name: string, v: unknown): void;
75
+ v(elem: Element, evName: string, v: string, final: boolean, mutated: boolean, capture: boolean, isDynamic: boolean): void;
76
+ sd(elem: Element, scopeData: unknown): void;
77
+ r(elem: Element, name: string, v: unknown, lvaluePath?: DataPath): void;
78
+ }
79
+ export {};
80
+ //# sourceMappingURL=proc_gen_wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proc_gen_wrapper.d.ts","sourceRoot":"","sources":["../../../../src/tmpl/proc_gen_wrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { DataValue, Node, ShadowedEvent } from '..';
2
+ import { DataPath } from '../data_path';
3
+ import { RangeListManager } from './range_list_diff';
4
+ import { ProcGen, BindingMapGen, UpdatePathTreeRoot } from './proc_gen_wrapper';
5
+ import type { GlassEaselTemplateDOMInstance } from './native_rendering';
6
+ type TmplArgs = {
7
+ key?: number | string;
8
+ keyList?: RangeListManager;
9
+ scopeData?: unknown;
10
+ dynEvListeners?: {
11
+ [name: string]: (ev: ShadowedEvent<unknown>) => boolean | undefined;
12
+ };
13
+ index?: number;
14
+ slotProps?: Record<string, [DataValue, DataPath | null, boolean]>;
15
+ slotPropsUpdatePathTree?: Record<string, UpdatePathTreeRoot>;
16
+ };
17
+ export type TmplNode = Node & {
18
+ _$wxTmplArgs?: TmplArgs;
19
+ };
20
+ declare const noop: () => void;
21
+ export type DefineChildren = (isCreation: boolean, defineTextNode: DefineTextNode, defineElement: DefineElement, defineIfGroup: typeof noop, defineForLoop: typeof noop, defineSlot: DefineSlot, definePureVirtualNode: DefinePureVirtualNode) => void;
22
+ type DefineTextNode = (text: string | undefined, textInit?: (elem: Text) => void) => void;
23
+ type DefineElement = (tag: string, genericImpls: {
24
+ [key: string]: string;
25
+ }, propertyInit: (elem: HTMLElement, isCreation: boolean) => void, children: DefineChildren, slot: string | undefined) => void;
26
+ type DefineSlot = () => void;
27
+ type DefinePureVirtualNode = (children: DefineChildren, slot: string | undefined) => void;
28
+ export declare class ProcGenWrapperDom {
29
+ shadowRoot: GlassEaselTemplateDOMInstance;
30
+ procGen: ProcGen;
31
+ constructor(shadowRoot: GlassEaselTemplateDOMInstance, procGen: ProcGen);
32
+ create(data: DataValue): {
33
+ [field: string]: BindingMapGen[];
34
+ } | undefined;
35
+ bindingMapUpdate(field: string, data: DataValue, bindingMapGenList: {
36
+ [field: string]: BindingMapGen[];
37
+ }): void;
38
+ handleChildrenCreation(children: DefineChildren, parentNode: HTMLElement): void;
39
+ s(): void;
40
+ i(elem: HTMLElement, v: string): void;
41
+ c(elem: HTMLElement, v: string): void;
42
+ y(elem: HTMLElement, v: string): void;
43
+ d(elem: HTMLElement, name: string, v: unknown): void;
44
+ m(): void;
45
+ v(elem: HTMLElement, evName: string, v: string, final: boolean): void;
46
+ sd(): void;
47
+ r(elem: HTMLElement, name: string, v: unknown): void;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=proc_gen_wrapper_dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proc_gen_wrapper_dom.d.ts","sourceRoot":"","sources":["../../../../src/tmpl/proc_gen_wrapper_dom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Element, VirtualNode } from '..';
2
+ import { DataValue } from '../data_proxy';
3
+ import { UpdatePathTreeRoot } from './proc_gen_wrapper';
4
+ export declare class RangeListManager {
5
+ keyName: string | null;
6
+ rawKeys: string[];
7
+ keyMap: {
8
+ [key: string]: number;
9
+ };
10
+ sharedKeyMap: {
11
+ [key: string]: number[];
12
+ } | undefined;
13
+ items: DataValue[];
14
+ indexes: (string | number)[] | null;
15
+ constructor(keyName: string | null, dataList: DataValue, elem: Element, newListItem: (item: DataValue, index: number | string) => VirtualNode);
16
+ updateKeys(dataList: DataValue): void;
17
+ diff(dataList: DataValue[], oriUpdatePathTree: UpdatePathTreeRoot, elem: Element, newListItem: (item: DataValue, index: string | number) => VirtualNode, updateListItem: (item: DataValue, index: string | number, updatePathTree: UpdatePathTreeRoot, indexChanged: boolean, node: VirtualNode) => void): void;
18
+ }
19
+ //# sourceMappingURL=range_list_diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range_list_diff.d.ts","sourceRoot":"","sources":["../../../../src/tmpl/range_list_diff.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,WAAW,EACZ,MAAM,IAAI,CAAA;AACX,OAAO,EACL,SAAS,EACV,MAAM,eAAe,CAAA;AACtB,OAAO,EAAsB,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG3E,qBAAa,gBAAgB;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,EAAG,MAAM,EAAE,CAAA;IAClB,MAAM,EAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAClC,YAAY,EAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;IACtD,KAAK,EAAG,SAAS,EAAE,CAAA;IACnB,OAAO,EAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAA;gBAGlC,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,QAAQ,EAAE,SAAS,EACnB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,CACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,KACnB,WAAW;IAelB,UAAU,CAAC,QAAQ,EAAE,SAAS;IAoF9B,IAAI,CACF,QAAQ,EAAE,SAAS,EAAE,EACrB,iBAAiB,EAAE,kBAAkB,EACrC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,CACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,KACnB,WAAW,EAChB,cAAc,EAAE,CACd,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,cAAc,EAAE,kBAAkB,EAClC,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,WAAW,KACd,IAAI;CAgTZ"}
@@ -0,0 +1,38 @@
1
+ import { ComponentSpace } from '.';
2
+ /**
3
+ * Interface that can be implement dynamically
4
+ *
5
+ * A `TraitBehavior` is like a TypeScript interface, but can be implemented dynamically.
6
+ * It requires the implementors to implement `TIn` .
7
+ * Also, it can provide do a transform from `TIn` to `TOut` as common logic of the trait.
8
+ */
9
+ export declare class TraitBehavior<TIn extends {
10
+ [key: string]: unknown;
11
+ }, TOut extends {
12
+ [key: string]: unknown;
13
+ } = TIn> {
14
+ /** @internal */
15
+ private _$trans?;
16
+ ownerSpace: ComponentSpace;
17
+ /** @internal */
18
+ constructor(ownerSpace: ComponentSpace, trans?: (impl: TIn) => TOut);
19
+ /** @internal */
20
+ _$implement(impl: TIn): TOut;
21
+ }
22
+ /**
23
+ * A manager that can implement multiple different trait behaviors
24
+ */
25
+ export declare class TraitGroup {
26
+ private _$traits;
27
+ implement<TIn extends {
28
+ [key: string]: unknown;
29
+ }, TOut extends {
30
+ [key: string]: unknown;
31
+ }>(traitBehavior: TraitBehavior<TIn, TOut>, impl: TIn): void;
32
+ get<TIn extends {
33
+ [key: string]: unknown;
34
+ }, TOut extends {
35
+ [key: string]: unknown;
36
+ }>(traitBehavior: TraitBehavior<TIn, TOut>): TOut | undefined;
37
+ }
38
+ //# sourceMappingURL=trait_behaviors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trait_behaviors.d.ts","sourceRoot":"","sources":["../../../src/trait_behaviors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,CAAA;AAElC;;;;;;GAMG;AACH,qBAAa,aAAa,CACxB,GAAG,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACtC,IAAI,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,GAAG;IAE7C,gBAAgB;IAChB,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,UAAU,EAAE,cAAc,CAAA;IAE1B,gBAAgB;gBAEJ,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAKnE,gBAAgB;IAChB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;CAG7B;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAA2D;IAE3E,SAAS,CACP,GAAG,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACtC,IAAI,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACvC,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG;IAKpD,GAAG,CACD,GAAG,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACtC,IAAI,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACvC,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS;CAG7D"}
@@ -0,0 +1,10 @@
1
+ import { Element } from './element';
2
+ import { ShadowRoot } from './shadow_root';
3
+ import { GeneralBackendContext } from '.';
4
+ export declare class VirtualNode extends Element {
5
+ is: string;
6
+ constructor();
7
+ protected _$initializeVirtual(virtualName: string, owner: ShadowRoot | null, nodeTreeContext: GeneralBackendContext): void;
8
+ static create(virtualName: string, owner: ShadowRoot): VirtualNode;
9
+ }
10
+ //# sourceMappingURL=virtual_node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtual_node.d.ts","sourceRoot":"","sources":["../../../src/virtual_node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACR,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,UAAU,EACX,MAAM,eAAe,CAAA;AAKtB,OAAO,EACL,qBAAqB,EACtB,MAAM,GAAG,CAAA;AAEV,qBAAa,WAAY,SAAQ,OAAO;IACtC,EAAE,EAAE,MAAM,CAAA;;IAQV,SAAS,CAAC,mBAAmB,CAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,eAAe,EAAE,qBAAqB;IAgBxC,MAAM,CAAC,MAAM,CACX,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,UAAU,GAChB,WAAW;CAKf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=domlike.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domlike.test.d.ts","sourceRoot":"","sources":["../../../../tests/backend/domlike.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import * as glassEasel from '../../src';
2
+ export declare const execWithWarn: <T>(expectCount: number, func: () => T) => T;
3
+ type TemplateOptions = {
4
+ updateMode?: string;
5
+ disallowNativeNode?: boolean;
6
+ };
7
+ export declare const tmpl: (src: string, options?: TemplateOptions) => {
8
+ updateMode?: string | undefined;
9
+ disallowNativeNode?: boolean | undefined;
10
+ groupList: {
11
+ [key: string]: any;
12
+ };
13
+ content: any;
14
+ };
15
+ export declare const multiTmpl: (src: {
16
+ [path: string]: string;
17
+ }, options?: TemplateOptions) => {
18
+ updateMode?: string | undefined;
19
+ disallowNativeNode?: boolean | undefined;
20
+ groupList: {
21
+ [key: string]: any;
22
+ };
23
+ content: any;
24
+ };
25
+ export declare const domBackend: glassEasel.domlikeBackend.CurrentWindowBackendContext;
26
+ export declare const shadowBackend: glassEasel.backend.EmptyBackendContext;
27
+ export declare const composedBackend: glassEasel.composedBackend.EmptyComposedBackendContext;
28
+ export {};
29
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../tests/base/env.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,UAAU,MAAM,WAAW,CAAA;AAiBvC,eAAO,MAAM,YAAY,mBAAoB,MAAM,qBAalD,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,IAAI,QAAS,MAAM,YAAY,eAAe;;;;;;;CAc1D,CAAA;AAED,eAAO,MAAM,SAAS;;aAA+C,eAAe;;;;;;;CAgBnF,CAAA;AAED,eAAO,MAAM,UAAU,uDAA8D,CAAA;AACrF,eAAO,MAAM,aAAa,wCAA+C,CAAA;AACzE,eAAO,MAAM,eAAe,wDAA+D,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { GeneralComponent, Element } from '../../src';
2
+ export declare const native: (structure: {
3
+ element: GeneralComponent;
4
+ childNodes?: {
5
+ element: GeneralComponent;
6
+ }[];
7
+ }) => void;
8
+ export declare const virtual: (elem: Element, defDomElem?: HTMLElement, defIndex?: number) => number;
9
+ //# sourceMappingURL=match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../tests/base/match.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAGhB,OAAO,EAMR,MAAM,WAAW,CAAA;AAYlB,eAAO,MAAM,MAAM,cACN;IACT,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,gBAAgB,CAAA;KAAE,EAAE,CAAC;CAC9C,SAeF,CAAA;AAsCD,eAAO,MAAM,OAAO,SACZ,OAAO,eACA,WAAW,aACb,MAAM,KAChB,MAoGF,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=backend.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.test.d.ts","sourceRoot":"","sources":["../../../../tests/core/backend.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=behavior.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior.test.d.ts","sourceRoot":"","sources":["../../../../tests/core/behavior.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=component_space.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component_space.test.d.ts","sourceRoot":"","sources":["../../../../tests/core/component_space.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data_update.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data_update.test.d.ts","sourceRoot":"","sources":["../../../../tests/core/data_update.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=misc.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.test.d.ts","sourceRoot":"","sources":["../../../../tests/core/misc.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=placeholder.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder.test.d.ts","sourceRoot":"","sources":["../../../../tests/core/placeholder.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=slot.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot.test.d.ts","sourceRoot":"","sources":["../../../../tests/core/slot.test.ts"],"names":[],"mappings":""}