@angular/compiler-cli 14.2.0-next.1 → 15.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/bundles/{chunk-I34YWN6W.js → chunk-4CS5WLPD.js} +184 -120
  2. package/bundles/chunk-4CS5WLPD.js.map +6 -0
  3. package/bundles/{chunk-S4JINNFN.js → chunk-4NRCP3Y6.js} +7 -7
  4. package/bundles/{chunk-S4JINNFN.js.map → chunk-4NRCP3Y6.js.map} +0 -0
  5. package/bundles/{chunk-Z57D3OKU.js → chunk-56O2PTWU.js} +7 -7
  6. package/bundles/{chunk-Z57D3OKU.js.map → chunk-56O2PTWU.js.map} +0 -0
  7. package/bundles/{chunk-4SINIALN.js → chunk-5FZBUSFV.js} +3 -3
  8. package/bundles/{chunk-4SINIALN.js.map → chunk-5FZBUSFV.js.map} +0 -0
  9. package/bundles/chunk-DM4TYSFG.js +96 -0
  10. package/bundles/chunk-DM4TYSFG.js.map +6 -0
  11. package/bundles/{chunk-SJL5HBUW.js → chunk-HMWNYAAE.js} +2 -2
  12. package/bundles/{chunk-SJL5HBUW.js.map → chunk-HMWNYAAE.js.map} +0 -0
  13. package/bundles/{chunk-N2MCMY3J.js → chunk-ICPLY7FO.js} +4 -4
  14. package/bundles/{chunk-N2MCMY3J.js.map → chunk-ICPLY7FO.js.map} +0 -0
  15. package/bundles/{chunk-AHYRDQYO.js → chunk-IKKP4LXM.js} +29 -26
  16. package/bundles/chunk-IKKP4LXM.js.map +6 -0
  17. package/bundles/{chunk-IJA2BQQH.js → chunk-JN4TT3OU.js} +44 -20
  18. package/bundles/chunk-JN4TT3OU.js.map +6 -0
  19. package/bundles/{chunk-GQHLKW4T.js → chunk-KUSEWNLW.js} +54 -32
  20. package/bundles/chunk-KUSEWNLW.js.map +6 -0
  21. package/bundles/{chunk-AMYIDAXN.js → chunk-MOE5WKIA.js} +20 -13
  22. package/bundles/chunk-MOE5WKIA.js.map +6 -0
  23. package/bundles/{chunk-ZSQCUET7.js → chunk-MQGVI6KC.js} +363 -155
  24. package/bundles/chunk-MQGVI6KC.js.map +6 -0
  25. package/bundles/{chunk-WJ34B4FT.js → chunk-MT76GVED.js} +80 -74
  26. package/bundles/chunk-MT76GVED.js.map +6 -0
  27. package/bundles/{chunk-TXUURHQE.js → chunk-PLV54QMQ.js} +40 -40
  28. package/bundles/{chunk-TXUURHQE.js.map → chunk-PLV54QMQ.js.map} +0 -0
  29. package/bundles/{chunk-CTEVZGOM.js → chunk-RCXOJZDO.js} +5 -5
  30. package/bundles/{chunk-CTEVZGOM.js.map → chunk-RCXOJZDO.js.map} +0 -0
  31. package/bundles/{chunk-HZ5F54TQ.js → chunk-TR3BZDPT.js} +5 -5
  32. package/bundles/{chunk-HZ5F54TQ.js.map → chunk-TR3BZDPT.js.map} +0 -0
  33. package/bundles/index.js +13 -12
  34. package/bundles/index.js.map +1 -1
  35. package/bundles/linker/babel/index.js +13 -12
  36. package/bundles/linker/babel/index.js.map +1 -1
  37. package/bundles/linker/index.js +5 -4
  38. package/bundles/ngcc/index.js +13 -12
  39. package/bundles/ngcc/index.js.map +1 -1
  40. package/bundles/ngcc/main-ngcc.js +14 -13
  41. package/bundles/ngcc/main-ngcc.js.map +1 -1
  42. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +14 -13
  43. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js.map +1 -1
  44. package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js +4 -4
  45. package/bundles/private/bazel.js +1 -1
  46. package/bundles/private/localize.js +3 -3
  47. package/bundles/private/migrations.js +6 -5
  48. package/bundles/private/migrations.js.map +1 -1
  49. package/bundles/private/tooling.js +3 -2
  50. package/bundles/src/bin/ng_xi18n.js +11 -10
  51. package/bundles/src/bin/ng_xi18n.js.map +1 -1
  52. package/bundles/src/bin/ngc.js +9 -8
  53. package/bundles/src/bin/ngc.js.map +1 -1
  54. package/bundles_metadata.json +1 -1
  55. package/ngcc/src/analysis/decoration_analyzer.d.ts +2 -1
  56. package/ngcc/src/packages/build_marker.d.ts +1 -1
  57. package/package.json +3 -3
  58. package/src/ngtsc/annotations/common/src/diagnostics.d.ts +2 -1
  59. package/src/ngtsc/annotations/component/src/handler.d.ts +3 -2
  60. package/src/ngtsc/annotations/component/src/metadata.d.ts +6 -1
  61. package/src/ngtsc/annotations/directive/src/handler.d.ts +8 -3
  62. package/src/ngtsc/annotations/directive/src/shared.d.ts +5 -2
  63. package/src/ngtsc/annotations/ng_module/src/handler.d.ts +1 -0
  64. package/src/ngtsc/annotations/src/pipe.d.ts +1 -0
  65. package/src/ngtsc/core/api/src/options.d.ts +4 -0
  66. package/src/ngtsc/core/src/compiler.d.ts +1 -1
  67. package/src/ngtsc/diagnostics/src/error_code.d.ts +12 -0
  68. package/src/ngtsc/metadata/index.d.ts +1 -0
  69. package/src/ngtsc/metadata/src/api.d.ts +41 -0
  70. package/src/ngtsc/metadata/src/host_directives_resolver.d.ts +28 -0
  71. package/src/ngtsc/metadata/src/util.d.ts +3 -2
  72. package/src/ngtsc/scope/src/typecheck.d.ts +4 -3
  73. package/src/ngtsc/ts_compatibility/index.d.ts +9 -0
  74. package/src/ngtsc/ts_compatibility/src/ts_cross_version_utils.d.ts +161 -0
  75. package/src/ngtsc/typecheck/api/checker.d.ts +14 -4
  76. package/src/ngtsc/typecheck/src/checker.d.ts +5 -1
  77. package/src/ngtsc/typecheck/src/ts_util.d.ts +0 -7
  78. package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -1
  79. package/bundles/chunk-AHYRDQYO.js.map +0 -6
  80. package/bundles/chunk-AMYIDAXN.js.map +0 -6
  81. package/bundles/chunk-GQHLKW4T.js.map +0 -6
  82. package/bundles/chunk-I34YWN6W.js.map +0 -6
  83. package/bundles/chunk-IJA2BQQH.js.map +0 -6
  84. package/bundles/chunk-WJ34B4FT.js.map +0 -6
  85. package/bundles/chunk-ZSQCUET7.js.map +0 -6
@@ -13,7 +13,7 @@ import {
13
13
  reflectObjectLiteral,
14
14
  reflectTypeEntityToDeclaration,
15
15
  typeNodeToValueExpr
16
- } from "./chunk-AMYIDAXN.js";
16
+ } from "./chunk-MOE5WKIA.js";
17
17
  import {
18
18
  ErrorCode,
19
19
  FatalDiagnosticError,
@@ -33,18 +33,31 @@ import {
33
33
  translateExpression,
34
34
  translateStatement,
35
35
  translateType
36
- } from "./chunk-AHYRDQYO.js";
36
+ } from "./chunk-IKKP4LXM.js";
37
+ import {
38
+ combineModifiers,
39
+ createPropertyDeclaration,
40
+ getDecorators,
41
+ getModifiers,
42
+ updateClassDeclaration,
43
+ updateConstructorDeclaration,
44
+ updateGetAccessorDeclaration,
45
+ updateMethodDeclaration,
46
+ updateParameterDeclaration,
47
+ updatePropertyDeclaration,
48
+ updateSetAccessorDeclaration
49
+ } from "./chunk-DM4TYSFG.js";
37
50
  import {
38
51
  absoluteFrom,
39
52
  absoluteFromSourceFile,
40
53
  relative
41
- } from "./chunk-S4JINNFN.js";
54
+ } from "./chunk-4NRCP3Y6.js";
42
55
  import {
43
56
  PerfEvent,
44
57
  PerfPhase
45
- } from "./chunk-CTEVZGOM.js";
58
+ } from "./chunk-RCXOJZDO.js";
46
59
 
47
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/util.mjs
60
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/util.mjs
48
61
  import { ExternalExpr, ParseLocation, ParseSourceFile, ParseSourceSpan, ReadPropExpr, WrappedNodeExpr } from "@angular/compiler";
49
62
  import ts from "typescript";
50
63
  function valueReferenceToExpression(valueRef) {
@@ -280,7 +293,7 @@ function getOriginNodeForDiagnostics(expr, container) {
280
293
  }
281
294
  }
282
295
 
283
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/dynamic.mjs
296
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/dynamic.mjs
284
297
  var DynamicValue = class {
285
298
  constructor(node, reason, code) {
286
299
  this.node = node;
@@ -370,10 +383,10 @@ var DynamicValue = class {
370
383
  }
371
384
  };
372
385
 
373
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
386
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
374
387
  import ts2 from "typescript";
375
388
 
376
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/result.mjs
389
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/result.mjs
377
390
  var ResolvedModule = class {
378
391
  constructor(exports, evaluate) {
379
392
  this.exports = exports;
@@ -403,7 +416,7 @@ var EnumValue = class {
403
416
  var KnownFn = class {
404
417
  };
405
418
 
406
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/builtin.mjs
419
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/builtin.mjs
407
420
  var ArraySliceBuiltinFn = class extends KnownFn {
408
421
  constructor(lhs) {
409
422
  super();
@@ -474,7 +487,7 @@ var ObjectAssignBuiltinFn = class extends KnownFn {
474
487
  }
475
488
  };
476
489
 
477
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/ts_helpers.mjs
490
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/ts_helpers.mjs
478
491
  var AssignHelperFn = class extends ObjectAssignBuiltinFn {
479
492
  };
480
493
  var SpreadHelperFn = class extends KnownFn {
@@ -527,7 +540,7 @@ var ReadHelperFn = class extends KnownFn {
527
540
  }
528
541
  };
529
542
 
530
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/known_declaration.mjs
543
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/known_declaration.mjs
531
544
  var jsGlobalObjectValue = /* @__PURE__ */ new Map([["assign", new ObjectAssignBuiltinFn()]]);
532
545
  var assignTsHelperFn = new AssignHelperFn();
533
546
  var spreadTsHelperFn = new SpreadHelperFn();
@@ -551,14 +564,14 @@ function resolveKnownDeclaration(decl) {
551
564
  }
552
565
  }
553
566
 
554
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/synthetic.mjs
567
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/synthetic.mjs
555
568
  var SyntheticValue = class {
556
569
  constructor(value) {
557
570
  this.value = value;
558
571
  }
559
572
  };
560
573
 
561
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
574
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.mjs
562
575
  function literalBinaryOp(op) {
563
576
  return { op, literal: true };
564
577
  }
@@ -1115,7 +1128,8 @@ function isVariableDeclarationDeclared(node) {
1115
1128
  return false;
1116
1129
  }
1117
1130
  const varStmt = declList.parent;
1118
- return varStmt.modifiers !== void 0 && varStmt.modifiers.some((mod) => mod.kind === ts2.SyntaxKind.DeclareKeyword);
1131
+ const modifiers = getModifiers(varStmt);
1132
+ return modifiers !== void 0 && modifiers.some((mod) => mod.kind === ts2.SyntaxKind.DeclareKeyword);
1119
1133
  }
1120
1134
  var EMPTY = {};
1121
1135
  function joinModuleContext(existing, node, decl) {
@@ -1143,7 +1157,7 @@ function owningModule(context, override = null) {
1143
1157
  }
1144
1158
  }
1145
1159
 
1146
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.mjs
1160
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.mjs
1147
1161
  var PartialEvaluator = class {
1148
1162
  constructor(host, checker, dependencyTracker) {
1149
1163
  this.host = host;
@@ -1163,7 +1177,7 @@ var PartialEvaluator = class {
1163
1177
  }
1164
1178
  };
1165
1179
 
1166
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/diagnostics.mjs
1180
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/partial_evaluator/src/diagnostics.mjs
1167
1181
  import ts3 from "typescript";
1168
1182
  function describeResolvedType(value, maxDepth = 1) {
1169
1183
  var _a, _b;
@@ -1293,7 +1307,7 @@ function getContainerNode(node) {
1293
1307
  return node.getSourceFile();
1294
1308
  }
1295
1309
 
1296
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/di.mjs
1310
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/di.mjs
1297
1311
  import { LiteralExpr, WrappedNodeExpr as WrappedNodeExpr2 } from "@angular/compiler";
1298
1312
  import ts4 from "typescript";
1299
1313
  function getConstructorDependencies(clazz, reflector, isCore) {
@@ -1437,7 +1451,7 @@ function createUnsuitableInjectionTokenError(clazz, error) {
1437
1451
  return new FatalDiagnosticError(ErrorCode.PARAM_MISSING_TOKEN, param.nameNode, chain, hints);
1438
1452
  }
1439
1453
 
1440
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
1454
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/diagnostics.mjs
1441
1455
  import ts5 from "typescript";
1442
1456
  function makeDuplicateDeclarationError(node, data, kind) {
1443
1457
  const context = [];
@@ -1511,6 +1525,23 @@ function getDirectiveDiagnostics(node, reader, evaluator, reflector, scopeRegist
1511
1525
  addDiagnostics(checkInheritanceOfDirective(node, reader, reflector, evaluator));
1512
1526
  return diagnostics;
1513
1527
  }
1528
+ function validateHostDirectives(origin, hostDirectives, metaReader) {
1529
+ const diagnostics = [];
1530
+ for (const current of hostDirectives) {
1531
+ const hostMeta = metaReader.getDirectiveMetadata(current.directive);
1532
+ if (hostMeta === null) {
1533
+ diagnostics.push(makeDiagnostic(ErrorCode.HOST_DIRECTIVE_INVALID, current.directive.getOriginForDiagnostics(origin), `${current.directive.debugName} must be a standalone directive to be used as a host directive`));
1534
+ continue;
1535
+ }
1536
+ if (!hostMeta.isStandalone) {
1537
+ diagnostics.push(makeDiagnostic(ErrorCode.HOST_DIRECTIVE_NOT_STANDALONE, current.directive.getOriginForDiagnostics(origin), `Host directive ${hostMeta.name} must be standalone`));
1538
+ }
1539
+ if (hostMeta.isComponent) {
1540
+ diagnostics.push(makeDiagnostic(ErrorCode.HOST_DIRECTIVE_COMPONENT, current.directive.getOriginForDiagnostics(origin), `Host directive ${hostMeta.name} cannot be a component`));
1541
+ }
1542
+ }
1543
+ return diagnostics;
1544
+ }
1514
1545
  function getUndecoratedClassWithAngularFeaturesDiagnostic(node) {
1515
1546
  return makeDiagnostic(ErrorCode.UNDECORATED_CLASS_USING_ANGULAR_FEATURES, node.name, `Class is using Angular features but is not decorated. Please add an explicit Angular decorator.`);
1516
1547
  }
@@ -1545,7 +1576,7 @@ function getInheritedUndecoratedCtorDiagnostic(node, baseClass, reader) {
1545
1576
  return makeDiagnostic(ErrorCode.DIRECTIVE_INHERITS_UNDECORATED_CTOR, node.name, `The ${dirOrComp.toLowerCase()} ${node.name.text} inherits its constructor from ${baseClassName}, but the latter does not have an Angular decorator of its own. Dependency injection will not be able to resolve the parameters of ${baseClassName}'s constructor. Either add a @Directive decorator to ${baseClassName}, or add an explicit constructor to ${node.name.text}.`);
1546
1577
  }
1547
1578
 
1548
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/evaluation.mjs
1579
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/evaluation.mjs
1549
1580
  import ts6 from "typescript";
1550
1581
  function resolveEnumValue(evaluator, metadata, field, enumSymbolName) {
1551
1582
  let resolved = null;
@@ -1578,7 +1609,7 @@ function resolveLiteral(decorator, literalCache) {
1578
1609
  return meta;
1579
1610
  }
1580
1611
 
1581
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/factory.mjs
1612
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/factory.mjs
1582
1613
  import { compileDeclareFactoryFunction, compileFactoryFunction } from "@angular/compiler";
1583
1614
  function compileNgFactoryDefField(metadata) {
1584
1615
  const res = compileFactoryFunction(metadata);
@@ -1589,7 +1620,7 @@ function compileDeclareFactory(metadata) {
1589
1620
  return { name: "\u0275fac", initializer: res.expression, statements: res.statements, type: res.type };
1590
1621
  }
1591
1622
 
1592
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/metadata.mjs
1623
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/metadata.mjs
1593
1624
  import { FunctionExpr, LiteralArrayExpr, LiteralExpr as LiteralExpr2, literalMap, ReturnStatement, WrappedNodeExpr as WrappedNodeExpr3 } from "@angular/compiler";
1594
1625
  import ts7 from "typescript";
1595
1626
  function extractClassMetadata(clazz, reflection, isCore, annotateForClosureCompiler, angularDecoratorTransform = (dec) => dec) {
@@ -1656,12 +1687,11 @@ function decoratorToMetadata(decorator, wrapFunctionsInParens) {
1656
1687
  throw new Error("Illegal state: synthesized decorator cannot be emitted in class metadata.");
1657
1688
  }
1658
1689
  const properties = [
1659
- ts7.factory.createPropertyAssignment("type", ts7.getMutableClone(decorator.identifier))
1690
+ ts7.factory.createPropertyAssignment("type", decorator.identifier)
1660
1691
  ];
1661
1692
  if (decorator.args !== null && decorator.args.length > 0) {
1662
1693
  const args = decorator.args.map((arg) => {
1663
- const expr = ts7.getMutableClone(arg);
1664
- return wrapFunctionsInParens ? wrapFunctionExpressionsInParens(expr) : expr;
1694
+ return wrapFunctionsInParens ? wrapFunctionExpressionsInParens(arg) : arg;
1665
1695
  });
1666
1696
  properties.push(ts7.factory.createPropertyAssignment("args", ts7.factory.createArrayLiteralExpression(args)));
1667
1697
  }
@@ -1677,13 +1707,13 @@ function removeIdentifierReferences(node, name) {
1677
1707
  return result.transformed[0];
1678
1708
  }
1679
1709
 
1680
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/references_registry.mjs
1710
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/references_registry.mjs
1681
1711
  var NoopReferencesRegistry = class {
1682
1712
  add(source, ...references) {
1683
1713
  }
1684
1714
  };
1685
1715
 
1686
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/schema.mjs
1716
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/common/src/schema.mjs
1687
1717
  import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from "@angular/compiler";
1688
1718
  function extractSchemas(rawExpr, evaluator, context) {
1689
1719
  const schemas = [];
@@ -1713,11 +1743,11 @@ function extractSchemas(rawExpr, evaluator, context) {
1713
1743
  return schemas;
1714
1744
  }
1715
1745
 
1716
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
1746
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
1717
1747
  import { compileClassMetadata as compileClassMetadata3, compileComponentFromMetadata, compileDeclareClassMetadata as compileDeclareClassMetadata3, compileDeclareComponentFromMetadata, CssSelector as CssSelector2, DEFAULT_INTERPOLATION_CONFIG as DEFAULT_INTERPOLATION_CONFIG2, DomElementSchemaRegistry, FactoryTarget as FactoryTarget3, makeBindingParser as makeBindingParser2, R3TargetBinder, R3TemplateDependencyKind, SelectorMatcher as SelectorMatcher2, ViewEncapsulation, WrappedNodeExpr as WrappedNodeExpr7 } from "@angular/compiler";
1718
1748
  import ts24 from "typescript";
1719
1749
 
1720
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/api.mjs
1750
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/api.mjs
1721
1751
  import ts8 from "typescript";
1722
1752
  var SemanticSymbol = class {
1723
1753
  constructor(decl) {
@@ -1733,7 +1763,7 @@ function getSymbolIdentifier(decl) {
1733
1763
  return decl.name.text;
1734
1764
  }
1735
1765
 
1736
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/graph.mjs
1766
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/graph.mjs
1737
1767
  import { ExternalExpr as ExternalExpr2 } from "@angular/compiler";
1738
1768
  var OpaqueSymbol = class extends SemanticSymbol {
1739
1769
  isPublicApiAffected() {
@@ -1876,10 +1906,10 @@ function getImportPath(expr) {
1876
1906
  }
1877
1907
  }
1878
1908
 
1879
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
1909
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
1880
1910
  import ts9 from "typescript";
1881
1911
 
1882
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/util.mjs
1912
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/util.mjs
1883
1913
  function isSymbolEqual(a, b) {
1884
1914
  if (a.decl === b.decl) {
1885
1915
  return true;
@@ -1929,7 +1959,7 @@ function isSetEqual(a, b, equalityTester = referenceEquality) {
1929
1959
  return true;
1930
1960
  }
1931
1961
 
1932
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
1962
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs
1933
1963
  function extractSemanticTypeParameters(node) {
1934
1964
  if (!ts9.isClassDeclaration(node) || node.typeParameters === void 0) {
1935
1965
  return null;
@@ -1949,18 +1979,23 @@ function isTypeParameterEqual(a, b) {
1949
1979
  return a.hasGenericTypeBound === b.hasGenericTypeBound;
1950
1980
  }
1951
1981
 
1952
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/api.mjs
1982
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/api.mjs
1953
1983
  var MetaKind;
1954
1984
  (function(MetaKind2) {
1955
1985
  MetaKind2[MetaKind2["Directive"] = 0] = "Directive";
1956
1986
  MetaKind2[MetaKind2["Pipe"] = 1] = "Pipe";
1957
1987
  MetaKind2[MetaKind2["NgModule"] = 2] = "NgModule";
1958
1988
  })(MetaKind || (MetaKind = {}));
1989
+ var MatchSource;
1990
+ (function(MatchSource2) {
1991
+ MatchSource2[MatchSource2["Selector"] = 0] = "Selector";
1992
+ MatchSource2[MatchSource2["HostDirective"] = 1] = "HostDirective";
1993
+ })(MatchSource || (MatchSource = {}));
1959
1994
 
1960
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
1995
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
1961
1996
  import ts11 from "typescript";
1962
1997
 
1963
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/property_mapping.mjs
1998
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/property_mapping.mjs
1964
1999
  var ClassPropertyMapping = class {
1965
2000
  constructor(forwardMap) {
1966
2001
  this.forwardMap = forwardMap;
@@ -2036,7 +2071,7 @@ function reverseMapFromForwardMap(forwardMap) {
2036
2071
  return reverseMap;
2037
2072
  }
2038
2073
 
2039
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/util.mjs
2074
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/util.mjs
2040
2075
  import ts10 from "typescript";
2041
2076
  function extractReferencesFromType(checker, def, bestGuessOwningModule) {
2042
2077
  if (!ts10.isTupleTypeNode(def)) {
@@ -2046,18 +2081,20 @@ function extractReferencesFromType(checker, def, bestGuessOwningModule) {
2046
2081
  if (!ts10.isTypeQueryNode(element)) {
2047
2082
  throw new Error(`Expected TypeQueryNode: ${nodeDebugInfo(element)}`);
2048
2083
  }
2049
- const type = element.exprName;
2050
- const { node, from } = reflectTypeEntityToDeclaration(type, checker);
2051
- if (!isNamedClassDeclaration(node)) {
2052
- throw new Error(`Expected named ClassDeclaration: ${nodeDebugInfo(node)}`);
2053
- }
2054
- if (from !== null && !from.startsWith(".")) {
2055
- return new Reference(node, { specifier: from, resolutionContext: def.getSourceFile().fileName });
2056
- } else {
2057
- return new Reference(node, bestGuessOwningModule);
2058
- }
2084
+ return extraReferenceFromTypeQuery(checker, element, def, bestGuessOwningModule);
2059
2085
  });
2060
2086
  }
2087
+ function extraReferenceFromTypeQuery(checker, typeNode, origin, bestGuessOwningModule) {
2088
+ const type = typeNode.exprName;
2089
+ const { node, from } = reflectTypeEntityToDeclaration(type, checker);
2090
+ if (!isNamedClassDeclaration(node)) {
2091
+ throw new Error(`Expected named ClassDeclaration: ${nodeDebugInfo(node)}`);
2092
+ }
2093
+ if (from !== null && !from.startsWith(".")) {
2094
+ return new Reference(node, { specifier: from, resolutionContext: origin.getSourceFile().fileName });
2095
+ }
2096
+ return new Reference(node, bestGuessOwningModule);
2097
+ }
2061
2098
  function readBooleanType(type) {
2062
2099
  if (!ts10.isLiteralTypeNode(type)) {
2063
2100
  return null;
@@ -2077,16 +2114,16 @@ function readStringType(type) {
2077
2114
  }
2078
2115
  return type.literal.text;
2079
2116
  }
2080
- function readStringMapType(type) {
2117
+ function readMapType(type, valueTransform) {
2081
2118
  if (!ts10.isTypeLiteralNode(type)) {
2082
2119
  return {};
2083
2120
  }
2084
2121
  const obj = {};
2085
2122
  type.members.forEach((member) => {
2086
- if (!ts10.isPropertySignature(member) || member.type === void 0 || member.name === void 0 || !ts10.isStringLiteral(member.name)) {
2123
+ if (!ts10.isPropertySignature(member) || member.type === void 0 || member.name === void 0 || !ts10.isStringLiteral(member.name) && !ts10.isIdentifier(member.name)) {
2087
2124
  return;
2088
2125
  }
2089
- const value = readStringType(member.type);
2126
+ const value = valueTransform(member.type);
2090
2127
  if (value === null) {
2091
2128
  return null;
2092
2129
  }
@@ -2141,10 +2178,10 @@ function extractDirectiveTypeCheckMeta(node, inputs, reflector) {
2141
2178
  };
2142
2179
  }
2143
2180
  function isRestricted(node) {
2144
- if (node.modifiers === void 0) {
2145
- return false;
2146
- }
2147
- return node.modifiers.some((modifier) => modifier.kind === ts10.SyntaxKind.PrivateKeyword || modifier.kind === ts10.SyntaxKind.ProtectedKeyword || modifier.kind === ts10.SyntaxKind.ReadonlyKeyword);
2181
+ const modifiers = getModifiers(node);
2182
+ return modifiers !== void 0 && modifiers.some(({ kind }) => {
2183
+ return kind === ts10.SyntaxKind.PrivateKeyword || kind === ts10.SyntaxKind.ProtectedKeyword || kind === ts10.SyntaxKind.ReadonlyKeyword;
2184
+ });
2148
2185
  }
2149
2186
  function extractTemplateGuard(member) {
2150
2187
  if (!member.name.startsWith("ngTemplateGuard_")) {
@@ -2216,7 +2253,7 @@ function hasInjectableFields(clazz, host) {
2216
2253
  return members.some(({ isStatic, name }) => isStatic && (name === "\u0275prov" || name === "\u0275fac"));
2217
2254
  }
2218
2255
 
2219
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
2256
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/dts.mjs
2220
2257
  var DtsMetadataReader = class {
2221
2258
  constructor(checker, reflector) {
2222
2259
  this.checker = checker;
@@ -2240,7 +2277,8 @@ var DtsMetadataReader = class {
2240
2277
  schemas: [],
2241
2278
  rawDeclarations: null,
2242
2279
  rawImports: null,
2243
- rawExports: null
2280
+ rawExports: null,
2281
+ decorator: null
2244
2282
  };
2245
2283
  }
2246
2284
  getDirectiveMetadata(ref) {
@@ -2258,10 +2296,12 @@ var DtsMetadataReader = class {
2258
2296
  return param.typeValueReference.kind === 1 && param.typeValueReference.moduleName === "@angular/core" && param.typeValueReference.importedName === "TemplateRef";
2259
2297
  });
2260
2298
  const isStandalone = def.type.typeArguments.length > 7 && ((_a = readBooleanType(def.type.typeArguments[7])) != null ? _a : false);
2261
- const inputs = ClassPropertyMapping.fromMappedObject(readStringMapType(def.type.typeArguments[3]));
2262
- const outputs = ClassPropertyMapping.fromMappedObject(readStringMapType(def.type.typeArguments[4]));
2299
+ const inputs = ClassPropertyMapping.fromMappedObject(readMapType(def.type.typeArguments[3], readStringType));
2300
+ const outputs = ClassPropertyMapping.fromMappedObject(readMapType(def.type.typeArguments[4], readStringType));
2301
+ const hostDirectives = def.type.typeArguments.length > 8 ? readHostDirectivesType(this.checker, def.type.typeArguments[8], ref.bestGuessOwningModule) : null;
2263
2302
  return {
2264
2303
  kind: MetaKind.Directive,
2304
+ matchSource: MatchSource.Selector,
2265
2305
  ref,
2266
2306
  name: clazz.name.text,
2267
2307
  isComponent,
@@ -2269,6 +2309,7 @@ var DtsMetadataReader = class {
2269
2309
  exportAs: readStringArrayType(def.type.typeArguments[2]),
2270
2310
  inputs,
2271
2311
  outputs,
2312
+ hostDirectives,
2272
2313
  queries: readStringArrayType(def.type.typeArguments[5]),
2273
2314
  ...extractDirectiveTypeCheckMeta(clazz, inputs, this.reflector),
2274
2315
  baseClass: readBaseClass2(clazz, this.checker, this.reflector),
@@ -2277,7 +2318,8 @@ var DtsMetadataReader = class {
2277
2318
  animationTriggerNames: null,
2278
2319
  isStandalone,
2279
2320
  imports: null,
2280
- schemas: null
2321
+ schemas: null,
2322
+ decorator: null
2281
2323
  };
2282
2324
  }
2283
2325
  getPipeMetadata(ref) {
@@ -2299,7 +2341,8 @@ var DtsMetadataReader = class {
2299
2341
  ref,
2300
2342
  name,
2301
2343
  nameExpr: null,
2302
- isStandalone
2344
+ isStandalone,
2345
+ decorator: null
2303
2346
  };
2304
2347
  }
2305
2348
  };
@@ -2327,8 +2370,29 @@ function readBaseClass2(clazz, checker, reflector) {
2327
2370
  }
2328
2371
  return null;
2329
2372
  }
2373
+ function readHostDirectivesType(checker, type, bestGuessOwningModule) {
2374
+ if (!ts11.isTupleTypeNode(type) || type.elements.length === 0) {
2375
+ return null;
2376
+ }
2377
+ const result = [];
2378
+ for (const hostDirectiveType of type.elements) {
2379
+ const { directive, inputs, outputs } = readMapType(hostDirectiveType, (type2) => type2);
2380
+ if (directive) {
2381
+ if (!ts11.isTypeQueryNode(directive)) {
2382
+ throw new Error(`Expected TypeQueryNode: ${nodeDebugInfo(directive)}`);
2383
+ }
2384
+ result.push({
2385
+ directive: extraReferenceFromTypeQuery(checker, directive, type, bestGuessOwningModule),
2386
+ isForwardReference: false,
2387
+ inputs: readMapType(inputs, readStringType),
2388
+ outputs: readMapType(outputs, readStringType)
2389
+ });
2390
+ }
2391
+ }
2392
+ return result.length > 0 ? result : null;
2393
+ }
2330
2394
 
2331
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/inheritance.mjs
2395
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/inheritance.mjs
2332
2396
  function flattenInheritedDirectiveMetadata(reader, dir) {
2333
2397
  const topMeta = reader.getDirectiveMetadata(dir);
2334
2398
  if (topMeta === null) {
@@ -2386,7 +2450,7 @@ function flattenInheritedDirectiveMetadata(reader, dir) {
2386
2450
  };
2387
2451
  }
2388
2452
 
2389
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/registry.mjs
2453
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/registry.mjs
2390
2454
  var LocalMetadataRegistry = class {
2391
2455
  constructor() {
2392
2456
  this.directives = /* @__PURE__ */ new Map();
@@ -2445,7 +2509,7 @@ var InjectableClassRegistry = class {
2445
2509
  }
2446
2510
  };
2447
2511
 
2448
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/resource_registry.mjs
2512
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/resource_registry.mjs
2449
2513
  var ResourceRegistry = class {
2450
2514
  constructor() {
2451
2515
  this.externalTemplateToComponentsMap = /* @__PURE__ */ new Map();
@@ -2510,14 +2574,65 @@ var ResourceRegistry = class {
2510
2574
  }
2511
2575
  };
2512
2576
 
2513
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/api.mjs
2577
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/metadata/src/host_directives_resolver.mjs
2578
+ var EMPTY_ARRAY = [];
2579
+ var HostDirectivesResolver = class {
2580
+ constructor(metaReader) {
2581
+ this.metaReader = metaReader;
2582
+ this.cache = /* @__PURE__ */ new Map();
2583
+ }
2584
+ resolve(metadata) {
2585
+ if (this.cache.has(metadata.ref.node)) {
2586
+ return this.cache.get(metadata.ref.node);
2587
+ }
2588
+ const results = metadata.hostDirectives && metadata.hostDirectives.length > 0 ? this.walkHostDirectives(metadata.hostDirectives, []) : EMPTY_ARRAY;
2589
+ this.cache.set(metadata.ref.node, results);
2590
+ return results;
2591
+ }
2592
+ walkHostDirectives(directives, results) {
2593
+ for (const current of directives) {
2594
+ const hostMeta = flattenInheritedDirectiveMetadata(this.metaReader, current.directive);
2595
+ if (hostMeta === null) {
2596
+ throw new Error(`Could not resolve host directive metadata of ${current.directive.debugName}`);
2597
+ }
2598
+ if (hostMeta.hostDirectives) {
2599
+ this.walkHostDirectives(hostMeta.hostDirectives, results);
2600
+ }
2601
+ results.push({
2602
+ ...hostMeta,
2603
+ matchSource: MatchSource.HostDirective,
2604
+ inputs: this.filterMappings(hostMeta.inputs, current.inputs),
2605
+ outputs: this.filterMappings(hostMeta.outputs, current.outputs)
2606
+ });
2607
+ }
2608
+ return results;
2609
+ }
2610
+ filterMappings(source, allowedProperties) {
2611
+ const result = {};
2612
+ if (allowedProperties !== null) {
2613
+ for (const publicName in allowedProperties) {
2614
+ if (allowedProperties.hasOwnProperty(publicName)) {
2615
+ const bindings = source.getByBindingPropertyName(publicName);
2616
+ if (bindings !== null) {
2617
+ for (const binding of bindings) {
2618
+ result[binding.classPropertyName] = allowedProperties[publicName];
2619
+ }
2620
+ }
2621
+ }
2622
+ }
2623
+ }
2624
+ return ClassPropertyMapping.fromMappedObject(result);
2625
+ }
2626
+ };
2627
+
2628
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/api.mjs
2514
2629
  var ComponentScopeKind;
2515
2630
  (function(ComponentScopeKind2) {
2516
2631
  ComponentScopeKind2[ComponentScopeKind2["NgModule"] = 0] = "NgModule";
2517
2632
  ComponentScopeKind2[ComponentScopeKind2["Standalone"] = 1] = "Standalone";
2518
2633
  })(ComponentScopeKind || (ComponentScopeKind = {}));
2519
2634
 
2520
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/component_scope.mjs
2635
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/component_scope.mjs
2521
2636
  var CompoundComponentScopeReader = class {
2522
2637
  constructor(readers) {
2523
2638
  this.readers = readers;
@@ -2542,7 +2657,7 @@ var CompoundComponentScopeReader = class {
2542
2657
  }
2543
2658
  };
2544
2659
 
2545
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/dependency.mjs
2660
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/dependency.mjs
2546
2661
  var MetadataDtsModuleScopeResolver = class {
2547
2662
  constructor(dtsMetaReader, aliasingHost) {
2548
2663
  this.dtsMetaReader = dtsMetaReader;
@@ -2618,11 +2733,11 @@ var MetadataDtsModuleScopeResolver = class {
2618
2733
  }
2619
2734
  };
2620
2735
 
2621
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
2736
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
2622
2737
  import { ExternalExpr as ExternalExpr3 } from "@angular/compiler";
2623
2738
  import ts12 from "typescript";
2624
2739
 
2625
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/util.mjs
2740
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/util.mjs
2626
2741
  function getDiagnosticNode(ref, rawExpr) {
2627
2742
  return rawExpr !== null ? ref.getOriginForDiagnostics(rawExpr) : ref.node.name;
2628
2743
  }
@@ -2645,7 +2760,7 @@ function makeUnknownComponentImportDiagnostic(ref, rawExpr) {
2645
2760
  return makeDiagnostic(ErrorCode.COMPONENT_UNKNOWN_IMPORT, getDiagnosticNode(ref, rawExpr), `Component imports must be standalone components, directives, pipes, or must be NgModules.`);
2646
2761
  }
2647
2762
 
2648
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
2763
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/local.mjs
2649
2764
  var LocalModuleScopeRegistry = class {
2650
2765
  constructor(localReader, fullReader, dependencyScopeReader, refEmitter, aliasingHost) {
2651
2766
  this.localReader = localReader;
@@ -2984,13 +3099,14 @@ function reexportCollision(module, refA, refB) {
2984
3099
  ]);
2985
3100
  }
2986
3101
 
2987
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/typecheck.mjs
3102
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/typecheck.mjs
2988
3103
  import { CssSelector, SelectorMatcher } from "@angular/compiler";
2989
3104
  import ts13 from "typescript";
2990
3105
  var TypeCheckScopeRegistry = class {
2991
- constructor(scopeReader, metaReader) {
3106
+ constructor(scopeReader, metaReader, hostDirectivesResolver) {
2992
3107
  this.scopeReader = scopeReader;
2993
3108
  this.metaReader = metaReader;
3109
+ this.hostDirectivesResolver = hostDirectivesResolver;
2994
3110
  this.flattenedDirectiveMetaCache = /* @__PURE__ */ new Map();
2995
3111
  this.scopeCache = /* @__PURE__ */ new Map();
2996
3112
  }
@@ -3016,7 +3132,7 @@ var TypeCheckScopeRegistry = class {
3016
3132
  for (const meta of dependencies) {
3017
3133
  if (meta.kind === MetaKind.Directive && meta.selector !== null) {
3018
3134
  const extMeta = this.getTypeCheckDirectiveMetadata(meta.ref);
3019
- matcher.addSelectables(CssSelector.parse(meta.selector), extMeta);
3135
+ matcher.addSelectables(CssSelector.parse(meta.selector), [...this.hostDirectivesResolver.resolve(extMeta), extMeta]);
3020
3136
  directives.push(extMeta);
3021
3137
  } else if (meta.kind === MetaKind.Pipe) {
3022
3138
  if (!ts13.isClassDeclaration(meta.ref.node)) {
@@ -3046,7 +3162,7 @@ var TypeCheckScopeRegistry = class {
3046
3162
  }
3047
3163
  };
3048
3164
 
3049
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/api.mjs
3165
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/api.mjs
3050
3166
  var CompilationMode;
3051
3167
  (function(CompilationMode2) {
3052
3168
  CompilationMode2[CompilationMode2["FULL"] = 0] = "FULL";
@@ -3064,7 +3180,7 @@ var HandlerFlags;
3064
3180
  HandlerFlags2[HandlerFlags2["FULL_INHERITANCE"] = 1] = "FULL_INHERITANCE";
3065
3181
  })(HandlerFlags || (HandlerFlags = {}));
3066
3182
 
3067
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/alias.mjs
3183
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/alias.mjs
3068
3184
  import ts14 from "typescript";
3069
3185
  function aliasTransformFactory(exportStatements) {
3070
3186
  return (context) => {
@@ -3082,10 +3198,10 @@ function aliasTransformFactory(exportStatements) {
3082
3198
  };
3083
3199
  }
3084
3200
 
3085
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
3201
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
3086
3202
  import ts15 from "typescript";
3087
3203
 
3088
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/trait.mjs
3204
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/trait.mjs
3089
3205
  var TraitState;
3090
3206
  (function(TraitState2) {
3091
3207
  TraitState2[TraitState2["Pending"] = 0] = "Pending";
@@ -3140,7 +3256,7 @@ var TraitImpl = class {
3140
3256
  }
3141
3257
  };
3142
3258
 
3143
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
3259
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/compilation.mjs
3144
3260
  var TraitCompiler = class {
3145
3261
  constructor(handlers, reflector, perf, incrementalBuild, compileNonExportedClasses, compilationMode, dtsTransforms, semanticDepGraphUpdater, sourceFileTypeIdentifier) {
3146
3262
  this.handlers = handlers;
@@ -3584,10 +3700,10 @@ function containsErrors(diagnostics) {
3584
3700
  return diagnostics !== null && diagnostics.some((diag) => diag.category === ts15.DiagnosticCategory.Error);
3585
3701
  }
3586
3702
 
3587
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
3703
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
3588
3704
  import ts17 from "typescript";
3589
3705
 
3590
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/utils.mjs
3706
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/utils.mjs
3591
3707
  import ts16 from "typescript";
3592
3708
  function addImports(importManager, sf, extraStatements = []) {
3593
3709
  const addedImports = importManager.getAllImports(sf.fileName).map((i) => {
@@ -3615,7 +3731,7 @@ function isImportStatement(stmt) {
3615
3731
  return ts16.isImportDeclaration(stmt) || ts16.isImportEqualsDeclaration(stmt) || ts16.isNamespaceImport(stmt);
3616
3732
  }
3617
3733
 
3618
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
3734
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/declaration.mjs
3619
3735
  var DtsTransformRegistry = class {
3620
3736
  constructor() {
3621
3737
  this.ivyDeclarationTransforms = /* @__PURE__ */ new Map();
@@ -3699,7 +3815,7 @@ var DtsTransformer = class {
3699
3815
  }
3700
3816
  }
3701
3817
  if (elementsChanged && clazz === newClazz) {
3702
- newClazz = ts17.factory.updateClassDeclaration(clazz, clazz.decorators, clazz.modifiers, clazz.name, clazz.typeParameters, clazz.heritageClauses, elements);
3818
+ newClazz = updateClassDeclaration(clazz, clazz.modifiers, clazz.name, clazz.typeParameters, clazz.heritageClauses, elements);
3703
3819
  }
3704
3820
  return newClazz;
3705
3821
  }
@@ -3730,9 +3846,9 @@ var IvyDeclarationDtsTransform = class {
3730
3846
  const modifiers = [ts17.factory.createModifier(ts17.SyntaxKind.StaticKeyword)];
3731
3847
  const typeRef = translateType(decl.type, imports);
3732
3848
  markForEmitAsSingleLine(typeRef);
3733
- return ts17.factory.createPropertyDeclaration(void 0, modifiers, decl.name, void 0, typeRef, void 0);
3849
+ return createPropertyDeclaration(modifiers, decl.name, void 0, typeRef, void 0);
3734
3850
  });
3735
- return ts17.factory.updateClassDeclaration(clazz, clazz.decorators, clazz.modifiers, clazz.name, clazz.typeParameters, clazz.heritageClauses, [...members, ...newMembers]);
3851
+ return updateClassDeclaration(clazz, clazz.modifiers, clazz.name, clazz.typeParameters, clazz.heritageClauses, [...members, ...newMembers]);
3736
3852
  }
3737
3853
  };
3738
3854
  function markForEmitAsSingleLine(node) {
@@ -3740,11 +3856,11 @@ function markForEmitAsSingleLine(node) {
3740
3856
  ts17.forEachChild(node, markForEmitAsSingleLine);
3741
3857
  }
3742
3858
 
3743
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
3859
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
3744
3860
  import { ConstantPool } from "@angular/compiler";
3745
3861
  import ts19 from "typescript";
3746
3862
 
3747
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/visitor.mjs
3863
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/util/src/visitor.mjs
3748
3864
  import ts18 from "typescript";
3749
3865
  function visit(node, visitor, context) {
3750
3866
  return visitor._visit(node, context);
@@ -3775,7 +3891,7 @@ var Visitor = class {
3775
3891
  } else {
3776
3892
  visitedNode = this.visitOtherNode(node);
3777
3893
  }
3778
- if (hasStatements(visitedNode)) {
3894
+ if (ts18.isBlock(visitedNode) || ts18.isSourceFile(visitedNode)) {
3779
3895
  visitedNode = this._maybeProcessStatements(visitedNode);
3780
3896
  }
3781
3897
  return visitedNode;
@@ -3784,9 +3900,8 @@ var Visitor = class {
3784
3900
  if (node.statements.every((stmt) => !this._before.has(stmt) && !this._after.has(stmt))) {
3785
3901
  return node;
3786
3902
  }
3787
- const clone = ts18.getMutableClone(node);
3788
3903
  const newStatements = [];
3789
- clone.statements.forEach((stmt) => {
3904
+ node.statements.forEach((stmt) => {
3790
3905
  if (this._before.has(stmt)) {
3791
3906
  newStatements.push(...this._before.get(stmt));
3792
3907
  this._before.delete(stmt);
@@ -3797,16 +3912,16 @@ var Visitor = class {
3797
3912
  this._after.delete(stmt);
3798
3913
  }
3799
3914
  });
3800
- clone.statements = ts18.factory.createNodeArray(newStatements, node.statements.hasTrailingComma);
3801
- return clone;
3915
+ const statementsArray = ts18.factory.createNodeArray(newStatements, node.statements.hasTrailingComma);
3916
+ if (ts18.isBlock(node)) {
3917
+ return ts18.factory.updateBlock(node, statementsArray);
3918
+ } else {
3919
+ return ts18.factory.updateSourceFile(node, statementsArray, node.isDeclarationFile, node.referencedFiles, node.typeReferenceDirectives, node.hasNoDefaultLib, node.libReferenceDirectives);
3920
+ }
3802
3921
  }
3803
3922
  };
3804
- function hasStatements(node) {
3805
- const block = node;
3806
- return block.statements !== void 0 && Array.isArray(block.statements);
3807
- }
3808
3923
 
3809
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
3924
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/transform/src/transform.mjs
3810
3925
  var NO_DECORATORS = /* @__PURE__ */ new Set();
3811
3926
  var CLOSURE_FILE_OVERVIEW_REGEXP = /\s+@fileoverview\s+/i;
3812
3927
  function ivyTransformFactory(compilation, reflector, importRewriter, defaultImportTracker, perf, isCore, isClosureCompilerEnabled) {
@@ -3855,14 +3970,15 @@ var IvyTransformationVisitor = class extends Visitor {
3855
3970
  const members = [...node.members];
3856
3971
  for (const field of this.classCompilationMap.get(node)) {
3857
3972
  const exprNode = translateExpression(field.initializer, this.importManager, translateOptions);
3858
- const property = ts19.factory.createPropertyDeclaration(void 0, [ts19.factory.createToken(ts19.SyntaxKind.StaticKeyword)], field.name, void 0, void 0, exprNode);
3973
+ const property = createPropertyDeclaration([ts19.factory.createToken(ts19.SyntaxKind.StaticKeyword)], field.name, void 0, void 0, exprNode);
3859
3974
  if (this.isClosureCompilerEnabled) {
3860
3975
  ts19.addSyntheticLeadingComment(property, ts19.SyntaxKind.MultiLineCommentTrivia, "* @nocollapse ", false);
3861
3976
  }
3862
3977
  field.statements.map((stmt) => translateStatement(stmt, this.importManager, translateOptions)).forEach((stmt) => statements.push(stmt));
3863
3978
  members.push(property);
3864
3979
  }
3865
- node = ts19.factory.updateClassDeclaration(node, maybeFilterDecorator(node.decorators, this.compilation.decoratorsFor(node)), node.modifiers, node.name, node.typeParameters, node.heritageClauses || [], members.map((member) => this._stripAngularDecorators(member)));
3980
+ const filteredDecorators = maybeFilterDecorator(getDecorators(node), this.compilation.decoratorsFor(node));
3981
+ node = updateClassDeclaration(node, combineModifiers(filteredDecorators, getModifiers(node)), node.name, node.typeParameters, node.heritageClauses || [], members.map((member) => this._stripAngularDecorators(member)));
3866
3982
  return { node, after: statements };
3867
3983
  }
3868
3984
  _angularCoreDecorators(decl) {
@@ -3878,38 +3994,36 @@ var IvyTransformationVisitor = class extends Visitor {
3878
3994
  }
3879
3995
  }
3880
3996
  _nonCoreDecoratorsOnly(node) {
3881
- if (node.decorators === void 0) {
3997
+ const decorators = getDecorators(node);
3998
+ if (decorators === void 0) {
3882
3999
  return void 0;
3883
4000
  }
3884
4001
  const coreDecorators = this._angularCoreDecorators(node);
3885
- if (coreDecorators.size === node.decorators.length) {
4002
+ if (coreDecorators.size === decorators.length) {
3886
4003
  return void 0;
3887
4004
  } else if (coreDecorators.size === 0) {
3888
- return node.decorators;
4005
+ return nodeArrayFromDecoratorsArray(decorators);
3889
4006
  }
3890
- const filtered = node.decorators.filter((dec) => !coreDecorators.has(dec));
4007
+ const filtered = decorators.filter((dec) => !coreDecorators.has(dec));
3891
4008
  if (filtered.length === 0) {
3892
4009
  return void 0;
3893
4010
  }
3894
- const array = ts19.factory.createNodeArray(filtered);
3895
- array.pos = node.decorators.pos;
3896
- array.end = node.decorators.end;
3897
- return array;
4011
+ return nodeArrayFromDecoratorsArray(filtered);
3898
4012
  }
3899
4013
  _stripAngularDecorators(node) {
3900
4014
  if (ts19.isParameter(node)) {
3901
- node = ts19.factory.updateParameterDeclaration(node, this._nonCoreDecoratorsOnly(node), node.modifiers, node.dotDotDotToken, node.name, node.questionToken, node.type, node.initializer);
3902
- } else if (ts19.isMethodDeclaration(node) && node.decorators !== void 0) {
3903
- node = ts19.factory.updateMethodDeclaration(node, this._nonCoreDecoratorsOnly(node), node.modifiers, node.asteriskToken, node.name, node.questionToken, node.typeParameters, node.parameters, node.type, node.body);
3904
- } else if (ts19.isPropertyDeclaration(node) && node.decorators !== void 0) {
3905
- node = ts19.factory.updatePropertyDeclaration(node, this._nonCoreDecoratorsOnly(node), node.modifiers, node.name, node.questionToken, node.type, node.initializer);
4015
+ node = updateParameterDeclaration(node, combineModifiers(this._nonCoreDecoratorsOnly(node), getModifiers(node)), node.dotDotDotToken, node.name, node.questionToken, node.type, node.initializer);
4016
+ } else if (ts19.isMethodDeclaration(node) && getDecorators(node) !== void 0) {
4017
+ node = updateMethodDeclaration(node, combineModifiers(this._nonCoreDecoratorsOnly(node), getModifiers(node)), node.asteriskToken, node.name, node.questionToken, node.typeParameters, node.parameters, node.type, node.body);
4018
+ } else if (ts19.isPropertyDeclaration(node) && getDecorators(node) !== void 0) {
4019
+ node = updatePropertyDeclaration(node, combineModifiers(this._nonCoreDecoratorsOnly(node), getModifiers(node)), node.name, node.questionToken, node.type, node.initializer);
3906
4020
  } else if (ts19.isGetAccessor(node)) {
3907
- node = ts19.factory.updateGetAccessorDeclaration(node, this._nonCoreDecoratorsOnly(node), node.modifiers, node.name, node.parameters, node.type, node.body);
4021
+ node = updateGetAccessorDeclaration(node, combineModifiers(this._nonCoreDecoratorsOnly(node), getModifiers(node)), node.name, node.parameters, node.type, node.body);
3908
4022
  } else if (ts19.isSetAccessor(node)) {
3909
- node = ts19.factory.updateSetAccessorDeclaration(node, this._nonCoreDecoratorsOnly(node), node.modifiers, node.name, node.parameters, node.body);
4023
+ node = updateSetAccessorDeclaration(node, combineModifiers(this._nonCoreDecoratorsOnly(node), getModifiers(node)), node.name, node.parameters, node.body);
3910
4024
  } else if (ts19.isConstructorDeclaration(node)) {
3911
4025
  const parameters = node.parameters.map((param) => this._stripAngularDecorators(param));
3912
- node = ts19.factory.updateConstructorDeclaration(node, node.decorators, node.modifiers, parameters, node.body);
4026
+ node = updateConstructorDeclaration(node, getModifiers(node), parameters, node.body);
3913
4027
  }
3914
4028
  return node;
3915
4029
  }
@@ -3986,11 +4100,19 @@ function createRecorderFn(defaultImportTracker) {
3986
4100
  }
3987
4101
  };
3988
4102
  }
4103
+ function nodeArrayFromDecoratorsArray(decorators) {
4104
+ const array = ts19.factory.createNodeArray(decorators);
4105
+ if (array.length > 0) {
4106
+ array.pos = decorators[0].pos;
4107
+ array.end = decorators[decorators.length - 1].end;
4108
+ }
4109
+ return array;
4110
+ }
3989
4111
 
3990
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
4112
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
3991
4113
  import { compileClassMetadata, compileDeclareClassMetadata, compileDeclareDirectiveFromMetadata, compileDirectiveFromMetadata, FactoryTarget, makeBindingParser, WrappedNodeExpr as WrappedNodeExpr5 } from "@angular/compiler";
3992
4114
 
3993
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
4115
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/shared.mjs
3994
4116
  import { createMayBeForwardRefExpression, emitDistinctChangesOnlyDefaultValue, ExternalExpr as ExternalExpr4, getSafePropertyAccessString, parseHostBindings, verifyHostBindings, WrappedNodeExpr as WrappedNodeExpr4 } from "@angular/compiler";
3995
4117
  import ts20 from "typescript";
3996
4118
  var EMPTY_OBJECT = {};
@@ -4000,7 +4122,7 @@ var QUERY_TYPES = /* @__PURE__ */ new Set([
4000
4122
  "ViewChild",
4001
4123
  "ViewChildren"
4002
4124
  ]);
4003
- function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, isCore, flags, annotateForClosureCompiler, defaultSelector = null) {
4125
+ function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, refEmitter, isCore, flags, annotateForClosureCompiler, defaultSelector = null) {
4004
4126
  let directive;
4005
4127
  if (decorator === null || decorator.args === null || decorator.args.length === 0) {
4006
4128
  directive = /* @__PURE__ */ new Map();
@@ -4071,10 +4193,13 @@ function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, isCore
4071
4193
  isStandalone = resolved;
4072
4194
  }
4073
4195
  const usesInheritance = reflector.hasBaseClass(clazz);
4196
+ const sourceFile = clazz.getSourceFile();
4074
4197
  const type = wrapTypeReference(reflector, clazz);
4075
4198
  const internalType = new WrappedNodeExpr4(reflector.getInternalNameOfClass(clazz));
4076
4199
  const inputs = ClassPropertyMapping.fromMappedObject({ ...inputsFromMeta, ...inputsFromFields });
4077
4200
  const outputs = ClassPropertyMapping.fromMappedObject({ ...outputsFromMeta, ...outputsFromFields });
4201
+ const rawHostDirectives = directive.get("hostDirectives") || null;
4202
+ const hostDirectives = rawHostDirectives === null ? null : extractHostDirectives(rawHostDirectives, evaluator);
4078
4203
  const metadata = {
4079
4204
  name: clazz.name.text,
4080
4205
  deps: ctorDeps,
@@ -4095,14 +4220,17 @@ function extractDirectiveMetadata(clazz, decorator, reflector, evaluator, isCore
4095
4220
  usesInheritance,
4096
4221
  exportAs,
4097
4222
  providers,
4098
- isStandalone
4223
+ isStandalone,
4224
+ hostDirectives: (hostDirectives == null ? void 0 : hostDirectives.map((hostDir) => toHostDirectiveMetadata(hostDir, sourceFile, refEmitter))) || null
4099
4225
  };
4100
4226
  return {
4101
4227
  decorator: directive,
4102
4228
  metadata,
4103
4229
  inputs,
4104
4230
  outputs,
4105
- isStructural
4231
+ isStructural,
4232
+ hostDirectives,
4233
+ rawHostDirectives
4106
4234
  };
4107
4235
  }
4108
4236
  function extractQueryMetadata(exprNode, name, args, propertyName, reflector, evaluator) {
@@ -4291,12 +4419,15 @@ function isPropertyTypeMember(member) {
4291
4419
  }
4292
4420
  function parseFieldToPropertyMapping(directive, field, evaluator) {
4293
4421
  const metaValues = parseFieldArrayValue(directive, field, evaluator);
4294
- if (!metaValues) {
4295
- return EMPTY_OBJECT;
4296
- }
4297
- return metaValues.reduce((results, value) => {
4298
- const [field2, property] = value.split(":", 2).map((str) => str.trim());
4299
- results[field2] = property || field2;
4422
+ return metaValues ? parseInputOutputMappingArray(metaValues) : EMPTY_OBJECT;
4423
+ }
4424
+ function parseInputOutputMappingArray(values) {
4425
+ return values.reduce((results, value) => {
4426
+ if (typeof value !== "string") {
4427
+ throw new Error("Mapping value must be a string");
4428
+ }
4429
+ const [field, property] = value.split(":", 2).map((str) => str.trim());
4430
+ results[field] = property || field;
4300
4431
  return results;
4301
4432
  }, {});
4302
4433
  }
@@ -4353,8 +4484,48 @@ function evaluateHostExpressionBindings(hostExpr, evaluator) {
4353
4484
  }
4354
4485
  return bindings;
4355
4486
  }
4487
+ function extractHostDirectives(rawHostDirectives, evaluator) {
4488
+ const resolved = evaluator.evaluate(rawHostDirectives, forwardRefResolver);
4489
+ if (!Array.isArray(resolved)) {
4490
+ throw createValueHasWrongTypeError(rawHostDirectives, resolved, "hostDirectives must be an array");
4491
+ }
4492
+ return resolved.map((value) => {
4493
+ const hostReference = value instanceof Map ? value.get("directive") : value;
4494
+ if (!(hostReference instanceof Reference)) {
4495
+ throw createValueHasWrongTypeError(rawHostDirectives, hostReference, "Host directive must be a reference");
4496
+ }
4497
+ if (!isNamedClassDeclaration(hostReference.node)) {
4498
+ throw createValueHasWrongTypeError(rawHostDirectives, hostReference, "Host directive reference must be a class");
4499
+ }
4500
+ const meta = {
4501
+ directive: hostReference,
4502
+ isForwardReference: hostReference.synthetic,
4503
+ inputs: parseHostDirectivesMapping("inputs", value, hostReference.node, rawHostDirectives),
4504
+ outputs: parseHostDirectivesMapping("outputs", value, hostReference.node, rawHostDirectives)
4505
+ };
4506
+ return meta;
4507
+ });
4508
+ }
4509
+ function parseHostDirectivesMapping(field, resolvedValue, classReference, sourceExpression) {
4510
+ if (resolvedValue instanceof Map && resolvedValue.has(field)) {
4511
+ const nameForErrors = `@Directive.hostDirectives.${classReference.name.text}.${field}`;
4512
+ const rawInputs = resolvedValue.get(field);
4513
+ if (isStringArrayOrDie(rawInputs, nameForErrors, sourceExpression)) {
4514
+ return parseInputOutputMappingArray(rawInputs);
4515
+ }
4516
+ }
4517
+ return null;
4518
+ }
4519
+ function toHostDirectiveMetadata(hostDirective, context, refEmitter) {
4520
+ return {
4521
+ directive: toR3Reference(hostDirective.directive.node, hostDirective.directive, hostDirective.directive, context, context, refEmitter),
4522
+ isForwardReference: hostDirective.isForwardReference,
4523
+ inputs: hostDirective.inputs || null,
4524
+ outputs: hostDirective.outputs || null
4525
+ };
4526
+ }
4356
4527
 
4357
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/symbol.mjs
4528
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/symbol.mjs
4358
4529
  var DirectiveSymbol = class extends SemanticSymbol {
4359
4530
  constructor(decl, selector, inputs, outputs, exportAs, typeCheckMeta, typeParameters) {
4360
4531
  super(decl);
@@ -4431,7 +4602,7 @@ function isBaseClassEqual(current, previous) {
4431
4602
  return isSymbolEqual(current, previous);
4432
4603
  }
4433
4604
 
4434
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
4605
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/directive/src/handler.mjs
4435
4606
  var FIELD_DECORATORS = [
4436
4607
  "Input",
4437
4608
  "Output",
@@ -4453,13 +4624,14 @@ var LIFECYCLE_HOOKS = /* @__PURE__ */ new Set([
4453
4624
  "ngAfterContentChecked"
4454
4625
  ]);
4455
4626
  var DirectiveDecoratorHandler = class {
4456
- constructor(reflector, evaluator, metaRegistry, scopeRegistry, metaReader, injectableRegistry, isCore, semanticDepGraphUpdater, annotateForClosureCompiler, compileUndecoratedClassesWithAngularFeatures, perf) {
4627
+ constructor(reflector, evaluator, metaRegistry, scopeRegistry, metaReader, injectableRegistry, refEmitter, isCore, semanticDepGraphUpdater, annotateForClosureCompiler, compileUndecoratedClassesWithAngularFeatures, perf) {
4457
4628
  this.reflector = reflector;
4458
4629
  this.evaluator = evaluator;
4459
4630
  this.metaRegistry = metaRegistry;
4460
4631
  this.scopeRegistry = scopeRegistry;
4461
4632
  this.metaReader = metaReader;
4462
4633
  this.injectableRegistry = injectableRegistry;
4634
+ this.refEmitter = refEmitter;
4463
4635
  this.isCore = isCore;
4464
4636
  this.semanticDepGraphUpdater = semanticDepGraphUpdater;
4465
4637
  this.annotateForClosureCompiler = annotateForClosureCompiler;
@@ -4478,6 +4650,7 @@ var DirectiveDecoratorHandler = class {
4478
4650
  }
4479
4651
  }
4480
4652
  analyze(node, decorator, flags = HandlerFlags.NONE) {
4653
+ var _a;
4481
4654
  if (this.compileUndecoratedClassesWithAngularFeatures === false && decorator === null) {
4482
4655
  if (this.isCore) {
4483
4656
  return {};
@@ -4485,7 +4658,7 @@ var DirectiveDecoratorHandler = class {
4485
4658
  return { diagnostics: [getUndecoratedClassWithAngularFeaturesDiagnostic(node)] };
4486
4659
  }
4487
4660
  this.perf.eventCount(PerfEvent.AnalyzeDirective);
4488
- const directiveResult = extractDirectiveMetadata(node, decorator, this.reflector, this.evaluator, this.isCore, flags, this.annotateForClosureCompiler);
4661
+ const directiveResult = extractDirectiveMetadata(node, decorator, this.reflector, this.evaluator, this.refEmitter, this.isCore, flags, this.annotateForClosureCompiler);
4489
4662
  if (directiveResult === void 0) {
4490
4663
  return {};
4491
4664
  }
@@ -4499,12 +4672,15 @@ var DirectiveDecoratorHandler = class {
4499
4672
  inputs: directiveResult.inputs,
4500
4673
  outputs: directiveResult.outputs,
4501
4674
  meta: analysis,
4675
+ hostDirectives: directiveResult.hostDirectives,
4676
+ rawHostDirectives: directiveResult.rawHostDirectives,
4502
4677
  classMetadata: extractClassMetadata(node, this.reflector, this.isCore, this.annotateForClosureCompiler),
4503
4678
  baseClass: readBaseClass(node, this.reflector, this.evaluator),
4504
4679
  typeCheckMeta: extractDirectiveTypeCheckMeta(node, directiveResult.inputs, this.reflector),
4505
4680
  providersRequiringFactory,
4506
4681
  isPoisoned: false,
4507
- isStructural: directiveResult.isStructural
4682
+ isStructural: directiveResult.isStructural,
4683
+ decorator: (_a = decorator == null ? void 0 : decorator.node) != null ? _a : null
4508
4684
  }
4509
4685
  };
4510
4686
  }
@@ -4516,6 +4692,7 @@ var DirectiveDecoratorHandler = class {
4516
4692
  const ref = new Reference(node);
4517
4693
  this.metaRegistry.registerDirectiveMetadata({
4518
4694
  kind: MetaKind.Directive,
4695
+ matchSource: MatchSource.Selector,
4519
4696
  ref,
4520
4697
  name: node.name.text,
4521
4698
  selector: analysis.meta.selector,
@@ -4525,13 +4702,15 @@ var DirectiveDecoratorHandler = class {
4525
4702
  queries: analysis.meta.queries.map((query) => query.propertyName),
4526
4703
  isComponent: false,
4527
4704
  baseClass: analysis.baseClass,
4705
+ hostDirectives: analysis.hostDirectives,
4528
4706
  ...analysis.typeCheckMeta,
4529
4707
  isPoisoned: analysis.isPoisoned,
4530
4708
  isStructural: analysis.isStructural,
4531
4709
  animationTriggerNames: null,
4532
4710
  isStandalone: analysis.meta.isStandalone,
4533
4711
  imports: null,
4534
- schemas: null
4712
+ schemas: null,
4713
+ decorator: analysis.decorator
4535
4714
  });
4536
4715
  this.injectableRegistry.registerInjectable(node);
4537
4716
  }
@@ -4548,6 +4727,10 @@ var DirectiveDecoratorHandler = class {
4548
4727
  if (directiveDiagnostics !== null) {
4549
4728
  diagnostics.push(...directiveDiagnostics);
4550
4729
  }
4730
+ const hostDirectivesDiagnotics = analysis.hostDirectives && analysis.rawHostDirectives ? validateHostDirectives(analysis.rawHostDirectives, analysis.hostDirectives, this.metaReader) : null;
4731
+ if (hostDirectivesDiagnotics !== null) {
4732
+ diagnostics.push(...hostDirectivesDiagnotics);
4733
+ }
4551
4734
  return { diagnostics: diagnostics.length > 0 ? diagnostics : void 0 };
4552
4735
  }
4553
4736
  compileFull(node, analysis, resolution, pool) {
@@ -4575,11 +4758,11 @@ var DirectiveDecoratorHandler = class {
4575
4758
  }
4576
4759
  };
4577
4760
 
4578
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
4761
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
4579
4762
  import { compileClassMetadata as compileClassMetadata2, compileDeclareClassMetadata as compileDeclareClassMetadata2, compileDeclareInjectorFromMetadata, compileDeclareNgModuleFromMetadata, compileInjector, compileNgModule, ExternalExpr as ExternalExpr5, FactoryTarget as FactoryTarget2, FunctionExpr as FunctionExpr2, InvokeFunctionExpr, LiteralArrayExpr as LiteralArrayExpr2, R3Identifiers, R3SelectorScopeMode, ReturnStatement as ReturnStatement2, WrappedNodeExpr as WrappedNodeExpr6 } from "@angular/compiler";
4580
4763
  import ts22 from "typescript";
4581
4764
 
4582
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/module_with_providers.mjs
4765
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/module_with_providers.mjs
4583
4766
  import ts21 from "typescript";
4584
4767
  function createModuleWithProvidersResolver(reflector, isCore) {
4585
4768
  function _reflectModuleFromTypeParam(type, node) {
@@ -4646,7 +4829,7 @@ function isResolvedModuleWithProviders(sv) {
4646
4829
  return typeof sv.value === "object" && sv.value != null && sv.value.hasOwnProperty("ngModule") && sv.value.hasOwnProperty("mwpCall");
4647
4830
  }
4648
4831
 
4649
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
4832
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.mjs
4650
4833
  var NgModuleSymbol = class extends SemanticSymbol {
4651
4834
  constructor() {
4652
4835
  super(...arguments);
@@ -4725,6 +4908,7 @@ var NgModuleDecoratorHandler = class {
4725
4908
  }
4726
4909
  }
4727
4910
  analyze(node, decorator) {
4911
+ var _a;
4728
4912
  this.perf.eventCount(PerfEvent.AnalyzeNgModule);
4729
4913
  const name = node.name.text;
4730
4914
  if (decorator.args === null || decorator.args.length > 1) {
@@ -4903,7 +5087,8 @@ var NgModuleDecoratorHandler = class {
4903
5087
  providersRequiringFactory: rawProviders ? resolveProvidersRequiringFactory(rawProviders, this.reflector, this.evaluator) : null,
4904
5088
  classMetadata: extractClassMetadata(node, this.reflector, this.isCore, this.annotateForClosureCompiler),
4905
5089
  factorySymbolName: node.name.text,
4906
- remoteScopesMayRequireCycleProtection
5090
+ remoteScopesMayRequireCycleProtection,
5091
+ decorator: (_a = decorator == null ? void 0 : decorator.node) != null ? _a : null
4907
5092
  }
4908
5093
  };
4909
5094
  }
@@ -4920,7 +5105,8 @@ var NgModuleDecoratorHandler = class {
4920
5105
  exports: analysis.exports,
4921
5106
  rawDeclarations: analysis.rawDeclarations,
4922
5107
  rawImports: analysis.rawImports,
4923
- rawExports: analysis.rawExports
5108
+ rawExports: analysis.rawExports,
5109
+ decorator: analysis.decorator
4924
5110
  });
4925
5111
  if (this.factoryTracker !== null) {
4926
5112
  this.factoryTracker.track(node.getSourceFile(), {
@@ -5145,7 +5331,7 @@ function isSyntheticReference(ref) {
5145
5331
  return ref.synthetic;
5146
5332
  }
5147
5333
 
5148
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/diagnostics.mjs
5334
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/diagnostics.mjs
5149
5335
  function makeCyclicImportInfo(ref, type, cycle) {
5150
5336
  const name = ref.debugName || "(unknown)";
5151
5337
  const path = cycle.getPath().map((sf) => sf.fileName).join(" -> ");
@@ -5168,7 +5354,7 @@ function checkCustomElementSelectorForErrors(selector) {
5168
5354
  return null;
5169
5355
  }
5170
5356
 
5171
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.mjs
5357
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/resources.mjs
5172
5358
  import { DEFAULT_INTERPOLATION_CONFIG, InterpolationConfig, ParseSourceFile as ParseSourceFile2, parseTemplate } from "@angular/compiler";
5173
5359
  import ts23 from "typescript";
5174
5360
  function getTemplateDeclarationNodeForError(declaration) {
@@ -5474,7 +5660,7 @@ function _extractTemplateStyleUrls(template) {
5474
5660
  return template.styleUrls.map((url) => ({ url, source: 1, nodeForError }));
5475
5661
  }
5476
5662
 
5477
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/symbol.mjs
5663
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/symbol.mjs
5478
5664
  var ComponentSymbol = class extends DirectiveSymbol {
5479
5665
  constructor() {
5480
5666
  super(...arguments);
@@ -5509,7 +5695,7 @@ var ComponentSymbol = class extends DirectiveSymbol {
5509
5695
  }
5510
5696
  };
5511
5697
 
5512
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/util.mjs
5698
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/util.mjs
5513
5699
  function collectAnimationNames(value, animationTriggerNames) {
5514
5700
  if (value instanceof Map) {
5515
5701
  const name = value.get("name");
@@ -5585,10 +5771,10 @@ function isLikelyModuleWithProviders(value) {
5585
5771
  return false;
5586
5772
  }
5587
5773
 
5588
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
5589
- var EMPTY_ARRAY = [];
5774
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.mjs
5775
+ var EMPTY_ARRAY2 = [];
5590
5776
  var ComponentDecoratorHandler = class {
5591
- constructor(reflector, evaluator, metaRegistry, metaReader, scopeReader, dtsScopeReader, scopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, resourceLoader, rootDirs, defaultPreserveWhitespaces, i18nUseExternalIds, enableI18nLegacyMessageIdFormat, usePoisonedData, i18nNormalizeLineEndingsInICUs, moduleResolver, cycleAnalyzer, cycleHandlingStrategy, refEmitter, depTracker, injectableRegistry, semanticDepGraphUpdater, annotateForClosureCompiler, perf) {
5777
+ constructor(reflector, evaluator, metaRegistry, metaReader, scopeReader, dtsScopeReader, scopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, resourceLoader, rootDirs, defaultPreserveWhitespaces, i18nUseExternalIds, enableI18nLegacyMessageIdFormat, usePoisonedData, i18nNormalizeLineEndingsInICUs, moduleResolver, cycleAnalyzer, cycleHandlingStrategy, refEmitter, depTracker, injectableRegistry, semanticDepGraphUpdater, annotateForClosureCompiler, perf, hostDirectivesResolver) {
5592
5778
  this.reflector = reflector;
5593
5779
  this.evaluator = evaluator;
5594
5780
  this.metaRegistry = metaRegistry;
@@ -5615,6 +5801,7 @@ var ComponentDecoratorHandler = class {
5615
5801
  this.semanticDepGraphUpdater = semanticDepGraphUpdater;
5616
5802
  this.annotateForClosureCompiler = annotateForClosureCompiler;
5617
5803
  this.perf = perf;
5804
+ this.hostDirectivesResolver = hostDirectivesResolver;
5618
5805
  this.literalCache = /* @__PURE__ */ new Map();
5619
5806
  this.elementSchemaRegistry = new DomElementSchemaRegistry();
5620
5807
  this.preanalyzeTemplateCache = /* @__PURE__ */ new Map();
@@ -5684,17 +5871,17 @@ var ComponentDecoratorHandler = class {
5684
5871
  ]).then(() => void 0);
5685
5872
  }
5686
5873
  analyze(node, decorator, flags = HandlerFlags.NONE) {
5687
- var _a, _b;
5874
+ var _a, _b, _c;
5688
5875
  this.perf.eventCount(PerfEvent.AnalyzeComponent);
5689
5876
  const containingFile = node.getSourceFile().fileName;
5690
5877
  this.literalCache.delete(decorator);
5691
5878
  let diagnostics;
5692
5879
  let isPoisoned = false;
5693
- const directiveResult = extractDirectiveMetadata(node, decorator, this.reflector, this.evaluator, this.isCore, flags, this.annotateForClosureCompiler, this.elementSchemaRegistry.getDefaultComponentElementName());
5880
+ const directiveResult = extractDirectiveMetadata(node, decorator, this.reflector, this.evaluator, this.refEmitter, this.isCore, flags, this.annotateForClosureCompiler, this.elementSchemaRegistry.getDefaultComponentElementName());
5694
5881
  if (directiveResult === void 0) {
5695
5882
  return {};
5696
5883
  }
5697
- const { decorator: component, metadata, inputs, outputs } = directiveResult;
5884
+ const { decorator: component, metadata, inputs, outputs, hostDirectives, rawHostDirectives } = directiveResult;
5698
5885
  const encapsulation = (_a = resolveEnumValue(this.evaluator, component, "encapsulation", "ViewEncapsulation")) != null ? _a : ViewEncapsulation.Emulated;
5699
5886
  const changeDetection = resolveEnumValue(this.evaluator, component, "changeDetection", "ChangeDetectionStrategy");
5700
5887
  let animations = null;
@@ -5837,6 +6024,8 @@ var ComponentDecoratorHandler = class {
5837
6024
  baseClass: readBaseClass(node, this.reflector, this.evaluator),
5838
6025
  inputs,
5839
6026
  outputs,
6027
+ hostDirectives,
6028
+ rawHostDirectives,
5840
6029
  meta: {
5841
6030
  ...metadata,
5842
6031
  template: {
@@ -5866,7 +6055,8 @@ var ComponentDecoratorHandler = class {
5866
6055
  animationTriggerNames,
5867
6056
  rawImports,
5868
6057
  resolvedImports,
5869
- schemas
6058
+ schemas,
6059
+ decorator: (_c = decorator == null ? void 0 : decorator.node) != null ? _c : null
5870
6060
  },
5871
6061
  diagnostics
5872
6062
  };
@@ -5883,6 +6073,7 @@ var ComponentDecoratorHandler = class {
5883
6073
  const ref = new Reference(node);
5884
6074
  this.metaRegistry.registerDirectiveMetadata({
5885
6075
  kind: MetaKind.Directive,
6076
+ matchSource: MatchSource.Selector,
5886
6077
  ref,
5887
6078
  name: node.name.text,
5888
6079
  selector: analysis.meta.selector,
@@ -5892,13 +6083,15 @@ var ComponentDecoratorHandler = class {
5892
6083
  queries: analysis.meta.queries.map((query) => query.propertyName),
5893
6084
  isComponent: true,
5894
6085
  baseClass: analysis.baseClass,
6086
+ hostDirectives: analysis.hostDirectives,
5895
6087
  ...analysis.typeCheckMeta,
5896
6088
  isPoisoned: analysis.isPoisoned,
5897
6089
  isStructural: false,
5898
6090
  isStandalone: analysis.meta.isStandalone,
5899
6091
  imports: analysis.resolvedImports,
5900
6092
  animationTriggerNames: analysis.animationTriggerNames,
5901
- schemas: analysis.schemas
6093
+ schemas: analysis.schemas,
6094
+ decorator: analysis.decorator
5902
6095
  });
5903
6096
  this.resourceRegistry.registerResources(analysis.resources, node);
5904
6097
  this.injectableRegistry.registerInjectable(node);
@@ -5917,7 +6110,7 @@ var ComponentDecoratorHandler = class {
5917
6110
  }
5918
6111
  for (const dep of dependencies) {
5919
6112
  if (dep.kind === MetaKind.Directive && dep.selector !== null) {
5920
- matcher.addSelectables(CssSelector2.parse(dep.selector), dep);
6113
+ matcher.addSelectables(CssSelector2.parse(dep.selector), [...this.hostDirectivesResolver.resolve(dep), dep]);
5921
6114
  }
5922
6115
  }
5923
6116
  }
@@ -5960,7 +6153,7 @@ var ComponentDecoratorHandler = class {
5960
6153
  const context = getSourceFile(node);
5961
6154
  const metadata = analysis.meta;
5962
6155
  const data = {
5963
- declarations: EMPTY_ARRAY,
6156
+ declarations: EMPTY_ARRAY2,
5964
6157
  declarationListEmitMode: 0
5965
6158
  };
5966
6159
  const diagnostics = [];
@@ -5971,7 +6164,7 @@ var ComponentDecoratorHandler = class {
5971
6164
  const dependencies = scope.kind === ComponentScopeKind.NgModule ? scope.compilation.dependencies : scope.dependencies;
5972
6165
  for (const dep of dependencies) {
5973
6166
  if (dep.kind === MetaKind.Directive && dep.selector !== null) {
5974
- matcher.addSelectables(CssSelector2.parse(dep.selector), dep);
6167
+ matcher.addSelectables(CssSelector2.parse(dep.selector), [dep]);
5975
6168
  } else if (dep.kind === MetaKind.Pipe) {
5976
6169
  pipes.set(dep.name, dep);
5977
6170
  }
@@ -5997,7 +6190,7 @@ var ComponentDecoratorHandler = class {
5997
6190
  seen.add(dep.ref.node);
5998
6191
  switch (dep.kind) {
5999
6192
  case MetaKind.Directive:
6000
- if (!used.has(dep.ref.node)) {
6193
+ if (!used.has(dep.ref.node) || dep.matchSource !== MatchSource.Selector) {
6001
6194
  continue;
6002
6195
  }
6003
6196
  const dirType = this.refEmitter.emit(dep.ref, context);
@@ -6112,6 +6305,10 @@ var ComponentDecoratorHandler = class {
6112
6305
  if (directiveDiagnostics !== null) {
6113
6306
  diagnostics.push(...directiveDiagnostics);
6114
6307
  }
6308
+ const hostDirectivesDiagnotics = analysis.hostDirectives && analysis.rawHostDirectives ? validateHostDirectives(analysis.rawHostDirectives, analysis.hostDirectives, this.metaReader) : null;
6309
+ if (hostDirectivesDiagnotics !== null) {
6310
+ diagnostics.push(...hostDirectivesDiagnotics);
6311
+ }
6115
6312
  if (diagnostics.length > 0) {
6116
6313
  return { diagnostics };
6117
6314
  }
@@ -6215,7 +6412,7 @@ function validateStandaloneImports(importRefs, importExpr, metaReader, scopeRead
6215
6412
  return diagnostics;
6216
6413
  }
6217
6414
 
6218
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
6415
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/injectable.mjs
6219
6416
  import { compileClassMetadata as compileClassMetadata4, compileDeclareClassMetadata as compileDeclareClassMetadata4, compileDeclareInjectableFromMetadata, compileInjectable, createMayBeForwardRefExpression as createMayBeForwardRefExpression2, FactoryTarget as FactoryTarget4, LiteralExpr as LiteralExpr3, WrappedNodeExpr as WrappedNodeExpr8 } from "@angular/compiler";
6220
6417
  import ts25 from "typescript";
6221
6418
  var InjectableDecoratorHandler = class {
@@ -6415,7 +6612,7 @@ function getDep(dep, reflector) {
6415
6612
  return meta;
6416
6613
  }
6417
6614
 
6418
- // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/pipe.mjs
6615
+ // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/annotations/src/pipe.mjs
6419
6616
  import { compileClassMetadata as compileClassMetadata5, compileDeclareClassMetadata as compileDeclareClassMetadata5, compileDeclarePipeFromMetadata, compilePipeFromMetadata, FactoryTarget as FactoryTarget5, WrappedNodeExpr as WrappedNodeExpr9 } from "@angular/compiler";
6420
6617
  import ts26 from "typescript";
6421
6618
  var PipeSymbol = class extends SemanticSymbol {
@@ -6461,6 +6658,7 @@ var PipeDecoratorHandler = class {
6461
6658
  }
6462
6659
  }
6463
6660
  analyze(clazz, decorator) {
6661
+ var _a;
6464
6662
  this.perf.eventCount(PerfEvent.AnalyzePipe);
6465
6663
  const name = clazz.name.text;
6466
6664
  const type = wrapTypeReference(this.reflector, clazz);
@@ -6515,7 +6713,8 @@ var PipeDecoratorHandler = class {
6515
6713
  isStandalone
6516
6714
  },
6517
6715
  classMetadata: extractClassMetadata(clazz, this.reflector, this.isCore),
6518
- pipeNameExpr
6716
+ pipeNameExpr,
6717
+ decorator: (_a = decorator == null ? void 0 : decorator.node) != null ? _a : null
6519
6718
  }
6520
6719
  };
6521
6720
  }
@@ -6529,7 +6728,8 @@ var PipeDecoratorHandler = class {
6529
6728
  ref,
6530
6729
  name: analysis.meta.pipeName,
6531
6730
  nameExpr: analysis.pipeNameExpr,
6532
- isStandalone: analysis.meta.isStandalone
6731
+ isStandalone: analysis.meta.isStandalone,
6732
+ decorator: analysis.decorator
6533
6733
  });
6534
6734
  this.injectableRegistry.registerInjectable(node);
6535
6735
  }
@@ -6571,6 +6771,7 @@ export {
6571
6771
  CompoundMetadataRegistry,
6572
6772
  InjectableClassRegistry,
6573
6773
  ResourceRegistry,
6774
+ HostDirectivesResolver,
6574
6775
  ComponentScopeKind,
6575
6776
  CompoundComponentScopeReader,
6576
6777
  MetadataDtsModuleScopeResolver,
@@ -6590,6 +6791,13 @@ export {
6590
6791
  InjectableDecoratorHandler,
6591
6792
  PipeDecoratorHandler
6592
6793
  };
6794
+ /*!
6795
+ * @license
6796
+ * Copyright Google LLC All Rights Reserved.
6797
+ *
6798
+ * Use of this source code is governed by an MIT-style license that can be
6799
+ * found in the LICENSE file at https://angular.io/license
6800
+ */
6593
6801
  /**
6594
6802
  * @license
6595
6803
  * Copyright Google LLC All Rights Reserved.
@@ -6597,4 +6805,4 @@ export {
6597
6805
  * Use of this source code is governed by an MIT-style license that can be
6598
6806
  * found in the LICENSE file at https://angular.io/license
6599
6807
  */
6600
- //# sourceMappingURL=chunk-ZSQCUET7.js.map
6808
+ //# sourceMappingURL=chunk-MQGVI6KC.js.map