@angular/core 8.0.0 → 8.1.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/bundles/core-testing.umd.js +35 -9
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core-testing.umd.min.js +10 -10
  4. package/bundles/core-testing.umd.min.js.map +1 -1
  5. package/bundles/core.umd.js +11356 -9352
  6. package/bundles/core.umd.js.map +1 -1
  7. package/bundles/core.umd.min.js +201 -139
  8. package/bundles/core.umd.min.js.map +1 -1
  9. package/core.d.ts +1302 -404
  10. package/core.metadata.json +1 -1
  11. package/esm2015/core.js +2 -3
  12. package/esm2015/index.js +2 -2
  13. package/esm2015/public_api.js +2 -2
  14. package/esm2015/src/application_ref.js +7 -1
  15. package/esm2015/src/codegen_private_exports.js +2 -2
  16. package/esm2015/src/compiler/compiler_facade_interface.js +1 -1
  17. package/esm2015/src/core.js +4 -4
  18. package/esm2015/src/core_private_export.js +3 -1
  19. package/esm2015/src/core_render3_private_export.js +5 -3
  20. package/esm2015/src/debug/debug_node.js +4 -4
  21. package/esm2015/src/di/index.js +3 -3
  22. package/esm2015/src/di/injector.js +24 -96
  23. package/esm2015/src/di/injector_compatibility.js +103 -6
  24. package/esm2015/src/di/interface/defs.js +24 -3
  25. package/esm2015/src/di/r3_injector.js +82 -49
  26. package/esm2015/src/di/reflective_injector.js +3 -2
  27. package/esm2015/src/di.js +1 -1
  28. package/esm2015/src/i18n/locale_data.js +61 -0
  29. package/esm2015/src/i18n/locale_data_api.js +53 -0
  30. package/esm2015/src/i18n/locale_en.js +51 -0
  31. package/esm2015/src/i18n/localization.js +37 -0
  32. package/esm2015/src/linker/ng_module_factory_loader.js +4 -52
  33. package/esm2015/src/linker/ng_module_factory_registration.js +83 -0
  34. package/esm2015/src/metadata/ng_module.js +6 -1
  35. package/esm2015/src/metadata/resource_loading.js +2 -2
  36. package/esm2015/src/reflection/reflection_capabilities.js +14 -3
  37. package/esm2015/src/render3/assert.js +3 -2
  38. package/esm2015/src/render3/component.js +11 -5
  39. package/esm2015/src/render3/debug.js +23 -15
  40. package/esm2015/src/render3/definition.js +12 -2
  41. package/esm2015/src/render3/errors.js +29 -1
  42. package/esm2015/src/render3/features/inherit_definition_feature.js +51 -37
  43. package/esm2015/src/render3/fields.js +3 -1
  44. package/esm2015/src/render3/i18n.js +76 -465
  45. package/esm2015/src/render3/index.js +3 -3
  46. package/esm2015/src/render3/instructions/all.js +9 -4
  47. package/esm2015/src/render3/instructions/attribute.js +28 -0
  48. package/esm2015/src/render3/instructions/attribute_interpolation.js +376 -0
  49. package/esm2015/src/render3/instructions/container.js +17 -16
  50. package/esm2015/src/render3/instructions/element.js +57 -35
  51. package/esm2015/src/render3/instructions/element_container.js +9 -8
  52. package/esm2015/src/render3/instructions/embedded_view.js +9 -12
  53. package/esm2015/src/render3/instructions/interpolation.js +375 -0
  54. package/esm2015/src/render3/instructions/listener.js +3 -2
  55. package/esm2015/src/render3/instructions/projection.js +6 -6
  56. package/esm2015/src/render3/instructions/property.js +10 -4
  57. package/esm2015/src/render3/instructions/property_interpolation.js +49 -382
  58. package/esm2015/src/render3/instructions/shared.js +82 -118
  59. package/esm2015/src/render3/instructions/styling.js +189 -236
  60. package/esm2015/src/render3/instructions/text.js +8 -7
  61. package/esm2015/src/render3/instructions/text_interpolation.js +357 -0
  62. package/esm2015/src/render3/interfaces/container.js +9 -5
  63. package/esm2015/src/render3/interfaces/definition.js +12 -6
  64. package/esm2015/src/render3/interfaces/node.js +20 -8
  65. package/esm2015/src/render3/interfaces/styling.js +16 -15
  66. package/esm2015/src/render3/interfaces/view.js +2 -2
  67. package/esm2015/src/render3/jit/directive.js +14 -5
  68. package/esm2015/src/render3/jit/environment.js +30 -15
  69. package/esm2015/src/render3/jit/module.js +38 -19
  70. package/esm2015/src/render3/ng_module_ref.js +39 -3
  71. package/esm2015/src/render3/node_manipulation.js +45 -43
  72. package/esm2015/src/render3/node_selector_matcher.js +14 -13
  73. package/esm2015/src/render3/query.js +77 -61
  74. package/esm2015/src/render3/state.js +33 -6
  75. package/esm2015/src/render3/styling/class_and_style_bindings.js +91 -79
  76. package/esm2015/src/render3/styling/host_instructions_queue.js +8 -5
  77. package/esm2015/src/render3/styling/shared.js +2 -2
  78. package/esm2015/src/render3/styling/util.js +2 -2
  79. package/esm2015/src/render3/styling_next/bindings.js +602 -0
  80. package/esm2015/src/render3/styling_next/instructions.js +366 -0
  81. package/esm2015/src/render3/styling_next/interfaces.js +374 -0
  82. package/esm2015/src/render3/styling_next/map_based_bindings.js +408 -0
  83. package/esm2015/src/render3/styling_next/state.js +51 -0
  84. package/esm2015/src/render3/styling_next/styling_debug.js +291 -0
  85. package/esm2015/src/render3/styling_next/util.js +259 -0
  86. package/esm2015/src/render3/util/attrs_utils.js +4 -3
  87. package/esm2015/src/render3/util/debug_utils.js +18 -0
  88. package/esm2015/src/render3/util/view_traversal_utils.js +2 -2
  89. package/esm2015/src/render3/view_engine_compatibility.js +24 -10
  90. package/esm2015/src/sanitization/sanitization.js +17 -7
  91. package/esm2015/src/sanitization/style_sanitizer.js +11 -1
  92. package/esm2015/src/util/ng_dev_mode.js +7 -3
  93. package/esm2015/src/version.js +1 -1
  94. package/esm2015/src/view/ng_module.js +3 -3
  95. package/esm2015/src/view/util.js +2 -2
  96. package/esm2015/testing/src/r3_test_bed_compiler.js +44 -12
  97. package/esm5/core.js +2 -3
  98. package/esm5/src/application_ref.js +6 -1
  99. package/esm5/src/codegen_private_exports.js +2 -2
  100. package/esm5/src/compiler/compiler_facade_interface.js +1 -1
  101. package/esm5/src/core_private_export.js +3 -1
  102. package/esm5/src/core_render3_private_export.js +5 -3
  103. package/esm5/src/debug/debug_node.js +4 -4
  104. package/esm5/src/di/index.js +3 -3
  105. package/esm5/src/di/injector.js +14 -74
  106. package/esm5/src/di/injector_compatibility.js +77 -6
  107. package/esm5/src/di/interface/defs.js +24 -3
  108. package/esm5/src/di/r3_injector.js +60 -37
  109. package/esm5/src/di/reflective_injector.js +3 -2
  110. package/esm5/src/i18n/locale_data.js +38 -0
  111. package/esm5/src/i18n/locale_data_api.js +46 -0
  112. package/esm5/src/i18n/locale_en.js +39 -0
  113. package/esm5/src/i18n/localization.js +29 -0
  114. package/esm5/src/linker/ng_module_factory_loader.js +4 -32
  115. package/esm5/src/linker/ng_module_factory_registration.js +50 -0
  116. package/esm5/src/metadata/ng_module.js +1 -1
  117. package/esm5/src/metadata/resource_loading.js +2 -2
  118. package/esm5/src/reflection/reflection_capabilities.js +14 -3
  119. package/esm5/src/render3/assert.js +2 -1
  120. package/esm5/src/render3/component.js +10 -4
  121. package/esm5/src/render3/debug.js +17 -10
  122. package/esm5/src/render3/definition.js +8 -2
  123. package/esm5/src/render3/errors.js +14 -1
  124. package/esm5/src/render3/features/inherit_definition_feature.js +41 -36
  125. package/esm5/src/render3/fields.js +2 -1
  126. package/esm5/src/render3/i18n.js +67 -437
  127. package/esm5/src/render3/index.js +3 -3
  128. package/esm5/src/render3/instructions/all.js +6 -1
  129. package/esm5/src/render3/instructions/attribute.js +22 -0
  130. package/esm5/src/render3/instructions/attribute_interpolation.js +346 -0
  131. package/esm5/src/render3/instructions/container.js +16 -15
  132. package/esm5/src/render3/instructions/element.js +43 -32
  133. package/esm5/src/render3/instructions/element_container.js +9 -8
  134. package/esm5/src/render3/instructions/embedded_view.js +8 -11
  135. package/esm5/src/render3/instructions/interpolation.js +243 -0
  136. package/esm5/src/render3/instructions/listener.js +3 -2
  137. package/esm5/src/render3/instructions/projection.js +6 -6
  138. package/esm5/src/render3/instructions/property.js +10 -4
  139. package/esm5/src/render3/instructions/property_interpolation.js +40 -254
  140. package/esm5/src/render3/instructions/shared.js +70 -105
  141. package/esm5/src/render3/instructions/styling.js +167 -209
  142. package/esm5/src/render3/instructions/text.js +8 -7
  143. package/esm5/src/render3/instructions/text_interpolation.js +264 -0
  144. package/esm5/src/render3/interfaces/container.js +8 -2
  145. package/esm5/src/render3/interfaces/definition.js +1 -1
  146. package/esm5/src/render3/interfaces/node.js +1 -8
  147. package/esm5/src/render3/interfaces/styling.js +2 -2
  148. package/esm5/src/render3/interfaces/view.js +1 -1
  149. package/esm5/src/render3/jit/directive.js +12 -5
  150. package/esm5/src/render3/jit/environment.js +30 -15
  151. package/esm5/src/render3/jit/module.js +23 -18
  152. package/esm5/src/render3/ng_module_ref.js +37 -3
  153. package/esm5/src/render3/node_manipulation.js +39 -38
  154. package/esm5/src/render3/node_selector_matcher.js +14 -13
  155. package/esm5/src/render3/query.js +75 -53
  156. package/esm5/src/render3/state.js +29 -5
  157. package/esm5/src/render3/styling/class_and_style_bindings.js +79 -65
  158. package/esm5/src/render3/styling/host_instructions_queue.js +6 -3
  159. package/esm5/src/render3/styling/shared.js +2 -2
  160. package/esm5/src/render3/styling/util.js +2 -2
  161. package/esm5/src/render3/styling_next/bindings.js +446 -0
  162. package/esm5/src/render3/styling_next/instructions.js +277 -0
  163. package/esm5/src/render3/styling_next/interfaces.js +1 -0
  164. package/esm5/src/render3/styling_next/map_based_bindings.js +324 -0
  165. package/esm5/src/render3/styling_next/state.js +23 -0
  166. package/esm5/src/render3/styling_next/styling_debug.js +130 -0
  167. package/esm5/src/render3/styling_next/util.js +147 -0
  168. package/esm5/src/render3/util/attrs_utils.js +4 -3
  169. package/esm5/src/render3/util/debug_utils.js +11 -0
  170. package/esm5/src/render3/util/view_traversal_utils.js +2 -2
  171. package/esm5/src/render3/view_engine_compatibility.js +23 -10
  172. package/esm5/src/sanitization/sanitization.js +14 -6
  173. package/esm5/src/sanitization/style_sanitizer.js +1 -1
  174. package/esm5/src/util/ng_dev_mode.js +7 -3
  175. package/esm5/src/version.js +1 -1
  176. package/esm5/src/view/ng_module.js +3 -3
  177. package/esm5/src/view/util.js +2 -2
  178. package/esm5/testing/src/r3_test_bed_compiler.js +37 -11
  179. package/fesm2015/core.js +13481 -10733
  180. package/fesm2015/core.js.map +1 -1
  181. package/fesm2015/testing.js +43 -11
  182. package/fesm2015/testing.js.map +1 -1
  183. package/fesm5/core.js +11255 -9269
  184. package/fesm5/core.js.map +1 -1
  185. package/fesm5/testing.js +36 -10
  186. package/fesm5/testing.js.map +1 -1
  187. package/package.json +1 -1
  188. package/schematics/migrations/template-var-assignment/index.js +2 -2
  189. package/src/r3_symbols.d.ts +5 -1
  190. package/testing/testing.d.ts +1 -1
  191. package/testing.d.ts +1 -1
package/core.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v8.0.0
2
+ * @license Angular v8.1.0-beta.0
3
3
  * (c) 2010-2019 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1142,7 +1142,6 @@ export declare abstract class ComponentRef<C> {
1142
1142
  */
1143
1143
  declare type ComponentTemplate<T> = {
1144
1144
  <U extends T>(rf: ɵRenderFlags, ctx: T | U): void;
1145
- ngPrivateData?: never;
1146
1145
  };
1147
1146
 
1148
1147
  /**
@@ -1356,7 +1355,7 @@ declare interface CreateComponentOptions {
1356
1355
  * Typically, the features in this list are features that cannot be added to the
1357
1356
  * other features list in the component definition because they rely on other factors.
1358
1357
  *
1359
- * Example: `RootLifecycleHooks` is a function that adds lifecycle hook capabilities
1358
+ * Example: `LifecycleHooksFeature` is a function that adds lifecycle hook capabilities
1360
1359
  * to root components in a tree-shakable way. It cannot be added to the component
1361
1360
  * features list because there's no way of knowing when the component will be used as
1362
1361
  * a root component.
@@ -2608,7 +2607,7 @@ declare type HostFeature = (<T>(component: T, componentDef: ɵComponentDef<T>) =
2608
2607
  * the styling is applied).
2609
2608
  *
2610
2609
  * This queue is used when any `hostStyling` instructions are executed from the `hostBindings`
2611
- * function. Template-level styling functions (e.g. `elementStylingMap` and `elementClassProp`)
2610
+ * function. Template-level styling functions (e.g. `styleMap` and `classProp`)
2612
2611
  * do not make use of this queue (they are applied to the styling context immediately).
2613
2612
  *
2614
2613
  * Due to the nature of how components/directives are evaluated, directives (both parent and
@@ -2642,7 +2641,7 @@ declare type HostFeature = (<T>(component: T, componentDef: ɵComponentDef<T>) =
2642
2641
  * inside of `renderStyling`).
2643
2642
  *
2644
2643
  * Right now each directive's hostBindings function, as well the template function, both
2645
- * call `elementStylingApply()` and `hostStylingApply()`. The fact that this is called
2644
+ * call `stylingApply()` and `hostStylingApply()`. The fact that this is called
2646
2645
  * multiple times for the same element (b/c of change detection) causes some issues. To avoid
2647
2646
  * having styling code be rendered on an element multiple times, the `HostInstructionsQueue`
2648
2647
  * reserves a slot for a reference pointing to the very last directive that was registered and
@@ -3807,14 +3806,6 @@ declare interface LContainer extends Array<any> {
3807
3806
  [T_HOST]: TNode;
3808
3807
  /** The comment element that serves as an anchor for this LContainer. */
3809
3808
  readonly [NATIVE]: RComment;
3810
- /**
3811
- *A list of the container's currently active child views. Views will be inserted
3812
- *here as they are added and spliced from here when they are removed. We need
3813
- *to keep a record of current views so we know which views are already in the DOM
3814
- *(and don't need to be re-added) and so we can remove views from the DOM when they
3815
- *are no longer required.
3816
- */
3817
- [VIEWS]: ɵangular_packages_core_core_bm[];
3818
3809
  }
3819
3810
 
3820
3811
  /**
@@ -3908,6 +3899,36 @@ declare interface LQueries {
3908
3899
  track<T>(queryList: QueryList<T>, predicate: Type<any> | string[], descend?: boolean, read?: Type<T>): void;
3909
3900
  }
3910
3901
 
3902
+ /**
3903
+ * Array-based representation of a key/value array.
3904
+ *
3905
+ * The format of the array is "property", "value", "property2",
3906
+ * "value2", etc...
3907
+ *
3908
+ * The first value in the array is reserved to store the instance
3909
+ * of the key/value array that was used to populate the property/
3910
+ * value entries that take place in the remainder of the array.
3911
+ */
3912
+ declare interface LStylingMap extends Array<{} | string | number | null> {
3913
+ [LStylingMapIndex.RawValuePosition]: {} | string | null;
3914
+ }
3915
+
3916
+ /**
3917
+ * An index of position and offset points for any data stored within a `LStylingMap` instance.
3918
+ */
3919
+ declare const enum LStylingMapIndex {
3920
+ /** The location of the raw key/value map instance used last to populate the array entries */
3921
+ RawValuePosition = 0,
3922
+ /** Where the values start in the array */
3923
+ ValuesStartPosition = 1,
3924
+ /** The size of each property/value entry */
3925
+ TupleSize = 2,
3926
+ /** The offset for the property entry in the tuple */
3927
+ PropOffset = 0,
3928
+ /** The offset for the value entry in the tuple */
3929
+ ValueOffset = 1
3930
+ }
3931
+
3911
3932
  /** Flags associated with an LView (saved in LView[FLAGS]) */
3912
3933
  declare const enum LViewFlags {
3913
3934
  /** The state of the init phase on the first 2 bits */
@@ -5380,6 +5401,7 @@ declare class R3Injector {
5380
5401
  */
5381
5402
  destroy(): void;
5382
5403
  get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: any, flags?: InjectFlags): T;
5404
+ toString(): string;
5383
5405
  private assertNotDestroyed;
5384
5406
  /**
5385
5407
  * Add an `InjectorType` or `InjectorDefTypeWithProviders` and all of its transitive providers
@@ -6496,11 +6518,31 @@ export declare type StaticProvider = ValueProvider | ExistingProvider | StaticCl
6496
6518
  * If a value is provided then the sanitized version of that will be returned.
6497
6519
  */
6498
6520
  declare interface StyleSanitizeFn {
6499
- /** This mode is designed to instruct whether the property will be used for sanitization
6500
- * at a later point */
6501
- (prop: string): boolean;
6502
- /** This mode is designed to sanitize the provided value */
6503
- (prop: string, value: string): string;
6521
+ (prop: string, value: string | null, mode?: StyleSanitizeMode): any;
6522
+ }
6523
+
6524
+ /**
6525
+ * A series of flags to instruct a style sanitizer to either validate
6526
+ * or sanitize a value.
6527
+ *
6528
+ * Because sanitization is dependent on the style property (i.e. style
6529
+ * sanitization for `width` is much different than for `background-image`)
6530
+ * the sanitization function (e.g. `StyleSanitizerFn`) needs to check a
6531
+ * property value first before it actually sanitizes any values.
6532
+ *
6533
+ * This enum exist to allow a style sanitization function to either only
6534
+ * do validation (check the property to see whether a value will be
6535
+ * sanitized or not) or to sanitize the value (or both).
6536
+ *
6537
+ * @publicApi
6538
+ */
6539
+ declare const enum StyleSanitizeMode {
6540
+ /** Just check to see if the property is required to be sanitized or not */
6541
+ ValidateProperty = 1,
6542
+ /** Skip checking the property; just sanitize the value */
6543
+ SanitizeOnly = 2,
6544
+ /** Check the property and (if true) then sanitize the value */
6545
+ ValidateAndSanitize = 3
6504
6546
  }
6505
6547
 
6506
6548
  /**
@@ -6542,7 +6584,7 @@ declare interface StyleSanitizeFn {
6542
6584
  * Once the styling context is created then single and multi properties can be stored within it.
6543
6585
  * For this to happen, the following function needs to be called:
6544
6586
  *
6545
- * `elementStyling` (called with style properties, class properties and a sanitizer + a directive
6587
+ * `styling` (called with style properties, class properties and a sanitizer + a directive
6546
6588
  * instance).
6547
6589
  *
6548
6590
  * When this instruction is called it will populate the styling context with the provided style
@@ -6613,8 +6655,8 @@ declare interface StyleSanitizeFn {
6613
6655
  * values are and how they work.
6614
6656
  *
6615
6657
  * Each time a binding property is updated (whether it be through a single
6616
- * property instruction like `elementStyleProp`, `elementClassProp` or
6617
- * `elementStylingMap`) then the values in the context will be updated as
6658
+ * property instruction like `styleProp`, `classProp`,
6659
+ * `styleMap` or `classMap`) then the values in the context will be updated as
6618
6660
  * well.
6619
6661
  *
6620
6662
  * If for example `[style.width]` updates to `555px` then its value will be reflected
@@ -6633,9 +6675,9 @@ declare interface StyleSanitizeFn {
6633
6675
  *
6634
6676
  * Despite the context being updated, nothing has been rendered on screen (not styles or
6635
6677
  * classes have been set on the element). To kick off rendering for an element the following
6636
- * function needs to be run `elementStylingApply`.
6678
+ * function needs to be run `stylingApply`.
6637
6679
  *
6638
- * `elementStylingApply` will run through the context and find each dirty value and render them onto
6680
+ * `stylingApply` will run through the context and find each dirty value and render them onto
6639
6681
  * the element. Once complete, all styles/classes will be set to clean. Because of this, the render
6640
6682
  * function will now know not to rerun itself again if called again unless new style/class values
6641
6683
  * have changed.
@@ -6649,11 +6691,12 @@ declare interface StyleSanitizeFn {
6649
6691
  * Each of the following instructions supports accepting a directive instance as an input parameter:
6650
6692
  *
6651
6693
  * - `elementHostAttrs`
6652
- * - `elementStyling`
6653
- * - `elementStyleProp`
6654
- * - `elementClassProp`
6655
- * - `elementStylingMap`
6656
- * - `elementStylingApply`
6694
+ * - `styling`
6695
+ * - `styleProp`
6696
+ * - `classProp`
6697
+ * - `styleMap`
6698
+ * - `classMap`
6699
+ * - `stylingApply`
6657
6700
  *
6658
6701
  * Each time a directive value is passed in, it will be converted into an index by examining the
6659
6702
  * directive registry (which lives in the context configuration area). The index is then used
@@ -6747,7 +6790,7 @@ declare interface StyleSanitizeFn {
6747
6790
  *
6748
6791
  * ## Rendering
6749
6792
  * The rendering mechanism (when the styling data is applied on screen) occurs via the
6750
- * `elementStylingApply` function and is designed to run after **all** styling functions have been
6793
+ * `stylingApply` function and is designed to run after **all** styling functions have been
6751
6794
  * evaluated. The rendering algorithm will loop over the context and only apply the styles that are
6752
6795
  * flagged as dirty (either because they are new, updated or have been removed via multi or
6753
6796
  * single bindings).
@@ -6779,17 +6822,17 @@ declare interface StylingContext extends Array<{
6779
6822
  [StylingIndex.InitialClassValuesPosition]: InitialStylingValues;
6780
6823
  /**
6781
6824
  * A numeric value representing the class index offset value. Whenever a single class is
6782
- * applied (using `elementClassProp`) it should have an styling index value that doesn't
6825
+ * applied (using `classProp`) it should have an styling index value that doesn't
6783
6826
  * need to take into account any style values that exist in the context.
6784
6827
  */
6785
6828
  [StylingIndex.SinglePropOffsetPositions]: SinglePropOffsetValues;
6786
6829
  /**
6787
- * The last class value that was interpreted by elementStylingMap. This is cached
6830
+ * The last class value that was interpreted by `styleMap`. This is cached
6788
6831
  * So that the algorithm can exit early incase the value has not changed.
6789
6832
  */
6790
6833
  [StylingIndex.CachedMultiClasses]: any | MapBasedOffsetValues;
6791
6834
  /**
6792
- * The last style value that was interpreted by elementStylingMap. This is cached
6835
+ * The last style value that was interpreted by `classMap`. This is cached
6793
6836
  * So that the algorithm can exit early incase the value has not changed.
6794
6837
  */
6795
6838
  [StylingIndex.CachedMultiStyles]: any | MapBasedOffsetValues;
@@ -6797,12 +6840,12 @@ declare interface StylingContext extends Array<{
6797
6840
  * A queue of all hostStyling instructions.
6798
6841
  *
6799
6842
  * This array (queue) is populated only when host-level styling instructions
6800
- * (e.g. `hostStylingMap` and `hostClassProp`) are used to apply style and
6843
+ * (e.g. `hostStyleMap` and `hostClassProp`) are used to apply style and
6801
6844
  * class values via host bindings to the host element. Despite these being
6802
6845
  * standard angular instructions, they are not designed to immediately apply
6803
6846
  * their values to the styling context when executed. What happens instead is
6804
6847
  * a queue is constructed and each instruction is populated into the queue.
6805
- * Then, once the style/class values are set to flush (via `elementStylingApply` or
6848
+ * Then, once the style/class values are set to flush (via `stylingApply` or
6806
6849
  * `hostStylingApply`), the queue is flushed and the values are rendered onto
6807
6850
  * the host element.
6808
6851
  */
@@ -7409,6 +7452,8 @@ declare interface TNode {
7409
7452
  * with functions each time the creation block is called.
7410
7453
  */
7411
7454
  onElementCreationFns: Function[] | null;
7455
+ newStyles: TStylingContext | null;
7456
+ newClasses: TStylingContext | null;
7412
7457
  }
7413
7458
 
7414
7459
  /**
@@ -7612,6 +7657,313 @@ declare interface TrustedUrlString extends TrustedString {
7612
7657
  */
7613
7658
  declare type TsickleIssue1009 = any;
7614
7659
 
7660
+ /**
7661
+ * A series of flags used to configure the config value present within a
7662
+ * `TStylingContext` value.
7663
+ */
7664
+ declare const enum TStylingConfigFlags {
7665
+ /**
7666
+ * The initial state of the styling context config
7667
+ */
7668
+ Initial = 0,
7669
+ /**
7670
+ * A flag which marks the context as being locked.
7671
+ *
7672
+ * The styling context is constructed across an element template
7673
+ * function as well as any associated hostBindings functions. When
7674
+ * this occurs, the context itself is open to mutation and only once
7675
+ * it has been flushed once then it will be locked for good (no extra
7676
+ * bindings can be added to it).
7677
+ */
7678
+ Locked = 1
7679
+ }
7680
+
7681
+ /**
7682
+ * --------
7683
+ *
7684
+ * This file contains the core interfaces for styling in Angular.
7685
+ *
7686
+ * To learn more about the algorithm see `TStylingContext`.
7687
+ *
7688
+ * --------
7689
+ */
7690
+ /**
7691
+ * A static-level representation of all style or class bindings/values
7692
+ * associated with a `TNode`.
7693
+ *
7694
+ * The `TStylingContext` unites all template styling bindings (i.e.
7695
+ * `[class]` and `[style]` bindings) as well as all host-level
7696
+ * styling bindings (for components and directives) together into
7697
+ * a single manifest. It is used each time there are one or more
7698
+ * styling bindings present for an element.
7699
+ *
7700
+ * The styling context is stored on a `TNode` on and there are
7701
+ * two instances of it: one for classes and another for styles.
7702
+ *
7703
+ * ```typescript
7704
+ * tNode.styles = [ ... a context only for styles ... ];
7705
+ * tNode.classes = [ ... a context only for classes ... ];
7706
+ * ```
7707
+ *
7708
+ * Due to the fact the the `TStylingContext` is stored on a `TNode`
7709
+ * this means that all data within the context is static. Instead of
7710
+ * storing actual styling binding values, the lView binding index values
7711
+ * are stored within the context. (static nature means it is more compact.)
7712
+
7713
+ *
7714
+ * ```typescript
7715
+ * // <div [class.active]="c" // lView binding index = 20
7716
+ * // [style.width]="x" // lView binding index = 21
7717
+ * // [style.height]="y"> // lView binding index = 22
7718
+ * tNode.stylesContext = [
7719
+ * 0, // the context config value
7720
+ *
7721
+ * 0b001, // guard mask for width
7722
+ * 2, // total entries for width
7723
+ * 'width', // the property name
7724
+ * 21, // the binding location for the "x" binding in the lView
7725
+ * null,
7726
+ *
7727
+ * 0b010, // guard mask for height
7728
+ * 2, // total entries for height
7729
+ * 'height', // the property name
7730
+ * 22, // the binding location for the "y" binding in the lView
7731
+ * null,
7732
+ * ];
7733
+ *
7734
+ * tNode.classesContext = [
7735
+ * 0, // the context config value
7736
+ *
7737
+ * 0b001, // guard mask for active
7738
+ * 2, // total entries for active
7739
+ * 'active', // the property name
7740
+ * 20, // the binding location for the "c" binding in the lView
7741
+ * null,
7742
+ * ];
7743
+ * ```
7744
+ *
7745
+ * Entry value present in an entry (called a tuple) within the
7746
+ * styling context is as follows:
7747
+ *
7748
+ * ```typescript
7749
+ * context = [
7750
+ * CONFIG, // the styling context config value
7751
+ * //...
7752
+ * guardMask,
7753
+ * totalEntries,
7754
+ * propName,
7755
+ * bindingIndices...,
7756
+ * defaultValue
7757
+ * ];
7758
+ * ```
7759
+ *
7760
+ * Below is a breakdown of each value:
7761
+ *
7762
+ * - **guardMask**:
7763
+ * A numeric value where each bit represents a binding index
7764
+ * location. Each binding index location is assigned based on
7765
+ * a local counter value that increments each time an instruction
7766
+ * is called:
7767
+ *
7768
+ * ```
7769
+ * <div [style.width]="x" // binding index = 21 (counter index = 0)
7770
+ * [style.height]="y"> // binding index = 22 (counter index = 1)
7771
+ * ```
7772
+ *
7773
+ * In the example code above, if the `width` value where to change
7774
+ * then the first bit in the local bit mask value would be flipped
7775
+ * (and the second bit for when `height`).
7776
+ *
7777
+ * If and when there are more than 32 binding sources in the context
7778
+ * (more than 32 `[style/class]` bindings) then the bit masking will
7779
+ * overflow and we are left with a situation where a `-1` value will
7780
+ * represent the bit mask. Due to the way that JavaScript handles
7781
+ * negative values, when the bit mask is `-1` then all bits within
7782
+ * that value will be automatically flipped (this is a quick and
7783
+ * efficient way to flip all bits on the mask when a special kind
7784
+ * of caching scenario occurs or when there are more than 32 bindings).
7785
+ *
7786
+ * - **totalEntries**:
7787
+ * Each property present in the contains various binding sources of
7788
+ * where the styling data could come from. This includes template
7789
+ * level bindings, directive/component host bindings as well as the
7790
+ * default value (or static value) all writing to the same property.
7791
+ * This value depicts how many binding source entries exist for the
7792
+ * property.
7793
+ *
7794
+ * The reason why the totalEntries value is needed is because the
7795
+ * styling context is dynamic in size and it's not possible
7796
+ * for the flushing or update algorithms to know when and where
7797
+ * a property starts and ends without it.
7798
+ *
7799
+ * - **propName**:
7800
+ * The CSS property name or class name (e.g `width` or `active`).
7801
+ *
7802
+ * - **bindingIndices...**:
7803
+ * A series of numeric binding values that reflect where in the
7804
+ * lView to find the style/class values associated with the property.
7805
+ * Each value is in order in terms of priority (templates are first,
7806
+ * then directives and then components). When the context is flushed
7807
+ * and the style/class values are applied to the element (this happens
7808
+ * inside of the `stylingApply` instruction) then the flushing code
7809
+ * will keep checking each binding index against the associated lView
7810
+ * to find the first style/class value that is non-null.
7811
+ *
7812
+ * - **defaultValue**:
7813
+ * This is the default that will always be applied to the element if
7814
+ * and when all other binding sources return a result that is null.
7815
+ * Usually this value is null but it can also be a static value that
7816
+ * is intercepted when the tNode is first constructured (e.g.
7817
+ * `<div style="width:200px">` has a default value of `200px` for
7818
+ * the `width` property).
7819
+ *
7820
+ * Each time a new binding is encountered it is registered into the
7821
+ * context. The context then is continually updated until the first
7822
+ * styling apply call has been called (this is triggered by the
7823
+ * `stylingApply()` instruction for the active element).
7824
+ *
7825
+ * # How Styles/Classes are Rendered
7826
+ * Each time a styling instruction (e.g. `[class.name]`, `[style.prop]`,
7827
+ * etc...) is executed, the associated `lView` for the view is updated
7828
+ * at the current binding location. Also, when this happens, a local
7829
+ * counter value is incremented. If the binding value has changed then
7830
+ * a local `bitMask` variable is updated with the specific bit based
7831
+ * on the counter value.
7832
+ *
7833
+ * Below is a lightweight example of what happens when a single style
7834
+ * property is updated (i.e. `<div [style.prop]="val">`):
7835
+ *
7836
+ * ```typescript
7837
+ * function updateStyleProp(prop: string, value: string) {
7838
+ * const lView = getLView();
7839
+ * const bindingIndex = BINDING_INDEX++;
7840
+ * const indexForStyle = localStylesCounter++;
7841
+ * if (lView[bindingIndex] !== value) {
7842
+ * lView[bindingIndex] = value;
7843
+ * localBitMaskForStyles |= 1 << indexForStyle;
7844
+ * }
7845
+ * }
7846
+ * ```
7847
+ *
7848
+ * ## The Apply Algorithm
7849
+ * As explained above, each time a binding updates its value, the resulting
7850
+ * value is stored in the `lView` array. These styling values have yet to
7851
+ * be flushed to the element.
7852
+ *
7853
+ * Once all the styling instructions have been evaluated, then the styling
7854
+ * context(s) are flushed to the element. When this happens, the context will
7855
+ * be iterated over (property by property) and each binding source will be
7856
+ * examined and the first non-null value will be applied to the element.
7857
+ *
7858
+ * Let's say that we the following template code:
7859
+ *
7860
+ * ```html
7861
+ * <div [style.width]="w1" dir-that-set-width="w2"></div>
7862
+ * ```
7863
+ *
7864
+ * There are two styling bindings in the code above and they both write
7865
+ * to the `width` property. When styling is flushed on the element, the
7866
+ * algorithm will try and figure out which one of these values to write
7867
+ * to the element.
7868
+ *
7869
+ * In order to figure out which value to apply, the following
7870
+ * binding prioritization is adhered to:
7871
+ *
7872
+ * 1. First template-level styling bindings are applied (if present).
7873
+ * This includes things like `[style.width]` and `[class.active]`.
7874
+ *
7875
+ * 2. Second are styling-level host bindings present in directives.
7876
+ * (if there are sub/super directives present then the sub directives
7877
+ * are applied first).
7878
+ *
7879
+ * 3. Third are styling-level host bindings present in components.
7880
+ * (if there are sub/super components present then the sub directives
7881
+ * are applied first).
7882
+ *
7883
+ * This means that in the code above the styling binding present in the
7884
+ * template is applied first and, only if its falsy, then the directive
7885
+ * styling binding for width will be applied.
7886
+ *
7887
+ * ### What about map-based styling bindings?
7888
+ * Map-based styling bindings are activated when there are one or more
7889
+ * `[style]` and/or `[class]` bindings present on an element. When this
7890
+ * code is activated, the apply algorithm will iterate over each map
7891
+ * entry and apply each styling value to the element with the same
7892
+ * prioritization rules as above.
7893
+ *
7894
+ * For the algorithm to apply styling values efficiently, the
7895
+ * styling map entries must be applied in sync (property by property)
7896
+ * with prop-based bindings. (The map-based algorithm is described
7897
+ * more inside of the `render3/styling_next/map_based_bindings.ts` file.)
7898
+ *
7899
+ * ## Sanitization
7900
+ * Sanitization is used to prevent invalid style values from being applied to
7901
+ * the element.
7902
+ *
7903
+ * It is enabled in two cases:
7904
+ *
7905
+ * 1. The `styleSanitizer(sanitizerFn)` instruction was called (just before any other
7906
+ * styling instructions are run).
7907
+ *
7908
+ * 2. The component/directive `LView` instance has a sanitizer object attached to it
7909
+ * (this happens when `renderComponent` is executed with a `sanitizer` value or
7910
+ * if the ngModule contains a sanitizer provider attached to it).
7911
+ *
7912
+ * If and when sanitization is active then all property/value entries will be evaluated
7913
+ * through the active sanitizer before they are applied to the element (or the styling
7914
+ * debug handler).
7915
+ *
7916
+ * If a `Sanitizer` object is used (via the `LView[SANITIZER]` value) then that object
7917
+ * will be used for every property.
7918
+ *
7919
+ * If a `StyleSanitizerFn` function is used (via the `styleSanitizer`) then it will be
7920
+ * called in two ways:
7921
+ *
7922
+ * 1. property validation mode: this will be called early to mark whether a property
7923
+ * should be sanitized or not at during the flushing stage.
7924
+ *
7925
+ * 2. value sanitization mode: this will be called during the flushing stage and will
7926
+ * run the sanitizer function against the value before applying it to the element.
7927
+ *
7928
+ * If sanitization returns an empty value then that empty value will be applied
7929
+ * to the element.
7930
+ */
7931
+ declare interface TStylingContext extends Array<number | string | number | boolean | null | LStylingMap> {
7932
+ /** Configuration data for the context */
7933
+ [TStylingContextIndex.ConfigPosition]: TStylingConfigFlags;
7934
+ /** Temporary value used to track directive index entries until
7935
+ the old styling code is fully removed. The reason why this
7936
+ is required is to figure out which directive is last and,
7937
+ when encountered, trigger a styling flush to happen */
7938
+ [TStylingContextIndex.MaxDirectiveIndexPosition]: number;
7939
+ /** The bit guard value for all map-based bindings on an element */
7940
+ [TStylingContextIndex.MapBindingsBitGuardPosition]: number;
7941
+ /** The total amount of map-based bindings present on an element */
7942
+ [TStylingContextIndex.MapBindingsValuesCountPosition]: number;
7943
+ /** The prop value for map-based bindings (there actually isn't a
7944
+ * value at all, but this is just used in the context to avoid
7945
+ * having any special code to update the binding information for
7946
+ * map-based entries). */
7947
+ [TStylingContextIndex.MapBindingsPropPosition]: string;
7948
+ }
7949
+
7950
+ /**
7951
+ * An index of position and offset values used to natigate the `TStylingContext`.
7952
+ */
7953
+ declare const enum TStylingContextIndex {
7954
+ ConfigPosition = 0,
7955
+ MaxDirectiveIndexPosition = 1,
7956
+ MapBindingsPosition = 2,
7957
+ MapBindingsBitGuardPosition = 2,
7958
+ MapBindingsValuesCountPosition = 3,
7959
+ MapBindingsPropPosition = 4,
7960
+ MapBindingsBindingsStartPosition = 5,
7961
+ ConfigAndGuardOffset = 0,
7962
+ ValuesCountOffset = 1,
7963
+ PropOffset = 2,
7964
+ BindingsStartOffset = 3
7965
+ }
7966
+
7615
7967
  /** Static data for a text node */
7616
7968
  declare interface TTextNode extends TNode {
7617
7969
  /** Index in the data[] array */
@@ -7633,7 +7985,7 @@ declare const TVIEW = 1;
7633
7985
  * The static data for an LView (shared between all templates of a
7634
7986
  * given type).
7635
7987
  *
7636
- * Stored on the template function as ngPrivateData.
7988
+ * Stored on the `ComponentDef.tView`.
7637
7989
  */
7638
7990
  declare interface TView {
7639
7991
  /**
@@ -8535,8 +8887,6 @@ declare class ViewRef_2<T> implements EmbeddedViewRef<T>, InternalViewRef, viewE
8535
8887
  private _lookUpContext;
8536
8888
  }
8537
8889
 
8538
- declare const VIEWS = 8;
8539
-
8540
8890
  /**
8541
8891
  * Bitmask of states
8542
8892
  */
@@ -8714,13 +9064,13 @@ export declare const ɵALLOW_MULTIPLE_PLATFORMS: InjectionToken<boolean>;
8714
9064
 
8715
9065
  export declare function ɵand(flags: ɵNodeFlags, matchedQueriesDsl: null | [string | number, ɵQueryValueType][], ngContentIndex: null | number, childCount: number, handleEvent?: null | ElementHandleEventFn, templateFactory?: ViewDefinitionFactory): NodeDef;
8716
9066
 
8717
- export declare class ɵangular_packages_core_core_a implements Injector {
8718
- get(token: any, notFoundValue?: any): any;
8719
- }
9067
+ export declare function ɵangular_packages_core_core_a<T>(token: Type<T> | InjectionToken<T>): T;
8720
9068
 
8721
- export declare function ɵangular_packages_core_core_b<T>(token: Type<T> | InjectionToken<T>): T;
9069
+ export declare function ɵangular_packages_core_core_a<T>(token: Type<T> | InjectionToken<T>, flags?: InjectFlags): T | null;
8722
9070
 
8723
- export declare function ɵangular_packages_core_core_b<T>(token: Type<T> | InjectionToken<T>, flags?: InjectFlags): T | null;
9071
+ export declare class ɵangular_packages_core_core_b implements Injector {
9072
+ get(token: any, notFoundValue?: any): any;
9073
+ }
8724
9074
 
8725
9075
  export declare abstract class ɵangular_packages_core_core_ba {
8726
9076
  abstract readonly view: ViewData;
@@ -9305,7 +9655,22 @@ export declare const enum ɵAttributeMarker {
9305
9655
  * ['attr', 'value', AttributeMarker.ProjectAs, ['', 'title', '']]
9306
9656
  * ```
9307
9657
  */
9308
- ProjectAs = 5
9658
+ ProjectAs = 5,
9659
+ /**
9660
+ * Signals that the following attribute will be translated by runtime i18n
9661
+ *
9662
+ * For example, given the following HTML:
9663
+ *
9664
+ * ```
9665
+ * <div moo="car" foo="value" i18n-foo [bar]="binding" i18n-bar>
9666
+ * ```
9667
+ *
9668
+ * the generated code is:
9669
+ *
9670
+ * ```
9671
+ * var _c1 = ['moo', 'car', AttributeMarker.I18n, 'foo', 'bar'];
9672
+ */
9673
+ I18n = 6
9309
9674
  }
9310
9675
 
9311
9676
  export declare const enum ɵBindingFlags {
@@ -9480,8 +9845,11 @@ export declare function ɵcompileNgModule(moduleType: Type<any>, ngModule?: NgMo
9480
9845
 
9481
9846
  /**
9482
9847
  * Compiles and adds the `ngModuleDef` and `ngInjectorDef` properties to the module class.
9848
+ *
9849
+ * It's possible to compile a module via this API which will allow duplicate declarations in its
9850
+ * root.
9483
9851
  */
9484
- export declare function ɵcompileNgModuleDefs(moduleType: ɵNgModuleType, ngModule: NgModule): void;
9852
+ export declare function ɵcompileNgModuleDefs(moduleType: ɵNgModuleType, ngModule: NgModule, allowDuplicateDeclarationsInRoot?: boolean): void;
9485
9853
 
9486
9854
  export declare function ɵcompileNgModuleFactory__POST_R3__<M>(injector: Injector, options: CompilerOptions, moduleType: Type<M>): Promise<NgModuleFactory<M>>;
9487
9855
 
@@ -9579,6 +9947,11 @@ export declare interface ɵComponentDef<T> extends ɵDirectiveDef<T> {
9579
9947
  * The set of schemas that declare elements to be allowed in the component's template.
9580
9948
  */
9581
9949
  schemas: SchemaMetadata[] | null;
9950
+ /**
9951
+ * Ivy runtime uses this place to store the computed tView for the component. This gets filled on
9952
+ * the first run of component.
9953
+ */
9954
+ tView: TView | null;
9582
9955
  /**
9583
9956
  * Used to store the result of `noSideEffects` function so that it is not removed by closure
9584
9957
  * compiler. The property should never be read.
@@ -9626,6 +9999,13 @@ export declare function ɵcrt(values: {
9626
9999
  */
9627
10000
  export declare type ɵCssSelectorList = CssSelector[];
9628
10001
 
10002
+ /**
10003
+ * The locale id that the application is currently using (for translations and ICU expressions).
10004
+ * This is the ivy version of `LOCALE_ID` that was defined as an injection token for the view engine
10005
+ * but is now defined as a global value.
10006
+ */
10007
+ export declare const ɵDEFAULT_LOCALE_ID = "en-US";
10008
+
9629
10009
  export declare const ɵdefaultIterableDiffers: IterableDiffers;
9630
10010
 
9631
10011
  export declare const ɵdefaultKeyValueDiffers: KeyValueDiffers;
@@ -9695,10 +10075,6 @@ export declare interface ɵDirectiveDef<T> extends ɵɵBaseDef<T> {
9695
10075
  * Factory function used to create a new directive instance.
9696
10076
  */
9697
10077
  factory: FactoryFn<T>;
9698
- /**
9699
- * Refreshes host bindings on the associated directive.
9700
- */
9701
- hostBindings: HostBindingsFunction<T> | null;
9702
10078
  onChanges: (() => void) | null;
9703
10079
  onInit: (() => void) | null;
9704
10080
  doCheck: (() => void) | null;
@@ -9741,6 +10117,15 @@ export declare const ɵEMPTY_MAP: {
9741
10117
  [key: string]: any;
9742
10118
  };
9743
10119
 
10120
+ /**
10121
+ * Finds the locale data for a given locale.
10122
+ *
10123
+ * @param locale The locale code.
10124
+ * @returns The locale data.
10125
+ * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)
10126
+ */
10127
+ export declare function ɵfindLocaleData(locale: string): any;
10128
+
9744
10129
  /**
9745
10130
  * Loops over queued module definitions, if a given module definition has all of its
9746
10131
  * declarations resolved, it dequeues that module definition and sets the scope on
@@ -9778,9 +10163,10 @@ export declare function ɵgetDirectives(target: {}): Array<{}>;
9778
10163
  export declare function ɵgetHostElement<T>(directive: T): Element;
9779
10164
 
9780
10165
  /**
9781
- * Read the `ngInjectableDef` type in a way which is immune to accidentally reading inherited value.
10166
+ * Read the `ngInjectableDef` for `type` in a way which is immune to accidentally reading inherited
10167
+ * value.
9782
10168
  *
9783
- * @param type type which may have `ngInjectableDef`
10169
+ * @param type A type which may have its own (non-inherited) `ngInjectableDef`.
9784
10170
  */
9785
10171
  export declare function ɵgetInjectableDef<T>(type: any): ɵɵInjectableDef<T> | null;
9786
10172
 
@@ -9805,6 +10191,17 @@ export declare function ɵgetInjectableDef<T>(type: any): ɵɵInjectableDef<T> |
9805
10191
  */
9806
10192
  export declare function ɵgetLContext(target: any): ɵLContext | null;
9807
10193
 
10194
+
10195
+ /**
10196
+ * Retrieves the plural function used by ICU expressions to determine the plural case to use
10197
+ * for a given locale.
10198
+ * @param locale A locale code for the locale format rules to use.
10199
+ * @returns The plural function for the locale.
10200
+ * @see `NgPlural`
10201
+ * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)
10202
+ */
10203
+ export declare function ɵgetLocalePluralCase(locale: string): (value: number) => number;
10204
+
9808
10205
  export declare function ɵgetModuleFactory__POST_R3__(id: string): NgModuleFactory<any>;
9809
10206
 
9810
10207
  /**
@@ -9833,6 +10230,8 @@ export declare function ɵi18nConfigureLocalize(options?: I18nLocalizeOptions):
9833
10230
 
9834
10231
  export declare function ɵinitServicesIfNeeded(): void;
9835
10232
 
10233
+ export declare function ɵINJECTOR_IMPL__POST_R3__(providers: StaticProvider[], parent: Injector | undefined, name: string): Injector;
10234
+
9836
10235
  export declare function ɵinlineInterpolate(valueCount: number, c0: string, a1: any, c1: string, a2?: any, c2?: string, a3?: any, c3?: string, a4?: any, c4?: string, a5?: any, c5?: string, a6?: any, c6?: string, a7?: any, c7?: string, a8?: any, c8?: string, a9?: any, c9?: string): string;
9837
10236
 
9838
10237
  export declare function ɵinterpolate(valueCount: number, constAndInterp: string[]): string;
@@ -9917,6 +10316,39 @@ export declare interface ɵLContext {
9917
10316
  */
9918
10317
  export declare function ɵLifecycleHooksFeature(component: any, def: ɵComponentDef<any>): void;
9919
10318
 
10319
+ /**
10320
+ * This const is used to store the locale data registered with `registerLocaleData`
10321
+ */
10322
+ export declare const ɵLOCALE_DATA: {
10323
+ [localeId: string]: any;
10324
+ };
10325
+
10326
+ /**
10327
+ * Index of each type of locale data from the locale data array
10328
+ */
10329
+ export declare enum ɵLocaleDataIndex {
10330
+ LocaleId = 0,
10331
+ DayPeriodsFormat = 1,
10332
+ DayPeriodsStandalone = 2,
10333
+ DaysFormat = 3,
10334
+ DaysStandalone = 4,
10335
+ MonthsFormat = 5,
10336
+ MonthsStandalone = 6,
10337
+ Eras = 7,
10338
+ FirstDayOfWeek = 8,
10339
+ WeekendRange = 9,
10340
+ DateFormat = 10,
10341
+ TimeFormat = 11,
10342
+ DateTimeFormat = 12,
10343
+ NumberSymbols = 13,
10344
+ NumberFormats = 14,
10345
+ CurrencySymbol = 15,
10346
+ CurrencyName = 16,
10347
+ Currencies = 17,
10348
+ PluralCase = 18,
10349
+ ExtraData = 19
10350
+ }
10351
+
9920
10352
 
9921
10353
  export declare function ɵlooseIdentical(a: any, b: any): boolean;
9922
10354
 
@@ -10009,6 +10441,8 @@ export declare interface ɵNgModuleDef<T> {
10009
10441
  transitiveCompileScopes: ɵNgModuleTransitiveScopes | null;
10010
10442
  /** The set of schemas that declare elements to be allowed in the NgModule. */
10011
10443
  schemas: SchemaMetadata[] | null;
10444
+ /** Unique ID for the module with which it should be registered. */
10445
+ id: string | null;
10012
10446
  }
10013
10447
 
10014
10448
  export declare class ɵNgModuleFactory<T> extends NgModuleFactory<T> {
@@ -10303,7 +10737,7 @@ export declare class ɵReflectionCapabilities implements PlatformReflectionCapab
10303
10737
  */
10304
10738
  export declare function ɵregisterModuleFactory(id: string, factory: NgModuleFactory<any>): void;
10305
10739
 
10306
- export declare function ɵregisterNgModuleType(id: string, ngModuleType: ɵNgModuleType): void;
10740
+ export declare function ɵregisterNgModuleType(ngModuleType: ɵNgModuleType): void;
10307
10741
 
10308
10742
  /**
10309
10743
  * Render3 implementation of {@link viewEngine_ComponentFactory}.
@@ -10463,6 +10897,15 @@ export declare function ɵsetClassMetadata(type: Type<any>, decorators: any[] |
10463
10897
 
10464
10898
  export declare function ɵsetCurrentInjector(injector: Injector | null | undefined): Injector | undefined | null;
10465
10899
 
10900
+ /**
10901
+ * Sets the locale id that will be used for translations and ICU expressions.
10902
+ * This is the ivy version of `LOCALE_ID` that was defined as an injection token for the view engine
10903
+ * but is now defined as a global value.
10904
+ *
10905
+ * @param localeId
10906
+ */
10907
+ export declare function ɵsetLocaleId(localeId: string): void;
10908
+
10466
10909
 
10467
10910
  export declare type ɵSetterFn = (obj: any, value: any) => void;
10468
10911
 
@@ -10571,129 +11014,490 @@ export declare function ɵwhenRendered(component: any): Promise<null>;
10571
11014
  export declare function ɵɵallocHostVars(count: number): void;
10572
11015
 
10573
11016
  /**
10574
- * Runtime information for classes that are inherited by components or directives
10575
- * that aren't defined as components or directives.
11017
+ * Updates the value of or removes a bound attribute on an Element.
10576
11018
  *
10577
- * This is an internal data structure used by the renderer to determine what inputs
10578
- * and outputs should be inherited.
11019
+ * Used in the case of `[attr.title]="value"`
10579
11020
  *
10580
- * See: {@link defineBase}
11021
+ * @param name name The name of the attribute.
11022
+ * @param value value The attribute is removed when value is `null` or `undefined`.
11023
+ * Otherwise the attribute value is set to the stringified value.
11024
+ * @param sanitizer An optional function used to sanitize the value.
11025
+ * @param namespace Optional namespace to use when setting the attribute.
10581
11026
  *
10582
11027
  * @codeGenApi
10583
11028
  */
10584
- export declare interface ɵɵBaseDef<T> {
10585
- /**
10586
- * A dictionary mapping the inputs' minified property names to their public API names, which
10587
- * are their aliases if any, or their original unminified property names
10588
- * (as in `@Input('alias') propertyName: any;`).
10589
- */
10590
- readonly inputs: {
10591
- [P in keyof T]: string;
10592
- };
10593
- /**
10594
- * @deprecated This is only here because `NgOnChanges` incorrectly uses declared name instead of
10595
- * public or minified name.
10596
- */
10597
- readonly declaredInputs: {
10598
- [P in keyof T]: string;
10599
- };
10600
- /**
10601
- * A dictionary mapping the outputs' minified property names to their public API names, which
10602
- * are their aliases if any, or their original unminified property names
10603
- * (as in `@Output('alias') propertyName: any;`).
10604
- */
10605
- readonly outputs: {
10606
- [P in keyof T]: string;
10607
- };
10608
- /**
10609
- * Function to create and refresh content queries associated with a given directive.
10610
- */
10611
- contentQueries: ContentQueriesFunction<T> | null;
10612
- /**
10613
- * Query-related instructions for a directive. Note that while directives don't have a
10614
- * view and as such view queries won't necessarily do anything, there might be
10615
- * components that extend the directive.
10616
- */
10617
- viewQuery: ViewQueriesFunction<T> | null;
10618
- }
11029
+ export declare function ɵɵattribute(name: string, value: any, sanitizer?: SanitizerFn | null, namespace?: string): void;
10619
11030
 
10620
11031
  /**
10621
- * Creates a single value binding.
10622
11032
  *
10623
- * @param value Value to diff
11033
+ * Update an interpolated attribute on an element with single bound value surrounded by text.
10624
11034
  *
11035
+ * Used when the value passed to a property has 1 interpolated value in it:
11036
+ *
11037
+ * ```html
11038
+ * <div attr.title="prefix{{v0}}suffix"></div>
11039
+ * ```
11040
+ *
11041
+ * Its compiled representation is::
11042
+ *
11043
+ * ```ts
11044
+ * ɵɵattributeInterpolate1('title', 'prefix', v0, 'suffix');
11045
+ * ```
11046
+ *
11047
+ * @param attrName The name of the attribute to update
11048
+ * @param prefix Static value used for concatenation only.
11049
+ * @param v0 Value checked for change.
11050
+ * @param suffix Static value used for concatenation only.
11051
+ * @param sanitizer An optional sanitizer function
11052
+ * @returns itself, so that it may be chained.
10625
11053
  * @codeGenApi
10626
11054
  */
10627
- export declare function ɵɵbind<T>(value: T): T | ɵNO_CHANGE;
10628
-
10629
- /**
10630
- * @codeGenApi
10631
- */
10632
- export declare type ɵɵComponentDefWithMeta<T, Selector extends String, ExportAs extends string[], InputMap extends {
10633
- [key: string]: string;
10634
- }, OutputMap extends {
10635
- [key: string]: string;
10636
- }, QueryFields extends string[]> = ɵComponentDef<T>;
11055
+ export declare function ɵɵattributeInterpolate1(attrName: string, prefix: string, v0: any, suffix: string, sanitizer?: SanitizerFn, namespace?: string): TsickleIssue1009;
10637
11056
 
10638
11057
  /**
10639
- * Registers a synthetic host listener (e.g. `(@foo.start)`) on a component.
10640
- *
10641
- * This instruction is for compatibility purposes and is designed to ensure that a
10642
- * synthetic host listener (e.g. `@HostListener('@foo.start')`) properly gets rendered
10643
- * in the component's renderer. Normally all host listeners are evaluated with the
10644
- * parent component's renderer, but, in the case of animation @triggers, they need
10645
- * to be evaluated with the sub component's renderer (because that's where the
10646
- * animation triggers are defined).
10647
- *
10648
- * Do not use this instruction as a replacement for `listener`. This instruction
10649
- * only exists to ensure compatibility with the ViewEngine's host binding behavior.
10650
- *
10651
- * @param eventName Name of the event
10652
- * @param listenerFn The function to be called when event emits
10653
- * @param useCapture Whether or not to use capture in event listener
10654
- * @param eventTargetResolver Function that returns global target information in case this listener
10655
- * should be attached to a global object like window, document or body
10656
11058
  *
10657
- * @codeGenApi
10658
- */
10659
- export declare function ɵɵcomponentHostSyntheticListener<T>(eventName: string, listenerFn: (e?: any) => any, useCapture?: boolean, eventTargetResolver?: GlobalTargetResolver): void;
10660
-
10661
- /**
10662
- * Updates a synthetic host binding (e.g. `[@foo]`) on a component.
11059
+ * Update an interpolated attribute on an element with 2 bound values surrounded by text.
10663
11060
  *
10664
- * This instruction is for compatibility purposes and is designed to ensure that a
10665
- * synthetic host binding (e.g. `@HostBinding('@foo')`) properly gets rendered in
10666
- * the component's renderer. Normally all host bindings are evaluated with the parent
10667
- * component's renderer, but, in the case of animation @triggers, they need to be
10668
- * evaluated with the sub component's renderer (because that's where the animation
10669
- * triggers are defined).
11061
+ * Used when the value passed to a property has 2 interpolated values in it:
10670
11062
  *
10671
- * Do not use this instruction as a replacement for `elementProperty`. This instruction
10672
- * only exists to ensure compatibility with the ViewEngine's host binding behavior.
11063
+ * ```html
11064
+ * <div attr.title="prefix{{v0}}-{{v1}}suffix"></div>
11065
+ * ```
10673
11066
  *
10674
- * @param index The index of the element to update in the data array
10675
- * @param propName Name of property. Because it is going to DOM, this is not subject to
10676
- * renaming as part of minification.
10677
- * @param value New value to write.
10678
- * @param sanitizer An optional function used to sanitize the value.
10679
- * @param nativeOnly Whether or not we should only set native properties and skip input check
10680
- * (this is necessary for host property bindings)
11067
+ * Its compiled representation is::
11068
+ *
11069
+ * ```ts
11070
+ * ɵɵattributeInterpolate2('title', 'prefix', v0, '-', v1, 'suffix');
11071
+ * ```
10681
11072
  *
11073
+ * @param attrName The name of the attribute to update
11074
+ * @param prefix Static value used for concatenation only.
11075
+ * @param v0 Value checked for change.
11076
+ * @param i0 Static value used for concatenation only.
11077
+ * @param v1 Value checked for change.
11078
+ * @param suffix Static value used for concatenation only.
11079
+ * @param sanitizer An optional sanitizer function
11080
+ * @returns itself, so that it may be chained.
10682
11081
  * @codeGenApi
10683
11082
  */
10684
- export declare function ɵɵcomponentHostSyntheticProperty<T>(index: number, propName: string, value: T | ɵNO_CHANGE, sanitizer?: SanitizerFn | null, nativeOnly?: boolean): void;
11083
+ export declare function ɵɵattributeInterpolate2(attrName: string, prefix: string, v0: any, i0: string, v1: any, suffix: string, sanitizer?: SanitizerFn, namespace?: string): TsickleIssue1009;
10685
11084
 
10686
11085
  /**
10687
- * Creates an LContainer for inline views, e.g.
10688
11086
  *
10689
- * % if (showing) {
10690
- * <div></div>
10691
- * % }
11087
+ * Update an interpolated attribute on an element with 3 bound values surrounded by text.
10692
11088
  *
10693
- * @param index The index of the container in the data array
11089
+ * Used when the value passed to a property has 3 interpolated values in it:
10694
11090
  *
10695
- * @codeGenApi
10696
- */
11091
+ * ```html
11092
+ * <div attr.title="prefix{{v0}}-{{v1}}-{{v2}}suffix"></div>
11093
+ * ```
11094
+ *
11095
+ * Its compiled representation is::
11096
+ *
11097
+ * ```ts
11098
+ * ɵɵattributeInterpolate3(
11099
+ * 'title', 'prefix', v0, '-', v1, '-', v2, 'suffix');
11100
+ * ```
11101
+ *
11102
+ * @param attrName The name of the attribute to update
11103
+ * @param prefix Static value used for concatenation only.
11104
+ * @param v0 Value checked for change.
11105
+ * @param i0 Static value used for concatenation only.
11106
+ * @param v1 Value checked for change.
11107
+ * @param i1 Static value used for concatenation only.
11108
+ * @param v2 Value checked for change.
11109
+ * @param suffix Static value used for concatenation only.
11110
+ * @param sanitizer An optional sanitizer function
11111
+ * @returns itself, so that it may be chained.
11112
+ * @codeGenApi
11113
+ */
11114
+ export declare function ɵɵattributeInterpolate3(attrName: string, prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, suffix: string, sanitizer?: SanitizerFn, namespace?: string): TsickleIssue1009;
11115
+
11116
+ /**
11117
+ *
11118
+ * Update an interpolated attribute on an element with 4 bound values surrounded by text.
11119
+ *
11120
+ * Used when the value passed to a property has 4 interpolated values in it:
11121
+ *
11122
+ * ```html
11123
+ * <div attr.title="prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}suffix"></div>
11124
+ * ```
11125
+ *
11126
+ * Its compiled representation is::
11127
+ *
11128
+ * ```ts
11129
+ * ɵɵattributeInterpolate4(
11130
+ * 'title', 'prefix', v0, '-', v1, '-', v2, '-', v3, 'suffix');
11131
+ * ```
11132
+ *
11133
+ * @param attrName The name of the attribute to update
11134
+ * @param prefix Static value used for concatenation only.
11135
+ * @param v0 Value checked for change.
11136
+ * @param i0 Static value used for concatenation only.
11137
+ * @param v1 Value checked for change.
11138
+ * @param i1 Static value used for concatenation only.
11139
+ * @param v2 Value checked for change.
11140
+ * @param i2 Static value used for concatenation only.
11141
+ * @param v3 Value checked for change.
11142
+ * @param suffix Static value used for concatenation only.
11143
+ * @param sanitizer An optional sanitizer function
11144
+ * @returns itself, so that it may be chained.
11145
+ * @codeGenApi
11146
+ */
11147
+ export declare function ɵɵattributeInterpolate4(attrName: string, prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, suffix: string, sanitizer?: SanitizerFn, namespace?: string): TsickleIssue1009;
11148
+
11149
+ /**
11150
+ *
11151
+ * Update an interpolated attribute on an element with 5 bound values surrounded by text.
11152
+ *
11153
+ * Used when the value passed to a property has 5 interpolated values in it:
11154
+ *
11155
+ * ```html
11156
+ * <div attr.title="prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}suffix"></div>
11157
+ * ```
11158
+ *
11159
+ * Its compiled representation is::
11160
+ *
11161
+ * ```ts
11162
+ * ɵɵattributeInterpolate5(
11163
+ * 'title', 'prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, 'suffix');
11164
+ * ```
11165
+ *
11166
+ * @param attrName The name of the attribute to update
11167
+ * @param prefix Static value used for concatenation only.
11168
+ * @param v0 Value checked for change.
11169
+ * @param i0 Static value used for concatenation only.
11170
+ * @param v1 Value checked for change.
11171
+ * @param i1 Static value used for concatenation only.
11172
+ * @param v2 Value checked for change.
11173
+ * @param i2 Static value used for concatenation only.
11174
+ * @param v3 Value checked for change.
11175
+ * @param i3 Static value used for concatenation only.
11176
+ * @param v4 Value checked for change.
11177
+ * @param suffix Static value used for concatenation only.
11178
+ * @param sanitizer An optional sanitizer function
11179
+ * @returns itself, so that it may be chained.
11180
+ * @codeGenApi
11181
+ */
11182
+ export declare function ɵɵattributeInterpolate5(attrName: string, prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, i3: string, v4: any, suffix: string, sanitizer?: SanitizerFn, namespace?: string): TsickleIssue1009;
11183
+
11184
+ /**
11185
+ *
11186
+ * Update an interpolated attribute on an element with 6 bound values surrounded by text.
11187
+ *
11188
+ * Used when the value passed to a property has 6 interpolated values in it:
11189
+ *
11190
+ * ```html
11191
+ * <div attr.title="prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}-{{v5}}suffix"></div>
11192
+ * ```
11193
+ *
11194
+ * Its compiled representation is::
11195
+ *
11196
+ * ```ts
11197
+ * ɵɵattributeInterpolate6(
11198
+ * 'title', 'prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, '-', v5, 'suffix');
11199
+ * ```
11200
+ *
11201
+ * @param attrName The name of the attribute to update
11202
+ * @param prefix Static value used for concatenation only.
11203
+ * @param v0 Value checked for change.
11204
+ * @param i0 Static value used for concatenation only.
11205
+ * @param v1 Value checked for change.
11206
+ * @param i1 Static value used for concatenation only.
11207
+ * @param v2 Value checked for change.
11208
+ * @param i2 Static value used for concatenation only.
11209
+ * @param v3 Value checked for change.
11210
+ * @param i3 Static value used for concatenation only.
11211
+ * @param v4 Value checked for change.
11212
+ * @param i4 Static value used for concatenation only.
11213
+ * @param v5 Value checked for change.
11214
+ * @param suffix Static value used for concatenation only.
11215
+ * @param sanitizer An optional sanitizer function
11216
+ * @returns itself, so that it may be chained.
11217
+ * @codeGenApi
11218
+ */
11219
+ export declare function ɵɵattributeInterpolate6(attrName: string, prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, i3: string, v4: any, i4: string, v5: any, suffix: string, sanitizer?: SanitizerFn, namespace?: string): TsickleIssue1009;
11220
+
11221
+ /**
11222
+ *
11223
+ * Update an interpolated attribute on an element with 7 bound values surrounded by text.
11224
+ *
11225
+ * Used when the value passed to a property has 7 interpolated values in it:
11226
+ *
11227
+ * ```html
11228
+ * <div attr.title="prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}-{{v5}}-{{v6}}suffix"></div>
11229
+ * ```
11230
+ *
11231
+ * Its compiled representation is::
11232
+ *
11233
+ * ```ts
11234
+ * ɵɵattributeInterpolate7(
11235
+ * 'title', 'prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, '-', v5, '-', v6, 'suffix');
11236
+ * ```
11237
+ *
11238
+ * @param attrName The name of the attribute to update
11239
+ * @param prefix Static value used for concatenation only.
11240
+ * @param v0 Value checked for change.
11241
+ * @param i0 Static value used for concatenation only.
11242
+ * @param v1 Value checked for change.
11243
+ * @param i1 Static value used for concatenation only.
11244
+ * @param v2 Value checked for change.
11245
+ * @param i2 Static value used for concatenation only.
11246
+ * @param v3 Value checked for change.
11247
+ * @param i3 Static value used for concatenation only.
11248
+ * @param v4 Value checked for change.
11249
+ * @param i4 Static value used for concatenation only.
11250
+ * @param v5 Value checked for change.
11251
+ * @param i5 Static value used for concatenation only.
11252
+ * @param v6 Value checked for change.
11253
+ * @param suffix Static value used for concatenation only.
11254
+ * @param sanitizer An optional sanitizer function
11255
+ * @returns itself, so that it may be chained.
11256
+ * @codeGenApi
11257
+ */
11258
+ export declare function ɵɵattributeInterpolate7(attrName: string, prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, i3: string, v4: any, i4: string, v5: any, i5: string, v6: any, suffix: string, sanitizer?: SanitizerFn, namespace?: string): TsickleIssue1009;
11259
+
11260
+ /**
11261
+ *
11262
+ * Update an interpolated attribute on an element with 8 bound values surrounded by text.
11263
+ *
11264
+ * Used when the value passed to a property has 8 interpolated values in it:
11265
+ *
11266
+ * ```html
11267
+ * <div attr.title="prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}-{{v5}}-{{v6}}-{{v7}}suffix"></div>
11268
+ * ```
11269
+ *
11270
+ * Its compiled representation is::
11271
+ *
11272
+ * ```ts
11273
+ * ɵɵattributeInterpolate8(
11274
+ * 'title', 'prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, '-', v5, '-', v6, '-', v7, 'suffix');
11275
+ * ```
11276
+ *
11277
+ * @param attrName The name of the attribute to update
11278
+ * @param prefix Static value used for concatenation only.
11279
+ * @param v0 Value checked for change.
11280
+ * @param i0 Static value used for concatenation only.
11281
+ * @param v1 Value checked for change.
11282
+ * @param i1 Static value used for concatenation only.
11283
+ * @param v2 Value checked for change.
11284
+ * @param i2 Static value used for concatenation only.
11285
+ * @param v3 Value checked for change.
11286
+ * @param i3 Static value used for concatenation only.
11287
+ * @param v4 Value checked for change.
11288
+ * @param i4 Static value used for concatenation only.
11289
+ * @param v5 Value checked for change.
11290
+ * @param i5 Static value used for concatenation only.
11291
+ * @param v6 Value checked for change.
11292
+ * @param i6 Static value used for concatenation only.
11293
+ * @param v7 Value checked for change.
11294
+ * @param suffix Static value used for concatenation only.
11295
+ * @param sanitizer An optional sanitizer function
11296
+ * @returns itself, so that it may be chained.
11297
+ * @codeGenApi
11298
+ */
11299
+ export declare function ɵɵattributeInterpolate8(attrName: string, prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, i3: string, v4: any, i4: string, v5: any, i5: string, v6: any, i6: string, v7: any, suffix: string, sanitizer?: SanitizerFn, namespace?: string): TsickleIssue1009;
11300
+
11301
+ /**
11302
+ * Update an interpolated attribute on an element with 8 or more bound values surrounded by text.
11303
+ *
11304
+ * Used when the number of interpolated values exceeds 7.
11305
+ *
11306
+ * ```html
11307
+ * <div
11308
+ * title="prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}-{{v5}}-{{v6}}-{{v7}}-{{v8}}-{{v9}}suffix"></div>
11309
+ * ```
11310
+ *
11311
+ * Its compiled representation is::
11312
+ *
11313
+ * ```ts
11314
+ * ɵɵattributeInterpolateV(
11315
+ * 'title', ['prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, '-', v5, '-', v6, '-', v7, '-', v9,
11316
+ * 'suffix']);
11317
+ * ```
11318
+ *
11319
+ * @param attrName The name of the attribute to update.
11320
+ * @param values The a collection of values and the strings in-between those values, beginning with
11321
+ * a string prefix and ending with a string suffix.
11322
+ * (e.g. `['prefix', value0, '-', value1, '-', value2, ..., value99, 'suffix']`)
11323
+ * @param sanitizer An optional sanitizer function
11324
+ * @returns itself, so that it may be chained.
11325
+ * @codeGenApi
11326
+ */
11327
+ export declare function ɵɵattributeInterpolateV(attrName: string, values: any[], sanitizer?: SanitizerFn, namespace?: string): TsickleIssue1009;
11328
+
11329
+ /**
11330
+ * Runtime information for classes that are inherited by components or directives
11331
+ * that aren't defined as components or directives.
11332
+ *
11333
+ * This is an internal data structure used by the renderer to determine what inputs
11334
+ * and outputs should be inherited.
11335
+ *
11336
+ * See: {@link defineBase}
11337
+ *
11338
+ * @codeGenApi
11339
+ */
11340
+ export declare interface ɵɵBaseDef<T> {
11341
+ /**
11342
+ * A dictionary mapping the inputs' minified property names to their public API names, which
11343
+ * are their aliases if any, or their original unminified property names
11344
+ * (as in `@Input('alias') propertyName: any;`).
11345
+ */
11346
+ readonly inputs: {
11347
+ [P in keyof T]: string;
11348
+ };
11349
+ /**
11350
+ * @deprecated This is only here because `NgOnChanges` incorrectly uses declared name instead of
11351
+ * public or minified name.
11352
+ */
11353
+ readonly declaredInputs: {
11354
+ [P in keyof T]: string;
11355
+ };
11356
+ /**
11357
+ * A dictionary mapping the outputs' minified property names to their public API names, which
11358
+ * are their aliases if any, or their original unminified property names
11359
+ * (as in `@Output('alias') propertyName: any;`).
11360
+ */
11361
+ readonly outputs: {
11362
+ [P in keyof T]: string;
11363
+ };
11364
+ /**
11365
+ * Function to create and refresh content queries associated with a given directive.
11366
+ */
11367
+ contentQueries: ContentQueriesFunction<T> | null;
11368
+ /**
11369
+ * Query-related instructions for a directive. Note that while directives don't have a
11370
+ * view and as such view queries won't necessarily do anything, there might be
11371
+ * components that extend the directive.
11372
+ */
11373
+ viewQuery: ViewQueriesFunction<T> | null;
11374
+ /**
11375
+ * Refreshes host bindings on the associated directive.
11376
+ */
11377
+ hostBindings: HostBindingsFunction<T> | null;
11378
+ }
11379
+
11380
+ /**
11381
+ * Creates a single value binding.
11382
+ *
11383
+ * @param value Value to diff
11384
+ *
11385
+ * @codeGenApi
11386
+ */
11387
+ export declare function ɵɵbind<T>(value: T): T | ɵNO_CHANGE;
11388
+
11389
+ /**
11390
+ * Update class bindings using an object literal or class-string on an element.
11391
+ *
11392
+ * This instruction is meant to apply styling via the `[class]="exp"` template bindings.
11393
+ * When classes are applied to the element they will then be updated with
11394
+ * respect to any styles/classes set via `classProp`. If any
11395
+ * classes are set to falsy then they will be removed from the element.
11396
+ *
11397
+ * Note that the styling instruction will not be applied until `stylingApply` is called.
11398
+ * Note that this will the provided classMap value to the host element if this function is called
11399
+ * within a host binding.
11400
+ *
11401
+ * @param classes A key/value map or string of CSS classes that will be added to the
11402
+ * given element. Any missing classes (that have already been applied to the element
11403
+ * beforehand) will be removed (unset) from the element's list of CSS classes.
11404
+ *
11405
+ * @codeGenApi
11406
+ */
11407
+ export declare function ɵɵclassMap(classes: {
11408
+ [styleName: string]: any;
11409
+ } | ɵNO_CHANGE | string | null): void;
11410
+
11411
+ /**
11412
+ * Update a class binding on an element with the provided value.
11413
+ *
11414
+ * This instruction is meant to handle the `[class.foo]="exp"` case and,
11415
+ * therefore, the class binding itself must already be allocated using
11416
+ * `styling` within the creation block.
11417
+ *
11418
+ * @param classIndex Index of class to toggle. This index value refers to the
11419
+ * index of the class in the class bindings array that was passed into
11420
+ * `styling` (which is meant to be called before this
11421
+ * function is).
11422
+ * @param value A true/false value which will turn the class on or off.
11423
+ * @param forceOverride Whether or not this value will be applied regardless
11424
+ * of where it is being set within the styling priority structure.
11425
+ *
11426
+ * Note that this will apply the provided class value to the host element if this function
11427
+ * is called within a host binding.
11428
+ *
11429
+ * @codeGenApi
11430
+ */
11431
+ export declare function ɵɵclassProp(classIndex: number, value: boolean | ɵPlayerFactory, forceOverride?: boolean): void;
11432
+
11433
+ /**
11434
+ * @codeGenApi
11435
+ */
11436
+ export declare type ɵɵComponentDefWithMeta<T, Selector extends String, ExportAs extends string[], InputMap extends {
11437
+ [key: string]: string;
11438
+ }, OutputMap extends {
11439
+ [key: string]: string;
11440
+ }, QueryFields extends string[]> = ɵComponentDef<T>;
11441
+
11442
+ /**
11443
+ * Registers a synthetic host listener (e.g. `(@foo.start)`) on a component.
11444
+ *
11445
+ * This instruction is for compatibility purposes and is designed to ensure that a
11446
+ * synthetic host listener (e.g. `@HostListener('@foo.start')`) properly gets rendered
11447
+ * in the component's renderer. Normally all host listeners are evaluated with the
11448
+ * parent component's renderer, but, in the case of animation @triggers, they need
11449
+ * to be evaluated with the sub component's renderer (because that's where the
11450
+ * animation triggers are defined).
11451
+ *
11452
+ * Do not use this instruction as a replacement for `listener`. This instruction
11453
+ * only exists to ensure compatibility with the ViewEngine's host binding behavior.
11454
+ *
11455
+ * @param eventName Name of the event
11456
+ * @param listenerFn The function to be called when event emits
11457
+ * @param useCapture Whether or not to use capture in event listener
11458
+ * @param eventTargetResolver Function that returns global target information in case this listener
11459
+ * should be attached to a global object like window, document or body
11460
+ *
11461
+ * @codeGenApi
11462
+ */
11463
+ export declare function ɵɵcomponentHostSyntheticListener<T>(eventName: string, listenerFn: (e?: any) => any, useCapture?: boolean, eventTargetResolver?: GlobalTargetResolver): void;
11464
+
11465
+ /**
11466
+ * Updates a synthetic host binding (e.g. `[@foo]`) on a component.
11467
+ *
11468
+ * This instruction is for compatibility purposes and is designed to ensure that a
11469
+ * synthetic host binding (e.g. `@HostBinding('@foo')`) properly gets rendered in
11470
+ * the component's renderer. Normally all host bindings are evaluated with the parent
11471
+ * component's renderer, but, in the case of animation @triggers, they need to be
11472
+ * evaluated with the sub component's renderer (because that's where the animation
11473
+ * triggers are defined).
11474
+ *
11475
+ * Do not use this instruction as a replacement for `elementProperty`. This instruction
11476
+ * only exists to ensure compatibility with the ViewEngine's host binding behavior.
11477
+ *
11478
+ * @param index The index of the element to update in the data array
11479
+ * @param propName Name of property. Because it is going to DOM, this is not subject to
11480
+ * renaming as part of minification.
11481
+ * @param value New value to write.
11482
+ * @param sanitizer An optional function used to sanitize the value.
11483
+ * @param nativeOnly Whether or not we should only set native properties and skip input check
11484
+ * (this is necessary for host property bindings)
11485
+ *
11486
+ * @codeGenApi
11487
+ */
11488
+ export declare function ɵɵcomponentHostSyntheticProperty<T>(index: number, propName: string, value: T | ɵNO_CHANGE, sanitizer?: SanitizerFn | null, nativeOnly?: boolean): void;
11489
+
11490
+ /**
11491
+ * Creates an LContainer for inline views, e.g.
11492
+ *
11493
+ * % if (showing) {
11494
+ * <div></div>
11495
+ * % }
11496
+ *
11497
+ * @param index The index of the container in the data array
11498
+ *
11499
+ * @codeGenApi
11500
+ */
10697
11501
  export declare function ɵɵcontainer(index: number): void;
10698
11502
 
10699
11503
  /**
@@ -10821,6 +11625,10 @@ export declare function ɵɵdefineBase<T>(baseDefinition: {
10821
11625
  * set of instructions to be inserted into the template function.
10822
11626
  */
10823
11627
  viewQuery?: ViewQueriesFunction<T> | null;
11628
+ /**
11629
+ * Function executed by the parent template to allow children to apply host bindings.
11630
+ */
11631
+ hostBindings?: HostBindingsFunction<T>;
10824
11632
  }): ɵɵBaseDef<T>;
10825
11633
 
10826
11634
  /**
@@ -11203,6 +12011,8 @@ export declare function ɵɵdefineNgModule<T>(def: {
11203
12011
  exports?: Type<any>[] | (() => Type<any>[]);
11204
12012
  /** The set of schemas that declare elements to be allowed in the NgModule. */
11205
12013
  schemas?: SchemaMetadata[] | null;
12014
+ /** Unique ID for the module that is used with `getModuleFactory`. */
12015
+ id?: string | null;
11206
12016
  }): never;
11207
12017
 
11208
12018
  /**
@@ -11304,9 +12114,9 @@ export declare function ɵɵdisableBindings(): void;
11304
12114
  export declare function ɵɵelement(index: number, name: string, attrs?: TAttributes | null, localRefs?: string[] | null): void;
11305
12115
 
11306
12116
  /**
11307
- * Updates the value of removes an attribute on an Element.
12117
+ * Updates the value or removes an attribute on an Element.
11308
12118
  *
11309
- * @param number index The index of the element in the data array
12119
+ * @param index The index of the element in the data array
11310
12120
  * @param name name The name of the attribute.
11311
12121
  * @param value value The attribute is removed when value is `null` or `undefined`.
11312
12122
  * Otherwise the attribute value is set to the stringified value.
@@ -11317,26 +12127,6 @@ export declare function ɵɵelement(index: number, name: string, attrs?: TAttrib
11317
12127
  */
11318
12128
  export declare function ɵɵelementAttribute(index: number, name: string, value: any, sanitizer?: SanitizerFn | null, namespace?: string): void;
11319
12129
 
11320
- /**
11321
- * Update a class binding on an element with the provided value.
11322
- *
11323
- * This instruction is meant to handle the `[class.foo]="exp"` case and,
11324
- * therefore, the class binding itself must already be allocated using
11325
- * `elementStyling` within the creation block.
11326
- *
11327
- * @param index Index of the element's with which styling is associated.
11328
- * @param classIndex Index of class to toggle. This index value refers to the
11329
- * index of the class in the class bindings array that was passed into
11330
- * `elementStyling` (which is meant to be called before this
11331
- * function is).
11332
- * @param value A true/false value which will turn the class on or off.
11333
- * @param forceOverride Whether or not this value will be applied regardless
11334
- * of where it is being set within the styling priority structure.
11335
- *
11336
- * @codeGenApi
11337
- */
11338
- export declare function ɵɵelementClassProp(index: number, classIndex: number, value: boolean | ɵPlayerFactory, forceOverride?: boolean): void;
11339
-
11340
12130
  /**
11341
12131
  * Mark the end of the <ng-container>.
11342
12132
  *
@@ -11398,253 +12188,52 @@ export declare function ɵɵelementEnd(): void;
11398
12188
  * the entries. The marker values themselves are set via entries found in the
11399
12189
  * [AttributeMarker] enum.
11400
12190
  *
11401
- * NOTE: This instruction is meant to used from `hostBindings` function only.
11402
- *
11403
- * @param directive A directive instance the styling is associated with.
11404
- * @param attrs An array of static values (attributes, classes and styles) with the correct marker
11405
- * values.
11406
- *
11407
- * @codeGenApi
11408
- */
11409
- export declare function ɵɵelementHostAttrs(attrs: TAttributes): void;
11410
-
11411
- /**
11412
- * Update a class host binding for a directive's/component's host element within
11413
- * the host bindings function.
11414
- *
11415
- * This instruction is meant to handle the `@HostBinding('class.foo')` case and,
11416
- * therefore, the class binding itself must already be allocated using
11417
- * `elementHostStyling` within the creation block.
11418
- *
11419
- * @param classIndex Index of class to toggle. This index value refers to the
11420
- * index of the class in the class bindings array that was passed into
11421
- * `elementHostStlying` (which is meant to be called before this
11422
- * function is).
11423
- * @param value A true/false value which will turn the class on or off.
11424
- * @param forceOverride Whether or not this value will be applied regardless
11425
- * of where it is being set within the stylings priority structure.
11426
- *
11427
- * @codeGenApi
11428
- */
11429
- export declare function ɵɵelementHostClassProp(classIndex: number, value: boolean | ɵPlayerFactory, forceOverride?: boolean): void;
11430
-
11431
- /**
11432
- * Update a host style binding value on the host element within a component/directive.
11433
- *
11434
- * If the style value is falsy then it will be removed from the host element
11435
- * (or assigned a different value depending if there are any styles placed
11436
- * on the same element with `elementHostStylingMap` or any static styles that
11437
- * are present from when the element was patched with `elementHostStyling`).
11438
- *
11439
- * Note that the styling applied to the host element once
11440
- * `elementHostStylingApply` is called.
11441
- *
11442
- * @param styleIndex Index of style to update. This index value refers to the
11443
- * index of the style in the style bindings array that was passed into
11444
- * `elementHostStyling`.
11445
- * @param value New value to write (falsy to remove). The value may or may not
11446
- * be applied to the element depending on the template/component/directive
11447
- * prioritization (see `interfaces/styling.ts`)
11448
- * @param suffix Optional suffix. Used with scalar values to add unit such as `px`.
11449
- * Note that when a suffix is provided then the underlying sanitizer will
11450
- * be ignored.
11451
- * @param forceOverride Whether or not to update the styling value immediately
11452
- * (despite the other bindings possibly having priority)
11453
- *
11454
- * @codeGenApi
11455
- */
11456
- export declare function ɵɵelementHostStyleProp(styleIndex: number, value: string | number | String | ɵPlayerFactory | null, suffix?: string | null, forceOverride?: boolean): void;
11457
-
11458
- /**
11459
- * Allocates style and class binding properties on the host element during creation mode
11460
- * within the host bindings function of a directive or component.
11461
- *
11462
- * This instruction is meant to be called during creation mode to register all
11463
- * dynamic style and class host bindings on the host element of a directive or
11464
- * component. Note that this is only used for binding values (see `elementHostAttrs`
11465
- * to learn how to assign static styling values to the host element).
11466
- *
11467
- * @param classBindingNames An array containing bindable class names.
11468
- * The `elementHostClassProp` instruction refers to the class name by index in
11469
- * this array (i.e. `['foo', 'bar']` means `foo=0` and `bar=1`).
11470
- * @param styleBindingNames An array containing bindable style properties.
11471
- * The `elementHostStyleProp` instruction refers to the class name by index in
11472
- * this array (i.e. `['width', 'height']` means `width=0` and `height=1`).
11473
- * @param styleSanitizer An optional sanitizer function that will be used to sanitize any CSS
11474
- * style values that are applied to the element (during rendering).
11475
- * Note that the sanitizer instance itself is tied to the provided `directive` and
11476
- * will not be used if the same property is assigned in another directive or
11477
- * on the element directly.
11478
- *
11479
- * @codeGenApi
11480
- */
11481
- export declare function ɵɵelementHostStyling(classBindingNames?: string[] | null, styleBindingNames?: string[] | null, styleSanitizer?: StyleSanitizeFn | null): void;
11482
-
11483
- /**
11484
- * Apply all style and class host binding values to the element.
11485
- *
11486
- * This instruction is meant to be run after `elementHostStylingMap`,
11487
- * `elementHostStyleProp` or `elementHostClassProp` instructions have
11488
- * been run and will only apply styling to the host element if any
11489
- * styling bindings have been updated.
11490
- *
11491
- * @codeGenApi
11492
- */
11493
- export declare function ɵɵelementHostStylingApply(): void;
11494
-
11495
- /**
11496
- * Update style and/or class host bindings using object literals on an element within the host
11497
- * bindings function for a directive/component.
11498
- *
11499
- * This instruction is meant to apply styling via the `@HostBinding('style')` and
11500
- * `@HostBinding('class')` bindings for a component's or directive's host element.
11501
- * When styles/classes are applied to the host element they will then be updated
11502
- * with respect to any styles/classes set with `elementHostStyleProp` or
11503
- * `elementHostClassProp`. If any styles or classes are set to falsy then they
11504
- * will be removed from the element.
11505
- *
11506
- * Note that the styling instruction will not be applied until
11507
- * `elementHostStylingApply` is called.
11508
- *
11509
- * @param classes A key/value map or string of CSS classes that will be added to the
11510
- * given element. Any missing classes (that have already been applied to the element
11511
- * beforehand) will be removed (unset) from the element's list of CSS classes.
11512
- * @param styles A key/value style map of the styles that will be applied to the given element.
11513
- * Any missing styles (that have already been applied to the element beforehand) will be
11514
- * removed (unset) from the element's styling.
11515
- *
11516
- * @codeGenApi
11517
- */
11518
- export declare function ɵɵelementHostStylingMap(classes: {
11519
- [key: string]: any;
11520
- } | string | ɵNO_CHANGE | null, styles?: {
11521
- [styleName: string]: any;
11522
- } | ɵNO_CHANGE | null): void;
11523
-
11524
- /**
11525
- * **TODO: Remove this function after `property` is in use**
11526
- * Update a property on an element.
11527
- *
11528
- * If the property name also exists as an input property on one of the element's directives,
11529
- * the component property will be set instead of the element property. This check must
11530
- * be conducted at runtime so child components that add new @Inputs don't have to be re-compiled.
11531
- *
11532
- * @param index The index of the element to update in the data array
11533
- * @param propName Name of property. Because it is going to DOM, this is not subject to
11534
- * renaming as part of minification.
11535
- * @param value New value to write.
11536
- * @param sanitizer An optional function used to sanitize the value.
11537
- * @param nativeOnly Whether or not we should only set native properties and skip input check
11538
- * (this is necessary for host property bindings)
11539
- *
11540
- * @codeGenApi
11541
- */
11542
- export declare function ɵɵelementProperty<T>(index: number, propName: string, value: T | ɵNO_CHANGE, sanitizer?: SanitizerFn | null, nativeOnly?: boolean): void;
11543
-
11544
- /**
11545
- * Create DOM element. The instruction must later be followed by `elementEnd()` call.
11546
- *
11547
- * @param index Index of the element in the LView array
11548
- * @param name Name of the DOM Node
11549
- * @param attrs Statically bound set of attributes, classes, and styles to be written into the DOM
11550
- * element on creation. Use [AttributeMarker] to denote the meaning of this array.
11551
- * @param localRefs A set of local reference bindings on the element.
11552
- *
11553
- * Attributes and localRefs are passed as an array of strings where elements with an even index
11554
- * hold an attribute name and elements with an odd index hold an attribute value, ex.:
11555
- * ['id', 'warning5', 'class', 'alert']
11556
- *
11557
- * @codeGenApi
11558
- */
11559
- export declare function ɵɵelementStart(index: number, name: string, attrs?: TAttributes | null, localRefs?: string[] | null): void;
11560
-
11561
- /**
11562
- * Update a style binding on an element with the provided value.
11563
- *
11564
- * If the style value is falsy then it will be removed from the element
11565
- * (or assigned a different value depending if there are any styles placed
11566
- * on the element with `elementStylingMap` or any static styles that are
11567
- * present from when the element was created with `elementStyling`).
11568
- *
11569
- * Note that the styling element is updated as part of `elementStylingApply`.
11570
- *
11571
- * @param index Index of the element's with which styling is associated.
11572
- * @param styleIndex Index of style to update. This index value refers to the
11573
- * index of the style in the style bindings array that was passed into
11574
- * `elementStyling`.
11575
- * @param value New value to write (falsy to remove). Note that if a directive also
11576
- * attempts to write to the same binding value (via `elementHostStyleProp`)
11577
- * then it will only be able to do so if the binding value assigned via
11578
- * `elementStyleProp` is falsy (or doesn't exist at all).
11579
- * @param suffix Optional suffix. Used with scalar values to add unit such as `px`.
11580
- * Note that when a suffix is provided then the underlying sanitizer will
11581
- * be ignored.
11582
- * @param forceOverride Whether or not to update the styling value immediately
11583
- * (despite the other bindings possibly having priority)
11584
- *
11585
- * @codeGenApi
11586
- */
11587
- export declare function ɵɵelementStyleProp(index: number, styleIndex: number, value: string | number | String | ɵPlayerFactory | null, suffix?: string | null, forceOverride?: boolean): void;
11588
-
11589
- /**
11590
- * Allocates style and class binding properties on the element during creation mode.
11591
- *
11592
- * This instruction is meant to be called during creation mode to register all
11593
- * dynamic style and class bindings on the element. Note that this is only used
11594
- * for binding values (see `elementStart` to learn how to assign static styling
11595
- * values to an element).
12191
+ * NOTE: This instruction is meant to used from `hostBindings` function only.
11596
12192
  *
11597
- * @param classBindingNames An array containing bindable class names.
11598
- * The `elementClassProp` instruction refers to the class name by index in
11599
- * this array (i.e. `['foo', 'bar']` means `foo=0` and `bar=1`).
11600
- * @param styleBindingNames An array containing bindable style properties.
11601
- * The `elementStyleProp` instruction refers to the class name by index in
11602
- * this array (i.e. `['width', 'height']` means `width=0` and `height=1`).
11603
- * @param styleSanitizer An optional sanitizer function that will be used to sanitize any CSS
11604
- * style values that are applied to the element (during rendering).
12193
+ * @param directive A directive instance the styling is associated with.
12194
+ * @param attrs An array of static values (attributes, classes and styles) with the correct marker
12195
+ * values.
11605
12196
  *
11606
12197
  * @codeGenApi
11607
12198
  */
11608
- export declare function ɵɵelementStyling(classBindingNames?: string[] | null, styleBindingNames?: string[] | null, styleSanitizer?: StyleSanitizeFn | null): void;
12199
+ export declare function ɵɵelementHostAttrs(attrs: TAttributes): void;
11609
12200
 
11610
12201
  /**
11611
- * Apply all style and class binding values to the element.
11612
- *
11613
- * This instruction is meant to be run after `elementStylingMap`, `elementStyleProp`
11614
- * or `elementClassProp` instructions have been run and will only apply styling to
11615
- * the element if any styling bindings have been updated.
11616
- *
11617
- * @param index Index of the element's with which styling is associated.
12202
+ * **TODO: Remove this function after `property` is in use**
12203
+ * Update a property on an element.
12204
+ *
12205
+ * If the property name also exists as an input property on one of the element's directives,
12206
+ * the component property will be set instead of the element property. This check must
12207
+ * be conducted at runtime so child components that add new @Inputs don't have to be re-compiled.
12208
+ *
12209
+ * @param index The index of the element to update in the data array
12210
+ * @param propName Name of property. Because it is going to DOM, this is not subject to
12211
+ * renaming as part of minification.
12212
+ * @param value New value to write.
12213
+ * @param sanitizer An optional function used to sanitize the value.
12214
+ * @param nativeOnly Whether or not we should only set native properties and skip input check
12215
+ * (this is necessary for host property bindings)
11618
12216
  *
11619
12217
  * @codeGenApi
11620
- */
11621
- export declare function ɵɵelementStylingApply(index: number): void;
12218
+ */
12219
+ export declare function ɵɵelementProperty<T>(index: number, propName: string, value: T | ɵNO_CHANGE, sanitizer?: SanitizerFn | null, nativeOnly?: boolean): void;
11622
12220
 
11623
12221
  /**
11624
- * Update style and/or class bindings using object literals on an element.
11625
- *
11626
- * This instruction is meant to apply styling via the `[style]="exp"` and `[class]="exp"` template
11627
- * bindings. When styles/classes are applied to the element they will then be updated with
11628
- * respect to any styles/classes set with `elementStyleProp` or `elementClassProp`. If any
11629
- * styles or classes are set to falsy then they will be removed from the element.
12222
+ * Create DOM element. The instruction must later be followed by `elementEnd()` call.
11630
12223
  *
11631
- * Note that the styling instruction will not be applied until `elementStylingApply` is called.
12224
+ * @param index Index of the element in the LView array
12225
+ * @param name Name of the DOM Node
12226
+ * @param attrs Statically bound set of attributes, classes, and styles to be written into the DOM
12227
+ * element on creation. Use [AttributeMarker] to denote the meaning of this array.
12228
+ * @param localRefs A set of local reference bindings on the element.
11632
12229
  *
11633
- * @param index Index of the element's with which styling is associated.
11634
- * @param classes A key/value map or string of CSS classes that will be added to the
11635
- * given element. Any missing classes (that have already been applied to the element
11636
- * beforehand) will be removed (unset) from the element's list of CSS classes.
11637
- * @param styles A key/value style map of the styles that will be applied to the given element.
11638
- * Any missing styles (that have already been applied to the element beforehand) will be
11639
- * removed (unset) from the element's styling.
12230
+ * Attributes and localRefs are passed as an array of strings where elements with an even index
12231
+ * hold an attribute name and elements with an odd index hold an attribute value, ex.:
12232
+ * ['id', 'warning5', 'class', 'alert']
11640
12233
  *
11641
12234
  * @codeGenApi
11642
12235
  */
11643
- export declare function ɵɵelementStylingMap(index: number, classes: {
11644
- [key: string]: any;
11645
- } | string | ɵNO_CHANGE | null, styles?: {
11646
- [styleName: string]: any;
11647
- } | ɵNO_CHANGE | null): void;
12236
+ export declare function ɵɵelementStart(index: number, name: string, attrs?: TAttributes | null, localRefs?: string[] | null): void;
11648
12237
 
11649
12238
  /**
11650
12239
  * Marks the end of an embedded view.
@@ -11778,7 +12367,7 @@ export declare function ɵɵi18nExp<T>(expression: T | ɵNO_CHANGE): void;
11778
12367
  * running outside of Closure Compiler. This method will not be needed once runtime translation
11779
12368
  * service support is introduced.
11780
12369
  *
11781
- * @publicApi
12370
+ * @codeGenApi
11782
12371
  * @deprecated this method is temporary & should not be used as it will be removed soon
11783
12372
  */
11784
12373
  export declare function ɵɵi18nLocalize(input: string, placeholders?: {
@@ -13072,6 +13661,91 @@ export declare function ɵɵstaticContentQuery<T>(directiveIndex: number, predic
13072
13661
  */
13073
13662
  export declare function ɵɵstaticViewQuery<T>(predicate: Type<any> | string[], descend: boolean, read: any): void;
13074
13663
 
13664
+ /**
13665
+ * Update style bindings using an object literal on an element.
13666
+ *
13667
+ * This instruction is meant to apply styling via the `[style]="exp"` template bindings.
13668
+ * When styles are applied to the element they will then be updated with respect to
13669
+ * any styles/classes set via `styleProp`. If any styles are set to falsy
13670
+ * then they will be removed from the element.
13671
+ *
13672
+ * Note that the styling instruction will not be applied until `stylingApply` is called.
13673
+ *
13674
+ * @param styles A key/value style map of the styles that will be applied to the given element.
13675
+ * Any missing styles (that have already been applied to the element beforehand) will be
13676
+ * removed (unset) from the element's styling.
13677
+ *
13678
+ * Note that this will apply the provided styleMap value to the host element if this function
13679
+ * is called within a host binding.
13680
+ *
13681
+ * @codeGenApi
13682
+ */
13683
+ export declare function ɵɵstyleMap(styles: {
13684
+ [styleName: string]: any;
13685
+ } | ɵNO_CHANGE | null): void;
13686
+
13687
+ /**
13688
+ * Update a style binding on an element with the provided value.
13689
+ *
13690
+ * If the style value is falsy then it will be removed from the element
13691
+ * (or assigned a different value depending if there are any styles placed
13692
+ * on the element with `styleMap` or any static styles that are
13693
+ * present from when the element was created with `styling`).
13694
+ *
13695
+ * Note that the styling element is updated as part of `stylingApply`.
13696
+ *
13697
+ * @param styleIndex Index of style to update. This index value refers to the
13698
+ * index of the style in the style bindings array that was passed into
13699
+ * `styling`.
13700
+ * @param value New value to write (falsy to remove).
13701
+ * @param suffix Optional suffix. Used with scalar values to add unit such as `px`.
13702
+ * Note that when a suffix is provided then the underlying sanitizer will
13703
+ * be ignored.
13704
+ * @param forceOverride Whether or not to update the styling value immediately
13705
+ * (despite the other bindings possibly having priority)
13706
+ *
13707
+ * Note that this will apply the provided style value to the host element if this function is called
13708
+ * within a host binding.
13709
+ *
13710
+ * @codeGenApi
13711
+ */
13712
+ export declare function ɵɵstyleProp(styleIndex: number, value: string | number | String | ɵPlayerFactory | null, suffix?: string | null, forceOverride?: boolean): void;
13713
+
13714
+ /**
13715
+ * Allocates style and class binding properties on the element during creation mode.
13716
+ *
13717
+ * This instruction is meant to be called during creation mode to register all
13718
+ * dynamic style and class bindings on the element. Note that this is only used
13719
+ * for binding values (see `elementStart` to learn how to assign static styling
13720
+ * values to an element).
13721
+ *
13722
+ * @param classBindingNames An array containing bindable class names.
13723
+ * The `classProp` instruction refers to the class name by index in
13724
+ * this array (i.e. `['foo', 'bar']` means `foo=0` and `bar=1`).
13725
+ * @param styleBindingNames An array containing bindable style properties.
13726
+ * The `styleProp` instruction refers to the class name by index in
13727
+ * this array (i.e. `['width', 'height']` means `width=0` and `height=1`).
13728
+ * @param styleSanitizer An optional sanitizer function that will be used to sanitize any CSS
13729
+ * style values that are applied to the element (during rendering).
13730
+ *
13731
+ * Note that this will allocate the provided style/class bindings to the host element if
13732
+ * this function is called within a host binding.
13733
+ *
13734
+ * @codeGenApi
13735
+ */
13736
+ export declare function ɵɵstyling(classBindingNames?: string[] | null, styleBindingNames?: string[] | null, styleSanitizer?: StyleSanitizeFn | null): void;
13737
+
13738
+ /**
13739
+ * Apply all style and class binding values to the element.
13740
+ *
13741
+ * This instruction is meant to be run after `styleMap`, `classMap`,
13742
+ * `styleProp` or `classProp` instructions have been run and will
13743
+ * only apply styling to the element if any styling bindings have been updated.
13744
+ *
13745
+ * @codeGenApi
13746
+ */
13747
+ export declare function ɵɵstylingApply(): void;
13748
+
13075
13749
  /**
13076
13750
  * Creates an LContainer for an ng-template (dynamically-inserted view), e.g.
13077
13751
  *
@@ -13122,6 +13796,230 @@ export declare function ɵɵtext(index: number, value?: any): void;
13122
13796
  */
13123
13797
  export declare function ɵɵtextBinding<T>(index: number, value: T | ɵNO_CHANGE): void;
13124
13798
 
13799
+ /**
13800
+ *
13801
+ * Update text content with a lone bound value
13802
+ *
13803
+ * Used when a text node has 1 interpolated value in it, an no additional text
13804
+ * surrounds that interpolated value:
13805
+ *
13806
+ * ```html
13807
+ * <div>{{v0}}</div>
13808
+ * ```
13809
+ *
13810
+ * Its compiled representation is:
13811
+ *
13812
+ * ```ts
13813
+ * ɵɵtextInterpolate(v0);
13814
+ * ```
13815
+ * @returns itself, so that it may be chained.
13816
+ * @see textInterpolateV
13817
+ * @codeGenApi
13818
+ */
13819
+ export declare function ɵɵtextInterpolate(v0: any): TsickleIssue1009;
13820
+
13821
+ /**
13822
+ *
13823
+ * Update text content with single bound value surrounded by other text.
13824
+ *
13825
+ * Used when a text node has 1 interpolated value in it:
13826
+ *
13827
+ * ```html
13828
+ * <div>prefix{{v0}}suffix</div>
13829
+ * ```
13830
+ *
13831
+ * Its compiled representation is:
13832
+ *
13833
+ * ```ts
13834
+ * ɵɵtextInterpolate1('prefix', v0, 'suffix');
13835
+ * ```
13836
+ * @returns itself, so that it may be chained.
13837
+ * @see textInterpolateV
13838
+ * @codeGenApi
13839
+ */
13840
+ export declare function ɵɵtextInterpolate1(prefix: string, v0: any, suffix: string): TsickleIssue1009;
13841
+
13842
+ /**
13843
+ *
13844
+ * Update text content with 2 bound values surrounded by other text.
13845
+ *
13846
+ * Used when a text node has 2 interpolated values in it:
13847
+ *
13848
+ * ```html
13849
+ * <div>prefix{{v0}}-{{v1}}suffix</div>
13850
+ * ```
13851
+ *
13852
+ * Its compiled representation is:
13853
+ *
13854
+ * ```ts
13855
+ * ɵɵtextInterpolate2('prefix', v0, '-', v1, 'suffix');
13856
+ * ```
13857
+ * @returns itself, so that it may be chained.
13858
+ * @see textInterpolateV
13859
+ * @codeGenApi
13860
+ */
13861
+ export declare function ɵɵtextInterpolate2(prefix: string, v0: any, i0: string, v1: any, suffix: string): TsickleIssue1009;
13862
+
13863
+ /**
13864
+ *
13865
+ * Update text content with 3 bound values surrounded by other text.
13866
+ *
13867
+ * Used when a text node has 3 interpolated values in it:
13868
+ *
13869
+ * ```html
13870
+ * <div>prefix{{v0}}-{{v1}}-{{v2}}suffix</div>
13871
+ * ```
13872
+ *
13873
+ * Its compiled representation is:
13874
+ *
13875
+ * ```ts
13876
+ * ɵɵtextInterpolate3(
13877
+ * 'prefix', v0, '-', v1, '-', v2, 'suffix');
13878
+ * ```
13879
+ * @returns itself, so that it may be chained.
13880
+ * @see textInterpolateV
13881
+ * @codeGenApi
13882
+ */
13883
+ export declare function ɵɵtextInterpolate3(prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, suffix: string): TsickleIssue1009;
13884
+
13885
+ /**
13886
+ *
13887
+ * Update text content with 4 bound values surrounded by other text.
13888
+ *
13889
+ * Used when a text node has 4 interpolated values in it:
13890
+ *
13891
+ * ```html
13892
+ * <div>prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}suffix</div>
13893
+ * ```
13894
+ *
13895
+ * Its compiled representation is:
13896
+ *
13897
+ * ```ts
13898
+ * ɵɵtextInterpolate4(
13899
+ * 'prefix', v0, '-', v1, '-', v2, '-', v3, 'suffix');
13900
+ * ```
13901
+ * @returns itself, so that it may be chained.
13902
+ * @see ɵɵtextInterpolateV
13903
+ * @codeGenApi
13904
+ */
13905
+ export declare function ɵɵtextInterpolate4(prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, suffix: string): TsickleIssue1009;
13906
+
13907
+ /**
13908
+ *
13909
+ * Update text content with 5 bound values surrounded by other text.
13910
+ *
13911
+ * Used when a text node has 5 interpolated values in it:
13912
+ *
13913
+ * ```html
13914
+ * <div>prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}suffix</div>
13915
+ * ```
13916
+ *
13917
+ * Its compiled representation is:
13918
+ *
13919
+ * ```ts
13920
+ * ɵɵtextInterpolate5(
13921
+ * 'prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, 'suffix');
13922
+ * ```
13923
+ * @returns itself, so that it may be chained.
13924
+ * @see textInterpolateV
13925
+ * @codeGenApi
13926
+ */
13927
+ export declare function ɵɵtextInterpolate5(prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, i3: string, v4: any, suffix: string): TsickleIssue1009;
13928
+
13929
+ /**
13930
+ *
13931
+ * Update text content with 6 bound values surrounded by other text.
13932
+ *
13933
+ * Used when a text node has 6 interpolated values in it:
13934
+ *
13935
+ * ```html
13936
+ * <div>prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}-{{v5}}suffix</div>
13937
+ * ```
13938
+ *
13939
+ * Its compiled representation is:
13940
+ *
13941
+ * ```ts
13942
+ * ɵɵtextInterpolate6(
13943
+ * 'prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, '-', v5, 'suffix');
13944
+ * ```
13945
+ *
13946
+ * @param i4 Static value used for concatenation only.
13947
+ * @param v5 Value checked for change. @returns itself, so that it may be chained.
13948
+ * @see textInterpolateV
13949
+ * @codeGenApi
13950
+ */
13951
+ export declare function ɵɵtextInterpolate6(prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, i3: string, v4: any, i4: string, v5: any, suffix: string): TsickleIssue1009;
13952
+
13953
+ /**
13954
+ *
13955
+ * Update text content with 7 bound values surrounded by other text.
13956
+ *
13957
+ * Used when a text node has 7 interpolated values in it:
13958
+ *
13959
+ * ```html
13960
+ * <div>prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}-{{v5}}-{{v6}}suffix</div>
13961
+ * ```
13962
+ *
13963
+ * Its compiled representation is:
13964
+ *
13965
+ * ```ts
13966
+ * ɵɵtextInterpolate7(
13967
+ * 'prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, '-', v5, '-', v6, 'suffix');
13968
+ * ```
13969
+ * @returns itself, so that it may be chained.
13970
+ * @see textInterpolateV
13971
+ * @codeGenApi
13972
+ */
13973
+ export declare function ɵɵtextInterpolate7(prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, i3: string, v4: any, i4: string, v5: any, i5: string, v6: any, suffix: string): TsickleIssue1009;
13974
+
13975
+ /**
13976
+ *
13977
+ * Update text content with 8 bound values surrounded by other text.
13978
+ *
13979
+ * Used when a text node has 8 interpolated values in it:
13980
+ *
13981
+ * ```html
13982
+ * <div>prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}-{{v5}}-{{v6}}-{{v7}}suffix</div>
13983
+ * ```
13984
+ *
13985
+ * Its compiled representation is:
13986
+ *
13987
+ * ```ts
13988
+ * ɵɵtextInterpolate8(
13989
+ * 'prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, '-', v5, '-', v6, '-', v7, 'suffix');
13990
+ * ```
13991
+ * @returns itself, so that it may be chained.
13992
+ * @see textInterpolateV
13993
+ * @codeGenApi
13994
+ */
13995
+ export declare function ɵɵtextInterpolate8(prefix: string, v0: any, i0: string, v1: any, i1: string, v2: any, i2: string, v3: any, i3: string, v4: any, i4: string, v5: any, i5: string, v6: any, i6: string, v7: any, suffix: string): TsickleIssue1009;
13996
+
13997
+ /**
13998
+ * Update text content with 9 or more bound values other surrounded by text.
13999
+ *
14000
+ * Used when the number of interpolated values exceeds 8.
14001
+ *
14002
+ * ```html
14003
+ * <div>prefix{{v0}}-{{v1}}-{{v2}}-{{v3}}-{{v4}}-{{v5}}-{{v6}}-{{v7}}-{{v8}}-{{v9}}suffix</div>
14004
+ * ```
14005
+ *
14006
+ * Its compiled representation is:
14007
+ *
14008
+ * ```ts
14009
+ * ɵɵtextInterpolateV(
14010
+ * ['prefix', v0, '-', v1, '-', v2, '-', v3, '-', v4, '-', v5, '-', v6, '-', v7, '-', v9,
14011
+ * 'suffix']);
14012
+ * ```
14013
+ *.
14014
+ * @param values The a collection of values and the strings in between those values, beginning with
14015
+ * a string prefix and ending with a string suffix.
14016
+ * (e.g. `['prefix', value0, '-', value1, '-', value2, ..., value99, 'suffix']`)
14017
+ *
14018
+ * @returns itself, so that it may be chained.
14019
+ * @codeGenApi
14020
+ */
14021
+ export declare function ɵɵtextInterpolateV(values: any[]): TsickleIssue1009;
14022
+
13125
14023
  /**
13126
14024
  * Creates new QueryList, stores the reference in LView and returns QueryList.
13127
14025
  *