@angular/core 20.1.0-next.3 → 20.1.0-rc.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 (61) hide show
  1. package/api.d.d.ts +1 -1
  2. package/chrome_dev_tools_performance.d.d.ts +1 -1
  3. package/discovery.d.d.ts +1 -1
  4. package/event_dispatcher.d.d.ts +1 -1
  5. package/fesm2022/attribute.mjs +1 -1
  6. package/fesm2022/core.mjs +13 -5
  7. package/fesm2022/core.mjs.map +1 -1
  8. package/fesm2022/debug_node.mjs +3 -3
  9. package/fesm2022/debug_node.mjs.map +1 -1
  10. package/fesm2022/{injector.mjs → not_found.mjs} +28 -25
  11. package/fesm2022/not_found.mjs.map +1 -0
  12. package/fesm2022/primitives/di.mjs +11 -3
  13. package/fesm2022/primitives/di.mjs.map +1 -1
  14. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  15. package/fesm2022/primitives/signals.mjs +1 -1
  16. package/fesm2022/resource.mjs +1 -1
  17. package/fesm2022/root_effect_scheduler.mjs +3 -3
  18. package/fesm2022/root_effect_scheduler.mjs.map +1 -1
  19. package/fesm2022/rxjs-interop.mjs +2 -2
  20. package/fesm2022/signal.mjs +1 -1
  21. package/fesm2022/testing.mjs +2 -2
  22. package/fesm2022/untracked.mjs +1 -1
  23. package/fesm2022/weak_ref.mjs +1 -1
  24. package/graph.d.d.ts +1 -1
  25. package/index.d.ts +6 -7
  26. package/package.json +2 -2
  27. package/primitives/di/index.d.ts +11 -3
  28. package/primitives/event-dispatch/index.d.ts +1 -1
  29. package/primitives/signals/index.d.ts +1 -1
  30. package/rxjs-interop/index.d.ts +1 -1
  31. package/schematics/bundles/{apply_import_manager-C11Q8021.cjs → apply_import_manager-DEMoyu96.cjs} +3 -3
  32. package/schematics/bundles/{checker-BVnpy__J.cjs → checker-CwuJOWZI.cjs} +154 -158
  33. package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
  34. package/schematics/bundles/{compiler_host-j95cyBKm.cjs → compiler_host-B1N_OYoF.cjs} +2 -2
  35. package/schematics/bundles/control-flow-migration.cjs +3 -3
  36. package/schematics/bundles/document-core.cjs +5 -5
  37. package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
  38. package/schematics/bundles/{index-BkA2Tb_u.cjs → index-CmuNlSML.cjs} +29 -29
  39. package/schematics/bundles/{index-DYpSE68_.cjs → index-DPxKO2pR.cjs} +4 -4
  40. package/schematics/bundles/inject-flags.cjs +5 -5
  41. package/schematics/bundles/inject-migration.cjs +3 -3
  42. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  43. package/schematics/bundles/{migrate_ts_type_references-Covsxz7y.cjs → migrate_ts_type_references-Da3yLjVM.cjs} +5 -5
  44. package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
  45. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  46. package/schematics/bundles/output-migration.cjs +6 -6
  47. package/schematics/bundles/{project_paths-3GwjSb-R.cjs → project_paths-86Qe1BQQ.cjs} +3 -3
  48. package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +1 -1
  49. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  50. package/schematics/bundles/route-lazy-loading.cjs +3 -3
  51. package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
  52. package/schematics/bundles/signal-input-migration.cjs +7 -7
  53. package/schematics/bundles/signal-queries-migration.cjs +7 -7
  54. package/schematics/bundles/signals.cjs +7 -7
  55. package/schematics/bundles/standalone-migration.cjs +4 -4
  56. package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
  57. package/schematics/bundles/test-bed-get.cjs +4 -4
  58. package/signal.d.d.ts +1 -1
  59. package/testing/index.d.ts +1 -1
  60. package/weak_ref.d.d.ts +1 -1
  61. package/fesm2022/injector.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.1.0-next.3
3
+ * @license Angular v20.1.0-rc.0
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -4409,7 +4409,7 @@ class ParsedProperty {
4409
4409
  keySpan;
4410
4410
  valueSpan;
4411
4411
  isLiteral;
4412
- isAnimation;
4412
+ isLegacyAnimation;
4413
4413
  constructor(name, expression, type, sourceSpan, keySpan, valueSpan) {
4414
4414
  this.name = name;
4415
4415
  this.expression = expression;
@@ -4418,22 +4418,22 @@ class ParsedProperty {
4418
4418
  this.keySpan = keySpan;
4419
4419
  this.valueSpan = valueSpan;
4420
4420
  this.isLiteral = this.type === ParsedPropertyType.LITERAL_ATTR;
4421
- this.isAnimation = this.type === ParsedPropertyType.ANIMATION;
4421
+ this.isLegacyAnimation = this.type === ParsedPropertyType.LEGACY_ANIMATION;
4422
4422
  }
4423
4423
  }
4424
4424
  var ParsedPropertyType;
4425
4425
  (function (ParsedPropertyType) {
4426
4426
  ParsedPropertyType[ParsedPropertyType["DEFAULT"] = 0] = "DEFAULT";
4427
4427
  ParsedPropertyType[ParsedPropertyType["LITERAL_ATTR"] = 1] = "LITERAL_ATTR";
4428
- ParsedPropertyType[ParsedPropertyType["ANIMATION"] = 2] = "ANIMATION";
4428
+ ParsedPropertyType[ParsedPropertyType["LEGACY_ANIMATION"] = 2] = "LEGACY_ANIMATION";
4429
4429
  ParsedPropertyType[ParsedPropertyType["TWO_WAY"] = 3] = "TWO_WAY";
4430
4430
  })(ParsedPropertyType || (ParsedPropertyType = {}));
4431
4431
  exports.ParsedEventType = void 0;
4432
4432
  (function (ParsedEventType) {
4433
4433
  // DOM or Directive event
4434
4434
  ParsedEventType[ParsedEventType["Regular"] = 0] = "Regular";
4435
- // Animation specific event
4436
- ParsedEventType[ParsedEventType["Animation"] = 1] = "Animation";
4435
+ // Legacy animation specific event
4436
+ ParsedEventType[ParsedEventType["LegacyAnimation"] = 1] = "LegacyAnimation";
4437
4437
  // Event side of a two-way binding (e.g. `[(property)]="expression"`).
4438
4438
  ParsedEventType[ParsedEventType["TwoWay"] = 2] = "TwoWay";
4439
4439
  })(exports.ParsedEventType || (exports.ParsedEventType = {}));
@@ -4482,8 +4482,8 @@ exports.BindingType = void 0;
4482
4482
  BindingType[BindingType["Class"] = 2] = "Class";
4483
4483
  // A binding to a style rule (e.g. `[style.rule]="expression"`).
4484
4484
  BindingType[BindingType["Style"] = 3] = "Style";
4485
- // A binding to an animation reference (e.g. `[animate.key]="expression"`).
4486
- BindingType[BindingType["Animation"] = 4] = "Animation";
4485
+ // A binding to a legacy animation reference (e.g. `[animate.key]="expression"`).
4486
+ BindingType[BindingType["LegacyAnimation"] = 4] = "LegacyAnimation";
4487
4487
  // Property side of a two-way binding (e.g. `[(property)]="expression"`).
4488
4488
  BindingType[BindingType["TwoWay"] = 5] = "TwoWay";
4489
4489
  })(exports.BindingType || (exports.BindingType = {}));
@@ -4666,7 +4666,7 @@ class BoundEvent {
4666
4666
  }
4667
4667
  static fromParsedEvent(event) {
4668
4668
  const target = event.type === exports.ParsedEventType.Regular ? event.targetOrPhase : null;
4669
- const phase = event.type === exports.ParsedEventType.Animation ? event.targetOrPhase : null;
4669
+ const phase = event.type === exports.ParsedEventType.LegacyAnimation ? event.targetOrPhase : null;
4670
4670
  if (event.keySpan === undefined) {
4671
4671
  throw new Error(`Unexpected state: keySpan must be defined for bound event but was not for ${event.name}: ${event.sourceSpan}`);
4672
4672
  }
@@ -8792,9 +8792,9 @@ var BindingKind;
8792
8792
  */
8793
8793
  BindingKind[BindingKind["I18n"] = 5] = "I18n";
8794
8794
  /**
8795
- * Animation property bindings.
8795
+ * Legacy animation property bindings.
8796
8796
  */
8797
- BindingKind[BindingKind["Animation"] = 6] = "Animation";
8797
+ BindingKind[BindingKind["LegacyAnimation"] = 6] = "LegacyAnimation";
8798
8798
  /**
8799
8799
  * Property side of a two-way binding.
8800
8800
  */
@@ -9039,13 +9039,13 @@ function createBindingOp(target, kind, name, expression, unit, securityContext,
9039
9039
  /**
9040
9040
  * Create a `PropertyOp`.
9041
9041
  */
9042
- function createPropertyOp(target, name, expression, isAnimationTrigger, securityContext, isStructuralTemplateAttribute, templateKind, i18nContext, i18nMessage, sourceSpan) {
9042
+ function createPropertyOp(target, name, expression, isLegacyAnimationTrigger, securityContext, isStructuralTemplateAttribute, templateKind, i18nContext, i18nMessage, sourceSpan) {
9043
9043
  return {
9044
9044
  kind: OpKind.Property,
9045
9045
  target,
9046
9046
  name,
9047
9047
  expression,
9048
- isAnimationTrigger,
9048
+ isLegacyAnimationTrigger,
9049
9049
  securityContext,
9050
9050
  sanitizer: null,
9051
9051
  isStructuralTemplateAttribute,
@@ -10732,7 +10732,7 @@ function createTextOp(xref, initialValue, icuPlaceholder, sourceSpan) {
10732
10732
  /**
10733
10733
  * Create a `ListenerOp`. Host bindings reuse all the listener logic.
10734
10734
  */
10735
- function createListenerOp(target, targetSlot, name, tag, handlerOps, animationPhase, eventTarget, hostListener, sourceSpan) {
10735
+ function createListenerOp(target, targetSlot, name, tag, handlerOps, legacyAnimationPhase, eventTarget, hostListener, sourceSpan) {
10736
10736
  const handlerList = new OpList();
10737
10737
  handlerList.push(handlerOps);
10738
10738
  return {
@@ -10745,8 +10745,8 @@ function createListenerOp(target, targetSlot, name, tag, handlerOps, animationPh
10745
10745
  handlerOps: handlerList,
10746
10746
  handlerFnName: null,
10747
10747
  consumesDollarEvent: false,
10748
- isAnimationListener: animationPhase !== null,
10749
- animationPhase,
10748
+ isLegacyAnimationListener: legacyAnimationPhase !== null,
10749
+ legacyAnimationPhase: legacyAnimationPhase,
10750
10750
  eventTarget,
10751
10751
  sourceSpan,
10752
10752
  ...NEW_OP,
@@ -11001,12 +11001,12 @@ function createSourceLocationOp(templatePath, locations) {
11001
11001
  };
11002
11002
  }
11003
11003
 
11004
- function createDomPropertyOp(name, expression, isAnimationTrigger, i18nContext, securityContext, sourceSpan) {
11004
+ function createDomPropertyOp(name, expression, isLegacyAnimationTrigger, i18nContext, securityContext, sourceSpan) {
11005
11005
  return {
11006
11006
  kind: OpKind.DomProperty,
11007
11007
  name,
11008
11008
  expression,
11009
- isAnimationTrigger,
11009
+ isLegacyAnimationTrigger,
11010
11010
  i18nContext,
11011
11011
  securityContext,
11012
11012
  sanitizer: null,
@@ -11453,7 +11453,7 @@ function extractAttributes(job) {
11453
11453
  extractAttributeOp(unit, op, elements);
11454
11454
  break;
11455
11455
  case OpKind.Property:
11456
- if (!op.isAnimationTrigger) {
11456
+ if (!op.isLegacyAnimationTrigger) {
11457
11457
  let bindingKind;
11458
11458
  if (op.i18nMessage !== null && op.templateKind === null) {
11459
11459
  // If the binding has an i18n context, it is an i18n attribute, and should have that
@@ -11495,7 +11495,7 @@ function extractAttributes(job) {
11495
11495
  }
11496
11496
  break;
11497
11497
  case OpKind.Listener:
11498
- if (!op.isAnimationListener) {
11498
+ if (!op.isLegacyAnimationListener) {
11499
11499
  const extractedAttributeOp = createExtractedAttributeOp(op.target, BindingKind.Property, null, op.name,
11500
11500
  /* expression */ null,
11501
11501
  /* i18nContext */ null,
@@ -11605,12 +11605,12 @@ function specializeBindings(job) {
11605
11605
  }
11606
11606
  break;
11607
11607
  case BindingKind.Property:
11608
- case BindingKind.Animation:
11608
+ case BindingKind.LegacyAnimation:
11609
11609
  if (job.kind === CompilationJobKind.Host) {
11610
- OpList.replace(op, createDomPropertyOp(op.name, op.expression, op.bindingKind === BindingKind.Animation, op.i18nContext, op.securityContext, op.sourceSpan));
11610
+ OpList.replace(op, createDomPropertyOp(op.name, op.expression, op.bindingKind === BindingKind.LegacyAnimation, op.i18nContext, op.securityContext, op.sourceSpan));
11611
11611
  }
11612
11612
  else {
11613
- OpList.replace(op, createPropertyOp(op.target, op.name, op.expression, op.bindingKind === BindingKind.Animation, op.securityContext, op.isStructuralTemplateAttribute, op.templateKind, op.i18nContext, op.i18nMessage, op.sourceSpan));
11613
+ OpList.replace(op, createPropertyOp(op.target, op.name, op.expression, op.bindingKind === BindingKind.LegacyAnimation, op.securityContext, op.isStructuralTemplateAttribute, op.templateKind, op.i18nContext, op.i18nMessage, op.sourceSpan));
11614
11614
  }
11615
11615
  break;
11616
11616
  case BindingKind.TwoWayProperty:
@@ -18524,10 +18524,14 @@ class Parser {
18524
18524
  return null;
18525
18525
  const expressionNodes = [];
18526
18526
  for (let i = 0; i < expressions.length; ++i) {
18527
+ // If we have a token for the specific expression, it's preferrable to use it because it
18528
+ // allows us to produce more accurate error messages. The expressions are always at the odd
18529
+ // indexes inside the tokens.
18530
+ const expressionSpan = interpolatedTokens?.[i * 2 + 1]?.sourceSpan;
18527
18531
  const expressionText = expressions[i].text;
18528
18532
  const sourceToLex = this._stripComments(expressionText);
18529
18533
  const tokens = this._lexer.tokenize(sourceToLex);
18530
- const ast = new _ParseAST(input, parseSourceSpan, absoluteOffset, tokens, 0 /* ParseFlags.None */, errors, offsets[i], this._supportsDirectPipeReferences).parseChain();
18534
+ const ast = new _ParseAST(expressionSpan ? expressionText : input, expressionSpan || parseSourceSpan, absoluteOffset, tokens, 0 /* ParseFlags.None */, errors, offsets[i], this._supportsDirectPipeReferences).parseChain();
18531
18535
  expressionNodes.push(ast);
18532
18536
  }
18533
18537
  return this.createInterpolationAst(strings.map((s) => s.text), expressionNodes, input, getLocation(parseSourceSpan), absoluteOffset, errors);
@@ -22203,7 +22207,7 @@ function addNamesToView(unit, baseName, state, compatibility) {
22203
22207
  switch (op.kind) {
22204
22208
  case OpKind.Property:
22205
22209
  case OpKind.DomProperty:
22206
- if (op.isAnimationTrigger) {
22210
+ if (op.isLegacyAnimationTrigger) {
22207
22211
  op.name = '@' + op.name;
22208
22212
  }
22209
22213
  break;
@@ -22215,8 +22219,8 @@ function addNamesToView(unit, baseName, state, compatibility) {
22215
22219
  throw new Error(`Expected a slot to be assigned`);
22216
22220
  }
22217
22221
  let animation = '';
22218
- if (op.isAnimationListener) {
22219
- op.name = `@${op.name}.${op.animationPhase}`;
22222
+ if (op.isLegacyAnimationListener) {
22223
+ op.name = `@${op.name}.${op.legacyAnimationPhase}`;
22220
22224
  animation = 'animation';
22221
22225
  }
22222
22226
  if (op.hostListener) {
@@ -22484,7 +22488,7 @@ function kindWithInterpolationTest(kind, interpolation) {
22484
22488
  };
22485
22489
  }
22486
22490
  function basicListenerKindTest(op) {
22487
- return ((op.kind === OpKind.Listener && !(op.hostListener && op.isAnimationListener)) ||
22491
+ return ((op.kind === OpKind.Listener && !(op.hostListener && op.isLegacyAnimationListener)) ||
22488
22492
  op.kind === OpKind.TwoWayListener);
22489
22493
  }
22490
22494
  function nonInterpolationPropertyKindTest(op) {
@@ -22497,7 +22501,7 @@ function nonInterpolationPropertyKindTest(op) {
22497
22501
  * the groups in the order defined here.
22498
22502
  */
22499
22503
  const CREATE_ORDERING = [
22500
- { test: (op) => op.kind === OpKind.Listener && op.hostListener && op.isAnimationListener },
22504
+ { test: (op) => op.kind === OpKind.Listener && op.hostListener && op.isLegacyAnimationListener },
22501
22505
  { test: basicListenerKindTest },
22502
22506
  ];
22503
22507
  /**
@@ -23587,9 +23591,9 @@ function reifyCreateOperations(unit, ops) {
23587
23591
  }
23588
23592
  OpList.replace(op, unit.job.mode === TemplateCompilationMode.DomOnly &&
23589
23593
  !op.hostListener &&
23590
- !op.isAnimationListener
23594
+ !op.isLegacyAnimationListener
23591
23595
  ? domListener(op.name, listenerFn, eventTargetResolver, op.sourceSpan)
23592
- : listener(op.name, listenerFn, eventTargetResolver, op.hostListener && op.isAnimationListener, op.sourceSpan));
23596
+ : listener(op.name, listenerFn, eventTargetResolver, op.hostListener && op.isLegacyAnimationListener, op.sourceSpan));
23593
23597
  break;
23594
23598
  case OpKind.TwoWayListener:
23595
23599
  OpList.replace(op, twoWayListener(op.name, reifyListenerHandler(unit, op.handlerFnName, op.handlerOps, true), op.sourceSpan));
@@ -23755,7 +23759,7 @@ function reifyUpdateOperations(unit, ops) {
23755
23759
  OpList.replace(op, advance(op.delta, op.sourceSpan));
23756
23760
  break;
23757
23761
  case OpKind.Property:
23758
- OpList.replace(op, unit.job.mode === TemplateCompilationMode.DomOnly && !op.isAnimationTrigger
23762
+ OpList.replace(op, unit.job.mode === TemplateCompilationMode.DomOnly && !op.isLegacyAnimationTrigger
23759
23763
  ? domProperty(op.name, op.expression, op.sanitizer, op.sourceSpan)
23760
23764
  : property(op.name, op.expression, op.sanitizer, op.sourceSpan));
23761
23765
  break;
@@ -23791,7 +23795,7 @@ function reifyUpdateOperations(unit, ops) {
23791
23795
  throw new Error('not yet handled');
23792
23796
  }
23793
23797
  else {
23794
- if (op.isAnimationTrigger) {
23798
+ if (op.isLegacyAnimationTrigger) {
23795
23799
  OpList.replace(op, syntheticHostProperty(op.name, op.expression, op.sourceSpan));
23796
23800
  }
23797
23801
  else {
@@ -26013,8 +26017,8 @@ function ingestHostBinding(input, bindingParser, constantPool) {
26013
26017
  property.name = property.name.substring('attr.'.length);
26014
26018
  bindingKind = BindingKind.Attribute;
26015
26019
  }
26016
- if (property.isAnimation) {
26017
- bindingKind = BindingKind.Animation;
26020
+ if (property.isLegacyAnimation) {
26021
+ bindingKind = BindingKind.LegacyAnimation;
26018
26022
  }
26019
26023
  const securityContexts = bindingParser
26020
26024
  .calcPossibleSecurityContexts(input.componentSelector, property.name, bindingKind === BindingKind.Attribute)
@@ -26056,7 +26060,7 @@ function ingestHostAttribute(job, name, value, securityContexts) {
26056
26060
  job.root.update.push(attrBinding);
26057
26061
  }
26058
26062
  function ingestHostEvent(job, event) {
26059
- const [phase, target] = event.type !== exports.ParsedEventType.Animation
26063
+ const [phase, target] = event.type !== exports.ParsedEventType.LegacyAnimation
26060
26064
  ? [null, event.targetOrPhase]
26061
26065
  : [event.targetOrPhase, null];
26062
26066
  const eventBinding = createListenerOp(job.root.xref, new SlotHandle(), event.name, null, makeListenerHandlerOps(job.root, event.handler, event.handlerSpan), phase, target, true, event.sourceSpan);
@@ -26681,7 +26685,7 @@ const BINDING_KINDS = new Map([
26681
26685
  [exports.BindingType.Attribute, BindingKind.Attribute],
26682
26686
  [exports.BindingType.Class, BindingKind.ClassName],
26683
26687
  [exports.BindingType.Style, BindingKind.StyleProperty],
26684
- [exports.BindingType.Animation, BindingKind.Animation],
26688
+ [exports.BindingType.LegacyAnimation, BindingKind.LegacyAnimation],
26685
26689
  ]);
26686
26690
  /**
26687
26691
  * Checks whether the given template is a plain ng-template (as opposed to another kind of template
@@ -26740,7 +26744,7 @@ function ingestElementBindings(unit, op, element) {
26740
26744
  unit.create.push(bindings.filter((b) => b?.kind === OpKind.ExtractedAttribute));
26741
26745
  unit.update.push(bindings.filter((b) => b?.kind === OpKind.Binding));
26742
26746
  for (const output of element.outputs) {
26743
- if (output.type === exports.ParsedEventType.Animation && output.phase === null) {
26747
+ if (output.type === exports.ParsedEventType.LegacyAnimation && output.phase === null) {
26744
26748
  throw Error('Animation listener should have a phase');
26745
26749
  }
26746
26750
  if (output.type === exports.ParsedEventType.TwoWay) {
@@ -26783,7 +26787,7 @@ function ingestTemplateBindings(unit, op, template, templateKind) {
26783
26787
  unit.create.push(bindings.filter((b) => b?.kind === OpKind.ExtractedAttribute));
26784
26788
  unit.update.push(bindings.filter((b) => b?.kind === OpKind.Binding));
26785
26789
  for (const output of template.outputs) {
26786
- if (output.type === exports.ParsedEventType.Animation && output.phase === null) {
26790
+ if (output.type === exports.ParsedEventType.LegacyAnimation && output.phase === null) {
26787
26791
  throw Error('Animation listener should have a phase');
26788
26792
  }
26789
26793
  if (templateKind === TemplateKind.NgTemplate) {
@@ -26795,7 +26799,7 @@ function ingestTemplateBindings(unit, op, template, templateKind) {
26795
26799
  }
26796
26800
  }
26797
26801
  if (templateKind === TemplateKind.Structural &&
26798
- output.type !== exports.ParsedEventType.Animation) {
26802
+ output.type !== exports.ParsedEventType.LegacyAnimation) {
26799
26803
  // Animation bindings are excluded from the structural template's const array.
26800
26804
  const securityContext = domSchema.securityContext(NG_TEMPLATE_TAG_NAME, output.name, false);
26801
26805
  unit.create.push(createExtractedAttributeOp(op.xref, BindingKind.Property, null, output.name, null, null, null, securityContext));
@@ -26853,7 +26857,8 @@ function createTemplateBinding(view, xref, type, name, value, unit, securityCont
26853
26857
  return createExtractedAttributeOp(xref, BindingKind.TwoWayProperty, null, name, null, null, i18nMessage, securityContext);
26854
26858
  }
26855
26859
  }
26856
- if (!isTextBinding && (type === exports.BindingType.Attribute || type === exports.BindingType.Animation)) {
26860
+ if (!isTextBinding &&
26861
+ (type === exports.BindingType.Attribute || type === exports.BindingType.LegacyAnimation)) {
26857
26862
  // Again, this binding doesn't really target the ng-template; it actually targets the element
26858
26863
  // inside the structural template. In the case of non-text attribute or animation bindings,
26859
26864
  // the binding doesn't even show up on the ng-template const array, so we just skip it
@@ -27018,7 +27023,7 @@ function ingestControlFlowInsertionPoint(unit, xref, node) {
27018
27023
  // Note that TDB used to collect the outputs as well, but it wasn't passing them into
27019
27024
  // the template instruction. Here we just don't collect them.
27020
27025
  for (const attr of root.inputs) {
27021
- if (attr.type !== exports.BindingType.Animation && attr.type !== exports.BindingType.Attribute) {
27026
+ if (attr.type !== exports.BindingType.LegacyAnimation && attr.type !== exports.BindingType.Attribute) {
27022
27027
  const securityContext = domSchema.securityContext(NG_TEMPLATE_TAG_NAME, attr.name, true);
27023
27028
  unit.create.push(createExtractedAttributeOp(xref, BindingKind.Property, null, attr.name, null, null, null, securityContext));
27024
27029
  }
@@ -27233,7 +27238,7 @@ const ATTRIBUTE_PREFIX = 'attr';
27233
27238
  const CLASS_PREFIX = 'class';
27234
27239
  const STYLE_PREFIX = 'style';
27235
27240
  const TEMPLATE_ATTR_PREFIX$1 = '*';
27236
- const ANIMATE_PROP_PREFIX = 'animate-';
27241
+ const LEGACY_ANIMATE_PROP_PREFIX = 'animate-';
27237
27242
  /**
27238
27243
  * Parses bindings in templates and in the directive host area.
27239
27244
  */
@@ -27392,7 +27397,7 @@ class BindingParser {
27392
27397
  }
27393
27398
  }
27394
27399
  parseLiteralAttr(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps, keySpan) {
27395
- if (isAnimationLabel(name)) {
27400
+ if (isLegacyAnimationLabel(name)) {
27396
27401
  name = name.substring(1);
27397
27402
  if (keySpan !== undefined) {
27398
27403
  keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + 1, keySpan.end.offset));
@@ -27401,7 +27406,7 @@ class BindingParser {
27401
27406
  this._reportError(`Assigning animation triggers via @prop="exp" attributes with an expression is invalid.` +
27402
27407
  ` Use property bindings (e.g. [@prop]="exp") or use an attribute without a value (e.g. @prop) instead.`, sourceSpan, ParseErrorLevel.ERROR);
27403
27408
  }
27404
- this._parseAnimation(name, value, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);
27409
+ this._parseLegacyAnimation(name, value, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);
27405
27410
  }
27406
27411
  else {
27407
27412
  targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, '', absoluteOffset), ParsedPropertyType.LITERAL_ATTR, sourceSpan, keySpan, valueSpan));
@@ -27411,23 +27416,23 @@ class BindingParser {
27411
27416
  if (name.length === 0) {
27412
27417
  this._reportError(`Property name is missing in binding`, sourceSpan);
27413
27418
  }
27414
- let isAnimationProp = false;
27415
- if (name.startsWith(ANIMATE_PROP_PREFIX)) {
27416
- isAnimationProp = true;
27417
- name = name.substring(ANIMATE_PROP_PREFIX.length);
27419
+ let isLegacyAnimationProp = false;
27420
+ if (name.startsWith(LEGACY_ANIMATE_PROP_PREFIX)) {
27421
+ isLegacyAnimationProp = true;
27422
+ name = name.substring(LEGACY_ANIMATE_PROP_PREFIX.length);
27418
27423
  if (keySpan !== undefined) {
27419
- keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + ANIMATE_PROP_PREFIX.length, keySpan.end.offset));
27424
+ keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + LEGACY_ANIMATE_PROP_PREFIX.length, keySpan.end.offset));
27420
27425
  }
27421
27426
  }
27422
- else if (isAnimationLabel(name)) {
27423
- isAnimationProp = true;
27427
+ else if (isLegacyAnimationLabel(name)) {
27428
+ isLegacyAnimationProp = true;
27424
27429
  name = name.substring(1);
27425
27430
  if (keySpan !== undefined) {
27426
27431
  keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + 1, keySpan.end.offset));
27427
27432
  }
27428
27433
  }
27429
- if (isAnimationProp) {
27430
- this._parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);
27434
+ if (isLegacyAnimationProp) {
27435
+ this._parseLegacyAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);
27431
27436
  }
27432
27437
  else {
27433
27438
  this._parsePropertyAst(name, this.parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), isPartOfAssignmentBinding, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);
@@ -27445,7 +27450,7 @@ class BindingParser {
27445
27450
  targetMatchableAttrs.push([name, ast.source]);
27446
27451
  targetProps.push(new ParsedProperty(name, ast, isPartOfAssignmentBinding ? ParsedPropertyType.TWO_WAY : ParsedPropertyType.DEFAULT, sourceSpan, keySpan, valueSpan));
27447
27452
  }
27448
- _parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps) {
27453
+ _parseLegacyAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps) {
27449
27454
  if (name.length === 0) {
27450
27455
  this._reportError('Animation trigger is missing', sourceSpan);
27451
27456
  }
@@ -27454,7 +27459,7 @@ class BindingParser {
27454
27459
  // states will be applied by angular when the element is attached/detached
27455
27460
  const ast = this.parseBinding(expression || 'undefined', false, valueSpan || sourceSpan, absoluteOffset);
27456
27461
  targetMatchableAttrs.push([name, ast.source]);
27457
- targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.ANIMATION, sourceSpan, keySpan, valueSpan));
27462
+ targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.LEGACY_ANIMATION, sourceSpan, keySpan, valueSpan));
27458
27463
  }
27459
27464
  parseBinding(value, isHostBinding, sourceSpan, absoluteOffset) {
27460
27465
  try {
@@ -27472,8 +27477,8 @@ class BindingParser {
27472
27477
  }
27473
27478
  }
27474
27479
  createBoundElementProperty(elementSelector, boundProp, skipValidation = false, mapPropertyName = true) {
27475
- if (boundProp.isAnimation) {
27476
- return new BoundElementProperty(boundProp.name, exports.BindingType.Animation, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);
27480
+ if (boundProp.isLegacyAnimation) {
27481
+ return new BoundElementProperty(boundProp.name, exports.BindingType.LegacyAnimation, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);
27477
27482
  }
27478
27483
  let unit = null;
27479
27484
  let bindingType = undefined;
@@ -27526,12 +27531,12 @@ class BindingParser {
27526
27531
  if (name.length === 0) {
27527
27532
  this._reportError(`Event name is missing in binding`, sourceSpan);
27528
27533
  }
27529
- if (isAnimationLabel(name)) {
27534
+ if (isLegacyAnimationLabel(name)) {
27530
27535
  name = name.slice(1);
27531
27536
  if (keySpan !== undefined) {
27532
27537
  keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + 1, keySpan.end.offset));
27533
27538
  }
27534
- this._parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents, keySpan);
27539
+ this._parseLegacyAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents, keySpan);
27535
27540
  }
27536
27541
  else {
27537
27542
  this._parseRegularEvent(name, expression, isAssignmentEvent, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan);
@@ -27545,14 +27550,14 @@ class BindingParser {
27545
27550
  const [target, eventName] = splitAtColon(rawName, [null, rawName]);
27546
27551
  return { eventName: eventName, target };
27547
27552
  }
27548
- parseAnimationEventName(rawName) {
27553
+ parseLegacyAnimationEventName(rawName) {
27549
27554
  const matches = splitAtPeriod(rawName, [rawName, null]);
27550
27555
  return { eventName: matches[0], phase: matches[1] === null ? null : matches[1].toLowerCase() };
27551
27556
  }
27552
- _parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents, keySpan) {
27553
- const { eventName, phase } = this.parseAnimationEventName(name);
27557
+ _parseLegacyAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents, keySpan) {
27558
+ const { eventName, phase } = this.parseLegacyAnimationEventName(name);
27554
27559
  const ast = this._parseAction(expression, handlerSpan);
27555
- targetEvents.push(new ParsedEvent(eventName, phase, exports.ParsedEventType.Animation, ast, sourceSpan, handlerSpan, keySpan));
27560
+ targetEvents.push(new ParsedEvent(eventName, phase, exports.ParsedEventType.LegacyAnimation, ast, sourceSpan, handlerSpan, keySpan));
27556
27561
  if (eventName.length === 0) {
27557
27562
  this._reportError(`Animation event name is missing in binding`, sourceSpan);
27558
27563
  }
@@ -27640,7 +27645,7 @@ class BindingParser {
27640
27645
  return false;
27641
27646
  }
27642
27647
  }
27643
- function isAnimationLabel(name) {
27648
+ function isLegacyAnimationLabel(name) {
27644
27649
  return name[0] == '@';
27645
27650
  }
27646
27651
  function calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {
@@ -32199,7 +32204,7 @@ function isAttrNode(ast) {
32199
32204
  * @description
32200
32205
  * Entry point for all public APIs of the compiler package.
32201
32206
  */
32202
- new Version('20.1.0-next.3');
32207
+ new Version('20.1.0-rc.0');
32203
32208
 
32204
32209
  //////////////////////////////////////
32205
32210
  // THIS FILE HAS GLOBAL SIDE EFFECT //
@@ -33219,7 +33224,7 @@ class NodeJSPathManipulation {
33219
33224
  // G3-ESM-MARKER: G3 uses CommonJS, but externally everything in ESM.
33220
33225
  // CommonJS/ESM interop for determining the current file name and containing dir.
33221
33226
  const isCommonJS = typeof __filename !== 'undefined';
33222
- const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('checker-BVnpy__J.cjs', document.baseURI).href));
33227
+ const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('checker-CwuJOWZI.cjs', document.baseURI).href));
33223
33228
  const currentFileName = isCommonJS ? __filename : url.fileURLToPath(currentFileUrl);
33224
33229
  /**
33225
33230
  * A wrapper around the Node.js file-system that supports readonly operations and path manipulation.
@@ -41705,97 +41710,88 @@ class CompletionEngine {
41705
41710
  }
41706
41711
  }
41707
41712
 
41708
- const comma = ','.charCodeAt(0);
41709
- const semicolon = ';'.charCodeAt(0);
41710
- const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
41711
- const intToChar = new Uint8Array(64); // 64 possible chars.
41712
- const charToInt = new Uint8Array(128); // z is 122 in ASCII
41713
+ // src/vlq.ts
41714
+ var comma = ",".charCodeAt(0);
41715
+ var semicolon = ";".charCodeAt(0);
41716
+ var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
41717
+ var intToChar = new Uint8Array(64);
41718
+ var charToInt = new Uint8Array(128);
41713
41719
  for (let i = 0; i < chars.length; i++) {
41714
- const c = chars.charCodeAt(i);
41715
- intToChar[i] = c;
41716
- charToInt[c] = i;
41720
+ const c = chars.charCodeAt(i);
41721
+ intToChar[i] = c;
41722
+ charToInt[c] = i;
41717
41723
  }
41718
41724
  function encodeInteger(builder, num, relative) {
41719
- let delta = num - relative;
41720
- delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;
41721
- do {
41722
- let clamped = delta & 0b011111;
41723
- delta >>>= 5;
41724
- if (delta > 0)
41725
- clamped |= 0b100000;
41726
- builder.write(intToChar[clamped]);
41727
- } while (delta > 0);
41728
- return num;
41729
- }
41730
-
41731
- const bufLength = 1024 * 16;
41732
- // Provide a fallback for older environments.
41733
- const td = typeof TextDecoder !== 'undefined'
41734
- ? /* #__PURE__ */ new TextDecoder()
41735
- : typeof Buffer !== 'undefined'
41736
- ? {
41737
- decode(buf) {
41738
- const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
41739
- return out.toString();
41740
- },
41741
- }
41742
- : {
41743
- decode(buf) {
41744
- let out = '';
41745
- for (let i = 0; i < buf.length; i++) {
41746
- out += String.fromCharCode(buf[i]);
41747
- }
41748
- return out;
41749
- },
41750
- };
41751
- class StringWriter {
41752
- constructor() {
41753
- this.pos = 0;
41754
- this.out = '';
41755
- this.buffer = new Uint8Array(bufLength);
41756
- }
41757
- write(v) {
41758
- const { buffer } = this;
41759
- buffer[this.pos++] = v;
41760
- if (this.pos === bufLength) {
41761
- this.out += td.decode(buffer);
41762
- this.pos = 0;
41763
- }
41764
- }
41765
- flush() {
41766
- const { buffer, out, pos } = this;
41767
- return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
41725
+ let delta = num - relative;
41726
+ delta = delta < 0 ? -delta << 1 | 1 : delta << 1;
41727
+ do {
41728
+ let clamped = delta & 31;
41729
+ delta >>>= 5;
41730
+ if (delta > 0) clamped |= 32;
41731
+ builder.write(intToChar[clamped]);
41732
+ } while (delta > 0);
41733
+ return num;
41734
+ }
41735
+
41736
+ // src/strings.ts
41737
+ var bufLength = 1024 * 16;
41738
+ var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? {
41739
+ decode(buf) {
41740
+ const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
41741
+ return out.toString();
41742
+ }
41743
+ } : {
41744
+ decode(buf) {
41745
+ let out = "";
41746
+ for (let i = 0; i < buf.length; i++) {
41747
+ out += String.fromCharCode(buf[i]);
41768
41748
  }
41769
- }
41749
+ return out;
41750
+ }
41751
+ };
41752
+ var StringWriter = class {
41753
+ constructor() {
41754
+ this.pos = 0;
41755
+ this.out = "";
41756
+ this.buffer = new Uint8Array(bufLength);
41757
+ }
41758
+ write(v) {
41759
+ const { buffer } = this;
41760
+ buffer[this.pos++] = v;
41761
+ if (this.pos === bufLength) {
41762
+ this.out += td.decode(buffer);
41763
+ this.pos = 0;
41764
+ }
41765
+ }
41766
+ flush() {
41767
+ const { buffer, out, pos } = this;
41768
+ return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
41769
+ }
41770
+ };
41770
41771
  function encode(decoded) {
41771
- const writer = new StringWriter();
41772
- let sourcesIndex = 0;
41773
- let sourceLine = 0;
41774
- let sourceColumn = 0;
41775
- let namesIndex = 0;
41776
- for (let i = 0; i < decoded.length; i++) {
41777
- const line = decoded[i];
41778
- if (i > 0)
41779
- writer.write(semicolon);
41780
- if (line.length === 0)
41781
- continue;
41782
- let genColumn = 0;
41783
- for (let j = 0; j < line.length; j++) {
41784
- const segment = line[j];
41785
- if (j > 0)
41786
- writer.write(comma);
41787
- genColumn = encodeInteger(writer, segment[0], genColumn);
41788
- if (segment.length === 1)
41789
- continue;
41790
- sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
41791
- sourceLine = encodeInteger(writer, segment[2], sourceLine);
41792
- sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
41793
- if (segment.length === 4)
41794
- continue;
41795
- namesIndex = encodeInteger(writer, segment[4], namesIndex);
41796
- }
41797
- }
41798
- return writer.flush();
41772
+ const writer = new StringWriter();
41773
+ let sourcesIndex = 0;
41774
+ let sourceLine = 0;
41775
+ let sourceColumn = 0;
41776
+ let namesIndex = 0;
41777
+ for (let i = 0; i < decoded.length; i++) {
41778
+ const line = decoded[i];
41779
+ if (i > 0) writer.write(semicolon);
41780
+ if (line.length === 0) continue;
41781
+ let genColumn = 0;
41782
+ for (let j = 0; j < line.length; j++) {
41783
+ const segment = line[j];
41784
+ if (j > 0) writer.write(comma);
41785
+ genColumn = encodeInteger(writer, segment[0], genColumn);
41786
+ if (segment.length === 1) continue;
41787
+ sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
41788
+ sourceLine = encodeInteger(writer, segment[2], sourceLine);
41789
+ sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
41790
+ if (segment.length === 4) continue;
41791
+ namesIndex = encodeInteger(writer, segment[4], namesIndex);
41792
+ }
41793
+ }
41794
+ return writer.flush();
41799
41795
  }
41800
41796
 
41801
41797
  class BitSet {
@@ -43683,8 +43679,8 @@ function createNodeFromListenerDecorator(decorator, parser, listeners) {
43683
43679
  let phase;
43684
43680
  let target;
43685
43681
  if (eventNameNode.text.startsWith('@')) {
43686
- const parsedName = parser.parseAnimationEventName(eventNameNode.text);
43687
- type = exports.ParsedEventType.Animation;
43682
+ const parsedName = parser.parseLegacyAnimationEventName(eventNameNode.text);
43683
+ type = exports.ParsedEventType.LegacyAnimation;
43688
43684
  eventName = parsedName.eventName;
43689
43685
  phase = parsedName.phase;
43690
43686
  target = null;
@@ -43724,7 +43720,7 @@ function inferBoundAttribute(name) {
43724
43720
  }
43725
43721
  else if (name.startsWith(animationPrefix)) {
43726
43722
  attrName = name.slice(animationPrefix.length);
43727
- type = exports.BindingType.Animation;
43723
+ type = exports.BindingType.LegacyAnimation;
43728
43724
  }
43729
43725
  else {
43730
43726
  attrName = name;
@@ -46352,7 +46348,7 @@ class TcbDirectiveOutputsOp extends TcbOp {
46352
46348
  let dirId = null;
46353
46349
  const outputs = this.dir.outputs;
46354
46350
  for (const output of this.node.outputs) {
46355
- if (output.type === exports.ParsedEventType.Animation ||
46351
+ if (output.type === exports.ParsedEventType.LegacyAnimation ||
46356
46352
  !outputs.hasBindingPropertyName(output.name)) {
46357
46353
  continue;
46358
46354
  }
@@ -46437,7 +46433,7 @@ class TcbUnclaimedOutputsOp extends TcbOp {
46437
46433
  continue;
46438
46434
  }
46439
46435
  }
46440
- if (output.type === exports.ParsedEventType.Animation) {
46436
+ if (output.type === exports.ParsedEventType.LegacyAnimation) {
46441
46437
  // Animation output bindings always have an `$event` parameter of type `AnimationEvent`.
46442
46438
  const eventType = this.tcb.env.config.checkTypeOfAnimationEvents
46443
46439
  ? this.tcb.env.referenceExternalType('@angular/animations', 'AnimationEvent')