@angular/core 9.1.7 → 9.1.11

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 (59) 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 -106
  5. package/bundles/core.umd.js.map +1 -1
  6. package/bundles/core.umd.min.js +104 -104
  7. package/bundles/core.umd.min.js.map +1 -1
  8. package/core.d.ts +47 -43
  9. package/core.metadata.json +1 -1
  10. package/esm2015/src/reflection/reflection_capabilities.js +2 -2
  11. package/esm2015/src/render3/component.js +2 -2
  12. package/esm2015/src/render3/component_ref.js +5 -3
  13. package/esm2015/src/render3/instructions/element.js +9 -6
  14. package/esm2015/src/render3/instructions/element_container.js +2 -2
  15. package/esm2015/src/render3/instructions/lview_debug.js +14 -11
  16. package/esm2015/src/render3/instructions/shared.js +32 -63
  17. package/esm2015/src/render3/instructions/styling.js +2 -2
  18. package/esm2015/src/render3/interfaces/container.js +9 -27
  19. package/esm2015/src/render3/interfaces/node.js +34 -4
  20. package/esm2015/src/render3/interfaces/view.js +1 -1
  21. package/esm2015/src/render3/node_assert.js +1 -1
  22. package/esm2015/src/render3/node_manipulation.js +3 -3
  23. package/esm2015/src/render3/styling/static_styling.js +25 -20
  24. package/esm2015/src/render3/util/view_traversal_utils.js +28 -2
  25. package/esm2015/src/render3/util/view_utils.js +2 -17
  26. package/esm2015/src/render3/view_engine_compatibility.js +3 -7
  27. package/esm2015/src/render3/view_ref.js +1 -10
  28. package/esm2015/src/util/assert.js +1 -1
  29. package/esm2015/src/version.js +1 -1
  30. package/esm5/src/reflection/reflection_capabilities.js +2 -2
  31. package/esm5/src/render3/component.js +2 -2
  32. package/esm5/src/render3/component_ref.js +5 -3
  33. package/esm5/src/render3/instructions/element.js +9 -6
  34. package/esm5/src/render3/instructions/element_container.js +2 -2
  35. package/esm5/src/render3/instructions/lview_debug.js +8 -12
  36. package/esm5/src/render3/instructions/shared.js +30 -55
  37. package/esm5/src/render3/instructions/styling.js +2 -2
  38. package/esm5/src/render3/interfaces/container.js +10 -2
  39. package/esm5/src/render3/interfaces/node.js +1 -1
  40. package/esm5/src/render3/interfaces/view.js +1 -1
  41. package/esm5/src/render3/node_assert.js +1 -1
  42. package/esm5/src/render3/node_manipulation.js +3 -3
  43. package/esm5/src/render3/styling/static_styling.js +23 -18
  44. package/esm5/src/render3/util/view_traversal_utils.js +20 -2
  45. package/esm5/src/render3/util/view_utils.js +2 -8
  46. package/esm5/src/render3/view_engine_compatibility.js +3 -6
  47. package/esm5/src/render3/view_ref.js +1 -5
  48. package/esm5/src/util/assert.js +1 -1
  49. package/esm5/src/version.js +1 -1
  50. package/fesm2015/core.js +149 -157
  51. package/fesm2015/core.js.map +1 -1
  52. package/fesm2015/testing.js +1 -1
  53. package/fesm5/core.js +99 -106
  54. package/fesm5/core.js.map +1 -1
  55. package/fesm5/testing.js +1 -1
  56. package/package.json +1 -1
  57. package/src/r3_symbols.d.ts +1 -1
  58. package/testing/testing.d.ts +1 -1
  59. package/testing.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v9.1.7
2
+ * @license Angular v9.1.11
3
3
  * (c) 2010-2020 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/fesm5/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v9.1.7
2
+ * @license Angular v9.1.11
3
3
  * (c) 2010-2020 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1941,7 +1941,15 @@ var TYPE = 1;
1941
1941
  * without having to remember the specific indices.
1942
1942
  * Uglify will inline these when minifying so there shouldn't be a cost.
1943
1943
  */
1944
- var ACTIVE_INDEX = 2;
1944
+ /**
1945
+ * Flag to signify that this `LContainer` may have transplanted views which need to be change
1946
+ * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.
1947
+ *
1948
+ * This flag, once set, is never unset for the `LContainer`. This means that when unset we can skip
1949
+ * a lot of work in `refreshEmbeddedViews`. But when set we still need to verify
1950
+ * that the `MOVED_VIEWS` are transplanted and on-push.
1951
+ */
1952
+ var HAS_TRANSPLANTED_VIEWS = 2;
1945
1953
  // PARENT, NEXT, TRANSPLANTED_VIEWS_TO_REFRESH are indices 3, 4, and 5
1946
1954
  // As we already have these constants in LView, we don't need to re-create them.
1947
1955
  // T_HOST is index 6
@@ -2326,12 +2334,6 @@ function getConstant(consts, index) {
2326
2334
  function resetPreOrderHookFlags(lView) {
2327
2335
  lView[PREORDER_HOOK_FLAGS] = 0;
2328
2336
  }
2329
- function getLContainerActiveIndex(lContainer) {
2330
- return lContainer[ACTIVE_INDEX] >> 1 /* SHIFT */;
2331
- }
2332
- function setLContainerActiveIndex(lContainer, index) {
2333
- lContainer[ACTIVE_INDEX] = index << 1 /* SHIFT */;
2334
- }
2335
2337
  /**
2336
2338
  * Updates the `TRANSPLANTED_VIEWS_TO_REFRESH` counter on the `LContainer` as well as the parents
2337
2339
  * whose
@@ -6238,6 +6240,24 @@ function getRootContext(viewOrComponent) {
6238
6240
  assertDefined(rootView[CONTEXT], 'RootView has no context. Perhaps it is disconnected?');
6239
6241
  return rootView[CONTEXT];
6240
6242
  }
6243
+ /**
6244
+ * Gets the first `LContainer` in the LView or `null` if none exists.
6245
+ */
6246
+ function getFirstLContainer(lView) {
6247
+ return getNearestLContainer(lView[CHILD_HEAD]);
6248
+ }
6249
+ /**
6250
+ * Gets the next `LContainer` that is a sibling of the given container.
6251
+ */
6252
+ function getNextLContainer(container) {
6253
+ return getNearestLContainer(container[NEXT]);
6254
+ }
6255
+ function getNearestLContainer(viewOrContainer) {
6256
+ while (viewOrContainer !== null && !isLContainer(viewOrContainer)) {
6257
+ viewOrContainer = viewOrContainer[NEXT];
6258
+ }
6259
+ return viewOrContainer;
6260
+ }
6241
6261
 
6242
6262
  /**
6243
6263
  * @license
@@ -6591,8 +6611,10 @@ var TNode = /** @class */ (function () {
6591
6611
  parent, //
6592
6612
  projection, //
6593
6613
  styles, //
6614
+ stylesWithoutHost, //
6594
6615
  residualStyles, //
6595
6616
  classes, //
6617
+ classesWithoutHost, //
6596
6618
  residualClasses, //
6597
6619
  classBindings, //
6598
6620
  styleBindings) {
@@ -6620,8 +6642,10 @@ var TNode = /** @class */ (function () {
6620
6642
  this.parent = parent;
6621
6643
  this.projection = projection;
6622
6644
  this.styles = styles;
6645
+ this.stylesWithoutHost = stylesWithoutHost;
6623
6646
  this.residualStyles = residualStyles;
6624
6647
  this.classes = classes;
6648
+ this.classesWithoutHost = classesWithoutHost;
6625
6649
  this.residualClasses = residualClasses;
6626
6650
  this.classBindings = classBindings;
6627
6651
  this.styleBindings = styleBindings;
@@ -7015,17 +7039,9 @@ var LContainerDebug = /** @class */ (function () {
7015
7039
  function LContainerDebug(_raw_lContainer) {
7016
7040
  this._raw_lContainer = _raw_lContainer;
7017
7041
  }
7018
- Object.defineProperty(LContainerDebug.prototype, "activeIndex", {
7019
- get: function () {
7020
- return getLContainerActiveIndex(this._raw_lContainer);
7021
- },
7022
- enumerable: true,
7023
- configurable: true
7024
- });
7025
7042
  Object.defineProperty(LContainerDebug.prototype, "hasTransplantedViews", {
7026
7043
  get: function () {
7027
- return (this._raw_lContainer[ACTIVE_INDEX] & 1 /* HAS_TRANSPLANTED_VIEWS */) ===
7028
- 1 /* HAS_TRANSPLANTED_VIEWS */;
7044
+ return this._raw_lContainer[HAS_TRANSPLANTED_VIEWS];
7029
7045
  },
7030
7046
  enumerable: true,
7031
7047
  configurable: true
@@ -7481,7 +7497,7 @@ function assignTViewNodeToLView(tView, tParentNode, index, lView) {
7481
7497
  tView.node = tNode = createTNode(tView, tParentNode, //
7482
7498
  2 /* View */, index, null, null);
7483
7499
  }
7484
- return lView[T_HOST] = tNode;
7500
+ lView[T_HOST] = tNode;
7485
7501
  }
7486
7502
  /**
7487
7503
  * When elements are created dynamically after a view blueprint is created (e.g. through
@@ -7621,7 +7637,7 @@ function refreshView(tView, lView, templateFn, context) {
7621
7637
  // insertion points. This is needed to avoid the situation where the template is defined in this
7622
7638
  // `LView` but its declaration appears after the insertion component.
7623
7639
  markTransplantedViewsForRefresh(lView);
7624
- refreshDynamicEmbeddedViews(lView);
7640
+ refreshEmbeddedViews(lView);
7625
7641
  // Content query results must be refreshed before content hooks are called.
7626
7642
  if (tView.contentQueries !== null) {
7627
7643
  refreshContentQueries(tView, lView);
@@ -7992,8 +8008,10 @@ function createTNode(tView, tParent, type, adjustedIndex, tagName, attrs) {
7992
8008
  tParent, // parent: TElementNode|TContainerNode|null
7993
8009
  null, // projection: number|(ITNode|RNode[])[]|null
7994
8010
  null, // styles: string|null
8011
+ null, // stylesWithoutHost: string|null
7995
8012
  undefined, // residualStyles: string|null
7996
8013
  null, // classes: string|null
8014
+ null, // classesWithoutHost: string|null
7997
8015
  undefined, // residualClasses: string|null
7998
8016
  0, // classBindings: TStylingRange;
7999
8017
  0) :
@@ -8021,8 +8039,10 @@ function createTNode(tView, tParent, type, adjustedIndex, tagName, attrs) {
8021
8039
  parent: tParent,
8022
8040
  projection: null,
8023
8041
  styles: null,
8042
+ stylesWithoutHost: null,
8024
8043
  residualStyles: undefined,
8025
8044
  classes: null,
8045
+ classesWithoutHost: null,
8026
8046
  residualClasses: undefined,
8027
8047
  classBindings: 0,
8028
8048
  styleBindings: 0,
@@ -8669,7 +8689,7 @@ function createLContainer(hostNative, currentView, native, tNode) {
8669
8689
  // https://jsperf.com/array-literal-vs-new-array-really
8670
8690
  var lContainer = new (ngDevMode ? LContainerArray : Array)(hostNative, // host native
8671
8691
  true, // Boolean `true` in this position signifies that this is an `LContainer`
8672
- -1 /* DYNAMIC_EMBEDDED_VIEWS_ONLY */ << 1 /* SHIFT */, // active index
8692
+ false, // has transplanted views
8673
8693
  currentView, // parent
8674
8694
  null, // next
8675
8695
  0, // transplanted views to refresh count
@@ -8683,10 +8703,10 @@ function createLContainer(hostNative, currentView, native, tNode) {
8683
8703
  return lContainer;
8684
8704
  }
8685
8705
  /**
8686
- * Goes over dynamic embedded views (ones created through ViewContainerRef APIs) and refreshes
8706
+ * Goes over embedded views (ones created through ViewContainerRef APIs) and refreshes
8687
8707
  * them by executing an associated template function.
8688
8708
  */
8689
- function refreshDynamicEmbeddedViews(lView) {
8709
+ function refreshEmbeddedViews(lView) {
8690
8710
  for (var lContainer = getFirstLContainer(lView); lContainer !== null; lContainer = getNextLContainer(lContainer)) {
8691
8711
  for (var i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
8692
8712
  var embeddedLView = lContainer[i];
@@ -8698,60 +8718,31 @@ function refreshDynamicEmbeddedViews(lView) {
8698
8718
  }
8699
8719
  }
8700
8720
  }
8701
- /**
8702
- * Gets the first `LContainer` in the LView or `null` if none exists.
8703
- */
8704
- function getFirstLContainer(lView) {
8705
- var viewOrContainer = lView[CHILD_HEAD];
8706
- while (viewOrContainer !== null &&
8707
- !(isLContainer(viewOrContainer) &&
8708
- viewOrContainer[ACTIVE_INDEX] >> 1 /* SHIFT */ ===
8709
- -1 /* DYNAMIC_EMBEDDED_VIEWS_ONLY */)) {
8710
- viewOrContainer = viewOrContainer[NEXT];
8711
- }
8712
- return viewOrContainer;
8713
- }
8714
- /**
8715
- * Gets the next `LContainer` that is a sibling of the given container.
8716
- */
8717
- function getNextLContainer(container) {
8718
- var viewOrContainer = container[NEXT];
8719
- while (viewOrContainer !== null &&
8720
- !(isLContainer(viewOrContainer) &&
8721
- viewOrContainer[ACTIVE_INDEX] >> 1 /* SHIFT */ ===
8722
- -1 /* DYNAMIC_EMBEDDED_VIEWS_ONLY */)) {
8723
- viewOrContainer = viewOrContainer[NEXT];
8724
- }
8725
- return viewOrContainer;
8726
- }
8727
8721
  /**
8728
8722
  * Mark transplanted views as needing to be refreshed at their insertion points.
8729
8723
  *
8730
- * See: `ActiveIndexFlag.HAS_TRANSPLANTED_VIEWS` and `LView[DECLARATION_COMPONENT_VIEW]` for
8731
- * explanation of transplanted views.
8732
- *
8733
8724
  * @param lView The `LView` that may have transplanted views.
8734
8725
  */
8735
8726
  function markTransplantedViewsForRefresh(lView) {
8736
8727
  for (var lContainer = getFirstLContainer(lView); lContainer !== null; lContainer = getNextLContainer(lContainer)) {
8737
- if ((lContainer[ACTIVE_INDEX] & 1 /* HAS_TRANSPLANTED_VIEWS */) !== 0) {
8738
- var movedViews = lContainer[MOVED_VIEWS];
8739
- ngDevMode && assertDefined(movedViews, 'Transplanted View flags set but missing MOVED_VIEWS');
8740
- for (var i = 0; i < movedViews.length; i++) {
8741
- var movedLView = movedViews[i];
8742
- var insertionLContainer = movedLView[PARENT];
8743
- ngDevMode && assertLContainer(insertionLContainer);
8744
- // We don't want to increment the counter if the moved LView was already marked for
8745
- // refresh.
8746
- if ((movedLView[FLAGS] & 1024 /* RefreshTransplantedView */) === 0) {
8747
- updateTransplantedViewCount(insertionLContainer, 1);
8748
- }
8749
- // Note, it is possible that the `movedViews` is tracking views that are transplanted *and*
8750
- // those that aren't (declaration component === insertion component). In the latter case,
8751
- // it's fine to add the flag, as we will clear it immediately in
8752
- // `refreshDynamicEmbeddedViews` for the view currently being refreshed.
8753
- movedLView[FLAGS] |= 1024 /* RefreshTransplantedView */;
8728
+ if (!lContainer[HAS_TRANSPLANTED_VIEWS])
8729
+ continue;
8730
+ var movedViews = lContainer[MOVED_VIEWS];
8731
+ ngDevMode && assertDefined(movedViews, 'Transplanted View flags set but missing MOVED_VIEWS');
8732
+ for (var i = 0; i < movedViews.length; i++) {
8733
+ var movedLView = movedViews[i];
8734
+ var insertionLContainer = movedLView[PARENT];
8735
+ ngDevMode && assertLContainer(insertionLContainer);
8736
+ // We don't want to increment the counter if the moved LView was already marked for
8737
+ // refresh.
8738
+ if ((movedLView[FLAGS] & 1024 /* RefreshTransplantedView */) === 0) {
8739
+ updateTransplantedViewCount(insertionLContainer, 1);
8754
8740
  }
8741
+ // Note, it is possible that the `movedViews` is tracking views that are transplanted *and*
8742
+ // those that aren't (declaration component === insertion component). In the latter case,
8743
+ // it's fine to add the flag, as we will clear it immediately in
8744
+ // `refreshEmbeddedViews` for the view currently being refreshed.
8745
+ movedLView[FLAGS] |= 1024 /* RefreshTransplantedView */;
8755
8746
  }
8756
8747
  }
8757
8748
  }
@@ -9322,7 +9313,7 @@ function trackMovedView(declarationContainer, lView) {
9322
9313
  // At this point the declaration-component is not same as insertion-component; this means that
9323
9314
  // this is a transplanted view. Mark the declared lView as having transplanted views so that
9324
9315
  // those views can participate in CD.
9325
- declarationContainer[ACTIVE_INDEX] |= 1 /* HAS_TRANSPLANTED_VIEWS */;
9316
+ declarationContainer[HAS_TRANSPLANTED_VIEWS] = true;
9326
9317
  }
9327
9318
  if (movedViews === null) {
9328
9319
  declarationContainer[MOVED_VIEWS] = [lView];
@@ -10111,10 +10102,6 @@ var ViewRef = /** @class */ (function () {
10111
10102
  this._cdRefInjectingView = _cdRefInjectingView;
10112
10103
  this._appRef = null;
10113
10104
  this._viewContainerRef = null;
10114
- /**
10115
- * @internal
10116
- */
10117
- this._tViewNode = null;
10118
10105
  }
10119
10106
  Object.defineProperty(ViewRef.prototype, "rootNodes", {
10120
10107
  get: function () {
@@ -10507,9 +10494,7 @@ function createTemplateRef(TemplateRefToken, ElementRefToken, hostTNode, hostVie
10507
10494
  embeddedLView[QUERIES] = declarationViewLQueries.createEmbeddedView(embeddedTView);
10508
10495
  }
10509
10496
  renderView(embeddedTView, embeddedLView, context);
10510
- var viewRef = new ViewRef(embeddedLView);
10511
- viewRef._tViewNode = embeddedLView[T_HOST];
10512
- return viewRef;
10497
+ return new ViewRef(embeddedLView);
10513
10498
  };
10514
10499
  return TemplateRef;
10515
10500
  }(TemplateRefToken));
@@ -10700,7 +10685,6 @@ function createContainerRef(ViewContainerRefToken, ElementRefToken, hostTNode, h
10700
10685
  if (isLContainer(slotValue)) {
10701
10686
  // If the host is a container, we don't need to create a new LContainer
10702
10687
  lContainer = slotValue;
10703
- setLContainerActiveIndex(lContainer, -1 /* DYNAMIC_EMBEDDED_VIEWS_ONLY */);
10704
10688
  }
10705
10689
  else {
10706
10690
  var commentNode = void 0;
@@ -10891,7 +10875,7 @@ function isType(v) {
10891
10875
  var DELEGATE_CTOR = /^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/;
10892
10876
  var INHERITED_CLASS = /^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{/;
10893
10877
  var INHERITED_CLASS_WITH_CTOR = /^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(/;
10894
- var INHERITED_CLASS_WITH_DELEGATE_CTOR = /^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(\)\s*{\s+super\(\.\.\.arguments\)/;
10878
+ var INHERITED_CLASS_WITH_DELEGATE_CTOR = /^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(\)\s*{\s*super\(\.\.\.arguments\)/;
10895
10879
  /**
10896
10880
  * Determine whether a stringified type is a class which delegates its constructor
10897
10881
  * to its parent.
@@ -13352,29 +13336,34 @@ function componentDefResolved(type) {
13352
13336
  *
13353
13337
  * @param tNode The `TNode` into which the styling information should be loaded.
13354
13338
  * @param attrs `TAttributes` containing the styling information.
13339
+ * @param writeToHost Where should the resulting static styles be written?
13340
+ * - `false` Write to `TNode.stylesWithoutHost` / `TNode.classesWithoutHost`
13341
+ * - `true` Write to `TNode.styles` / `TNode.classes`
13355
13342
  */
13356
- function computeStaticStyling(tNode, attrs) {
13343
+ function computeStaticStyling(tNode, attrs, writeToHost) {
13357
13344
  ngDevMode &&
13358
13345
  assertFirstCreatePass(getTView(), 'Expecting to be called in first template pass only');
13359
- var styles = tNode.styles;
13360
- var classes = tNode.classes;
13346
+ var styles = writeToHost ? tNode.styles : null;
13347
+ var classes = writeToHost ? tNode.classes : null;
13361
13348
  var mode = 0;
13362
- for (var i = 0; i < attrs.length; i++) {
13363
- var value = attrs[i];
13364
- if (typeof value === 'number') {
13365
- mode = value;
13366
- }
13367
- else if (mode == 1 /* Classes */) {
13368
- classes = concatStringsWithSpace(classes, value);
13369
- }
13370
- else if (mode == 2 /* Styles */) {
13371
- var style = value;
13372
- var styleValue = attrs[++i];
13373
- styles = concatStringsWithSpace(styles, style + ': ' + styleValue + ';');
13349
+ if (attrs !== null) {
13350
+ for (var i = 0; i < attrs.length; i++) {
13351
+ var value = attrs[i];
13352
+ if (typeof value === 'number') {
13353
+ mode = value;
13354
+ }
13355
+ else if (mode == 1 /* Classes */) {
13356
+ classes = concatStringsWithSpace(classes, value);
13357
+ }
13358
+ else if (mode == 2 /* Styles */) {
13359
+ var style = value;
13360
+ var styleValue = attrs[++i];
13361
+ styles = concatStringsWithSpace(styles, style + ': ' + styleValue + ';');
13362
+ }
13374
13363
  }
13375
13364
  }
13376
- styles !== null && (tNode.styles = styles);
13377
- classes !== null && (tNode.classes = classes);
13365
+ writeToHost ? tNode.styles = styles : tNode.stylesWithoutHost = styles;
13366
+ writeToHost ? tNode.classes = classes : tNode.classesWithoutHost = classes;
13378
13367
  }
13379
13368
 
13380
13369
  /**
@@ -14466,8 +14455,11 @@ function elementStartFirstCreatePass(index, tView, lView, native, name, attrsInd
14466
14455
  var tNode = getOrCreateTNode(tView, lView[T_HOST], index, 3 /* Element */, name, attrs);
14467
14456
  var hasDirectives = resolveDirectives(tView, lView, tNode, getConstant(tViewConsts, localRefsIndex));
14468
14457
  ngDevMode && warnAboutUnknownElement(tView, lView, native, tNode, hasDirectives);
14458
+ if (tNode.attrs !== null) {
14459
+ computeStaticStyling(tNode, tNode.attrs, false);
14460
+ }
14469
14461
  if (tNode.mergedAttrs !== null) {
14470
- computeStaticStyling(tNode, tNode.mergedAttrs);
14462
+ computeStaticStyling(tNode, tNode.mergedAttrs, true);
14471
14463
  }
14472
14464
  if (tView.queries !== null) {
14473
14465
  tView.queries.elementStart(tView, tNode);
@@ -14556,11 +14548,11 @@ function ɵɵelementEnd() {
14556
14548
  tView.queries.elementEnd(previousOrParentTNode);
14557
14549
  }
14558
14550
  }
14559
- if (tNode.classes !== null && hasClassInput(tNode)) {
14560
- setDirectiveInputsWhichShadowsStyling(tView, tNode, getLView(), tNode.classes, true);
14551
+ if (tNode.classesWithoutHost != null && hasClassInput(tNode)) {
14552
+ setDirectiveInputsWhichShadowsStyling(tView, tNode, getLView(), tNode.classesWithoutHost, true);
14561
14553
  }
14562
- if (tNode.styles !== null && hasStyleInput(tNode)) {
14563
- setDirectiveInputsWhichShadowsStyling(tView, tNode, getLView(), tNode.styles, false);
14554
+ if (tNode.stylesWithoutHost != null && hasStyleInput(tNode)) {
14555
+ setDirectiveInputsWhichShadowsStyling(tView, tNode, getLView(), tNode.stylesWithoutHost, false);
14564
14556
  }
14565
14557
  }
14566
14558
  /**
@@ -14628,7 +14620,7 @@ function elementContainerStartFirstCreatePass(index, tView, lView, attrsIndex, l
14628
14620
  // While ng-container doesn't necessarily support styling, we use the style context to identify
14629
14621
  // and execute directives on the ng-container.
14630
14622
  if (attrs !== null) {
14631
- computeStaticStyling(tNode, attrs);
14623
+ computeStaticStyling(tNode, attrs, true);
14632
14624
  }
14633
14625
  var localRefs = getConstant(tViewConsts, localRefsIndex);
14634
14626
  resolveDirectives(tView, lView, tNode, localRefs);
@@ -16511,7 +16503,7 @@ function checkStylingMap(keyValueArraySet, stringParser, value, isClassBased) {
16511
16503
  // the binding has removed it. This would confuse `[ngStyle]`/`[ngClass]` to do the wrong
16512
16504
  // thing as it would think that the static portion was removed. For this reason we
16513
16505
  // concatenate it so that `[ngStyle]`/`[ngClass]` can continue to work on changed.
16514
- var staticPrefix = isClassBased ? tNode.classes : tNode.styles;
16506
+ var staticPrefix = isClassBased ? tNode.classesWithoutHost : tNode.stylesWithoutHost;
16515
16507
  ngDevMode && isClassBased === false && staticPrefix !== null &&
16516
16508
  assertEqual(staticPrefix.endsWith(';'), true, 'Expecting static portion to end with \';\'');
16517
16509
  if (staticPrefix !== null) {
@@ -19016,7 +19008,7 @@ function createRootComponentView(rNode, def, rootView, rendererFactory, hostRend
19016
19008
  var tNode = getOrCreateTNode(tView, null, 0, 3 /* Element */, null, null);
19017
19009
  var mergedAttrs = tNode.mergedAttrs = def.hostAttrs;
19018
19010
  if (mergedAttrs !== null) {
19019
- computeStaticStyling(tNode, mergedAttrs);
19011
+ computeStaticStyling(tNode, mergedAttrs, true);
19020
19012
  if (rNode !== null) {
19021
19013
  setUpAttributes(hostRenderer, rNode, mergedAttrs);
19022
19014
  if (tNode.classes !== null) {
@@ -20057,7 +20049,7 @@ var Version = /** @class */ (function () {
20057
20049
  /**
20058
20050
  * @publicApi
20059
20051
  */
20060
- var VERSION = new Version('9.1.7');
20052
+ var VERSION = new Version('9.1.11');
20061
20053
 
20062
20054
  /**
20063
20055
  * @license
@@ -23183,7 +23175,8 @@ var ComponentFactory$1 = /** @class */ (function (_super) {
23183
23175
  if (!rootSelectorOrNode || isIsolated) {
23184
23176
  // The host element of the internal or isolated root view is attached to the component's host
23185
23177
  // view node.
23186
- componentRef.hostView._tViewNode.child = tElementNode;
23178
+ ngDevMode && assertNodeOfPossibleTypes(rootTView.node, 2 /* View */);
23179
+ rootTView.node.child = tElementNode;
23187
23180
  }
23188
23181
  return componentRef;
23189
23182
  };
@@ -23218,7 +23211,7 @@ var ComponentRef$1 = /** @class */ (function (_super) {
23218
23211
  _this.destroyCbs = [];
23219
23212
  _this.instance = instance;
23220
23213
  _this.hostView = _this.changeDetectorRef = new RootViewRef(_rootLView);
23221
- _this.hostView._tViewNode = assignTViewNodeToLView(_rootLView[TVIEW], null, -1, _rootLView);
23214
+ assignTViewNodeToLView(_rootLView[TVIEW], null, -1, _rootLView);
23222
23215
  _this.componentType = componentType;
23223
23216
  return _this;
23224
23217
  }