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,428 @@
1
+ import { ComponentParams, DataList, PropertyList, MethodList, ComponentInstance, PropertyListItem, ComponentMethod, RelationParams, PropertyType, TraitRelationParams, DataWithPropertyValues, PropertyOption, PropertyTypeToValueType, TaggedMethod, UnTaggedMethod, ChainingFilterFunc, ChainingFilterType, SetDataSetter, DeepReadonly, Empty, NewFieldList, ObserverDataPathStrings, GetFromObserverPathString, IsNever } from './component_params';
2
+ import { ComponentOptions } from './global_options';
3
+ import { MultiPaths } from './data_path';
4
+ import { DataGroupObserverTree } from './data_proxy';
5
+ import { ComponentDefinition, GeneralComponentDefinition, LifetimeFuncs, Lifetimes, PageLifetimeFuncs } from './component';
6
+ import { RelationDefinition } from './relation';
7
+ import { ComponentSpace, ComponentWaitingList } from './component_space';
8
+ import { TraitBehavior } from './trait_behaviors';
9
+ import { EventListener } from './event';
10
+ export declare const enum NormalizedPropertyType {
11
+ Invalid = 0,
12
+ Any = 1,
13
+ String = 2,
14
+ Number = 3,
15
+ Boolean = 4,
16
+ Object = 5,
17
+ Array = 6,
18
+ Function = 7
19
+ }
20
+ export type PropertyDefinition = {
21
+ type: NormalizedPropertyType;
22
+ optionalTypes: NormalizedPropertyType[] | null;
23
+ value: unknown | undefined;
24
+ default: (() => unknown) | undefined;
25
+ observer: ((newValue: unknown, oldValue: unknown) => void) | null;
26
+ reflectIdPrefix: boolean;
27
+ };
28
+ export type ComponentDefinitionWithPlaceholder = {
29
+ final: GeneralComponentDefinition | null;
30
+ placeholder: string | null;
31
+ waiting: ComponentWaitingList | null;
32
+ };
33
+ type ResolveBehaviorBuilder<B, TChainingFilter extends ChainingFilterType> = IsNever<TChainingFilter> extends false ? TChainingFilter extends ChainingFilterType ? Omit<B, TChainingFilter['remove']> & TChainingFilter['add'] : B : B;
34
+ export declare const convertValueToType: (value: unknown, propName: string, prop: PropertyDefinition) => unknown;
35
+ export declare const matchTypeWithValue: (type: NormalizedPropertyType, value: any) => boolean;
36
+ export declare const normalizeRelation: <TOut extends {
37
+ [key: string]: any;
38
+ }>(is: string, key: string, relation: RelationParams | TraitRelationParams<TOut>) => RelationDefinition | null;
39
+ export interface RelationHandler<TTarget, TOut> {
40
+ list(): TTarget[];
41
+ listAsTrait: TOut extends never ? undefined : () => TOut[];
42
+ }
43
+ export interface RelationInit {
44
+ (def: RelationParams): RelationHandler<any, never>;
45
+ <TOut extends {
46
+ [key: string]: any;
47
+ }>(def: TraitRelationParams<TOut>): RelationHandler<unknown, TOut>;
48
+ }
49
+ export interface BuilderContext<TPrevData extends DataList, TProperty extends PropertyList, TMethodCaller> extends ThisType<TMethodCaller> {
50
+ self: TMethodCaller;
51
+ data: DeepReadonly<DataWithPropertyValues<TPrevData, TProperty>>;
52
+ setData: (newData: Partial<SetDataSetter<TPrevData>>) => void;
53
+ implement: <TIn extends {
54
+ [x: string]: any;
55
+ }>(traitBehavior: TraitBehavior<TIn, any>, impl: TIn) => void;
56
+ relation<TOut extends {
57
+ [key: string]: any;
58
+ }>(def: TraitRelationParams<TOut>): RelationHandler<any, TOut>;
59
+ relation(def: RelationParams): RelationHandler<any, never>;
60
+ observer<P extends ObserverDataPathStrings<DataWithPropertyValues<TPrevData, TProperty>>, V = DeepReadonly<GetFromObserverPathString<DataWithPropertyValues<TPrevData, TProperty>, P>>>(paths: P, func: (newValue: V) => void): void;
61
+ observer<P extends ObserverDataPathStrings<DataWithPropertyValues<TPrevData, TProperty>>[], V = {
62
+ [K in keyof P]: DeepReadonly<GetFromObserverPathString<DataWithPropertyValues<TPrevData, TProperty>, P[K]>>;
63
+ }>(paths: readonly [...P], func: (...newValues: V extends any[] ? V : never) => void): void;
64
+ lifetime: <L extends keyof Lifetimes>(name: L, func: Lifetimes[L]) => void;
65
+ pageLifetime: (name: string, func: (...args: any[]) => void) => void;
66
+ method: <Fn extends ComponentMethod>(func: Fn) => TaggedMethod<Fn>;
67
+ listener: <T>(func: EventListener<T>) => TaggedMethod<EventListener<T>>;
68
+ }
69
+ export type GeneralBehaviorBuilder = BehaviorBuilder<Record<string, any>, Record<string, any>, Record<string, any>, Record<string, any>, never, never>;
70
+ export declare class BehaviorBuilder<TPrevData extends DataList = Empty, TData extends DataList = Empty, TProperty extends PropertyList = Empty, TMethod extends MethodList = Empty, TChainingFilter extends ChainingFilterType = never, TPendingChainingFilter extends ChainingFilterType = never> {
71
+ /** @internal */
72
+ _$ownerSpace: ComponentSpace;
73
+ /** @internal */
74
+ _$is: string | undefined;
75
+ /** @internal */
76
+ _$behaviors: (string | GeneralBehavior)[];
77
+ /** @internal */
78
+ _$chainingFilter?: (chain: GeneralBehaviorBuilder) => any;
79
+ /** @internal */
80
+ _$options?: ComponentOptions;
81
+ /** @internal */
82
+ _$traitBehaviors: {
83
+ traitBehavior: TraitBehavior<any, any>;
84
+ impl: any;
85
+ }[];
86
+ /** @internal */
87
+ _$template?: {
88
+ [key: string]: unknown;
89
+ };
90
+ /** @internal */
91
+ _$using?: {
92
+ [alias: string]: string | GeneralComponentDefinition;
93
+ };
94
+ /** @internal */
95
+ _$placeholders?: {
96
+ [alias: string]: string;
97
+ };
98
+ /** @internal */
99
+ _$generics?: {
100
+ [alias: string]: {
101
+ default?: string | GeneralComponentDefinition;
102
+ } | true;
103
+ };
104
+ /** @internal */
105
+ _$externalClasses?: string[];
106
+ /** @internal */
107
+ _$staticData: {
108
+ [field: string]: any;
109
+ } | undefined;
110
+ /** @internal */
111
+ _$data: (() => {
112
+ [field: string]: any;
113
+ })[];
114
+ /** @internal */
115
+ _$properties?: {
116
+ name: string;
117
+ def: PropertyListItem<PropertyType, unknown>;
118
+ }[];
119
+ /** @internal */
120
+ _$methods: {
121
+ name: string;
122
+ func: ComponentMethod;
123
+ }[];
124
+ /** @internal */
125
+ _$observers?: {
126
+ dataPaths: MultiPaths;
127
+ func: ComponentMethod | string;
128
+ once: boolean;
129
+ }[];
130
+ /** @internal */
131
+ _$lifetimes: {
132
+ name: string;
133
+ func: ComponentMethod;
134
+ once: boolean;
135
+ }[];
136
+ /** @internal */
137
+ _$pageLifetimes?: {
138
+ name: string;
139
+ func: ComponentMethod;
140
+ once: boolean;
141
+ }[];
142
+ /** @internal */
143
+ _$listeners?: {
144
+ [name: string]: ComponentMethod | string;
145
+ };
146
+ /** @internal */
147
+ _$relations?: {
148
+ name: string;
149
+ rel: RelationParams;
150
+ }[];
151
+ /** @internal */
152
+ _$init: ((this: any, ctx: any) => any)[];
153
+ /** @internal */
154
+ _$methodCallerInit?: (this: ComponentInstance<TData, TProperty, TMethod>) => any;
155
+ /** @internal */
156
+ constructor(is: string | undefined, ownerSpace: ComponentSpace);
157
+ /**
158
+ * Set a front-most init function
159
+ *
160
+ * It should return the method caller (the `this` value for various callbacks)
161
+ * that will be used in future.
162
+ */
163
+ methodCallerInit(func: (this: ComponentInstance<TData, TProperty, TMethod>) => any): ResolveBehaviorBuilder<this, TChainingFilter>;
164
+ /**
165
+ * Add a behavior
166
+ *
167
+ * If the behavior contains a chaining filter, the chaining filter is called.
168
+ */
169
+ behavior<UData extends DataList, UProperty extends PropertyList, UMethod extends MethodList, UChainingFilter extends ChainingFilterType>(behavior: Behavior<UData, UProperty, UMethod, UChainingFilter>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData & UData, TProperty & UProperty, TMethod & UMethod, UChainingFilter, TPendingChainingFilter>, UChainingFilter>;
170
+ /**
171
+ * Set the chaining filter
172
+ *
173
+ * The chaining filter is the definition filter for chaining API.
174
+ * It SHOULD return another chainable object for further chaining.
175
+ */
176
+ chainingFilter<TAddedFields extends {
177
+ [key: string]: any;
178
+ }, TRemovedFields extends string = never>(func: ChainingFilterFunc<TAddedFields, TRemovedFields>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData, TProperty, TMethod, TChainingFilter, {
179
+ add: TAddedFields;
180
+ remove: TRemovedFields;
181
+ }>, TChainingFilter>;
182
+ /**
183
+ * Set component options
184
+ *
185
+ * The options will be merged with previous settings.
186
+ */
187
+ options(options: ComponentOptions): ResolveBehaviorBuilder<this, TChainingFilter>;
188
+ /**
189
+ * Implement a trait behavior
190
+ */
191
+ implement<TIn extends {
192
+ [key: string]: any;
193
+ }>(traitBehavior: TraitBehavior<TIn, any>, impl: TIn): ResolveBehaviorBuilder<this, TChainingFilter>;
194
+ /**
195
+ * Set the compiled template object
196
+ */
197
+ template(template: {
198
+ [key: string]: unknown;
199
+ }): ResolveBehaviorBuilder<this, TChainingFilter>;
200
+ /**
201
+ * Add other components to the component using list
202
+ */
203
+ usingComponents<T extends Record<string, string | ComponentDefinition<any, any, any>>>(list: T): ResolveBehaviorBuilder<this, TChainingFilter>;
204
+ /**
205
+ * Add some placeholders
206
+ *
207
+ * The alias SHOULD be in the using list, otherwise it will be ignored.
208
+ */
209
+ placeholders(list: Record<string, string>): ResolveBehaviorBuilder<this, TChainingFilter>;
210
+ /**
211
+ * Add other generics
212
+ *
213
+ * The alias SHOULD NOT be in the using list, otherwise it will be ignored.
214
+ */
215
+ generics(list: Record<string, {
216
+ default?: string | GeneralComponentDefinition;
217
+ } | true>): ResolveBehaviorBuilder<this, TChainingFilter>;
218
+ /**
219
+ * Add external classes
220
+ */
221
+ externalClasses(list: string[]): ResolveBehaviorBuilder<this, TChainingFilter>;
222
+ /**
223
+ * Add some template data fields
224
+ *
225
+ * It does not support raw data, but a `gen` function which returns the new data fields.
226
+ * The `gen` function executes once during component creation.
227
+ */
228
+ data<T extends DataList>(gen: (() => NewFieldList<DataWithPropertyValues<TData, TProperty>, T>)): ResolveBehaviorBuilder<BehaviorBuilder<T, TData & T, TProperty, TMethod, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
229
+ /**
230
+ * Set the static template data fields
231
+ *
232
+ * The data will be cloned once during component creation.
233
+ * If called multiple times, the static data will be overwritten but not merged!
234
+ * Usually, the `data()` method is preferred.
235
+ */
236
+ staticData<T extends DataList>(data: NewFieldList<DataWithPropertyValues<TData, TProperty>, T>): ResolveBehaviorBuilder<BehaviorBuilder<T, TData & T, TProperty, TMethod, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
237
+ /**
238
+ * Add a single property
239
+ *
240
+ * The property name should be different from other properties.
241
+ */
242
+ property<N extends string, T extends PropertyType, V extends PropertyTypeToValueType<T>>(name: N, def: N extends keyof (TData & TProperty) ? never : PropertyListItem<T, V>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData, TProperty & Record<N, unknown extends V ? T : PropertyOption<T, V>>, TMethod, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
243
+ /**
244
+ * Add a single public method
245
+ *
246
+ * The public method can be used as an event handler, and can be visited in component instance.
247
+ */
248
+ methods<T extends MethodList>(funcs: T & ThisType<ComponentInstance<TData, TProperty, TMethod & T>>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData, TProperty, TMethod & T, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
249
+ /**
250
+ * Add a data observer
251
+ */
252
+ observer<P extends ObserverDataPathStrings<DataWithPropertyValues<TPrevData, TProperty>>, V = DeepReadonly<GetFromObserverPathString<DataWithPropertyValues<TPrevData, TProperty>, P>>>(paths: P, func: (this: ComponentInstance<TData, TProperty, TMethod>, newValue: V) => void, once?: boolean): ResolveBehaviorBuilder<this, TChainingFilter>;
253
+ observer<P extends ObserverDataPathStrings<DataWithPropertyValues<TPrevData, TProperty>>[], V = {
254
+ [K in keyof P]: DeepReadonly<GetFromObserverPathString<DataWithPropertyValues<TPrevData, TProperty>, P[K]>>;
255
+ }>(paths: readonly [...P], func: (this: ComponentInstance<TData, TProperty, TMethod>, ...newValues: V extends any[] ? V : never) => void, once?: boolean): ResolveBehaviorBuilder<this, TChainingFilter>;
256
+ /**
257
+ * Add a lifetime callback
258
+ */
259
+ lifetime<L extends keyof Lifetimes>(name: L, func: (this: ComponentInstance<TData, TProperty, TMethod>, ...args: Parameters<Lifetimes[L]>) => ReturnType<Lifetimes[L]>, once?: boolean): ResolveBehaviorBuilder<this, TChainingFilter>;
260
+ /**
261
+ * Add a page-lifetime callback
262
+ */
263
+ pageLifetime(name: string, func: (this: ComponentInstance<TData, TProperty, TMethod>, ...args: any[]) => any, once?: boolean): ResolveBehaviorBuilder<this, TChainingFilter>;
264
+ /**
265
+ * Add a relation
266
+ */
267
+ relation(name: string, rel: RelationParams & ThisType<ComponentInstance<TData, TProperty, TMethod>>): ResolveBehaviorBuilder<this, TChainingFilter>;
268
+ /**
269
+ * Execute a function while component instance creation
270
+ *
271
+ * A `BuilderContext` is provided to tweak the component creation progress.
272
+ * The return value is used as the "export" value of the behavior,
273
+ * which can be imported by other behaviors.
274
+ */
275
+ init<TExport extends Record<string, TaggedMethod<(...args: any[]) => any>> | void>(func: (this: ComponentInstance<TData, TProperty, TMethod>, builderContext: BuilderContext<TPrevData, TProperty, ComponentInstance<TData, TProperty, TMethod>>) => TExport): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData, TProperty, TMethod & (TExport extends void ? Empty : {
276
+ [K in keyof TExport]: UnTaggedMethod<TExport[K]>;
277
+ }), TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
278
+ /**
279
+ * Apply a classic-style definition
280
+ */
281
+ definition<TNewData extends DataList = Empty, TNewProperty extends PropertyList = Empty, TNewMethod extends MethodList = Empty>(def: ComponentParams<TNewData, TNewProperty, TNewMethod> & ThisType<ComponentInstance<TData & TNewData, TProperty & TNewProperty, TMethod & TNewMethod>>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData & TNewData, TProperty & TNewProperty, TMethod & TNewMethod, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
282
+ /**
283
+ * Finish build, generate a behavior, and register it in the component space
284
+ */
285
+ registerBehavior(): Behavior<TData, TProperty, TMethod, TPendingChainingFilter>;
286
+ /**
287
+ * Finish build, generate a component definition, and register it in the component space
288
+ */
289
+ registerComponent(): ComponentDefinition<TData, TProperty, TMethod>;
290
+ }
291
+ /**
292
+ * Common mixin-like behavior
293
+ *
294
+ * Each component definition contains a single *root* behavior.
295
+ * A behavior can mixin other behaviors.
296
+ */
297
+ export declare class Behavior<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList, TChainingFilter extends ChainingFilterType> {
298
+ /** @internal */
299
+ private _$unprepared;
300
+ is: string;
301
+ ownerSpace: ComponentSpace;
302
+ /** @internal */
303
+ private _$builder;
304
+ /** @internal */
305
+ private _$flatAncestors;
306
+ /** @internal */
307
+ _$chainingFilter?: (chain: GeneralBehaviorBuilder) => TChainingFilter;
308
+ /** @internal */
309
+ _$options?: ComponentOptions;
310
+ /** @internal */
311
+ _$traitBehaviors?: {
312
+ traitBehavior: TraitBehavior<any, any>;
313
+ impl: any;
314
+ }[];
315
+ /** @internal */
316
+ _$template?: {
317
+ [key: string]: unknown;
318
+ };
319
+ /** @internal */
320
+ _$using: {
321
+ [alias: string]: ComponentDefinitionWithPlaceholder;
322
+ };
323
+ /** @internal */
324
+ _$generics?: string[];
325
+ /** @internal */
326
+ _$genericDefaults?: {
327
+ [alias: string]: null | GeneralComponentDefinition;
328
+ };
329
+ /** @internal */
330
+ _$externalClasses?: string[];
331
+ /** @internal */
332
+ _$staticData?: DataList;
333
+ /** @internal */
334
+ _$data: (() => {
335
+ [field: string]: any;
336
+ })[];
337
+ /** @internal */
338
+ _$propertyMap: {
339
+ [name: string]: PropertyDefinition;
340
+ };
341
+ /** @internal */
342
+ _$methodMap: {
343
+ [name: string]: ComponentMethod;
344
+ };
345
+ /** @internal */
346
+ _$observers: {
347
+ dataPaths: MultiPaths;
348
+ observer: ComponentMethod;
349
+ once: boolean;
350
+ }[];
351
+ /** @internal */
352
+ _$lifetimes: {
353
+ name: string;
354
+ func: ComponentMethod;
355
+ once: boolean;
356
+ }[];
357
+ /** @internal */
358
+ _$pageLifetimes?: {
359
+ name: string;
360
+ func: ComponentMethod;
361
+ once: boolean;
362
+ }[];
363
+ /** @internal */
364
+ _$listeners?: {
365
+ id: string;
366
+ ev: string;
367
+ listener: ComponentMethod;
368
+ }[];
369
+ /** @internal */
370
+ _$relationMap?: {
371
+ [name: string]: RelationDefinition;
372
+ };
373
+ /** @internal */
374
+ _$init: ((this: any, ctx: any) => any)[];
375
+ /** @internal */
376
+ _$methodCallerInit?: (this: ComponentInstance<TData, TProperty, TMethod>) => ComponentInstance<TData, TProperty, TMethod>;
377
+ /**
378
+ * Create a behavior with classic-style definition
379
+ */
380
+ static create<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(def: ComponentParams<TData, TProperty, TMethod> & ThisType<ComponentInstance<TData, TProperty, TMethod>>, ownerSpace?: ComponentSpace): Behavior<Empty & TData, Empty & TProperty, Empty & TMethod, never>;
381
+ /** @internal */
382
+ constructor(builder: BehaviorBuilder<any, TData, TProperty, TMethod, any, TChainingFilter>);
383
+ general(): GeneralBehavior;
384
+ /**
385
+ * List all component dependencies (recursively)
386
+ *
387
+ * This method will prepare the underlying behavior.
388
+ */
389
+ getComponentDependencies(genericTargets?: {
390
+ [name: string]: GeneralComponentDefinition;
391
+ }): Set<GeneralComponentDefinition>;
392
+ /** Same as `prepare` method in the prototype (for backward compatibility) */
393
+ static prepare<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList, TChainingFilter extends ChainingFilterType = never>(behavior: Behavior<TData, TProperty, TMethod, TChainingFilter>): void;
394
+ /**
395
+ * Execute the prepare phase (an optimization phase) of this behavior
396
+ *
397
+ * Every behavior needs this phase for better future performance.
398
+ * However, this phase requires a little time for execution,
399
+ * and requires its all dependent behaviors created.
400
+ * If a dependent behavior is not prepared, then its prepare phase is also executed.
401
+ */
402
+ prepare(): void;
403
+ /**
404
+ * Get the template content
405
+ *
406
+ * This method is usually used by the template engine.
407
+ */
408
+ getTemplate(): {
409
+ [key: string]: unknown;
410
+ } | undefined;
411
+ /** Check whether the `other` behavior is a dependent behavior of this behavior */
412
+ hasBehavior(other: string | GeneralBehavior): boolean;
413
+ /**
414
+ * Get the methods
415
+ *
416
+ * Only valid after `prepare` .
417
+ */
418
+ getMethods(): TMethod;
419
+ /** @internal */
420
+ _$generateObserverTree(): DataGroupObserverTree;
421
+ /** @internal */
422
+ _$getAllLifetimeFuncs(): LifetimeFuncs;
423
+ /** @internal */
424
+ _$getAllPageLifetimeFuncs(): PageLifetimeFuncs;
425
+ }
426
+ export type GeneralBehavior = Behavior<Record<string, any>, Record<string, any>, Record<string, any>, any>;
427
+ export {};
428
+ //# sourceMappingURL=behavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../../src/behavior.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { Element } 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 _$alias;
39
+ /** @internal */
40
+ private _$resolvedAlias;
41
+ /** @internal */
42
+ private _$aliasDirty;
43
+ /** @internal */
44
+ private _$rawNames;
45
+ /** @internal */
46
+ private _$hasResolvedNames;
47
+ /** @internal */
48
+ private _$prefixManager;
49
+ constructor(elem: Element, externalNameAlias: {
50
+ [externalName: string]: string[] | null;
51
+ } | null);
52
+ /** @internal */
53
+ private _$resolvePrefixes;
54
+ /** @internal */
55
+ private _$updateResolvedAliases;
56
+ /** @internal */
57
+ _$hasAlias(name: string): boolean;
58
+ /** @internal */
59
+ _$setAlias(name: string, target: string): void;
60
+ /** @internal */
61
+ _$spreadAliasUpdate(): void;
62
+ /** @internal */
63
+ private _$updateResolvedNames;
64
+ /** @internal */
65
+ private _$classListAdd;
66
+ /** @internal */
67
+ private _$classListRemove;
68
+ /** @internal */
69
+ private _$addClassToBackend;
70
+ /** @internal */
71
+ private _$removeClassFromBackend;
72
+ toggle(name: string, force?: boolean): void;
73
+ contains(name: string): boolean;
74
+ /** Set class string */
75
+ setClassNames(names: string): void;
76
+ /** Returns space separated class string */
77
+ getClassNames(): string;
78
+ }
79
+ //# sourceMappingURL=class_list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class_list.d.ts","sourceRoot":"","sources":["../../../src/class_list.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,OAAO,EAGR,MAAM,GAAG,CAAA;AAKV;;;;;;;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,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB,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,OAAO,CAAkD;IACjE,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAAuD;IAC9E,gBAAgB;IAChB,OAAO,CAAC,YAAY,CAAQ;IAC5B,gBAAgB;IAChB,OAAO,CAAC,UAAU,CAAe;IACjC,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;IAgCvE,gBAAgB;IAChB,OAAO,CAAC,iBAAiB;IAiCzB,gBAAgB;IAChB,OAAO,CAAC,uBAAuB;IAqC/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;IAWtB,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;IAgB3B,2CAA2C;IAC3C,aAAa,IAAI,MAAM;CAGxB"}