@angular/core 20.0.0-next.0 → 20.0.0-next.1

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 (43) hide show
  1. package/fesm2022/core.mjs +6448 -6198
  2. package/fesm2022/core.mjs.map +1 -1
  3. package/fesm2022/primitives/di.mjs +45 -0
  4. package/fesm2022/primitives/di.mjs.map +1 -0
  5. package/fesm2022/primitives/event-dispatch.mjs +2 -2
  6. package/fesm2022/primitives/signals.mjs +2 -2
  7. package/fesm2022/rxjs-interop.mjs +2 -2
  8. package/fesm2022/testing.mjs +280 -119
  9. package/fesm2022/testing.mjs.map +1 -1
  10. package/index.d.ts +138 -51
  11. package/package.json +11 -1
  12. package/primitives/di/index.d.ts +99 -0
  13. package/primitives/event-dispatch/index.d.ts +2 -2
  14. package/primitives/signals/index.d.ts +2 -2
  15. package/rxjs-interop/index.d.ts +2 -2
  16. package/schematics/bundles/{apply_import_manager-0959b78c.js → apply_import_manager-e2a7fe5b.js} +4 -4
  17. package/schematics/bundles/{checker-cf6f7980.js → checker-af521da6.js} +346 -234
  18. package/schematics/bundles/cleanup-unused-imports.js +8 -8
  19. package/schematics/bundles/{compiler_host-cc1379e9.js → compiler_host-5a29293c.js} +3 -3
  20. package/schematics/bundles/control-flow-migration.js +4 -4
  21. package/schematics/bundles/explicit-standalone-flag.js +6 -6
  22. package/schematics/bundles/{imports-31a38653.js → imports-047fbbc8.js} +2 -2
  23. package/schematics/bundles/{index-42d84d69.js → index-1bef3025.js} +5 -5
  24. package/schematics/bundles/{index-6675d6bc.js → index-ef1bffbb.js} +5 -5
  25. package/schematics/bundles/inject-migration.js +8 -8
  26. package/schematics/bundles/{leading_space-6e7a8ec6.js → leading_space-f8944434.js} +2 -2
  27. package/schematics/bundles/{migrate_ts_type_references-5089e4ef.js → migrate_ts_type_references-2a3e9e6b.js} +13 -15
  28. package/schematics/bundles/{ng_decorators-6878e227.js → ng_decorators-b0d8b324.js} +3 -3
  29. package/schematics/bundles/{nodes-ffdce442.js → nodes-7758dbf6.js} +2 -2
  30. package/schematics/bundles/output-migration.js +8 -8
  31. package/schematics/bundles/pending-tasks.js +6 -6
  32. package/schematics/bundles/{program-362689f0.js → program-a449f9bf.js} +14 -14
  33. package/schematics/bundles/{project_paths-7d2daa1e.js → project_paths-17dc204d.js} +4 -4
  34. package/schematics/bundles/{project_tsconfig_paths-6c9cde78.js → project_tsconfig_paths-b558633b.js} +2 -2
  35. package/schematics/bundles/{property_name-42030525.js → property_name-ac18447e.js} +2 -2
  36. package/schematics/bundles/provide-initializer.js +6 -6
  37. package/schematics/bundles/route-lazy-loading.js +6 -6
  38. package/schematics/bundles/self-closing-tags-migration.js +44 -28
  39. package/schematics/bundles/signal-input-migration.js +10 -10
  40. package/schematics/bundles/signal-queries-migration.js +10 -10
  41. package/schematics/bundles/signals.js +10 -10
  42. package/schematics/bundles/standalone-migration.js +10 -10
  43. package/testing/index.d.ts +25 -14
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.0
3
- * (c) 2010-2024 Google LLC. https://angular.io/
2
+ * @license Angular v20.0.0-next.1
3
+ * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -909,7 +909,6 @@ export declare class ApplicationModule {
909
909
  * A reference to an Angular application running on a page.
910
910
  *
911
911
  * @usageNotes
912
- * {@a is-stable-examples}
913
912
  * ### isStable examples and caveats
914
913
  *
915
914
  * Note two important points about `isStable`, demonstrated in the examples below:
@@ -1185,7 +1184,7 @@ export declare class ApplicationRef {
1185
1184
  * Marks a component for check (in case of OnPush components) and synchronously
1186
1185
  * performs change detection on the application this component belongs to.
1187
1186
  *
1188
- * @param component Component to {@link ChangeDetectorRef#markForCheck mark for check}.
1187
+ * @param component Component to {@link /api/core/ChangeDetectorRef#markForCheck mark for check}
1189
1188
  *
1190
1189
  * @publicApi
1191
1190
  */
@@ -1209,7 +1208,7 @@ export declare function assertInInjectionContext(debugFn: Function): void;
1209
1208
 
1210
1209
  /**
1211
1210
  * Asserts that the current stack frame is not within a reactive context. Useful
1212
- * to disallow certain code from running inside a reactive context (see {@link toSignal}).
1211
+ * to disallow certain code from running inside a reactive context (see {@link /api/core/rxjs/toSignal toSignal})
1213
1212
  *
1214
1213
  * @param debugFn a reference to the function making the assertion (used for the error message).
1215
1214
  *
@@ -1320,6 +1319,26 @@ declare abstract class BaseWritableResource<T> implements WritableResource<T> {
1320
1319
  asReadonly(): Resource<T>;
1321
1320
  }
1322
1321
 
1322
+ /** Symbol used to store and retrieve metadata about a binding. */
1323
+ declare const BINDING: unique symbol;
1324
+
1325
+ /**
1326
+ * A dynamically-defined binding targeting.
1327
+ * For example, `inputBinding('value', () => 123)` creates an input binding.
1328
+ */
1329
+ declare interface Binding {
1330
+ readonly [BINDING]: {
1331
+ readonly kind: string;
1332
+ readonly requiredVars: number;
1333
+ };
1334
+ /** Target to which to apply the binding. */
1335
+ readonly target?: unknown;
1336
+ /** Callback that will be invoked during creation. */
1337
+ create?(): void;
1338
+ /** Callback that will be invoked during updates. */
1339
+ update?(): void;
1340
+ }
1341
+
1323
1342
 
1324
1343
  /**
1325
1344
  * Transforms a value (typically a string) to a boolean.
@@ -1415,8 +1434,8 @@ export declare interface BootstrapOptions {
1415
1434
  * The strategy that the default change detector uses to detect changes.
1416
1435
  * When set, takes effect the next time change detection is triggered.
1417
1436
  *
1418
- * @see [Change detection usage](/api/core/ChangeDetectorRef?tab=usage-notes)
1419
- * @see [Skipping component subtrees](/best-practices/skipping-subtrees)
1437
+ * @see {@link /api/core/ChangeDetectorRef?tab=usage-notes Change detection usage}
1438
+ * @see {@link /best-practices/skipping-subtrees Skipping component subtrees}
1420
1439
  *
1421
1440
  * @publicApi
1422
1441
  */
@@ -2037,7 +2056,7 @@ declare interface ComponentDefinition<T> extends Omit<DirectiveDefinition<T>, 'f
2037
2056
  */
2038
2057
  features?: ComponentDefFeature[];
2039
2058
  /**
2040
- * Defines template and style encapsulation options available for Component's {@link Component}.
2059
+ * Defines template and style encapsulation options available for Component's {@link /api/core/Component Component}.
2041
2060
  */
2042
2061
  encapsulation?: ViewEncapsulation;
2043
2062
  /**
@@ -2118,7 +2137,7 @@ declare abstract class ComponentFactory<C> {
2118
2137
  /**
2119
2138
  * Creates a new component.
2120
2139
  */
2121
- abstract create(injector: Injector, projectableNodes?: any[][], rootSelectorOrNode?: string | any, environmentInjector?: EnvironmentInjector | NgModuleRef<any>): ComponentRef<C>;
2140
+ abstract create(injector: Injector, projectableNodes?: any[][], rootSelectorOrNode?: string | any, environmentInjector?: EnvironmentInjector | NgModuleRef<any>, directives?: (Type<unknown> | DirectiveWithBindings<unknown>)[], bindings?: Binding[]): ComponentRef<C>;
2122
2141
  }
2123
2142
  export { ComponentFactory }
2124
2143
  export { ComponentFactory as ɵComponentFactory }
@@ -2650,6 +2669,8 @@ declare const CONTEXT = 8;
2650
2669
  * `[[element1, element2]]`: projects `element1` and `element2` into the same `<ng-content>`.
2651
2670
  * `[[element1, element2], [element3]]`: projects `element1` and `element2` into one `<ng-content>`,
2652
2671
  * and `element3` into a separate `<ng-content>`.
2672
+ * * `directives` (optional): Directives that should be applied to the component.
2673
+ * * `binding` (optional): Bindings to apply to the root component.
2653
2674
  * @returns ComponentRef instance that represents a given Component.
2654
2675
  *
2655
2676
  * @publicApi
@@ -2659,6 +2680,8 @@ export declare function createComponent<C>(component: Type<C>, options: {
2659
2680
  hostElement?: Element;
2660
2681
  elementInjector?: Injector;
2661
2682
  projectableNodes?: Node[][];
2683
+ directives?: (Type<unknown> | DirectiveWithBindings<unknown>)[];
2684
+ bindings?: Binding[];
2662
2685
  }): ComponentRef<C>;
2663
2686
 
2664
2687
  /**
@@ -3051,11 +3074,7 @@ declare const DECLARATION_VIEW = 14;
3051
3074
  *
3052
3075
  * <div class="docs-alert docs-alert-helpful">
3053
3076
  *
3054
- * **Deprecation notice:**
3055
- *
3056
- * The default currency code is currently always `USD` but this is deprecated from v9.
3057
- *
3058
- * **In v10 the default currency code will be taken from the current locale.**
3077
+ * The default currency code is currently always `USD`.
3059
3078
  *
3060
3079
  * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in
3061
3080
  * your application `NgModule`:
@@ -3402,6 +3421,15 @@ declare interface DepsTrackerApi {
3402
3421
  isOrphanComponent(cmp: ɵComponentType<any>): boolean;
3403
3422
  }
3404
3423
 
3424
+ /**
3425
+ * An Injector that the owner can destroy and trigger the DestroyRef.destroy hooks.
3426
+ *
3427
+ * @publicApi
3428
+ */
3429
+ export declare interface DestroyableInjector extends Injector {
3430
+ destroy(): void;
3431
+ }
3432
+
3405
3433
  /**
3406
3434
  * Array of destroy hooks that should be executed for a view and their directive indices.
3407
3435
  *
@@ -4019,6 +4047,16 @@ declare type DirectiveInputs<T> = {
4019
4047
  ];
4020
4048
  };
4021
4049
 
4050
+ /**
4051
+ * Represents a dynamically-created directive with bindings targeting it specifically.
4052
+ */
4053
+ declare interface DirectiveWithBindings<T> {
4054
+ /** Directive type that should be created. */
4055
+ type: Type<T>;
4056
+ /** Bindings that should be applied to the specific directive. */
4057
+ bindings: Binding[];
4058
+ }
4059
+
4022
4060
  declare const DISCONNECTED_NODES = "d";
4023
4061
 
4024
4062
  /**
@@ -4270,7 +4308,7 @@ export declare abstract class EmbeddedViewRef<C> extends ViewRef {
4270
4308
  *
4271
4309
  * Using this method is discouraged as the Angular CLI will set production mode when using the
4272
4310
  * `optimization` option.
4273
- * @see {@link cli/build ng build}
4311
+ * @see {@link /cli/build ng build}
4274
4312
  *
4275
4313
  * @publicApi
4276
4314
  */
@@ -4296,6 +4334,8 @@ export declare const ENVIRONMENT_INITIALIZER: InjectionToken<readonly (() => voi
4296
4334
  /**
4297
4335
  * An `Injector` that's part of the environment injector hierarchy, which exists outside of the
4298
4336
  * component tree.
4337
+ *
4338
+ * @publicApi
4299
4339
  */
4300
4340
  export declare abstract class EnvironmentInjector implements Injector {
4301
4341
  /**
@@ -6218,7 +6258,7 @@ export declare abstract class Injector {
6218
6258
  providers: Array<Provider | StaticProvider>;
6219
6259
  parent?: Injector;
6220
6260
  name?: string;
6221
- }): Injector;
6261
+ }): DestroyableInjector;
6222
6262
  /** @nocollapse */
6223
6263
  static ɵprov: unknown;
6224
6264
  }
@@ -6331,6 +6371,26 @@ export declare const Input: InputDecorator;
6331
6371
  */
6332
6372
  export declare const input: InputFunction;
6333
6373
 
6374
+ /**
6375
+ * Creates an input binding.
6376
+ * @param publicName Public name of the input to bind to.
6377
+ * @param value Callback that returns the current value for the binding. Can be either a signal or
6378
+ * a plain getter function.
6379
+ *
6380
+ * ### Usage Example
6381
+ * In this example we create an instance of the `MyButton` component and bind the value of
6382
+ * the `isDisabled` signal to its `disabled` input.
6383
+ *
6384
+ * ```
6385
+ * const isDisabled = signal(false);
6386
+ *
6387
+ * createComponent(MyButton, {
6388
+ * bindings: [inputBinding('disabled', isDisabled)]
6389
+ * });
6390
+ * ```
6391
+ */
6392
+ export declare function inputBinding(publicName: string, value: () => unknown): Binding;
6393
+
6334
6394
  /**
6335
6395
  * @publicApi
6336
6396
  */
@@ -6590,7 +6650,7 @@ declare interface InternalNgModuleRef<T> extends NgModuleRef<T> {
6590
6650
  *
6591
6651
  * By default, this is true, unless `enableProdMode` is invoked prior to calling this method or the
6592
6652
  * application is built using the Angular CLI with the `optimization` option.
6593
- * @see {@link cli/build ng build}
6653
+ * @see {@link /cli/build ng build}
6594
6654
  *
6595
6655
  * @publicApi
6596
6656
  */
@@ -6683,7 +6743,7 @@ export declare interface IterableChanges<V> {
6683
6743
  }
6684
6744
 
6685
6745
  /**
6686
- * A strategy for tracking changes over time to an iterable. Used by {@link NgForOf} to
6746
+ * A strategy for tracking changes over time to an iterable. Used by {@link /api/common/NgForOf NgForOf} to
6687
6747
  * respond to changes in an iterable by effecting equivalent changes in the DOM.
6688
6748
  *
6689
6749
  * @publicApi
@@ -8460,6 +8520,29 @@ export declare const Output: OutputDecorator;
8460
8520
  */
8461
8521
  export declare function output<T = void>(opts?: OutputOptions): OutputEmitterRef<T>;
8462
8522
 
8523
+ /**
8524
+ * Creates an output binding.
8525
+ * @param eventName Public name of the output to listen to.
8526
+ * @param listener Function to be called when the output emits.
8527
+ *
8528
+ * ### Usage example
8529
+ * In this example we create an instance of the `MyCheckbox` component and listen
8530
+ * to its `onChange` event.
8531
+ *
8532
+ * ```
8533
+ * interface CheckboxChange {
8534
+ * value: string;
8535
+ * }
8536
+ *
8537
+ * createComponent(MyCheckbox, {
8538
+ * bindings: [
8539
+ * outputBinding<CheckboxChange>('onChange', event => console.log(event.value))
8540
+ * ],
8541
+ * });
8542
+ * ```
8543
+ */
8544
+ export declare function outputBinding<T>(eventName: string, listener: (event: T) => unknown): Binding;
8545
+
8463
8546
  /**
8464
8547
  * Type of the Output decorator / constructor function.
8465
8548
  *
@@ -8582,8 +8665,9 @@ declare const PARENT = 3;
8582
8665
  * @developerPreview
8583
8666
  */
8584
8667
  export declare class PendingTasks {
8585
- private internalPendingTasks;
8586
- private scheduler;
8668
+ private readonly internalPendingTasks;
8669
+ private readonly scheduler;
8670
+ private readonly errorHandler;
8587
8671
  /**
8588
8672
  * Adds a new task that should block application's stability.
8589
8673
  * @returns A cleanup function that removes a task when called.
@@ -8599,17 +8683,9 @@ export declare class PendingTasks {
8599
8683
  * });
8600
8684
  * ```
8601
8685
  *
8602
- * Application stability is at least delayed until the next tick after the `run` method resolves
8603
- * so it is safe to make additional updates to application state that would require UI synchronization:
8604
- *
8605
- * ```ts
8606
- * const userData = await pendingTasks.run(() => fetch('/api/user'));
8607
- * this.userData.set(userData);
8608
- * ```
8609
- *
8610
8686
  * @param fn The asynchronous function to execute
8611
8687
  */
8612
- run<T>(fn: () => Promise<T>): Promise<T>;
8688
+ run<T>(fn: () => Promise<T>): void;
8613
8689
  /** @nocollapse */
8614
8690
  static ɵprov: unknown;
8615
8691
  }
@@ -9024,7 +9100,7 @@ export declare function provideExperimentalCheckNoChangesForDebug(options: {
9024
9100
  *
9025
9101
  * @publicApi
9026
9102
  * @experimental
9027
- * @see [bootstrapApplication](/api/platform-browser/bootstrapApplication)
9103
+ * @see {@link /api/platform-browser/bootstrapApplication bootstrapApplication}
9028
9104
  */
9029
9105
  export declare function provideExperimentalZonelessChangeDetection(): EnvironmentProviders;
9030
9106
 
@@ -9079,7 +9155,7 @@ export declare type ProviderToken<T> = Type<T> | AbstractType<T> | InjectionToke
9079
9155
  * ```
9080
9156
  *
9081
9157
  * @publicApi
9082
- * @see {@link bootstrapApplication}
9158
+ * @see {@link /api/core/bootstrapApplication bootstrapApplication}
9083
9159
  * @see {@link NgZoneOptions}
9084
9160
  */
9085
9161
  export declare function provideZoneChangeDetection(options?: NgZoneOptions): EnvironmentProviders;
@@ -9797,8 +9873,7 @@ export declare interface RendererType2 {
9797
9873
  [kind: string]: any;
9798
9874
  };
9799
9875
  /**
9800
- * A function added by the {@link ɵɵExternalStylesFeature} and used by the framework to create
9801
- * the list of external runtime style URLs.
9876
+ * A function used by the framework to create the list of external runtime style URLs.
9802
9877
  */
9803
9878
  getExternalStyles?: ((encapsulationId?: string) => string[]) | null;
9804
9879
  }
@@ -12705,6 +12780,8 @@ export declare abstract class ViewContainerRef {
12705
12780
  * replace the `ngModuleRef` parameter.
12706
12781
  * * projectableNodes: list of DOM nodes that should be projected through
12707
12782
  * [`<ng-content>`](api/core/ng-content) of the new component instance.
12783
+ * * directives: Directives that should be applied to the component.
12784
+ * * bindings: Bindings that should be applied to the component.
12708
12785
  *
12709
12786
  * @returns The new `ComponentRef` which contains the component instance and the host view.
12710
12787
  */
@@ -12714,6 +12791,8 @@ export declare abstract class ViewContainerRef {
12714
12791
  ngModuleRef?: NgModuleRef<unknown>;
12715
12792
  environmentInjector?: EnvironmentInjector | NgModuleRef<unknown>;
12716
12793
  projectableNodes?: Node[][];
12794
+ directives?: (Type<unknown> | DirectiveWithBindings<unknown>)[];
12795
+ bindings?: Binding[];
12717
12796
  }): ComponentRef<C>;
12718
12797
  /**
12719
12798
  * Instantiates a single component and inserts its host view into this container.
@@ -12726,6 +12805,8 @@ export declare abstract class ViewContainerRef {
12726
12805
  * [`<ng-content>`](api/core/ng-content) of the new component instance.
12727
12806
  * @param ngModuleRef An instance of the NgModuleRef that represent an NgModule.
12728
12807
  * This information is used to retrieve corresponding NgModule injector.
12808
+ * @param directives Directives that should be applied to the component.
12809
+ * @param bindings Bindings that should be applied to the component.
12729
12810
  *
12730
12811
  * @returns The new `ComponentRef` which contains the component instance and the host view.
12731
12812
  *
@@ -12733,7 +12814,7 @@ export declare abstract class ViewContainerRef {
12733
12814
  * Use different signature of the `createComponent` method, which allows passing
12734
12815
  * Component class directly.
12735
12816
  */
12736
- abstract createComponent<C>(componentFactory: ComponentFactory<C>, index?: number, injector?: Injector, projectableNodes?: any[][], environmentInjector?: EnvironmentInjector | NgModuleRef<any>): ComponentRef<C>;
12817
+ abstract createComponent<C>(componentFactory: ComponentFactory<C>, index?: number, injector?: Injector, projectableNodes?: any[][], environmentInjector?: EnvironmentInjector | NgModuleRef<any>, directives?: (Type<unknown> | DirectiveWithBindings<unknown>)[], bindings?: Binding[]): ComponentRef<C>;
12737
12818
  /**
12738
12819
  * Inserts a view into this container.
12739
12820
  * @param viewRef The view to insert.
@@ -12778,7 +12859,7 @@ declare interface ViewEffectNode extends EffectNode {
12778
12859
 
12779
12860
 
12780
12861
  /**
12781
- * Defines the CSS styles encapsulation policies for the {@link Component} decorator's
12862
+ * Defines the CSS styles encapsulation policies for the {@link /api/core/Component Component} decorator's
12782
12863
  * `encapsulation` option.
12783
12864
  *
12784
12865
  * See {@link Component#encapsulation encapsulation}.
@@ -12827,7 +12908,7 @@ declare type ViewQueriesFunction<T> = <U extends T>(rf: ɵRenderFlags, ctx: U) =
12827
12908
  /**
12828
12909
  * Represents an Angular view.
12829
12910
  *
12830
- * @see [Change detection usage](/api/core/ChangeDetectorRef?tab=usage-notes)
12911
+ * @see {@link /api/core/ChangeDetectorRef?tab=usage-notes Change detection usage}
12831
12912
  *
12832
12913
  * @publicApi
12833
12914
  */
@@ -13374,8 +13455,7 @@ export declare interface ɵComponentDef<T> extends ɵDirectiveDef<T> {
13374
13455
  */
13375
13456
  getStandaloneInjector: ((parentInjector: EnvironmentInjector) => EnvironmentInjector | null) | null;
13376
13457
  /**
13377
- * A function added by the {@link ɵɵExternalStylesFeature} and used by the framework to create
13378
- * the list of external runtime style URLs.
13458
+ * A function used by the framework to create the list of external runtime style URLs.
13379
13459
  */
13380
13460
  getExternalStyles: ((encapsulationId?: string) => string[]) | null;
13381
13461
  /**
@@ -14029,9 +14109,6 @@ export declare interface ɵInputSignalNode<T, TransformT> extends SignalNode<T>
14029
14109
 
14030
14110
  /**
14031
14111
  * `InjectionToken` used to configure how to call the `ErrorHandler`.
14032
- *
14033
- * `NgZone` is provided by default today so the default (and only) implementation for this
14034
- * is calling `ErrorHandler.handleError` outside of the Angular zone.
14035
14112
  */
14036
14113
  export declare const ɵINTERNAL_APPLICATION_ERROR_HANDLER: InjectionToken<(e: any) => void>;
14037
14114
 
@@ -14102,6 +14179,11 @@ export declare function ɵisPromise<T = any>(obj: any): obj is Promise<T>;
14102
14179
  */
14103
14180
  export declare function ɵisSubscribable<T>(obj: any | Subscribable<T>): obj is Subscribable<T>;
14104
14181
 
14182
+ /**
14183
+ * Reports whether the given view is considered dirty according to the different marking mechanisms.
14184
+ */
14185
+ export declare function ɵisViewDirty(view: ɵViewRef<unknown>): boolean;
14186
+
14105
14187
  export declare const ɵJSACTION_EVENT_CONTRACT: InjectionToken<EventContractDetails>;
14106
14188
 
14107
14189
  /**
@@ -14187,6 +14269,8 @@ export declare enum ɵLocaleDataIndex {
14187
14269
  ExtraData = 21
14188
14270
  }
14189
14271
 
14272
+ export declare function ɵmarkForRefresh(view: ɵViewRef<unknown>): void;
14273
+
14190
14274
  /**
14191
14275
  * Create a global `Effect` for the given reactive function.
14192
14276
  */
@@ -14531,7 +14615,7 @@ export declare interface ɵPipeDef<T> {
14531
14615
  * Profiler function which the runtime will invoke before and after user code.
14532
14616
  */
14533
14617
  export declare interface ɵProfiler {
14534
- (event: ɵProfilerEvent, instance?: {} | null, hookOrListener?: (e?: any) => any): void;
14618
+ (event: ɵProfilerEvent, instance?: {} | null, eventFn?: Function): void;
14535
14619
  }
14536
14620
 
14537
14621
  /**
@@ -14730,6 +14814,8 @@ export declare class ɵRender3ComponentFactory<T> extends ComponentFactory<T> {
14730
14814
  componentType: Type<any>;
14731
14815
  ngContentSelectors: string[];
14732
14816
  isBoundToModule: boolean;
14817
+ private cachedInputs;
14818
+ private cachedOutputs;
14733
14819
  get inputs(): {
14734
14820
  propName: string;
14735
14821
  templateName: string;
@@ -14745,7 +14831,7 @@ export declare class ɵRender3ComponentFactory<T> extends ComponentFactory<T> {
14745
14831
  * @param ngModule The NgModuleRef to which the factory is bound.
14746
14832
  */
14747
14833
  constructor(componentDef: ɵComponentDef<any>, ngModule?: NgModuleRef<any> | undefined);
14748
- create(injector: Injector, projectableNodes?: any[][] | undefined, rootSelectorOrNode?: any, environmentInjector?: NgModuleRef<any> | EnvironmentInjector | undefined): ComponentRef<T>;
14834
+ create(injector: Injector, projectableNodes?: any[][] | undefined, rootSelectorOrNode?: any, environmentInjector?: NgModuleRef<any> | EnvironmentInjector | undefined, directives?: (Type<unknown> | DirectiveWithBindings<unknown>)[], componentBindings?: Binding[]): ComponentRef<T>;
14749
14835
  }
14750
14836
 
14751
14837
  /**
@@ -14757,7 +14843,8 @@ export declare class ɵRender3ComponentFactory<T> extends ComponentFactory<T> {
14757
14843
  *
14758
14844
  */
14759
14845
  export declare class ɵRender3ComponentRef<T> extends ComponentRef<T> {
14760
- private _rootLView;
14846
+ private readonly _rootLView;
14847
+ private readonly _hasInputBindings;
14761
14848
  instance: T;
14762
14849
  hostView: ɵViewRef<T>;
14763
14850
  changeDetectorRef: ChangeDetectorRef;
@@ -14765,7 +14852,7 @@ export declare class ɵRender3ComponentRef<T> extends ComponentRef<T> {
14765
14852
  location: ElementRef;
14766
14853
  private previousInputValues;
14767
14854
  private _tNode;
14768
- constructor(componentType: Type<T>, _rootLView: LView);
14855
+ constructor(componentType: Type<T>, _rootLView: LView, _hasInputBindings: boolean);
14769
14856
  setInput(name: string, value: unknown): void;
14770
14857
  get injector(): Injector;
14771
14858
  destroy(): void;
@@ -14960,6 +15047,9 @@ export declare const enum ɵRuntimeErrorCode {
14960
15047
  HOST_DIRECTIVE_CONFLICTING_ALIAS = 312,
14961
15048
  MULTIPLE_MATCHING_PIPES = 313,
14962
15049
  UNINITIALIZED_LET_ACCESS = 314,
15050
+ NO_BINDING_TARGET = 315,
15051
+ INVALID_BINDING_TARGET = 316,
15052
+ INVALID_SET_INPUT_CALL = 317,
14963
15053
  MULTIPLE_PLATFORMS = 400,
14964
15054
  PLATFORM_NOT_FOUND = 401,
14965
15055
  MISSING_REQUIRED_INJECTABLE_IN_BOOTSTRAP = 402,
@@ -15000,6 +15090,8 @@ export declare const enum ɵRuntimeErrorCode {
15000
15090
  COMPONENT_ID_COLLISION = -912,
15001
15091
  IMAGE_PERFORMANCE_WARNING = -913,
15002
15092
  UNEXPECTED_ZONEJS_PRESENT_IN_ZONELESS_MODE = 914,
15093
+ MISSING_NG_MODULE_DEFINITION = 915,
15094
+ MISSING_DIRECTIVE_DEFINITION = 916,
15003
15095
  REQUIRED_INPUT_NO_VALUE = -950,
15004
15096
  REQUIRED_QUERY_NO_VALUE = -951,
15005
15097
  REQUIRED_MODEL_NO_VALUE = 952,
@@ -15100,7 +15192,7 @@ export declare function ɵsetClassMetadata(type: Type<any>, decorators: any[] |
15100
15192
  */
15101
15193
  export declare function ɵsetClassMetadataAsync(type: Type<any>, dependencyLoaderFn: () => Array<Promise<Type<unknown>>>, metadataSetterFn: (...types: Type<unknown>[]) => void): () => Promise<Array<Type<unknown>>>;
15102
15194
 
15103
- export declare function ɵsetCurrentInjector(injector: Injector | null | undefined): Injector | undefined | null;
15195
+ export declare function ɵsetCurrentInjector(injector: Injector | null | undefined): Injector;
15104
15196
 
15105
15197
 
15106
15198
  /**
@@ -15318,10 +15410,6 @@ export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, ChangeDetectorR
15318
15410
  */
15319
15411
  _cdRefInjectingView?: LView | undefined);
15320
15412
  get context(): T;
15321
- /**
15322
- * Reports whether the given view is considered dirty according to the different marking mechanisms.
15323
- */
15324
- get dirty(): boolean;
15325
15413
  /**
15326
15414
  * @deprecated Replacing the full context object is not supported. Modify the context
15327
15415
  * directly, or consider using a `Proxy` if you need to replace the full object.
@@ -15363,7 +15451,6 @@ export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, ChangeDetectorR
15363
15451
  * ```
15364
15452
  */
15365
15453
  markForCheck(): void;
15366
- markForRefresh(): void;
15367
15454
  /**
15368
15455
  * Detaches the view from the change detection tree.
15369
15456
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "20.0.0-next.0",
3
+ "version": "20.0.0-next.1",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -21,6 +21,10 @@
21
21
  "types": "./index.d.ts",
22
22
  "default": "./fesm2022/core.mjs"
23
23
  },
24
+ "./primitives/di": {
25
+ "types": "./primitives/di/index.d.ts",
26
+ "default": "./fesm2022/primitives/di.mjs"
27
+ },
24
28
  "./primitives/event-dispatch": {
25
29
  "types": "./primitives/event-dispatch/index.d.ts",
26
30
  "default": "./fesm2022/primitives/event-dispatch.mjs"
@@ -42,9 +46,15 @@
42
46
  "tslib": "^2.3.0"
43
47
  },
44
48
  "peerDependencies": {
49
+ "@angular/compiler": "20.0.0-next.1",
45
50
  "rxjs": "^6.5.3 || ^7.4.0",
46
51
  "zone.js": "~0.15.0"
47
52
  },
53
+ "peerDependenciesMeta": {
54
+ "@angular/compiler": {
55
+ "optional": true
56
+ }
57
+ },
48
58
  "repository": {
49
59
  "type": "git",
50
60
  "url": "https://github.com/angular/angular.git",
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @license Angular v20.0.0-next.1
3
+ * (c) 2010-2025 Google LLC. https://angular.io/
4
+ * License: MIT
5
+ */
6
+
7
+
8
+ export declare function getCurrentInjector(): Injector | undefined | null;
9
+
10
+ /**
11
+ * A `Type` which has a `ɵprov: ɵɵInjectableDeclaration` static field.
12
+ *
13
+ * `InjectableType`s contain their own Dependency Injection metadata and are usable in an
14
+ * `InjectorDef`-based `StaticInjector`.
15
+ *
16
+ * @publicApi
17
+ */
18
+ export declare interface InjectionToken<T> extends Type<T> {
19
+ ɵprov: ɵɵInjectableDeclaration<T>;
20
+ }
21
+
22
+ export declare interface Injector {
23
+ retrieve?<T>(token: InjectionToken<T>, options?: unknown): T | NotFound;
24
+ }
25
+
26
+ /**
27
+ * Type guard for checking if an unknown value is a NotFound.
28
+ */
29
+ export declare function isNotFound(e: unknown): e is NotFound;
30
+
31
+ /**
32
+ * Value returned if the key-value pair couldn't be found in the context
33
+ * hierarchy.
34
+ */
35
+ export declare const NOT_FOUND: unique symbol;
36
+
37
+ /**
38
+ * Type union of NotFound and NotFoundError.
39
+ */
40
+ export declare type NotFound = typeof NOT_FOUND | NotFoundError;
41
+
42
+ /**
43
+ * Error thrown when the key-value pair couldn't be found in the context
44
+ * hierarchy. Context can be attached below.
45
+ */
46
+ export declare class NotFoundError extends Error {
47
+ constructor(message: string);
48
+ }
49
+
50
+ export declare function setCurrentInjector(injector: Injector | null | undefined): Injector | undefined | null;
51
+
52
+ /**
53
+ * @description
54
+ *
55
+ * Represents a type that a Component or other object is instances of.
56
+ *
57
+ * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is represented by
58
+ * the `MyCustomComponent` constructor function.
59
+ *
60
+ * @publicApi
61
+ */
62
+ declare const Type: FunctionConstructor;
63
+
64
+ declare interface Type<T> extends Function {
65
+ new (...args: any[]): T;
66
+ }
67
+
68
+ /**
69
+ * Information about how a type or `InjectionToken` interfaces with the DI system.
70
+ *
71
+ * At a minimum, this includes a `factory` which defines how to create the given type `T`, possibly
72
+ * requesting injection of other types if necessary.
73
+ *
74
+ * Optionally, a `providedIn` parameter specifies that the given type belongs to a particular
75
+ * `Injector`, `NgModule`, or a special scope (e.g. `'root'`). A value of `null` indicates
76
+ * that the injectable does not belong to any scope.
77
+ */
78
+ export declare interface ɵɵInjectableDeclaration<T> {
79
+ /**
80
+ * Specifies that the given type belongs to a particular injector:
81
+ */
82
+ providedIn: Type<any> | 'root' | 'platform' | 'any' | null;
83
+ /**
84
+ * The token to which this definition belongs.
85
+ *
86
+ * Note that this may not be the same as the type that the `factory` will create.
87
+ */
88
+ token: unknown;
89
+ /**
90
+ * Factory method to execute to create an instance of the injectable.
91
+ */
92
+ factory: (t?: Type<any>) => T;
93
+ /**
94
+ * In a case of no explicit injector, a location where the instance of the injectable is stored.
95
+ */
96
+ value: T | undefined;
97
+ }
98
+
99
+ export { }
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.0
3
- * (c) 2010-2024 Google LLC. https://angular.io/
2
+ * @license Angular v20.0.0-next.1
3
+ * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.0
3
- * (c) 2010-2024 Google LLC. https://angular.io/
2
+ * @license Angular v20.0.0-next.1
3
+ * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.0
3
- * (c) 2010-2024 Google LLC. https://angular.io/
2
+ * @license Angular v20.0.0-next.1
3
+ * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.0.0-next.0
4
- * (c) 2010-2024 Google LLC. https://angular.io/
3
+ * @license Angular v20.0.0-next.1
4
+ * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var checker = require('./checker-cf6f7980.js');
12
- var project_paths = require('./project_paths-7d2daa1e.js');
11
+ var checker = require('./checker-af521da6.js');
12
+ var project_paths = require('./project_paths-17dc204d.js');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15