@angular/core 7.2.0-rc.0 → 7.2.3

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 (434) hide show
  1. package/bundles/core-testing.umd.js +193 -131
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core-testing.umd.min.js +11 -11
  4. package/bundles/core-testing.umd.min.js.map +1 -1
  5. package/bundles/core.umd.js +1777 -1329
  6. package/bundles/core.umd.js.map +1 -1
  7. package/bundles/core.umd.min.js +111 -125
  8. package/bundles/core.umd.min.js.map +1 -1
  9. package/core.metadata.json +1 -1
  10. package/esm2015/core.js +1 -1
  11. package/esm2015/index.js +2 -2
  12. package/esm2015/public_api.js +2 -2
  13. package/esm2015/src/application_init.js +1 -1
  14. package/esm2015/src/application_module.js +1 -1
  15. package/esm2015/src/application_ref.js +1 -1
  16. package/esm2015/src/application_tokens.js +1 -1
  17. package/esm2015/src/change_detection/change_detection.js +1 -1
  18. package/esm2015/src/change_detection/change_detection_util.js +1 -1
  19. package/esm2015/src/change_detection/change_detector_ref.js +1 -1
  20. package/esm2015/src/change_detection/constants.js +3 -3
  21. package/esm2015/src/change_detection/differs/default_iterable_differ.js +1 -1
  22. package/esm2015/src/change_detection/differs/default_keyvalue_differ.js +1 -1
  23. package/esm2015/src/change_detection/differs/iterable_differs.js +1 -1
  24. package/esm2015/src/change_detection/differs/keyvalue_differs.js +1 -1
  25. package/esm2015/src/change_detection/pipe_transform.js +1 -1
  26. package/esm2015/src/change_detection.js +1 -1
  27. package/esm2015/src/codegen_private_exports.js +1 -1
  28. package/esm2015/src/console.js +1 -1
  29. package/esm2015/src/core.js +2 -2
  30. package/esm2015/src/core_private_export.js +1 -1
  31. package/esm2015/src/core_render3_private_export.js +2 -2
  32. package/esm2015/src/debug/debug_node.js +6 -6
  33. package/esm2015/src/di/defs.js +1 -1
  34. package/esm2015/src/di/forward_ref.js +1 -1
  35. package/esm2015/src/di/injectable.js +1 -1
  36. package/esm2015/src/di/injection_token.js +2 -2
  37. package/esm2015/src/di/injector.js +1 -1
  38. package/esm2015/src/di/injector_compatibility.js +1 -1
  39. package/esm2015/src/di/metadata.js +1 -1
  40. package/esm2015/src/di/provider.js +1 -1
  41. package/esm2015/src/di/r3_injector.js +1 -1
  42. package/esm2015/src/di/reflective_errors.js +1 -1
  43. package/esm2015/src/di/reflective_injector.js +1 -1
  44. package/esm2015/src/di/reflective_key.js +1 -1
  45. package/esm2015/src/di/reflective_provider.js +1 -1
  46. package/esm2015/src/di/scope.js +1 -1
  47. package/esm2015/src/di/util.js +1 -1
  48. package/esm2015/src/di.js +1 -1
  49. package/esm2015/src/error_handler.js +1 -1
  50. package/esm2015/src/errors.js +1 -1
  51. package/esm2015/src/event_emitter.js +1 -1
  52. package/esm2015/src/i18n/tokens.js +1 -1
  53. package/esm2015/src/is_dev_mode.js +1 -1
  54. package/esm2015/src/ivy_switch.js +1 -1
  55. package/esm2015/src/linker/compiler.js +1 -1
  56. package/esm2015/src/linker/component_factory.js +1 -1
  57. package/esm2015/src/linker/component_factory_resolver.js +1 -1
  58. package/esm2015/src/linker/element_ref.js +1 -1
  59. package/esm2015/src/linker/ng_module_factory.js +1 -1
  60. package/esm2015/src/linker/ng_module_factory_loader.js +1 -1
  61. package/esm2015/src/linker/query_list.js +1 -1
  62. package/esm2015/src/linker/system_js_ng_module_factory_loader.js +1 -1
  63. package/esm2015/src/linker/template_ref.js +6 -4
  64. package/esm2015/src/linker/view_container_ref.js +1 -1
  65. package/esm2015/src/linker/view_ref.js +1 -1
  66. package/esm2015/src/linker.js +1 -1
  67. package/esm2015/src/metadata/di.js +1 -1
  68. package/esm2015/src/metadata/directives.js +1 -1
  69. package/esm2015/src/metadata/lifecycle_hooks.js +1 -1
  70. package/esm2015/src/metadata/ng_module.js +1 -1
  71. package/esm2015/src/metadata/resource_loading.js +1 -1
  72. package/esm2015/src/metadata/view.js +1 -1
  73. package/esm2015/src/metadata.js +1 -1
  74. package/esm2015/src/platform_core_providers.js +1 -1
  75. package/esm2015/src/profile/profile.js +1 -1
  76. package/esm2015/src/profile/wtf_impl.js +1 -1
  77. package/esm2015/src/r3_symbols.js +1 -1
  78. package/esm2015/src/reflection/platform_reflection_capabilities.js +1 -1
  79. package/esm2015/src/reflection/reflection.js +1 -1
  80. package/esm2015/src/reflection/reflection_capabilities.js +1 -1
  81. package/esm2015/src/reflection/reflector.js +1 -1
  82. package/esm2015/src/reflection/types.js +1 -1
  83. package/esm2015/src/render/api.js +1 -1
  84. package/esm2015/src/render.js +1 -1
  85. package/esm2015/src/render3/assert.js +1 -1
  86. package/esm2015/src/render3/bindings.js +3 -3
  87. package/esm2015/src/render3/component.js +8 -6
  88. package/esm2015/src/render3/component_ref.js +5 -5
  89. package/esm2015/src/render3/context_discovery.js +2 -2
  90. package/esm2015/src/render3/definition.js +3 -10
  91. package/esm2015/src/render3/di.js +107 -93
  92. package/esm2015/src/render3/di_setup.js +1 -1
  93. package/esm2015/src/render3/discovery_utils.js +5 -5
  94. package/esm2015/src/render3/empty.js +28 -0
  95. package/esm2015/src/render3/errors.js +1 -1
  96. package/esm2015/src/render3/features/inherit_definition_feature.js +3 -3
  97. package/esm2015/src/render3/features/ng_onchanges_feature.js +1 -1
  98. package/esm2015/src/render3/features/providers_feature.js +1 -1
  99. package/esm2015/src/render3/fields.js +1 -1
  100. package/esm2015/src/render3/global_utils.js +1 -1
  101. package/esm2015/src/render3/global_utils_api.js +1 -1
  102. package/esm2015/src/render3/hooks.js +14 -12
  103. package/esm2015/src/render3/i18n.js +3 -3
  104. package/esm2015/src/render3/index.js +2 -2
  105. package/esm2015/src/render3/instructions.js +319 -370
  106. package/esm2015/src/render3/interfaces/container.js +10 -1
  107. package/esm2015/src/render3/interfaces/context.js +1 -1
  108. package/esm2015/src/render3/interfaces/definition.js +1 -6
  109. package/esm2015/src/render3/interfaces/i18n.js +1 -1
  110. package/esm2015/src/render3/interfaces/injector.js +1 -2
  111. package/esm2015/src/render3/interfaces/node.js +37 -2
  112. package/esm2015/src/render3/interfaces/player.js +1 -1
  113. package/esm2015/src/render3/interfaces/projection.js +1 -1
  114. package/esm2015/src/render3/interfaces/query.js +1 -1
  115. package/esm2015/src/render3/interfaces/renderer.js +1 -1
  116. package/esm2015/src/render3/interfaces/sanitization.js +1 -1
  117. package/esm2015/src/render3/interfaces/styling.js +304 -113
  118. package/esm2015/src/render3/interfaces/view.js +15 -7
  119. package/esm2015/src/render3/jit/compiler_facade.js +1 -1
  120. package/esm2015/src/render3/jit/compiler_facade_interface.js +3 -1
  121. package/esm2015/src/render3/jit/directive.js +6 -7
  122. package/esm2015/src/render3/jit/environment.js +3 -1
  123. package/esm2015/src/render3/jit/injectable.js +1 -1
  124. package/esm2015/src/render3/jit/module.js +11 -9
  125. package/esm2015/src/render3/jit/pipe.js +1 -1
  126. package/esm2015/src/render3/jit/util.js +1 -1
  127. package/esm2015/src/render3/metadata.js +1 -1
  128. package/esm2015/src/render3/ng_dev_mode.js +1 -1
  129. package/esm2015/src/render3/ng_module_ref.js +1 -1
  130. package/esm2015/src/render3/node_assert.js +1 -1
  131. package/esm2015/src/render3/node_manipulation.js +5 -22
  132. package/esm2015/src/render3/node_selector_matcher.js +3 -3
  133. package/esm2015/src/render3/pipe.js +2 -2
  134. package/esm2015/src/render3/players.js +1 -1
  135. package/esm2015/src/render3/pure_function.js +3 -3
  136. package/esm2015/src/render3/query.js +3 -3
  137. package/esm2015/src/render3/state.js +14 -20
  138. package/esm2015/src/render3/styling/class_and_style_bindings.js +893 -213
  139. package/esm2015/src/render3/styling/core_player_handler.js +1 -1
  140. package/esm2015/src/render3/styling/player_factory.js +1 -1
  141. package/esm2015/src/render3/styling/util.js +37 -14
  142. package/esm2015/src/render3/tokens.js +1 -1
  143. package/esm2015/src/render3/util.js +21 -5
  144. package/esm2015/src/render3/view_engine_compatibility.js +5 -6
  145. package/esm2015/src/render3/view_engine_compatibility_prebound.js +1 -1
  146. package/esm2015/src/render3/view_ref.js +6 -16
  147. package/esm2015/src/sanitization/bypass.js +1 -1
  148. package/esm2015/src/sanitization/html_sanitizer.js +2 -2
  149. package/esm2015/src/sanitization/inert_body.js +4 -4
  150. package/esm2015/src/sanitization/sanitization.js +1 -1
  151. package/esm2015/src/sanitization/security.js +1 -1
  152. package/esm2015/src/sanitization/style_sanitizer.js +1 -1
  153. package/esm2015/src/sanitization/url_sanitizer.js +1 -1
  154. package/esm2015/src/testability/testability.js +1 -1
  155. package/esm2015/src/type.js +1 -1
  156. package/esm2015/src/util/decorators.js +1 -1
  157. package/esm2015/src/util/lang.js +1 -1
  158. package/esm2015/src/util/ng_reflect.js +1 -1
  159. package/esm2015/src/util/noop.js +1 -1
  160. package/esm2015/src/util/property.js +1 -1
  161. package/esm2015/src/util.js +1 -1
  162. package/esm2015/src/version.js +2 -2
  163. package/esm2015/src/view/element.js +1 -1
  164. package/esm2015/src/view/entrypoint.js +1 -1
  165. package/esm2015/src/view/errors.js +1 -1
  166. package/esm2015/src/view/index.js +1 -1
  167. package/esm2015/src/view/ng_content.js +1 -1
  168. package/esm2015/src/view/ng_module.js +1 -1
  169. package/esm2015/src/view/provider.js +1 -1
  170. package/esm2015/src/view/pure_expression.js +1 -1
  171. package/esm2015/src/view/query.js +1 -1
  172. package/esm2015/src/view/refs.js +1 -1
  173. package/esm2015/src/view/services.js +1 -1
  174. package/esm2015/src/view/text.js +1 -1
  175. package/esm2015/src/view/types.js +1 -1
  176. package/esm2015/src/view/util.js +1 -1
  177. package/esm2015/src/view/view.js +1 -1
  178. package/esm2015/src/view/view_attach.js +1 -1
  179. package/esm2015/src/zone/ng_zone.js +1 -1
  180. package/esm2015/src/zone.js +1 -1
  181. package/esm2015/testing/index.js +1 -1
  182. package/esm2015/testing/public_api.js +1 -1
  183. package/esm2015/testing/src/async.js +1 -1
  184. package/esm2015/testing/src/async_fallback.js +1 -1
  185. package/esm2015/testing/src/async_test_completer.js +1 -1
  186. package/esm2015/testing/src/before_each.js +1 -1
  187. package/esm2015/testing/src/component_fixture.js +1 -1
  188. package/esm2015/testing/src/fake_async.js +1 -1
  189. package/esm2015/testing/src/fake_async_fallback.js +1 -1
  190. package/esm2015/testing/src/lang_utils.js +1 -1
  191. package/esm2015/testing/src/logger.js +1 -1
  192. package/esm2015/testing/src/metadata_override.js +1 -1
  193. package/esm2015/testing/src/metadata_overrider.js +1 -1
  194. package/esm2015/testing/src/ng_zone_mock.js +1 -1
  195. package/esm2015/testing/src/private_export_testing.js +1 -1
  196. package/esm2015/testing/src/r3_test_bed.js +234 -152
  197. package/esm2015/testing/src/resolvers.js +12 -5
  198. package/esm2015/testing/src/test_bed.js +1 -1
  199. package/esm2015/testing/src/test_bed_common.js +1 -1
  200. package/esm2015/testing/src/test_compiler.js +1 -1
  201. package/esm2015/testing/src/testing.js +1 -1
  202. package/esm2015/testing/src/testing_internal.js +2 -2
  203. package/esm2015/testing/testing.js +1 -1
  204. package/esm5/core.js +1 -1
  205. package/esm5/index.js +1 -1
  206. package/esm5/public_api.js +1 -1
  207. package/esm5/src/application_init.js +1 -1
  208. package/esm5/src/application_module.js +1 -1
  209. package/esm5/src/application_ref.js +1 -1
  210. package/esm5/src/application_tokens.js +1 -1
  211. package/esm5/src/change_detection/change_detection.js +1 -1
  212. package/esm5/src/change_detection/change_detection_util.js +1 -1
  213. package/esm5/src/change_detection/change_detector_ref.js +1 -1
  214. package/esm5/src/change_detection/constants.js +3 -3
  215. package/esm5/src/change_detection/differs/default_iterable_differ.js +1 -1
  216. package/esm5/src/change_detection/differs/default_keyvalue_differ.js +1 -1
  217. package/esm5/src/change_detection/differs/iterable_differs.js +1 -1
  218. package/esm5/src/change_detection/differs/keyvalue_differs.js +1 -1
  219. package/esm5/src/change_detection/pipe_transform.js +1 -1
  220. package/esm5/src/change_detection.js +1 -1
  221. package/esm5/src/codegen_private_exports.js +1 -1
  222. package/esm5/src/console.js +1 -1
  223. package/esm5/src/core.js +1 -1
  224. package/esm5/src/core_private_export.js +1 -1
  225. package/esm5/src/core_render3_private_export.js +2 -2
  226. package/esm5/src/debug/debug_node.js +6 -6
  227. package/esm5/src/di/defs.js +1 -1
  228. package/esm5/src/di/forward_ref.js +1 -1
  229. package/esm5/src/di/injectable.js +1 -1
  230. package/esm5/src/di/injection_token.js +2 -2
  231. package/esm5/src/di/injector.js +1 -1
  232. package/esm5/src/di/injector_compatibility.js +1 -1
  233. package/esm5/src/di/metadata.js +1 -1
  234. package/esm5/src/di/provider.js +1 -1
  235. package/esm5/src/di/r3_injector.js +1 -1
  236. package/esm5/src/di/reflective_errors.js +1 -1
  237. package/esm5/src/di/reflective_injector.js +1 -1
  238. package/esm5/src/di/reflective_key.js +1 -1
  239. package/esm5/src/di/reflective_provider.js +1 -1
  240. package/esm5/src/di/scope.js +1 -1
  241. package/esm5/src/di/util.js +1 -1
  242. package/esm5/src/di.js +1 -1
  243. package/esm5/src/error_handler.js +1 -1
  244. package/esm5/src/errors.js +1 -1
  245. package/esm5/src/event_emitter.js +1 -1
  246. package/esm5/src/i18n/tokens.js +1 -1
  247. package/esm5/src/is_dev_mode.js +1 -1
  248. package/esm5/src/ivy_switch.js +1 -1
  249. package/esm5/src/linker/compiler.js +1 -1
  250. package/esm5/src/linker/component_factory.js +1 -1
  251. package/esm5/src/linker/component_factory_resolver.js +1 -1
  252. package/esm5/src/linker/element_ref.js +1 -1
  253. package/esm5/src/linker/ng_module_factory.js +1 -1
  254. package/esm5/src/linker/ng_module_factory_loader.js +1 -1
  255. package/esm5/src/linker/query_list.js +1 -1
  256. package/esm5/src/linker/system_js_ng_module_factory_loader.js +1 -1
  257. package/esm5/src/linker/template_ref.js +1 -1
  258. package/esm5/src/linker/view_container_ref.js +1 -1
  259. package/esm5/src/linker/view_ref.js +1 -1
  260. package/esm5/src/linker.js +1 -1
  261. package/esm5/src/metadata/di.js +1 -1
  262. package/esm5/src/metadata/directives.js +1 -1
  263. package/esm5/src/metadata/lifecycle_hooks.js +1 -1
  264. package/esm5/src/metadata/ng_module.js +1 -1
  265. package/esm5/src/metadata/resource_loading.js +1 -1
  266. package/esm5/src/metadata/view.js +1 -1
  267. package/esm5/src/metadata.js +1 -1
  268. package/esm5/src/platform_core_providers.js +1 -1
  269. package/esm5/src/profile/profile.js +1 -1
  270. package/esm5/src/profile/wtf_impl.js +1 -1
  271. package/esm5/src/r3_symbols.js +1 -1
  272. package/esm5/src/reflection/platform_reflection_capabilities.js +1 -1
  273. package/esm5/src/reflection/reflection.js +1 -1
  274. package/esm5/src/reflection/reflection_capabilities.js +1 -1
  275. package/esm5/src/reflection/reflector.js +1 -1
  276. package/esm5/src/reflection/types.js +1 -1
  277. package/esm5/src/render/api.js +1 -1
  278. package/esm5/src/render.js +1 -1
  279. package/esm5/src/render3/assert.js +1 -1
  280. package/esm5/src/render3/bindings.js +3 -3
  281. package/esm5/src/render3/component.js +8 -6
  282. package/esm5/src/render3/component_ref.js +5 -5
  283. package/esm5/src/render3/context_discovery.js +2 -2
  284. package/esm5/src/render3/definition.js +3 -8
  285. package/esm5/src/render3/di.js +94 -84
  286. package/esm5/src/render3/di_setup.js +1 -1
  287. package/esm5/src/render3/discovery_utils.js +5 -5
  288. package/esm5/src/render3/empty.js +22 -0
  289. package/esm5/src/render3/errors.js +1 -1
  290. package/esm5/src/render3/features/inherit_definition_feature.js +3 -3
  291. package/esm5/src/render3/features/ng_onchanges_feature.js +1 -1
  292. package/esm5/src/render3/features/providers_feature.js +1 -1
  293. package/esm5/src/render3/fields.js +1 -1
  294. package/esm5/src/render3/global_utils.js +1 -1
  295. package/esm5/src/render3/global_utils_api.js +1 -1
  296. package/esm5/src/render3/hooks.js +11 -9
  297. package/esm5/src/render3/i18n.js +3 -3
  298. package/esm5/src/render3/index.js +2 -2
  299. package/esm5/src/render3/instructions.js +282 -282
  300. package/esm5/src/render3/interfaces/container.js +9 -1
  301. package/esm5/src/render3/interfaces/context.js +1 -1
  302. package/esm5/src/render3/interfaces/definition.js +1 -1
  303. package/esm5/src/render3/interfaces/i18n.js +1 -1
  304. package/esm5/src/render3/interfaces/injector.js +1 -1
  305. package/esm5/src/render3/interfaces/node.js +1 -1
  306. package/esm5/src/render3/interfaces/player.js +1 -1
  307. package/esm5/src/render3/interfaces/projection.js +1 -1
  308. package/esm5/src/render3/interfaces/query.js +1 -1
  309. package/esm5/src/render3/interfaces/renderer.js +1 -1
  310. package/esm5/src/render3/interfaces/sanitization.js +1 -1
  311. package/esm5/src/render3/interfaces/styling.js +1 -1
  312. package/esm5/src/render3/interfaces/view.js +1 -1
  313. package/esm5/src/render3/jit/compiler_facade.js +1 -1
  314. package/esm5/src/render3/jit/compiler_facade_interface.js +1 -1
  315. package/esm5/src/render3/jit/directive.js +6 -6
  316. package/esm5/src/render3/jit/environment.js +3 -1
  317. package/esm5/src/render3/jit/injectable.js +1 -1
  318. package/esm5/src/render3/jit/module.js +10 -8
  319. package/esm5/src/render3/jit/pipe.js +1 -1
  320. package/esm5/src/render3/jit/util.js +1 -1
  321. package/esm5/src/render3/metadata.js +1 -1
  322. package/esm5/src/render3/ng_dev_mode.js +1 -1
  323. package/esm5/src/render3/ng_module_ref.js +1 -1
  324. package/esm5/src/render3/node_assert.js +1 -1
  325. package/esm5/src/render3/node_manipulation.js +5 -21
  326. package/esm5/src/render3/node_selector_matcher.js +3 -3
  327. package/esm5/src/render3/pipe.js +2 -2
  328. package/esm5/src/render3/players.js +1 -1
  329. package/esm5/src/render3/pure_function.js +3 -3
  330. package/esm5/src/render3/query.js +3 -3
  331. package/esm5/src/render3/state.js +14 -19
  332. package/esm5/src/render3/styling/class_and_style_bindings.js +681 -210
  333. package/esm5/src/render3/styling/core_player_handler.js +1 -1
  334. package/esm5/src/render3/styling/player_factory.js +1 -1
  335. package/esm5/src/render3/styling/util.js +26 -13
  336. package/esm5/src/render3/tokens.js +1 -1
  337. package/esm5/src/render3/util.js +20 -5
  338. package/esm5/src/render3/view_engine_compatibility.js +5 -6
  339. package/esm5/src/render3/view_engine_compatibility_prebound.js +1 -1
  340. package/esm5/src/render3/view_ref.js +6 -15
  341. package/esm5/src/sanitization/bypass.js +1 -1
  342. package/esm5/src/sanitization/html_sanitizer.js +2 -2
  343. package/esm5/src/sanitization/inert_body.js +4 -4
  344. package/esm5/src/sanitization/sanitization.js +1 -1
  345. package/esm5/src/sanitization/security.js +1 -1
  346. package/esm5/src/sanitization/style_sanitizer.js +1 -1
  347. package/esm5/src/sanitization/url_sanitizer.js +1 -1
  348. package/esm5/src/testability/testability.js +1 -1
  349. package/esm5/src/type.js +1 -1
  350. package/esm5/src/util/decorators.js +1 -1
  351. package/esm5/src/util/lang.js +1 -1
  352. package/esm5/src/util/ng_reflect.js +1 -1
  353. package/esm5/src/util/noop.js +1 -1
  354. package/esm5/src/util/property.js +1 -1
  355. package/esm5/src/util.js +1 -1
  356. package/esm5/src/version.js +2 -2
  357. package/esm5/src/view/element.js +1 -1
  358. package/esm5/src/view/entrypoint.js +1 -1
  359. package/esm5/src/view/errors.js +1 -1
  360. package/esm5/src/view/index.js +1 -1
  361. package/esm5/src/view/ng_content.js +1 -1
  362. package/esm5/src/view/ng_module.js +1 -1
  363. package/esm5/src/view/provider.js +1 -1
  364. package/esm5/src/view/pure_expression.js +1 -1
  365. package/esm5/src/view/query.js +1 -1
  366. package/esm5/src/view/refs.js +1 -1
  367. package/esm5/src/view/services.js +1 -1
  368. package/esm5/src/view/text.js +1 -1
  369. package/esm5/src/view/types.js +1 -1
  370. package/esm5/src/view/util.js +1 -1
  371. package/esm5/src/view/view.js +1 -1
  372. package/esm5/src/view/view_attach.js +1 -1
  373. package/esm5/src/zone/ng_zone.js +1 -1
  374. package/esm5/src/zone.js +1 -1
  375. package/esm5/testing/index.js +1 -1
  376. package/esm5/testing/public_api.js +1 -1
  377. package/esm5/testing/src/async.js +1 -1
  378. package/esm5/testing/src/async_fallback.js +1 -1
  379. package/esm5/testing/src/async_test_completer.js +1 -1
  380. package/esm5/testing/src/before_each.js +1 -1
  381. package/esm5/testing/src/component_fixture.js +1 -1
  382. package/esm5/testing/src/fake_async.js +1 -1
  383. package/esm5/testing/src/fake_async_fallback.js +1 -1
  384. package/esm5/testing/src/lang_utils.js +1 -1
  385. package/esm5/testing/src/logger.js +1 -1
  386. package/esm5/testing/src/metadata_override.js +1 -1
  387. package/esm5/testing/src/metadata_overrider.js +1 -1
  388. package/esm5/testing/src/ng_zone_mock.js +1 -1
  389. package/esm5/testing/src/private_export_testing.js +1 -1
  390. package/esm5/testing/src/r3_test_bed.js +174 -127
  391. package/esm5/testing/src/resolvers.js +11 -6
  392. package/esm5/testing/src/test_bed.js +1 -1
  393. package/esm5/testing/src/test_bed_common.js +1 -1
  394. package/esm5/testing/src/test_compiler.js +1 -1
  395. package/esm5/testing/src/testing.js +1 -1
  396. package/esm5/testing/src/testing_internal.js +2 -2
  397. package/esm5/testing/testing.js +1 -1
  398. package/fesm2015/core.js +2306 -1733
  399. package/fesm2015/core.js.map +1 -1
  400. package/fesm2015/testing.js +223 -150
  401. package/fesm2015/testing.js.map +1 -1
  402. package/fesm5/core.js +1781 -1335
  403. package/fesm5/core.js.map +1 -1
  404. package/fesm5/testing.js +181 -130
  405. package/fesm5/testing.js.map +1 -1
  406. package/package.json +1 -1
  407. package/src/change_detection/constants.d.ts +2 -2
  408. package/src/core_render3_private_export.d.ts +1 -1
  409. package/src/di/injection_token.d.ts +1 -1
  410. package/src/event_emitter.d.ts +2 -2
  411. package/src/linker/template_ref.d.ts +5 -3
  412. package/src/metadata/di.d.ts +1 -3
  413. package/src/metadata/directives.d.ts +3 -3
  414. package/src/render3/definition.d.ts +2 -4
  415. package/src/render3/di.d.ts +4 -3
  416. package/src/render3/empty.d.ts +16 -0
  417. package/src/render3/hooks.d.ts +3 -3
  418. package/src/render3/index.d.ts +1 -1
  419. package/src/render3/instructions.d.ts +117 -72
  420. package/src/render3/interfaces/container.d.ts +1 -0
  421. package/src/render3/interfaces/definition.d.ts +0 -3
  422. package/src/render3/interfaces/injector.d.ts +0 -1
  423. package/src/render3/interfaces/node.d.ts +37 -2
  424. package/src/render3/interfaces/styling.d.ts +392 -117
  425. package/src/render3/interfaces/view.d.ts +14 -6
  426. package/src/render3/jit/compiler_facade_interface.d.ts +2 -0
  427. package/src/render3/node_manipulation.d.ts +0 -7
  428. package/src/render3/state.d.ts +3 -4
  429. package/src/render3/styling/class_and_style_bindings.d.ts +114 -43
  430. package/src/render3/styling/util.d.ts +5 -2
  431. package/src/render3/util.d.ts +7 -0
  432. package/testing/src/r3_test_bed.d.ts +15 -0
  433. package/testing/testing.metadata.json +1 -1
  434. package/testing.d.ts +2 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "7.2.0-rc.0",
3
+ "version": "7.2.3",
4
4
  "description": "Angular - the core framework",
5
5
  "main": "./bundles/core.umd.js",
6
6
  "module": "./fesm5/core.js",
@@ -15,7 +15,7 @@ export declare enum ChangeDetectionStrategy {
15
15
  /**
16
16
  * Use the `CheckOnce` strategy, meaning that automatic change detection is deactivated
17
17
  * until reactivated by setting the strategy to `Default` (`CheckAlways`).
18
- * Change detection can still be explictly invoked.
18
+ * Change detection can still be explicitly invoked.
19
19
  */
20
20
  OnPush = 0,
21
21
  /**
@@ -40,7 +40,7 @@ export declare enum ChangeDetectorStatus {
40
40
  */
41
41
  Checked = 1,
42
42
  /**
43
- * A state in which change detection continues automatically until explictly
43
+ * A state in which change detection continues automatically until explicitly
44
44
  * deactivated.
45
45
  */
46
46
  CheckAlways = 2,
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- export { defineBase as ɵdefineBase, defineComponent as ɵdefineComponent, defineDirective as ɵdefineDirective, definePipe as ɵdefinePipe, defineNgModule as ɵdefineNgModule, detectChanges as ɵdetectChanges, renderComponent as ɵrenderComponent, AttributeMarker as ɵAttributeMarker, ComponentType as ɵComponentType, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, DirectiveType as ɵDirectiveType, RenderFlags as ɵRenderFlags, directiveInject as ɵdirectiveInject, injectAttribute as ɵinjectAttribute, getFactoryOf as ɵgetFactoryOf, getInheritedFactory as ɵgetInheritedFactory, templateRefExtractor as ɵtemplateRefExtractor, ProvidersFeature as ɵProvidersFeature, InheritDefinitionFeature as ɵInheritDefinitionFeature, NgOnChangesFeature as ɵNgOnChangesFeature, LifecycleHooksFeature as ɵLifecycleHooksFeature, NgModuleType as ɵNgModuleType, NgModuleRef as ɵRender3NgModuleRef, CssSelectorList as ɵCssSelectorList, markDirty as ɵmarkDirty, NgModuleFactory as ɵNgModuleFactory, NO_CHANGE as ɵNO_CHANGE, container as ɵcontainer, nextContext as ɵnextContext, elementStart as ɵelementStart, namespaceHTML as ɵnamespaceHTML, namespaceMathML as ɵnamespaceMathML, namespaceSVG as ɵnamespaceSVG, element as ɵelement, listener as ɵlistener, text as ɵtext, embeddedViewStart as ɵembeddedViewStart, query as ɵquery, registerContentQuery as ɵregisterContentQuery, projection as ɵprojection, bind as ɵbind, interpolation1 as ɵinterpolation1, interpolation2 as ɵinterpolation2, interpolation3 as ɵinterpolation3, interpolation4 as ɵinterpolation4, interpolation5 as ɵinterpolation5, interpolation6 as ɵinterpolation6, interpolation7 as ɵinterpolation7, interpolation8 as ɵinterpolation8, interpolationV as ɵinterpolationV, pipeBind1 as ɵpipeBind1, pipeBind2 as ɵpipeBind2, pipeBind3 as ɵpipeBind3, pipeBind4 as ɵpipeBind4, pipeBindV as ɵpipeBindV, pureFunction0 as ɵpureFunction0, pureFunction1 as ɵpureFunction1, pureFunction2 as ɵpureFunction2, pureFunction3 as ɵpureFunction3, pureFunction4 as ɵpureFunction4, pureFunction5 as ɵpureFunction5, pureFunction6 as ɵpureFunction6, pureFunction7 as ɵpureFunction7, pureFunction8 as ɵpureFunction8, pureFunctionV as ɵpureFunctionV, getCurrentView as ɵgetCurrentView, getHostElement as ɵgetHostElement, restoreView as ɵrestoreView, containerRefreshStart as ɵcontainerRefreshStart, containerRefreshEnd as ɵcontainerRefreshEnd, queryRefresh as ɵqueryRefresh, loadQueryList as ɵloadQueryList, elementEnd as ɵelementEnd, elementProperty as ɵelementProperty, projectionDef as ɵprojectionDef, reference as ɵreference, enableBindings as ɵenableBindings, disableBindings as ɵdisableBindings, allocHostVars as ɵallocHostVars, elementAttribute as ɵelementAttribute, elementContainerStart as ɵelementContainerStart, elementContainerEnd as ɵelementContainerEnd, elementStyling as ɵelementStyling, elementStylingMap as ɵelementStylingMap, elementStyleProp as ɵelementStyleProp, elementStylingApply as ɵelementStylingApply, elementClassProp as ɵelementClassProp, textBinding as ɵtextBinding, template as ɵtemplate, embeddedViewEnd as ɵembeddedViewEnd, store as ɵstore, load as ɵload, pipe as ɵpipe, BaseDef as ɵBaseDef, ComponentDef as ɵComponentDef, ComponentDefWithMeta as ɵComponentDefWithMeta, DirectiveDef as ɵDirectiveDef, DirectiveDefWithMeta as ɵDirectiveDefWithMeta, PipeDef as ɵPipeDef, PipeDefWithMeta as ɵPipeDefWithMeta, whenRendered as ɵwhenRendered, i18n as ɵi18n, i18nAttributes as ɵi18nAttributes, i18nExp as ɵi18nExp, i18nStart as ɵi18nStart, i18nEnd as ɵi18nEnd, i18nApply as ɵi18nApply, i18nPostprocess as ɵi18nPostprocess, setClassMetadata as ɵsetClassMetadata, } from './render3/index';
8
+ export { defineBase as ɵdefineBase, defineComponent as ɵdefineComponent, defineDirective as ɵdefineDirective, definePipe as ɵdefinePipe, defineNgModule as ɵdefineNgModule, detectChanges as ɵdetectChanges, renderComponent as ɵrenderComponent, AttributeMarker as ɵAttributeMarker, ComponentType as ɵComponentType, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, DirectiveType as ɵDirectiveType, RenderFlags as ɵRenderFlags, directiveInject as ɵdirectiveInject, injectAttribute as ɵinjectAttribute, getFactoryOf as ɵgetFactoryOf, getInheritedFactory as ɵgetInheritedFactory, templateRefExtractor as ɵtemplateRefExtractor, ProvidersFeature as ɵProvidersFeature, InheritDefinitionFeature as ɵInheritDefinitionFeature, NgOnChangesFeature as ɵNgOnChangesFeature, LifecycleHooksFeature as ɵLifecycleHooksFeature, NgModuleType as ɵNgModuleType, NgModuleRef as ɵRender3NgModuleRef, CssSelectorList as ɵCssSelectorList, markDirty as ɵmarkDirty, NgModuleFactory as ɵNgModuleFactory, NO_CHANGE as ɵNO_CHANGE, container as ɵcontainer, nextContext as ɵnextContext, elementStart as ɵelementStart, namespaceHTML as ɵnamespaceHTML, namespaceMathML as ɵnamespaceMathML, namespaceSVG as ɵnamespaceSVG, element as ɵelement, listener as ɵlistener, text as ɵtext, embeddedViewStart as ɵembeddedViewStart, query as ɵquery, registerContentQuery as ɵregisterContentQuery, projection as ɵprojection, bind as ɵbind, interpolation1 as ɵinterpolation1, interpolation2 as ɵinterpolation2, interpolation3 as ɵinterpolation3, interpolation4 as ɵinterpolation4, interpolation5 as ɵinterpolation5, interpolation6 as ɵinterpolation6, interpolation7 as ɵinterpolation7, interpolation8 as ɵinterpolation8, interpolationV as ɵinterpolationV, pipeBind1 as ɵpipeBind1, pipeBind2 as ɵpipeBind2, pipeBind3 as ɵpipeBind3, pipeBind4 as ɵpipeBind4, pipeBindV as ɵpipeBindV, pureFunction0 as ɵpureFunction0, pureFunction1 as ɵpureFunction1, pureFunction2 as ɵpureFunction2, pureFunction3 as ɵpureFunction3, pureFunction4 as ɵpureFunction4, pureFunction5 as ɵpureFunction5, pureFunction6 as ɵpureFunction6, pureFunction7 as ɵpureFunction7, pureFunction8 as ɵpureFunction8, pureFunctionV as ɵpureFunctionV, getCurrentView as ɵgetCurrentView, getHostElement as ɵgetHostElement, restoreView as ɵrestoreView, containerRefreshStart as ɵcontainerRefreshStart, containerRefreshEnd as ɵcontainerRefreshEnd, queryRefresh as ɵqueryRefresh, loadQueryList as ɵloadQueryList, elementEnd as ɵelementEnd, elementProperty as ɵelementProperty, componentHostSyntheticProperty as ɵcomponentHostSyntheticProperty, projectionDef as ɵprojectionDef, reference as ɵreference, enableBindings as ɵenableBindings, disableBindings as ɵdisableBindings, allocHostVars as ɵallocHostVars, elementAttribute as ɵelementAttribute, elementContainerStart as ɵelementContainerStart, elementContainerEnd as ɵelementContainerEnd, elementStyling as ɵelementStyling, elementHostAttrs as ɵelementHostAttrs, elementStylingMap as ɵelementStylingMap, elementStyleProp as ɵelementStyleProp, elementStylingApply as ɵelementStylingApply, elementClassProp as ɵelementClassProp, textBinding as ɵtextBinding, template as ɵtemplate, embeddedViewEnd as ɵembeddedViewEnd, store as ɵstore, load as ɵload, pipe as ɵpipe, BaseDef as ɵBaseDef, ComponentDef as ɵComponentDef, ComponentDefWithMeta as ɵComponentDefWithMeta, DirectiveDef as ɵDirectiveDef, DirectiveDefWithMeta as ɵDirectiveDefWithMeta, PipeDef as ɵPipeDef, PipeDefWithMeta as ɵPipeDefWithMeta, whenRendered as ɵwhenRendered, i18n as ɵi18n, i18nAttributes as ɵi18nAttributes, i18nExp as ɵi18nExp, i18nStart as ɵi18nStart, i18nEnd as ɵi18nEnd, i18nApply as ɵi18nApply, i18nPostprocess as ɵi18nPostprocess, setClassMetadata as ɵsetClassMetadata, } from './render3/index';
9
9
  export { compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, } from './render3/jit/directive';
10
10
  export { compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, patchComponentDefWithScope as ɵpatchComponentDefWithScope, resetCompiledComponents as ɵresetCompiledComponents, } from './render3/jit/module';
11
11
  export { compilePipe as ɵcompilePipe, } from './render3/jit/pipe';
@@ -11,7 +11,7 @@ import { Type } from '../type';
11
11
  *
12
12
  * Use an `InjectionToken` whenever the type you are injecting is not reified (does not have a
13
13
  * runtime representation) such as when injecting an interface, callable type, array or
14
- * parametrized type.
14
+ * parameterized type.
15
15
  *
16
16
  * `InjectionToken` is parameterized on `T` which is the type of object which will be returned by
17
17
  * the `Injector`. This provides additional level of type safety.
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { Subject } from 'rxjs';
8
+ import { Subject, Subscription } from 'rxjs';
9
9
  /**
10
10
  * Use in directives and components to emit custom events synchronously
11
11
  * or asynchronously, and register handlers for those events by subscribing
@@ -85,5 +85,5 @@ export declare class EventEmitter<T> extends Subject<T> {
85
85
  * @param complete When supplied, a custom handler for a completion
86
86
  * notification from this emitter.
87
87
  */
88
- subscribe(generatorOrNext?: any, error?: any, complete?: any): any;
88
+ subscribe(generatorOrNext?: any, error?: any, complete?: any): Subscription;
89
89
  }
@@ -40,9 +40,11 @@ export declare abstract class TemplateRef<C> {
40
40
  */
41
41
  abstract readonly elementRef: ElementRef;
42
42
  /**
43
- * Creates a view object and attaches it to the view container of the parent view.
44
- * @param context The context for the new view, inherited from the anchor element.
45
- * @returns The new view object.
43
+ * Instantiates an embedded view based on this template,
44
+ * and attaches it to the view container.
45
+ * @param context The data-binding context of the embedded view, as declared
46
+ * in the `<ng-template>` usage.
47
+ * @returns The new embedded view object.
46
48
  */
47
49
  abstract createEmbeddedView(context: C): EmbeddedViewRef<C>;
48
50
  }
@@ -234,8 +234,6 @@ export interface ContentChildDecorator {
234
234
  /**
235
235
  * Type of the ContentChild metadata.
236
236
  *
237
- * @see `ContentChild`.
238
- *
239
237
  * @publicApi
240
238
  */
241
239
  export declare type ContentChild = Query;
@@ -325,7 +323,7 @@ export interface ViewChildDecorator {
325
323
  *
326
324
  * Supported selectors include:
327
325
  * * any class with the `@Component` or `@Directive` decorator
328
- * * a template reference variable as a string (e.g. query `<my-component #cmp></my-component>
326
+ * * a template reference variable as a string (e.g. query `<my-component #cmp></my-component>`
329
327
  * with `@ViewChild('cmp')`)
330
328
  * * any provider defined in the child component tree of the current component (e.g.
331
329
  * `@ViewChild(SomeService) someService: SomeService`)
@@ -461,8 +461,8 @@ export interface Component extends Directive {
461
461
  */
462
462
  moduleId?: string;
463
463
  /**
464
- * The URL of a template file for an Angular component. If provided,
465
- * do not supply an inline template using `template`.
464
+ * The relative path or absolute URL of a template file for an Angular component.
465
+ * If provided, do not supply an inline template using `template`.
466
466
  *
467
467
  */
468
468
  templateUrl?: string;
@@ -473,7 +473,7 @@ export interface Component extends Directive {
473
473
  */
474
474
  template?: string;
475
475
  /**
476
- * One or more URLs for files containing CSS stylesheets to use
476
+ * One or more relative paths or absolute URLs for files containing CSS stylesheets to use
477
477
  * in this component.
478
478
  */
479
479
  styleUrls?: string[];
@@ -11,9 +11,7 @@ import { NgModuleDef } from '../metadata/ng_module';
11
11
  import { ViewEncapsulation } from '../metadata/view';
12
12
  import { Type } from '../type';
13
13
  import { BaseDef, ComponentDef, ComponentDefFeature, ComponentQuery, ComponentTemplate, ComponentType, DirectiveDef, DirectiveDefFeature, DirectiveType, DirectiveTypesOrFactory, HostBindingsFunction, PipeDef, PipeType, PipeTypesOrFactory } from './interfaces/definition';
14
- import { CssSelectorList, SelectorFlags } from './interfaces/projection';
15
- export declare const EMPTY: {};
16
- export declare const EMPTY_ARRAY: any[];
14
+ import { CssSelectorList } from './interfaces/projection';
17
15
  /**
18
16
  * Create a component definition object.
19
17
  *
@@ -316,7 +314,7 @@ export declare const defineDirective: <T>(directiveDefinition: {
316
314
  */
317
315
  type: Type<T>;
318
316
  /** The selectors that will be used to match nodes to this directive. */
319
- selectors: (string | SelectorFlags)[][];
317
+ selectors: (string | import("@angular/core/src/render3/interfaces/projection").SelectorFlags)[][];
320
318
  /**
321
319
  * Factory method used to create an instance of directive.
322
320
  */
@@ -90,7 +90,7 @@ export declare function injectAttributeImpl(tNode: TNode, attrNameToInject: stri
90
90
  * @param notFoundValue The value to return when the injection flags is `InjectFlags.Optional`
91
91
  * @returns the value from the injector, `null` when not found, or `notFoundValue` if provided
92
92
  */
93
- export declare function getOrCreateInjectable<T>(tNode: TElementNode | TContainerNode | TElementContainerNode, lView: LView, token: Type<T> | InjectionToken<T>, flags?: InjectFlags, notFoundValue?: any): T | null;
93
+ export declare function getOrCreateInjectable<T>(tNode: TElementNode | TContainerNode | TElementContainerNode | null, lView: LView, token: Type<T> | InjectionToken<T>, flags?: InjectFlags, notFoundValue?: any): T | null;
94
94
  /**
95
95
  * Searches for the given token among the node's directives and providers.
96
96
  *
@@ -98,9 +98,10 @@ export declare function getOrCreateInjectable<T>(tNode: TElementNode | TContaine
98
98
  * @param lView The view we are currently processing
99
99
  * @param token Provider token or type of a directive to look for.
100
100
  * @param canAccessViewProviders Whether view providers should be considered.
101
+ * @param isHostSpecialCase Whether the host special case applies.
101
102
  * @returns Index of a found directive or provider, or null when none found.
102
103
  */
103
- export declare function locateDirectiveOrProvider<T>(tNode: TNode, lView: LView, token: Type<T> | InjectionToken<T>, canAccessViewProviders: boolean): number | null;
104
+ export declare function locateDirectiveOrProvider<T>(tNode: TNode, lView: LView, token: Type<T> | InjectionToken<T>, canAccessViewProviders: boolean, isHostSpecialCase: boolean | number): number | null;
104
105
  /**
105
106
  * Retrieve or instantiate the injectable from the `lData` at particular `index`.
106
107
  *
@@ -126,7 +127,7 @@ export declare function injectInjector(): NodeInjector;
126
127
  export declare class NodeInjector implements Injector {
127
128
  private _tNode;
128
129
  private _lView;
129
- constructor(_tNode: TElementNode | TContainerNode | TElementContainerNode, _lView: LView);
130
+ constructor(_tNode: TElementNode | TContainerNode | TElementContainerNode | null, _lView: LView);
130
131
  get(token: any, notFoundValue?: any): any;
131
132
  }
132
133
  export declare function getFactoryOf<T>(type: Type<any>): ((type: Type<T> | null) => T) | null;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google Inc. All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import './ng_dev_mode';
9
+ /**
10
+ * This file contains reuseable "empty" symbols that can be used as default return values
11
+ * in different parts of the rendering code. Because the same symbols are returned, this
12
+ * allows for identity checks against these values to be consistently used by the framework
13
+ * code.
14
+ */
15
+ export declare const EMPTY_OBJ: {};
16
+ export declare const EMPTY_ARRAY: any[];
@@ -30,16 +30,16 @@ export declare function queueLifecycleHooks(tView: TView, tNode: TNode): void;
30
30
  *
31
31
  * @param currentView The current view
32
32
  */
33
- export declare function executeInitHooks(currentView: LView, tView: TView, creationMode: boolean): void;
33
+ export declare function executeInitHooks(currentView: LView, tView: TView, checkNoChangesMode: boolean): void;
34
34
  /**
35
35
  * Iterates over afterViewInit and afterViewChecked functions and calls them.
36
36
  *
37
37
  * @param currentView The current view
38
38
  */
39
- export declare function executeHooks(data: LView, allHooks: HookData | null, checkHooks: HookData | null, creationMode: boolean): void;
39
+ export declare function executeHooks(currentView: LView, allHooks: HookData | null, checkHooks: HookData | null, checkNoChangesMode: boolean): void;
40
40
  /**
41
41
  * Calls lifecycle hooks with their contexts, skipping init hooks if it's not
42
- * creation mode.
42
+ * the first LView pass.
43
43
  *
44
44
  * @param currentView The current view
45
45
  * @param arr The array in which the hooks are found
@@ -16,7 +16,7 @@ export { ComponentFactory, ComponentFactoryResolver, ComponentRef, injectCompone
16
16
  export { getFactoryOf, getInheritedFactory } from './di';
17
17
  export { RenderFlags } from './interfaces/definition';
18
18
  export { CssSelectorList } from './interfaces/projection';
19
- export { allocHostVars, bind, interpolation1, interpolation2, interpolation3, interpolation4, interpolation5, interpolation6, interpolation7, interpolation8, interpolationV, container, containerRefreshStart, containerRefreshEnd, nextContext, element, elementAttribute, elementClassProp, elementEnd, elementProperty, elementStart, elementContainerStart, elementContainerEnd, elementStyling, elementStylingMap, elementStyleProp, elementStylingApply, listener, store, load, namespaceHTML, namespaceMathML, namespaceSVG, projection, projectionDef, text, textBinding, template, reference, embeddedViewStart, embeddedViewEnd, detectChanges, markDirty, tick, directiveInject, injectAttribute, getCurrentView } from './instructions';
19
+ export { allocHostVars, bind, interpolation1, interpolation2, interpolation3, interpolation4, interpolation5, interpolation6, interpolation7, interpolation8, interpolationV, container, containerRefreshStart, containerRefreshEnd, nextContext, element, elementAttribute, elementClassProp, elementEnd, elementProperty, componentHostSyntheticProperty, elementStart, elementContainerStart, elementContainerEnd, elementStyling, elementHostAttrs, elementStylingMap, elementStyleProp, elementStylingApply, listener, store, load, namespaceHTML, namespaceMathML, namespaceSVG, projection, projectionDef, text, textBinding, template, reference, embeddedViewStart, embeddedViewEnd, detectChanges, markDirty, tick, directiveInject, injectAttribute, getCurrentView } from './instructions';
20
20
  export { restoreView, enableBindings, disableBindings, } from './state';
21
21
  export { i18n, i18nAttributes, i18nExp, i18nStart, i18nEnd, i18nApply, i18nPostprocess } from './i18n';
22
22
  export { NgModuleFactory, NgModuleRef, NgModuleType } from './ng_module_ref';
@@ -13,7 +13,7 @@ import { Sanitizer } from '../sanitization/security';
13
13
  import { StyleSanitizeFn } from '../sanitization/style_sanitizer';
14
14
  import { Type } from '../type';
15
15
  import { LContainer } from './interfaces/container';
16
- import { ComponentDef, ComponentQuery, ComponentTemplate, DirectiveDefListOrFactory, InitialStylingFlags, PipeDefListOrFactory, RenderFlags } from './interfaces/definition';
16
+ import { ComponentDef, ComponentQuery, ComponentTemplate, DirectiveDefListOrFactory, PipeDefListOrFactory, RenderFlags } from './interfaces/definition';
17
17
  import { LocalRefExtractor, TAttributes, TContainerNode, TElementContainerNode, TElementNode, TNode, TNodeType, TProjectionNode, TViewNode } from './interfaces/node';
18
18
  import { PlayerFactory } from './interfaces/player';
19
19
  import { CssSelectorList } from './interfaces/projection';
@@ -28,7 +28,7 @@ import { NO_CHANGE } from './tokens';
28
28
  * bindings, refreshes child components.
29
29
  * Note: view hooks are triggered later when leaving the view.
30
30
  */
31
- export declare function refreshDescendantViews(lView: LView, rf: RenderFlags | null): void;
31
+ export declare function refreshDescendantViews(lView: LView): void;
32
32
  /** Sets the host bindings for the current view. */
33
33
  export declare function setHostBindings(tView: TView, viewData: LView): void;
34
34
  export declare function createLView<T>(parentLView: LView | null, tView: TView, context: T | null, flags: LViewFlags, rendererFactory?: RendererFactory3 | null, renderer?: Renderer3 | null, sanitizer?: Sanitizer | null, injector?: Injector | null): LView;
@@ -82,7 +82,7 @@ export declare function createEmbeddedViewAndNode<T>(tView: TView, context: T, d
82
82
  * can't store TViews in the template function itself (as we do for comps). Instead, we store the
83
83
  * TView for dynamically created views on their host TNode, which only has one instance.
84
84
  */
85
- export declare function renderEmbeddedTemplate<T>(viewToRender: LView, tView: TView, context: T, rf: RenderFlags): void;
85
+ export declare function renderEmbeddedTemplate<T>(viewToRender: LView, tView: TView, context: T): void;
86
86
  /**
87
87
  * Retrieves a context at the level specified and saves it as the global, contextViewData.
88
88
  * Will get the next level up if level is not specified.
@@ -102,7 +102,8 @@ export declare function namespaceHTML(): void;
102
102
  *
103
103
  * @param index Index of the element in the data array
104
104
  * @param name Name of the DOM Node
105
- * @param attrs Statically bound set of attributes to be written into the DOM element on creation.
105
+ * @param attrs Statically bound set of attributes, classes, and styles to be written into the DOM
106
+ * element on creation. Use [AttributeMarker] to denote the meaning of this array.
106
107
  * @param localRefs A set of local reference bindings on the element.
107
108
  */
108
109
  export declare function element(index: number, name: string, attrs?: TAttributes | null, localRefs?: string[] | null): void;
@@ -126,7 +127,8 @@ export declare function elementContainerEnd(): void;
126
127
  *
127
128
  * @param index Index of the element in the LView array
128
129
  * @param name Name of the DOM Node
129
- * @param attrs Statically bound set of attributes to be written into the DOM element on creation.
130
+ * @param attrs Statically bound set of attributes, classes, and styles to be written into the DOM
131
+ * element on creation. Use [AttributeMarker] to denote the meaning of this array.
130
132
  * @param localRefs A set of local reference bindings on the element.
131
133
  *
132
134
  * Attributes and localRefs are passed as an array of strings where elements with an even index
@@ -226,6 +228,28 @@ export declare function elementAttribute(index: number, name: string, value: any
226
228
  * (this is necessary for host property bindings)
227
229
  */
228
230
  export declare function elementProperty<T>(index: number, propName: string, value: T | NO_CHANGE, sanitizer?: SanitizerFn | null, nativeOnly?: boolean): void;
231
+ /**
232
+ * Updates a synthetic host binding (e.g. `[@foo]`) on a component.
233
+ *
234
+ * This instruction is for compatibility purposes and is designed to ensure that a
235
+ * synthetic host binding (e.g. `@HostBinding('@foo')`) properly gets rendered in
236
+ * the component's renderer. Normally all host bindings are evaluated with the parent
237
+ * component's renderer, but, in the case of animation @triggers, they need to be
238
+ * evaluated with the sub components renderer (because that's where the animation
239
+ * triggers are defined).
240
+ *
241
+ * Do not use this instruction as a replacement for `elementProperty`. This instruction
242
+ * only exists to ensure compatibility with the ViewEngine's host binding behavior.
243
+ *
244
+ * @param index The index of the element to update in the data array
245
+ * @param propName Name of property. Because it is going to DOM, this is not subject to
246
+ * renaming as part of minification.
247
+ * @param value New value to write.
248
+ * @param sanitizer An optional function used to sanitize the value.
249
+ * @param nativeOnly Whether or not we should only set native properties and skip input check
250
+ * (this is necessary for host property bindings)
251
+ */
252
+ export declare function componentHostSyntheticProperty<T>(index: number, propName: string, value: T | NO_CHANGE, sanitizer?: SanitizerFn | null, nativeOnly?: boolean): void;
229
253
  /**
230
254
  * Constructs a TNode object from the arguments.
231
255
  *
@@ -238,106 +262,128 @@ export declare function elementProperty<T>(index: number, propName: string, valu
238
262
  */
239
263
  export declare function createTNode(lView: LView, type: TNodeType, adjustedIndex: number, tagName: string | null, attrs: TAttributes | null, tViews: TView[] | null): TNode;
240
264
  /**
241
- * Add or remove a class in a `classList` on a DOM element.
265
+ * Assign any inline style values to the element during creation mode.
242
266
  *
243
- * This instruction is meant to handle the [class.foo]="exp" case
267
+ * This instruction is meant to be called during creation mode to register all
268
+ * dynamic style and class bindings on the element. Note for static values (no binding)
269
+ * see `elementStart` and `elementHostAttrs`.
270
+ *
271
+ * @param classBindingNames An array containing bindable class names.
272
+ * The `elementClassProp` refers to the class name by index in this array.
273
+ * (i.e. `['foo', 'bar']` means `foo=0` and `bar=1`).
274
+ * @param styleBindingNames An array containing bindable style properties.
275
+ * The `elementStyleProp` refers to the class name by index in this array.
276
+ * (i.e. `['width', 'height']` means `width=0` and `height=1`).
277
+ * @param styleSanitizer An optional sanitizer function that will be used to sanitize any CSS
278
+ * property values that are applied to the element (during rendering).
279
+ * Note that the sanitizer instance itself is tied to the `directive` (if provided).
280
+ * @param directive A directive instance the styling is associated with. If not provided
281
+ * current view's controller instance is assumed.
244
282
  *
245
- * @param index The index of the element to update in the data array
246
- * @param classIndex Index of class to toggle. Because it is going to DOM, this is not subject to
247
- * renaming as part of minification.
248
- * @param value A value indicating if a given class should be added or removed.
249
- * @param directive the ref to the directive that is attempting to change styling.
283
+ * @publicApi
250
284
  */
251
- export declare function elementClassProp(index: number, classIndex: number, value: boolean | PlayerFactory, directive?: {}): void;
285
+ export declare function elementStyling(classBindingNames?: string[] | null, styleBindingNames?: string[] | null, styleSanitizer?: StyleSanitizeFn | null, directive?: {}): void;
252
286
  /**
253
- * Assign any inline style values to the element during creation mode.
287
+ * Assign static styling values to a host element.
254
288
  *
255
- * This instruction is meant to be called during creation mode to apply all styling
256
- * (e.g. `style="..."`) values to the element. This is also where the provided index
257
- * value is allocated for the styling details for its corresponding element (the element
258
- * index is the previous index value from this one).
289
+ * NOTE: This instruction is meant to used from `hostBindings` function only.
259
290
  *
260
- * (Note this function calls `elementStylingApply` immediately when called.)
291
+ * @param directive A directive instance the styling is associated with.
292
+ * @param attrs An array containing class and styling information. The values must be marked with
293
+ * `AttributeMarker`.
261
294
  *
295
+ * ```
296
+ * var attrs = [AttributeMarker.Classes, 'foo', 'bar',
297
+ * AttributeMarker.Styles, 'width', '100px', 'height, '200px']
298
+ * elementHostAttrs(directive, attrs);
299
+ * ```
262
300
  *
263
- * @param index Index value which will be allocated to store styling data for the element.
264
- * (Note that this is not the element index, but rather an index value allocated
265
- * specifically for element styling--the index must be the next index after the element
266
- * index.)
267
- * @param classDeclarations A key/value array of CSS classes that will be registered on the element.
268
- * Each individual style will be used on the element as long as it is not overridden
269
- * by any classes placed on the element by multiple (`[class]`) or singular (`[class.named]`)
270
- * bindings. If a class binding changes its value to a falsy value then the matching initial
271
- * class value that are passed in here will be applied to the element (if matched).
272
- * @param styleDeclarations A key/value array of CSS styles that will be registered on the element.
273
- * Each individual style will be used on the element as long as it is not overridden
274
- * by any styles placed on the element by multiple (`[style]`) or singular (`[style.prop]`)
275
- * bindings. If a style binding changes its value to null then the initial styling
276
- * values that are passed in here will be applied to the element (if matched).
277
- * @param styleSanitizer An optional sanitizer function that will be used (if provided)
278
- * to sanitize the any CSS property values that are applied to the element (during rendering).
279
- * @param directive the ref to the directive that is attempting to change styling.
301
+ * @publicApi
280
302
  */
281
- export declare function elementStyling(classDeclarations?: (string | boolean | InitialStylingFlags)[] | null, styleDeclarations?: (string | boolean | InitialStylingFlags)[] | null, styleSanitizer?: StyleSanitizeFn | null, directive?: {}): void;
303
+ export declare function elementHostAttrs(directive: any, attrs: TAttributes): void;
282
304
  /**
283
- * Apply all styling values to the element which have been queued by any styling instructions.
305
+ * Apply styling binding to the element.
284
306
  *
285
- * This instruction is meant to be run once one or more `elementStyle` and/or `elementStyleProp`
286
- * have been issued against the element. This function will also determine if any styles have
287
- * changed and will then skip the operation if there is nothing new to render.
307
+ * This instruction is meant to be run after `elementStyle` and/or `elementStyleProp`.
308
+ * if any styling bindings have changed then the changes are flushed to the element.
288
309
  *
289
- * Once called then all queued styles will be flushed.
290
310
  *
291
- * @param index Index of the element's styling storage that will be rendered.
292
- * (Note that this is not the element index, but rather an index value allocated
293
- * specifically for element styling--the index must be the next index after the element
294
- * index.)
295
- * @param directive the ref to the directive that is attempting to change styling.
311
+ * @param index Index of the element's with which styling is associated.
312
+ * @param directive Directive instance that is attempting to change styling. (Defaults to the
313
+ * component of the current view).
314
+ components
315
+ *
316
+ * @publicApi
296
317
  */
297
- export declare function elementStylingApply(index: number, directive?: {}): void;
318
+ export declare function elementStylingApply(index: number, directive?: any): void;
298
319
  /**
299
- * Queue a given style to be rendered on an Element.
320
+ * Update a style bindings value on an element.
300
321
  *
301
322
  * If the style value is `null` then it will be removed from the element
302
323
  * (or assigned a different value depending if there are any styles placed
303
324
  * on the element with `elementStyle` or any styles that are present
304
325
  * from when the element was created (with `elementStyling`).
305
326
  *
306
- * (Note that the styling instruction will not be applied until `elementStylingApply` is called.)
327
+ * (Note that the styling element is updated as part of `elementStylingApply`.)
307
328
  *
308
- * @param index Index of the element's styling storage to change in the data array.
309
- * (Note that this is not the element index, but rather an index value allocated
310
- * specifically for element styling--the index must be the next index after the element
311
- * index.)
312
- * @param styleIndex Index of the style property on this element. (Monotonically increasing.)
313
- * @param value New value to write (null to remove).
329
+ * @param index Index of the element's with which styling is associated.
330
+ * @param styleIndex Index of style to update. This index value refers to the
331
+ * index of the style in the style bindings array that was passed into
332
+ * `elementStlyingBindings`.
333
+ * @param value New value to write (null to remove). Note that if a directive also
334
+ * attempts to write to the same binding value then it will only be able to
335
+ * do so if the template binding value is `null` (or doesn't exist at all).
314
336
  * @param suffix Optional suffix. Used with scalar values to add unit such as `px`.
315
337
  * Note that when a suffix is provided then the underlying sanitizer will
316
338
  * be ignored.
317
- * @param directive the ref to the directive that is attempting to change styling.
339
+ * @param directive Directive instance that is attempting to change styling. (Defaults to the
340
+ * component of the current view).
341
+ components
342
+ *
343
+ * @publicApi
344
+ */
345
+ export declare function elementStyleProp(index: number, styleIndex: number, value: string | number | String | PlayerFactory | null, suffix?: string | null, directive?: {}): void;
346
+ /**
347
+ * Add or remove a class via a class binding on a DOM element.
348
+ *
349
+ * This instruction is meant to handle the [class.foo]="exp" case and, therefore,
350
+ * the class itself must already be applied using `elementStyling` within
351
+ * the creation block.
352
+ *
353
+ * @param index Index of the element's with which styling is associated.
354
+ * @param classIndex Index of class to toggle. This index value refers to the
355
+ * index of the class in the class bindings array that was passed into
356
+ * `elementStlyingBindings` (which is meant to be called before this
357
+ * function is).
358
+ * @param value A true/false value which will turn the class on or off.
359
+ * @param directive Directive instance that is attempting to change styling. (Defaults to the
360
+ * component of the current view).
361
+ components
362
+ *
363
+ * @publicApi
318
364
  */
319
- export declare function elementStyleProp(index: number, styleIndex: number, value: string | number | String | PlayerFactory | null, suffix?: string, directive?: {}): void;
365
+ export declare function elementClassProp(index: number, classIndex: number, value: boolean | PlayerFactory, directive?: {}): void;
320
366
  /**
321
- * Queue a key/value map of styles to be rendered on an Element.
367
+ * Update style and/or class bindings using object literal.
322
368
  *
323
- * This instruction is meant to handle the `[style]="exp"` usage. When styles are applied to
324
- * the Element they will then be placed with respect to any styles set with `elementStyleProp`.
325
- * If any styles are set to `null` then they will be removed from the element (unless the same
326
- * style properties have been assigned to the element during creation using `elementStyling`).
369
+ * This instruction is meant apply styling via the `[style]="exp"` and `[class]="exp"` template
370
+ * bindings. When styles are applied to the Element they will then be placed with respect to
371
+ * any styles set with `elementStyleProp`. If any styles are set to `null` then they will be
372
+ * removed from the element.
327
373
  *
328
374
  * (Note that the styling instruction will not be applied until `elementStylingApply` is called.)
329
375
  *
330
- * @param index Index of the element's styling storage to change in the data array.
331
- * (Note that this is not the element index, but rather an index value allocated
332
- * specifically for element styling--the index must be the next index after the element
333
- * index.)
376
+ * @param index Index of the element's with which styling is associated.
334
377
  * @param classes A key/value style map of CSS classes that will be added to the given element.
335
378
  * Any missing classes (that have already been applied to the element beforehand) will be
336
379
  * removed (unset) from the element's list of CSS classes.
337
380
  * @param styles A key/value style map of the styles that will be applied to the given element.
338
381
  * Any missing styles (that have already been applied to the element beforehand) will be
339
382
  * removed (unset) from the element's styling.
340
- * @param directive the ref to the directive that is attempting to change styling.
383
+ * @param directive Directive instance that is attempting to change styling. (Defaults to the
384
+ * component of the current view).
385
+ *
386
+ * @publicApi
341
387
  */
342
388
  export declare function elementStylingMap<T>(index: number, classes: {
343
389
  [key: string]: any;
@@ -442,9 +488,8 @@ export declare function embeddedViewEnd(): void;
442
488
  * Refreshes components by entering the component view and processing its bindings, queries, etc.
443
489
  *
444
490
  * @param adjustedElementIndex Element index in LView[] (adjusted for HEADER_OFFSET)
445
- * @param rf The render flags that should be used to process this template
446
491
  */
447
- export declare function componentRefresh<T>(adjustedElementIndex: number, rf: RenderFlags | null): void;
492
+ export declare function componentRefresh<T>(adjustedElementIndex: number): void;
448
493
  /** Returns a boolean for whether the view is attached */
449
494
  export declare function viewAttached(view: LView): boolean;
450
495
  /**
@@ -532,6 +577,7 @@ export declare function tick<T>(component: T): void;
532
577
  * @param component The component which the change detection should be performed on.
533
578
  */
534
579
  export declare function detectChanges<T>(component: T): void;
580
+ export declare function detectChangesInternal<T>(view: LView, context: T): void;
535
581
  /**
536
582
  * Synchronously perform change detection on a root view and its components.
537
583
  *
@@ -556,7 +602,7 @@ export declare function checkNoChanges<T>(component: T): void;
556
602
  */
557
603
  export declare function checkNoChangesInRootView(lView: LView): void;
558
604
  /** Checks the view of the component provided. Does not gate on dirty checks or execute doCheck. */
559
- export declare function detectChangesInternal<T>(hostView: LView, component: T, rf: RenderFlags | null): void;
605
+ export declare function checkView<T>(hostView: LView, component: T): void;
560
606
  /**
561
607
  * Mark the component as dirty (needing change detection).
562
608
  *
@@ -668,7 +714,6 @@ export declare function injectAttribute(attrNameToInject: string): string | null
668
714
  */
669
715
  export declare function registerContentQuery<Q>(queryList: QueryList<Q>, currentDirectiveIndex: number): void;
670
716
  export declare const CLEAN_PROMISE: Promise<null>;
671
- export declare function delegateToClassInput(tNode: TNode): number;
672
717
  /**
673
718
  * Returns the current OpaqueViewState instance.
674
719
  *
@@ -18,6 +18,7 @@ export declare const ACTIVE_INDEX = 0;
18
18
  export declare const VIEWS = 1;
19
19
  export declare const NATIVE = 6;
20
20
  export declare const RENDER_PARENT = 7;
21
+ export declare const LCONTAINER_LENGTH = 8;
21
22
  /**
22
23
  * The state associated with a container.
23
24
  *
@@ -299,6 +299,3 @@ export declare type PipeDefList = PipeDef<any>[];
299
299
  export declare type PipeTypesOrFactory = (() => DirectiveTypeList) | DirectiveTypeList;
300
300
  export declare type PipeTypeList = (PipeDef<any> | Type<any>)[];
301
301
  export declare const unusedValueExportToPlacateAjd = 1;
302
- export declare const enum InitialStylingFlags {
303
- VALUES_MODE = 1
304
- }
@@ -24,7 +24,6 @@ export interface RelativeInjectorLocation {
24
24
  }
25
25
  export declare const enum RelativeInjectorLocationFlags {
26
26
  InjectorIndexMask = 32767,
27
- AcrossHostBoundary = 32768,
28
27
  ViewOffsetShift = 16,
29
28
  NO_PARENT = -1
30
29
  }
@@ -45,7 +45,7 @@ export declare const enum TNodeProviderIndexes {
45
45
  CptViewProvidersCountShifter = 65536
46
46
  }
47
47
  /**
48
- * A set of marker values to be used in the attributes arrays. Those markers indicate that some
48
+ * A set of marker values to be used in the attributes arrays. These markers indicate that some
49
49
  * items are not regular attributes and the processing should be adapted accordingly.
50
50
  */
51
51
  export declare const enum AttributeMarker {
@@ -55,13 +55,48 @@ export declare const enum AttributeMarker {
55
55
  * in that order.
56
56
  */
57
57
  NamespaceURI = 0,
58
+ /**
59
+ * Signals class declaration.
60
+ *
61
+ * Each value following `Classes` designates a class name to include on the element.
62
+ * ## Example:
63
+ *
64
+ * Given:
65
+ * ```
66
+ * <div class="foo bar baz">...<d/vi>
67
+ * ```
68
+ *
69
+ * the generated code is:
70
+ * ```
71
+ * var _c1 = [AttributeMarker.Classes, 'foo', 'bar', 'baz'];
72
+ * ```
73
+ */
74
+ Classes = 1,
75
+ /**
76
+ * Signals style declaration.
77
+ *
78
+ * Each pair of values following `Styles` designates a style name and value to include on the
79
+ * element.
80
+ * ## Example:
81
+ *
82
+ * Given:
83
+ * ```
84
+ * <div style="width:100px; height:200px; color:red">...</div>
85
+ * ```
86
+ *
87
+ * the generated code is:
88
+ * ```
89
+ * var _c1 = [AttributeMarker.Styles, 'width', '100px', 'height'. '200px', 'color', 'red'];
90
+ * ```
91
+ */
92
+ Styles = 2,
58
93
  /**
59
94
  * This marker indicates that the following attribute names were extracted from bindings (ex.:
60
95
  * [foo]="exp") and / or event handlers (ex. (bar)="doSth()").
61
96
  * Taking the above bindings and outputs as an example an attributes array could look as follows:
62
97
  * ['class', 'fade in', AttributeMarker.SelectOnly, 'foo', 'bar']
63
98
  */
64
- SelectOnly = 1
99
+ SelectOnly = 3
65
100
  }
66
101
  /**
67
102
  * A combination of: