@angular/core 9.1.5 → 9.1.9

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 (78) hide show
  1. package/bundles/core-testing.umd.js +1 -1
  2. package/bundles/core-testing.umd.min.js +1 -1
  3. package/bundles/core-testing.umd.min.js.map +1 -1
  4. package/bundles/core.umd.js +99 -334
  5. package/bundles/core.umd.js.map +1 -1
  6. package/bundles/core.umd.min.js +126 -133
  7. package/bundles/core.umd.min.js.map +1 -1
  8. package/core.d.ts +47 -102
  9. package/core.metadata.json +1 -1
  10. package/esm2015/index.js +2 -2
  11. package/esm2015/public_api.js +2 -2
  12. package/esm2015/src/core.js +2 -2
  13. package/esm2015/src/core_render3_private_export.js +2 -2
  14. package/esm2015/src/reflection/reflection_capabilities.js +2 -2
  15. package/esm2015/src/render3/assert.js +1 -8
  16. package/esm2015/src/render3/component.js +2 -2
  17. package/esm2015/src/render3/component_ref.js +5 -3
  18. package/esm2015/src/render3/index.js +2 -2
  19. package/esm2015/src/render3/instructions/all.js +2 -3
  20. package/esm2015/src/render3/instructions/element.js +9 -6
  21. package/esm2015/src/render3/instructions/element_container.js +2 -2
  22. package/esm2015/src/render3/instructions/lview_debug.js +14 -11
  23. package/esm2015/src/render3/instructions/shared.js +32 -63
  24. package/esm2015/src/render3/instructions/styling.js +2 -2
  25. package/esm2015/src/render3/instructions/template.js +100 -0
  26. package/esm2015/src/render3/interfaces/container.js +9 -32
  27. package/esm2015/src/render3/interfaces/node.js +34 -4
  28. package/esm2015/src/render3/interfaces/view.js +1 -1
  29. package/esm2015/src/render3/jit/environment.js +1 -6
  30. package/esm2015/src/render3/node_assert.js +1 -1
  31. package/esm2015/src/render3/node_manipulation.js +3 -3
  32. package/esm2015/src/render3/styling/static_styling.js +25 -20
  33. package/esm2015/src/render3/util/view_traversal_utils.js +28 -2
  34. package/esm2015/src/render3/util/view_utils.js +2 -17
  35. package/esm2015/src/render3/view_engine_compatibility.js +3 -7
  36. package/esm2015/src/render3/view_ref.js +1 -10
  37. package/esm2015/src/util/assert.js +1 -1
  38. package/esm2015/src/version.js +1 -1
  39. package/esm5/src/core_render3_private_export.js +2 -2
  40. package/esm5/src/reflection/reflection_capabilities.js +2 -2
  41. package/esm5/src/render3/assert.js +1 -4
  42. package/esm5/src/render3/component.js +2 -2
  43. package/esm5/src/render3/component_ref.js +5 -3
  44. package/esm5/src/render3/index.js +2 -2
  45. package/esm5/src/render3/instructions/all.js +2 -3
  46. package/esm5/src/render3/instructions/element.js +9 -6
  47. package/esm5/src/render3/instructions/element_container.js +2 -2
  48. package/esm5/src/render3/instructions/lview_debug.js +8 -12
  49. package/esm5/src/render3/instructions/shared.js +30 -55
  50. package/esm5/src/render3/instructions/styling.js +2 -2
  51. package/esm5/src/render3/instructions/template.js +73 -0
  52. package/esm5/src/render3/interfaces/container.js +10 -2
  53. package/esm5/src/render3/interfaces/node.js +1 -1
  54. package/esm5/src/render3/interfaces/view.js +1 -1
  55. package/esm5/src/render3/jit/environment.js +1 -6
  56. package/esm5/src/render3/node_assert.js +1 -1
  57. package/esm5/src/render3/node_manipulation.js +3 -3
  58. package/esm5/src/render3/styling/static_styling.js +23 -18
  59. package/esm5/src/render3/util/view_traversal_utils.js +20 -2
  60. package/esm5/src/render3/util/view_utils.js +2 -8
  61. package/esm5/src/render3/view_engine_compatibility.js +3 -6
  62. package/esm5/src/render3/view_ref.js +1 -5
  63. package/esm5/src/util/assert.js +1 -1
  64. package/esm5/src/version.js +1 -1
  65. package/fesm2015/core.js +151 -435
  66. package/fesm2015/core.js.map +1 -1
  67. package/fesm2015/testing.js +1 -1
  68. package/fesm5/core.js +100 -330
  69. package/fesm5/core.js.map +1 -1
  70. package/fesm5/testing.js +1 -1
  71. package/package.json +1 -1
  72. package/src/r3_symbols.d.ts +1 -1
  73. package/testing/testing.d.ts +1 -1
  74. package/testing.d.ts +1 -1
  75. package/esm2015/src/render3/instructions/container.js +0 -227
  76. package/esm2015/src/render3/instructions/embedded_view.js +0 -151
  77. package/esm5/src/render3/instructions/container.js +0 -173
  78. package/esm5/src/render3/instructions/embedded_view.js +0 -127
package/core.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v9.1.5
2
+ * @license Angular v9.1.9
3
3
  * (c) 2010-2020 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -20,43 +20,6 @@ export declare interface AbstractType<T> extends Function {
20
20
  prototype: T;
21
21
  }
22
22
 
23
- /**
24
- * Below are constants for LContainer indices to help us look up LContainer members
25
- * without having to remember the specific indices.
26
- * Uglify will inline these when minifying so there shouldn't be a cost.
27
- */
28
- declare const ACTIVE_INDEX = 2;
29
-
30
- /**
31
- * Used to track:
32
- * - Inline embedded views (see: `ɵɵembeddedViewStart`)
33
- * - Transplanted `LView`s (see: `LView[DECLARATION_COMPONENT_VIEW])`
34
- */
35
- declare const enum ActiveIndexFlag {
36
- /**
37
- * Flag which signifies that the `LContainer` does not have any inline embedded views.
38
- */
39
- DYNAMIC_EMBEDDED_VIEWS_ONLY = -1,
40
- /**
41
- * Flag to signify that this `LContainer` may have transplanted views which need to be change
42
- * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.
43
- *
44
- * This flag once set is never unset for the `LContainer`. This means that when unset we can skip
45
- * a lot of work in `refreshDynamicEmbeddedViews`. But when set we still need to verify
46
- * that the `MOVED_VIEWS` are transplanted and on-push.
47
- */
48
- HAS_TRANSPLANTED_VIEWS = 1,
49
- /**
50
- * Number of bits to shift inline embedded views counter to make space for other flags.
51
- */
52
- SHIFT = 1,
53
- /**
54
- * When incrementing the active index for inline embedded views, the amount to increment to leave
55
- * space for other flags.
56
- */
57
- INCREMENT = 2
58
- }
59
-
60
23
  /**
61
24
  * @description
62
25
  * A lifecycle hook that is called after the default change detector has
@@ -2573,6 +2536,16 @@ declare type GlobalTargetResolver = (element: any) => {
2573
2536
  target: EventTarget;
2574
2537
  };
2575
2538
 
2539
+ /**
2540
+ * Flag to signify that this `LContainer` may have transplanted views which need to be change
2541
+ * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.
2542
+ *
2543
+ * This flag, once set, is never unset for the `LContainer`. This means that when unset we can skip
2544
+ * a lot of work in `refreshEmbeddedViews`. But when set we still need to verify
2545
+ * that the `MOVED_VIEWS` are transplanted and on-push.
2546
+ */
2547
+ declare const HAS_TRANSPLANTED_VIEWS = 2;
2548
+
2576
2549
  /**
2577
2550
  * Array of hooks that should be executed for a view and their directive indices.
2578
2551
  *
@@ -3776,20 +3749,12 @@ declare interface LContainer extends Array<any> {
3776
3749
  */
3777
3750
  [TYPE]: true;
3778
3751
  /**
3779
- * The next active index in the views array to read or write to. This helps us
3780
- * keep track of where we are in the views array.
3781
- * In the case the LContainer is created for a ViewContainerRef,
3782
- * it is set to null to identify this scenario, as indices are "absolute" in that case,
3783
- * i.e. provided directly by the user of the ViewContainerRef API.
3784
- *
3785
- * This is used by `ɵɵembeddedViewStart` to track which `LView` is currently active.
3786
- * Because `ɵɵembeddedViewStart` is not generated by the compiler this feature is essentially
3787
- * unused.
3752
+ * Flag to signify that this `LContainer` may have transplanted views which need to be change
3753
+ * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.
3788
3754
  *
3789
- * The lowest bit signals that this `LContainer` has transplanted views which need to be change
3790
- * detected as part of the declaration CD. (See `LView[DECLARATION_COMPONENT_VIEW]`)
3755
+ * This flag, once set, is never unset for the `LContainer`.
3791
3756
  */
3792
- [ACTIVE_INDEX]: ActiveIndexFlag;
3757
+ [HAS_TRANSPLANTED_VIEWS]: boolean;
3793
3758
  /**
3794
3759
  * Access to the parent view is necessary so we can propagate back
3795
3760
  * up from inside a container to parent[NEXT].
@@ -7049,13 +7014,27 @@ declare interface TNode {
7049
7014
  */
7050
7015
  projection: (TNode | RNode[])[] | number | null;
7051
7016
  /**
7052
- * A collection of all style static values for an element.
7017
+ * A collection of all `style` static values for an element (including from host).
7053
7018
  *
7054
7019
  * This field will be populated if and when:
7055
7020
  *
7056
- * - There are one or more initial styles on an element (e.g. `<div style="width:200px">`)
7021
+ * - There are one or more initial `style`s on an element (e.g. `<div style="width:200px;">`)
7022
+ * - There are one or more initial `style`s on a directive/component host
7023
+ * (e.g. `@Directive({host: {style: "width:200px;" } }`)
7057
7024
  */
7058
7025
  styles: string | null;
7026
+ /**
7027
+ * A collection of all `style` static values for an element excluding host sources.
7028
+ *
7029
+ * Populated when there are one or more initial `style`s on an element
7030
+ * (e.g. `<div style="width:200px;">`)
7031
+ * Must be stored separately from `tNode.styles` to facilitate setting directive
7032
+ * inputs that shadow the `style` property. If we used `tNode.styles` as is for shadowed inputs,
7033
+ * we would feed host styles back into directives as "inputs". If we used `tNode.attrs`, we would
7034
+ * have to concatenate the attributes on every template pass. Instead, we process once on first
7035
+ * create pass and store here.
7036
+ */
7037
+ stylesWithoutHost: string | null;
7059
7038
  /**
7060
7039
  * A `KeyValueArray` version of residual `styles`.
7061
7040
  *
@@ -7085,13 +7064,27 @@ declare interface TNode {
7085
7064
  */
7086
7065
  residualStyles: KeyValueArray<any> | undefined | null;
7087
7066
  /**
7088
- * A collection of all class static values for an element.
7067
+ * A collection of all class static values for an element (including from host).
7089
7068
  *
7090
7069
  * This field will be populated if and when:
7091
7070
  *
7092
7071
  * - There are one or more initial classes on an element (e.g. `<div class="one two three">`)
7072
+ * - There are one or more initial classes on an directive/component host
7073
+ * (e.g. `@Directive({host: {class: "SOME_CLASS" } }`)
7093
7074
  */
7094
7075
  classes: string | null;
7076
+ /**
7077
+ * A collection of all class static values for an element excluding host sources.
7078
+ *
7079
+ * Populated when there are one or more initial classes on an element
7080
+ * (e.g. `<div class="SOME_CLASS">`)
7081
+ * Must be stored separately from `tNode.classes` to facilitate setting directive
7082
+ * inputs that shadow the `class` property. If we used `tNode.classes` as is for shadowed inputs,
7083
+ * we would feed host classes back into directives as "inputs". If we used `tNode.attrs`, we would
7084
+ * have to concatenate the attributes on every template pass. Instead, we process once on first
7085
+ * create pass and store here.
7086
+ */
7087
+ classesWithoutHost: string | null;
7095
7088
  /**
7096
7089
  * A `KeyValueArray` version of residual `classes`.
7097
7090
  *
@@ -8928,7 +8921,7 @@ export declare interface ɵangular_packages_core_core_bo extends Array<any> {
8928
8921
  *
8929
8922
  * see also:
8930
8923
  * - https://hackmd.io/@mhevery/rJUJsvv9H write up of the problem
8931
- * - `LContainer[ACTIVE_INDEX]` for flag which marks which `LContainer` has transplanted views.
8924
+ * - `LContainer[HAS_TRANSPLANTED_VIEWS]` which marks which `LContainer` has transplanted views.
8932
8925
  * - `LContainer[TRANSPLANT_HEAD]` and `LContainer[TRANSPLANT_TAIL]` storage for transplanted
8933
8926
  * - `LView[DECLARATION_LCONTAINER]` similar problem for queries
8934
8927
  * - `LContainer[MOVED_VIEWS]` similar problem for queries
@@ -11488,37 +11481,6 @@ export declare type ɵɵComponentDefWithMeta<T, Selector extends String, ExportA
11488
11481
  */
11489
11482
  export declare function ɵɵcomponentHostSyntheticListener(eventName: string, listenerFn: (e?: any) => any, useCapture?: boolean, eventTargetResolver?: GlobalTargetResolver): typeof ɵɵcomponentHostSyntheticListener;
11490
11483
 
11491
- /**
11492
- * Creates an LContainer for inline views, e.g.
11493
- *
11494
- * % if (showing) {
11495
- * <div></div>
11496
- * % }
11497
- *
11498
- * @param index The index of the container in the data array
11499
- *
11500
- * @codeGenApi
11501
- */
11502
- export declare function ɵɵcontainer(index: number): void;
11503
-
11504
- /**
11505
- * Marks the end of the LContainer.
11506
- *
11507
- * Marking the end of LContainer is the time when to child views get inserted or removed.
11508
- *
11509
- * @codeGenApi
11510
- */
11511
- export declare function ɵɵcontainerRefreshEnd(): void;
11512
-
11513
- /**
11514
- * Sets a container up to receive views.
11515
- *
11516
- * @param index The index of the container in the data array
11517
- *
11518
- * @codeGenApi
11519
- */
11520
- export declare function ɵɵcontainerRefreshStart(index: number): void;
11521
-
11522
11484
  /**
11523
11485
  * Registers a QueryList, associated with a content query, for later refresh (part of a view
11524
11486
  * refresh).
@@ -12171,23 +12133,6 @@ export declare function ɵɵelementEnd(): void;
12171
12133
  */
12172
12134
  export declare function ɵɵelementStart(index: number, name: string, attrsIndex?: number | null, localRefsIndex?: number): void;
12173
12135
 
12174
- /**
12175
- * Marks the end of an embedded view.
12176
- *
12177
- * @codeGenApi
12178
- */
12179
- export declare function ɵɵembeddedViewEnd(): void;
12180
-
12181
- /**
12182
- * Marks the start of an embedded view.
12183
- *
12184
- * @param viewBlockId The ID of this view
12185
- * @return boolean Whether or not this view is in creation mode
12186
- *
12187
- * @codeGenApi
12188
- */
12189
- export declare function ɵɵembeddedViewStart(viewBlockId: number, decls: number, vars: number): ɵRenderFlags;
12190
-
12191
12136
  /**
12192
12137
  * Enables directive matching on elements.
12193
12138
  *