@angular/compiler 16.2.0-next.1 → 16.2.0-next.3

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 (60) hide show
  1. package/esm2022/src/compiler.mjs +4 -4
  2. package/esm2022/src/expression_parser/ast.mjs +1 -1
  3. package/esm2022/src/i18n/extractor_merger.mjs +8 -1
  4. package/esm2022/src/i18n/i18n_parser.mjs +12 -1
  5. package/esm2022/src/i18n/serializers/xliff.mjs +7 -1
  6. package/esm2022/src/i18n/serializers/xliff2.mjs +7 -1
  7. package/esm2022/src/i18n/serializers/xtb.mjs +7 -1
  8. package/esm2022/src/jit_compiler_facade.mjs +8 -3
  9. package/esm2022/src/ml_parser/ast.mjs +46 -1
  10. package/esm2022/src/ml_parser/html_whitespaces.mjs +10 -1
  11. package/esm2022/src/ml_parser/icu_ast_expander.mjs +10 -1
  12. package/esm2022/src/ml_parser/lexer.mjs +93 -4
  13. package/esm2022/src/ml_parser/parser.mjs +129 -32
  14. package/esm2022/src/ml_parser/tokens.mjs +1 -1
  15. package/esm2022/src/ml_parser/xml_parser.mjs +4 -3
  16. package/esm2022/src/output/abstract_emitter.mjs +4 -1
  17. package/esm2022/src/output/output_ast.mjs +30 -1
  18. package/esm2022/src/render3/partial/class_metadata.mjs +1 -1
  19. package/esm2022/src/render3/partial/directive.mjs +1 -1
  20. package/esm2022/src/render3/partial/factory.mjs +1 -1
  21. package/esm2022/src/render3/partial/injectable.mjs +1 -1
  22. package/esm2022/src/render3/partial/injector.mjs +1 -1
  23. package/esm2022/src/render3/partial/ng_module.mjs +6 -3
  24. package/esm2022/src/render3/partial/pipe.mjs +1 -1
  25. package/esm2022/src/render3/r3_ast.mjs +109 -1
  26. package/esm2022/src/render3/r3_deferred_blocks.mjs +156 -0
  27. package/esm2022/src/render3/r3_deferred_triggers.mjs +275 -0
  28. package/esm2022/src/render3/r3_module_compiler.mjs +69 -27
  29. package/esm2022/src/render3/r3_template_transform.mjs +48 -2
  30. package/esm2022/src/render3/view/i18n/meta.mjs +12 -1
  31. package/esm2022/src/render3/view/t2_binder.mjs +61 -6
  32. package/esm2022/src/render3/view/template.mjs +17 -3
  33. package/esm2022/src/shadow_css.mjs +2 -2
  34. package/esm2022/src/template/pipeline/ir/src/enums.mjs +32 -8
  35. package/esm2022/src/template/pipeline/ir/src/expression.mjs +83 -6
  36. package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +57 -1
  37. package/esm2022/src/template/pipeline/src/emit.mjs +10 -6
  38. package/esm2022/src/template/pipeline/src/ingest.mjs +42 -3
  39. package/esm2022/src/template/pipeline/src/instruction.mjs +64 -7
  40. package/esm2022/src/template/pipeline/src/phases/attribute_extraction.mjs +2 -1
  41. package/esm2022/src/template/pipeline/src/phases/chaining.mjs +12 -1
  42. package/esm2022/src/template/pipeline/src/phases/expand_safe_reads.mjs +102 -10
  43. package/esm2022/src/template/pipeline/src/phases/generate_variables.mjs +1 -6
  44. package/esm2022/src/template/pipeline/src/phases/naming.mjs +38 -9
  45. package/esm2022/src/template/pipeline/src/phases/nullish_coalescing.mjs +6 -5
  46. package/esm2022/src/template/pipeline/src/phases/property_ordering.mjs +82 -0
  47. package/esm2022/src/template/pipeline/src/phases/reify.mjs +26 -1
  48. package/esm2022/src/template/pipeline/src/phases/resolve_names.mjs +8 -1
  49. package/esm2022/src/template/pipeline/src/phases/save_restore_view.mjs +32 -19
  50. package/esm2022/src/template/pipeline/src/phases/temporary_variables.mjs +53 -0
  51. package/esm2022/src/template/pipeline/src/phases/var_counting.mjs +16 -5
  52. package/esm2022/src/template_parser/binding_parser.mjs +4 -4
  53. package/esm2022/src/util.mjs +2 -8
  54. package/esm2022/src/version.mjs +1 -1
  55. package/fesm2022/compiler.mjs +1909 -357
  56. package/fesm2022/compiler.mjs.map +1 -1
  57. package/fesm2022/testing.mjs +1 -1
  58. package/index.d.ts +232 -16
  59. package/package.json +2 -2
  60. package/testing/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.2.0-next.1
2
+ * @license Angular v16.2.0-next.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.2.0-next.1
2
+ * @license Angular v16.2.0-next.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -391,7 +391,7 @@ declare class BindingParser {
391
391
  parsePropertyInterpolation(name: string, value: string, sourceSpan: ParseSourceSpan, valueSpan: ParseSourceSpan | undefined, targetMatchableAttrs: string[][], targetProps: ParsedProperty[], keySpan: ParseSourceSpan, interpolatedTokens: InterpolatedAttributeToken[] | InterpolatedTextToken[] | null): boolean;
392
392
  private _parsePropertyAst;
393
393
  private _parseAnimation;
394
- private _parseBinding;
394
+ parseBinding(value: string, isHostBinding: boolean, sourceSpan: ParseSourceSpan, absoluteOffset: number): ASTWithSource;
395
395
  createBoundElementProperty(elementSelector: string, boundProp: ParsedProperty, skipValidation?: boolean, mapPropertyName?: boolean): BoundElementProperty;
396
396
  parseEvent(name: string, expression: string, isAssignmentEvent: boolean, sourceSpan: ParseSourceSpan, handlerSpan: ParseSourceSpan, targetMatchableAttrs: string[][], targetEvents: ParsedEvent[], keySpan: ParseSourceSpan): void;
397
397
  calcPossibleSecurityContexts(selector: string, propName: string, isAttribute: boolean): SecurityContext[];
@@ -424,6 +424,33 @@ export declare const enum BindingType {
424
424
  Animation = 4
425
425
  }
426
426
 
427
+ export declare class Block implements BaseNode {
428
+ name: string;
429
+ parameters: BlockParameter[];
430
+ children: Node_2[];
431
+ sourceSpan: ParseSourceSpan;
432
+ startSourceSpan: ParseSourceSpan;
433
+ endSourceSpan: ParseSourceSpan | null;
434
+ constructor(name: string, parameters: BlockParameter[], children: Node_2[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan?: ParseSourceSpan | null);
435
+ visit(visitor: Visitor, context: any): any;
436
+ }
437
+
438
+ export declare class BlockGroup implements BaseNode {
439
+ blocks: Block[];
440
+ sourceSpan: ParseSourceSpan;
441
+ startSourceSpan: ParseSourceSpan;
442
+ endSourceSpan: ParseSourceSpan | null;
443
+ constructor(blocks: Block[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan?: ParseSourceSpan | null);
444
+ visit(visitor: Visitor, context: any): any;
445
+ }
446
+
447
+ export declare class BlockParameter implements BaseNode {
448
+ expression: string;
449
+ sourceSpan: ParseSourceSpan;
450
+ constructor(expression: string, sourceSpan: ParseSourceSpan);
451
+ visit(visitor: Visitor, context: any): any;
452
+ }
453
+
427
454
  declare const BOOL_TYPE: BuiltinType;
428
455
 
429
456
  export declare class BoundElementProperty {
@@ -996,6 +1023,15 @@ export declare class DomElementSchemaRegistry extends ElementSchemaRegistry {
996
1023
 
997
1024
  export declare const DYNAMIC_TYPE: BuiltinType;
998
1025
 
1026
+ export declare class DynamicImportExpr extends Expression {
1027
+ url: string;
1028
+ constructor(url: string, sourceSpan?: ParseSourceSpan | null);
1029
+ isEquivalent(e: Expression): boolean;
1030
+ isConstant(): boolean;
1031
+ visitExpression(visitor: ExpressionVisitor, context: any): any;
1032
+ clone(): DynamicImportExpr;
1033
+ }
1034
+
999
1035
  declare class Element_2 extends NodeWithI18n {
1000
1036
  name: string;
1001
1037
  attrs: Attribute[];
@@ -1173,6 +1209,7 @@ export declare interface ExpressionVisitor {
1173
1209
  visitLocalizedString(ast: LocalizedString, context: any): any;
1174
1210
  visitExternalExpr(ast: ExternalExpr, context: any): any;
1175
1211
  visitConditionalExpr(ast: ConditionalExpr, context: any): any;
1212
+ visitDynamicImportExpr(ast: DynamicImportExpr, context: any): any;
1176
1213
  visitNotExpr(ast: NotExpr, context: any): any;
1177
1214
  visitFunctionExpr(ast: FunctionExpr, context: any): any;
1178
1215
  visitUnaryOperatorExpr(ast: UnaryOperatorExpr, context: any): any;
@@ -1295,6 +1332,9 @@ declare namespace html {
1295
1332
  Attribute,
1296
1333
  Element_2 as Element,
1297
1334
  Comment_2 as Comment,
1335
+ BlockGroup,
1336
+ Block,
1337
+ BlockParameter,
1298
1338
  Visitor,
1299
1339
  RecursiveVisitor
1300
1340
  }
@@ -1472,9 +1512,9 @@ declare type InterpolatedAttributeToken = AttributeValueTextToken | AttributeVal
1472
1512
  declare type InterpolatedTextToken = TextToken | InterpolationToken | EncodedEntityToken;
1473
1513
 
1474
1514
  export declare class Interpolation extends AST {
1475
- strings: any[];
1476
- expressions: any[];
1477
- constructor(span: ParseSpan, sourceSpan: AbsoluteSourceSpan, strings: any[], expressions: any[]);
1515
+ strings: string[];
1516
+ expressions: AST[];
1517
+ constructor(span: ParseSpan, sourceSpan: AbsoluteSourceSpan, strings: string[], expressions: AST[]);
1478
1518
  visit(visitor: AstVisitor, context?: any): any;
1479
1519
  }
1480
1520
 
@@ -1505,6 +1545,7 @@ export declare class InvokeFunctionExpr extends Expression {
1505
1545
  args: Expression[];
1506
1546
  pure: boolean;
1507
1547
  constructor(fn: Expression, args: Expression[], type?: Type | null, sourceSpan?: ParseSourceSpan | null, pure?: boolean);
1548
+ get receiver(): Expression;
1508
1549
  isEquivalent(e: Expression): boolean;
1509
1550
  isConstant(): boolean;
1510
1551
  visitExpression(visitor: ExpressionVisitor, context: any): any;
@@ -1859,7 +1900,7 @@ declare enum MissingTranslationStrategy {
1859
1900
 
1860
1901
  export declare const NO_ERRORS_SCHEMA: SchemaMetadata;
1861
1902
 
1862
- declare type Node_2 = Attribute | Comment_2 | Element_2 | Expansion | ExpansionCase | Text_2;
1903
+ declare type Node_2 = Attribute | Comment_2 | Element_2 | Expansion | ExpansionCase | Text_2 | BlockGroup | Block | BlockParameter;
1863
1904
  export { Node_2 as Node }
1864
1905
 
1865
1906
  declare interface Node_3 {
@@ -1967,6 +2008,7 @@ declare namespace outputAst {
1967
2008
  ExternalExpr,
1968
2009
  ExternalReference,
1969
2010
  ConditionalExpr,
2011
+ DynamicImportExpr,
1970
2012
  NotExpr,
1971
2013
  FnParam,
1972
2014
  FunctionExpr,
@@ -2589,6 +2631,11 @@ export declare interface ParseTemplateOptions {
2589
2631
  * rules on a case by case basis, instead of for their whole project within a configuration file.
2590
2632
  */
2591
2633
  collectCommentNodes?: boolean;
2634
+ /**
2635
+ * Names of the blocks that should be enabled. E.g. `enabledBlockTypes: new Set(['defer'])`
2636
+ * would allow usages of `{#defer}{/defer}` in templates.
2637
+ */
2638
+ enabledBlockTypes?: Set<string>;
2592
2639
  }
2593
2640
 
2594
2641
  export declare class ParseTreeResult {
@@ -3729,11 +3776,32 @@ export declare interface R3NgModuleDependencyMetadata extends R3TemplateDependen
3729
3776
  /**
3730
3777
  * Metadata required by the module compiler to generate a module def (`ɵmod`) for a type.
3731
3778
  */
3732
- export declare interface R3NgModuleMetadata {
3779
+ export declare type R3NgModuleMetadata = R3NgModuleMetadataGlobal | R3NgModuleMetadataLocal;
3780
+
3781
+ declare interface R3NgModuleMetadataCommon {
3782
+ kind: R3NgModuleMetadataKind;
3733
3783
  /**
3734
3784
  * An expression representing the module type being compiled.
3735
3785
  */
3736
3786
  type: R3Reference;
3787
+ /**
3788
+ * How to emit the selector scope values (declarations, imports, exports).
3789
+ */
3790
+ selectorScopeMode: R3SelectorScopeMode;
3791
+ /**
3792
+ * The set of schemas that declare elements to be allowed in the NgModule.
3793
+ */
3794
+ schemas: R3Reference[] | null;
3795
+ /** Unique ID or expression representing the unique ID of an NgModule. */
3796
+ id: outputAst.Expression | null;
3797
+ }
3798
+
3799
+ /**
3800
+ * Metadata required by the module compiler in full/partial mode to generate a module def (`ɵmod`)
3801
+ * for a type.
3802
+ */
3803
+ export declare interface R3NgModuleMetadataGlobal extends R3NgModuleMetadataCommon {
3804
+ kind: R3NgModuleMetadataKind.Global;
3737
3805
  /**
3738
3806
  * An array of expressions representing the bootstrap components specified by the module.
3739
3807
  */
@@ -3759,20 +3827,49 @@ export declare interface R3NgModuleMetadata {
3759
3827
  * An array of expressions representing the exports of the module.
3760
3828
  */
3761
3829
  exports: R3Reference[];
3762
- /**
3763
- * How to emit the selector scope values (declarations, imports, exports).
3764
- */
3765
- selectorScopeMode: R3SelectorScopeMode;
3766
3830
  /**
3767
3831
  * Whether to generate closure wrappers for bootstrap, declarations, imports, and exports.
3768
3832
  */
3769
3833
  containsForwardDecls: boolean;
3834
+ }
3835
+
3836
+ /**
3837
+ * The type of the NgModule meta data.
3838
+ * - Global: Used for full and partial compilation modes which mainly includes R3References.
3839
+ * - Local: Used for the local compilation mode which mainly includes the raw expressions as appears
3840
+ * in the NgModule decorator.
3841
+ */
3842
+ export declare enum R3NgModuleMetadataKind {
3843
+ Global = 0,
3844
+ Local = 1
3845
+ }
3846
+
3847
+ /**
3848
+ * Metadata required by the module compiler in local mode to generate a module def (`ɵmod`) for a
3849
+ * type.
3850
+ */
3851
+ declare interface R3NgModuleMetadataLocal extends R3NgModuleMetadataCommon {
3852
+ kind: R3NgModuleMetadataKind.Local;
3770
3853
  /**
3771
- * The set of schemas that declare elements to be allowed in the NgModule.
3854
+ * The output expression representing the bootstrap components specified by the module.
3772
3855
  */
3773
- schemas: R3Reference[] | null;
3774
- /** Unique ID or expression representing the unique ID of an NgModule. */
3775
- id: outputAst.Expression | null;
3856
+ bootstrapExpression: outputAst.Expression | null;
3857
+ /**
3858
+ * The output expression representing the declarations of the module.
3859
+ */
3860
+ declarationsExpression: outputAst.Expression | null;
3861
+ /**
3862
+ * The output expression representing the imports of the module.
3863
+ */
3864
+ importsExpression: outputAst.Expression | null;
3865
+ /**
3866
+ * The output expression representing the exports of the module.
3867
+ */
3868
+ exportsExpression: outputAst.Expression | null;
3869
+ /**
3870
+ * Local compilation mode always requires scope to be handled using side effect function calls.
3871
+ */
3872
+ selectorScopeMode: R3SelectorScopeMode.SideEffect;
3776
3873
  }
3777
3874
 
3778
3875
  export declare interface R3PartialDeclaration {
@@ -3966,6 +4063,7 @@ export declare class ReadPropExpr extends Expression {
3966
4063
  receiver: Expression;
3967
4064
  name: string;
3968
4065
  constructor(receiver: Expression, name: string, type?: Type | null, sourceSpan?: ParseSourceSpan | null);
4066
+ get index(): string;
3969
4067
  isEquivalent(e: Expression): boolean;
3970
4068
  isConstant(): boolean;
3971
4069
  visitExpression(visitor: ExpressionVisitor, context: any): any;
@@ -4032,6 +4130,7 @@ declare class RecursiveAstVisitor_2 implements StatementVisitor, ExpressionVisit
4032
4130
  visitWriteVarExpr(ast: WriteVarExpr, context: any): any;
4033
4131
  visitWriteKeyExpr(ast: WriteKeyExpr, context: any): any;
4034
4132
  visitWritePropExpr(ast: WritePropExpr, context: any): any;
4133
+ visitDynamicImportExpr(ast: DynamicImportExpr, context: any): any;
4035
4134
  visitInvokeFunctionExpr(ast: InvokeFunctionExpr, context: any): any;
4036
4135
  visitTaggedTemplateExpr(ast: TaggedTemplateExpr, context: any): any;
4037
4136
  visitInstantiateExpr(ast: InstantiateExpr, context: any): any;
@@ -4065,6 +4164,9 @@ export declare class RecursiveVisitor implements Visitor {
4065
4164
  visitComment(ast: Comment_2, context: any): any;
4066
4165
  visitExpansion(ast: Expansion, context: any): any;
4067
4166
  visitExpansionCase(ast: ExpansionCase, context: any): any;
4167
+ visitBlockGroup(ast: BlockGroup, context: any): any;
4168
+ visitBlock(block: Block, context: any): any;
4169
+ visitBlockParameter(ast: BlockParameter, context: any): any;
4068
4170
  private visitChildren;
4069
4171
  }
4070
4172
 
@@ -4292,6 +4394,18 @@ declare namespace t {
4292
4394
  TmplAstBoundAttribute as BoundAttribute,
4293
4395
  TmplAstBoundEvent as BoundEvent,
4294
4396
  TmplAstElement as Element,
4397
+ TmplAstDeferredTrigger as DeferredTrigger,
4398
+ TmplAstBoundDeferredTrigger as BoundDeferredTrigger,
4399
+ TmplAstIdleDeferredTrigger as IdleDeferredTrigger,
4400
+ TmplAstImmediateDeferredTrigger as ImmediateDeferredTrigger,
4401
+ TmplAstHoverDeferredTrigger as HoverDeferredTrigger,
4402
+ TmplAstTimerDeferredTrigger as TimerDeferredTrigger,
4403
+ TmplAstInteractionDeferredTrigger as InteractionDeferredTrigger,
4404
+ TmplAstViewportDeferredTrigger as ViewportDeferredTrigger,
4405
+ TmplAstDeferredBlockPlaceholder as DeferredBlockPlaceholder,
4406
+ TmplAstDeferredBlockLoading as DeferredBlockLoading,
4407
+ TmplAstDeferredBlockError as DeferredBlockError,
4408
+ TmplAstDeferredBlock as DeferredBlock,
4295
4409
  TmplAstTemplate as Template,
4296
4410
  TmplAstContent as Content,
4297
4411
  TmplAstVariable as Variable,
@@ -4462,6 +4576,11 @@ export declare class TmplAstBoundAttribute implements TmplAstNode {
4462
4576
  visit<Result>(visitor: Visitor_3<Result>): Result;
4463
4577
  }
4464
4578
 
4579
+ export declare class TmplAstBoundDeferredTrigger extends TmplAstDeferredTrigger {
4580
+ value: AST;
4581
+ constructor(value: AST, sourceSpan: ParseSourceSpan);
4582
+ }
4583
+
4465
4584
  export declare class TmplAstBoundEvent implements TmplAstNode {
4466
4585
  name: string;
4467
4586
  type: ParsedEventType;
@@ -4494,6 +4613,56 @@ export declare class TmplAstContent implements TmplAstNode {
4494
4613
  visit<Result>(visitor: Visitor_3<Result>): Result;
4495
4614
  }
4496
4615
 
4616
+ export declare class TmplAstDeferredBlock implements TmplAstNode {
4617
+ children: TmplAstNode[];
4618
+ triggers: TmplAstDeferredTrigger[];
4619
+ prefetchTriggers: TmplAstDeferredTrigger[];
4620
+ placeholder: TmplAstDeferredBlockPlaceholder | null;
4621
+ loading: TmplAstDeferredBlockLoading | null;
4622
+ error: TmplAstDeferredBlockError | null;
4623
+ sourceSpan: ParseSourceSpan;
4624
+ startSourceSpan: ParseSourceSpan;
4625
+ endSourceSpan: ParseSourceSpan | null;
4626
+ constructor(children: TmplAstNode[], triggers: TmplAstDeferredTrigger[], prefetchTriggers: TmplAstDeferredTrigger[], placeholder: TmplAstDeferredBlockPlaceholder | null, loading: TmplAstDeferredBlockLoading | null, error: TmplAstDeferredBlockError | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4627
+ visit<Result>(visitor: Visitor_3<Result>): Result;
4628
+ }
4629
+
4630
+ export declare class TmplAstDeferredBlockError implements TmplAstNode {
4631
+ children: TmplAstNode[];
4632
+ sourceSpan: ParseSourceSpan;
4633
+ startSourceSpan: ParseSourceSpan;
4634
+ endSourceSpan: ParseSourceSpan | null;
4635
+ constructor(children: TmplAstNode[], sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4636
+ visit<Result>(visitor: Visitor_3<Result>): Result;
4637
+ }
4638
+
4639
+ export declare class TmplAstDeferredBlockLoading implements TmplAstNode {
4640
+ children: TmplAstNode[];
4641
+ afterTime: number | null;
4642
+ minimumTime: number | null;
4643
+ sourceSpan: ParseSourceSpan;
4644
+ startSourceSpan: ParseSourceSpan;
4645
+ endSourceSpan: ParseSourceSpan | null;
4646
+ constructor(children: TmplAstNode[], afterTime: number | null, minimumTime: number | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4647
+ visit<Result>(visitor: Visitor_3<Result>): Result;
4648
+ }
4649
+
4650
+ export declare class TmplAstDeferredBlockPlaceholder implements TmplAstNode {
4651
+ children: TmplAstNode[];
4652
+ minimumTime: number | null;
4653
+ sourceSpan: ParseSourceSpan;
4654
+ startSourceSpan: ParseSourceSpan;
4655
+ endSourceSpan: ParseSourceSpan | null;
4656
+ constructor(children: TmplAstNode[], minimumTime: number | null, sourceSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null);
4657
+ visit<Result>(visitor: Visitor_3<Result>): Result;
4658
+ }
4659
+
4660
+ export declare abstract class TmplAstDeferredTrigger implements TmplAstNode {
4661
+ sourceSpan: ParseSourceSpan;
4662
+ constructor(sourceSpan: ParseSourceSpan);
4663
+ visit<Result>(visitor: Visitor_3<Result>): Result;
4664
+ }
4665
+
4497
4666
  export declare class TmplAstElement implements TmplAstNode {
4498
4667
  name: string;
4499
4668
  attributes: TmplAstTextAttribute[];
@@ -4509,6 +4678,9 @@ export declare class TmplAstElement implements TmplAstNode {
4509
4678
  visit<Result>(visitor: Visitor_3<Result>): Result;
4510
4679
  }
4511
4680
 
4681
+ export declare class TmplAstHoverDeferredTrigger extends TmplAstDeferredTrigger {
4682
+ }
4683
+
4512
4684
  export declare class TmplAstIcu implements TmplAstNode {
4513
4685
  vars: {
4514
4686
  [name: string]: TmplAstBoundText;
@@ -4526,6 +4698,17 @@ export declare class TmplAstIcu implements TmplAstNode {
4526
4698
  visit<Result>(visitor: Visitor_3<Result>): Result;
4527
4699
  }
4528
4700
 
4701
+ export declare class TmplAstIdleDeferredTrigger extends TmplAstDeferredTrigger {
4702
+ }
4703
+
4704
+ export declare class TmplAstImmediateDeferredTrigger extends TmplAstDeferredTrigger {
4705
+ }
4706
+
4707
+ export declare class TmplAstInteractionDeferredTrigger extends TmplAstDeferredTrigger {
4708
+ reference: string | null;
4709
+ constructor(reference: string | null, sourceSpan: ParseSourceSpan);
4710
+ }
4711
+
4529
4712
  export declare interface TmplAstNode {
4530
4713
  sourceSpan: ParseSourceSpan;
4531
4714
  visit<Result>(visitor: Visitor_3<Result>): Result;
@@ -4534,6 +4717,10 @@ export declare interface TmplAstNode {
4534
4717
  export declare class TmplAstRecursiveVisitor implements Visitor_3<void> {
4535
4718
  visitElement(element: TmplAstElement): void;
4536
4719
  visitTemplate(template: TmplAstTemplate): void;
4720
+ visitDeferredBlock(deferred: TmplAstDeferredBlock): void;
4721
+ visitDeferredBlockPlaceholder(block: TmplAstDeferredBlockPlaceholder): void;
4722
+ visitDeferredBlockError(block: TmplAstDeferredBlockError): void;
4723
+ visitDeferredBlockLoading(block: TmplAstDeferredBlockLoading): void;
4537
4724
  visitContent(content: TmplAstContent): void;
4538
4725
  visitVariable(variable: TmplAstVariable): void;
4539
4726
  visitReference(reference: TmplAstReference): void;
@@ -4543,6 +4730,7 @@ export declare class TmplAstRecursiveVisitor implements Visitor_3<void> {
4543
4730
  visitText(text: TmplAstText): void;
4544
4731
  visitBoundText(text: TmplAstBoundText): void;
4545
4732
  visitIcu(icu: TmplAstIcu): void;
4733
+ visitDeferredTrigger(trigger: TmplAstDeferredTrigger): void;
4546
4734
  }
4547
4735
 
4548
4736
  export declare class TmplAstReference implements TmplAstNode {
@@ -4596,6 +4784,11 @@ export declare class TmplAstTextAttribute implements TmplAstNode {
4596
4784
  visit<Result>(visitor: Visitor_3<Result>): Result;
4597
4785
  }
4598
4786
 
4787
+ export declare class TmplAstTimerDeferredTrigger extends TmplAstDeferredTrigger {
4788
+ delay: number;
4789
+ constructor(delay: number, sourceSpan: ParseSourceSpan);
4790
+ }
4791
+
4599
4792
  export declare class TmplAstVariable implements TmplAstNode {
4600
4793
  name: string;
4601
4794
  value: string;
@@ -4606,6 +4799,11 @@ export declare class TmplAstVariable implements TmplAstNode {
4606
4799
  visit<Result>(visitor: Visitor_3<Result>): Result;
4607
4800
  }
4608
4801
 
4802
+ export declare class TmplAstViewportDeferredTrigger extends TmplAstDeferredTrigger {
4803
+ reference: string | null;
4804
+ constructor(reference: string | null, sourceSpan: ParseSourceSpan);
4805
+ }
4806
+
4609
4807
  export declare class Token {
4610
4808
  index: number;
4611
4809
  end: number;
@@ -4694,6 +4892,10 @@ declare interface TokenizeOptions {
4694
4892
  * If true, do not convert CRLF to LF.
4695
4893
  */
4696
4894
  preserveLineEndings?: boolean;
4895
+ /**
4896
+ * Whether the block syntax is enabled at the compiler level.
4897
+ */
4898
+ tokenizeBlocks?: boolean;
4697
4899
  }
4698
4900
 
4699
4901
 
@@ -4733,7 +4935,13 @@ declare const enum TokenType_2 {
4733
4935
  EXPANSION_CASE_EXP_START = 21,
4734
4936
  EXPANSION_CASE_EXP_END = 22,
4735
4937
  EXPANSION_FORM_END = 23,
4736
- EOF = 24
4938
+ EOF = 24,
4939
+ BLOCK_GROUP_OPEN_START = 25,
4940
+ BLOCK_GROUP_OPEN_END = 26,
4941
+ BLOCK_GROUP_CLOSE = 27,
4942
+ BLOCK_PARAMETER = 28,
4943
+ BLOCK_OPEN_START = 29,
4944
+ BLOCK_OPEN_END = 30
4737
4945
  }
4738
4946
 
4739
4947
  export declare class TransplantedType<T> extends Type {
@@ -4886,6 +5094,9 @@ export declare interface Visitor {
4886
5094
  visitComment(comment: Comment_2, context: any): any;
4887
5095
  visitExpansion(expansion: Expansion, context: any): any;
4888
5096
  visitExpansionCase(expansionCase: ExpansionCase, context: any): any;
5097
+ visitBlockGroup(group: BlockGroup, context: any): any;
5098
+ visitBlock(block: Block, context: any): any;
5099
+ visitBlockParameter(parameter: BlockParameter, context: any): any;
4889
5100
  }
4890
5101
 
4891
5102
  declare interface Visitor_2 {
@@ -4910,6 +5121,11 @@ declare interface Visitor_3<Result = any> {
4910
5121
  visitText(text: TmplAstText): Result;
4911
5122
  visitBoundText(text: TmplAstBoundText): Result;
4912
5123
  visitIcu(icu: TmplAstIcu): Result;
5124
+ visitDeferredBlock(deferred: TmplAstDeferredBlock): Result;
5125
+ visitDeferredBlockPlaceholder(block: TmplAstDeferredBlockPlaceholder): Result;
5126
+ visitDeferredBlockError(block: TmplAstDeferredBlockError): Result;
5127
+ visitDeferredBlockLoading(block: TmplAstDeferredBlockLoading): Result;
5128
+ visitDeferredTrigger(trigger: TmplAstDeferredTrigger): Result;
4913
5129
  }
4914
5130
 
4915
5131
  export declare class WrappedNodeExpr<T> extends Expression {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/compiler",
3
- "version": "16.2.0-next.1",
3
+ "version": "16.2.0-next.3",
4
4
  "description": "Angular - the compiler library",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -11,7 +11,7 @@
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "peerDependencies": {
14
- "@angular/core": "16.2.0-next.1"
14
+ "@angular/core": "16.2.0-next.3"
15
15
  },
16
16
  "peerDependenciesMeta": {
17
17
  "@angular/core": {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.2.0-next.1
2
+ * @license Angular v16.2.0-next.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */