@microsoft/fast-element 3.0.0-rc.1 → 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 (286) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/README.md +50 -14
  3. package/dist/context/context.api.json +13 -13
  4. package/dist/declarative/declarative.api.json +654 -15
  5. package/dist/di/di.api.json +15 -15
  6. package/dist/dts/__test__/helpers.d.ts +6 -0
  7. package/dist/dts/__test__/setup-node.d.ts +0 -0
  8. package/dist/dts/binding/binding.d.ts +15 -5
  9. package/dist/dts/binding/one-time.d.ts +1 -1
  10. package/dist/dts/binding/one-way.d.ts +1 -1
  11. package/dist/dts/binding/signal.d.ts +1 -1
  12. package/dist/dts/binding/two-way.d.ts +1 -1
  13. package/dist/dts/components/attributes.d.ts +1 -1
  14. package/dist/dts/components/enable-hydration.d.ts +22 -2
  15. package/dist/dts/components/fast-definitions.d.ts +7 -4
  16. package/dist/dts/components/fast-element.d.ts +42 -12
  17. package/dist/dts/components/hydration-tracker.d.ts +47 -4
  18. package/dist/dts/components/hydration.d.ts +5 -0
  19. package/dist/dts/context.d.ts +7 -7
  20. package/dist/dts/declarative/debug.d.ts +2 -3
  21. package/dist/dts/declarative/index.d.ts +3 -2
  22. package/dist/dts/declarative/interfaces.d.ts +1 -2
  23. package/dist/dts/declarative/template.d.ts +2 -1
  24. package/dist/dts/declarative/utilities.d.ts +50 -4
  25. package/dist/dts/di/di.d.ts +6 -6
  26. package/dist/dts/dom-policy.d.ts +22 -4
  27. package/dist/dts/dom.d.ts +4 -16
  28. package/dist/dts/hydration/diagnostics.d.ts +93 -0
  29. package/dist/dts/hydration/hydration-debugger.d.ts +35 -0
  30. package/dist/dts/hydration/messages.d.ts +62 -0
  31. package/dist/dts/hydration/target-builder.d.ts +26 -1
  32. package/dist/dts/hydration.d.ts +7 -3
  33. package/dist/dts/index.d.ts +7 -3
  34. package/dist/dts/interfaces.d.ts +1 -0
  35. package/dist/dts/observation/observable.d.ts +3 -3
  36. package/dist/dts/platform.d.ts +20 -4
  37. package/dist/dts/registry.d.ts +1 -0
  38. package/dist/dts/templating/children.d.ts +1 -1
  39. package/dist/dts/templating/compiler.d.ts +1 -1
  40. package/dist/dts/templating/html-binding-directive.d.ts +6 -2
  41. package/dist/dts/templating/html-directive.d.ts +2 -1
  42. package/dist/dts/templating/hydration-view.d.ts +24 -3
  43. package/dist/dts/templating/ref.d.ts +1 -1
  44. package/dist/dts/templating/render.d.ts +2 -2
  45. package/dist/dts/templating/repeat.d.ts +1 -1
  46. package/dist/dts/templating/slotted.d.ts +1 -1
  47. package/dist/dts/templating/template.d.ts +5 -5
  48. package/dist/dts/templating/when.d.ts +1 -1
  49. package/dist/dts/testing/fakes.d.ts +4 -4
  50. package/dist/esm/__test__/helpers.js +22 -0
  51. package/dist/esm/__test__/setup-node.js +18 -0
  52. package/dist/esm/binding/two-way.js +1 -2
  53. package/dist/esm/components/attributes.js +12 -8
  54. package/dist/esm/components/element-controller.js +11 -6
  55. package/dist/esm/components/enable-hydration.js +27 -3
  56. package/dist/esm/components/fast-definitions.js +19 -18
  57. package/dist/esm/components/hydration-tracker.js +34 -5
  58. package/dist/esm/components/hydration.js +85 -6
  59. package/dist/esm/debug.js +1 -0
  60. package/dist/esm/declarative/attribute-map.js +2 -1
  61. package/dist/esm/declarative/debug.js +0 -1
  62. package/dist/esm/declarative/index.js +1 -0
  63. package/dist/esm/declarative/interfaces.js +0 -1
  64. package/dist/esm/declarative/observer-map-utilities.js +58 -55
  65. package/dist/esm/declarative/template-bridge.js +4 -14
  66. package/dist/esm/declarative/template.js +4 -3
  67. package/dist/esm/declarative/utilities.js +236 -1
  68. package/dist/esm/di/di.js +2 -1
  69. package/dist/esm/dom-policy.js +33 -4
  70. package/dist/esm/hydration/diagnostics.js +50 -0
  71. package/dist/esm/hydration/hydration-debugger.js +112 -0
  72. package/dist/esm/hydration/messages.js +84 -0
  73. package/dist/esm/hydration/target-builder.js +65 -19
  74. package/dist/esm/hydration.js +3 -1
  75. package/dist/esm/index.js +6 -2
  76. package/dist/esm/interfaces.js +1 -0
  77. package/dist/esm/metadata.js +2 -8
  78. package/dist/esm/observation/notifier.js +2 -4
  79. package/dist/esm/registry.js +1 -0
  80. package/dist/esm/templating/html-binding-directive.js +1 -1
  81. package/dist/esm/templating/hydration-view.js +20 -27
  82. package/dist/esm/templating/render.js +39 -18
  83. package/dist/esm/templating/repeat.js +51 -17
  84. package/dist/esm/templating/view.js +1 -1
  85. package/dist/esm/testing/fixture.js +2 -2
  86. package/dist/esm/testing/timeout.js +2 -2
  87. package/dist/fast-element.api.json +1329 -99
  88. package/dist/fast-element.d.ts +147 -66
  89. package/dist/fast-element.debug.js +392 -99
  90. package/dist/fast-element.debug.min.js +2 -2
  91. package/dist/fast-element.js +392 -99
  92. package/dist/fast-element.min.js +2 -2
  93. package/dist/fast-element.untrimmed.d.ts +133 -70
  94. package/dist/hydration/hydration.api.json +1280 -57
  95. package/dist/styles/styles.api.json +1 -1
  96. package/package.json +21 -9
  97. package/ARCHITECTURE_FASTELEMENT.md +0 -63
  98. package/ARCHITECTURE_HTML_TAGGED_TEMPLATE_LITERAL.md +0 -36
  99. package/ARCHITECTURE_INTRO.md +0 -10
  100. package/ARCHITECTURE_OVERVIEW.md +0 -52
  101. package/ARCHITECTURE_UPDATES.md +0 -11
  102. package/CHANGELOG.json +0 -2275
  103. package/DECLARATIVE_DESIGN.md +0 -806
  104. package/DECLARATIVE_HTML.md +0 -470
  105. package/DECLARATIVE_MIGRATION.md +0 -215
  106. package/DECLARATIVE_RENDERING.md +0 -530
  107. package/DECLARATIVE_RENDERING_LIFECYCLE.md +0 -288
  108. package/DECLARATIVE_SCHEMA_OBSERVER_MAP.md +0 -489
  109. package/DESIGN.md +0 -615
  110. package/MIGRATION.md +0 -387
  111. package/SIZES.md +0 -25
  112. package/api-extractor.arrays.json +0 -15
  113. package/api-extractor.context.json +0 -15
  114. package/api-extractor.declarative.json +0 -15
  115. package/api-extractor.di.json +0 -15
  116. package/api-extractor.hydration.json +0 -15
  117. package/api-extractor.styles.json +0 -15
  118. package/biome.json +0 -4
  119. package/docs/ACKNOWLEDGEMENTS.md +0 -12
  120. package/docs/api-report.api.md +0 -1299
  121. package/docs/arrays/api-report.api.md +0 -114
  122. package/docs/context/api-report.api.md +0 -69
  123. package/docs/declarative/api-report.api.md +0 -397
  124. package/docs/di/api-report.api.md +0 -315
  125. package/docs/fast-element-2-changes.md +0 -15
  126. package/docs/hydration/api-report.api.md +0 -285
  127. package/docs/styles/api-report.api.md +0 -135
  128. package/playwright.config.ts +0 -26
  129. package/playwright.declarative.config.ts +0 -26
  130. package/playwright.declarative.webui.config.ts +0 -20
  131. package/scripts/declarative/build-fixtures-with-webui.js +0 -135
  132. package/scripts/declarative/build-fixtures.js +0 -49
  133. package/scripts/declarative/build-fixtures.utilities.js +0 -101
  134. package/scripts/measure-sizes.js +0 -219
  135. package/scripts/run-api-extractor.js +0 -70
  136. package/test/declarative/fixtures/README.md +0 -72
  137. package/test/declarative/fixtures/WRITING_FIXTURES.md +0 -330
  138. package/test/declarative/fixtures/bindings/README.md +0 -12
  139. package/test/declarative/fixtures/bindings/attribute/entry.html +0 -13
  140. package/test/declarative/fixtures/bindings/attribute/fast-build.config.json +0 -6
  141. package/test/declarative/fixtures/bindings/attribute/index.html +0 -25
  142. package/test/declarative/fixtures/bindings/attribute/main.ts +0 -41
  143. package/test/declarative/fixtures/bindings/attribute/state.json +0 -8
  144. package/test/declarative/fixtures/bindings/attribute/templates.html +0 -11
  145. package/test/declarative/fixtures/bindings/content/entry.html +0 -12
  146. package/test/declarative/fixtures/bindings/content/fast-build.config.json +0 -6
  147. package/test/declarative/fixtures/bindings/content/index.html +0 -19
  148. package/test/declarative/fixtures/bindings/content/main.ts +0 -27
  149. package/test/declarative/fixtures/bindings/content/state.json +0 -4
  150. package/test/declarative/fixtures/bindings/content/templates.html +0 -6
  151. package/test/declarative/fixtures/bindings/dot-syntax/entry.html +0 -11
  152. package/test/declarative/fixtures/bindings/dot-syntax/fast-build.config.json +0 -6
  153. package/test/declarative/fixtures/bindings/dot-syntax/index.html +0 -47
  154. package/test/declarative/fixtures/bindings/dot-syntax/main.ts +0 -59
  155. package/test/declarative/fixtures/bindings/dot-syntax/state.json +0 -16
  156. package/test/declarative/fixtures/bindings/dot-syntax/templates.html +0 -17
  157. package/test/declarative/fixtures/bindings/event/entry.html +0 -11
  158. package/test/declarative/fixtures/bindings/event/fast-build.config.json +0 -6
  159. package/test/declarative/fixtures/bindings/event/index.html +0 -43
  160. package/test/declarative/fixtures/bindings/event/main.ts +0 -43
  161. package/test/declarative/fixtures/bindings/event/state.json +0 -3
  162. package/test/declarative/fixtures/bindings/event/templates.html +0 -18
  163. package/test/declarative/fixtures/bindings/host/entry.html +0 -40
  164. package/test/declarative/fixtures/bindings/host/fast-build.config.json +0 -6
  165. package/test/declarative/fixtures/bindings/host/index.html +0 -96
  166. package/test/declarative/fixtures/bindings/host/main.ts +0 -222
  167. package/test/declarative/fixtures/bindings/host/state.json +0 -9
  168. package/test/declarative/fixtures/bindings/host/templates.html +0 -55
  169. package/test/declarative/fixtures/directives/README.md +0 -12
  170. package/test/declarative/fixtures/directives/children/entry.html +0 -11
  171. package/test/declarative/fixtures/directives/children/fast-build.config.json +0 -6
  172. package/test/declarative/fixtures/directives/children/index.html +0 -15
  173. package/test/declarative/fixtures/directives/children/main.ts +0 -22
  174. package/test/declarative/fixtures/directives/children/state.json +0 -3
  175. package/test/declarative/fixtures/directives/children/templates.html +0 -3
  176. package/test/declarative/fixtures/directives/ref/entry.html +0 -11
  177. package/test/declarative/fixtures/directives/ref/fast-build.config.json +0 -6
  178. package/test/declarative/fixtures/directives/ref/index.html +0 -15
  179. package/test/declarative/fixtures/directives/ref/main.ts +0 -17
  180. package/test/declarative/fixtures/directives/ref/state.json +0 -1
  181. package/test/declarative/fixtures/directives/ref/templates.html +0 -3
  182. package/test/declarative/fixtures/directives/repeat/entry.html +0 -21
  183. package/test/declarative/fixtures/directives/repeat/fast-build.config.json +0 -6
  184. package/test/declarative/fixtures/directives/repeat/index.html +0 -133
  185. package/test/declarative/fixtures/directives/repeat/main.ts +0 -110
  186. package/test/declarative/fixtures/directives/repeat/sprites.svg +0 -8
  187. package/test/declarative/fixtures/directives/repeat/state.json +0 -10
  188. package/test/declarative/fixtures/directives/repeat/templates.html +0 -75
  189. package/test/declarative/fixtures/directives/slotted/entry.html +0 -17
  190. package/test/declarative/fixtures/directives/slotted/fast-build.config.json +0 -6
  191. package/test/declarative/fixtures/directives/slotted/index.html +0 -27
  192. package/test/declarative/fixtures/directives/slotted/main.ts +0 -29
  193. package/test/declarative/fixtures/directives/slotted/state.json +0 -1
  194. package/test/declarative/fixtures/directives/slotted/templates.html +0 -7
  195. package/test/declarative/fixtures/directives/when/entry.html +0 -51
  196. package/test/declarative/fixtures/directives/when/fast-build.config.json +0 -6
  197. package/test/declarative/fixtures/directives/when/index.html +0 -136
  198. package/test/declarative/fixtures/directives/when/main.ts +0 -172
  199. package/test/declarative/fixtures/directives/when/state.json +0 -12
  200. package/test/declarative/fixtures/directives/when/templates.html +0 -75
  201. package/test/declarative/fixtures/ecosystem/README.md +0 -11
  202. package/test/declarative/fixtures/ecosystem/declarative-no-hydration/entry.html +0 -12
  203. package/test/declarative/fixtures/ecosystem/declarative-no-hydration/fast-build.config.json +0 -6
  204. package/test/declarative/fixtures/ecosystem/declarative-no-hydration/index.html +0 -20
  205. package/test/declarative/fixtures/ecosystem/declarative-no-hydration/main.ts +0 -68
  206. package/test/declarative/fixtures/ecosystem/declarative-no-hydration/state.json +0 -4
  207. package/test/declarative/fixtures/ecosystem/declarative-no-hydration/templates.html +0 -7
  208. package/test/declarative/fixtures/ecosystem/errors/entry.html +0 -12
  209. package/test/declarative/fixtures/ecosystem/errors/fast-build.config.json +0 -6
  210. package/test/declarative/fixtures/ecosystem/errors/index.html +0 -20
  211. package/test/declarative/fixtures/ecosystem/errors/main.ts +0 -17
  212. package/test/declarative/fixtures/ecosystem/errors/state.json +0 -1
  213. package/test/declarative/fixtures/ecosystem/errors/templates.html +0 -7
  214. package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/entry.html +0 -17
  215. package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/fast-build.config.json +0 -6
  216. package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/index.html +0 -56
  217. package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/main.ts +0 -134
  218. package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/state.json +0 -12
  219. package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/templates.html +0 -34
  220. package/test/declarative/fixtures/ecosystem/performance-metrics/entry.html +0 -25
  221. package/test/declarative/fixtures/ecosystem/performance-metrics/fast-build.config.json +0 -6
  222. package/test/declarative/fixtures/ecosystem/performance-metrics/fast-card.css +0 -10
  223. package/test/declarative/fixtures/ecosystem/performance-metrics/index.html +0 -181
  224. package/test/declarative/fixtures/ecosystem/performance-metrics/main.ts +0 -58
  225. package/test/declarative/fixtures/ecosystem/performance-metrics/state.json +0 -6
  226. package/test/declarative/fixtures/ecosystem/performance-metrics/templates.html +0 -15
  227. package/test/declarative/fixtures/extensions/README.md +0 -15
  228. package/test/declarative/fixtures/extensions/attribute-map/entry.html +0 -14
  229. package/test/declarative/fixtures/extensions/attribute-map/fast-build.config.json +0 -6
  230. package/test/declarative/fixtures/extensions/attribute-map/index.html +0 -31
  231. package/test/declarative/fixtures/extensions/attribute-map/main.ts +0 -40
  232. package/test/declarative/fixtures/extensions/attribute-map/state.json +0 -4
  233. package/test/declarative/fixtures/extensions/attribute-map/templates.html +0 -14
  234. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/entry.html +0 -12
  235. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/fast-build.config.json +0 -7
  236. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/index.html +0 -25
  237. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/main.ts +0 -31
  238. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/state.json +0 -5
  239. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/templates.html +0 -11
  240. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/entry.html +0 -13
  241. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/fast-build.config.json +0 -7
  242. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/index.html +0 -23
  243. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/main.ts +0 -37
  244. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/state.json +0 -1
  245. package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/templates.html +0 -9
  246. package/test/declarative/fixtures/extensions/observer-map/entry.html +0 -15
  247. package/test/declarative/fixtures/extensions/observer-map/fast-build.config.json +0 -6
  248. package/test/declarative/fixtures/extensions/observer-map/index.html +0 -442
  249. package/test/declarative/fixtures/extensions/observer-map/main.ts +0 -482
  250. package/test/declarative/fixtures/extensions/observer-map/state.json +0 -158
  251. package/test/declarative/fixtures/extensions/observer-map/templates.html +0 -172
  252. package/test/declarative/fixtures/extensions/observer-map-config-object/entry.html +0 -16
  253. package/test/declarative/fixtures/extensions/observer-map-config-object/fast-build.config.json +0 -6
  254. package/test/declarative/fixtures/extensions/observer-map-config-object/index.html +0 -27
  255. package/test/declarative/fixtures/extensions/observer-map-config-object/main.ts +0 -53
  256. package/test/declarative/fixtures/extensions/observer-map-config-object/state.json +0 -9
  257. package/test/declarative/fixtures/extensions/observer-map-config-object/templates.html +0 -12
  258. package/test/declarative/fixtures/extensions/observer-map-deep-merge/README.md +0 -98
  259. package/test/declarative/fixtures/extensions/observer-map-deep-merge/entry.html +0 -156
  260. package/test/declarative/fixtures/extensions/observer-map-deep-merge/fast-build.config.json +0 -6
  261. package/test/declarative/fixtures/extensions/observer-map-deep-merge/index.html +0 -376
  262. package/test/declarative/fixtures/extensions/observer-map-deep-merge/main.ts +0 -366
  263. package/test/declarative/fixtures/extensions/observer-map-deep-merge/state.json +0 -69
  264. package/test/declarative/fixtures/extensions/observer-map-deep-merge/templates.html +0 -91
  265. package/test/declarative/fixtures/extensions/observer-map-properties/entry.html +0 -14
  266. package/test/declarative/fixtures/extensions/observer-map-properties/fast-build.config.json +0 -6
  267. package/test/declarative/fixtures/extensions/observer-map-properties/index.html +0 -110
  268. package/test/declarative/fixtures/extensions/observer-map-properties/main.ts +0 -175
  269. package/test/declarative/fixtures/extensions/observer-map-properties/state.json +0 -29
  270. package/test/declarative/fixtures/extensions/observer-map-properties/templates.html +0 -55
  271. package/test/declarative/fixtures/scenarios/README.md +0 -7
  272. package/test/declarative/fixtures/scenarios/nested-elements/entry.html +0 -16
  273. package/test/declarative/fixtures/scenarios/nested-elements/fast-build.config.json +0 -6
  274. package/test/declarative/fixtures/scenarios/nested-elements/index.html +0 -126
  275. package/test/declarative/fixtures/scenarios/nested-elements/main.ts +0 -214
  276. package/test/declarative/fixtures/scenarios/nested-elements/state.json +0 -10
  277. package/test/declarative/fixtures/scenarios/nested-elements/templates.html +0 -54
  278. package/test/declarative/index.html +0 -12
  279. package/test/declarative/vite.config.ts +0 -55
  280. package/test/declarative-main.ts +0 -6
  281. package/test/extension-subpaths-main.ts +0 -9
  282. package/test/index.html +0 -11
  283. package/test/main.ts +0 -109
  284. package/test/pure-declarative-main.ts +0 -1
  285. package/test/vite.config.ts +0 -19
  286. package/tsconfig.api-extractor.json +0 -6
@@ -195,11 +195,51 @@
195
195
  "excerptTokens": [
196
196
  {
197
197
  "kind": "Content",
198
- "text": "export interface CaptureType "
198
+ "text": "export interface CaptureType<TSource = "
199
+ },
200
+ {
201
+ "kind": "Content",
202
+ "text": "any"
203
+ },
204
+ {
205
+ "kind": "Content",
206
+ "text": ", TParent = "
207
+ },
208
+ {
209
+ "kind": "Content",
210
+ "text": "any"
211
+ },
212
+ {
213
+ "kind": "Content",
214
+ "text": "> "
199
215
  }
200
216
  ],
201
217
  "fileUrlPath": "dist/dts/templating/template.d.ts",
202
218
  "releaseTag": "Public",
219
+ "typeParameters": [
220
+ {
221
+ "typeParameterName": "TSource",
222
+ "constraintTokenRange": {
223
+ "startIndex": 0,
224
+ "endIndex": 0
225
+ },
226
+ "defaultTypeTokenRange": {
227
+ "startIndex": 1,
228
+ "endIndex": 2
229
+ }
230
+ },
231
+ {
232
+ "typeParameterName": "TParent",
233
+ "constraintTokenRange": {
234
+ "startIndex": 0,
235
+ "endIndex": 0
236
+ },
237
+ "defaultTypeTokenRange": {
238
+ "startIndex": 3,
239
+ "endIndex": 4
240
+ }
241
+ }
242
+ ],
203
243
  "name": "CaptureType",
204
244
  "preserveMemberOrder": false,
205
245
  "members": [],
@@ -1069,17 +1109,235 @@
1069
1109
  "endIndex": 3
1070
1110
  }
1071
1111
  },
1112
+ {
1113
+ "kind": "TypeAlias",
1114
+ "canonicalReference": "@microsoft/fast-element!DOMAspectGuards:type",
1115
+ "docComment": "/**\n * Aspect-specific guards for a DOM Policy.\n *\n * @public\n */\n",
1116
+ "excerptTokens": [
1117
+ {
1118
+ "kind": "Content",
1119
+ "text": "export type DOMAspectGuards = "
1120
+ },
1121
+ {
1122
+ "kind": "Content",
1123
+ "text": "{\n ["
1124
+ },
1125
+ {
1126
+ "kind": "Reference",
1127
+ "text": "DOMAspect.attribute",
1128
+ "canonicalReference": "@microsoft/fast-element!~attribute"
1129
+ },
1130
+ {
1131
+ "kind": "Content",
1132
+ "text": "]?: "
1133
+ },
1134
+ {
1135
+ "kind": "Reference",
1136
+ "text": "DOMSinkGuards",
1137
+ "canonicalReference": "@microsoft/fast-element!DOMSinkGuards:type"
1138
+ },
1139
+ {
1140
+ "kind": "Content",
1141
+ "text": ";\n ["
1142
+ },
1143
+ {
1144
+ "kind": "Reference",
1145
+ "text": "DOMAspect.booleanAttribute",
1146
+ "canonicalReference": "@microsoft/fast-element!~booleanAttribute"
1147
+ },
1148
+ {
1149
+ "kind": "Content",
1150
+ "text": "]?: "
1151
+ },
1152
+ {
1153
+ "kind": "Reference",
1154
+ "text": "DOMSinkGuards",
1155
+ "canonicalReference": "@microsoft/fast-element!DOMSinkGuards:type"
1156
+ },
1157
+ {
1158
+ "kind": "Content",
1159
+ "text": ";\n ["
1160
+ },
1161
+ {
1162
+ "kind": "Reference",
1163
+ "text": "DOMAspect.property",
1164
+ "canonicalReference": "@microsoft/fast-element!~property"
1165
+ },
1166
+ {
1167
+ "kind": "Content",
1168
+ "text": "]?: "
1169
+ },
1170
+ {
1171
+ "kind": "Reference",
1172
+ "text": "DOMSinkGuards",
1173
+ "canonicalReference": "@microsoft/fast-element!DOMSinkGuards:type"
1174
+ },
1175
+ {
1176
+ "kind": "Content",
1177
+ "text": ";\n ["
1178
+ },
1179
+ {
1180
+ "kind": "Reference",
1181
+ "text": "DOMAspect.content",
1182
+ "canonicalReference": "@microsoft/fast-element!~content"
1183
+ },
1184
+ {
1185
+ "kind": "Content",
1186
+ "text": "]?: "
1187
+ },
1188
+ {
1189
+ "kind": "Reference",
1190
+ "text": "DOMSinkGuards",
1191
+ "canonicalReference": "@microsoft/fast-element!DOMSinkGuards:type"
1192
+ },
1193
+ {
1194
+ "kind": "Content",
1195
+ "text": ";\n ["
1196
+ },
1197
+ {
1198
+ "kind": "Reference",
1199
+ "text": "DOMAspect.tokenList",
1200
+ "canonicalReference": "@microsoft/fast-element!~tokenList"
1201
+ },
1202
+ {
1203
+ "kind": "Content",
1204
+ "text": "]?: "
1205
+ },
1206
+ {
1207
+ "kind": "Reference",
1208
+ "text": "DOMSinkGuards",
1209
+ "canonicalReference": "@microsoft/fast-element!DOMSinkGuards:type"
1210
+ },
1211
+ {
1212
+ "kind": "Content",
1213
+ "text": ";\n ["
1214
+ },
1215
+ {
1216
+ "kind": "Reference",
1217
+ "text": "DOMAspect.event",
1218
+ "canonicalReference": "@microsoft/fast-element!~event"
1219
+ },
1220
+ {
1221
+ "kind": "Content",
1222
+ "text": "]?: "
1223
+ },
1224
+ {
1225
+ "kind": "Reference",
1226
+ "text": "DOMSinkGuards",
1227
+ "canonicalReference": "@microsoft/fast-element!DOMSinkGuards:type"
1228
+ },
1229
+ {
1230
+ "kind": "Content",
1231
+ "text": ";\n}"
1232
+ },
1233
+ {
1234
+ "kind": "Content",
1235
+ "text": ";"
1236
+ }
1237
+ ],
1238
+ "fileUrlPath": "dist/dts/dom-policy.d.ts",
1239
+ "releaseTag": "Public",
1240
+ "name": "DOMAspectGuards",
1241
+ "typeTokenRange": {
1242
+ "startIndex": 1,
1243
+ "endIndex": 26
1244
+ }
1245
+ },
1246
+ {
1247
+ "kind": "TypeAlias",
1248
+ "canonicalReference": "@microsoft/fast-element!DOMElementGuards:type",
1249
+ "docComment": "/**\n * Element-specific guards for a DOM Policy.\n *\n * @public\n */\n",
1250
+ "excerptTokens": [
1251
+ {
1252
+ "kind": "Content",
1253
+ "text": "export type DOMElementGuards = "
1254
+ },
1255
+ {
1256
+ "kind": "Reference",
1257
+ "text": "Record",
1258
+ "canonicalReference": "!Record:type"
1259
+ },
1260
+ {
1261
+ "kind": "Content",
1262
+ "text": "<string, "
1263
+ },
1264
+ {
1265
+ "kind": "Reference",
1266
+ "text": "DOMAspectGuards",
1267
+ "canonicalReference": "@microsoft/fast-element!DOMAspectGuards:type"
1268
+ },
1269
+ {
1270
+ "kind": "Content",
1271
+ "text": ">"
1272
+ },
1273
+ {
1274
+ "kind": "Content",
1275
+ "text": ";"
1276
+ }
1277
+ ],
1278
+ "fileUrlPath": "dist/dts/dom-policy.d.ts",
1279
+ "releaseTag": "Public",
1280
+ "name": "DOMElementGuards",
1281
+ "typeTokenRange": {
1282
+ "startIndex": 1,
1283
+ "endIndex": 5
1284
+ }
1285
+ },
1286
+ {
1287
+ "kind": "TypeAlias",
1288
+ "canonicalReference": "@microsoft/fast-element!DOMGuards:type",
1289
+ "docComment": "/**\n * Guard configuration for a DOM Policy.\n *\n * @public\n */\n",
1290
+ "excerptTokens": [
1291
+ {
1292
+ "kind": "Content",
1293
+ "text": "export type DOMGuards = "
1294
+ },
1295
+ {
1296
+ "kind": "Content",
1297
+ "text": "{\n elements: "
1298
+ },
1299
+ {
1300
+ "kind": "Reference",
1301
+ "text": "DOMElementGuards",
1302
+ "canonicalReference": "@microsoft/fast-element!DOMElementGuards:type"
1303
+ },
1304
+ {
1305
+ "kind": "Content",
1306
+ "text": ";\n aspects: "
1307
+ },
1308
+ {
1309
+ "kind": "Reference",
1310
+ "text": "DOMAspectGuards",
1311
+ "canonicalReference": "@microsoft/fast-element!DOMAspectGuards:type"
1312
+ },
1313
+ {
1314
+ "kind": "Content",
1315
+ "text": ";\n}"
1316
+ },
1317
+ {
1318
+ "kind": "Content",
1319
+ "text": ";"
1320
+ }
1321
+ ],
1322
+ "fileUrlPath": "dist/dts/dom-policy.d.ts",
1323
+ "releaseTag": "Public",
1324
+ "name": "DOMGuards",
1325
+ "typeTokenRange": {
1326
+ "startIndex": 1,
1327
+ "endIndex": 6
1328
+ }
1329
+ },
1072
1330
  {
1073
1331
  "kind": "Interface",
1074
1332
  "canonicalReference": "@microsoft/fast-element!DOMPolicy:interface",
1075
- "docComment": "/**\n * A security policy that FAST can use to interact with the DOM.\n *\n * @public\n */\n",
1333
+ "docComment": "/**\n * A policy that controls whether values can be written to DOM sinks.\n *\n * @public\n */\n",
1076
1334
  "excerptTokens": [
1077
1335
  {
1078
1336
  "kind": "Content",
1079
1337
  "text": "export interface DOMPolicy "
1080
1338
  }
1081
1339
  ],
1082
- "fileUrlPath": "dist/dts/dom.d.ts",
1340
+ "fileUrlPath": "dist/dts/dom-policy.d.ts",
1083
1341
  "releaseTag": "Public",
1084
1342
  "name": "DOMPolicy",
1085
1343
  "preserveMemberOrder": false,
@@ -1229,88 +1487,254 @@
1229
1487
  "extendsTokenRanges": []
1230
1488
  },
1231
1489
  {
1232
- "kind": "TypeAlias",
1233
- "canonicalReference": "@microsoft/fast-element!DOMSink:type",
1234
- "docComment": "/**\n * A function used to send values to a DOM sink.\n *\n * @public\n */\n",
1490
+ "kind": "Variable",
1491
+ "canonicalReference": "@microsoft/fast-element!DOMPolicy:var",
1492
+ "docComment": "/**\n * A helper for creating DOM policies.\n *\n * @public\n */\n",
1235
1493
  "excerptTokens": [
1236
1494
  {
1237
1495
  "kind": "Content",
1238
- "text": "export type DOMSink = "
1496
+ "text": "DOMPolicy: "
1497
+ },
1498
+ {
1499
+ "kind": "Reference",
1500
+ "text": "Readonly",
1501
+ "canonicalReference": "!Readonly:type"
1239
1502
  },
1240
1503
  {
1241
1504
  "kind": "Content",
1242
- "text": "(target: "
1505
+ "text": "<{\n create(options?: "
1243
1506
  },
1244
1507
  {
1245
1508
  "kind": "Reference",
1246
- "text": "Node",
1247
- "canonicalReference": "!Node:interface"
1509
+ "text": "DOMPolicyOptions",
1510
+ "canonicalReference": "@microsoft/fast-element!DOMPolicyOptions:type"
1248
1511
  },
1249
1512
  {
1250
1513
  "kind": "Content",
1251
- "text": ", aspectName: string, value: any, ...args: any[]) => void"
1514
+ "text": "): "
1515
+ },
1516
+ {
1517
+ "kind": "Reference",
1518
+ "text": "Readonly",
1519
+ "canonicalReference": "!Readonly:type"
1252
1520
  },
1253
1521
  {
1254
1522
  "kind": "Content",
1255
- "text": ";"
1523
+ "text": "<"
1524
+ },
1525
+ {
1526
+ "kind": "Reference",
1527
+ "text": "DOMPolicy",
1528
+ "canonicalReference": "@microsoft/fast-element!DOMPolicy:interface"
1529
+ },
1530
+ {
1531
+ "kind": "Content",
1532
+ "text": ">;\n}>"
1256
1533
  }
1257
1534
  ],
1258
- "fileUrlPath": "dist/dts/dom.d.ts",
1535
+ "fileUrlPath": "dist/dts/dom-policy.d.ts",
1536
+ "isReadonly": true,
1259
1537
  "releaseTag": "Public",
1260
- "name": "DOMSink",
1261
- "typeTokenRange": {
1538
+ "name": "DOMPolicy",
1539
+ "variableTypeTokenRange": {
1262
1540
  "startIndex": 1,
1263
- "endIndex": 4
1541
+ "endIndex": 9
1264
1542
  }
1265
1543
  },
1266
1544
  {
1267
- "kind": "Interface",
1268
- "canonicalReference": "@microsoft/fast-element!ElementView:interface",
1269
- "docComment": "/**\n * A View representing DOM nodes specifically for rendering the view of a custom element.\n *\n * @public\n */\n",
1545
+ "kind": "TypeAlias",
1546
+ "canonicalReference": "@microsoft/fast-element!DOMPolicyOptions:type",
1547
+ "docComment": "/**\n * Options for creating a DOM Policy.\n *\n * @public\n */\n",
1270
1548
  "excerptTokens": [
1271
1549
  {
1272
1550
  "kind": "Content",
1273
- "text": "export interface ElementView<TSource = "
1551
+ "text": "export type DOMPolicyOptions = "
1274
1552
  },
1275
1553
  {
1276
1554
  "kind": "Content",
1277
- "text": "any"
1555
+ "text": "{\n trustedType?: "
1278
1556
  },
1279
1557
  {
1280
- "kind": "Content",
1281
- "text": ", TParent = "
1558
+ "kind": "Reference",
1559
+ "text": "TrustedTypesPolicy",
1560
+ "canonicalReference": "@microsoft/fast-element!TrustedTypesPolicy:type"
1282
1561
  },
1283
1562
  {
1284
1563
  "kind": "Content",
1285
- "text": "any"
1564
+ "text": ";\n guards?: "
1565
+ },
1566
+ {
1567
+ "kind": "Reference",
1568
+ "text": "Partial",
1569
+ "canonicalReference": "!Partial:type"
1286
1570
  },
1287
1571
  {
1288
1572
  "kind": "Content",
1289
- "text": "> extends "
1573
+ "text": "<"
1290
1574
  },
1291
1575
  {
1292
1576
  "kind": "Reference",
1293
- "text": "View",
1294
- "canonicalReference": "@microsoft/fast-element!View:interface"
1577
+ "text": "DOMGuards",
1578
+ "canonicalReference": "@microsoft/fast-element!DOMGuards:type"
1295
1579
  },
1296
1580
  {
1297
1581
  "kind": "Content",
1298
- "text": "<TSource, TParent>"
1582
+ "text": ">;\n}"
1299
1583
  },
1300
1584
  {
1301
1585
  "kind": "Content",
1302
- "text": " "
1586
+ "text": ";"
1303
1587
  }
1304
1588
  ],
1305
- "fileUrlPath": "dist/dts/templating/view.d.ts",
1589
+ "fileUrlPath": "dist/dts/dom-policy.d.ts",
1306
1590
  "releaseTag": "Public",
1307
- "typeParameters": [
1308
- {
1309
- "typeParameterName": "TSource",
1310
- "constraintTokenRange": {
1311
- "startIndex": 0,
1312
- "endIndex": 0
1313
- },
1591
+ "name": "DOMPolicyOptions",
1592
+ "typeTokenRange": {
1593
+ "startIndex": 1,
1594
+ "endIndex": 8
1595
+ }
1596
+ },
1597
+ {
1598
+ "kind": "TypeAlias",
1599
+ "canonicalReference": "@microsoft/fast-element!DOMSink:type",
1600
+ "docComment": "/**\n * A function used to send values to a DOM sink.\n *\n * @public\n */\n",
1601
+ "excerptTokens": [
1602
+ {
1603
+ "kind": "Content",
1604
+ "text": "export type DOMSink = "
1605
+ },
1606
+ {
1607
+ "kind": "Content",
1608
+ "text": "(target: "
1609
+ },
1610
+ {
1611
+ "kind": "Reference",
1612
+ "text": "Node",
1613
+ "canonicalReference": "!Node:interface"
1614
+ },
1615
+ {
1616
+ "kind": "Content",
1617
+ "text": ", aspectName: string, value: any, ...args: any[]) => void"
1618
+ },
1619
+ {
1620
+ "kind": "Content",
1621
+ "text": ";"
1622
+ }
1623
+ ],
1624
+ "fileUrlPath": "dist/dts/dom.d.ts",
1625
+ "releaseTag": "Public",
1626
+ "name": "DOMSink",
1627
+ "typeTokenRange": {
1628
+ "startIndex": 1,
1629
+ "endIndex": 4
1630
+ }
1631
+ },
1632
+ {
1633
+ "kind": "TypeAlias",
1634
+ "canonicalReference": "@microsoft/fast-element!DOMSinkGuards:type",
1635
+ "docComment": "/**\n * A specific DOM sink guard for a node aspect.\n *\n * @public\n */\n",
1636
+ "excerptTokens": [
1637
+ {
1638
+ "kind": "Content",
1639
+ "text": "export type DOMSinkGuards = "
1640
+ },
1641
+ {
1642
+ "kind": "Reference",
1643
+ "text": "Record",
1644
+ "canonicalReference": "!Record:type"
1645
+ },
1646
+ {
1647
+ "kind": "Content",
1648
+ "text": "<string, (tagName: string | null, aspect: "
1649
+ },
1650
+ {
1651
+ "kind": "Reference",
1652
+ "text": "DOMAspect",
1653
+ "canonicalReference": "@microsoft/fast-element!DOMAspect:type"
1654
+ },
1655
+ {
1656
+ "kind": "Content",
1657
+ "text": ", aspectName: string, sink: "
1658
+ },
1659
+ {
1660
+ "kind": "Reference",
1661
+ "text": "DOMSink",
1662
+ "canonicalReference": "@microsoft/fast-element!DOMSink:type"
1663
+ },
1664
+ {
1665
+ "kind": "Content",
1666
+ "text": ") => "
1667
+ },
1668
+ {
1669
+ "kind": "Reference",
1670
+ "text": "DOMSink",
1671
+ "canonicalReference": "@microsoft/fast-element!DOMSink:type"
1672
+ },
1673
+ {
1674
+ "kind": "Content",
1675
+ "text": ">"
1676
+ },
1677
+ {
1678
+ "kind": "Content",
1679
+ "text": ";"
1680
+ }
1681
+ ],
1682
+ "fileUrlPath": "dist/dts/dom-policy.d.ts",
1683
+ "releaseTag": "Public",
1684
+ "name": "DOMSinkGuards",
1685
+ "typeTokenRange": {
1686
+ "startIndex": 1,
1687
+ "endIndex": 9
1688
+ }
1689
+ },
1690
+ {
1691
+ "kind": "Interface",
1692
+ "canonicalReference": "@microsoft/fast-element!ElementView:interface",
1693
+ "docComment": "/**\n * A View representing DOM nodes specifically for rendering the view of a custom element.\n *\n * @public\n */\n",
1694
+ "excerptTokens": [
1695
+ {
1696
+ "kind": "Content",
1697
+ "text": "export interface ElementView<TSource = "
1698
+ },
1699
+ {
1700
+ "kind": "Content",
1701
+ "text": "any"
1702
+ },
1703
+ {
1704
+ "kind": "Content",
1705
+ "text": ", TParent = "
1706
+ },
1707
+ {
1708
+ "kind": "Content",
1709
+ "text": "any"
1710
+ },
1711
+ {
1712
+ "kind": "Content",
1713
+ "text": "> extends "
1714
+ },
1715
+ {
1716
+ "kind": "Reference",
1717
+ "text": "View",
1718
+ "canonicalReference": "@microsoft/fast-element!View:interface"
1719
+ },
1720
+ {
1721
+ "kind": "Content",
1722
+ "text": "<TSource, TParent>"
1723
+ },
1724
+ {
1725
+ "kind": "Content",
1726
+ "text": " "
1727
+ }
1728
+ ],
1729
+ "fileUrlPath": "dist/dts/templating/view.d.ts",
1730
+ "releaseTag": "Public",
1731
+ "typeParameters": [
1732
+ {
1733
+ "typeParameterName": "TSource",
1734
+ "constraintTokenRange": {
1735
+ "startIndex": 0,
1736
+ "endIndex": 0
1737
+ },
1314
1738
  "defaultTypeTokenRange": {
1315
1739
  "startIndex": 1,
1316
1740
  "endIndex": 2
@@ -1663,7 +2087,7 @@
1663
2087
  {
1664
2088
  "kind": "Function",
1665
2089
  "canonicalReference": "@microsoft/fast-element!enableHydration:function(1)",
1666
- "docComment": "/**\n * Enables hydration support for prerendered FAST elements.\n *\n * @remarks\n *\n * Call this before any FAST elements connect to the DOM. Hydration logic is not active unless this function is called, keeping `FASTElement` lightweight for client-side-only applications.\n *\n * Safe to call multiple times — the hydration hook is installed once and subsequent calls merge their options into the shared tracker.\n *\n * @param options - Optional callbacks for global hydration events.\n *\n * @example\n * ```ts\n * import { enableHydration } from \"@microsoft/fast-element/hydration.js\";\n *\n * enableHydration({\n * hydrationComplete() {\n * console.log(\"hydration complete\");\n * },\n * });\n * ```\n *\n * @public\n */\n",
2090
+ "docComment": "/**\n * Enables hydration support for prerendered FAST elements.\n *\n * @remarks\n *\n * Call this before any FAST elements connect to the DOM. Hydration logic is not active unless this function is called, keeping `FASTElement` lightweight for client-side-only applications.\n *\n * Safe to call multiple times — the hydration hook is installed once and subsequent calls merge their options into the shared tracker. By default, the hook stops hydrating new prerendered elements after the global `hydrationComplete` callback. Set `stopHydration` to `StopHydration.never` for streaming scenarios that append hydratable Declarative Shadow DOM after the initial batch.\n *\n * Pass `debugger: hydrationDebugger()` to swap the default minimal hydration mismatch error message for a rich \"Expected / Received\" report including the SSR HTML snippet and structured `expected`/`received` fields on `HydrationBindingError` / `HydrationTargetElementError`. The debugger module is tree-shaken out of production hydration bundles unless explicitly imported.\n *\n * @param options - Optional global hydration callbacks and behavior.\n *\n * @example\n * ```ts\n * import { enableHydration, StopHydration } from \"@microsoft/fast-element/hydration.js\";\n *\n * enableHydration({\n * stopHydration: StopHydration.never,\n * hydrationComplete() {\n * console.log(\"hydration complete\");\n * },\n * });\n * ```\n *\n * @example\n *\n * Rich hydration mismatch diagnostics\n * ```ts\n * import { enableHydration, hydrationDebugger } from \"@microsoft/fast-element/hydration.js\";\n *\n * enableHydration({ debugger: hydrationDebugger() });\n * ```\n *\n * @public\n */\n",
1667
2091
  "excerptTokens": [
1668
2092
  {
1669
2093
  "kind": "Content",
@@ -2137,7 +2561,7 @@
2137
2561
  },
2138
2562
  {
2139
2563
  "kind": "Content",
2140
- "text": "<any>;\n getEvent(): "
2564
+ "text": ";\n getEvent(): "
2141
2565
  },
2142
2566
  {
2143
2567
  "kind": "Reference",
@@ -2820,6 +3244,10 @@
2820
3244
  "text": "ElementView",
2821
3245
  "canonicalReference": "@microsoft/fast-element!ElementView:interface"
2822
3246
  },
3247
+ {
3248
+ "kind": "Content",
3249
+ "text": "<TSource, TParent>"
3250
+ },
2823
3251
  {
2824
3252
  "kind": "Content",
2825
3253
  "text": ", "
@@ -2829,6 +3257,10 @@
2829
3257
  "text": "SyntheticView",
2830
3258
  "canonicalReference": "@microsoft/fast-element!SyntheticView:interface"
2831
3259
  },
3260
+ {
3261
+ "kind": "Content",
3262
+ "text": "<TSource, TParent>"
3263
+ },
2832
3264
  {
2833
3265
  "kind": "Content",
2834
3266
  "text": ", "
@@ -2989,15 +3421,15 @@
2989
3421
  "extendsTokenRanges": [
2990
3422
  {
2991
3423
  "startIndex": 5,
2992
- "endIndex": 6
3424
+ "endIndex": 7
2993
3425
  },
2994
3426
  {
2995
- "startIndex": 7,
2996
- "endIndex": 8
3427
+ "startIndex": 8,
3428
+ "endIndex": 10
2997
3429
  },
2998
3430
  {
2999
- "startIndex": 9,
3000
- "endIndex": 11
3431
+ "startIndex": 11,
3432
+ "endIndex": 13
3001
3433
  }
3002
3434
  ]
3003
3435
  },
@@ -3145,6 +3577,32 @@
3145
3577
  "kind": "Content",
3146
3578
  "text": "string"
3147
3579
  },
3580
+ {
3581
+ "kind": "Content",
3582
+ "text": ", \n expected?: "
3583
+ },
3584
+ {
3585
+ "kind": "Reference",
3586
+ "text": "HydrationMismatchExpectation",
3587
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchExpectation:interface"
3588
+ },
3589
+ {
3590
+ "kind": "Content",
3591
+ "text": " | undefined"
3592
+ },
3593
+ {
3594
+ "kind": "Content",
3595
+ "text": ", \n received?: "
3596
+ },
3597
+ {
3598
+ "kind": "Reference",
3599
+ "text": "HydrationMismatchActual",
3600
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchActual:interface"
3601
+ },
3602
+ {
3603
+ "kind": "Content",
3604
+ "text": " | undefined"
3605
+ },
3148
3606
  {
3149
3607
  "kind": "Content",
3150
3608
  "text": ");"
@@ -3185,9 +3643,60 @@
3185
3643
  "endIndex": 8
3186
3644
  },
3187
3645
  "isOptional": false
3646
+ },
3647
+ {
3648
+ "parameterName": "expected",
3649
+ "parameterTypeTokenRange": {
3650
+ "startIndex": 9,
3651
+ "endIndex": 11
3652
+ },
3653
+ "isOptional": true
3654
+ },
3655
+ {
3656
+ "parameterName": "received",
3657
+ "parameterTypeTokenRange": {
3658
+ "startIndex": 12,
3659
+ "endIndex": 14
3660
+ },
3661
+ "isOptional": true
3188
3662
  }
3189
3663
  ]
3190
3664
  },
3665
+ {
3666
+ "kind": "Property",
3667
+ "canonicalReference": "@microsoft/fast-element!HydrationBindingError#expected:member",
3668
+ "docComment": "/**\n * Structured description of the binding the hydration walk was attempting to apply when the mismatch was detected.\n */\n",
3669
+ "excerptTokens": [
3670
+ {
3671
+ "kind": "Content",
3672
+ "text": "readonly expected?: "
3673
+ },
3674
+ {
3675
+ "kind": "Reference",
3676
+ "text": "HydrationMismatchExpectation",
3677
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchExpectation:interface"
3678
+ },
3679
+ {
3680
+ "kind": "Content",
3681
+ "text": " | undefined"
3682
+ },
3683
+ {
3684
+ "kind": "Content",
3685
+ "text": ";"
3686
+ }
3687
+ ],
3688
+ "isReadonly": true,
3689
+ "isOptional": true,
3690
+ "releaseTag": "Public",
3691
+ "name": "expected",
3692
+ "propertyTypeTokenRange": {
3693
+ "startIndex": 1,
3694
+ "endIndex": 3
3695
+ },
3696
+ "isStatic": false,
3697
+ "isProtected": false,
3698
+ "isAbstract": false
3699
+ },
3191
3700
  {
3192
3701
  "kind": "Property",
3193
3702
  "canonicalReference": "@microsoft/fast-element!HydrationBindingError#factory:member",
@@ -3250,6 +3759,41 @@
3250
3759
  "isProtected": false,
3251
3760
  "isAbstract": false
3252
3761
  },
3762
+ {
3763
+ "kind": "Property",
3764
+ "canonicalReference": "@microsoft/fast-element!HydrationBindingError#received:member",
3765
+ "docComment": "/**\n * Structured description of the server-rendered DOM that was encountered at the mismatch point.\n */\n",
3766
+ "excerptTokens": [
3767
+ {
3768
+ "kind": "Content",
3769
+ "text": "readonly received?: "
3770
+ },
3771
+ {
3772
+ "kind": "Reference",
3773
+ "text": "HydrationMismatchActual",
3774
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchActual:interface"
3775
+ },
3776
+ {
3777
+ "kind": "Content",
3778
+ "text": " | undefined"
3779
+ },
3780
+ {
3781
+ "kind": "Content",
3782
+ "text": ";"
3783
+ }
3784
+ ],
3785
+ "isReadonly": true,
3786
+ "isOptional": true,
3787
+ "releaseTag": "Public",
3788
+ "name": "received",
3789
+ "propertyTypeTokenRange": {
3790
+ "startIndex": 1,
3791
+ "endIndex": 3
3792
+ },
3793
+ "isStatic": false,
3794
+ "isProtected": false,
3795
+ "isAbstract": false
3796
+ },
3253
3797
  {
3254
3798
  "kind": "Property",
3255
3799
  "canonicalReference": "@microsoft/fast-element!HydrationBindingError#templateString:member",
@@ -3287,33 +3831,552 @@
3287
3831
  },
3288
3832
  "implementsTokenRanges": []
3289
3833
  },
3834
+ {
3835
+ "kind": "Function",
3836
+ "canonicalReference": "@microsoft/fast-element!hydrationDebugger:function(1)",
3837
+ "docComment": "/**\n * Returns a {@link HydrationDebugger} that, when supplied to `enableHydration({ debugger })`, installs the rich hydration mismatch formatter: a single-line \"Expected … / Received …\" message plus an HTML snippet of the SSR DOM and structured `expected`/`received` fields on the thrown error (both `HydrationBindingError` and `HydrationTargetElementError`).\n *\n * Without the debugger, hydration errors emit only a minimal one-line message pointing at this function — keeping the runtime hydration cost small for production bundles that do not need rich diagnostics.\n *\n * @public\n */\n",
3838
+ "excerptTokens": [
3839
+ {
3840
+ "kind": "Content",
3841
+ "text": "export declare function hydrationDebugger(): "
3842
+ },
3843
+ {
3844
+ "kind": "Reference",
3845
+ "text": "HydrationDebugger",
3846
+ "canonicalReference": "@microsoft/fast-element!HydrationDebugger:interface"
3847
+ },
3848
+ {
3849
+ "kind": "Content",
3850
+ "text": ";"
3851
+ }
3852
+ ],
3853
+ "fileUrlPath": "dist/dts/hydration/hydration-debugger.d.ts",
3854
+ "returnTypeTokenRange": {
3855
+ "startIndex": 1,
3856
+ "endIndex": 2
3857
+ },
3858
+ "releaseTag": "Public",
3859
+ "overloadIndex": 1,
3860
+ "parameters": [],
3861
+ "name": "hydrationDebugger"
3862
+ },
3290
3863
  {
3291
3864
  "kind": "Interface",
3292
- "canonicalReference": "@microsoft/fast-element!HydrationOptions:interface",
3293
- "docComment": "/**\n * Options for configuring global hydration lifecycle events.\n *\n * @public\n */\n",
3865
+ "canonicalReference": "@microsoft/fast-element!HydrationDebugger:interface",
3866
+ "docComment": "/**\n * Opt-in hydration debugger configuration. Pass to `enableHydration` to install the rich \"Expected / Received\" hydration mismatch formatter:\n * ```ts\n * import { enableHydration, hydrationDebugger } from \"@microsoft/fast-element/hydration.js\";\n *\n * enableHydration({ debugger: hydrationDebugger() });\n * ```\n *\n * @public\n */\n",
3294
3867
  "excerptTokens": [
3295
3868
  {
3296
3869
  "kind": "Content",
3297
- "text": "export interface HydrationOptions "
3870
+ "text": "export interface HydrationDebugger "
3298
3871
  }
3299
3872
  ],
3300
- "fileUrlPath": "dist/dts/components/hydration-tracker.d.ts",
3873
+ "fileUrlPath": "dist/dts/hydration/hydration-debugger.d.ts",
3301
3874
  "releaseTag": "Public",
3302
- "name": "HydrationOptions",
3875
+ "name": "HydrationDebugger",
3303
3876
  "preserveMemberOrder": false,
3304
3877
  "members": [
3305
3878
  {
3306
- "kind": "MethodSignature",
3307
- "canonicalReference": "@microsoft/fast-element!HydrationOptions#hydrationComplete:member(1)",
3308
- "docComment": "/**\n * Called after all prerendered elements have completed hydration.\n */\n",
3879
+ "kind": "PropertySignature",
3880
+ "canonicalReference": "@microsoft/fast-element!HydrationDebugger#diagnostic:member",
3881
+ "docComment": "/**\n * The {@link HydrationDiagnostic} the debugger installs when consumed by `enableHydration`.\n */\n",
3309
3882
  "excerptTokens": [
3310
3883
  {
3311
3884
  "kind": "Content",
3312
- "text": "hydrationComplete?(): "
3885
+ "text": "readonly diagnostic: "
3313
3886
  },
3314
3887
  {
3315
- "kind": "Content",
3316
- "text": "void"
3888
+ "kind": "Reference",
3889
+ "text": "HydrationDiagnostic",
3890
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnostic:interface"
3891
+ },
3892
+ {
3893
+ "kind": "Content",
3894
+ "text": ";"
3895
+ }
3896
+ ],
3897
+ "isReadonly": true,
3898
+ "isOptional": false,
3899
+ "releaseTag": "Public",
3900
+ "name": "diagnostic",
3901
+ "propertyTypeTokenRange": {
3902
+ "startIndex": 1,
3903
+ "endIndex": 2
3904
+ }
3905
+ }
3906
+ ],
3907
+ "extendsTokenRanges": []
3908
+ },
3909
+ {
3910
+ "kind": "Interface",
3911
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnostic:interface",
3912
+ "docComment": "/**\n * Pluggable formatter for hydration mismatch errors. The default implementation is a minimal one-line message; install {@link hydrationDebugger} to swap in the rich \"Expected … / Received …\" formatter with an HTML snippet of the SSR DOM.\n *\n * @public\n */\n",
3913
+ "excerptTokens": [
3914
+ {
3915
+ "kind": "Content",
3916
+ "text": "export interface HydrationDiagnostic "
3917
+ }
3918
+ ],
3919
+ "fileUrlPath": "dist/dts/hydration/diagnostics.d.ts",
3920
+ "releaseTag": "Public",
3921
+ "name": "HydrationDiagnostic",
3922
+ "preserveMemberOrder": false,
3923
+ "members": [
3924
+ {
3925
+ "kind": "MethodSignature",
3926
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnostic#formatBindingMismatch:member(1)",
3927
+ "docComment": "/**\n * Format a binding-resolution mismatch (a factory whose `targetNodeId` has no entry in the resolved targets after the SSR DOM walk).\n */\n",
3928
+ "excerptTokens": [
3929
+ {
3930
+ "kind": "Content",
3931
+ "text": "formatBindingMismatch(factory: "
3932
+ },
3933
+ {
3934
+ "kind": "Reference",
3935
+ "text": "ViewBehaviorFactory",
3936
+ "canonicalReference": "@microsoft/fast-element!ViewBehaviorFactory:interface"
3937
+ },
3938
+ {
3939
+ "kind": "Content",
3940
+ "text": ", firstChild: "
3941
+ },
3942
+ {
3943
+ "kind": "Reference",
3944
+ "text": "Node",
3945
+ "canonicalReference": "!Node:interface"
3946
+ },
3947
+ {
3948
+ "kind": "Content",
3949
+ "text": ", lastChild: "
3950
+ },
3951
+ {
3952
+ "kind": "Reference",
3953
+ "text": "Node",
3954
+ "canonicalReference": "!Node:interface"
3955
+ },
3956
+ {
3957
+ "kind": "Content",
3958
+ "text": ", hostName: "
3959
+ },
3960
+ {
3961
+ "kind": "Content",
3962
+ "text": "string | undefined"
3963
+ },
3964
+ {
3965
+ "kind": "Content",
3966
+ "text": "): "
3967
+ },
3968
+ {
3969
+ "kind": "Reference",
3970
+ "text": "HydrationDiagnosticResult",
3971
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnosticResult:interface"
3972
+ },
3973
+ {
3974
+ "kind": "Content",
3975
+ "text": ";"
3976
+ }
3977
+ ],
3978
+ "isOptional": false,
3979
+ "returnTypeTokenRange": {
3980
+ "startIndex": 9,
3981
+ "endIndex": 10
3982
+ },
3983
+ "releaseTag": "Public",
3984
+ "overloadIndex": 1,
3985
+ "parameters": [
3986
+ {
3987
+ "parameterName": "factory",
3988
+ "parameterTypeTokenRange": {
3989
+ "startIndex": 1,
3990
+ "endIndex": 2
3991
+ },
3992
+ "isOptional": false
3993
+ },
3994
+ {
3995
+ "parameterName": "firstChild",
3996
+ "parameterTypeTokenRange": {
3997
+ "startIndex": 3,
3998
+ "endIndex": 4
3999
+ },
4000
+ "isOptional": false
4001
+ },
4002
+ {
4003
+ "parameterName": "lastChild",
4004
+ "parameterTypeTokenRange": {
4005
+ "startIndex": 5,
4006
+ "endIndex": 6
4007
+ },
4008
+ "isOptional": false
4009
+ },
4010
+ {
4011
+ "parameterName": "hostName",
4012
+ "parameterTypeTokenRange": {
4013
+ "startIndex": 7,
4014
+ "endIndex": 8
4015
+ },
4016
+ "isOptional": false
4017
+ }
4018
+ ],
4019
+ "name": "formatBindingMismatch"
4020
+ },
4021
+ {
4022
+ "kind": "MethodSignature",
4023
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnostic#formatStructuralError:member(1)",
4024
+ "docComment": "/**\n * Format a structural error encountered during the SSR DOM walk (e.g. attribute binding count overflow, missing close marker).\n */\n",
4025
+ "excerptTokens": [
4026
+ {
4027
+ "kind": "Content",
4028
+ "text": "formatStructuralError(node: "
4029
+ },
4030
+ {
4031
+ "kind": "Reference",
4032
+ "text": "Node",
4033
+ "canonicalReference": "!Node:interface"
4034
+ },
4035
+ {
4036
+ "kind": "Content",
4037
+ "text": ", hostName: "
4038
+ },
4039
+ {
4040
+ "kind": "Content",
4041
+ "text": "string | undefined"
4042
+ },
4043
+ {
4044
+ "kind": "Content",
4045
+ "text": ", expectedDescription: "
4046
+ },
4047
+ {
4048
+ "kind": "Content",
4049
+ "text": "string"
4050
+ },
4051
+ {
4052
+ "kind": "Content",
4053
+ "text": "): "
4054
+ },
4055
+ {
4056
+ "kind": "Reference",
4057
+ "text": "HydrationDiagnosticResult",
4058
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnosticResult:interface"
4059
+ },
4060
+ {
4061
+ "kind": "Content",
4062
+ "text": ";"
4063
+ }
4064
+ ],
4065
+ "isOptional": false,
4066
+ "returnTypeTokenRange": {
4067
+ "startIndex": 7,
4068
+ "endIndex": 8
4069
+ },
4070
+ "releaseTag": "Public",
4071
+ "overloadIndex": 1,
4072
+ "parameters": [
4073
+ {
4074
+ "parameterName": "node",
4075
+ "parameterTypeTokenRange": {
4076
+ "startIndex": 1,
4077
+ "endIndex": 2
4078
+ },
4079
+ "isOptional": false
4080
+ },
4081
+ {
4082
+ "parameterName": "hostName",
4083
+ "parameterTypeTokenRange": {
4084
+ "startIndex": 3,
4085
+ "endIndex": 4
4086
+ },
4087
+ "isOptional": false
4088
+ },
4089
+ {
4090
+ "parameterName": "expectedDescription",
4091
+ "parameterTypeTokenRange": {
4092
+ "startIndex": 5,
4093
+ "endIndex": 6
4094
+ },
4095
+ "isOptional": false
4096
+ }
4097
+ ],
4098
+ "name": "formatStructuralError"
4099
+ }
4100
+ ],
4101
+ "extendsTokenRanges": []
4102
+ },
4103
+ {
4104
+ "kind": "Interface",
4105
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnosticResult:interface",
4106
+ "docComment": "/**\n * Result of a hydration-mismatch diagnostic format call.\n *\n * @public\n */\n",
4107
+ "excerptTokens": [
4108
+ {
4109
+ "kind": "Content",
4110
+ "text": "export interface HydrationDiagnosticResult "
4111
+ }
4112
+ ],
4113
+ "fileUrlPath": "dist/dts/hydration/diagnostics.d.ts",
4114
+ "releaseTag": "Public",
4115
+ "name": "HydrationDiagnosticResult",
4116
+ "preserveMemberOrder": false,
4117
+ "members": [
4118
+ {
4119
+ "kind": "PropertySignature",
4120
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnosticResult#expected:member",
4121
+ "docComment": "/**\n * Structured description of the binding the hydration walk was attempting to apply. The default diagnostic leaves this `undefined`; install `hydrationDebugger()` to populate it.\n */\n",
4122
+ "excerptTokens": [
4123
+ {
4124
+ "kind": "Content",
4125
+ "text": "expected?: "
4126
+ },
4127
+ {
4128
+ "kind": "Reference",
4129
+ "text": "HydrationMismatchExpectation",
4130
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchExpectation:interface"
4131
+ },
4132
+ {
4133
+ "kind": "Content",
4134
+ "text": " | string"
4135
+ },
4136
+ {
4137
+ "kind": "Content",
4138
+ "text": ";"
4139
+ }
4140
+ ],
4141
+ "isReadonly": false,
4142
+ "isOptional": true,
4143
+ "releaseTag": "Public",
4144
+ "name": "expected",
4145
+ "propertyTypeTokenRange": {
4146
+ "startIndex": 1,
4147
+ "endIndex": 3
4148
+ }
4149
+ },
4150
+ {
4151
+ "kind": "PropertySignature",
4152
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnosticResult#message:member",
4153
+ "docComment": "/**\n * The error message to attach to the thrown hydration error.\n */\n",
4154
+ "excerptTokens": [
4155
+ {
4156
+ "kind": "Content",
4157
+ "text": "message: "
4158
+ },
4159
+ {
4160
+ "kind": "Content",
4161
+ "text": "string"
4162
+ },
4163
+ {
4164
+ "kind": "Content",
4165
+ "text": ";"
4166
+ }
4167
+ ],
4168
+ "isReadonly": false,
4169
+ "isOptional": false,
4170
+ "releaseTag": "Public",
4171
+ "name": "message",
4172
+ "propertyTypeTokenRange": {
4173
+ "startIndex": 1,
4174
+ "endIndex": 2
4175
+ }
4176
+ },
4177
+ {
4178
+ "kind": "PropertySignature",
4179
+ "canonicalReference": "@microsoft/fast-element!HydrationDiagnosticResult#received:member",
4180
+ "docComment": "/**\n * Structured description of the server-rendered DOM that was encountered at the mismatch point. The default diagnostic leaves this `undefined`; install `hydrationDebugger()` to populate it.\n */\n",
4181
+ "excerptTokens": [
4182
+ {
4183
+ "kind": "Content",
4184
+ "text": "received?: "
4185
+ },
4186
+ {
4187
+ "kind": "Reference",
4188
+ "text": "HydrationMismatchActual",
4189
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchActual:interface"
4190
+ },
4191
+ {
4192
+ "kind": "Content",
4193
+ "text": ";"
4194
+ }
4195
+ ],
4196
+ "isReadonly": false,
4197
+ "isOptional": true,
4198
+ "releaseTag": "Public",
4199
+ "name": "received",
4200
+ "propertyTypeTokenRange": {
4201
+ "startIndex": 1,
4202
+ "endIndex": 2
4203
+ }
4204
+ }
4205
+ ],
4206
+ "extendsTokenRanges": []
4207
+ },
4208
+ {
4209
+ "kind": "Interface",
4210
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchActual:interface",
4211
+ "docComment": "/**\n * Structured description of the DOM hydration actually encountered at the mismatch point.\n *\n * @public\n */\n",
4212
+ "excerptTokens": [
4213
+ {
4214
+ "kind": "Content",
4215
+ "text": "export interface HydrationMismatchActual "
4216
+ }
4217
+ ],
4218
+ "fileUrlPath": "dist/dts/hydration/diagnostics.d.ts",
4219
+ "releaseTag": "Public",
4220
+ "name": "HydrationMismatchActual",
4221
+ "preserveMemberOrder": false,
4222
+ "members": [
4223
+ {
4224
+ "kind": "PropertySignature",
4225
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchActual#html:member",
4226
+ "docComment": "/**\n * Serialized HTML snippet of the server-rendered DOM where the mismatch was detected. Truncated with an ellipsis when long.\n */\n",
4227
+ "excerptTokens": [
4228
+ {
4229
+ "kind": "Content",
4230
+ "text": "html: "
4231
+ },
4232
+ {
4233
+ "kind": "Content",
4234
+ "text": "string"
4235
+ },
4236
+ {
4237
+ "kind": "Content",
4238
+ "text": ";"
4239
+ }
4240
+ ],
4241
+ "isReadonly": false,
4242
+ "isOptional": false,
4243
+ "releaseTag": "Public",
4244
+ "name": "html",
4245
+ "propertyTypeTokenRange": {
4246
+ "startIndex": 1,
4247
+ "endIndex": 2
4248
+ }
4249
+ }
4250
+ ],
4251
+ "extendsTokenRanges": []
4252
+ },
4253
+ {
4254
+ "kind": "Interface",
4255
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchExpectation:interface",
4256
+ "docComment": "/**\n * Structured description of the binding hydration was expecting to apply when a mismatch is detected.\n *\n * @public\n */\n",
4257
+ "excerptTokens": [
4258
+ {
4259
+ "kind": "Content",
4260
+ "text": "export interface HydrationMismatchExpectation "
4261
+ }
4262
+ ],
4263
+ "fileUrlPath": "dist/dts/hydration/diagnostics.d.ts",
4264
+ "releaseTag": "Public",
4265
+ "name": "HydrationMismatchExpectation",
4266
+ "preserveMemberOrder": false,
4267
+ "members": [
4268
+ {
4269
+ "kind": "PropertySignature",
4270
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchExpectation#aspect:member",
4271
+ "docComment": "/**\n * Human-readable description of the binding aspect, for example `\"content\"`, `\"property className\"`, or `\"attribute aria-label\"`.\n */\n",
4272
+ "excerptTokens": [
4273
+ {
4274
+ "kind": "Content",
4275
+ "text": "aspect: "
4276
+ },
4277
+ {
4278
+ "kind": "Content",
4279
+ "text": "string"
4280
+ },
4281
+ {
4282
+ "kind": "Content",
4283
+ "text": ";"
4284
+ }
4285
+ ],
4286
+ "isReadonly": false,
4287
+ "isOptional": false,
4288
+ "releaseTag": "Public",
4289
+ "name": "aspect",
4290
+ "propertyTypeTokenRange": {
4291
+ "startIndex": 1,
4292
+ "endIndex": 2
4293
+ }
4294
+ },
4295
+ {
4296
+ "kind": "PropertySignature",
4297
+ "canonicalReference": "@microsoft/fast-element!HydrationMismatchExpectation#tagName:member",
4298
+ "docComment": "/**\n * The tag name of the element the binding was expecting (e.g. `\"SPAN\"`), or `null` when the binding does not target a specific element (host or template-level bindings).\n */\n",
4299
+ "excerptTokens": [
4300
+ {
4301
+ "kind": "Content",
4302
+ "text": "tagName: "
4303
+ },
4304
+ {
4305
+ "kind": "Content",
4306
+ "text": "string | null"
4307
+ },
4308
+ {
4309
+ "kind": "Content",
4310
+ "text": ";"
4311
+ }
4312
+ ],
4313
+ "isReadonly": false,
4314
+ "isOptional": false,
4315
+ "releaseTag": "Public",
4316
+ "name": "tagName",
4317
+ "propertyTypeTokenRange": {
4318
+ "startIndex": 1,
4319
+ "endIndex": 2
4320
+ }
4321
+ }
4322
+ ],
4323
+ "extendsTokenRanges": []
4324
+ },
4325
+ {
4326
+ "kind": "Interface",
4327
+ "canonicalReference": "@microsoft/fast-element!HydrationOptions:interface",
4328
+ "docComment": "/**\n * Options for configuring global hydration lifecycle events and behavior.\n *\n * @public\n */\n",
4329
+ "excerptTokens": [
4330
+ {
4331
+ "kind": "Content",
4332
+ "text": "export interface HydrationOptions "
4333
+ }
4334
+ ],
4335
+ "fileUrlPath": "dist/dts/components/hydration-tracker.d.ts",
4336
+ "releaseTag": "Public",
4337
+ "name": "HydrationOptions",
4338
+ "preserveMemberOrder": false,
4339
+ "members": [
4340
+ {
4341
+ "kind": "PropertySignature",
4342
+ "canonicalReference": "@microsoft/fast-element!HydrationOptions#debugger:member",
4343
+ "docComment": "/**\n * Optional opt-in debugger that swaps the default minimal hydration mismatch error message for a rich \"Expected … / Received …\" report including an HTML snippet of the SSR DOM and structured `expected`/`received` fields on `HydrationBindingError` / `HydrationTargetElementError`. Obtained via `hydrationDebugger()` from `@microsoft/fast-element/hydration.js`.\n */\n",
4344
+ "excerptTokens": [
4345
+ {
4346
+ "kind": "Content",
4347
+ "text": "debugger?: "
4348
+ },
4349
+ {
4350
+ "kind": "Reference",
4351
+ "text": "HydrationDebugger",
4352
+ "canonicalReference": "@microsoft/fast-element!HydrationDebugger:interface"
4353
+ },
4354
+ {
4355
+ "kind": "Content",
4356
+ "text": ";"
4357
+ }
4358
+ ],
4359
+ "isReadonly": false,
4360
+ "isOptional": true,
4361
+ "releaseTag": "Public",
4362
+ "name": "debugger",
4363
+ "propertyTypeTokenRange": {
4364
+ "startIndex": 1,
4365
+ "endIndex": 2
4366
+ }
4367
+ },
4368
+ {
4369
+ "kind": "MethodSignature",
4370
+ "canonicalReference": "@microsoft/fast-element!HydrationOptions#hydrationComplete:member(1)",
4371
+ "docComment": "/**\n * Called after all prerendered elements in a hydration batch complete.\n */\n",
4372
+ "excerptTokens": [
4373
+ {
4374
+ "kind": "Content",
4375
+ "text": "hydrationComplete?(): "
4376
+ },
4377
+ {
4378
+ "kind": "Content",
4379
+ "text": "void"
3317
4380
  },
3318
4381
  {
3319
4382
  "kind": "Content",
@@ -3333,7 +4396,7 @@
3333
4396
  {
3334
4397
  "kind": "MethodSignature",
3335
4398
  "canonicalReference": "@microsoft/fast-element!HydrationOptions#hydrationStarted:member(1)",
3336
- "docComment": "/**\n * Called once when the first prerendered element begins hydrating.\n */\n",
4399
+ "docComment": "/**\n * Called when a prerendered hydration batch begins.\n */\n",
3337
4400
  "excerptTokens": [
3338
4401
  {
3339
4402
  "kind": "Content",
@@ -3357,6 +4420,34 @@
3357
4420
  "overloadIndex": 1,
3358
4421
  "parameters": [],
3359
4422
  "name": "hydrationStarted"
4423
+ },
4424
+ {
4425
+ "kind": "PropertySignature",
4426
+ "canonicalReference": "@microsoft/fast-element!HydrationOptions#stopHydration:member",
4427
+ "docComment": "/**\n * Indicates when the hydration hook should stop handling new prerendered elements.\n *\n * @defaultValue StopHydration.hydrationComplete\n */\n",
4428
+ "excerptTokens": [
4429
+ {
4430
+ "kind": "Content",
4431
+ "text": "stopHydration?: "
4432
+ },
4433
+ {
4434
+ "kind": "Reference",
4435
+ "text": "StopHydration",
4436
+ "canonicalReference": "@microsoft/fast-element!StopHydration:type"
4437
+ },
4438
+ {
4439
+ "kind": "Content",
4440
+ "text": ";"
4441
+ }
4442
+ ],
4443
+ "isReadonly": false,
4444
+ "isOptional": true,
4445
+ "releaseTag": "Public",
4446
+ "name": "stopHydration",
4447
+ "propertyTypeTokenRange": {
4448
+ "startIndex": 1,
4449
+ "endIndex": 2
4450
+ }
3360
4451
  }
3361
4452
  ],
3362
4453
  "extendsTokenRanges": []
@@ -3579,6 +4670,36 @@
3579
4670
  "isOptional": false,
3580
4671
  "isAbstract": false,
3581
4672
  "name": "remove"
4673
+ },
4674
+ {
4675
+ "kind": "Property",
4676
+ "canonicalReference": "@microsoft/fast-element!HydrationTracker#shouldHydrate:member",
4677
+ "docComment": "/**\n * Indicates whether the hydration hook should attempt to hydrate prerendered elements.\n */\n",
4678
+ "excerptTokens": [
4679
+ {
4680
+ "kind": "Content",
4681
+ "text": "get shouldHydrate(): "
4682
+ },
4683
+ {
4684
+ "kind": "Content",
4685
+ "text": "boolean"
4686
+ },
4687
+ {
4688
+ "kind": "Content",
4689
+ "text": ";"
4690
+ }
4691
+ ],
4692
+ "isReadonly": true,
4693
+ "isOptional": false,
4694
+ "releaseTag": "Public",
4695
+ "name": "shouldHydrate",
4696
+ "propertyTypeTokenRange": {
4697
+ "startIndex": 1,
4698
+ "endIndex": 2
4699
+ },
4700
+ "isStatic": false,
4701
+ "isProtected": false,
4702
+ "isAbstract": false
3582
4703
  }
3583
4704
  ],
3584
4705
  "implementsTokenRanges": []
@@ -3975,6 +5096,78 @@
3975
5096
  "endIndex": 3
3976
5097
  }
3977
5098
  },
5099
+ {
5100
+ "kind": "TypeAlias",
5101
+ "canonicalReference": "@microsoft/fast-element!StopHydration:type",
5102
+ "docComment": "/**\n * Describes when FAST should stop hydrating newly connected prerendered elements.\n *\n * @public\n */\n",
5103
+ "excerptTokens": [
5104
+ {
5105
+ "kind": "Content",
5106
+ "text": "export type StopHydration = "
5107
+ },
5108
+ {
5109
+ "kind": "Content",
5110
+ "text": "(typeof "
5111
+ },
5112
+ {
5113
+ "kind": "Reference",
5114
+ "text": "StopHydration",
5115
+ "canonicalReference": "@microsoft/fast-element!StopHydration:var"
5116
+ },
5117
+ {
5118
+ "kind": "Content",
5119
+ "text": ")[keyof typeof "
5120
+ },
5121
+ {
5122
+ "kind": "Reference",
5123
+ "text": "StopHydration",
5124
+ "canonicalReference": "@microsoft/fast-element!StopHydration:var"
5125
+ },
5126
+ {
5127
+ "kind": "Content",
5128
+ "text": "]"
5129
+ },
5130
+ {
5131
+ "kind": "Content",
5132
+ "text": ";"
5133
+ }
5134
+ ],
5135
+ "fileUrlPath": "dist/dts/components/hydration-tracker.d.ts",
5136
+ "releaseTag": "Public",
5137
+ "name": "StopHydration",
5138
+ "typeTokenRange": {
5139
+ "startIndex": 1,
5140
+ "endIndex": 6
5141
+ }
5142
+ },
5143
+ {
5144
+ "kind": "Variable",
5145
+ "canonicalReference": "@microsoft/fast-element!StopHydration:var",
5146
+ "docComment": "/**\n * Describes when FAST should stop hydrating newly connected prerendered elements.\n *\n * @public\n */\n",
5147
+ "excerptTokens": [
5148
+ {
5149
+ "kind": "Content",
5150
+ "text": "StopHydration: "
5151
+ },
5152
+ {
5153
+ "kind": "Reference",
5154
+ "text": "Readonly",
5155
+ "canonicalReference": "!Readonly:type"
5156
+ },
5157
+ {
5158
+ "kind": "Content",
5159
+ "text": "<{\n readonly hydrationComplete: \"hydration-complete\";\n readonly never: \"never\";\n}>"
5160
+ }
5161
+ ],
5162
+ "fileUrlPath": "dist/dts/components/hydration-tracker.d.ts",
5163
+ "isReadonly": true,
5164
+ "releaseTag": "Public",
5165
+ "name": "StopHydration",
5166
+ "variableTypeTokenRange": {
5167
+ "startIndex": 1,
5168
+ "endIndex": 3
5169
+ }
5170
+ },
3978
5171
  {
3979
5172
  "kind": "Interface",
3980
5173
  "canonicalReference": "@microsoft/fast-element!SyntheticView:interface",
@@ -4283,6 +5476,10 @@
4283
5476
  "text": "CaptureType",
4284
5477
  "canonicalReference": "@microsoft/fast-element!CaptureType:interface"
4285
5478
  },
5479
+ {
5480
+ "kind": "Content",
5481
+ "text": "<TSource, TParent>"
5482
+ },
4286
5483
  {
4287
5484
  "kind": "Content",
4288
5485
  "text": ";"
@@ -4291,7 +5488,7 @@
4291
5488
  "isOptional": false,
4292
5489
  "returnTypeTokenRange": {
4293
5490
  "startIndex": 1,
4294
- "endIndex": 2
5491
+ "endIndex": 3
4295
5492
  },
4296
5493
  "releaseTag": "Public",
4297
5494
  "overloadIndex": 1,
@@ -4301,6 +5498,32 @@
4301
5498
  ],
4302
5499
  "extendsTokenRanges": []
4303
5500
  },
5501
+ {
5502
+ "kind": "TypeAlias",
5503
+ "canonicalReference": "@microsoft/fast-element!TrustedTypesPolicy:type",
5504
+ "docComment": "/**\n * A policy for use with the standard trustedTypes platform API.\n *\n * @public\n */\n",
5505
+ "excerptTokens": [
5506
+ {
5507
+ "kind": "Content",
5508
+ "text": "export type TrustedTypesPolicy = "
5509
+ },
5510
+ {
5511
+ "kind": "Content",
5512
+ "text": "{\n createHTML(html: string): string;\n}"
5513
+ },
5514
+ {
5515
+ "kind": "Content",
5516
+ "text": ";"
5517
+ }
5518
+ ],
5519
+ "fileUrlPath": "dist/dts/interfaces.d.ts",
5520
+ "releaseTag": "Public",
5521
+ "name": "TrustedTypesPolicy",
5522
+ "typeTokenRange": {
5523
+ "startIndex": 1,
5524
+ "endIndex": 2
5525
+ }
5526
+ },
4304
5527
  {
4305
5528
  "kind": "Interface",
4306
5529
  "canonicalReference": "@microsoft/fast-element!View:interface",