@angular/core 16.0.0-next.4 → 16.0.0-next.5

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 (353) hide show
  1. package/{esm2020 → esm2022}/src/application_init.mjs +3 -3
  2. package/{esm2020 → esm2022}/src/application_module.mjs +4 -4
  3. package/esm2022/src/application_ref.mjs +908 -0
  4. package/{esm2020 → esm2022}/src/change_detection/change_detector_ref.mjs +6 -6
  5. package/esm2022/src/change_detection/differs/iterable_differs.mjs +81 -0
  6. package/esm2022/src/change_detection/differs/keyvalue_differs.mjs +74 -0
  7. package/{esm2020 → esm2022}/src/console.mjs +3 -3
  8. package/{esm2020 → esm2022}/src/core.mjs +2 -1
  9. package/esm2022/src/core_private_export.mjs +39 -0
  10. package/esm2022/src/core_reactivity_export_internal.mjs +12 -0
  11. package/esm2022/src/di/contextual.mjs +54 -0
  12. package/esm2022/src/di/index.mjs +29 -0
  13. package/esm2022/src/di/injector.mjs +62 -0
  14. package/esm2022/src/di/injector_compatibility.mjs +239 -0
  15. package/esm2022/src/di/provider_collection.mjs +279 -0
  16. package/esm2022/src/di/reflective_injector.mjs +311 -0
  17. package/esm2022/src/hydration/annotate.mjs +426 -0
  18. package/esm2022/src/hydration/api.mjs +143 -0
  19. package/esm2022/src/hydration/cleanup.mjs +103 -0
  20. package/esm2022/src/hydration/node_lookup_utils.mjs +273 -0
  21. package/esm2022/src/hydration/utils.mjs +219 -0
  22. package/esm2022/src/initial_render_pending_tasks.mjs +75 -0
  23. package/{esm2020 → esm2022}/src/linker/compiler.mjs +5 -5
  24. package/esm2022/src/linker/component_factory_resolver.mjs +42 -0
  25. package/{esm2020 → esm2022}/src/linker/destroy_ref.mjs +11 -11
  26. package/{esm2020 → esm2022}/src/linker/element_ref.mjs +6 -6
  27. package/esm2022/src/linker/query_list.mjs +169 -0
  28. package/{esm2020 → esm2022}/src/linker/template_ref.mjs +6 -6
  29. package/{esm2020 → esm2022}/src/linker/view_container_ref.mjs +6 -6
  30. package/esm2022/src/metadata/di.mjs +69 -0
  31. package/{esm2020 → esm2022}/src/metadata/directives.mjs +1 -1
  32. package/{esm2020 → esm2022}/src/metadata/do_boostrap.mjs +1 -1
  33. package/{esm2020 → esm2022}/src/metadata/ng_module.mjs +2 -2
  34. package/esm2022/src/metadata.mjs +18 -0
  35. package/{esm2020 → esm2022}/src/render/api.mjs +6 -6
  36. package/esm2022/src/render3/component_ref.mjs +386 -0
  37. package/{esm2020 → esm2022}/src/render3/context_discovery.mjs +1 -1
  38. package/esm2022/src/render3/features/standalone_feature.mjs +70 -0
  39. package/{esm2020 → esm2022}/src/render3/instructions/element.mjs +2 -2
  40. package/esm2022/src/render3/instructions/listener.mjs +244 -0
  41. package/esm2022/src/render3/instructions/mark_view_dirty.mjs +35 -0
  42. package/esm2022/src/render3/instructions/shared.mjs +1681 -0
  43. package/{esm2020 → esm2022}/src/render3/instructions/styling.mjs +5 -2
  44. package/esm2022/src/render3/interfaces/view.mjs +49 -0
  45. package/esm2022/src/render3/jit/module.mjs +531 -0
  46. package/esm2022/src/render3/node_manipulation.mjs +960 -0
  47. package/esm2022/src/render3/reactive_lview_consumer.mjs +80 -0
  48. package/esm2022/src/render3/reactivity/effect.mjs +67 -0
  49. package/{esm2020 → esm2022}/src/render3/util/change_detection_utils.mjs +2 -2
  50. package/esm2022/src/render3/view_ref.mjs +307 -0
  51. package/{esm2020 → esm2022}/src/sanitization/sanitizer.mjs +7 -7
  52. package/esm2022/src/signals/index.mjs +15 -0
  53. package/esm2022/src/signals/src/api.mjs +47 -0
  54. package/esm2022/src/signals/src/computed.mjs +139 -0
  55. package/esm2022/src/signals/src/graph.mjs +165 -0
  56. package/esm2022/src/signals/src/signal.mjs +75 -0
  57. package/esm2022/src/signals/src/watch.mjs +62 -0
  58. package/esm2022/src/signals/src/weak_ref.mjs +35 -0
  59. package/{esm2020 → esm2022}/src/testability/testability.mjs +5 -5
  60. package/esm2022/src/transfer_state.mjs +153 -0
  61. package/{esm2020 → esm2022}/src/version.mjs +1 -1
  62. package/{esm2020 → esm2022}/testing/src/logger.mjs +4 -4
  63. package/{esm2020 → esm2022}/testing/src/ng_zone_mock.mjs +4 -4
  64. package/{esm2020 → esm2022}/testing/src/test_bed.mjs +2 -2
  65. package/{fesm2020 → fesm2022}/core.mjs +869 -639
  66. package/fesm2022/core.mjs.map +1 -0
  67. package/{fesm2020 → fesm2022}/testing.mjs +406 -124
  68. package/fesm2022/testing.mjs.map +1 -0
  69. package/index.d.ts +334 -187
  70. package/package.json +8 -16
  71. package/schematics/migrations/guard-and-resolve-interfaces/bundle.js +694 -0
  72. package/schematics/migrations/guard-and-resolve-interfaces/bundle.js.map +7 -0
  73. package/schematics/migrations/{router-link-with-href → remove-module-id}/bundle.js +149 -151
  74. package/schematics/migrations/remove-module-id/bundle.js.map +7 -0
  75. package/schematics/migrations.json +8 -8
  76. package/schematics/ng-generate/standalone-migration/bundle.js +617 -251
  77. package/schematics/ng-generate/standalone-migration/bundle.js.map +2 -2
  78. package/testing/index.d.ts +1 -1
  79. package/esm2020/src/application_ref.mjs +0 -907
  80. package/esm2020/src/change_detection/differs/iterable_differs.mjs +0 -81
  81. package/esm2020/src/change_detection/differs/keyvalue_differs.mjs +0 -74
  82. package/esm2020/src/core_private_export.mjs +0 -38
  83. package/esm2020/src/core_reactivity_export_internal.mjs +0 -9
  84. package/esm2020/src/di/contextual.mjs +0 -37
  85. package/esm2020/src/di/index.mjs +0 -29
  86. package/esm2020/src/di/injector.mjs +0 -62
  87. package/esm2020/src/di/injector_compatibility.mjs +0 -236
  88. package/esm2020/src/di/provider_collection.mjs +0 -279
  89. package/esm2020/src/di/reflective_injector.mjs +0 -311
  90. package/esm2020/src/hydration/annotate.mjs +0 -384
  91. package/esm2020/src/hydration/api.mjs +0 -141
  92. package/esm2020/src/hydration/cleanup.mjs +0 -101
  93. package/esm2020/src/hydration/node_lookup_utils.mjs +0 -275
  94. package/esm2020/src/hydration/utils.mjs +0 -219
  95. package/esm2020/src/linker/component_factory_resolver.mjs +0 -42
  96. package/esm2020/src/linker/query_list.mjs +0 -169
  97. package/esm2020/src/metadata/di.mjs +0 -108
  98. package/esm2020/src/metadata.mjs +0 -18
  99. package/esm2020/src/render3/component_ref.mjs +0 -377
  100. package/esm2020/src/render3/features/standalone_feature.mjs +0 -70
  101. package/esm2020/src/render3/instructions/listener.mjs +0 -243
  102. package/esm2020/src/render3/instructions/shared.mjs +0 -1696
  103. package/esm2020/src/render3/interfaces/view.mjs +0 -47
  104. package/esm2020/src/render3/jit/module.mjs +0 -544
  105. package/esm2020/src/render3/node_manipulation.mjs +0 -961
  106. package/esm2020/src/render3/view_ref.mjs +0 -306
  107. package/esm2020/src/signals/index.mjs +0 -16
  108. package/esm2020/src/signals/src/api.mjs +0 -46
  109. package/esm2020/src/signals/src/computed.mjs +0 -142
  110. package/esm2020/src/signals/src/effect.mjs +0 -67
  111. package/esm2020/src/signals/src/graph.mjs +0 -114
  112. package/esm2020/src/signals/src/signal.mjs +0 -78
  113. package/esm2020/src/signals/src/watch.mjs +0 -54
  114. package/esm2020/src/signals/src/weak_ref.mjs +0 -27
  115. package/esm2020/src/transfer_state.mjs +0 -153
  116. package/fesm2015/core.mjs +0 -30473
  117. package/fesm2015/core.mjs.map +0 -1
  118. package/fesm2015/testing.mjs +0 -26417
  119. package/fesm2015/testing.mjs.map +0 -1
  120. package/fesm2020/core.mjs.map +0 -1
  121. package/fesm2020/testing.mjs.map +0 -1
  122. package/schematics/migrations/relative-link-resolution/bundle.js +0 -283
  123. package/schematics/migrations/relative-link-resolution/bundle.js.map +0 -7
  124. package/schematics/migrations/router-link-with-href/bundle.js.map +0 -7
  125. /package/{esm2020 → esm2022}/core.mjs +0 -0
  126. /package/{esm2020 → esm2022}/index.mjs +0 -0
  127. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  128. /package/{esm2020 → esm2022}/src/application_config.mjs +0 -0
  129. /package/{esm2020 → esm2022}/src/application_tokens.mjs +0 -0
  130. /package/{esm2020 → esm2022}/src/change_detection/change_detection.mjs +0 -0
  131. /package/{esm2020 → esm2022}/src/change_detection/constants.mjs +0 -0
  132. /package/{esm2020 → esm2022}/src/change_detection/differs/default_iterable_differ.mjs +0 -0
  133. /package/{esm2020 → esm2022}/src/change_detection/differs/default_keyvalue_differ.mjs +0 -0
  134. /package/{esm2020 → esm2022}/src/change_detection/pipe_transform.mjs +0 -0
  135. /package/{esm2020 → esm2022}/src/change_detection.mjs +0 -0
  136. /package/{esm2020 → esm2022}/src/compiler/compiler_facade.mjs +0 -0
  137. /package/{esm2020 → esm2022}/src/compiler/compiler_facade_interface.mjs +0 -0
  138. /package/{esm2020 → esm2022}/src/core_reactivity_export.mjs +0 -0
  139. /package/{esm2020 → esm2022}/src/core_render3_private_export.mjs +0 -0
  140. /package/{esm2020 → esm2022}/src/debug/debug_node.mjs +0 -0
  141. /package/{esm2020 → esm2022}/src/di/create_injector.mjs +0 -0
  142. /package/{esm2020 → esm2022}/src/di/forward_ref.mjs +0 -0
  143. /package/{esm2020 → esm2022}/src/di/initializer_token.mjs +0 -0
  144. /package/{esm2020 → esm2022}/src/di/inject_switch.mjs +0 -0
  145. /package/{esm2020 → esm2022}/src/di/injectable.mjs +0 -0
  146. /package/{esm2020 → esm2022}/src/di/injection_token.mjs +0 -0
  147. /package/{esm2020 → esm2022}/src/di/injector_marker.mjs +0 -0
  148. /package/{esm2020 → esm2022}/src/di/injector_token.mjs +0 -0
  149. /package/{esm2020 → esm2022}/src/di/interface/defs.mjs +0 -0
  150. /package/{esm2020 → esm2022}/src/di/interface/injector.mjs +0 -0
  151. /package/{esm2020 → esm2022}/src/di/interface/provider.mjs +0 -0
  152. /package/{esm2020 → esm2022}/src/di/internal_tokens.mjs +0 -0
  153. /package/{esm2020 → esm2022}/src/di/jit/environment.mjs +0 -0
  154. /package/{esm2020 → esm2022}/src/di/jit/injectable.mjs +0 -0
  155. /package/{esm2020 → esm2022}/src/di/jit/util.mjs +0 -0
  156. /package/{esm2020 → esm2022}/src/di/metadata.mjs +0 -0
  157. /package/{esm2020 → esm2022}/src/di/metadata_attr.mjs +0 -0
  158. /package/{esm2020 → esm2022}/src/di/null_injector.mjs +0 -0
  159. /package/{esm2020 → esm2022}/src/di/provider_token.mjs +0 -0
  160. /package/{esm2020 → esm2022}/src/di/r3_injector.mjs +0 -0
  161. /package/{esm2020 → esm2022}/src/di/reflective_errors.mjs +0 -0
  162. /package/{esm2020 → esm2022}/src/di/reflective_key.mjs +0 -0
  163. /package/{esm2020 → esm2022}/src/di/reflective_provider.mjs +0 -0
  164. /package/{esm2020 → esm2022}/src/di/scope.mjs +0 -0
  165. /package/{esm2020 → esm2022}/src/di.mjs +0 -0
  166. /package/{esm2020 → esm2022}/src/error_details_base_url.mjs +0 -0
  167. /package/{esm2020 → esm2022}/src/error_handler.mjs +0 -0
  168. /package/{esm2020 → esm2022}/src/errors.mjs +0 -0
  169. /package/{esm2020 → esm2022}/src/event_emitter.mjs +0 -0
  170. /package/{esm2020 → esm2022}/src/hydration/compression.mjs +0 -0
  171. /package/{esm2020 → esm2022}/src/hydration/error_handling.mjs +0 -0
  172. /package/{esm2020 → esm2022}/src/hydration/interfaces.mjs +0 -0
  173. /package/{esm2020 → esm2022}/src/hydration/skip_hydration.mjs +0 -0
  174. /package/{esm2020 → esm2022}/src/hydration/tokens.mjs +0 -0
  175. /package/{esm2020 → esm2022}/src/hydration/views.mjs +0 -0
  176. /package/{esm2020 → esm2022}/src/i18n/locale_data_api.mjs +0 -0
  177. /package/{esm2020 → esm2022}/src/i18n/locale_en.mjs +0 -0
  178. /package/{esm2020 → esm2022}/src/i18n/localization.mjs +0 -0
  179. /package/{esm2020 → esm2022}/src/i18n/tokens.mjs +0 -0
  180. /package/{esm2020 → esm2022}/src/interface/lifecycle_hooks.mjs +0 -0
  181. /package/{esm2020 → esm2022}/src/interface/simple_change.mjs +0 -0
  182. /package/{esm2020 → esm2022}/src/interface/type.mjs +0 -0
  183. /package/{esm2020 → esm2022}/src/linker/component_factory.mjs +0 -0
  184. /package/{esm2020 → esm2022}/src/linker/ng_module_factory.mjs +0 -0
  185. /package/{esm2020 → esm2022}/src/linker/ng_module_factory_loader.mjs +0 -0
  186. /package/{esm2020 → esm2022}/src/linker/ng_module_factory_loader_impl.mjs +0 -0
  187. /package/{esm2020 → esm2022}/src/linker/ng_module_registration.mjs +0 -0
  188. /package/{esm2020 → esm2022}/src/linker/view_ref.mjs +0 -0
  189. /package/{esm2020 → esm2022}/src/linker.mjs +0 -0
  190. /package/{esm2020 → esm2022}/src/metadata/ng_module_def.mjs +0 -0
  191. /package/{esm2020 → esm2022}/src/metadata/resource_loading.mjs +0 -0
  192. /package/{esm2020 → esm2022}/src/metadata/schema.mjs +0 -0
  193. /package/{esm2020 → esm2022}/src/metadata/view.mjs +0 -0
  194. /package/{esm2020 → esm2022}/src/platform_core_providers.mjs +0 -0
  195. /package/{esm2020 → esm2022}/src/r3_symbols.mjs +0 -0
  196. /package/{esm2020 → esm2022}/src/reflection/platform_reflection_capabilities.mjs +0 -0
  197. /package/{esm2020 → esm2022}/src/reflection/reflection_capabilities.mjs +0 -0
  198. /package/{esm2020 → esm2022}/src/render/api_flags.mjs +0 -0
  199. /package/{esm2020 → esm2022}/src/render.mjs +0 -0
  200. /package/{esm2020 → esm2022}/src/render3/assert.mjs +0 -0
  201. /package/{esm2020 → esm2022}/src/render3/bindings.mjs +0 -0
  202. /package/{esm2020 → esm2022}/src/render3/collect_native_nodes.mjs +0 -0
  203. /package/{esm2020 → esm2022}/src/render3/component.mjs +0 -0
  204. /package/{esm2020 → esm2022}/src/render3/definition.mjs +0 -0
  205. /package/{esm2020 → esm2022}/src/render3/definition_factory.mjs +0 -0
  206. /package/{esm2020 → esm2022}/src/render3/di.mjs +0 -0
  207. /package/{esm2020 → esm2022}/src/render3/di_setup.mjs +0 -0
  208. /package/{esm2020 → esm2022}/src/render3/errors.mjs +0 -0
  209. /package/{esm2020 → esm2022}/src/render3/errors_di.mjs +0 -0
  210. /package/{esm2020 → esm2022}/src/render3/features/copy_definition_feature.mjs +0 -0
  211. /package/{esm2020 → esm2022}/src/render3/features/host_directives_feature.mjs +0 -0
  212. /package/{esm2020 → esm2022}/src/render3/features/inherit_definition_feature.mjs +0 -0
  213. /package/{esm2020 → esm2022}/src/render3/features/ng_onchanges_feature.mjs +0 -0
  214. /package/{esm2020 → esm2022}/src/render3/features/providers_feature.mjs +0 -0
  215. /package/{esm2020 → esm2022}/src/render3/fields.mjs +0 -0
  216. /package/{esm2020 → esm2022}/src/render3/global_utils_api.mjs +0 -0
  217. /package/{esm2020 → esm2022}/src/render3/hooks.mjs +0 -0
  218. /package/{esm2020 → esm2022}/src/render3/i18n/i18n_apply.mjs +0 -0
  219. /package/{esm2020 → esm2022}/src/render3/i18n/i18n_debug.mjs +0 -0
  220. /package/{esm2020 → esm2022}/src/render3/i18n/i18n_insert_before_index.mjs +0 -0
  221. /package/{esm2020 → esm2022}/src/render3/i18n/i18n_locale_id.mjs +0 -0
  222. /package/{esm2020 → esm2022}/src/render3/i18n/i18n_parse.mjs +0 -0
  223. /package/{esm2020 → esm2022}/src/render3/i18n/i18n_postprocess.mjs +0 -0
  224. /package/{esm2020 → esm2022}/src/render3/i18n/i18n_tree_shaking.mjs +0 -0
  225. /package/{esm2020 → esm2022}/src/render3/i18n/i18n_util.mjs +0 -0
  226. /package/{esm2020 → esm2022}/src/render3/index.mjs +0 -0
  227. /package/{esm2020 → esm2022}/src/render3/instructions/advance.mjs +0 -0
  228. /package/{esm2020 → esm2022}/src/render3/instructions/all.mjs +0 -0
  229. /package/{esm2020 → esm2022}/src/render3/instructions/attribute.mjs +0 -0
  230. /package/{esm2020 → esm2022}/src/render3/instructions/attribute_interpolation.mjs +0 -0
  231. /package/{esm2020 → esm2022}/src/render3/instructions/change_detection.mjs +0 -0
  232. /package/{esm2020 → esm2022}/src/render3/instructions/class_map_interpolation.mjs +0 -0
  233. /package/{esm2020 → esm2022}/src/render3/instructions/di.mjs +0 -0
  234. /package/{esm2020 → esm2022}/src/render3/instructions/di_attr.mjs +0 -0
  235. /package/{esm2020 → esm2022}/src/render3/instructions/element_container.mjs +0 -0
  236. /package/{esm2020 → esm2022}/src/render3/instructions/element_validation.mjs +0 -0
  237. /package/{esm2020 → esm2022}/src/render3/instructions/get_current_view.mjs +0 -0
  238. /package/{esm2020 → esm2022}/src/render3/instructions/host_property.mjs +0 -0
  239. /package/{esm2020 → esm2022}/src/render3/instructions/i18n.mjs +0 -0
  240. /package/{esm2020 → esm2022}/src/render3/instructions/i18n_icu_container_visitor.mjs +0 -0
  241. /package/{esm2020 → esm2022}/src/render3/instructions/interpolation.mjs +0 -0
  242. /package/{esm2020 → esm2022}/src/render3/instructions/namespace.mjs +0 -0
  243. /package/{esm2020 → esm2022}/src/render3/instructions/next_context.mjs +0 -0
  244. /package/{esm2020 → esm2022}/src/render3/instructions/projection.mjs +0 -0
  245. /package/{esm2020 → esm2022}/src/render3/instructions/property.mjs +0 -0
  246. /package/{esm2020 → esm2022}/src/render3/instructions/property_interpolation.mjs +0 -0
  247. /package/{esm2020 → esm2022}/src/render3/instructions/storage.mjs +0 -0
  248. /package/{esm2020 → esm2022}/src/render3/instructions/style_map_interpolation.mjs +0 -0
  249. /package/{esm2020 → esm2022}/src/render3/instructions/style_prop_interpolation.mjs +0 -0
  250. /package/{esm2020 → esm2022}/src/render3/instructions/template.mjs +0 -0
  251. /package/{esm2020 → esm2022}/src/render3/instructions/text.mjs +0 -0
  252. /package/{esm2020 → esm2022}/src/render3/instructions/text_interpolation.mjs +0 -0
  253. /package/{esm2020 → esm2022}/src/render3/interfaces/container.mjs +0 -0
  254. /package/{esm2020 → esm2022}/src/render3/interfaces/context.mjs +0 -0
  255. /package/{esm2020 → esm2022}/src/render3/interfaces/definition.mjs +0 -0
  256. /package/{esm2020 → esm2022}/src/render3/interfaces/document.mjs +0 -0
  257. /package/{esm2020 → esm2022}/src/render3/interfaces/i18n.mjs +0 -0
  258. /package/{esm2020 → esm2022}/src/render3/interfaces/injector.mjs +0 -0
  259. /package/{esm2020 → esm2022}/src/render3/interfaces/lview_tracking.mjs +0 -0
  260. /package/{esm2020 → esm2022}/src/render3/interfaces/node.mjs +0 -0
  261. /package/{esm2020 → esm2022}/src/render3/interfaces/projection.mjs +0 -0
  262. /package/{esm2020 → esm2022}/src/render3/interfaces/public_definitions.mjs +0 -0
  263. /package/{esm2020 → esm2022}/src/render3/interfaces/query.mjs +0 -0
  264. /package/{esm2020 → esm2022}/src/render3/interfaces/renderer.mjs +0 -0
  265. /package/{esm2020 → esm2022}/src/render3/interfaces/renderer_dom.mjs +0 -0
  266. /package/{esm2020 → esm2022}/src/render3/interfaces/sanitization.mjs +0 -0
  267. /package/{esm2020 → esm2022}/src/render3/interfaces/styling.mjs +0 -0
  268. /package/{esm2020 → esm2022}/src/render3/interfaces/type_checks.mjs +0 -0
  269. /package/{esm2020 → esm2022}/src/render3/jit/directive.mjs +0 -0
  270. /package/{esm2020 → esm2022}/src/render3/jit/environment.mjs +0 -0
  271. /package/{esm2020 → esm2022}/src/render3/jit/jit_options.mjs +0 -0
  272. /package/{esm2020 → esm2022}/src/render3/jit/module_patch.mjs +0 -0
  273. /package/{esm2020 → esm2022}/src/render3/jit/partial.mjs +0 -0
  274. /package/{esm2020 → esm2022}/src/render3/jit/pipe.mjs +0 -0
  275. /package/{esm2020 → esm2022}/src/render3/jit/util.mjs +0 -0
  276. /package/{esm2020 → esm2022}/src/render3/metadata.mjs +0 -0
  277. /package/{esm2020 → esm2022}/src/render3/namespaces.mjs +0 -0
  278. /package/{esm2020 → esm2022}/src/render3/ng_module_ref.mjs +0 -0
  279. /package/{esm2020 → esm2022}/src/render3/node_assert.mjs +0 -0
  280. /package/{esm2020 → esm2022}/src/render3/node_manipulation_i18n.mjs +0 -0
  281. /package/{esm2020 → esm2022}/src/render3/node_selector_matcher.mjs +0 -0
  282. /package/{esm2020 → esm2022}/src/render3/pipe.mjs +0 -0
  283. /package/{esm2020 → esm2022}/src/render3/profiler.mjs +0 -0
  284. /package/{esm2020 → esm2022}/src/render3/pure_function.mjs +0 -0
  285. /package/{esm2020 → esm2022}/src/render3/query.mjs +0 -0
  286. /package/{esm2020 → esm2022}/src/render3/state.mjs +0 -0
  287. /package/{esm2020 → esm2022}/src/render3/styling/class_differ.mjs +0 -0
  288. /package/{esm2020 → esm2022}/src/render3/styling/static_styling.mjs +0 -0
  289. /package/{esm2020 → esm2022}/src/render3/styling/style_binding_list.mjs +0 -0
  290. /package/{esm2020 → esm2022}/src/render3/styling/styling_parser.mjs +0 -0
  291. /package/{esm2020 → esm2022}/src/render3/tokens.mjs +0 -0
  292. /package/{esm2020 → esm2022}/src/render3/util/attrs_utils.mjs +0 -0
  293. /package/{esm2020 → esm2022}/src/render3/util/discovery_utils.mjs +0 -0
  294. /package/{esm2020 → esm2022}/src/render3/util/global_utils.mjs +0 -0
  295. /package/{esm2020 → esm2022}/src/render3/util/injector_utils.mjs +0 -0
  296. /package/{esm2020 → esm2022}/src/render3/util/misc_utils.mjs +0 -0
  297. /package/{esm2020 → esm2022}/src/render3/util/stringify_utils.mjs +0 -0
  298. /package/{esm2020 → esm2022}/src/render3/util/view_traversal_utils.mjs +0 -0
  299. /package/{esm2020 → esm2022}/src/render3/util/view_utils.mjs +0 -0
  300. /package/{esm2020 → esm2022}/src/render3/view_engine_compatibility_prebound.mjs +0 -0
  301. /package/{esm2020 → esm2022}/src/sanitization/bypass.mjs +0 -0
  302. /package/{esm2020 → esm2022}/src/sanitization/html_sanitizer.mjs +0 -0
  303. /package/{esm2020 → esm2022}/src/sanitization/iframe_attrs_validation.mjs +0 -0
  304. /package/{esm2020 → esm2022}/src/sanitization/inert_body.mjs +0 -0
  305. /package/{esm2020 → esm2022}/src/sanitization/sanitization.mjs +0 -0
  306. /package/{esm2020 → esm2022}/src/sanitization/security.mjs +0 -0
  307. /package/{esm2020 → esm2022}/src/sanitization/url_sanitizer.mjs +0 -0
  308. /package/{esm2020 → esm2022}/src/signals/src/untracked.mjs +0 -0
  309. /package/{esm2020 → esm2022}/src/util/array_utils.mjs +0 -0
  310. /package/{esm2020 → esm2022}/src/util/assert.mjs +0 -0
  311. /package/{esm2020 → esm2022}/src/util/char_code.mjs +0 -0
  312. /package/{esm2020 → esm2022}/src/util/closure.mjs +0 -0
  313. /package/{esm2020 → esm2022}/src/util/coercion.mjs +0 -0
  314. /package/{esm2020 → esm2022}/src/util/comparison.mjs +0 -0
  315. /package/{esm2020 → esm2022}/src/util/decorators.mjs +0 -0
  316. /package/{esm2020 → esm2022}/src/util/dom.mjs +0 -0
  317. /package/{esm2020 → esm2022}/src/util/empty.mjs +0 -0
  318. /package/{esm2020 → esm2022}/src/util/errors.mjs +0 -0
  319. /package/{esm2020 → esm2022}/src/util/global.mjs +0 -0
  320. /package/{esm2020 → esm2022}/src/util/is_dev_mode.mjs +0 -0
  321. /package/{esm2020 → esm2022}/src/util/iterable.mjs +0 -0
  322. /package/{esm2020 → esm2022}/src/util/lang.mjs +0 -0
  323. /package/{esm2020 → esm2022}/src/util/microtask.mjs +0 -0
  324. /package/{esm2020 → esm2022}/src/util/ng_dev_mode.mjs +0 -0
  325. /package/{esm2020 → esm2022}/src/util/ng_i18n_closure_mode.mjs +0 -0
  326. /package/{esm2020 → esm2022}/src/util/ng_jit_mode.mjs +0 -0
  327. /package/{esm2020 → esm2022}/src/util/ng_reflect.mjs +0 -0
  328. /package/{esm2020 → esm2022}/src/util/noop.mjs +0 -0
  329. /package/{esm2020 → esm2022}/src/util/property.mjs +0 -0
  330. /package/{esm2020 → esm2022}/src/util/raf.mjs +0 -0
  331. /package/{esm2020 → esm2022}/src/util/security/trusted_type_defs.mjs +0 -0
  332. /package/{esm2020 → esm2022}/src/util/security/trusted_types.mjs +0 -0
  333. /package/{esm2020 → esm2022}/src/util/security/trusted_types_bypass.mjs +0 -0
  334. /package/{esm2020 → esm2022}/src/util/stringify.mjs +0 -0
  335. /package/{esm2020 → esm2022}/src/view/provider_flags.mjs +0 -0
  336. /package/{esm2020 → esm2022}/src/zone/async-stack-tagging.mjs +0 -0
  337. /package/{esm2020 → esm2022}/src/zone/ng_zone.mjs +0 -0
  338. /package/{esm2020 → esm2022}/src/zone.mjs +0 -0
  339. /package/{esm2020 → esm2022}/testing/index.mjs +0 -0
  340. /package/{esm2020 → esm2022}/testing/public_api.mjs +0 -0
  341. /package/{esm2020 → esm2022}/testing/src/async.mjs +0 -0
  342. /package/{esm2020 → esm2022}/testing/src/component_fixture.mjs +0 -0
  343. /package/{esm2020 → esm2022}/testing/src/fake_async.mjs +0 -0
  344. /package/{esm2020 → esm2022}/testing/src/metadata_override.mjs +0 -0
  345. /package/{esm2020 → esm2022}/testing/src/metadata_overrider.mjs +0 -0
  346. /package/{esm2020 → esm2022}/testing/src/resolvers.mjs +0 -0
  347. /package/{esm2020 → esm2022}/testing/src/styling.mjs +0 -0
  348. /package/{esm2020 → esm2022}/testing/src/test_bed_common.mjs +0 -0
  349. /package/{esm2020 → esm2022}/testing/src/test_bed_compiler.mjs +0 -0
  350. /package/{esm2020 → esm2022}/testing/src/test_hooks.mjs +0 -0
  351. /package/{esm2020 → esm2022}/testing/src/testing.mjs +0 -0
  352. /package/{esm2020 → esm2022}/testing/src/testing_internal.mjs +0 -0
  353. /package/{esm2020 → esm2022}/testing/testing.mjs +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.0.0-next.4
2
+ * @license Angular v16.0.0-next.5
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1842,6 +1842,9 @@ const SOURCE = '__source';
1842
1842
  * - Injector instance: Use the injector for resolution.
1843
1843
  */
1844
1844
  let _currentInjector = undefined;
1845
+ function getCurrentInjector() {
1846
+ return _currentInjector;
1847
+ }
1845
1848
  function setCurrentInjector(injector) {
1846
1849
  const former = _currentInjector;
1847
1850
  _currentInjector = injector;
@@ -1850,7 +1853,7 @@ function setCurrentInjector(injector) {
1850
1853
  function injectInjectorOnly(token, flags = InjectFlags.Default) {
1851
1854
  if (_currentInjector === undefined) {
1852
1855
  throw new RuntimeError(-203 /* RuntimeErrorCode.MISSING_INJECTION_CONTEXT */, ngDevMode &&
1853
- `inject() must be called from an injection context such as a constructor, a factory function, a field initializer, or a function used with \`EnvironmentInjector#runInContext\`.`);
1856
+ `inject() must be called from an injection context such as a constructor, a factory function, a field initializer, or a function used with \`runInInjectionContext\`.`);
1854
1857
  }
1855
1858
  else if (_currentInjector === null) {
1856
1859
  return injectRootLimpMode(token, undefined, flags);
@@ -3231,6 +3234,8 @@ const ID = 20;
3231
3234
  const EMBEDDED_VIEW_INJECTOR = 21;
3232
3235
  const ON_DESTROY_HOOKS = 22;
3233
3236
  const HYDRATION = 23;
3237
+ const REACTIVE_TEMPLATE_CONSUMER = 24;
3238
+ const REACTIVE_HOST_BINDING_CONSUMER = 25;
3234
3239
  /**
3235
3240
  * Size of LView's header. Necessary to adjust for it when setting slots.
3236
3241
  *
@@ -3238,7 +3243,7 @@ const HYDRATION = 23;
3238
3243
  * instruction index into `LView` index. All other indexes should be in the `LView` index space and
3239
3244
  * there should be no need to refer to `HEADER_OFFSET` anywhere else.
3240
3245
  */
3241
- const HEADER_OFFSET = 24;
3246
+ const HEADER_OFFSET = 26;
3242
3247
  // Note: This hack is necessary so we don't erroneously get a circular dependency
3243
3248
  // failure based on types.
3244
3249
  const unusedValueExportToPlacateAjd$4 = 1;
@@ -6739,6 +6744,8 @@ function detachView(lContainer, removeIndex) {
6739
6744
  function destroyLView(tView, lView) {
6740
6745
  if (!(lView[FLAGS] & 128 /* LViewFlags.Destroyed */)) {
6741
6746
  const renderer = lView[RENDERER];
6747
+ lView[REACTIVE_TEMPLATE_CONSUMER]?.destroy();
6748
+ lView[REACTIVE_HOST_BINDING_CONSUMER]?.destroy();
6742
6749
  if (renderer.destroyNode) {
6743
6750
  applyView(tView, lView, renderer, 3 /* WalkTNodeTreeAction.Destroy */, null, null);
6744
6751
  }
@@ -7139,15 +7146,12 @@ function nativeRemoveNode(renderer, rNode, isHostElement) {
7139
7146
  }
7140
7147
  }
7141
7148
  /**
7142
- * Removes the contents of a given RElement using a given renderer.
7149
+ * Clears the contents of a given RElement.
7143
7150
  *
7144
- * @param renderer A renderer to be used
7145
7151
  * @param rElement the native RElement to be cleared
7146
7152
  */
7147
- function clearElementContents(renderer, rElement) {
7148
- while (rElement.firstChild) {
7149
- nativeRemoveChild(renderer, rElement, rElement.firstChild, false);
7150
- }
7153
+ function clearElementContents(rElement) {
7154
+ rElement.textContent = '';
7151
7155
  }
7152
7156
  /**
7153
7157
  * Performs the operation of `action` on the node. Typically this involves inserting or removing
@@ -8540,7 +8544,7 @@ function internalImportProvidersFrom(checkForStandaloneCmp, ...sources) {
8540
8544
  // Narrow `source` to access the internal type analogue for `ModuleWithProviders`.
8541
8545
  const internalSource = source;
8542
8546
  if (walkProviderTree(internalSource, providersOut, [], dedup)) {
8543
- injectorTypesWithProviders || (injectorTypesWithProviders = []);
8547
+ injectorTypesWithProviders ||= [];
8544
8548
  injectorTypesWithProviders.push(internalSource);
8545
8549
  }
8546
8550
  });
@@ -8636,7 +8640,7 @@ function walkProviderTree(container, providersOut, parents, dedup) {
8636
8640
  try {
8637
8641
  deepForEach(injDef.imports, imported => {
8638
8642
  if (walkProviderTree(imported, providersOut, parents, dedup)) {
8639
- importTypesWithProviders || (importTypesWithProviders = []);
8643
+ importTypesWithProviders ||= [];
8640
8644
  // If the processed import is an injector type with providers, we store it in the
8641
8645
  // list of import types with providers, so that we can process those afterwards.
8642
8646
  importTypesWithProviders.push(imported);
@@ -9294,6 +9298,13 @@ class TransferState {
9294
9298
  this.store = {};
9295
9299
  this.onSerializeCallbacks = {};
9296
9300
  }
9301
+ /** @nocollapse */
9302
+ static { this.ɵprov =
9303
+ /** @pureOrBreakMyCode */ ɵɵdefineInjectable({
9304
+ token: TransferState,
9305
+ providedIn: 'root',
9306
+ factory: initTransferState,
9307
+ }); }
9297
9308
  /**
9298
9309
  * Get the value corresponding to a key. Return `defaultValue` if key is not found.
9299
9310
  */
@@ -9348,13 +9359,6 @@ class TransferState {
9348
9359
  return JSON.stringify(this.store);
9349
9360
  }
9350
9361
  }
9351
- /** @nocollapse */
9352
- TransferState.ɵprov =
9353
- /** @pureOrBreakMyCode */ ɵɵdefineInjectable({
9354
- token: TransferState,
9355
- providedIn: 'root',
9356
- factory: initTransferState,
9357
- });
9358
9362
  function retrieveTransferredState(doc, appId) {
9359
9363
  // Locate the script tag with the JSON data transferred from the server.
9360
9364
  // The id of the script tag is set to the Angular appId + 'state'.
@@ -9550,7 +9554,7 @@ function isRNodeClaimedForHydration(node) {
9550
9554
  return !!node.__claimed;
9551
9555
  }
9552
9556
  function setSegmentHead(hydrationInfo, index, node) {
9553
- hydrationInfo.segmentHeads ?? (hydrationInfo.segmentHeads = {});
9557
+ hydrationInfo.segmentHeads ??= {};
9554
9558
  hydrationInfo.segmentHeads[index] = node;
9555
9559
  }
9556
9560
  function getSegmentHead(hydrationInfo, index) {
@@ -9629,7 +9633,7 @@ class ComponentFactory$1 {
9629
9633
  }
9630
9634
 
9631
9635
  function noComponentFactoryError(component) {
9632
- const error = Error(`No component factory found for ${stringify(component)}. Did you add it to @NgModule.entryComponents?`);
9636
+ const error = Error(`No component factory found for ${stringify(component)}.`);
9633
9637
  error[ERROR_COMPONENT] = component;
9634
9638
  return error;
9635
9639
  }
@@ -9658,8 +9662,8 @@ class _NullComponentFactoryResolver {
9658
9662
  * Component class can be used directly.
9659
9663
  */
9660
9664
  class ComponentFactoryResolver$1 {
9665
+ static { this.NULL = ( /* @__PURE__ */new _NullComponentFactoryResolver()); }
9661
9666
  }
9662
- ComponentFactoryResolver$1.NULL = ( /* @__PURE__ */new _NullComponentFactoryResolver());
9663
9667
 
9664
9668
  /**
9665
9669
  * Creates an ElementRef from the most recent node.
@@ -9698,12 +9702,12 @@ class ElementRef {
9698
9702
  constructor(nativeElement) {
9699
9703
  this.nativeElement = nativeElement;
9700
9704
  }
9705
+ /**
9706
+ * @internal
9707
+ * @nocollapse
9708
+ */
9709
+ static { this.__NG_ELEMENT_ID__ = injectElementRef; }
9701
9710
  }
9702
- /**
9703
- * @internal
9704
- * @nocollapse
9705
- */
9706
- ElementRef.__NG_ELEMENT_ID__ = injectElementRef;
9707
9711
  /**
9708
9712
  * Unwraps `ElementRef` and return the `nativeElement`.
9709
9713
  *
@@ -9737,12 +9741,12 @@ class RendererFactory2 {
9737
9741
  * @publicApi
9738
9742
  */
9739
9743
  class Renderer2 {
9744
+ /**
9745
+ * @internal
9746
+ * @nocollapse
9747
+ */
9748
+ static { this.__NG_ELEMENT_ID__ = () => injectRenderer2(); }
9740
9749
  }
9741
- /**
9742
- * @internal
9743
- * @nocollapse
9744
- */
9745
- Renderer2.__NG_ELEMENT_ID__ = () => injectRenderer2();
9746
9750
  /** Injects a Renderer2 for the current component. */
9747
9751
  function injectRenderer2() {
9748
9752
  // We need the Renderer to be based on the component that it's being injected into, however since
@@ -9759,13 +9763,13 @@ function injectRenderer2() {
9759
9763
  * @publicApi
9760
9764
  */
9761
9765
  class Sanitizer {
9766
+ /** @nocollapse */
9767
+ static { this.ɵprov = ɵɵdefineInjectable({
9768
+ token: Sanitizer,
9769
+ providedIn: 'root',
9770
+ factory: () => null,
9771
+ }); }
9762
9772
  }
9763
- /** @nocollapse */
9764
- Sanitizer.ɵprov = ɵɵdefineInjectable({
9765
- token: Sanitizer,
9766
- providedIn: 'root',
9767
- factory: () => null,
9768
- });
9769
9773
 
9770
9774
  /**
9771
9775
  * @description Represents the version of Angular
@@ -9783,7 +9787,7 @@ class Version {
9783
9787
  /**
9784
9788
  * @publicApi
9785
9789
  */
9786
- const VERSION = new Version('16.0.0-next.4');
9790
+ const VERSION = new Version('16.0.0-next.5');
9787
9791
 
9788
9792
  // This default value is when checking the hierarchy for a token.
9789
9793
  //
@@ -9864,11 +9868,11 @@ class ErrorHandler {
9864
9868
  }
9865
9869
  }
9866
9870
 
9867
- const NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;
9871
+ const NG_DEV_MODE$1 = typeof ngDevMode === 'undefined' || !!ngDevMode;
9868
9872
  /**
9869
9873
  * Internal token that specifies whether hydration is enabled.
9870
9874
  */
9871
- const IS_HYDRATION_FEATURE_ENABLED = new InjectionToken(NG_DEV_MODE ? 'IS_HYDRATION_FEATURE_ENABLED' : '');
9875
+ const IS_HYDRATION_FEATURE_ENABLED = new InjectionToken(NG_DEV_MODE$1 ? 'IS_HYDRATION_FEATURE_ENABLED' : '');
9872
9876
  // By default (in client rendering mode), we remove all the contents
9873
9877
  // of the host element and render an application after that.
9874
9878
  const PRESERVE_HOST_CONTENT_DEFAULT = false;
@@ -9876,7 +9880,7 @@ const PRESERVE_HOST_CONTENT_DEFAULT = false;
9876
9880
  * Internal token that indicates whether host element content should be
9877
9881
  * retained during the bootstrap.
9878
9882
  */
9879
- const PRESERVE_HOST_CONTENT = new InjectionToken(NG_DEV_MODE ? 'PRESERVE_HOST_CONTENT' : '', {
9883
+ const PRESERVE_HOST_CONTENT = new InjectionToken(NG_DEV_MODE$1 ? 'PRESERVE_HOST_CONTENT' : '', {
9880
9884
  providedIn: 'root',
9881
9885
  factory: () => PRESERVE_HOST_CONTENT_DEFAULT,
9882
9886
  });
@@ -9986,6 +9990,285 @@ function getExpressionChangedErrorDetails(lView, bindingIndex, oldValue, newValu
9986
9990
  return { propName: undefined, oldValue, newValue };
9987
9991
  }
9988
9992
 
9993
+ /**
9994
+ * A `WeakRef`-compatible reference that fakes the API with a strong reference
9995
+ * internally.
9996
+ */
9997
+ class LeakyRef {
9998
+ constructor(ref) {
9999
+ this.ref = ref;
10000
+ }
10001
+ deref() {
10002
+ return this.ref;
10003
+ }
10004
+ }
10005
+ // `WeakRef` is not always defined in every TS environment where Angular is compiled. Instead,
10006
+ // read it off of the global context if available.
10007
+ // tslint:disable-next-line: no-toplevel-property-access
10008
+ let WeakRefImpl = _global$1['WeakRef'] ?? LeakyRef;
10009
+ function newWeakRef(value) {
10010
+ if (typeof ngDevMode !== 'undefined' && ngDevMode && WeakRefImpl === undefined) {
10011
+ throw new Error(`Angular requires a browser which supports the 'WeakRef' API`);
10012
+ }
10013
+ return new WeakRefImpl(value);
10014
+ }
10015
+ function setAlternateWeakRefImpl(impl) {
10016
+ // no-op since the alternate impl is included by default by the framework. Remove once internal
10017
+ // migration is complete.
10018
+ }
10019
+
10020
+ /**
10021
+ * Counter tracking the next `ProducerId` or `ConsumerId`.
10022
+ */
10023
+ let _nextReactiveId = 0;
10024
+ /**
10025
+ * Tracks the currently active reactive consumer (or `null` if there is no active
10026
+ * consumer).
10027
+ */
10028
+ let activeConsumer = null;
10029
+ function setActiveConsumer(consumer) {
10030
+ const prev = activeConsumer;
10031
+ activeConsumer = consumer;
10032
+ return prev;
10033
+ }
10034
+ /**
10035
+ * A node in the reactive graph.
10036
+ *
10037
+ * Nodes can be producers of reactive values, consumers of other reactive values, or both.
10038
+ *
10039
+ * Producers are nodes that produce values, and can be depended upon by consumer nodes.
10040
+ *
10041
+ * Producers expose a monotonic `valueVersion` counter, and are responsible for incrementing this
10042
+ * version when their value semantically changes. Some producers may produce their values lazily and
10043
+ * thus at times need to be polled for potential updates to their value (and by extension their
10044
+ * `valueVersion`). This is accomplished via the `onProducerUpdateValueVersion` method for
10045
+ * implemented by producers, which should perform whatever calculations are necessary to ensure
10046
+ * `valueVersion` is up to date.
10047
+ *
10048
+ * Consumers are nodes that depend on the values of producers and are notified when those values
10049
+ * might have changed.
10050
+ *
10051
+ * Consumers do not wrap the reads they consume themselves, but rather can be set as the active
10052
+ * reader via `setActiveConsumer`. Reads of producers that happen while a consumer is active will
10053
+ * result in those producers being added as dependencies of that consumer node.
10054
+ *
10055
+ * The set of dependencies of a consumer is dynamic. Implementers expose a monotonically increasing
10056
+ * `trackingVersion` counter, which increments whenever the consumer is about to re-run any reactive
10057
+ * reads it needs and establish a new set of dependencies as a result.
10058
+ *
10059
+ * Producers store the last `trackingVersion` they've seen from `Consumer`s which have read them.
10060
+ * This allows a producer to identify whether its record of the dependency is current or stale, by
10061
+ * comparing the consumer's `trackingVersion` to the version at which the dependency was
10062
+ * last observed.
10063
+ */
10064
+ class ReactiveNode {
10065
+ constructor() {
10066
+ this.id = _nextReactiveId++;
10067
+ /**
10068
+ * A cached weak reference to this node, which will be used in `ReactiveEdge`s.
10069
+ */
10070
+ this.ref = newWeakRef(this);
10071
+ /**
10072
+ * Edges to producers on which this node depends (in its consumer capacity).
10073
+ */
10074
+ this.producers = new Map();
10075
+ /**
10076
+ * Edges to consumers on which this node depends (in its producer capacity).
10077
+ */
10078
+ this.consumers = new Map();
10079
+ /**
10080
+ * Monotonically increasing counter representing a version of this `Consumer`'s
10081
+ * dependencies.
10082
+ */
10083
+ this.trackingVersion = 0;
10084
+ /**
10085
+ * Monotonically increasing counter which increases when the value of this `Producer`
10086
+ * semantically changes.
10087
+ */
10088
+ this.valueVersion = 0;
10089
+ }
10090
+ /**
10091
+ * Polls dependencies of a consumer to determine if they have actually changed.
10092
+ *
10093
+ * If this returns `false`, then even though the consumer may have previously been notified of a
10094
+ * change, the values of its dependencies have not actually changed and the consumer should not
10095
+ * rerun any reactions.
10096
+ */
10097
+ consumerPollProducersForChange() {
10098
+ for (const [producerId, edge] of this.producers) {
10099
+ const producer = edge.producerNode.deref();
10100
+ if (producer === undefined || edge.atTrackingVersion !== this.trackingVersion) {
10101
+ // This dependency edge is stale, so remove it.
10102
+ this.producers.delete(producerId);
10103
+ producer?.consumers.delete(this.id);
10104
+ continue;
10105
+ }
10106
+ if (producer.producerPollStatus(edge.seenValueVersion)) {
10107
+ // One of the dependencies reports a real value change.
10108
+ return true;
10109
+ }
10110
+ }
10111
+ // No dependency reported a real value change, so the `Consumer` has also not been
10112
+ // impacted.
10113
+ return false;
10114
+ }
10115
+ /**
10116
+ * Notify all consumers of this producer that its value may have changed.
10117
+ */
10118
+ producerMayHaveChanged() {
10119
+ for (const [consumerId, edge] of this.consumers) {
10120
+ const consumer = edge.consumerNode.deref();
10121
+ if (consumer === undefined || consumer.trackingVersion !== edge.atTrackingVersion) {
10122
+ this.consumers.delete(consumerId);
10123
+ consumer?.producers.delete(this.id);
10124
+ continue;
10125
+ }
10126
+ consumer.onConsumerDependencyMayHaveChanged();
10127
+ }
10128
+ }
10129
+ /**
10130
+ * Mark that this producer node has been accessed in the current reactive context.
10131
+ */
10132
+ producerAccessed() {
10133
+ if (activeConsumer === null) {
10134
+ return;
10135
+ }
10136
+ // Either create or update the dependency `Edge` in both directions.
10137
+ let edge = activeConsumer.producers.get(this.id);
10138
+ if (edge === undefined) {
10139
+ edge = {
10140
+ consumerNode: activeConsumer.ref,
10141
+ producerNode: this.ref,
10142
+ seenValueVersion: this.valueVersion,
10143
+ atTrackingVersion: activeConsumer.trackingVersion,
10144
+ };
10145
+ activeConsumer.producers.set(this.id, edge);
10146
+ this.consumers.set(activeConsumer.id, edge);
10147
+ }
10148
+ else {
10149
+ edge.seenValueVersion = this.valueVersion;
10150
+ edge.atTrackingVersion = activeConsumer.trackingVersion;
10151
+ }
10152
+ }
10153
+ /**
10154
+ * Whether this consumer currently has any producers registered.
10155
+ */
10156
+ get hasProducers() {
10157
+ return this.producers.size > 0;
10158
+ }
10159
+ /**
10160
+ * Checks if a `Producer` has a current value which is different than the value
10161
+ * last seen at a specific version by a `Consumer` which recorded a dependency on
10162
+ * this `Producer`.
10163
+ */
10164
+ producerPollStatus(lastSeenValueVersion) {
10165
+ // `producer.valueVersion` may be stale, but a mismatch still means that the value
10166
+ // last seen by the `Consumer` is also stale.
10167
+ if (this.valueVersion !== lastSeenValueVersion) {
10168
+ return true;
10169
+ }
10170
+ // Trigger the `Producer` to update its `valueVersion` if necessary.
10171
+ this.onProducerUpdateValueVersion();
10172
+ // At this point, we can trust `producer.valueVersion`.
10173
+ return this.valueVersion !== lastSeenValueVersion;
10174
+ }
10175
+ }
10176
+
10177
+ /**
10178
+ * Marks current view and all ancestors dirty.
10179
+ *
10180
+ * Returns the root view because it is found as a byproduct of marking the view tree
10181
+ * dirty, and can be used by methods that consume markViewDirty() to easily schedule
10182
+ * change detection. Otherwise, such methods would need to traverse up the view tree
10183
+ * an additional time to get the root view and schedule a tick on it.
10184
+ *
10185
+ * @param lView The starting LView to mark dirty
10186
+ * @returns the root LView
10187
+ */
10188
+ function markViewDirty(lView) {
10189
+ while (lView) {
10190
+ lView[FLAGS] |= 32 /* LViewFlags.Dirty */;
10191
+ const parent = getLViewParent(lView);
10192
+ // Stop traversing up as soon as you find a root view that wasn't attached to any container
10193
+ if (isRootView(lView) && !parent) {
10194
+ return lView;
10195
+ }
10196
+ // continue otherwise
10197
+ lView = parent;
10198
+ }
10199
+ return null;
10200
+ }
10201
+
10202
+ const NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;
10203
+ class ReactiveLViewConsumer extends ReactiveNode {
10204
+ constructor() {
10205
+ super(...arguments);
10206
+ this._lView = null;
10207
+ }
10208
+ set lView(lView) {
10209
+ NG_DEV_MODE && assertEqual(this._lView, null, 'Consumer already associated with a view.');
10210
+ this._lView = lView;
10211
+ }
10212
+ onConsumerDependencyMayHaveChanged() {
10213
+ NG_DEV_MODE &&
10214
+ assertDefined(this._lView, 'Updating a signal during template or host binding execution is not allowed.');
10215
+ markViewDirty(this._lView);
10216
+ }
10217
+ onProducerUpdateValueVersion() {
10218
+ // This type doesn't implement the producer side of a `ReactiveNode`.
10219
+ }
10220
+ get hasReadASignal() {
10221
+ return this.hasProducers;
10222
+ }
10223
+ runInContext(fn, rf, ctx) {
10224
+ const prevConsumer = setActiveConsumer(this);
10225
+ this.trackingVersion++;
10226
+ try {
10227
+ fn(rf, ctx);
10228
+ }
10229
+ finally {
10230
+ setActiveConsumer(prevConsumer);
10231
+ }
10232
+ }
10233
+ destroy() {
10234
+ // Incrementing the version means that every producer which tries to update this consumer will
10235
+ // consider its record stale, and not notify.
10236
+ this.trackingVersion++;
10237
+ }
10238
+ }
10239
+ let currentConsumer = null;
10240
+ function getOrCreateCurrentLViewConsumer() {
10241
+ currentConsumer ??= new ReactiveLViewConsumer();
10242
+ return currentConsumer;
10243
+ }
10244
+ /**
10245
+ * Create a new template consumer pointing at the specified LView.
10246
+ * Sometimes, a previously created consumer may be reused, in order to save on allocations. In that
10247
+ * case, the LView will be updated.
10248
+ */
10249
+ function getReactiveLViewConsumer(lView, slot) {
10250
+ return lView[slot] ?? getOrCreateCurrentLViewConsumer();
10251
+ }
10252
+ /**
10253
+ * Assigns the `currentTemplateContext` to its LView's `REACTIVE_CONSUMER` slot if there are tracked
10254
+ * producers.
10255
+ *
10256
+ * The presence of producers means that a signal was read while the consumer was the active
10257
+ * consumer.
10258
+ *
10259
+ * If no producers are present, we do not assign the current template context. This also means we
10260
+ * can just reuse the template context for the next LView.
10261
+ */
10262
+ function commitLViewConsumerIfHasProducers(lView, slot) {
10263
+ const consumer = getOrCreateCurrentLViewConsumer();
10264
+ if (!consumer.hasReadASignal) {
10265
+ return;
10266
+ }
10267
+ lView[slot] = currentConsumer;
10268
+ consumer.lView = lView;
10269
+ currentConsumer = new ReactiveLViewConsumer();
10270
+ }
10271
+
9989
10272
  /** A special value which designates that a value has not changed. */
9990
10273
  const NO_CHANGE = (typeof ngDevMode === 'undefined' || ngDevMode) ? { __brand__: 'NO_CHANGE' } : {};
9991
10274
 
@@ -10068,6 +10351,22 @@ function runInInjectionContext(injector, fn) {
10068
10351
  setInjectImplementation(previousInjectImplementation);
10069
10352
  }
10070
10353
  }
10354
+ /**
10355
+ * Asserts that the current stack frame is within an injection context and has access to `inject`.
10356
+ *
10357
+ * @param debugFn a reference to the function making the assertion (used for the error message).
10358
+ *
10359
+ * @publicApi
10360
+ */
10361
+ function assertInInjectionContext(debugFn) {
10362
+ // Taking a `Function` instead of a string name here prevents the unminified name of the function
10363
+ // from being retained in the bundle regardless of minification.
10364
+ if (!getInjectImplementation() && !getCurrentInjector()) {
10365
+ throw new RuntimeError(-203 /* RuntimeErrorCode.MISSING_INJECTION_CONTEXT */, ngDevMode &&
10366
+ (debugFn.name +
10367
+ '() can only be used within an injection context such as a constructor, a factory function, a field initializer, or a function used with `runInInjectionContext`'));
10368
+ }
10369
+ }
10071
10370
 
10072
10371
  /**
10073
10372
  * A mapping of the @angular/core API surface used in generated expressions to the actual symbols.
@@ -10220,6 +10519,8 @@ function createInjectorWithoutInjectorInstances(defType, parent = null, addition
10220
10519
  * @publicApi
10221
10520
  */
10222
10521
  class Injector {
10522
+ static { this.THROW_IF_NOT_FOUND = THROW_IF_NOT_FOUND; }
10523
+ static { this.NULL = ( /* @__PURE__ */new NullInjector()); }
10223
10524
  static create(options, parent) {
10224
10525
  if (Array.isArray(options)) {
10225
10526
  return createInjector({ name: '' }, parent, options, '');
@@ -10229,20 +10530,18 @@ class Injector {
10229
10530
  return createInjector({ name }, options.parent, options.providers, name);
10230
10531
  }
10231
10532
  }
10533
+ /** @nocollapse */
10534
+ static { this.ɵprov = ɵɵdefineInjectable({
10535
+ token: Injector,
10536
+ providedIn: 'any',
10537
+ factory: () => ɵɵinject(INJECTOR),
10538
+ }); }
10539
+ /**
10540
+ * @internal
10541
+ * @nocollapse
10542
+ */
10543
+ static { this.__NG_ELEMENT_ID__ = -1 /* InjectorMarkers.Injector */; }
10232
10544
  }
10233
- Injector.THROW_IF_NOT_FOUND = THROW_IF_NOT_FOUND;
10234
- Injector.NULL = ( /* @__PURE__ */new NullInjector());
10235
- /** @nocollapse */
10236
- Injector.ɵprov = ɵɵdefineInjectable({
10237
- token: Injector,
10238
- providedIn: 'any',
10239
- factory: () => ɵɵinject(INJECTOR),
10240
- });
10241
- /**
10242
- * @internal
10243
- * @nocollapse
10244
- */
10245
- Injector.__NG_ELEMENT_ID__ = -1 /* InjectorMarkers.Injector */;
10246
10545
 
10247
10546
  function findFirstClosedCycle(keys) {
10248
10547
  const res = [];
@@ -10843,6 +11142,7 @@ class ReflectiveInjector {
10843
11142
  }
10844
11143
  }
10845
11144
  class ReflectiveInjector_ {
11145
+ static { this.INJECTOR_KEY = ( /* @__PURE__ */ReflectiveKey.get(Injector)); }
10846
11146
  /**
10847
11147
  * Private
10848
11148
  */
@@ -10998,7 +11298,6 @@ class ReflectiveInjector_ {
10998
11298
  return this.displayName;
10999
11299
  }
11000
11300
  }
11001
- ReflectiveInjector_.INJECTOR_KEY = ( /* @__PURE__ */ReflectiveKey.get(Injector));
11002
11301
  function _mapProviders(injector, fn) {
11003
11302
  const res = [];
11004
11303
  for (let i = 0; i < injector._providers.length; ++i) {
@@ -11072,6 +11371,7 @@ function processHostBindingOpCodes(tView, lView) {
11072
11371
  const hostBindingOpCodes = tView.hostBindingOpCodes;
11073
11372
  if (hostBindingOpCodes === null)
11074
11373
  return;
11374
+ const consumer = getReactiveLViewConsumer(lView, REACTIVE_HOST_BINDING_CONSUMER);
11075
11375
  try {
11076
11376
  for (let i = 0; i < hostBindingOpCodes.length; i++) {
11077
11377
  const opCode = hostBindingOpCodes[i];
@@ -11086,11 +11386,13 @@ function processHostBindingOpCodes(tView, lView) {
11086
11386
  const hostBindingFn = hostBindingOpCodes[++i];
11087
11387
  setBindingRootForHostBindings(bindingRootIndx, directiveIdx);
11088
11388
  const context = lView[directiveIdx];
11089
- hostBindingFn(2 /* RenderFlags.Update */, context);
11389
+ consumer.runInContext(hostBindingFn, 2 /* RenderFlags.Update */, context);
11090
11390
  }
11091
11391
  }
11092
11392
  }
11093
11393
  finally {
11394
+ lView[REACTIVE_HOST_BINDING_CONSUMER] === null &&
11395
+ commitLViewConsumerIfHasProducers(lView, REACTIVE_HOST_BINDING_CONSUMER);
11094
11396
  setSelectedIndex(-1);
11095
11397
  }
11096
11398
  }
@@ -11146,6 +11448,7 @@ function createLView(parentLView, tView, context, flags, host, tHostNode, render
11146
11448
  lView[ID] = getUniqueLViewId();
11147
11449
  lView[HYDRATION] = hydrationInfo;
11148
11450
  lView[EMBEDDED_VIEW_INJECTOR] = embeddedViewInjector;
11451
+ lView[REACTIVE_TEMPLATE_CONSUMER] = null;
11149
11452
  ngDevMode &&
11150
11453
  assertEqual(tView.type == 2 /* TViewType.Embedded */ ? parentLView !== null : true, true, 'Embedded views must have parentLView');
11151
11454
  lView[DECLARATION_COMPONENT_VIEW] =
@@ -11430,6 +11733,7 @@ function refreshView(tView, lView, templateFn, context) {
11430
11733
  }
11431
11734
  }
11432
11735
  function executeTemplate(tView, lView, templateFn, rf, context) {
11736
+ const consumer = getReactiveLViewConsumer(lView, REACTIVE_TEMPLATE_CONSUMER);
11433
11737
  const prevSelectedIndex = getSelectedIndex();
11434
11738
  const isUpdatePhase = rf & 2 /* RenderFlags.Update */;
11435
11739
  try {
@@ -11441,9 +11745,12 @@ function executeTemplate(tView, lView, templateFn, rf, context) {
11441
11745
  }
11442
11746
  const preHookType = isUpdatePhase ? 2 /* ProfilerEvent.TemplateUpdateStart */ : 0 /* ProfilerEvent.TemplateCreateStart */;
11443
11747
  profiler(preHookType, context);
11444
- templateFn(rf, context);
11748
+ consumer.runInContext(templateFn, rf, context);
11445
11749
  }
11446
11750
  finally {
11751
+ if (lView[REACTIVE_TEMPLATE_CONSUMER] === null) {
11752
+ commitLViewConsumerIfHasProducers(lView, REACTIVE_TEMPLATE_CONSUMER);
11753
+ }
11447
11754
  setSelectedIndex(prevSelectedIndex);
11448
11755
  const postHookType = isUpdatePhase ? 3 /* ProfilerEvent.TemplateUpdateEnd */ : 1 /* ProfilerEvent.TemplateCreateEnd */;
11449
11756
  profiler(postHookType, context);
@@ -12547,30 +12854,6 @@ function addToViewTree(lView, lViewOrLContainer) {
12547
12854
  ///////////////////////////////
12548
12855
  //// Change detection
12549
12856
  ///////////////////////////////
12550
- /**
12551
- * Marks current view and all ancestors dirty.
12552
- *
12553
- * Returns the root view because it is found as a byproduct of marking the view tree
12554
- * dirty, and can be used by methods that consume markViewDirty() to easily schedule
12555
- * change detection. Otherwise, such methods would need to traverse up the view tree
12556
- * an additional time to get the root view and schedule a tick on it.
12557
- *
12558
- * @param lView The starting LView to mark dirty
12559
- * @returns the root LView
12560
- */
12561
- function markViewDirty(lView) {
12562
- while (lView) {
12563
- lView[FLAGS] |= 32 /* LViewFlags.Dirty */;
12564
- const parent = getLViewParent(lView);
12565
- // Stop traversing up as soon as you find a root view that wasn't attached to any container
12566
- if (isRootView(lView) && !parent) {
12567
- return lView;
12568
- }
12569
- // continue otherwise
12570
- lView = parent;
12571
- }
12572
- return null;
12573
- }
12574
12857
  function detectChangesInternal(tView, lView, context, notifyErrorHandler = true) {
12575
12858
  const rendererFactory = lView[RENDERER_FACTORY];
12576
12859
  // Check no changes mode is a dev only mode used to verify that bindings have not changed
@@ -13251,6 +13534,7 @@ class ComponentRef extends ComponentRef$1 {
13251
13534
  this.location = location;
13252
13535
  this._rootLView = _rootLView;
13253
13536
  this._tNode = _tNode;
13537
+ this.previousInputValues = null;
13254
13538
  this.instance = instance;
13255
13539
  this.hostView = this.changeDetectorRef = new RootViewRef(_rootLView);
13256
13540
  this.componentType = componentType;
@@ -13259,8 +13543,16 @@ class ComponentRef extends ComponentRef$1 {
13259
13543
  const inputData = this._tNode.inputs;
13260
13544
  let dataValue;
13261
13545
  if (inputData !== null && (dataValue = inputData[name])) {
13546
+ this.previousInputValues ??= new Map();
13547
+ // Do not set the input if it is the same as the last value
13548
+ // This behavior matches `bindingUpdated` when binding inputs in templates.
13549
+ if (this.previousInputValues.has(name) &&
13550
+ Object.is(this.previousInputValues.get(name), value)) {
13551
+ return;
13552
+ }
13262
13553
  const lView = this._rootLView;
13263
13554
  setInputsForProperty(lView[TVIEW], lView, dataValue, name, value);
13555
+ this.previousInputValues.set(name, value);
13264
13556
  markDirtyIfOnPush(lView, this._tNode.index);
13265
13557
  }
13266
13558
  else {
@@ -14991,10 +15283,9 @@ function siblingAfter(skip, from) {
14991
15283
  */
14992
15284
  function stringifyNavigationInstructions(instructions) {
14993
15285
  const container = [];
14994
- let i = 0;
14995
- while (i < instructions.length) {
14996
- const step = instructions[i++];
14997
- const repeat = instructions[i++];
15286
+ for (let i = 0; i < instructions.length; i += 2) {
15287
+ const step = instructions[i];
15288
+ const repeat = instructions[i + 1];
14998
15289
  for (let r = 0; r < repeat; r++) {
14999
15290
  container.push(step === NodeNavigationStep.FirstChild ? 'firstChild' : 'nextSibling');
15000
15291
  }
@@ -15007,10 +15298,9 @@ function stringifyNavigationInstructions(instructions) {
15007
15298
  */
15008
15299
  function navigateToNode(from, instructions) {
15009
15300
  let node = from;
15010
- let i = 0;
15011
- while (i < instructions.length) {
15012
- const step = instructions[i++];
15013
- const repeat = instructions[i++];
15301
+ for (let i = 0; i < instructions.length; i += 2) {
15302
+ const step = instructions[i];
15303
+ const repeat = instructions[i + 1];
15014
15304
  for (let r = 0; r < repeat; r++) {
15015
15305
  if (ngDevMode && !node) {
15016
15306
  throw nodeNotFoundAtPathError(from, stringifyNavigationInstructions(instructions));
@@ -15531,7 +15821,7 @@ function locateOrCreateElementNodeImpl(tView, lView, tNode, renderer, name, inde
15531
15821
  enterSkipHydrationBlock(tNode);
15532
15822
  // Since this isn't hydratable, we need to empty the node
15533
15823
  // so there's no duplicate content after render
15534
- clearElementContents(renderer, native);
15824
+ clearElementContents(native);
15535
15825
  }
15536
15826
  else if (ngDevMode) {
15537
15827
  // If this is not a component host, throw an error.
@@ -17977,8 +18267,11 @@ function isStylingValuePresent(value) {
17977
18267
  * @param suffix
17978
18268
  */
17979
18269
  function normalizeSuffix(value, suffix) {
17980
- if (value == null /** || value === undefined */) {
18270
+ if (value == null || value === '') {
17981
18271
  // do nothing
18272
+ // Do not add the suffix if the value is going to be empty.
18273
+ // As it produce invalid CSS, which the browsers will automatically omit but Domino will not.
18274
+ // Example: `"left": "px;"` instead of `"left": ""`.
17982
18275
  }
17983
18276
  else if (typeof suffix === 'string') {
17984
18277
  value = value + suffix;
@@ -21845,13 +22138,13 @@ class StandaloneService {
21845
22138
  this.cachedInjectors.clear();
21846
22139
  }
21847
22140
  }
22141
+ /** @nocollapse */
22142
+ static { this.ɵprov = ɵɵdefineInjectable({
22143
+ token: StandaloneService,
22144
+ providedIn: 'environment',
22145
+ factory: () => new StandaloneService(ɵɵinject(EnvironmentInjector)),
22146
+ }); }
21848
22147
  }
21849
- /** @nocollapse */
21850
- StandaloneService.ɵprov = ɵɵdefineInjectable({
21851
- token: StandaloneService,
21852
- providedIn: 'environment',
21853
- factory: () => new StandaloneService(ɵɵinject(EnvironmentInjector)),
21854
- });
21855
22148
  /**
21856
22149
  * A feature that acts as a setup code for the {@link StandaloneService}.
21857
22150
  *
@@ -22893,6 +23186,7 @@ function symbolIterator() {
22893
23186
  * @publicApi
22894
23187
  */
22895
23188
  class QueryList {
23189
+ static { Symbol.iterator; }
22896
23190
  /**
22897
23191
  * Returns `Observable` of `QueryList` notifying the subscriber of changes.
22898
23192
  */
@@ -23020,7 +23314,6 @@ class QueryList {
23020
23314
  this.changes.unsubscribe();
23021
23315
  }
23022
23316
  }
23023
- Symbol.iterator;
23024
23317
 
23025
23318
  /**
23026
23319
  * Represents an embedded template that can be used to instantiate embedded views.
@@ -23041,12 +23334,12 @@ Symbol.iterator;
23041
23334
  * @publicApi
23042
23335
  */
23043
23336
  class TemplateRef {
23337
+ /**
23338
+ * @internal
23339
+ * @nocollapse
23340
+ */
23341
+ static { this.__NG_ELEMENT_ID__ = injectTemplateRef; }
23044
23342
  }
23045
- /**
23046
- * @internal
23047
- * @nocollapse
23048
- */
23049
- TemplateRef.__NG_ELEMENT_ID__ = injectTemplateRef;
23050
23343
  const ViewEngineTemplateRef = TemplateRef;
23051
23344
  // TODO(alxhub): combine interface and implementation. Currently this is challenging since something
23052
23345
  // in g3 depends on them being separate.
@@ -23176,11 +23469,13 @@ function cleanupLView(lView) {
23176
23469
  * Walks over all views registered within the ApplicationRef and removes
23177
23470
  * all dehydrated views from all `LContainer`s along the way.
23178
23471
  */
23179
- function cleanupDehydratedViews(appRef) {
23472
+ function cleanupDehydratedViews(appRef, pendingTasks) {
23180
23473
  // Wait once an app becomes stable and cleanup all views that
23181
23474
  // were not claimed during the application bootstrap process.
23182
23475
  // The timing is similar to when we kick off serialization on the server.
23183
- return appRef.isStable.pipe(first((isStable) => isStable)).toPromise().then(() => {
23476
+ const isStablePromise = appRef.isStable.pipe(first((isStable) => isStable)).toPromise();
23477
+ const pendingTasksPromise = pendingTasks.whenAllTasksComplete;
23478
+ return Promise.allSettled([isStablePromise, pendingTasksPromise]).then(() => {
23184
23479
  const viewRefs = appRef._views;
23185
23480
  for (const viewRef of viewRefs) {
23186
23481
  const lView = getComponentLViewForHydration(viewRef);
@@ -23283,12 +23578,12 @@ function findMatchingDehydratedView(lContainer, template) {
23283
23578
  * @publicApi
23284
23579
  */
23285
23580
  class ViewContainerRef {
23581
+ /**
23582
+ * @internal
23583
+ * @nocollapse
23584
+ */
23585
+ static { this.__NG_ELEMENT_ID__ = injectViewContainerRef; }
23286
23586
  }
23287
- /**
23288
- * @internal
23289
- * @nocollapse
23290
- */
23291
- ViewContainerRef.__NG_ELEMENT_ID__ = injectViewContainerRef;
23292
23587
  /**
23293
23588
  * Creates a ViewContainerRef and stores it on the injector. Or, if the ViewContainerRef
23294
23589
  * already exists, retrieves the existing ViewContainerRef.
@@ -24454,7 +24749,6 @@ function verifySemanticsOfNgModuleDef(moduleType, allowDuplicateDeclarationsInRo
24454
24749
  ];
24455
24750
  exports.forEach(verifyExportsAreDeclaredOrReExported);
24456
24751
  declarations.forEach(decl => verifyDeclarationIsUnique(decl, allowDuplicateDeclarationsInRoot));
24457
- declarations.forEach(verifyComponentEntryComponentsIsPartOfNgModule);
24458
24752
  const ngModule = getAnnotation(moduleType, 'NgModule');
24459
24753
  if (ngModule) {
24460
24754
  ngModule.imports &&
@@ -24464,8 +24758,6 @@ function verifySemanticsOfNgModuleDef(moduleType, allowDuplicateDeclarationsInRo
24464
24758
  });
24465
24759
  ngModule.bootstrap && deepForEach(ngModule.bootstrap, verifyCorrectBootstrapType);
24466
24760
  ngModule.bootstrap && deepForEach(ngModule.bootstrap, verifyComponentIsPartOfNgModule);
24467
- ngModule.entryComponents &&
24468
- deepForEach(ngModule.entryComponents, verifyComponentIsPartOfNgModule);
24469
24761
  }
24470
24762
  // Throw Error if any errors were detected.
24471
24763
  if (errors.length) {
@@ -24543,16 +24835,6 @@ function verifySemanticsOfNgModuleDef(moduleType, allowDuplicateDeclarationsInRo
24543
24835
  `function for bootstrap instead.`);
24544
24836
  }
24545
24837
  }
24546
- function verifyComponentEntryComponentsIsPartOfNgModule(type) {
24547
- type = resolveForwardRef(type);
24548
- if (getComponentDef$1(type)) {
24549
- // We know we are component
24550
- const component = getAnnotation(type, 'Component');
24551
- if (component && component.entryComponents) {
24552
- deepForEach(component.entryComponents, verifyComponentIsPartOfNgModule);
24553
- }
24554
- }
24555
- }
24556
24838
  function verifySemanticsOfNgModuleImport(type, importingModule) {
24557
24839
  type = resolveForwardRef(type);
24558
24840
  const directiveDef = getComponentDef$1(type) || getDirectiveDef(type);
@@ -25852,6 +26134,7 @@ class TestBedImpl {
25852
26134
  */
25853
26135
  this.globalCompilationChecked = false;
25854
26136
  }
26137
+ static { this._INSTANCE = null; }
25855
26138
  static get INSTANCE() {
25856
26139
  return TestBedImpl._INSTANCE = TestBedImpl._INSTANCE || new TestBedImpl();
25857
26140
  }
@@ -26261,7 +26544,6 @@ class TestBedImpl {
26261
26544
  }
26262
26545
  }
26263
26546
  }
26264
- TestBedImpl._INSTANCE = null;
26265
26547
  /**
26266
26548
  * @description
26267
26549
  * Configures and initializes environment for unit testing and provides methods for