@angular/core 11.0.0-rc.3 → 11.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/bundles/core-testing.umd.js +16 -281
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core-testing.umd.min.js +11 -25
  4. package/bundles/core-testing.umd.min.js.map +1 -1
  5. package/bundles/core.umd.js +11847 -11799
  6. package/bundles/core.umd.js.map +1 -1
  7. package/bundles/core.umd.min.js +187 -173
  8. package/bundles/core.umd.min.js.map +1 -1
  9. package/core.d.ts +256 -192
  10. package/core.metadata.json +1 -1
  11. package/esm2015/core.js +31 -24
  12. package/esm2015/src/application_init.js +5 -2
  13. package/esm2015/src/change_detection/change_detector_ref.js +49 -9
  14. package/esm2015/src/compiler/compiler_facade_interface.js +1 -1
  15. package/esm2015/src/core_render3_private_export.js +2 -1
  16. package/esm2015/src/debug/debug_node.js +3 -2
  17. package/esm2015/src/di/index.js +3 -2
  18. package/esm2015/src/di/inject_switch.js +63 -0
  19. package/esm2015/src/di/injection_token.js +5 -3
  20. package/esm2015/src/di/injector.js +5 -3
  21. package/esm2015/src/di/injector_compatibility.js +3 -77
  22. package/esm2015/src/di/injector_marker.js +9 -0
  23. package/esm2015/src/di/injector_token.js +21 -0
  24. package/esm2015/src/di/interface/defs.js +2 -2
  25. package/esm2015/src/di/jit/util.js +4 -4
  26. package/esm2015/src/di/metadata.js +2 -10
  27. package/esm2015/src/di/metadata_attr.js +24 -0
  28. package/esm2015/src/di/null_injector.js +20 -0
  29. package/esm2015/src/di/r3_injector.js +6 -4
  30. package/esm2015/src/linker/compiler.js +1 -1
  31. package/esm2015/src/linker/element_ref.js +26 -7
  32. package/esm2015/src/linker/ng_module_factory_loader.js +1 -1
  33. package/esm2015/src/linker/ng_module_factory_registration.js +1 -1
  34. package/esm2015/src/linker/template_ref.js +56 -7
  35. package/esm2015/src/linker/view_container_ref.js +223 -7
  36. package/esm2015/src/linker/view_ref.js +1 -1
  37. package/esm2015/src/metadata/directives.js +1 -1
  38. package/esm2015/src/metadata/do_boostrap.js +9 -0
  39. package/esm2015/src/metadata/ng_module.js +1 -1
  40. package/esm2015/src/metadata/ng_module_def.js +9 -0
  41. package/esm2015/src/metadata.js +6 -2
  42. package/esm2015/src/r3_symbols.js +1 -1
  43. package/esm2015/src/render/api.js +24 -21
  44. package/esm2015/src/render/api_flags.js +26 -0
  45. package/esm2015/src/render.js +3 -2
  46. package/esm2015/src/render3/collect_native_nodes.js +68 -0
  47. package/esm2015/src/render3/component.js +2 -2
  48. package/esm2015/src/render3/component_ref.js +3 -4
  49. package/esm2015/src/render3/context_discovery.js +1 -1
  50. package/esm2015/src/render3/definition.js +9 -10
  51. package/esm2015/src/render3/definition_factory.js +17 -0
  52. package/esm2015/src/render3/di.js +26 -34
  53. package/esm2015/src/render3/errors.js +9 -25
  54. package/esm2015/src/render3/errors_di.js +26 -0
  55. package/esm2015/src/render3/i18n/i18n_apply.js +2 -2
  56. package/esm2015/src/render3/i18n/i18n_parse.js +3 -2
  57. package/esm2015/src/render3/i18n/i18n_tree_shaking.js +1 -1
  58. package/esm2015/src/render3/index.js +1 -1
  59. package/esm2015/src/render3/instructions/all.js +2 -1
  60. package/esm2015/src/render3/instructions/di.js +5 -12
  61. package/esm2015/src/render3/instructions/di_attr.js +18 -0
  62. package/esm2015/src/render3/instructions/element.js +1 -1
  63. package/esm2015/src/render3/instructions/i18n_icu_container_visitor.js +1 -1
  64. package/esm2015/src/render3/instructions/interpolation.js +2 -2
  65. package/esm2015/src/render3/instructions/listener.js +6 -1
  66. package/esm2015/src/render3/instructions/lview_debug.js +1 -1
  67. package/esm2015/src/render3/instructions/shared.js +4 -3
  68. package/esm2015/src/render3/instructions/styling.js +1 -1
  69. package/esm2015/src/render3/interfaces/container.js +1 -1
  70. package/esm2015/src/render3/interfaces/context.js +1 -1
  71. package/esm2015/src/render3/interfaces/definition.js +1 -1
  72. package/esm2015/src/render3/interfaces/node.js +1 -1
  73. package/esm2015/src/render3/interfaces/renderer.js +1 -1
  74. package/esm2015/src/render3/interfaces/renderer_dom.js +11 -0
  75. package/esm2015/src/render3/interfaces/type_checks.js +1 -1
  76. package/esm2015/src/render3/interfaces/view.js +1 -1
  77. package/esm2015/src/render3/jit/directive.js +2 -2
  78. package/esm2015/src/render3/jit/module.js +3 -2
  79. package/esm2015/src/render3/ng_module_ref.js +2 -2
  80. package/esm2015/src/render3/node_manipulation.js +13 -8
  81. package/esm2015/src/render3/node_manipulation_i18n.js +1 -1
  82. package/esm2015/src/render3/pipe.js +3 -3
  83. package/esm2015/src/render3/query.js +9 -10
  84. package/esm2015/src/render3/util/attrs_utils.js +1 -1
  85. package/esm2015/src/render3/util/discovery_utils.js +2 -2
  86. package/esm2015/src/render3/util/misc_utils.js +1 -26
  87. package/esm2015/src/render3/util/stringify_utils.js +36 -0
  88. package/esm2015/src/render3/util/view_utils.js +1 -1
  89. package/esm2015/src/render3/view_engine_compatibility_prebound.js +6 -7
  90. package/esm2015/src/render3/view_ref.js +3 -61
  91. package/esm2015/src/sanitization/bypass.js +3 -3
  92. package/esm2015/src/sanitization/html_sanitizer.js +6 -6
  93. package/esm2015/src/sanitization/sanitization.js +3 -3
  94. package/esm2015/src/sanitization/url_sanitizer.js +2 -2
  95. package/esm2015/src/util/lang.js +7 -3
  96. package/esm2015/src/version.js +1 -1
  97. package/esm2015/src/view/element.js +1 -1
  98. package/esm2015/src/view/ng_module.js +3 -2
  99. package/esm2015/src/view/refs.js +1 -1
  100. package/esm2015/src/view/services.js +1 -1
  101. package/esm2015/src/view/types.js +1 -1
  102. package/esm2015/src/view/util.js +1 -1
  103. package/esm2015/src/zone/ng_zone.js +2 -5
  104. package/esm2015/testing/src/async.js +5 -6
  105. package/esm2015/testing/src/fake_async.js +9 -20
  106. package/fesm2015/core.js +9405 -9333
  107. package/fesm2015/core.js.map +1 -1
  108. package/fesm2015/testing.js +17 -274
  109. package/fesm2015/testing.js.map +1 -1
  110. package/package.json +1 -1
  111. package/schematics/migrations/abstract-control-parent/index.js +2 -2
  112. package/schematics/migrations/dynamic-queries/index.js +2 -2
  113. package/schematics/migrations/initial-navigation/index.js +3 -3
  114. package/schematics/migrations/initial-navigation/transform.d.ts +1 -2
  115. package/schematics/migrations/initial-navigation/transform.js +2 -13
  116. package/schematics/migrations/missing-injectable/index.js +2 -2
  117. package/schematics/migrations/module-with-providers/index.js +2 -2
  118. package/schematics/migrations/move-document/index.js +2 -2
  119. package/schematics/migrations/native-view-encapsulation/index.js +2 -2
  120. package/schematics/migrations/navigation-extras-omissions/index.js +2 -2
  121. package/schematics/migrations/relative-link-resolution/index.js +2 -2
  122. package/schematics/migrations/renderer-to-renderer2/index.js +2 -2
  123. package/schematics/migrations/router-preserve-query-params/index.js +2 -2
  124. package/schematics/migrations/router-preserve-query-params/util.js +2 -2
  125. package/schematics/migrations/static-queries/index.js +2 -2
  126. package/schematics/migrations/template-var-assignment/index.js +2 -2
  127. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +2 -2
  128. package/schematics/migrations/undecorated-classes-with-di/index.js +2 -2
  129. package/schematics/migrations/wait-for-async/index.js +2 -2
  130. package/schematics/migrations.json +1 -1
  131. package/schematics/utils/typescript/compiler_host.d.ts +7 -0
  132. package/schematics/utils/typescript/compiler_host.js +21 -2
  133. package/src/r3_symbols.d.ts +3 -3
  134. package/testing/testing.d.ts +1 -1
  135. package/testing.d.ts +1 -1
  136. package/esm2015/src/render3/view_engine_compatibility.js +0 -362
  137. package/esm2015/testing/src/async_fallback.js +0 -102
  138. package/esm2015/testing/src/fake_async_fallback.js +0 -145
package/core.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v11.0.0-rc.3
2
+ * @license Angular v11.0.3
3
3
  * (c) 2010-2020 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -435,6 +435,7 @@ export declare interface Attribute {
435
435
  */
436
436
  export declare const Attribute: AttributeDecorator;
437
437
 
438
+
438
439
  /**
439
440
  * Type of the Attribute decorator / constructor function.
440
441
  *
@@ -553,7 +554,7 @@ export declare enum ChangeDetectionStrategy {
553
554
  *
554
555
  * The following example sets the `OnPush` change-detection strategy for a component
555
556
  * (`CheckOnce`, rather than the default `CheckAlways`), then forces a second check
556
- * after an interval. See [live demo](http://plnkr.co/edit/GC512b?p=preview).
557
+ * after an interval. See [live demo](https://plnkr.co/edit/GC512b?p=preview).
557
558
  *
558
559
  * <code-example path="core/ts/change_detect/change-detection.ts"
559
560
  * region="mark-for-check"></code-example>
@@ -991,8 +992,8 @@ export declare interface ComponentDecorator {
991
992
  *
992
993
  * ```html
993
994
  * <a>Spaces</a>&ngsp;<a>between</a>&ngsp;<a>links.</a>
994
- * <!-->compiled to be equivalent to:</>
995
- * <a>Spaces</a> <a>between</a> <a>links.</a>
995
+ * <!-- compiled to be equivalent to:
996
+ * <a>Spaces</a> <a>between</a> <a>links.</a> -->
996
997
  * ```
997
998
  *
998
999
  * Note that sequences of `&ngsp;` are still collapsed to just one space character when
@@ -1000,8 +1001,8 @@ export declare interface ComponentDecorator {
1000
1001
  *
1001
1002
  * ```html
1002
1003
  * <a>before</a>&ngsp;&ngsp;&ngsp;<a>after</a>
1003
- * <!-->compiled to be equivalent to:</>
1004
- * <a>Spaces</a> <a>between</a> <a>links.</a>
1004
+ * <!-- compiled to be equivalent to:
1005
+ * <a>before</a> <a>after</a> -->
1005
1006
  * ```
1006
1007
  *
1007
1008
  * To preserve sequences of whitespace characters, use the
@@ -1708,7 +1709,7 @@ export declare class DefaultIterableDiffer<V> implements IterableDiffer<V>, Iter
1708
1709
  }
1709
1710
 
1710
1711
  /**
1711
- * @deprecated in v8, delete after v10. This API should be used only be generated code, and that
1712
+ * @deprecated in v8, delete after v10. This API should be used only by generated code, and that
1712
1713
  * code should now use ɵɵdefineInjectable instead.
1713
1714
  * @publicApi
1714
1715
  */
@@ -2180,7 +2181,7 @@ declare interface ElementHandleEventFn {
2180
2181
  *
2181
2182
  * @security Permitting direct access to the DOM can make your application more vulnerable to
2182
2183
  * XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the
2183
- * [Security Guide](http://g.co/ng/security).
2184
+ * [Security Guide](https://g.co/ng/security).
2184
2185
  *
2185
2186
  * @publicApi
2186
2187
  */
@@ -3233,9 +3234,6 @@ export declare interface InjectableType<T> extends Type<T> {
3233
3234
  ɵprov: never;
3234
3235
  }
3235
3236
 
3236
- /** Returns a ChangeDetectorRef (a.k.a. a ViewRef) */
3237
- declare function injectChangeDetectorRef(isPipe?: boolean): ChangeDetectorRef;
3238
-
3239
3237
 
3240
3238
  /**
3241
3239
  * Type of the Inject decorator / constructor function.
@@ -3264,13 +3262,6 @@ export declare interface InjectDecorator {
3264
3262
  new (token: any): Inject;
3265
3263
  }
3266
3264
 
3267
- /**
3268
- * Creates an ElementRef from the most recent node.
3269
- *
3270
- * @returns The ElementRef instance to use
3271
- */
3272
- declare function injectElementRef(ElementRefToken: typeof ElementRef): ElementRef;
3273
-
3274
3265
 
3275
3266
  /**
3276
3267
  * Injection flags for DI.
@@ -3445,24 +3436,6 @@ declare interface InjectorTypeWithProviders<T> {
3445
3436
  providers?: (Type<any> | ValueProvider | ExistingProvider | FactoryProvider | ConstructorProvider | StaticClassProvider | ClassProvider | any[])[];
3446
3437
  }
3447
3438
 
3448
- /** Injects a Renderer2 for the current component. */
3449
- declare function injectRenderer2(): Renderer2;
3450
-
3451
- /**
3452
- * Creates a TemplateRef given a node.
3453
- *
3454
- * @returns The TemplateRef instance to use
3455
- */
3456
- declare function injectTemplateRef<T>(TemplateRefToken: typeof TemplateRef, ElementRefToken: typeof ElementRef): TemplateRef<T> | null;
3457
-
3458
- /**
3459
- * Creates a ViewContainerRef and stores it on the injector. Or, if the ViewContainerRef
3460
- * already exists, retrieves the existing ViewContainerRef.
3461
- *
3462
- * @returns The ViewContainerRef instance to use
3463
- */
3464
- declare function injectViewContainerRef(ViewContainerRefToken: typeof ViewContainerRef, ElementRefToken: typeof ElementRef): ViewContainerRef;
3465
-
3466
3439
  /**
3467
3440
  * Type of metadata for an `Input` property.
3468
3441
  *
@@ -3545,7 +3518,7 @@ declare interface InternalNgModuleRef<T> extends NgModuleRef<T> {
3545
3518
 
3546
3519
  declare interface InternalViewRef extends ViewRef {
3547
3520
  detachFromAppRef(): void;
3548
- attachToAppRef(appRef: ApplicationRef): void;
3521
+ attachToAppRef(appRef: ViewRefTracker): void;
3549
3522
  }
3550
3523
 
3551
3524
 
@@ -3857,7 +3830,7 @@ declare interface LContainer extends Array<any> {
3857
3830
  * The host could be an LView if this container is on a component node.
3858
3831
  * In that case, the component LView is its HOST.
3859
3832
  */
3860
- readonly [HOST]: RElement | RComment | ɵangular_packages_core_core_bn;
3833
+ readonly [HOST]: RElement | RComment | ɵangular_packages_core_core_bv;
3861
3834
  /**
3862
3835
  * This is a type field which allows us to differentiate `LContainer` from `StylingContext` in an
3863
3836
  * efficient way. The value is always set to `true`
@@ -3874,12 +3847,12 @@ declare interface LContainer extends Array<any> {
3874
3847
  * Access to the parent view is necessary so we can propagate back
3875
3848
  * up from inside a container to parent[NEXT].
3876
3849
  */
3877
- [PARENT]: ɵangular_packages_core_core_bn;
3850
+ [PARENT]: ɵangular_packages_core_core_bv;
3878
3851
  /**
3879
3852
  * This allows us to jump from a container to a sibling container or component
3880
3853
  * view with the same parent, so we can remove listeners efficiently.
3881
3854
  */
3882
- [NEXT]: ɵangular_packages_core_core_bn | LContainer | null;
3855
+ [NEXT]: ɵangular_packages_core_core_bv | LContainer | null;
3883
3856
  /**
3884
3857
  * The number of direct transplanted views which need a refresh or have descendants themselves
3885
3858
  * that need a refresh but have not marked their ancestors as Dirty. This tells us that during
@@ -3892,7 +3865,7 @@ declare interface LContainer extends Array<any> {
3892
3865
  * a different `LContainer`. We need to track views created from a given declaration point since
3893
3866
  * queries collect matches from the embedded view declaration point and _not_ the insertion point.
3894
3867
  */
3895
- [MOVED_VIEWS]: ɵangular_packages_core_core_bn[] | null;
3868
+ [MOVED_VIEWS]: ɵangular_packages_core_core_bv[] | null;
3896
3869
  /**
3897
3870
  * Pointer to the `TNode` which represents the host of the container.
3898
3871
  */
@@ -3903,8 +3876,11 @@ declare interface LContainer extends Array<any> {
3903
3876
  * Array of `ViewRef`s used by any `ViewContainerRef`s that point to this container.
3904
3877
  *
3905
3878
  * This is lazily initialized by `ViewContainerRef` when the first view is inserted.
3879
+ *
3880
+ * NOTE: This is stored as `any[]` because render3 should really not be aware of `ViewRef` and
3881
+ * doing so creates circular dependency.
3906
3882
  */
3907
- [VIEW_REFS]: ViewRef[] | null;
3883
+ [VIEW_REFS]: unknown[] | null;
3908
3884
  }
3909
3885
 
3910
3886
  /**
@@ -3923,8 +3899,8 @@ declare interface LContainerDebug {
3923
3899
  */
3924
3900
  readonly views: LViewDebug[];
3925
3901
  readonly parent: LViewDebug | null;
3926
- readonly movedViews: ɵangular_packages_core_core_bn[] | null;
3927
- readonly host: RElement | RComment | ɵangular_packages_core_core_bn;
3902
+ readonly movedViews: ɵangular_packages_core_core_bv[] | null;
3903
+ readonly host: RElement | RComment | ɵangular_packages_core_core_bv;
3928
3904
  readonly next: LViewDebug | LContainerDebug | null;
3929
3905
  readonly hasTransplantedViews: boolean;
3930
3906
  }
@@ -3959,7 +3935,7 @@ export declare const LOCALE_ID: InjectionToken<string>;
3959
3935
  * - `<div #nativeDivEl>` - `nativeDivEl` should point to the native `<div>` element;
3960
3936
  * - `<ng-template #tplRef>` - `tplRef` should point to the `TemplateRef` instance;
3961
3937
  */
3962
- declare type LocalRefExtractor = (tNode: TNodeWithLocalRefs, currentView: ɵangular_packages_core_core_bn) => any;
3938
+ declare type LocalRefExtractor = (tNode: TNodeWithLocalRefs, currentView: ɵangular_packages_core_core_bv) => any;
3963
3939
 
3964
3940
  /**
3965
3941
  * lQueries represent a collection of individual LQuery objects tracked in a given view.
@@ -5888,9 +5864,9 @@ declare interface RElement extends RNode {
5888
5864
  classList: RDomTokenList;
5889
5865
  className: string;
5890
5866
  textContent: string | null;
5891
- setAttribute(name: string, value: string): void;
5867
+ setAttribute(name: string, value: string | TrustedHTML | TrustedScript | TrustedScriptURL): void;
5892
5868
  removeAttribute(name: string): void;
5893
- setAttributeNS(namespaceURI: string, qualifiedName: string, value: string): void;
5869
+ setAttributeNS(namespaceURI: string, qualifiedName: string, value: string | TrustedHTML | TrustedScript | TrustedScriptURL): void;
5894
5870
  addEventListener(type: string, listener: EventListener, useCapture?: boolean): void;
5895
5871
  removeEventListener(type: string, listener?: EventListener, options?: boolean): void;
5896
5872
  setProperty?(name: string, value: any): void;
@@ -6191,7 +6167,7 @@ export declare class ResolvedReflectiveFactory {
6191
6167
  /**
6192
6168
  * Arguments (dependencies) to the `factory` function.
6193
6169
  */
6194
- dependencies: ɵangular_packages_core_core_e[];
6170
+ dependencies: ɵangular_packages_core_core_d[];
6195
6171
  constructor(
6196
6172
  /**
6197
6173
  * Factory function which can return an instance of an object represented by a key.
@@ -6200,7 +6176,7 @@ export declare class ResolvedReflectiveFactory {
6200
6176
  /**
6201
6177
  * Arguments (dependencies) to the `factory` function.
6202
6178
  */
6203
- dependencies: ɵangular_packages_core_core_e[]);
6179
+ dependencies: ɵangular_packages_core_core_d[]);
6204
6180
  }
6205
6181
 
6206
6182
  /**
@@ -6252,6 +6228,14 @@ export declare interface ResolvedReflectiveProvider {
6252
6228
  */
6253
6229
  export declare function resolveForwardRef<T>(type: T): T;
6254
6230
 
6231
+ /**
6232
+ * The goal here is to make sure that the browser DOM API is the Renderer.
6233
+ * We do this by defining a subset of DOM API to be the renderer and then
6234
+ * use that at runtime for rendering.
6235
+ *
6236
+ * At runtime we can then use the DOM api directly, in server or web-worker
6237
+ * it will be easy to implement such API.
6238
+ */
6255
6239
  /** Subset of API needed for appending elements and text nodes. */
6256
6240
  declare interface RNode {
6257
6241
  /**
@@ -6674,7 +6658,7 @@ declare interface TContainerNode extends TNode {
6674
6658
  * - They are the first node of a component or embedded view
6675
6659
  * - They are dynamically created
6676
6660
  */
6677
- parent: ɵangular_packages_core_core_bd | TElementContainerNode | null;
6661
+ parent: ɵangular_packages_core_core_bh | TElementContainerNode | null;
6678
6662
  tViews: TView | TView[] | null;
6679
6663
  projection: null;
6680
6664
  value: null;
@@ -6713,8 +6697,8 @@ declare type TData = (TNode | ɵPipeDef<any> | ɵDirectiveDef<any> | ɵComponent
6713
6697
  declare interface TElementContainerNode extends TNode {
6714
6698
  /** Index in the LView[] array. */
6715
6699
  index: number;
6716
- child: ɵangular_packages_core_core_bd | TTextNode | TContainerNode | TElementContainerNode | TProjectionNode | null;
6717
- parent: ɵangular_packages_core_core_bd | TElementContainerNode | null;
6700
+ child: ɵangular_packages_core_core_bh | TTextNode | TContainerNode | TElementContainerNode | TProjectionNode | null;
6701
+ parent: ɵangular_packages_core_core_bh | TElementContainerNode | null;
6718
6702
  tViews: null;
6719
6703
  projection: null;
6720
6704
  }
@@ -7181,7 +7165,7 @@ declare interface TNode {
7181
7165
  *
7182
7166
  * If this is an inline view node (V), the parent will be its container.
7183
7167
  */
7184
- parent: ɵangular_packages_core_core_bd | TContainerNode | null;
7168
+ parent: ɵangular_packages_core_core_bh | TContainerNode | null;
7185
7169
  /**
7186
7170
  * List of projected TNodes for a given component host element OR index into the said nodes.
7187
7171
  *
@@ -7437,7 +7421,7 @@ declare const enum TNodeType {
7437
7421
  /**
7438
7422
  * Type representing a set of TNodes that can have local refs (`#foo`) placed on them.
7439
7423
  */
7440
- declare type TNodeWithLocalRefs = TContainerNode | ɵangular_packages_core_core_bd | TElementContainerNode;
7424
+ declare type TNodeWithLocalRefs = TContainerNode | ɵangular_packages_core_core_bh | TElementContainerNode;
7441
7425
 
7442
7426
  /** Static data for an LProjectionNode */
7443
7427
  declare interface TProjectionNode extends TNode {
@@ -7448,7 +7432,7 @@ declare interface TProjectionNode extends TNode {
7448
7432
  * or embedded view (which means their parent is in a different view and must be
7449
7433
  * retrieved using LView.node).
7450
7434
  */
7451
- parent: ɵangular_packages_core_core_bd | TElementContainerNode | null;
7435
+ parent: ɵangular_packages_core_core_bh | TElementContainerNode | null;
7452
7436
  tViews: null;
7453
7437
  /** Index of the projection node. (See TNode.projection for more info.) */
7454
7438
  projection: number;
@@ -7799,7 +7783,7 @@ declare interface TTextNode extends TNode {
7799
7783
  * embedded view (which means their parent is in a different view and must be
7800
7784
  * retrieved using LView.node).
7801
7785
  */
7802
- parent: ɵangular_packages_core_core_bd | TElementContainerNode | null;
7786
+ parent: ɵangular_packages_core_core_bh | TElementContainerNode | null;
7803
7787
  tViews: null;
7804
7788
  projection: null;
7805
7789
  }
@@ -7821,7 +7805,7 @@ declare interface TView {
7821
7805
  * This is a blueprint used to generate LView instances for this TView. Copying this
7822
7806
  * blueprint is faster than creating a new LView from scratch.
7823
7807
  */
7824
- blueprint: ɵangular_packages_core_core_bn;
7808
+ blueprint: ɵangular_packages_core_core_bv;
7825
7809
  /**
7826
7810
  * The template function used to refresh the view of dynamically created views
7827
7811
  * and components. Will be null for inline views.
@@ -8542,14 +8526,14 @@ declare class ViewRef_2<T> implements EmbeddedViewRef<T>, InternalViewRef, viewE
8542
8526
  *
8543
8527
  * @internal
8544
8528
  */
8545
- _lView: ɵangular_packages_core_core_bn,
8529
+ _lView: ɵangular_packages_core_core_bv,
8546
8530
  /**
8547
8531
  * This represents the `LView` associated with the point where `ChangeDetectorRef` was
8548
8532
  * requested.
8549
8533
  *
8550
8534
  * This may be different from `_lView` if the `_cdRefInjectingView` is an embedded view.
8551
8535
  */
8552
- _cdRefInjectingView?: ɵangular_packages_core_core_bn | undefined);
8536
+ _cdRefInjectingView?: ɵangular_packages_core_core_bv | undefined);
8553
8537
  get context(): T;
8554
8538
  get destroyed(): boolean;
8555
8539
  destroy(): void;
@@ -8731,7 +8715,17 @@ declare class ViewRef_2<T> implements EmbeddedViewRef<T>, InternalViewRef, viewE
8731
8715
  checkNoChanges(): void;
8732
8716
  attachToViewContainerRef(vcRef: ViewContainerRef): void;
8733
8717
  detachFromAppRef(): void;
8734
- attachToAppRef(appRef: ApplicationRef): void;
8718
+ attachToAppRef(appRef: ViewRefTracker): void;
8719
+ }
8720
+
8721
+ /**
8722
+ * Interface for tracking root `ViewRef`s in `ApplicationRef`.
8723
+ *
8724
+ * NOTE: Importing `ApplicationRef` here directly creates circular dependency, which is why we have
8725
+ * a subset of the `ApplicationRef` interface `ViewRefTracker` here.
8726
+ */
8727
+ declare interface ViewRefTracker {
8728
+ detachView(viewRef: ViewRef): void;
8735
8729
  }
8736
8730
 
8737
8731
  /**
@@ -8828,26 +8822,82 @@ export declare function ɵangular_packages_core_core_b<T>(token: Type<T> | Injec
8828
8822
 
8829
8823
  export declare function ɵangular_packages_core_core_b<T>(token: Type<T> | InjectionToken<T>, flags?: InjectFlags): T | null;
8830
8824
 
8825
+ export declare abstract class ɵangular_packages_core_core_ba {
8826
+ abstract get view(): ViewData;
8827
+ abstract get nodeIndex(): number | null;
8828
+ abstract get injector(): Injector;
8829
+ abstract get component(): any;
8830
+ abstract get providerTokens(): any[];
8831
+ abstract get references(): {
8832
+ [key: string]: any;
8833
+ };
8834
+ abstract get context(): any;
8835
+ abstract get componentRenderElement(): any;
8836
+ abstract get renderNode(): any;
8837
+ abstract logError(console: Console, ...values: any[]): void;
8838
+ }
8839
+
8840
+ export declare function ɵangular_packages_core_core_bb<T>(definition: ɵDirectiveDef<T>): typeof rememberChangeHistoryAndInvokeOnChangesHook;
8841
+
8842
+ /**
8843
+ * A change detection scheduler token for {@link RootContext}. This token is the default value used
8844
+ * for the default `RootContext` found in the {@link ROOT_CONTEXT} token.
8845
+ */
8846
+ export declare const ɵangular_packages_core_core_bc: InjectionToken<(fn: () => void) => void>;
8847
+
8848
+ /**
8849
+ * Inject static attribute value into directive constructor.
8850
+ *
8851
+ * This method is used with `factory` functions which are generated as part of
8852
+ * `defineDirective` or `defineComponent`. The method retrieves the static value
8853
+ * of an attribute. (Dynamic attributes are not supported since they are not resolved
8854
+ * at the time of injection and can change over time.)
8855
+ *
8856
+ * # Example
8857
+ * Given:
8858
+ * ```
8859
+ * @Component(...)
8860
+ * class MyComponent {
8861
+ * constructor(@Attribute('title') title: string) { ... }
8862
+ * }
8863
+ * ```
8864
+ * When instantiated with
8865
+ * ```
8866
+ * <my-component title="Hello"></my-component>
8867
+ * ```
8868
+ *
8869
+ * Then factory method generated is:
8870
+ * ```
8871
+ * MyComponent.ɵcmp = defineComponent({
8872
+ * factory: () => new MyComponent(injectAttribute('title'))
8873
+ * ...
8874
+ * })
8875
+ * ```
8876
+ *
8877
+ * @publicApi
8878
+ */
8879
+ export declare function ɵangular_packages_core_core_bd(tNode: TNode, attrNameToInject: string): string | null;
8880
+
8831
8881
  /**
8832
8882
  * Return the current `LView`.
8833
8883
  */
8834
- export declare function ɵangular_packages_core_core_ba(): ɵangular_packages_core_core_bn;
8884
+ export declare function ɵangular_packages_core_core_be(): ɵangular_packages_core_core_bv;
8835
8885
 
8836
- export declare function ɵangular_packages_core_core_bb(): number;
8886
+ export declare function ɵangular_packages_core_core_bf(): number;
8837
8887
 
8838
- export declare function ɵangular_packages_core_core_bc<T = any>(level: number): T;
8888
+ export declare function ɵangular_packages_core_core_bg<T = any>(level: number): T;
8839
8889
 
8840
8890
  /** Static data for an element */
8841
- export declare interface ɵangular_packages_core_core_bd extends TNode {
8891
+ export declare interface ɵangular_packages_core_core_bh extends TNode {
8842
8892
  /** Index in the data[] array */
8843
8893
  index: number;
8844
- child: ɵangular_packages_core_core_bd | TTextNode | TElementContainerNode | TContainerNode | TProjectionNode | null;
8894
+ child: ɵangular_packages_core_core_bh | TTextNode | TElementContainerNode | TContainerNode | TProjectionNode | null;
8845
8895
  /**
8846
8896
  * Element nodes will have parents unless they are the first node of a component or
8847
8897
  * embedded view (which means their parent is in a different view and must be
8848
8898
  * retrieved using viewData[HOST_NODE]).
8849
8899
  */
8850
- parent: ɵangular_packages_core_core_bd | TElementContainerNode | null;
8900
+ parent: ɵangular_packages_core_core_bh | TElementContainerNode | null;
8851
8901
  tViews: null;
8852
8902
  /**
8853
8903
  * If this is a component TNode with projection, this will be an array of projected
@@ -8873,7 +8923,7 @@ export declare interface ɵangular_packages_core_core_bd extends TNode {
8873
8923
  * @param thisArg Optional calling context of pureFn
8874
8924
  * @returns Updated or cached value
8875
8925
  */
8876
- export declare function ɵangular_packages_core_core_be(lView: ɵangular_packages_core_core_bn, bindingRoot: number, slotOffset: number, pureFn: (v: any) => any, exp: any, thisArg?: any): any;
8926
+ export declare function ɵangular_packages_core_core_bi(lView: ɵangular_packages_core_core_bv, bindingRoot: number, slotOffset: number, pureFn: (v: any) => any, exp: any, thisArg?: any): any;
8877
8927
 
8878
8928
  /**
8879
8929
  * If the value of any provided exp has changed, calls the pure function to return
@@ -8888,7 +8938,7 @@ export declare function ɵangular_packages_core_core_be(lView: ɵangular_package
8888
8938
  * @param thisArg Optional calling context of pureFn
8889
8939
  * @returns Updated or cached value
8890
8940
  */
8891
- export declare function ɵangular_packages_core_core_bf(lView: ɵangular_packages_core_core_bn, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any) => any, exp1: any, exp2: any, thisArg?: any): any;
8941
+ export declare function ɵangular_packages_core_core_bj(lView: ɵangular_packages_core_core_bv, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any) => any, exp1: any, exp2: any, thisArg?: any): any;
8892
8942
 
8893
8943
  /**
8894
8944
  * If the value of any provided exp has changed, calls the pure function to return
@@ -8904,7 +8954,7 @@ export declare function ɵangular_packages_core_core_bf(lView: ɵangular_package
8904
8954
  * @param thisArg Optional calling context of pureFn
8905
8955
  * @returns Updated or cached value
8906
8956
  */
8907
- export declare function ɵangular_packages_core_core_bg(lView: ɵangular_packages_core_core_bn, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any, v3: any) => any, exp1: any, exp2: any, exp3: any, thisArg?: any): any;
8957
+ export declare function ɵangular_packages_core_core_bk(lView: ɵangular_packages_core_core_bv, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any, v3: any) => any, exp1: any, exp2: any, exp3: any, thisArg?: any): any;
8908
8958
 
8909
8959
  /**
8910
8960
  * If the value of any provided exp has changed, calls the pure function to return
@@ -8922,7 +8972,7 @@ export declare function ɵangular_packages_core_core_bg(lView: ɵangular_package
8922
8972
  * @returns Updated or cached value
8923
8973
  *
8924
8974
  */
8925
- export declare function ɵangular_packages_core_core_bh(lView: ɵangular_packages_core_core_bn, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any, v3: any, v4: any) => any, exp1: any, exp2: any, exp3: any, exp4: any, thisArg?: any): any;
8975
+ export declare function ɵangular_packages_core_core_bl(lView: ɵangular_packages_core_core_bv, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any, v3: any, v4: any) => any, exp1: any, exp2: any, exp3: any, exp4: any, thisArg?: any): any;
8926
8976
 
8927
8977
  /**
8928
8978
  * pureFunction instruction that can support any number of bindings.
@@ -8939,7 +8989,7 @@ export declare function ɵangular_packages_core_core_bh(lView: ɵangular_package
8939
8989
  * @param thisArg Optional calling context of pureFn
8940
8990
  * @returns Updated or cached value
8941
8991
  */
8942
- export declare function ɵangular_packages_core_core_bi(lView: ɵangular_packages_core_core_bn, bindingRoot: number, slotOffset: number, pureFn: (...v: any[]) => any, exps: any[], thisArg?: any): any;
8992
+ export declare function ɵangular_packages_core_core_bm(lView: ɵangular_packages_core_core_bv, bindingRoot: number, slotOffset: number, pureFn: (...v: any[]) => any, exps: any[], thisArg?: any): any;
8943
8993
 
8944
8994
  /**
8945
8995
  * Detects which sanitizer to use for URL property, based on tag name and prop name.
@@ -8948,14 +8998,48 @@ export declare function ɵangular_packages_core_core_bi(lView: ɵangular_package
8948
8998
  * `packages/compiler/src/schema/dom_security_schema.ts`.
8949
8999
  * If tag and prop names don't match Resource URL schema, use URL sanitizer.
8950
9000
  */
8951
- export declare function ɵangular_packages_core_core_bj(tag: string, prop: string): typeof ɵɵsanitizeResourceUrl;
9001
+ export declare function ɵangular_packages_core_core_bn(tag: string, prop: string): typeof ɵɵsanitizeResourceUrl;
9002
+
9003
+ export declare function ɵangular_packages_core_core_bo(name: string, props?: (...args: any[]) => any, parentClass?: any, additionalProcessing?: (target: any, name: string, ...args: any[]) => void): any;
9004
+
9005
+ export declare function ɵangular_packages_core_core_bp(name: string, props?: (...args: any[]) => any, parentClass?: any): any;
8952
9006
 
8953
- export declare function ɵangular_packages_core_core_bk(name: string, props?: (...args: any[]) => any, parentClass?: any): any;
8954
9007
 
8955
- export declare function ɵangular_packages_core_core_bl(name: string, props?: (...args: any[]) => any, parentClass?: any, additionalProcessing?: (target: any, name: string, ...args: any[]) => void): any;
9008
+ export declare function ɵangular_packages_core_core_bq<T>(objWithPropertyToExtract: T): string;
9009
+
9010
+ export declare class ɵangular_packages_core_core_br implements Injector {
9011
+ get(token: any, notFoundValue?: any): any;
9012
+ }
8956
9013
 
9014
+ export declare function ɵangular_packages_core_core_bs(): (<T>(token: Type<T> | InjectionToken<T>, flags?: InjectFlags | undefined) => T | null) | undefined;
8957
9015
 
8958
- export declare function ɵangular_packages_core_core_bm<T>(objWithPropertyToExtract: T): string;
9016
+
9017
+ /**
9018
+ * Special markers which can be left on `Type.__NG_ELEMENT_ID__` which are used by the Ivy's
9019
+ * `NodeInjector`. Usually these markers contain factory functions. But in case of this special
9020
+ * marker we can't leave behind a function because it would create tree shaking problem.
9021
+ *
9022
+ * Currently only `Injector` is special.
9023
+ *
9024
+ * NOTE: the numbers here must be negative, because positive numbers are used as IDs for bloom
9025
+ * filter.
9026
+ */
9027
+ export declare const enum ɵangular_packages_core_core_bt {
9028
+ /**
9029
+ * Marks that the current type is `Injector`
9030
+ */
9031
+ Injector = -1
9032
+ }
9033
+
9034
+ /**
9035
+ * Retrieve an `RNode` for a given `TNode` and `LView`.
9036
+ *
9037
+ * This function guarantees in dev mode to retrieve a non-null `RNode`.
9038
+ *
9039
+ * @param tNode
9040
+ * @param lView
9041
+ */
9042
+ export declare function ɵangular_packages_core_core_bu(tNode: TNode, lView: ɵangular_packages_core_core_bv): RNode;
8959
9043
 
8960
9044
  /**
8961
9045
  * `LView` stores all of the information needed to process the instructions as
@@ -8967,7 +9051,7 @@ export declare function ɵangular_packages_core_core_bm<T>(objWithPropertyToExtr
8967
9051
  * Keeping separate state for each view facilities view insertion / deletion, so we
8968
9052
  * don't have to edit the data array based on which views are present.
8969
9053
  */
8970
- export declare interface ɵangular_packages_core_core_bn extends Array<any> {
9054
+ export declare interface ɵangular_packages_core_core_bv extends Array<any> {
8971
9055
  /**
8972
9056
  * Human readable representation of the `LView`.
8973
9057
  *
@@ -8997,7 +9081,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
8997
9081
  *
8998
9082
  * `LContainer` - The current view is part of a container, and is an embedded view.
8999
9083
  */
9000
- [PARENT]: ɵangular_packages_core_core_bn | LContainer | null;
9084
+ [PARENT]: ɵangular_packages_core_core_bv | LContainer | null;
9001
9085
  /**
9002
9086
  *
9003
9087
  * The next sibling LView or LContainer.
@@ -9007,7 +9091,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
9007
9091
  * views in the same container. We need a way to link component views and views
9008
9092
  * across containers as well.
9009
9093
  */
9010
- [NEXT]: ɵangular_packages_core_core_bn | LContainer | null;
9094
+ [NEXT]: ɵangular_packages_core_core_bv | LContainer | null;
9011
9095
  /** Queries active for this view - nodes from a view are reported to those queries. */
9012
9096
  [QUERIES]: LQueries | null;
9013
9097
  /**
@@ -9072,14 +9156,14 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
9072
9156
  * Necessary to store this so views can traverse through their nested views
9073
9157
  * to remove listeners and call onDestroy callbacks.
9074
9158
  */
9075
- [CHILD_HEAD]: ɵangular_packages_core_core_bn | LContainer | null;
9159
+ [CHILD_HEAD]: ɵangular_packages_core_core_bv | LContainer | null;
9076
9160
  /**
9077
9161
  * The last LView or LContainer beneath this LView in the hierarchy.
9078
9162
  *
9079
9163
  * The tail allows us to quickly add a new state to the end of the view list
9080
9164
  * without having to propagate starting from the first child.
9081
9165
  */
9082
- [CHILD_TAIL]: ɵangular_packages_core_core_bn | LContainer | null;
9166
+ [CHILD_TAIL]: ɵangular_packages_core_core_bv | LContainer | null;
9083
9167
  /**
9084
9168
  * View where this view's template was declared.
9085
9169
  *
@@ -9102,7 +9186,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
9102
9186
  * template function during change detection, we need the declaration view to get inherited
9103
9187
  * context.
9104
9188
  */
9105
- [DECLARATION_VIEW]: ɵangular_packages_core_core_bn | null;
9189
+ [DECLARATION_VIEW]: ɵangular_packages_core_core_bv | null;
9106
9190
  /**
9107
9191
  * Points to the declaration component view, used to track transplanted `LView`s.
9108
9192
  *
@@ -9172,7 +9256,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
9172
9256
  * - `LView[DECLARATION_LCONTAINER]` similar problem for queries
9173
9257
  * - `LContainer[MOVED_VIEWS]` similar problem for queries
9174
9258
  */
9175
- [DECLARATION_COMPONENT_VIEW]: ɵangular_packages_core_core_bn;
9259
+ [DECLARATION_COMPONENT_VIEW]: ɵangular_packages_core_core_bv;
9176
9260
  /**
9177
9261
  * A declaration point of embedded views (ones instantiated based on the content of a
9178
9262
  * <ng-template>), null for other types of views.
@@ -9202,7 +9286,7 @@ export declare interface ɵangular_packages_core_core_bn extends Array<any> {
9202
9286
  *
9203
9287
  * @param viewOrComponent the `LView` or component to get the root context for.
9204
9288
  */
9205
- export declare function ɵangular_packages_core_core_bo(viewOrComponent: ɵangular_packages_core_core_bn | {}): RootContext;
9289
+ export declare function ɵangular_packages_core_core_bw(viewOrComponent: ɵangular_packages_core_core_bv | {}): RootContext;
9206
9290
 
9207
9291
 
9208
9292
  /**
@@ -9225,7 +9309,7 @@ export declare function ɵangular_packages_core_core_bo(viewOrComponent: ɵangul
9225
9309
  *
9226
9310
  * @codeGenApi
9227
9311
  */
9228
- export declare function ɵangular_packages_core_core_bp(message: string, replacements?: {
9312
+ export declare function ɵangular_packages_core_core_bx(message: string, replacements?: {
9229
9313
  [key: string]: (string | string[]);
9230
9314
  }): string;
9231
9315
 
@@ -9238,7 +9322,7 @@ export declare function ɵangular_packages_core_core_bp(message: string, replace
9238
9322
  * that will be interpreted as HTML by a browser, e.g. when assigning to
9239
9323
  * element.innerHTML.
9240
9324
  */
9241
- export declare function ɵangular_packages_core_core_bq(html: string): TrustedHTML | string;
9325
+ export declare function ɵangular_packages_core_core_by(html: string): TrustedHTML | string;
9242
9326
 
9243
9327
  /**
9244
9328
  * Unsafely promote a string to a TrustedScriptURL, falling back to strings
@@ -9249,22 +9333,9 @@ export declare function ɵangular_packages_core_core_bq(html: string): TrustedHT
9249
9333
  * that will cause a browser to load and execute a resource, e.g. when
9250
9334
  * assigning to script.src.
9251
9335
  */
9252
- export declare function ɵangular_packages_core_core_br(url: string): TrustedScriptURL | string;
9336
+ export declare function ɵangular_packages_core_core_bz(url: string): TrustedScriptURL | string;
9253
9337
 
9254
- /**
9255
- * Unsafely promote a string to a TrustedScript, falling back to strings when
9256
- * Trusted Types are not available.
9257
- * @security In particular, it must be assured that the provided string will
9258
- * never cause an XSS vulnerability if used in a context that will be
9259
- * interpreted and executed as a script by a browser, e.g. when calling eval.
9260
- */
9261
- export declare function ɵangular_packages_core_core_bs(script: string): TrustedScript | string;
9262
-
9263
- export declare class ɵangular_packages_core_core_c implements Injector {
9264
- get(token: any, notFoundValue?: any): any;
9265
- }
9266
-
9267
- export declare class ɵangular_packages_core_core_d implements ReflectiveInjector {
9338
+ export declare class ɵangular_packages_core_core_c implements ReflectiveInjector {
9268
9339
  private static INJECTOR_KEY;
9269
9340
  readonly parent: Injector | null;
9270
9341
  keyIds: number[];
@@ -9289,54 +9360,85 @@ export declare class ɵangular_packages_core_core_d implements ReflectiveInjecto
9289
9360
  toString(): string;
9290
9361
  }
9291
9362
 
9363
+ /**
9364
+ * Unsafely promote a string to a TrustedScript, falling back to strings when
9365
+ * Trusted Types are not available.
9366
+ * @security In particular, it must be assured that the provided string will
9367
+ * never cause an XSS vulnerability if used in a context that will be
9368
+ * interpreted and executed as a script by a browser, e.g. when calling eval.
9369
+ */
9370
+ export declare function ɵangular_packages_core_core_ca(script: string): TrustedScript | string;
9371
+
9292
9372
  /**
9293
9373
  * `Dependency` is used by the framework to extend DI.
9294
9374
  * This is internal to Angular and should not be used directly.
9295
9375
  */
9296
- export declare class ɵangular_packages_core_core_e {
9376
+ export declare class ɵangular_packages_core_core_d {
9297
9377
  key: ReflectiveKey;
9298
9378
  optional: boolean;
9299
9379
  visibility: Self | SkipSelf | null;
9300
9380
  constructor(key: ReflectiveKey, optional: boolean, visibility: Self | SkipSelf | null);
9301
- static fromKey(key: ReflectiveKey): ɵangular_packages_core_core_e;
9381
+ static fromKey(key: ReflectiveKey): ɵangular_packages_core_core_d;
9302
9382
  }
9303
9383
 
9304
9384
  /**
9305
9385
  * Resolve a list of Providers.
9306
9386
  */
9307
- export declare function ɵangular_packages_core_core_f(providers: Provider[]): ResolvedReflectiveProvider[];
9387
+ export declare function ɵangular_packages_core_core_e(providers: Provider[]): ResolvedReflectiveProvider[];
9308
9388
 
9309
- export declare function ɵangular_packages_core_core_g(): string;
9389
+ export declare function ɵangular_packages_core_core_f(): string;
9390
+
9391
+ /** Injects a Renderer2 for the current component. */
9392
+ export declare function ɵangular_packages_core_core_g(): Renderer2;
9393
+
9394
+ /**
9395
+ * Creates an ElementRef from the most recent node.
9396
+ *
9397
+ * @returns The ElementRef instance to use
9398
+ */
9399
+ export declare function ɵangular_packages_core_core_h(): ElementRef;
9310
9400
 
9311
9401
  /**
9312
9402
  * Creates an ElementRef given a node.
9313
9403
  *
9314
- * @param ElementRefToken The ElementRef type
9315
9404
  * @param tNode The node for which you'd like an ElementRef
9316
- * @param view The view to which the node belongs
9405
+ * @param lView The view to which the node belongs
9317
9406
  * @returns The ElementRef instance to use
9318
9407
  */
9319
- export declare function ɵangular_packages_core_core_h(ElementRefToken: typeof ElementRef, tNode: TNode, view: ɵangular_packages_core_core_bn): ElementRef;
9408
+ export declare function ɵangular_packages_core_core_i(tNode: TNode, lView: ɵangular_packages_core_core_bv): ElementRef;
9409
+
9410
+ export declare function ɵangular_packages_core_core_j(id: string): NgModuleFactory<any>;
9411
+
9412
+ /**
9413
+ * Creates a TemplateRef given a node.
9414
+ *
9415
+ * @returns The TemplateRef instance to use
9416
+ */
9417
+ export declare function ɵangular_packages_core_core_k<T>(): TemplateRef<T> | null;
9320
9418
 
9321
9419
  /**
9322
9420
  * Creates a TemplateRef and stores it on the injector.
9323
9421
  *
9324
- * @param TemplateRefToken The TemplateRef type
9325
- * @param ElementRefToken The ElementRef type
9326
9422
  * @param hostTNode The node on which a TemplateRef is requested
9327
- * @param hostView The view to which the node belongs
9423
+ * @param hostLView The `LView` to which the node belongs
9328
9424
  * @returns The TemplateRef instance or null if we can't create a TemplateRef on a given node type
9329
9425
  */
9330
- export declare function ɵangular_packages_core_core_i<T>(TemplateRefToken: typeof TemplateRef, ElementRefToken: typeof ElementRef, hostTNode: TNode, hostView: ɵangular_packages_core_core_bn): TemplateRef<T> | null;
9426
+ export declare function ɵangular_packages_core_core_l<T>(hostTNode: TNode, hostLView: ɵangular_packages_core_core_bv): TemplateRef<T> | null;
9331
9427
 
9332
- export declare function ɵangular_packages_core_core_j(id: string): NgModuleFactory<any>;
9428
+ /**
9429
+ * Creates a ViewContainerRef and stores it on the injector. Or, if the ViewContainerRef
9430
+ * already exists, retrieves the existing ViewContainerRef.
9431
+ *
9432
+ * @returns The ViewContainerRef instance to use
9433
+ */
9434
+ export declare function ɵangular_packages_core_core_m(): ViewContainerRef;
9333
9435
 
9334
- export declare class ɵangular_packages_core_core_k {
9436
+ export declare class ɵangular_packages_core_core_n {
9335
9437
  readonly listeners: DebugEventListener[];
9336
9438
  readonly parent: DebugElement | null;
9337
9439
  readonly nativeNode: any;
9338
9440
  private readonly _debugContext;
9339
- constructor(nativeNode: any, parent: DebugNode | null, _debugContext: ɵangular_packages_core_core_w);
9441
+ constructor(nativeNode: any, parent: DebugNode | null, _debugContext: ɵangular_packages_core_core_ba);
9340
9442
  get injector(): Injector;
9341
9443
  get componentInstance(): any;
9342
9444
  get context(): any;
@@ -9346,7 +9448,7 @@ export declare class ɵangular_packages_core_core_k {
9346
9448
  get providerTokens(): any[];
9347
9449
  }
9348
9450
 
9349
- export declare class ɵangular_packages_core_core_l extends ɵangular_packages_core_core_k implements DebugElement {
9451
+ export declare class ɵangular_packages_core_core_o extends ɵangular_packages_core_core_n implements DebugElement {
9350
9452
  readonly name: string;
9351
9453
  readonly properties: {
9352
9454
  [key: string]: any;
@@ -9362,7 +9464,7 @@ export declare class ɵangular_packages_core_core_l extends ɵangular_packages_c
9362
9464
  };
9363
9465
  readonly childNodes: DebugNode[];
9364
9466
  readonly nativeElement: any;
9365
- constructor(nativeNode: any, parent: any, _debugContext: ɵangular_packages_core_core_w);
9467
+ constructor(nativeNode: any, parent: any, _debugContext: ɵangular_packages_core_core_ba);
9366
9468
  addChild(child: DebugNode): void;
9367
9469
  removeChild(child: DebugNode): void;
9368
9470
  insertChildrenAfter(child: DebugNode, newChildren: DebugNode[]): void;
@@ -9374,31 +9476,34 @@ export declare class ɵangular_packages_core_core_l extends ɵangular_packages_c
9374
9476
  triggerEventHandler(eventName: string, eventObj: any): void;
9375
9477
  }
9376
9478
 
9377
- export declare function ɵangular_packages_core_core_m(nativeNode: any): DebugNode | null;
9479
+ export declare function ɵangular_packages_core_core_p(nativeNode: any): DebugNode | null;
9480
+
9481
+ /** Returns a ChangeDetectorRef (a.k.a. a ViewRef) */
9482
+ export declare function ɵangular_packages_core_core_q(isPipe?: boolean): ChangeDetectorRef;
9378
9483
 
9379
- export declare class ɵangular_packages_core_core_n implements IterableDifferFactory {
9484
+ export declare class ɵangular_packages_core_core_r implements IterableDifferFactory {
9380
9485
  constructor();
9381
9486
  supports(obj: Object | null | undefined): boolean;
9382
9487
  create<V>(trackByFn?: TrackByFunction<V>): DefaultIterableDiffer<V>;
9383
9488
  }
9384
9489
 
9385
- export declare class ɵangular_packages_core_core_o<K, V> implements KeyValueDifferFactory {
9490
+ export declare class ɵangular_packages_core_core_s<K, V> implements KeyValueDifferFactory {
9386
9491
  constructor();
9387
9492
  supports(obj: any): boolean;
9388
9493
  create<K, V>(): KeyValueDiffer<K, V>;
9389
9494
  }
9390
9495
 
9391
- export declare function ɵangular_packages_core_core_p(): IterableDiffers;
9496
+ export declare function ɵangular_packages_core_core_t(): IterableDiffers;
9392
9497
 
9393
- export declare function ɵangular_packages_core_core_q(): KeyValueDiffers;
9498
+ export declare function ɵangular_packages_core_core_u(): KeyValueDiffers;
9394
9499
 
9395
- export declare function ɵangular_packages_core_core_r(locale?: string): string;
9500
+ export declare function ɵangular_packages_core_core_v(locale?: string): string;
9396
9501
 
9397
9502
  /**
9398
9503
  * A built-in [dependency injection token](guide/glossary#di-token)
9399
9504
  * that is used to configure the root injector for bootstrapping.
9400
9505
  */
9401
- export declare const ɵangular_packages_core_core_s: StaticProvider[];
9506
+ export declare const ɵangular_packages_core_core_w: StaticProvider[];
9402
9507
 
9403
9508
  /**
9404
9509
  * Schedule work at next available slot.
@@ -9409,71 +9514,15 @@ export declare const ɵangular_packages_core_core_s: StaticProvider[];
9409
9514
  *
9410
9515
  * @param ngZone NgZone to use for scheduling.
9411
9516
  */
9412
- export declare function ɵangular_packages_core_core_t(ngZone: NgZone): (fn: () => void) => void;
9517
+ export declare function ɵangular_packages_core_core_x(ngZone: NgZone): (fn: () => void) => void;
9413
9518
 
9414
9519
  /**
9415
9520
  * USD currency code that the application uses by default for CurrencyPipe when no
9416
9521
  * DEFAULT_CURRENCY_CODE is provided.
9417
9522
  */
9418
- export declare const ɵangular_packages_core_core_u = "USD";
9419
-
9420
- export declare function ɵangular_packages_core_core_v(checkIndex: number, flags: ɵNodeFlags, matchedQueriesDsl: [string | number, ɵQueryValueType][] | null, childCount: number, token: any, value: any, deps: ([ɵDepFlags, any] | any)[], bindings?: BindingDef[], outputs?: OutputDef[]): NodeDef;
9421
-
9422
- export declare abstract class ɵangular_packages_core_core_w {
9423
- abstract get view(): ViewData;
9424
- abstract get nodeIndex(): number | null;
9425
- abstract get injector(): Injector;
9426
- abstract get component(): any;
9427
- abstract get providerTokens(): any[];
9428
- abstract get references(): {
9429
- [key: string]: any;
9430
- };
9431
- abstract get context(): any;
9432
- abstract get componentRenderElement(): any;
9433
- abstract get renderNode(): any;
9434
- abstract logError(console: Console, ...values: any[]): void;
9435
- }
9436
-
9437
- export declare function ɵangular_packages_core_core_x<T>(definition: ɵDirectiveDef<T>): typeof rememberChangeHistoryAndInvokeOnChangesHook;
9438
-
9439
- /**
9440
- * A change detection scheduler token for {@link RootContext}. This token is the default value used
9441
- * for the default `RootContext` found in the {@link ROOT_CONTEXT} token.
9442
- */
9443
- export declare const ɵangular_packages_core_core_y: InjectionToken<(fn: () => void) => void>;
9523
+ export declare const ɵangular_packages_core_core_y = "USD";
9444
9524
 
9445
- /**
9446
- * Inject static attribute value into directive constructor.
9447
- *
9448
- * This method is used with `factory` functions which are generated as part of
9449
- * `defineDirective` or `defineComponent`. The method retrieves the static value
9450
- * of an attribute. (Dynamic attributes are not supported since they are not resolved
9451
- * at the time of injection and can change over time.)
9452
- *
9453
- * # Example
9454
- * Given:
9455
- * ```
9456
- * @Component(...)
9457
- * class MyComponent {
9458
- * constructor(@Attribute('title') title: string) { ... }
9459
- * }
9460
- * ```
9461
- * When instantiated with
9462
- * ```
9463
- * <my-component title="Hello"></my-component>
9464
- * ```
9465
- *
9466
- * Then factory method generated is:
9467
- * ```
9468
- * MyComponent.ɵcmp = defineComponent({
9469
- * factory: () => new MyComponent(injectAttribute('title'))
9470
- * ...
9471
- * })
9472
- * ```
9473
- *
9474
- * @publicApi
9475
- */
9476
- export declare function ɵangular_packages_core_core_z(tNode: TNode, attrNameToInject: string): string | null;
9525
+ export declare function ɵangular_packages_core_core_z(checkIndex: number, flags: ɵNodeFlags, matchedQueriesDsl: [string | number, ɵQueryValueType][] | null, childCount: number, token: any, value: any, deps: ([ɵDepFlags, any] | any)[], bindings?: BindingDef[], outputs?: OutputDef[]): NodeDef;
9477
9526
 
9478
9527
  /**
9479
9528
  * Providers that generate a random `APP_ID_TOKEN`.
@@ -9481,7 +9530,7 @@ export declare function ɵangular_packages_core_core_z(tNode: TNode, attrNameToI
9481
9530
  */
9482
9531
  export declare const ɵAPP_ID_RANDOM_PROVIDER: {
9483
9532
  provide: InjectionToken<string>;
9484
- useFactory: typeof ɵangular_packages_core_core_g;
9533
+ useFactory: typeof ɵangular_packages_core_core_f;
9485
9534
  deps: any[];
9486
9535
  };
9487
9536
 
@@ -9911,6 +9960,8 @@ export declare class ɵConsole {
9911
9960
  warn(message: string): void;
9912
9961
  }
9913
9962
 
9963
+ export declare function ɵCREATE_ATTRIBUTE_DECORATOR__POST_R3__(): AttributeDecorator;
9964
+
9914
9965
  /**
9915
9966
  * Create a new `Injector` which is configured using a `defType` of `InjectorType<any>`s.
9916
9967
  *
@@ -10277,6 +10328,12 @@ export declare function ɵisListLikeIterable(obj: any): boolean;
10277
10328
 
10278
10329
  /**
10279
10330
  * Determine if the argument is an Observable
10331
+ *
10332
+ * Strictly this tests that the `obj` is `Subscribable`, since `Observable`
10333
+ * types need additional methods, such as `lift()`. But it is adequate for our
10334
+ * needs since within the Angular framework code we only ever need to use the
10335
+ * `subscribe()` method, and RxJS has mechanisms to wrap `Subscribable` objects
10336
+ * into `Observable` as needed.
10280
10337
  */
10281
10338
  export declare function ɵisObservable(obj: any | Observable<any>): obj is Observable<any>;
10282
10339
 
@@ -10301,7 +10358,7 @@ export declare interface ɵLContext {
10301
10358
  /**
10302
10359
  * The component's parent view data.
10303
10360
  */
10304
- lView: ɵangular_packages_core_core_bn;
10361
+ lView: ɵangular_packages_core_core_bv;
10305
10362
  /**
10306
10363
  * The index instance of the node.
10307
10364
  */
@@ -10814,7 +10871,7 @@ export declare class ɵRender3ComponentRef<T> extends ComponentRef<T> {
10814
10871
  hostView: ViewRef_2<T>;
10815
10872
  changeDetectorRef: ChangeDetectorRef;
10816
10873
  componentType: Type<T>;
10817
- constructor(componentType: Type<T>, instance: T, location: ElementRef, _rootLView: ɵangular_packages_core_core_bn, _tNode: ɵangular_packages_core_core_bd | TContainerNode | TElementContainerNode);
10874
+ constructor(componentType: Type<T>, instance: T, location: ElementRef, _rootLView: ɵangular_packages_core_core_bv, _tNode: ɵangular_packages_core_core_bh | TContainerNode | TElementContainerNode);
10818
10875
  get injector(): Injector;
10819
10876
  destroy(): void;
10820
10877
  onDestroy(callback: () => void): void;
@@ -10989,12 +11046,13 @@ export declare function ɵsetLocaleId(localeId: string): void;
10989
11046
  export declare type ɵSetterFn = (obj: any, value: any) => void;
10990
11047
 
10991
11048
  /** Store a value in the `data` at a given `index`. */
10992
- export declare function ɵstore<T>(tView: TView, lView: ɵangular_packages_core_core_bn, index: number, value: T): void;
11049
+ export declare function ɵstore<T>(tView: TView, lView: ɵangular_packages_core_core_bv, index: number, value: T): void;
10993
11050
 
10994
11051
 
10995
11052
  export declare function ɵstringify(token: any): string;
10996
11053
 
10997
- export declare const ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__: typeof injectChangeDetectorRef;
11054
+
11055
+ export declare const ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__: typeof ɵangular_packages_core_core_q;
10998
11056
 
10999
11057
  export declare const ɵSWITCH_COMPILE_COMPONENT__POST_R3__: typeof ɵcompileComponent;
11000
11058
 
@@ -11006,16 +11064,16 @@ export declare const ɵSWITCH_COMPILE_NGMODULE__POST_R3__: typeof ɵcompileNgMod
11006
11064
 
11007
11065
  export declare const ɵSWITCH_COMPILE_PIPE__POST_R3__: typeof ɵcompilePipe;
11008
11066
 
11009
- export declare const ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__: typeof injectElementRef;
11067
+ export declare const ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__: typeof ɵangular_packages_core_core_h;
11010
11068
 
11011
11069
 
11012
11070
  export declare const ɵSWITCH_IVY_ENABLED__POST_R3__ = true;
11013
11071
 
11014
- export declare const ɵSWITCH_RENDERER2_FACTORY__POST_R3__: typeof injectRenderer2;
11072
+ export declare const ɵSWITCH_RENDERER2_FACTORY__POST_R3__: typeof ɵangular_packages_core_core_g;
11015
11073
 
11016
- export declare const ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__: typeof injectTemplateRef;
11074
+ export declare const ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__: typeof ɵangular_packages_core_core_k;
11017
11075
 
11018
- export declare const ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__: typeof injectViewContainerRef;
11076
+ export declare const ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__: typeof ɵangular_packages_core_core_m;
11019
11077
 
11020
11078
  export declare function ɵted(checkIndex: number, ngContentIndex: number | null, staticText: string[]): NodeDef;
11021
11079
 
@@ -13693,6 +13751,12 @@ export declare function ɵɵsanitizeUrl(unsafeUrl: any): string;
13693
13751
  export declare function ɵɵsanitizeUrlOrResourceUrl(unsafeUrl: any, tag: string, prop: string): any;
13694
13752
 
13695
13753
  /**
13754
+ * Generated next to NgModules to monkey-patch directive and pipe references onto a component's
13755
+ * definition, when generating a direct reference in the component file would otherwise create an
13756
+ * import cycle.
13757
+ *
13758
+ * See [this explanation](https://hackmd.io/Odw80D0pR6yfsOjg_7XCJg?view) for more details.
13759
+ *
13696
13760
  * @codeGenApi
13697
13761
  */
13698
13762
  export declare function ɵɵsetComponentScope(type: ɵComponentType<any>, directives: Type<any>[], pipes: Type<any>[]): void;
@@ -14455,7 +14519,7 @@ export declare function ɵɵtemplate(index: number, templateFn: ComponentTemplat
14455
14519
  *
14456
14520
  * @codeGenApi
14457
14521
  */
14458
- export declare function ɵɵtemplateRefExtractor(tNode: TNode, currentView: ɵangular_packages_core_core_bn): TemplateRef<unknown> | null;
14522
+ export declare function ɵɵtemplateRefExtractor(tNode: TNode, lView: ɵangular_packages_core_core_bv): TemplateRef<any> | null;
14459
14523
 
14460
14524
  /**
14461
14525
  * Create static text node