@microsoft/fast-element 2.10.4 → 3.0.0-rc.2

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 (211) hide show
  1. package/CHANGELOG.md +52 -2
  2. package/README.md +244 -1
  3. package/dist/arrays/arrays.api.json +2621 -0
  4. package/dist/context/context.api.json +13 -13
  5. package/dist/declarative/declarative.api.json +8483 -0
  6. package/dist/di/di.api.json +16 -16
  7. package/dist/dts/__test__/helpers.d.ts +6 -0
  8. package/dist/dts/array-observer.d.ts +2 -0
  9. package/dist/dts/arrays.d.ts +2 -0
  10. package/dist/dts/attr.d.ts +1 -0
  11. package/dist/dts/binding/binding.d.ts +15 -5
  12. package/dist/dts/binding/one-time.d.ts +1 -1
  13. package/dist/dts/binding/one-way.d.ts +1 -1
  14. package/dist/dts/binding/signal.d.ts +6 -6
  15. package/dist/dts/binding/two-way.d.ts +2 -1
  16. package/dist/dts/binding.d.ts +7 -0
  17. package/dist/dts/components/attributes.d.ts +1 -4
  18. package/dist/dts/components/definition-schema-transforms.d.ts +9 -0
  19. package/dist/dts/components/element-controller.d.ts +80 -114
  20. package/dist/dts/components/element-hydration.d.ts +1 -1
  21. package/dist/dts/components/enable-hydration.d.ts +54 -0
  22. package/dist/dts/components/fast-definitions.d.ts +98 -46
  23. package/dist/dts/components/fast-element.d.ts +43 -16
  24. package/dist/dts/components/hydration-tracker.d.ts +83 -0
  25. package/dist/dts/components/hydration.d.ts +23 -53
  26. package/dist/dts/components/schema.d.ts +205 -0
  27. package/dist/dts/context.d.ts +13 -13
  28. package/dist/dts/css.d.ts +3 -0
  29. package/dist/dts/debug.d.ts +5 -1
  30. package/dist/dts/declarative/attribute-map.d.ts +58 -0
  31. package/dist/dts/declarative/debug.d.ts +4 -0
  32. package/dist/dts/declarative/index.d.ts +14 -0
  33. package/dist/dts/declarative/interfaces.d.ts +8 -0
  34. package/dist/dts/declarative/observer-map-utilities.d.ts +58 -0
  35. package/dist/dts/declarative/observer-map.d.ts +89 -0
  36. package/dist/dts/declarative/runtime.d.ts +5 -0
  37. package/dist/dts/declarative/syntax.d.ts +21 -0
  38. package/dist/dts/declarative/template-bridge.d.ts +33 -0
  39. package/dist/dts/declarative/template-parser.d.ts +98 -0
  40. package/dist/dts/declarative/template.d.ts +10 -0
  41. package/dist/dts/declarative/utilities.d.ts +358 -0
  42. package/dist/dts/di/di.d.ts +7 -7
  43. package/dist/dts/directives/children.d.ts +2 -0
  44. package/dist/dts/directives/node-observation.d.ts +2 -0
  45. package/dist/dts/directives/ref.d.ts +2 -0
  46. package/dist/dts/directives/repeat.d.ts +4 -0
  47. package/dist/dts/directives/slotted.d.ts +2 -0
  48. package/dist/dts/directives/when.d.ts +3 -0
  49. package/dist/dts/dom-policy.d.ts +23 -5
  50. package/dist/dts/dom.d.ts +4 -16
  51. package/dist/dts/html.d.ts +5 -0
  52. package/dist/dts/hydration/diagnostics.d.ts +93 -0
  53. package/dist/dts/hydration/hydration-debugger.d.ts +35 -0
  54. package/dist/dts/hydration/messages.d.ts +62 -0
  55. package/dist/dts/hydration/runtime.d.ts +7 -0
  56. package/dist/dts/hydration/target-builder.d.ts +40 -12
  57. package/dist/dts/hydration.d.ts +18 -0
  58. package/dist/dts/index.d.ts +42 -42
  59. package/dist/dts/index.debug.d.ts +0 -1
  60. package/dist/dts/index.rollup.debug.d.ts +0 -1
  61. package/dist/dts/interfaces.d.ts +2 -49
  62. package/dist/dts/observable.d.ts +3 -6
  63. package/dist/dts/observation/arrays.d.ts +1 -1
  64. package/dist/dts/observation/observable.d.ts +3 -3
  65. package/dist/dts/observation/update-queue.d.ts +1 -1
  66. package/dist/dts/platform.d.ts +45 -8
  67. package/dist/dts/registry.d.ts +1 -0
  68. package/dist/dts/render.d.ts +7 -0
  69. package/dist/dts/schema.d.ts +1 -0
  70. package/dist/dts/state/exports.d.ts +1 -1
  71. package/dist/dts/state/state.d.ts +2 -2
  72. package/dist/dts/styles/css-directive.d.ts +5 -12
  73. package/dist/dts/styles/css.d.ts +5 -7
  74. package/dist/dts/styles/element-styles.d.ts +0 -10
  75. package/dist/dts/styles.d.ts +6 -0
  76. package/dist/dts/templating/compiler.d.ts +1 -1
  77. package/dist/dts/templating/html-binding-directive.d.ts +10 -2
  78. package/dist/dts/templating/html-directive.d.ts +19 -1
  79. package/dist/dts/templating/hydration-view.d.ts +130 -0
  80. package/dist/dts/templating/render.d.ts +1 -1
  81. package/dist/dts/templating/repeat.d.ts +1 -1
  82. package/dist/dts/templating/template.d.ts +15 -7
  83. package/dist/dts/templating/view.d.ts +25 -102
  84. package/dist/dts/templating.d.ts +10 -0
  85. package/dist/dts/testing/exports.d.ts +2 -2
  86. package/dist/dts/testing/fakes.d.ts +4 -4
  87. package/dist/dts/updates.d.ts +1 -0
  88. package/dist/dts/volatile.d.ts +2 -0
  89. package/dist/esm/__test__/helpers.js +22 -0
  90. package/dist/esm/__test__/setup-node.js +18 -0
  91. package/dist/esm/array-observer.js +1 -0
  92. package/dist/esm/arrays.js +1 -0
  93. package/dist/esm/attr.js +1 -0
  94. package/dist/esm/binding/normalize.js +1 -1
  95. package/dist/esm/binding/signal.js +4 -4
  96. package/dist/esm/binding/two-way.js +3 -3
  97. package/dist/esm/binding.js +4 -0
  98. package/dist/esm/components/attributes.js +18 -11
  99. package/dist/esm/components/definition-schema-transforms.js +23 -0
  100. package/dist/esm/components/element-controller.js +206 -270
  101. package/dist/esm/components/element-hydration.js +1 -1
  102. package/dist/esm/components/enable-hydration.js +124 -0
  103. package/dist/esm/components/fast-definitions.js +219 -56
  104. package/dist/esm/components/fast-element.js +18 -27
  105. package/dist/esm/components/hydration-tracker.js +122 -0
  106. package/dist/esm/components/hydration.js +137 -140
  107. package/dist/esm/components/schema.js +253 -0
  108. package/dist/esm/context.js +6 -6
  109. package/dist/esm/css.js +3 -0
  110. package/dist/esm/debug.js +27 -26
  111. package/dist/esm/declarative/attribute-map.js +122 -0
  112. package/dist/esm/declarative/debug.js +4 -0
  113. package/dist/esm/declarative/index.js +4 -0
  114. package/dist/esm/declarative/interfaces.js +9 -0
  115. package/dist/esm/declarative/observer-map-utilities.js +565 -0
  116. package/dist/esm/declarative/observer-map.js +216 -0
  117. package/dist/esm/declarative/runtime.js +14 -0
  118. package/dist/esm/declarative/syntax.js +36 -0
  119. package/dist/esm/declarative/template-bridge.js +160 -0
  120. package/dist/esm/declarative/template-parser.js +306 -0
  121. package/dist/esm/declarative/template.js +143 -0
  122. package/dist/esm/declarative/utilities.js +1069 -0
  123. package/dist/esm/di/di.js +8 -9
  124. package/dist/esm/directives/children.js +1 -0
  125. package/dist/esm/directives/node-observation.js +1 -0
  126. package/dist/esm/directives/ref.js +1 -0
  127. package/dist/esm/directives/repeat.js +1 -0
  128. package/dist/esm/directives/slotted.js +1 -0
  129. package/dist/esm/directives/when.js +1 -0
  130. package/dist/esm/dom-policy.js +35 -6
  131. package/dist/esm/dom.js +1 -1
  132. package/dist/esm/html.js +2 -0
  133. package/dist/esm/hydration/diagnostics.js +50 -0
  134. package/dist/esm/hydration/hydration-debugger.js +112 -0
  135. package/dist/esm/hydration/messages.js +84 -0
  136. package/dist/esm/hydration/runtime.js +33 -0
  137. package/dist/esm/hydration/target-builder.js +144 -91
  138. package/dist/esm/hydration.js +6 -0
  139. package/dist/esm/index.debug.js +2 -1
  140. package/dist/esm/index.js +38 -29
  141. package/dist/esm/index.rollup.debug.js +3 -2
  142. package/dist/esm/index.rollup.js +1 -1
  143. package/dist/esm/interfaces.js +2 -45
  144. package/dist/esm/metadata.js +2 -8
  145. package/dist/esm/observable.js +1 -4
  146. package/dist/esm/observation/arrays.js +1 -1
  147. package/dist/esm/observation/notifier.js +2 -4
  148. package/dist/esm/observation/observable.js +5 -5
  149. package/dist/esm/observation/update-queue.js +47 -58
  150. package/dist/esm/platform.js +31 -30
  151. package/dist/esm/registry.js +1 -0
  152. package/dist/esm/render.js +1 -0
  153. package/dist/esm/schema.js +1 -0
  154. package/dist/esm/state/exports.js +1 -1
  155. package/dist/esm/styles/css-directive.js +1 -2
  156. package/dist/esm/styles/css.js +15 -56
  157. package/dist/esm/styles/element-styles.js +69 -15
  158. package/dist/esm/styles.js +2 -0
  159. package/dist/esm/templating/html-binding-directive.js +11 -9
  160. package/dist/esm/templating/hydration-view.js +228 -0
  161. package/dist/esm/templating/render.js +39 -18
  162. package/dist/esm/templating/repeat.js +69 -33
  163. package/dist/esm/templating/template.js +7 -7
  164. package/dist/esm/templating/view.js +25 -234
  165. package/dist/esm/templating.js +7 -0
  166. package/dist/esm/testing/exports.js +2 -2
  167. package/dist/esm/testing/fixture.js +2 -2
  168. package/dist/esm/testing/timeout.js +2 -2
  169. package/dist/esm/updates.js +1 -0
  170. package/dist/esm/volatile.js +1 -0
  171. package/dist/fast-element.api.json +14389 -11138
  172. package/dist/fast-element.d.ts +3651 -809
  173. package/dist/fast-element.debug.js +5666 -4722
  174. package/dist/fast-element.debug.min.js +2 -2
  175. package/dist/fast-element.js +5394 -4381
  176. package/dist/fast-element.min.js +2 -2
  177. package/dist/fast-element.untrimmed.d.ts +923 -472
  178. package/dist/hydration/hydration.api.json +6460 -0
  179. package/dist/styles/styles.api.json +2672 -0
  180. package/package.json +165 -45
  181. package/ARCHITECTURE_FASTELEMENT.md +0 -63
  182. package/ARCHITECTURE_HTML_TAGGED_TEMPLATE_LITERAL.md +0 -36
  183. package/ARCHITECTURE_INTRO.md +0 -10
  184. package/ARCHITECTURE_OVERVIEW.md +0 -52
  185. package/ARCHITECTURE_UPDATES.md +0 -11
  186. package/CHANGELOG.json +0 -2275
  187. package/DESIGN.md +0 -510
  188. package/api-extractor.context.json +0 -14
  189. package/api-extractor.di.json +0 -14
  190. package/biome.json +0 -4
  191. package/dist/dts/components/install-hydration.d.ts +0 -1
  192. package/dist/dts/pending-task.d.ts +0 -32
  193. package/dist/dts/styles/css-binding-directive.d.ts +0 -60
  194. package/dist/dts/templating/install-hydratable-view-templates.d.ts +0 -1
  195. package/dist/esm/components/install-hydration.js +0 -3
  196. package/dist/esm/pending-task.js +0 -28
  197. package/dist/esm/polyfills.js +0 -60
  198. package/dist/esm/styles/css-binding-directive.js +0 -76
  199. package/dist/esm/templating/install-hydratable-view-templates.js +0 -23
  200. package/docs/ACKNOWLEDGEMENTS.md +0 -12
  201. package/docs/api-report.api.md +0 -1122
  202. package/docs/context/api-report.api.md +0 -69
  203. package/docs/di/api-report.api.md +0 -315
  204. package/docs/fast-element-2-changes.md +0 -15
  205. package/playwright.config.ts +0 -26
  206. package/scripts/run-api-extractor.js +0 -51
  207. package/test/index.html +0 -11
  208. package/test/main.ts +0 -104
  209. package/test/vite.config.ts +0 -19
  210. package/tsconfig.api-extractor.json +0 -6
  211. /package/dist/dts/{polyfills.d.ts → __test__/setup-node.d.ts} +0 -0
@@ -1,1122 +0,0 @@
1
- ## API Report File for "@microsoft/fast-element"
2
-
3
- > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
-
5
- ```ts
6
-
7
- // @public
8
- export interface Accessor {
9
- getValue(source: any): any;
10
- name: string;
11
- setValue(source: any, value: any): void;
12
- }
13
-
14
- // @public
15
- export type AddBehavior = (behavior: HostBehavior<HTMLElement>) => void;
16
-
17
- // @public
18
- export type AddViewBehaviorFactory = (factory: ViewBehaviorFactory) => string;
19
-
20
- // @public
21
- export interface ArrayObserver extends SubscriberSet {
22
- addSort(sort: Sort): void;
23
- addSplice(splice: Splice): void;
24
- flush(): void;
25
- readonly lengthObserver: LengthObserver;
26
- reset(oldCollection: any[] | undefined): void;
27
- readonly sortObserver: SortObserver;
28
- strategy: SpliceStrategy | null;
29
- }
30
-
31
- // @public
32
- export const ArrayObserver: Readonly<{
33
- readonly sorted: 0;
34
- readonly enable: () => void;
35
- }>;
36
-
37
- // @public
38
- export interface Aspected {
39
- aspectType: DOMAspect;
40
- dataBinding?: Binding;
41
- sourceAspect: string;
42
- targetAspect: string;
43
- }
44
-
45
- // @public
46
- export function attr(config?: DecoratorAttributeConfiguration): (target: {}, property: string) => void;
47
-
48
- // @public
49
- export function attr(target: {}, prop: string): void;
50
-
51
- // @public
52
- export type AttributeConfiguration = {
53
- property: string;
54
- attribute?: string;
55
- mode?: AttributeMode;
56
- converter?: ValueConverter;
57
- };
58
-
59
- // @public
60
- export const AttributeConfiguration: Readonly<{
61
- locate: (target: {}) => AttributeConfiguration[];
62
- }>;
63
-
64
- // @public
65
- export class AttributeDefinition implements Accessor {
66
- constructor(Owner: Function, name: string, attribute?: string, mode?: AttributeMode, converter?: ValueConverter);
67
- readonly attribute: string;
68
- // @internal
69
- static collect(Owner: Function, ...attributeLists: (ReadonlyArray<string | AttributeConfiguration> | undefined)[]): ReadonlyArray<AttributeDefinition>;
70
- readonly converter?: ValueConverter;
71
- getValue(source: HTMLElement): any;
72
- readonly mode: AttributeMode;
73
- readonly name: string;
74
- // @internal (undocumented)
75
- onAttributeChangedCallback(element: HTMLElement, value: any): void;
76
- readonly Owner: Function;
77
- setValue(source: HTMLElement, newValue: any): void;
78
- }
79
-
80
- // Warning: (ae-forgotten-export) The symbol "reflectMode" needs to be exported by the entry point index.d.ts
81
- // Warning: (ae-forgotten-export) The symbol "booleanMode" needs to be exported by the entry point index.d.ts
82
- //
83
- // @public
84
- export type AttributeMode = typeof reflectMode | typeof booleanMode | "fromView";
85
-
86
- // @public
87
- export abstract class Binding<TSource = any, TReturn = any, TParent = any> {
88
- constructor(evaluate: Expression<TSource, TReturn, TParent>, policy?: DOMPolicy | undefined, isVolatile?: boolean);
89
- abstract createObserver(subscriber: Subscriber, directive: BindingDirective): ExpressionObserver<TSource, TReturn, TParent>;
90
- // (undocumented)
91
- evaluate: Expression<TSource, TReturn, TParent>;
92
- // (undocumented)
93
- isVolatile: boolean;
94
- options?: any;
95
- // (undocumented)
96
- policy?: DOMPolicy | undefined;
97
- }
98
-
99
- // @public
100
- export interface BindingDirective {
101
- readonly aspectType?: DOMAspect;
102
- readonly dataBinding: Binding;
103
- readonly targetAspect?: string;
104
- }
105
-
106
- // @public
107
- export const booleanConverter: ValueConverter;
108
-
109
- // @public
110
- export type Callable = typeof Function.prototype.call | {
111
- call(): void;
112
- };
113
-
114
- // @public
115
- export interface CaptureType<TSource, TParent> {
116
- }
117
-
118
- // @public
119
- export interface ChildListDirectiveOptions<T = any> extends NodeBehaviorOptions<T>, Omit<MutationObserverInit, "subtree" | "childList"> {
120
- }
121
-
122
- // @public
123
- export function children<TSource = any, TParent = any>(propertyOrOptions: (keyof TSource & string) | ChildrenDirectiveOptions<keyof TSource & string>): CaptureType<TSource, TParent>;
124
-
125
- // @public
126
- export class ChildrenDirective extends NodeObservationDirective<ChildrenDirectiveOptions> {
127
- constructor(options: ChildrenDirectiveOptions);
128
- disconnect(target: any): void;
129
- getNodes(target: Element): Node[];
130
- observe(target: any): void;
131
- }
132
-
133
- // @public
134
- export type ChildrenDirectiveOptions<T = any> = ChildListDirectiveOptions<T> | SubtreeDirectiveOptions<T>;
135
-
136
- // @public
137
- export type Class<T, C = {}> = C & Constructable<T> & {
138
- readonly prototype: T;
139
- };
140
-
141
- // @public
142
- export type CompilationStrategy = (
143
- html: string | HTMLTemplateElement,
144
- factories: Record<string, ViewBehaviorFactory>,
145
- policy: DOMPolicy) => HTMLTemplateCompilationResult;
146
-
147
- // @public
148
- export type CompiledViewBehaviorFactory = Required<ViewBehaviorFactory>;
149
-
150
- // @public
151
- export const Compiler: {
152
- compile<TSource = any, TParent = any>(html: string | HTMLTemplateElement, factories: Record<string, ViewBehaviorFactory>, policy?: DOMPolicy): HTMLTemplateCompilationResult<TSource, TParent>;
153
- setDefaultStrategy(strategy: CompilationStrategy): void;
154
- aggregate(parts: (string | ViewBehaviorFactory)[], policy?: DOMPolicy): ViewBehaviorFactory;
155
- };
156
-
157
- // @public
158
- export type ComposableStyles = string | ElementStyles | CSSStyleSheet;
159
-
160
- // @public
161
- export type Constructable<T = {}> = {
162
- new (...args: any[]): T;
163
- };
164
-
165
- // @public
166
- export type ConstructibleStyleStrategy = {
167
- new (styles: (string | CSSStyleSheet)[]): StyleStrategy;
168
- };
169
-
170
- // @public
171
- export interface ContentTemplate {
172
- create(): ContentView;
173
- }
174
-
175
- // @public
176
- export interface ContentView {
177
- bind(source: any, context?: ExecutionContext): void;
178
- // (undocumented)
179
- readonly context: ExecutionContext;
180
- insertBefore(node: Node): void;
181
- remove(): void;
182
- unbind(): void;
183
- }
184
-
185
- // @public
186
- export const css: CSSTemplateTag;
187
-
188
- // @public
189
- export class CSSBindingDirective implements HostBehavior, Subscriber, CSSDirective, BindingDirective {
190
- constructor(dataBinding: Binding, targetAspect: string);
191
- addedCallback(controller: HostController<HTMLElement & {
192
- $cssBindings: Map<CSSBindingDirective, CSSBindingEntry>;
193
- }>): void;
194
- connectedCallback(controller: HostController<HTMLElement & {
195
- $cssBindings: Map<CSSBindingDirective, CSSBindingEntry>;
196
- }>): void;
197
- createCSS(add: AddBehavior): ComposableStyles;
198
- // (undocumented)
199
- readonly dataBinding: Binding;
200
- // @internal
201
- handleChange(_: any, observer: ExpressionObserver): void;
202
- removedCallback(controller: HostController<HTMLElement & {
203
- $cssBindings: Map<CSSBindingDirective, CSSBindingEntry>;
204
- }>): void;
205
- // (undocumented)
206
- readonly targetAspect: string;
207
- }
208
-
209
- // @public
210
- export interface CSSDirective {
211
- createCSS(add: AddBehavior): ComposableStyles;
212
- }
213
-
214
- // @public
215
- export const CSSDirective: Readonly<{
216
- getForInstance: (object: any) => CSSDirectiveDefinition<Constructable<CSSDirective>> | undefined;
217
- getByType: (key: Function) => CSSDirectiveDefinition<Constructable<CSSDirective>> | undefined;
218
- define<TType extends Constructable<CSSDirective>>(type: any): TType;
219
- }>;
220
-
221
- // @public
222
- export function cssDirective(): (type: Constructable<CSSDirective>) => void;
223
-
224
- // @public
225
- export interface CSSDirectiveDefinition<TType extends Constructable<CSSDirective> = Constructable<CSSDirective>> {
226
- readonly type: TType;
227
- }
228
-
229
- // @public
230
- export type CSSTemplateTag = (<TSource = any, TParent = any>(strings: TemplateStringsArray, ...values: CSSValue<TSource, TParent>[]) => ElementStyles) & {
231
- partial<TSource = any, TParent = any>(strings: TemplateStringsArray, ...values: CSSValue<TSource, TParent>[]): CSSDirective;
232
- };
233
-
234
- // @public
235
- export type CSSValue<TSource, TParent = any> = Expression<TSource, any, TParent> | Binding<TSource, any, TParent> | ComposableStyles | CSSDirective;
236
-
237
- // @public
238
- export function customElement(nameOrDef: string | PartialFASTElementDefinition): (type: Constructable<HTMLElement>) => void;
239
-
240
- // @public
241
- export type DecoratorAttributeConfiguration = Omit<AttributeConfiguration, "property">;
242
-
243
- // @beta
244
- export const deferHydrationAttribute = "defer-hydration";
245
-
246
- // @public
247
- export interface Disposable {
248
- dispose(): void;
249
- }
250
-
251
- // @public
252
- export const DOM: Readonly<{
253
- readonly policy: DOMPolicy;
254
- setPolicy(value: DOMPolicy): void;
255
- setAttribute(element: HTMLElement, attributeName: string, value: any): void;
256
- setBooleanAttribute(element: HTMLElement, attributeName: string, value: boolean): void;
257
- }>;
258
-
259
- // @public
260
- export const DOMAspect: Readonly<{
261
- readonly none: 0;
262
- readonly attribute: 1;
263
- readonly booleanAttribute: 2;
264
- readonly property: 3;
265
- readonly content: 4;
266
- readonly tokenList: 5;
267
- readonly event: 6;
268
- }>;
269
-
270
- // @public
271
- export type DOMAspect = (typeof DOMAspect)[Exclude<keyof typeof DOMAspect, "none">];
272
-
273
- // @public
274
- export interface DOMPolicy {
275
- createHTML(value: string): string;
276
- protect(tagName: string | null, aspect: DOMAspect, aspectName: string, sink: DOMSink): DOMSink;
277
- }
278
-
279
- // @public
280
- export type DOMSink = (target: Node, aspectName: string, value: any, ...args: any[]) => void;
281
-
282
- // @public
283
- export class ElementController<TElement extends HTMLElement = HTMLElement> extends PropertyChangeNotifier implements HostController<TElement> {
284
- // @internal
285
- constructor(element: TElement, definition: FASTElementDefinition);
286
- addBehavior(behavior: HostBehavior<TElement>): void;
287
- addStyles(styles: ElementStyles | HTMLStyleElement | null | undefined): void;
288
- protected behaviors: Map<HostBehavior<TElement>, number> | null;
289
- protected bindObservables(): void;
290
- connect(): void;
291
- protected connectBehaviors(): void;
292
- get context(): ExecutionContext;
293
- readonly definition: FASTElementDefinition;
294
- disconnect(): void;
295
- protected disconnectBehaviors(): void;
296
- emit(type: string, detail?: any, options?: Omit<CustomEventInit, "detail">): void | boolean;
297
- static forCustomElement(element: HTMLElement, override?: boolean): ElementController;
298
- protected hasExistingShadowRoot: boolean;
299
- get isBound(): boolean;
300
- get isConnected(): boolean;
301
- get mainStyles(): ElementStyles | null;
302
- set mainStyles(value: ElementStyles | null);
303
- protected needsInitialization: boolean;
304
- onAttributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
305
- onUnbind(behavior: {
306
- unbind(controller: ExpressionController<TElement>): any;
307
- }): void;
308
- removeBehavior(behavior: HostBehavior<TElement>, force?: boolean): void;
309
- removeStyles(styles: ElementStyles | HTMLStyleElement | null | undefined): void;
310
- protected renderTemplate(template: ElementViewTemplate | null | undefined): void;
311
- static setStrategy(strategy: ElementControllerStrategy): void;
312
- get shadowOptions(): ShadowRootOptions | undefined;
313
- set shadowOptions(value: ShadowRootOptions | undefined);
314
- readonly source: TElement;
315
- get sourceLifetime(): SourceLifetime | undefined;
316
- protected stage: Stages;
317
- get template(): ElementViewTemplate<TElement> | null;
318
- set template(value: ElementViewTemplate<TElement> | null);
319
- readonly view: ElementView<TElement> | null;
320
- }
321
-
322
- // @public
323
- export interface ElementControllerStrategy {
324
- // (undocumented)
325
- new (element: HTMLElement, definition: FASTElementDefinition): ElementController;
326
- }
327
-
328
- // @public
329
- export const elements: (selector?: string) => ElementsFilter;
330
-
331
- // @public
332
- export type ElementsFilter = (value: Node, index?: number, array?: Node[]) => boolean;
333
-
334
- // @public
335
- export class ElementStyles {
336
- constructor(styles: ReadonlyArray<ComposableStyles>);
337
- // @internal (undocumented)
338
- addStylesTo(target: StyleTarget): void;
339
- readonly behaviors: ReadonlyArray<HostBehavior<HTMLElement>> | null;
340
- // @internal (undocumented)
341
- isAttachedTo(target: StyleTarget): boolean;
342
- static normalize(styles: ComposableStyles | ComposableStyles[] | undefined): ElementStyles | undefined;
343
- // @internal (undocumented)
344
- removeStylesFrom(target: StyleTarget): void;
345
- static setDefaultStrategy(Strategy: ConstructibleStyleStrategy): void;
346
- get strategy(): StyleStrategy;
347
- // (undocumented)
348
- readonly styles: ReadonlyArray<ComposableStyles>;
349
- static readonly supportsAdoptedStyleSheets: boolean;
350
- withBehaviors(...behaviors: HostBehavior<HTMLElement>[]): this;
351
- withStrategy(Strategy: ConstructibleStyleStrategy): this;
352
- }
353
-
354
- // @public
355
- export interface ElementView<TSource = any, TParent = any> extends View<TSource, TParent> {
356
- appendTo(node: Node): void;
357
- onUnbind(behavior: {
358
- unbind(controller: ViewController<TSource, TParent>): any;
359
- }): void;
360
- readonly sourceLifetime?: SourceLifetime;
361
- }
362
-
363
- // @public
364
- export interface ElementViewTemplate<TSource = any, TParent = any> {
365
- create(hostBindingTarget: Element): ElementView<TSource, TParent>;
366
- render(source: TSource, host: Node, hostBindingTarget?: Element): ElementView<TSource, TParent>;
367
- }
368
-
369
- // @public
370
- export const emptyArray: readonly never[];
371
-
372
- // @public
373
- export interface ExecutionContext<TParent = any> {
374
- readonly event: Event;
375
- eventDetail<TDetail>(): TDetail;
376
- eventTarget<TTarget extends EventTarget>(): TTarget;
377
- index: number;
378
- readonly isEven: boolean;
379
- readonly isFirst: boolean;
380
- readonly isInMiddle: boolean;
381
- readonly isLast: boolean;
382
- readonly isOdd: boolean;
383
- length: number;
384
- parent: TParent;
385
- parentContext: ExecutionContext<TParent>;
386
- }
387
-
388
- // @public
389
- export const ExecutionContext: Readonly<{
390
- default: ExecutionContext<any>;
391
- getEvent(): Event | null;
392
- setEvent(event: Event | null): void;
393
- }>;
394
-
395
- // @public
396
- export type Expression<TSource = any, TReturn = any, TParent = any> = (source: TSource, context: ExecutionContext<TParent>) => TReturn;
397
-
398
- // @public
399
- export interface ExpressionController<TSource = any, TParent = any> {
400
- readonly context: ExecutionContext<TParent>;
401
- readonly isBound: boolean;
402
- onUnbind(behavior: {
403
- unbind(controller: ExpressionController<TSource, TParent>): any;
404
- }): void;
405
- readonly source: TSource;
406
- readonly sourceLifetime?: SourceLifetime;
407
- }
408
-
409
- // @public
410
- export interface ExpressionNotifier<TSource = any, TReturn = any, TParent = any> extends Notifier, ExpressionObserver<TSource, TReturn, TParent>, Disposable {
411
- observe(source: TSource, context?: ExecutionContext): TReturn;
412
- records(): IterableIterator<ObservationRecord>;
413
- setMode(isAsync: boolean): void;
414
- }
415
-
416
- // @public
417
- export interface ExpressionObserver<TSource = any, TReturn = any, TParent = any> {
418
- bind(controller: ExpressionController<TSource, TParent>): TReturn;
419
- }
420
-
421
- // @public
422
- export const FAST: FASTGlobal;
423
-
424
- // @public
425
- export interface FASTElement extends HTMLElement {
426
- $emit(type: string, detail?: any, options?: Omit<CustomEventInit, "detail">): boolean | void;
427
- readonly $fastController: ElementController;
428
- attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
429
- connectedCallback(): void;
430
- disconnectedCallback(): void;
431
- }
432
-
433
- // @public
434
- export const FASTElement: {
435
- new (): FASTElement;
436
- define: typeof define;
437
- compose: typeof compose;
438
- defineAsync: typeof defineAsync;
439
- from: typeof from;
440
- };
441
-
442
- // @public
443
- export class FASTElementDefinition<TType extends Constructable<HTMLElement> = Constructable<HTMLElement>> {
444
- readonly attributeLookup: Record<string, AttributeDefinition>;
445
- readonly attributes: ReadonlyArray<AttributeDefinition>;
446
- static compose<TType extends Constructable<HTMLElement> = Constructable<HTMLElement>>(type: TType, nameOrDef?: string | PartialFASTElementDefinition): FASTElementDefinition<TType>;
447
- // @alpha
448
- static composeAsync<TType extends Constructable<HTMLElement> = Constructable<HTMLElement>>(type: TType, nameOrDef?: string | PartialFASTElementDefinition): Promise<FASTElementDefinition<TType>>;
449
- define(registry?: CustomElementRegistry): this;
450
- readonly elementOptions: ElementDefinitionOptions;
451
- static readonly getByType: (key: Function) => FASTElementDefinition<Constructable<HTMLElement>> | undefined;
452
- static readonly getForInstance: (object: any) => FASTElementDefinition<Constructable<HTMLElement>> | undefined;
453
- get isDefined(): boolean;
454
- static isRegistered: Record<string, Function>;
455
- readonly lifecycleCallbacks?: TemplateLifecycleCallbacks;
456
- readonly name: string;
457
- readonly propertyLookup: Record<string, AttributeDefinition>;
458
- // @alpha
459
- static registerAsync: (name: string) => Promise<Function>;
460
- // @internal
461
- static registerBaseType(type: Function): void;
462
- readonly registry: CustomElementRegistry;
463
- shadowOptions?: ShadowRootOptions;
464
- readonly styles?: ElementStyles;
465
- template?: ElementViewTemplate;
466
- // @alpha
467
- templateOptions?: TemplateOptions;
468
- readonly type: TType;
469
- }
470
-
471
- // Warning: (ae-internal-missing-underscore) The name "fastElementRegistry" should be prefixed with an underscore because the declaration is marked as @internal
472
- //
473
- // @internal
474
- export const fastElementRegistry: TypeRegistry<FASTElementDefinition>;
475
-
476
- // @public
477
- export interface FASTGlobal {
478
- addMessages(messages: Record<number, string>): void;
479
- error(code: number, values?: Record<string, any>): Error;
480
- getById<T>(id: string | number): T | null;
481
- // (undocumented)
482
- getById<T>(id: string | number, initialize: () => T): T;
483
- readonly versions: string[];
484
- warn(code: number, values?: Record<string, any>): void;
485
- }
486
-
487
- // @public
488
- export interface HostBehavior<TSource = any> {
489
- addedCallback?(controller: HostController<TSource>): void;
490
- connectedCallback?(controller: HostController<TSource>): void;
491
- disconnectedCallback?(controller: HostController<TSource>): void;
492
- removedCallback?(controller: HostController<TSource>): void;
493
- }
494
-
495
- // @public
496
- export interface HostController<TSource = any> extends ExpressionController<TSource> {
497
- addBehavior(behavior: HostBehavior<TSource>): void;
498
- addStyles(styles: ElementStyles | HTMLStyleElement | null | undefined): void;
499
- readonly isConnected: boolean;
500
- mainStyles: ElementStyles | null;
501
- removeBehavior(behavior: HostBehavior<TSource>, force?: boolean): void;
502
- removeStyles(styles: ElementStyles | HTMLStyleElement | null | undefined): void;
503
- }
504
-
505
- // @public
506
- export const html: HTMLTemplateTag;
507
-
508
- // @public
509
- export class HTMLBindingDirective implements HTMLDirective, ViewBehaviorFactory, ViewBehavior, Aspected, BindingDirective {
510
- constructor(dataBinding: Binding);
511
- aspectType: DOMAspect;
512
- // @internal
513
- bind(controller: ViewController): void;
514
- createBehavior(): ViewBehavior;
515
- createHTML(add: AddViewBehaviorFactory): string;
516
- // (undocumented)
517
- dataBinding: Binding;
518
- // @internal
519
- handleChange(binding: Expression, observer: ExpressionObserver): void;
520
- // @internal
521
- handleEvent(event: Event): void;
522
- id: string;
523
- policy: DOMPolicy;
524
- sourceAspect: string;
525
- targetAspect: string;
526
- targetNodeId: string;
527
- targetTagName: string | null;
528
- // @internal (undocumented)
529
- unbind(controller: ViewController): void;
530
- }
531
-
532
- // @public
533
- export interface HTMLDirective {
534
- createHTML(add: AddViewBehaviorFactory): string;
535
- }
536
-
537
- // @public
538
- export const HTMLDirective: Readonly<{
539
- getForInstance: (object: any) => HTMLDirectiveDefinition<Constructable<HTMLDirective>> | undefined;
540
- getByType: (key: Function) => HTMLDirectiveDefinition<Constructable<HTMLDirective>> | undefined;
541
- define<TType extends Constructable<HTMLDirective>>(type: TType, options?: PartialHTMLDirectiveDefinition): TType;
542
- assignAspect(directive: Aspected, value?: string): void;
543
- }>;
544
-
545
- // @public
546
- export function htmlDirective(options?: PartialHTMLDirectiveDefinition): (type: Constructable<HTMLDirective>) => void;
547
-
548
- // @public
549
- export interface HTMLDirectiveDefinition<TType extends Constructable<HTMLDirective> = Constructable<HTMLDirective>> extends Required<PartialHTMLDirectiveDefinition> {
550
- readonly type: TType;
551
- }
552
-
553
- // @public
554
- export interface HTMLTemplateCompilationResult<TSource = any, TParent = any> {
555
- createView(hostBindingTarget?: Element): HTMLView<TSource, TParent>;
556
- // (undocumented)
557
- readonly factories: CompiledViewBehaviorFactory[];
558
- }
559
-
560
- // @public
561
- export type HTMLTemplateTag = (<TSource = any, TParent = any>(strings: TemplateStringsArray, ...values: TemplateValue<TSource, TParent>[]) => ViewTemplate<TSource, TParent>) & {
562
- partial(html: string): InlineTemplateDirective;
563
- };
564
-
565
- // Warning: (ae-forgotten-export) The symbol "DefaultExecutionContext" needs to be exported by the entry point index.d.ts
566
- //
567
- // @public
568
- export class HTMLView<TSource = any, TParent = any> extends DefaultExecutionContext<TParent> implements ElementView<TSource, TParent>, SyntheticView<TSource, TParent>, ExecutionContext<TParent> {
569
- constructor(fragment: DocumentFragment, factories: ReadonlyArray<CompiledViewBehaviorFactory>, targets: ViewBehaviorTargets);
570
- appendTo(node: Node): void;
571
- bind(source: TSource, context?: ExecutionContext<TParent>): void;
572
- context: ExecutionContext<TParent>;
573
- dispose(): void;
574
- static disposeContiguousBatch(views: SyntheticView[]): void;
575
- firstChild: Node;
576
- insertBefore(node: Node): void;
577
- isBound: boolean;
578
- lastChild: Node;
579
- // (undocumented)
580
- onUnbind(behavior: {
581
- unbind(controller: ViewController<TSource, TParent>): void;
582
- }): void;
583
- remove(): void;
584
- source: TSource | null;
585
- readonly sourceLifetime: SourceLifetime;
586
- // (undocumented)
587
- readonly targets: ViewBehaviorTargets;
588
- unbind(): void;
589
- }
590
-
591
- // @beta
592
- export class HydratableElementController<TElement extends HTMLElement = HTMLElement> extends ElementController<TElement> {
593
- static config(callbacks: HydrationControllerCallbacks): typeof HydratableElementController;
594
- connect(): void;
595
- disconnect(): void;
596
- static install(): void;
597
- static lifecycleCallbacks: HydrationControllerCallbacks;
598
- protected needsHydration?: boolean;
599
- get shadowOptions(): ShadowRootOptions | undefined;
600
- set shadowOptions(value: ShadowRootOptions | undefined);
601
- }
602
-
603
- // @public (undocumented)
604
- export interface HydratableView<TSource = any, TParent = any> extends ElementView, SyntheticView, DefaultExecutionContext<TParent> {
605
- // (undocumented)
606
- [Hydratable]: symbol;
607
- // Warning: (ae-forgotten-export) The symbol "ViewNodes" needs to be exported by the entry point index.d.ts
608
- //
609
- // (undocumented)
610
- readonly bindingViewBoundaries: Record<string, ViewNodes>;
611
- // Warning: (ae-forgotten-export) The symbol "HydrationStage" needs to be exported by the entry point index.d.ts
612
- //
613
- // (undocumented)
614
- readonly hydrationStage: keyof typeof HydrationStage;
615
- }
616
-
617
- // @public (undocumented)
618
- export class HydrationBindingError extends Error {
619
- constructor(
620
- message: string | undefined,
621
- factory: ViewBehaviorFactory,
622
- fragment: DocumentFragment,
623
- templateString: string);
624
- readonly factory: ViewBehaviorFactory;
625
- readonly fragment: DocumentFragment;
626
- readonly templateString: string;
627
- }
628
-
629
- // @public
630
- export interface HydrationControllerCallbacks<TElement extends HTMLElement = HTMLElement> {
631
- elementDidHydrate?(source: TElement): void;
632
- elementWillHydrate?(source: TElement): void;
633
- hydrationComplete?(): void;
634
- hydrationStarted?(): void;
635
- }
636
-
637
- // @public
638
- export class InlineTemplateDirective implements HTMLDirective {
639
- constructor(html: string, factories?: Record<string, ViewBehaviorFactory>);
640
- createHTML(add: AddViewBehaviorFactory): string;
641
- static readonly empty: InlineTemplateDirective;
642
- }
643
-
644
- // Warning: (ae-forgotten-export) The symbol "HydrationView" needs to be exported by the entry point index.d.ts
645
- //
646
- // @beta
647
- export function isHydratable(view: ViewController): view is HydrationView;
648
-
649
- // Warning: (ae-forgotten-export) The symbol "HydratableSyntheticViewTemplate" needs to be exported by the entry point index.d.ts
650
- //
651
- // @beta (undocumented)
652
- export function isHydratable<TSource = any, TParent = any>(template: SyntheticViewTemplate<TSource, TParent>): template is HydratableSyntheticViewTemplate<TSource, TParent>;
653
-
654
- // Warning: (ae-forgotten-export) The symbol "HydratableElementViewTemplate" needs to be exported by the entry point index.d.ts
655
- //
656
- // @beta (undocumented)
657
- export function isHydratable<TSource = any, TParent = any>(template: ElementViewTemplate<TSource, TParent>): template is HydratableElementViewTemplate<TSource, TParent>;
658
-
659
- // Warning: (ae-forgotten-export) The symbol "HydratableContentTemplate" needs to be exported by the entry point index.d.ts
660
- //
661
- // @beta (undocumented)
662
- export function isHydratable(template: ContentTemplate): template is HydratableContentTemplate;
663
-
664
- // @public
665
- export interface LengthObserver extends Subscriber {
666
- length: number;
667
- }
668
-
669
- // @public
670
- export function lengthOf<T>(array: readonly T[]): number;
671
-
672
- // @public
673
- export function listener<T = any>(expression: Expression<T>, options?: AddEventListenerOptions): Binding<T>;
674
-
675
- // @public
676
- export const Markup: Readonly<{
677
- interpolation: (id: string) => string;
678
- attribute: (id: string) => string;
679
- comment: (id: string) => string;
680
- }>;
681
-
682
- // @public
683
- export const needsHydrationAttribute = "needs-hydration";
684
-
685
- // @public
686
- export interface NodeBehaviorOptions<T = any> {
687
- filter?: ElementsFilter;
688
- property: T;
689
- }
690
-
691
- // @public
692
- export abstract class NodeObservationDirective<T extends NodeBehaviorOptions> extends StatelessAttachedAttributeDirective<T> {
693
- bind(controller: ViewController): void;
694
- protected computeNodes(target: any): Node[];
695
- protected abstract disconnect(target: any): void;
696
- protected abstract getNodes(target: any): Node[];
697
- protected getSource(target: Node): any;
698
- get id(): string;
699
- set id(value: string);
700
- protected abstract observe(target: any): void;
701
- targetNodeId: string;
702
- unbind(controller: ViewController): void;
703
- protected updateTarget(source: any, value: ReadonlyArray<any>): void;
704
- }
705
-
706
- // @public
707
- export function normalizeBinding<TSource = any, TReturn = any, TParent = any>(value: Expression<TSource, TReturn, TParent> | Binding<TSource, TReturn, TParent> | {}): Binding<TSource, TReturn, TParent>;
708
-
709
- // @public
710
- export interface Notifier {
711
- notify(args: any): void;
712
- readonly subject: any;
713
- subscribe(subscriber: Subscriber, propertyToWatch?: any): void;
714
- unsubscribe(subscriber: Subscriber, propertyToUnwatch?: any): void;
715
- }
716
-
717
- // @public
718
- export const nullableBooleanConverter: ValueConverter;
719
-
720
- // @public
721
- export const nullableNumberConverter: ValueConverter;
722
-
723
- // @public
724
- export const Observable: Readonly<{
725
- setArrayObserverFactory(factory: (collection: any[]) => Notifier): void;
726
- getNotifier: <T extends Notifier = Notifier>(source: any) => T;
727
- track(source: unknown, propertyName: string): void;
728
- trackVolatile(): void;
729
- notify(source: unknown, args: any): void;
730
- defineProperty(target: {}, nameOrAccessor: string | Accessor): void;
731
- getAccessors: (target: {}) => Accessor[];
732
- binding<TSource = any, TReturn = any>(expression: Expression<TSource, TReturn, any>, initialSubscriber?: Subscriber, isVolatileBinding?: boolean): ExpressionNotifier<TSource, TReturn, any>;
733
- isVolatileBinding<TSource_1 = any, TReturn_1 = any>(expression: Expression<TSource_1, TReturn_1, any>): boolean;
734
- }>;
735
-
736
- // @public
737
- export function observable(target: {}, nameOrAccessor: string | Accessor): void;
738
-
739
- // @public
740
- export interface ObservationRecord {
741
- propertyName: string;
742
- propertySource: any;
743
- }
744
-
745
- // @public
746
- export function oneTime<T = any>(expression: Expression<T>, policy?: DOMPolicy): Binding<T>;
747
-
748
- // @public
749
- export function oneWay<T = any>(expression: Expression<T>, policy?: DOMPolicy, isVolatile?: boolean): Binding<T>;
750
-
751
- // @public
752
- export const Parser: Readonly<{
753
- parse(value: string, factories: Record<string, ViewBehaviorFactory>): (string | ViewBehaviorFactory)[] | null;
754
- }>;
755
-
756
- // @public
757
- export interface PartialFASTElementDefinition {
758
- readonly attributes?: (AttributeConfiguration | string)[];
759
- readonly elementOptions?: ElementDefinitionOptions;
760
- readonly lifecycleCallbacks?: TemplateLifecycleCallbacks;
761
- readonly name: string;
762
- readonly registry?: CustomElementRegistry;
763
- readonly shadowOptions?: Partial<ShadowRootOptions> | null;
764
- readonly styles?: ComposableStyles | ComposableStyles[];
765
- readonly template?: ElementViewTemplate;
766
- // @alpha
767
- readonly templateOptions?: TemplateOptions;
768
- }
769
-
770
- // @public
771
- export interface PartialHTMLDirectiveDefinition {
772
- aspected?: boolean;
773
- }
774
-
775
- // @public
776
- export class PropertyChangeNotifier implements Notifier {
777
- constructor(subject: any);
778
- notify(propertyName: string): void;
779
- readonly subject: any;
780
- subscribe(subscriber: Subscriber, propertyToWatch?: string): void;
781
- unsubscribe(subscriber: Subscriber, propertyToUnwatch?: string): void;
782
- }
783
-
784
- // @public
785
- export const ref: <TSource = any, TParent = any>(propertyName: keyof TSource & string) => CaptureType<TSource, TParent>;
786
-
787
- // @public
788
- export class RefDirective extends StatelessAttachedAttributeDirective<string> {
789
- bind(controller: ViewController): void;
790
- targetNodeId: string;
791
- }
792
-
793
- // @public
794
- export function render<TSource = any, TItem = any, TParent = any>(value?: Expression<TSource, TItem> | Binding<TSource, TItem> | {}, template?: ContentTemplate | string | Expression<TSource, ContentTemplate | string | Node, TParent> | Binding<TSource, ContentTemplate | string | Node, TParent>): CaptureType<TSource, TParent>;
795
-
796
- // @public
797
- export class RenderBehavior<TSource = any> implements ViewBehavior, Subscriber {
798
- constructor(directive: RenderDirective);
799
- bind(controller: ViewController): void;
800
- // @internal
801
- handleChange(source: any, observer: ExpressionObserver): void;
802
- unbind(controller: ViewController): void;
803
- }
804
-
805
- // @public
806
- export class RenderDirective<TSource = any> implements HTMLDirective, ViewBehaviorFactory, BindingDirective {
807
- constructor(dataBinding: Binding<TSource>, templateBinding: Binding<TSource, ContentTemplate>, templateBindingDependsOnData: boolean);
808
- createBehavior(): RenderBehavior<TSource>;
809
- createHTML(add: AddViewBehaviorFactory): string;
810
- // (undocumented)
811
- readonly dataBinding: Binding<TSource>;
812
- targetNodeId: string;
813
- // (undocumented)
814
- readonly templateBinding: Binding<TSource, ContentTemplate>;
815
- // (undocumented)
816
- readonly templateBindingDependsOnData: boolean;
817
- }
818
-
819
- // @public
820
- export function repeat<TSource = any, TArray extends ReadonlyArray<any> = ReadonlyArray<any>, TParent = any>(items: Expression<TSource, TArray, TParent> | Binding<TSource, TArray, TParent> | ReadonlyArray<any>, template: Expression<TSource, ViewTemplate<any, TSource>> | Binding<TSource, ViewTemplate<any, TSource>> | ViewTemplate<any, TSource>, options?: RepeatOptions): CaptureType<TSource, TParent>;
821
-
822
- // @public
823
- export class RepeatBehavior<TSource = any> implements ViewBehavior, Subscriber {
824
- constructor(directive: RepeatDirective);
825
- bind(controller: ViewController): void;
826
- handleChange(source: any, args: Splice[] | Sort[] | ExpressionObserver): void;
827
- unbind(): void;
828
- // @internal (undocumented)
829
- views: SyntheticView[];
830
- }
831
-
832
- // @public
833
- export class RepeatDirective<TSource = any> implements HTMLDirective, ViewBehaviorFactory, BindingDirective {
834
- constructor(dataBinding: Binding<TSource>, templateBinding: Binding<TSource, SyntheticViewTemplate>, options: RepeatOptions);
835
- createBehavior(): RepeatBehavior<TSource>;
836
- createHTML(add: AddViewBehaviorFactory): string;
837
- // (undocumented)
838
- readonly dataBinding: Binding<TSource>;
839
- // (undocumented)
840
- readonly options: RepeatOptions;
841
- targetNodeId: string;
842
- // (undocumented)
843
- readonly templateBinding: Binding<TSource, SyntheticViewTemplate>;
844
- }
845
-
846
- // @public
847
- export interface RepeatOptions {
848
- positioning?: boolean;
849
- recycle?: boolean;
850
- }
851
-
852
- // @public
853
- export interface ShadowRootOptions extends ShadowRootInit {
854
- // @beta
855
- registry?: CustomElementRegistry;
856
- }
857
-
858
- // @public
859
- export function slotted<TSource = any, TParent = any>(propertyOrOptions: (keyof TSource & string) | SlottedDirectiveOptions<keyof TSource & string>): CaptureType<TSource, TParent>;
860
-
861
- // @public
862
- export class SlottedDirective extends NodeObservationDirective<SlottedDirectiveOptions> {
863
- disconnect(target: EventSource): void;
864
- getNodes(target: HTMLSlotElement): Node[];
865
- // @internal (undocumented)
866
- handleEvent(event: Event): void;
867
- observe(target: EventSource): void;
868
- }
869
-
870
- // @public
871
- export interface SlottedDirectiveOptions<T = any> extends NodeBehaviorOptions<T>, AssignedNodesOptions {
872
- }
873
-
874
- // @public
875
- export class Sort {
876
- constructor(sorted?: number[] | undefined);
877
- // (undocumented)
878
- sorted?: number[] | undefined;
879
- }
880
-
881
- // @public
882
- export function sortedCount<T>(array: readonly T[]): number;
883
-
884
- // @public
885
- export interface SortObserver extends Subscriber {
886
- sorted: number;
887
- }
888
-
889
- // @public
890
- export const SourceLifetime: Readonly<{
891
- readonly unknown: undefined;
892
- readonly coupled: 1;
893
- }>;
894
-
895
- // @public
896
- export type SourceLifetime = (typeof SourceLifetime)[keyof typeof SourceLifetime];
897
-
898
- // @public
899
- export class Splice {
900
- constructor(index: number, removed: any[], addedCount: number);
901
- // (undocumented)
902
- addedCount: number;
903
- adjustTo(array: any[]): this;
904
- // (undocumented)
905
- index: number;
906
- // (undocumented)
907
- removed: any[];
908
- reset?: boolean;
909
- }
910
-
911
- // @public
912
- export interface SpliceStrategy {
913
- normalize(previous: unknown[] | undefined, current: unknown[], changes: Splice[] | undefined): readonly Splice[];
914
- pop(array: any[], observer: ArrayObserver, pop: typeof Array.prototype.pop, args: any[]): any;
915
- push(array: any[], observer: ArrayObserver, push: typeof Array.prototype.push, args: any[]): any;
916
- reverse(array: any[], observer: ArrayObserver, reverse: typeof Array.prototype.reverse, args: any[]): any;
917
- shift(array: any[], observer: ArrayObserver, shift: typeof Array.prototype.shift, args: any[]): any;
918
- sort(array: any[], observer: ArrayObserver, sort: typeof Array.prototype.sort, args: any[]): any[];
919
- splice(array: any[], observer: ArrayObserver, splice: typeof Array.prototype.splice, args: any[]): any;
920
- readonly support: SpliceStrategySupport;
921
- unshift(array: any[], observer: ArrayObserver, unshift: typeof Array.prototype.unshift, args: any[]): any[];
922
- }
923
-
924
- // @public
925
- export const SpliceStrategy: Readonly<{
926
- readonly reset: Splice[];
927
- readonly setDefaultStrategy: (strategy: SpliceStrategy) => void;
928
- }>;
929
-
930
- // @public
931
- export const SpliceStrategySupport: Readonly<{
932
- readonly reset: 1;
933
- readonly splice: 2;
934
- readonly optimized: 3;
935
- }>;
936
-
937
- // @public
938
- export type SpliceStrategySupport = (typeof SpliceStrategySupport)[keyof typeof SpliceStrategySupport];
939
-
940
- // @public
941
- export const enum Stages {
942
- connected = 1,
943
- connecting = 0,
944
- disconnected = 3,
945
- disconnecting = 2
946
- }
947
-
948
- // @public
949
- export abstract class StatelessAttachedAttributeDirective<TOptions> implements HTMLDirective, ViewBehaviorFactory, ViewBehavior {
950
- constructor(options: TOptions);
951
- abstract bind(controller: ViewController): void;
952
- createBehavior(): ViewBehavior;
953
- createHTML(add: AddViewBehaviorFactory): string;
954
- // (undocumented)
955
- protected options: TOptions;
956
- }
957
-
958
- // @public
959
- export interface StyleStrategy {
960
- addStylesTo(target: StyleTarget): void;
961
- removeStylesFrom(target: StyleTarget): void;
962
- }
963
-
964
- // @public
965
- export interface StyleTarget extends Pick<Node, "getRootNode"> {
966
- adoptedStyleSheets?: CSSStyleSheet[];
967
- append(styles: HTMLStyleElement): void;
968
- querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
969
- removeChild(styles: HTMLStyleElement): void;
970
- }
971
-
972
- // @public
973
- export interface Subscriber {
974
- handleChange(subject: any, args: any): void;
975
- }
976
-
977
- // @public
978
- export class SubscriberSet implements Notifier {
979
- constructor(subject: any, initialSubscriber?: Subscriber);
980
- has(subscriber: Subscriber): boolean;
981
- notify(args: any): void;
982
- readonly subject: any;
983
- subscribe(subscriber: Subscriber): void;
984
- unsubscribe(subscriber: Subscriber): void;
985
- }
986
-
987
- // @public
988
- export interface SubtreeDirectiveOptions<T = any> extends NodeBehaviorOptions<T>, Omit<MutationObserverInit, "subtree" | "childList"> {
989
- selector: string;
990
- subtree: boolean;
991
- }
992
-
993
- // @public
994
- export interface SyntheticView<TSource = any, TParent = any> extends View<TSource, TParent> {
995
- readonly firstChild: Node;
996
- insertBefore(node: Node): void;
997
- readonly lastChild: Node;
998
- remove(): void;
999
- }
1000
-
1001
- // @public
1002
- export interface SyntheticViewTemplate<TSource = any, TParent = any> {
1003
- create(): SyntheticView<TSource, TParent>;
1004
- inline(): CaptureType<TSource, TParent>;
1005
- }
1006
-
1007
- // @public
1008
- export interface TemplateLifecycleCallbacks {
1009
- elementDidDefine?(name: string): void;
1010
- templateDidUpdate?(name: string): void;
1011
- }
1012
-
1013
- // @alpha
1014
- export const TemplateOptions: {
1015
- readonly deferAndHydrate: "defer-and-hydrate";
1016
- };
1017
-
1018
- // @alpha
1019
- export type TemplateOptions = (typeof TemplateOptions)[keyof typeof TemplateOptions];
1020
-
1021
- // @public
1022
- export type TemplateValue<TSource, TParent = any> = Expression<TSource, any, TParent> | Binding<TSource, any, TParent> | HTMLDirective | CaptureType<TSource, TParent>;
1023
-
1024
- // @public
1025
- export type TrustedTypesPolicy = {
1026
- createHTML(html: string): string;
1027
- };
1028
-
1029
- // Warning: (ae-forgotten-export) The symbol "TypeDefinition" needs to be exported by the entry point index.d.ts
1030
- // Warning: (ae-internal-missing-underscore) The name "TypeRegistry" should be prefixed with an underscore because the declaration is marked as @internal
1031
- //
1032
- // @internal
1033
- export interface TypeRegistry<TDefinition extends TypeDefinition> {
1034
- // (undocumented)
1035
- getByType(key: Function): TDefinition | undefined;
1036
- // (undocumented)
1037
- getForInstance(object: any): TDefinition | undefined;
1038
- // (undocumented)
1039
- register(definition: TDefinition): boolean;
1040
- }
1041
-
1042
- // @public
1043
- export interface UpdateQueue {
1044
- enqueue(callable: Callable): void;
1045
- next(): Promise<void>;
1046
- process(): void;
1047
- setMode(isAsync: boolean): void;
1048
- }
1049
-
1050
- // @public
1051
- export const Updates: UpdateQueue;
1052
-
1053
- // @public
1054
- export interface ValueConverter {
1055
- fromView(value: any): any;
1056
- toView(value: any): any;
1057
- }
1058
-
1059
- // @public
1060
- export interface View<TSource = any, TParent = any> extends Disposable {
1061
- bind(source: TSource, context?: ExecutionContext<TParent>): void;
1062
- readonly context: ExecutionContext<TParent>;
1063
- readonly isBound: boolean;
1064
- readonly source: TSource | null;
1065
- unbind(): void;
1066
- }
1067
-
1068
- // @public
1069
- export interface ViewBehavior<TSource = any, TParent = any> {
1070
- bind(controller: ViewController<TSource, TParent>): void;
1071
- }
1072
-
1073
- // @public
1074
- export interface ViewBehaviorFactory {
1075
- createBehavior(): ViewBehavior;
1076
- id?: string;
1077
- policy?: DOMPolicy;
1078
- targetNodeId?: string;
1079
- targetTagName?: string | null;
1080
- }
1081
-
1082
- // @public
1083
- export type ViewBehaviorTargets = {
1084
- [id: string]: Node;
1085
- };
1086
-
1087
- // @public
1088
- export interface ViewController<TSource = any, TParent = any> extends ExpressionController<TSource, TParent> {
1089
- readonly targets: ViewBehaviorTargets;
1090
- }
1091
-
1092
- // @public
1093
- export class ViewTemplate<TSource = any, TParent = any> implements ElementViewTemplate<TSource, TParent>, SyntheticViewTemplate<TSource, TParent> {
1094
- constructor(html: string | HTMLTemplateElement, factories?: Record<string, ViewBehaviorFactory>, policy?: DOMPolicy | undefined);
1095
- // @internal (undocumented)
1096
- compile(): HTMLTemplateCompilationResult<TSource, TParent>;
1097
- create(hostBindingTarget?: Element): HTMLView<TSource, TParent>;
1098
- static create<TSource = any, TParent = any>(strings: string[], values: TemplateValue<TSource, TParent>[], policy?: DOMPolicy): ViewTemplate<TSource, TParent>;
1099
- readonly factories: Record<string, ViewBehaviorFactory>;
1100
- readonly html: string | HTMLTemplateElement;
1101
- inline(): CaptureType<TSource, TParent>;
1102
- render(source: TSource, host: Node, hostBindingTarget?: Element): HTMLView<TSource, TParent>;
1103
- withPolicy(policy: DOMPolicy): this;
1104
- }
1105
-
1106
- // @public
1107
- export function volatile(target: {}, name: string | Accessor, descriptor: PropertyDescriptor): PropertyDescriptor;
1108
-
1109
- // @public
1110
- export function when<TSource = any, TReturn = any, TParent = any>(condition: Expression<TSource, TReturn, TParent> | boolean, templateOrTemplateBinding: SyntheticViewTemplate<TSource, TParent> | Expression<TSource, SyntheticViewTemplate<TSource, TParent>, TParent>, elseTemplateOrTemplateBinding?: SyntheticViewTemplate<TSource, TParent> | Expression<TSource, SyntheticViewTemplate<TSource, TParent>, TParent>): CaptureType<TSource, TParent>;
1111
-
1112
- // Warnings were encountered during analysis:
1113
- //
1114
- // dist/dts/components/fast-element.d.ts:62:5 - (ae-forgotten-export) The symbol "define" needs to be exported by the entry point index.d.ts
1115
- // dist/dts/components/fast-element.d.ts:63:5 - (ae-forgotten-export) The symbol "compose" needs to be exported by the entry point index.d.ts
1116
- // dist/dts/components/fast-element.d.ts:64:5 - (ae-forgotten-export) The symbol "defineAsync" needs to be exported by the entry point index.d.ts
1117
- // dist/dts/components/fast-element.d.ts:65:5 - (ae-forgotten-export) The symbol "from" needs to be exported by the entry point index.d.ts
1118
- // dist/dts/styles/css-binding-directive.d.ts:35:9 - (ae-forgotten-export) The symbol "CSSBindingEntry" needs to be exported by the entry point index.d.ts
1119
-
1120
- // (No @packageDocumentation comment for this package)
1121
-
1122
- ```