@angular/core 14.0.0-next.15 → 14.0.0-next.16

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 (102) hide show
  1. package/esm2020/src/application_ref.mjs +22 -13
  2. package/esm2020/src/change_detection/change_detector_ref.mjs +3 -3
  3. package/esm2020/src/change_detection/differs/default_iterable_differ.mjs +2 -2
  4. package/esm2020/src/change_detection/differs/default_keyvalue_differ.mjs +2 -2
  5. package/esm2020/src/change_detection/differs/iterable_differs.mjs +2 -2
  6. package/esm2020/src/change_detection/differs/keyvalue_differs.mjs +2 -2
  7. package/esm2020/src/compiler/compiler_facade.mjs +2 -2
  8. package/esm2020/src/core_render3_private_export.mjs +2 -2
  9. package/esm2020/src/debug/debug_node.mjs +5 -5
  10. package/esm2020/src/di/create_injector.mjs +3 -4
  11. package/esm2020/src/di/index.mjs +2 -2
  12. package/esm2020/src/di/initializer_token.mjs +4 -4
  13. package/esm2020/src/di/injector.mjs +2 -2
  14. package/esm2020/src/di/injector_compatibility.mjs +4 -4
  15. package/esm2020/src/di/injector_token.mjs +2 -2
  16. package/esm2020/src/di/interface/provider.mjs +1 -1
  17. package/esm2020/src/di/jit/injectable.mjs +3 -3
  18. package/esm2020/src/di/metadata.mjs +6 -6
  19. package/esm2020/src/di/provider_collection.mjs +20 -5
  20. package/esm2020/src/di/r3_injector.mjs +27 -10
  21. package/esm2020/src/errors.mjs +1 -1
  22. package/esm2020/src/linker/template_ref.mjs +3 -3
  23. package/esm2020/src/linker/view_container_ref.mjs +4 -4
  24. package/esm2020/src/metadata/directives.mjs +1 -1
  25. package/esm2020/src/render3/assert.mjs +3 -3
  26. package/esm2020/src/render3/collect_native_nodes.mjs +5 -5
  27. package/esm2020/src/render3/component.mjs +8 -8
  28. package/esm2020/src/render3/component_ref.mjs +4 -4
  29. package/esm2020/src/render3/context_discovery.mjs +4 -4
  30. package/esm2020/src/render3/di.mjs +21 -21
  31. package/esm2020/src/render3/di_setup.mjs +5 -5
  32. package/esm2020/src/render3/errors.mjs +5 -5
  33. package/esm2020/src/render3/errors_di.mjs +10 -7
  34. package/esm2020/src/render3/features/inherit_definition_feature.mjs +2 -2
  35. package/esm2020/src/render3/features/standalone_feature.mjs +5 -4
  36. package/esm2020/src/render3/hooks.mjs +19 -19
  37. package/esm2020/src/render3/i18n/i18n_apply.mjs +16 -16
  38. package/esm2020/src/render3/i18n/i18n_debug.mjs +9 -9
  39. package/esm2020/src/render3/i18n/i18n_insert_before_index.mjs +2 -2
  40. package/esm2020/src/render3/i18n/i18n_parse.mjs +14 -14
  41. package/esm2020/src/render3/i18n/i18n_util.mjs +7 -7
  42. package/esm2020/src/render3/index.mjs +2 -2
  43. package/esm2020/src/render3/instructions/advance.mjs +3 -3
  44. package/esm2020/src/render3/instructions/all.mjs +2 -1
  45. package/esm2020/src/render3/instructions/change_detection.mjs +2 -2
  46. package/esm2020/src/render3/instructions/element.mjs +26 -6
  47. package/esm2020/src/render3/instructions/element_container.mjs +3 -3
  48. package/esm2020/src/render3/instructions/i18n.mjs +2 -2
  49. package/esm2020/src/render3/instructions/listener.mjs +7 -7
  50. package/esm2020/src/render3/instructions/lview_debug.mjs +26 -26
  51. package/esm2020/src/render3/instructions/projection.mjs +3 -3
  52. package/esm2020/src/render3/instructions/shared.mjs +90 -70
  53. package/esm2020/src/render3/instructions/styling.mjs +5 -5
  54. package/esm2020/src/render3/instructions/template.mjs +3 -3
  55. package/esm2020/src/render3/instructions/text.mjs +2 -2
  56. package/esm2020/src/render3/interfaces/node.mjs +10 -10
  57. package/esm2020/src/render3/interfaces/styling.mjs +18 -18
  58. package/esm2020/src/render3/interfaces/type_checks.mjs +5 -5
  59. package/esm2020/src/render3/interfaces/view.mjs +1 -1
  60. package/esm2020/src/render3/jit/directive.mjs +43 -6
  61. package/esm2020/src/render3/jit/module.mjs +22 -12
  62. package/esm2020/src/render3/jit/partial.mjs +8 -8
  63. package/esm2020/src/render3/jit/pipe.mjs +3 -3
  64. package/esm2020/src/render3/jit/util.mjs +15 -0
  65. package/esm2020/src/render3/ng_module_ref.mjs +1 -1
  66. package/esm2020/src/render3/node_assert.mjs +8 -8
  67. package/esm2020/src/render3/node_manipulation.mjs +40 -40
  68. package/esm2020/src/render3/node_manipulation_i18n.mjs +3 -3
  69. package/esm2020/src/render3/node_selector_matcher.mjs +28 -28
  70. package/esm2020/src/render3/pipe.mjs +2 -2
  71. package/esm2020/src/render3/query.mjs +12 -12
  72. package/esm2020/src/render3/state.mjs +5 -5
  73. package/esm2020/src/render3/styling/class_differ.mjs +3 -3
  74. package/esm2020/src/render3/styling/static_styling.mjs +3 -3
  75. package/esm2020/src/render3/styling/styling_parser.mjs +17 -17
  76. package/esm2020/src/render3/util/attrs_utils.mjs +10 -10
  77. package/esm2020/src/render3/util/discovery_utils.mjs +4 -4
  78. package/esm2020/src/render3/util/injector_utils.mjs +4 -4
  79. package/esm2020/src/render3/util/view_traversal_utils.mjs +2 -2
  80. package/esm2020/src/render3/util/view_utils.mjs +3 -3
  81. package/esm2020/src/render3/view_ref.mjs +6 -6
  82. package/esm2020/src/sanitization/bypass.mjs +7 -7
  83. package/esm2020/src/sanitization/sanitization.mjs +10 -10
  84. package/esm2020/src/util/raf.mjs +1 -1
  85. package/esm2020/src/version.mjs +1 -1
  86. package/esm2020/testing/src/logger.mjs +3 -3
  87. package/esm2020/testing/src/ng_zone_mock.mjs +3 -3
  88. package/esm2020/testing/src/r3_test_bed.mjs +34 -6
  89. package/esm2020/testing/src/r3_test_bed_compiler.mjs +45 -4
  90. package/esm2020/testing/src/resolvers.mjs +1 -1
  91. package/esm2020/testing/src/test_bed_common.mjs +5 -1
  92. package/fesm2015/core.mjs +640 -498
  93. package/fesm2015/core.mjs.map +1 -1
  94. package/fesm2015/testing.mjs +84 -8
  95. package/fesm2015/testing.mjs.map +1 -1
  96. package/fesm2020/core.mjs +640 -498
  97. package/fesm2020/core.mjs.map +1 -1
  98. package/fesm2020/testing.mjs +81 -8
  99. package/fesm2020/testing.mjs.map +1 -1
  100. package/index.d.ts +101 -57
  101. package/package.json +1 -1
  102. package/testing/index.d.ts +29 -1
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v14.0.0-next.15
2
+ * @license Angular v14.0.0-next.16
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -528,6 +528,11 @@ export declare class ApplicationRef {
528
528
  */
529
529
  detachView(viewRef: ViewRef): void;
530
530
  private _loadComponent;
531
+ /**
532
+ * Destroys an Angular application represented by this `ApplicationRef`. Calling this function
533
+ * will destroy the associated environnement injectors as well as all the bootstrapped components
534
+ * with their views.
535
+ */
531
536
  destroy(): void;
532
537
  /**
533
538
  * Returns the number of attached views.
@@ -1017,8 +1022,28 @@ export declare interface Component extends Directive {
1017
1022
  * overridden in compiler options.
1018
1023
  */
1019
1024
  preserveWhitespaces?: boolean;
1025
+ /**
1026
+ * Angular components marked as `standalone` do not need to be declared in an NgModule. Such
1027
+ * components directly manage their own template dependencies (components, directives and pipes
1028
+ * used in a template) via the imports property.
1029
+ */
1020
1030
  standalone?: boolean;
1031
+ /**
1032
+ * The imports property specifies the standalone component's template dependencies — those
1033
+ * directives, components, and pipes that can be used within its template. Standalone components
1034
+ * can import other standalone components, directives and pipes as well as existing NgModules.
1035
+ *
1036
+ * This property is only available for standalone components - specifying it for components
1037
+ * declared in an NgModule generates a compilation error.
1038
+ */
1021
1039
  imports?: (Type<any> | any[])[];
1040
+ /**
1041
+ * The set of schemas that declare elements to be allowed in a standalone component. Elements and
1042
+ * properties that are neither Angular components nor directives must be declared in a schema.
1043
+ *
1044
+ * This property is only available for standalone components - specifying it for components
1045
+ * declared in an NgModule generates a compilation error.
1046
+ */
1022
1047
  schemas?: SchemaMetadata[];
1023
1048
  }
1024
1049
 
@@ -1610,7 +1635,7 @@ declare interface CreateComponentOptions {
1610
1635
  *
1611
1636
  * @publicApi
1612
1637
  */
1613
- export declare function createEnvironmentInjector(providers: Provider[], parent?: EnvironmentInjector | null, debugName?: string | null): EnvironmentInjector;
1638
+ export declare function createEnvironmentInjector(providers: Array<Provider | ImportedNgModuleProviders>, parent?: EnvironmentInjector | null, debugName?: string | null): EnvironmentInjector;
1614
1639
 
1615
1640
  /**
1616
1641
  * Returns a new NgModuleRef instance based on the NgModule class and parent injector provided.
@@ -2242,6 +2267,11 @@ export declare interface Directive {
2242
2267
  * To ensure the correct behavior, the app must import `@angular/compiler`.
2243
2268
  */
2244
2269
  jit?: true;
2270
+ /**
2271
+ * Angular directives marked as `standalone` do not need to be declared in an NgModule. Such
2272
+ * directives don't depend on any "intermediate context" of an NgModule (ex. configured
2273
+ * providers).
2274
+ */
2245
2275
  standalone?: boolean;
2246
2276
  }
2247
2277
 
@@ -2525,6 +2555,14 @@ export declare abstract class EmbeddedViewRef<C> extends ViewRef {
2525
2555
  */
2526
2556
  export declare function enableProdMode(): void;
2527
2557
 
2558
+ /**
2559
+ * A multi-provider token for initialization functions that will run upon construction of an
2560
+ * environment injector.
2561
+ *
2562
+ * @publicApi
2563
+ */
2564
+ export declare const ENVIRONMENT_INITIALIZER: InjectionToken<() => void>;
2565
+
2528
2566
  /**
2529
2567
  * An `Injector` that's part of the environment injector hierarchy, which exists outside of the
2530
2568
  * component tree.
@@ -3378,14 +3416,35 @@ declare const enum IcuType {
3378
3416
 
3379
3417
  declare const ID = 20;
3380
3418
 
3419
+ /**
3420
+ * Providers that were imported from NgModules via the `importProvidersFrom` function.
3421
+ *
3422
+ * These providers are meant for use in an application injector (or other environment injectors) and
3423
+ * should not be used in component injectors.
3424
+ *
3425
+ * This type cannot be directly implemented. It's returned from the `importProvidersFrom` function
3426
+ * and serves to prevent the extracted NgModule providers from being used in the wrong contexts.
3427
+ *
3428
+ * @see `importProvidersFrom`
3429
+ *
3430
+ * @publicApi
3431
+ */
3432
+ export declare interface ImportedNgModuleProviders {
3433
+ ɵproviders: Provider[];
3434
+ }
3435
+
3381
3436
  /**
3382
3437
  * Collects providers from all NgModules and standalone components, including transitively imported
3383
3438
  * ones.
3384
3439
  *
3385
- * @returns The list of collected providers from the specified list of types.
3440
+ * Providers extracted via `importProvidersFrom` are only usable in an application injector or
3441
+ * another environment injector (such as a route injector). They should not be used in component
3442
+ * providers.
3443
+ *
3444
+ * @returns The collected providers from the specified list of types.
3386
3445
  * @publicApi
3387
3446
  */
3388
- export declare function importProvidersFrom(...sources: ImportProvidersSource[]): Provider[];
3447
+ export declare function importProvidersFrom(...sources: ImportProvidersSource[]): ImportedNgModuleProviders;
3389
3448
 
3390
3449
  /**
3391
3450
  * A source of providers for the `importProvidersFrom` function.
@@ -3744,14 +3803,6 @@ export declare abstract class Injector {
3744
3803
 
3745
3804
  declare const INJECTOR_2 = 9;
3746
3805
 
3747
- /**
3748
- * A multi-provider token for initialization functions that will run upon construction of a
3749
- * non-view injector.
3750
- *
3751
- * @publicApi
3752
- */
3753
- export declare const INJECTOR_INITIALIZER: InjectionToken<() => void>;
3754
-
3755
3806
  declare type InjectorScope = 'root' | 'platform' | 'environment';
3756
3807
 
3757
3808
  /**
@@ -4354,7 +4405,7 @@ declare interface LQuery<T> {
4354
4405
  * Keeping separate state for each view facilities view insertion / deletion, so we
4355
4406
  * don't have to edit the data array based on which views are present.
4356
4407
  */
4357
- declare interface LView extends Array<any> {
4408
+ declare interface LView<T = unknown> extends Array<any> {
4358
4409
  /**
4359
4410
  * Human readable representation of the `LView`.
4360
4411
  *
@@ -4447,7 +4498,7 @@ declare interface LView extends Array<any> {
4447
4498
  * - For non-root components, the context is the component instance,
4448
4499
  * - For inline views, the context is null.
4449
4500
  */
4450
- [CONTEXT]: {} | RootContext | null;
4501
+ [CONTEXT]: T;
4451
4502
  /** An optional Module Injector to be used as fall back after Element Injectors are consulted. */
4452
4503
  readonly [INJECTOR_2]: Injector | null;
4453
4504
  /** Factory to be used for creating Renderer. */
@@ -4602,7 +4653,7 @@ declare interface LView extends Array<any> {
4602
4653
  * `LViewDebug` for easier debugging and test writing. It is the intent of `LViewDebug` to be used
4603
4654
  * in tests.
4604
4655
  */
4605
- declare interface LViewDebug {
4656
+ declare interface LViewDebug<T = unknown> {
4606
4657
  /**
4607
4658
  * Flags associated with the `LView` unpacked into a more readable state.
4608
4659
  *
@@ -4636,7 +4687,7 @@ declare interface LViewDebug {
4636
4687
  *
4637
4688
  * (Usually the component)
4638
4689
  */
4639
- readonly context: {} | null;
4690
+ readonly context: T;
4640
4691
  /**
4641
4692
  * Hierarchical tree of nodes.
4642
4693
  */
@@ -5532,6 +5583,10 @@ export declare interface Pipe {
5532
5583
  * even if the arguments have not changed.
5533
5584
  */
5534
5585
  pure?: boolean;
5586
+ /**
5587
+ * Angular pipes marked as `standalone` do not need to be declared in an NgModule. Such
5588
+ * pipes don't depend on any "intermediate context" of an NgModule (ex. configured providers).
5589
+ */
5535
5590
  standalone?: boolean;
5536
5591
  }
5537
5592
 
@@ -6170,7 +6225,7 @@ declare class R3Injector extends EnvironmentInjector {
6170
6225
  get destroyed(): boolean;
6171
6226
  private _destroyed;
6172
6227
  private injectorDefTypes;
6173
- constructor(providers: Provider[], parent: Injector, source: string | null, scopes: Set<InjectorScope>);
6228
+ constructor(providers: Array<Provider | ImportedNgModuleProviders>, parent: Injector, source: string | null, scopes: Set<InjectorScope>);
6174
6229
  /**
6175
6230
  * Destroy the injector and release references to every instance or provider associated with it.
6176
6231
  *
@@ -6892,43 +6947,6 @@ declare interface RNode {
6892
6947
  appendChild(newChild: RNode): RNode;
6893
6948
  }
6894
6949
 
6895
- /**
6896
- * RootContext contains information which is shared for all components which
6897
- * were bootstrapped with {@link renderComponent}.
6898
- */
6899
- declare interface RootContext {
6900
- /**
6901
- * A function used for scheduling change detection in the future. Usually
6902
- * this is `requestAnimationFrame`.
6903
- */
6904
- scheduler: (workFn: () => void) => void;
6905
- /**
6906
- * A promise which is resolved when all components are considered clean (not dirty).
6907
- *
6908
- * This promise is overwritten every time a first call to {@link markDirty} is invoked.
6909
- */
6910
- clean: Promise<null>;
6911
- /**
6912
- * RootComponents - The components that were instantiated by the call to
6913
- * {@link renderComponent}.
6914
- */
6915
- components: {}[];
6916
- /**
6917
- * The player flushing handler to kick off all animations
6918
- */
6919
- playerHandler: ɵPlayerHandler | null;
6920
- /**
6921
- * What render-related operations to run once a scheduler has been set
6922
- */
6923
- flags: RootContextFlags;
6924
- }
6925
-
6926
- declare const enum RootContextFlags {
6927
- Empty = 0,
6928
- DetectChanges = 1,
6929
- FlushPlayers = 2
6930
- }
6931
-
6932
6950
  declare interface RText extends RNode {
6933
6951
  textContent: string | null;
6934
6952
  }
@@ -6953,6 +6971,7 @@ declare const enum RuntimeErrorCode {
6953
6971
  MISSING_INJECTION_CONTEXT = 203,
6954
6972
  INVALID_INJECTION_TOKEN = 204,
6955
6973
  INJECTOR_ALREADY_DESTROYED = 205,
6974
+ PROVIDER_IN_WRONG_CONTEXT = 207,
6956
6975
  MULTIPLE_COMPONENTS_MATCH = -300,
6957
6976
  EXPORT_NOT_FOUND = -301,
6958
6977
  PIPE_NOT_FOUND = -302,
@@ -6968,6 +6987,7 @@ declare const enum RuntimeErrorCode {
6968
6987
  ASYNC_INITIALIZERS_STILL_RUNNING = 405,
6969
6988
  APPLICATION_REF_ALREADY_DESTROYED = 406,
6970
6989
  INVALID_I18N_STRUCTURE = 700,
6990
+ IMPORT_PROVIDERS_FROM_STANDALONE = 800,
6971
6991
  INVALID_DIFFER_INPUT = 900,
6972
6992
  NO_SUPPORTING_DIFFER_FACTORY = 901,
6973
6993
  VIEW_ALREADY_ATTACHED = 902,
@@ -9445,7 +9465,7 @@ export declare const enum ɵAttributeMarker {
9445
9465
  */
9446
9466
  export declare function ɵbootstrapApplication(config: {
9447
9467
  rootComponent: Type<unknown>;
9448
- appProviders?: Provider[];
9468
+ appProviders?: Array<Provider | ImportedNgModuleProviders>;
9449
9469
  platformProviders?: Provider[];
9450
9470
  }): Promise<ApplicationRef>;
9451
9471
 
@@ -10010,6 +10030,16 @@ export declare function ɵgetLocalePluralCase(locale: string): (value: number) =
10010
10030
 
10011
10031
  export declare function ɵgetSanitizationBypassType(value: any): ɵBypassType | null;
10012
10032
 
10033
+ /**
10034
+ * Gets the current value of the strict mode.
10035
+ */
10036
+ export declare function ɵgetUnknownElementStrictMode(): boolean;
10037
+
10038
+ /**
10039
+ * Gets the current value of the strict mode.
10040
+ */
10041
+ export declare function ɵgetUnknownPropertyStrictMode(): boolean;
10042
+
10013
10043
 
10014
10044
  export declare const ɵglobal: any;
10015
10045
 
@@ -10754,6 +10784,21 @@ export declare function ɵsetDocument(document: Document | undefined): void;
10754
10784
  */
10755
10785
  export declare function ɵsetLocaleId(localeId: string): void;
10756
10786
 
10787
+
10788
+ /**
10789
+ * Sets a strict mode for JIT-compiled components to throw an error on unknown elements,
10790
+ * instead of just logging the error.
10791
+ * (for AOT-compiled ones this check happens at build time).
10792
+ */
10793
+ export declare function ɵsetUnknownElementStrictMode(shouldThrow: boolean): void;
10794
+
10795
+ /**
10796
+ * Sets a strict mode for JIT-compiled components to throw an error on unknown properties,
10797
+ * instead of just logging the error.
10798
+ * (for AOT-compiled ones this check happens at build time).
10799
+ */
10800
+ export declare function ɵsetUnknownPropertyStrictMode(shouldThrow: boolean): void;
10801
+
10757
10802
  /** Store a value in the `data` at a given `index`. */
10758
10803
  export declare function ɵstore<T>(tView: TView, lView: LView, index: number, value: T): void;
10759
10804
 
@@ -10805,7 +10850,7 @@ export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, InternalViewRef
10805
10850
  *
10806
10851
  * This may be different from `_lView` if the `_cdRefInjectingView` is an embedded view.
10807
10852
  */
10808
- _cdRefInjectingView?: LView | undefined);
10853
+ _cdRefInjectingView?: LView<unknown> | undefined);
10809
10854
  get context(): T;
10810
10855
  set context(value: T);
10811
10856
  get destroyed(): boolean;
@@ -12295,7 +12340,6 @@ export declare function ɵɵelementContainerStart(index: number, attrsIndex?: nu
12295
12340
  */
12296
12341
  export declare function ɵɵelementEnd(): typeof ɵɵelementEnd;
12297
12342
 
12298
-
12299
12343
  /**
12300
12344
  * Create DOM element. The instruction must later be followed by `elementEnd()` call.
12301
12345
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "14.0.0-next.15",
3
+ "version": "14.0.0-next.16",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v14.0.0-next.15
2
+ * @license Angular v14.0.0-next.16
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -420,6 +420,20 @@ export declare interface TestEnvironmentOptions {
420
420
  * Configures the test module teardown behavior in `TestBed`.
421
421
  */
422
422
  teardown?: ModuleTeardownOptions;
423
+ /**
424
+ * Whether errors should be thrown when unknown elements are present in component's template.
425
+ * Defaults to `false`, where the error is simply logged.
426
+ * If set to `true`, the error is thrown.
427
+ * @see https://angular.io/errors/NG8001 for the description of the error and how to fix it
428
+ */
429
+ errorOnUnknownElements?: boolean;
430
+ /**
431
+ * Whether errors should be thrown when unknown properties are present in component's template.
432
+ * Defaults to `false`, where the error is simply logged.
433
+ * If set to `true`, the error is thrown.
434
+ * @see https://angular.io/errors/NG8002 for the description of the error and how to fix it
435
+ */
436
+ errorOnUnknownProperties?: boolean;
423
437
  }
424
438
 
425
439
  /**
@@ -431,6 +445,20 @@ export declare type TestModuleMetadata = {
431
445
  imports?: any[];
432
446
  schemas?: Array<SchemaMetadata | any[]>;
433
447
  teardown?: ModuleTeardownOptions;
448
+ /**
449
+ * Whether NG0304 runtime errors should be thrown when unknown elements are present in component's
450
+ * template. Defaults to `false`, where the error is simply logged. If set to `true`, the error is
451
+ * thrown.
452
+ * @see https://angular.io/errors/NG8001 for the description of the problem and how to fix it
453
+ */
454
+ errorOnUnknownElements?: boolean;
455
+ /**
456
+ * Whether errors should be thrown when unknown properties are present in component's template.
457
+ * Defaults to `false`, where the error is simply logged.
458
+ * If set to `true`, the error is thrown.
459
+ * @see https://angular.io/errors/NG8002 for the description of the error and how to fix it
460
+ */
461
+ errorOnUnknownProperties?: boolean;
434
462
  };
435
463
 
436
464
  /**