@angular/core 20.0.0-next.8 → 20.0.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 (70) hide show
  1. package/{api.d-KjtSQajV.d.ts → api.d-CRxC7NlU.d.ts} +28 -43
  2. package/{chrome_dev_tools_performance.d-qv7drdAl.d.ts → chrome_dev_tools_performance.d-B0FzTuRf.d.ts} +7 -1
  3. package/{discovery.d-vJaEafe4.d.ts → discovery.d-CBxzK1ay.d.ts} +30 -6
  4. package/event_dispatcher.d-DlbccpYq.d.ts +1 -1
  5. package/fesm2022/attribute-BWp59EjE.mjs +1 -1
  6. package/fesm2022/core.mjs +80 -166
  7. package/fesm2022/core.mjs.map +1 -1
  8. package/fesm2022/{debug_node-DEfPCixm.mjs → debug_node-3mmnD06K.mjs} +138 -54
  9. package/fesm2022/debug_node-3mmnD06K.mjs.map +1 -0
  10. package/fesm2022/primitives/di.mjs +1 -1
  11. package/fesm2022/primitives/event-dispatch.mjs +2 -2
  12. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  13. package/fesm2022/primitives/signals.mjs +7 -5
  14. package/fesm2022/primitives/signals.mjs.map +1 -1
  15. package/fesm2022/{resource-DhKtse7l.mjs → resource-nrAenwIA.mjs} +31 -76
  16. package/fesm2022/resource-nrAenwIA.mjs.map +1 -0
  17. package/fesm2022/{root_effect_scheduler-BZMWiScf.mjs → root_effect_scheduler-B_EWGyLU.mjs} +20 -12
  18. package/fesm2022/root_effect_scheduler-B_EWGyLU.mjs.map +1 -0
  19. package/fesm2022/rxjs-interop.mjs +16 -11
  20. package/fesm2022/rxjs-interop.mjs.map +1 -1
  21. package/fesm2022/{signal-B6pMq7KS.mjs → signal-ePSl6jXn.mjs} +14 -4
  22. package/fesm2022/{signal-B6pMq7KS.mjs.map → signal-ePSl6jXn.mjs.map} +1 -1
  23. package/fesm2022/testing.mjs +61 -63
  24. package/fesm2022/testing.mjs.map +1 -1
  25. package/fesm2022/{untracked-Bz5WMeU1.mjs → untracked-2ouAFbCz.mjs} +4 -4
  26. package/fesm2022/untracked-2ouAFbCz.mjs.map +1 -0
  27. package/fesm2022/weak_ref-BaIq-pgY.mjs +1 -1
  28. package/graph.d-BcIOep_B.d.ts +1 -1
  29. package/index.d.ts +154 -136
  30. package/package.json +3 -3
  31. package/primitives/di/index.d.ts +1 -1
  32. package/primitives/event-dispatch/index.d.ts +1 -1
  33. package/primitives/signals/index.d.ts +3 -3
  34. package/rxjs-interop/index.d.ts +11 -11
  35. package/schematics/bundles/{apply_import_manager-CaG-_cEq.js → apply_import_manager-Coc7Hewu.js} +3 -3
  36. package/schematics/bundles/{change_tracker-ISzWfEHN.js → change_tracker-CDJPOAni.js} +3 -3
  37. package/schematics/bundles/{checker-DV96LHWz.js → checker-BAl7CJ0l.js} +386 -122
  38. package/schematics/bundles/cleanup-unused-imports.js +6 -6
  39. package/schematics/bundles/{compiler-BEZ6sUQS.js → compiler-BSv6JWRF.js} +58 -65
  40. package/schematics/bundles/compiler_host-CAfDJO3W.js +1 -1
  41. package/schematics/bundles/control-flow-migration.js +2 -2
  42. package/schematics/bundles/document-core.js +6 -6
  43. package/schematics/bundles/imports-CIX-JgAN.js +1 -1
  44. package/schematics/bundles/{index-6wv04ZFQ.js → index-CnKffIJ6.js} +6 -5
  45. package/schematics/bundles/{index-B1R5GL-k.js → index-CxuDmkeg.js} +421 -317
  46. package/schematics/bundles/inject-flags.js +6 -6
  47. package/schematics/bundles/inject-migration.js +4 -4
  48. package/schematics/bundles/leading_space-D9nQ8UQC.js +1 -1
  49. package/schematics/bundles/{migrate_ts_type_references-Dh9TZgTr.js → migrate_ts_type_references-DE1AlxIs.js} +6 -6
  50. package/schematics/bundles/ng_decorators-DznZ5jMl.js +1 -1
  51. package/schematics/bundles/nodes-B16H9JUd.js +1 -1
  52. package/schematics/bundles/output-migration.js +7 -7
  53. package/schematics/bundles/{project_paths-B-Nevd-p.js → project_paths-Bl-H7Vlb.js} +4 -4
  54. package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.js +1 -1
  55. package/schematics/bundles/property_name-BBwFuqMe.js +1 -1
  56. package/schematics/bundles/route-lazy-loading.js +4 -4
  57. package/schematics/bundles/self-closing-tags-migration.js +5 -5
  58. package/schematics/bundles/signal-input-migration.js +8 -8
  59. package/schematics/bundles/signal-queries-migration.js +8 -8
  60. package/schematics/bundles/signals.js +8 -8
  61. package/schematics/bundles/standalone-migration.js +5 -5
  62. package/schematics/bundles/symbol-VPWguRxr.js +1 -1
  63. package/schematics/bundles/test-bed-get.js +5 -5
  64. package/{signal.d-E0e5nW1p.d.ts → signal.d-D6VJ67xi.d.ts} +8 -2
  65. package/testing/index.d.ts +12 -24
  66. package/weak_ref.d-eGOEP9S1.d.ts +1 -1
  67. package/fesm2022/debug_node-DEfPCixm.mjs.map +0 -1
  68. package/fesm2022/resource-DhKtse7l.mjs.map +0 -1
  69. package/fesm2022/root_effect_scheduler-BZMWiScf.mjs.map +0 -1
  70. package/fesm2022/untracked-Bz5WMeU1.mjs.map +0 -1
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.8
2
+ * @license Angular v20.0.0-rc.0
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { OutputRef, OutputRefSubscription, DestroyRef, Signal, WritableSignal, ValueEqualityFn, Injector } from './chrome_dev_tools_performance.d-qv7drdAl.js';
7
+ import { OutputRef, OutputRefSubscription, DestroyRef, Signal, WritableSignal, ValueEqualityFn, Injector } from './chrome_dev_tools_performance.d-B0FzTuRf.js';
8
8
 
9
9
  /**
10
10
  * An `OutputEmitterRef` is created by the `output()` function and can be
@@ -34,7 +34,7 @@ declare function getOutputDestroyRef(ref: OutputRef<unknown>): DestroyRef | unde
34
34
  /**
35
35
  * Options for declaring an output.
36
36
  *
37
- * @publicAPI
37
+ * @publicApi 19.0
38
38
  */
39
39
  interface OutputOptions {
40
40
  alias?: string;
@@ -79,49 +79,34 @@ interface OutputOptions {
79
79
  * }
80
80
  * ```
81
81
  * @initializerApiFunction {"showTypesInSignaturePreview": true}
82
- * @publicAPI
82
+ * @publicApi 19.0
83
83
  */
84
84
  declare function output<T = void>(opts?: OutputOptions): OutputEmitterRef<T>;
85
85
 
86
86
  /**
87
- * Status of a `Resource`.
87
+ * String value capturing the status of a `Resource`.
88
+ *
89
+ * Possible statuses are:
90
+ *
91
+ * `idle` - The resource has no valid request and will not perform any loading. `value()` will be
92
+ * `undefined`.
93
+ *
94
+ * `loading` - The resource is currently loading a new value as a result of a change in its reactive
95
+ * dependencies. `value()` will be `undefined`.
96
+ *
97
+ * `reloading` - The resource is currently reloading a fresh value for the same reactive
98
+ * dependencies. `value()` will continue to return the previously fetched value during the reloading
99
+ * operation.
100
+ *
101
+ * `error` - Loading failed with an error. `value()` will be `undefined`.
102
+ *
103
+ * `resolved` - Loading has completed and the resource has the value returned from the loader.
104
+ *
105
+ * `local` - The resource's value was set locally via `.set()` or `.update()`.
88
106
  *
89
107
  * @experimental
90
108
  */
91
- declare enum ResourceStatus {
92
- /**
93
- * The resource has no valid request and will not perform any loading.
94
- *
95
- * `value()` will be `undefined`.
96
- */
97
- Idle = 0,
98
- /**
99
- * Loading failed with an error.
100
- *
101
- * `value()` will be `undefined`.
102
- */
103
- Error = 1,
104
- /**
105
- * The resource is currently loading a new value as a result of a change in its `request`.
106
- *
107
- * `value()` will be `undefined`.
108
- */
109
- Loading = 2,
110
- /**
111
- * The resource is currently reloading a fresh value for the same request.
112
- *
113
- * `value()` will continue to return the previously fetched value during the reloading operation.
114
- */
115
- Reloading = 3,
116
- /**
117
- * Loading has completed and the resource has the value returned from the loader.
118
- */
119
- Resolved = 4,
120
- /**
121
- * The resource's value was set locally via `.set()` or `.update()`.
122
- */
123
- Local = 5
124
- }
109
+ type ResourceStatus = 'idle' | 'error' | 'loading' | 'reloading' | 'resolved' | 'local';
125
110
  /**
126
111
  * A Resource is an asynchronous dependency (for example, the results of an API call) that is
127
112
  * managed and delivered through signals.
@@ -204,7 +189,7 @@ interface ResourceRef<T> extends WritableResource<T> {
204
189
  * @experimental
205
190
  */
206
191
  interface ResourceLoaderParams<R> {
207
- request: Exclude<NoInfer<R>, undefined>;
192
+ params: NoInfer<Exclude<R, undefined>>;
208
193
  abortSignal: AbortSignal;
209
194
  previous: {
210
195
  status: ResourceStatus;
@@ -234,7 +219,7 @@ interface BaseResourceOptions<T, R> {
234
219
  *
235
220
  * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.
236
221
  */
237
- request?: () => R;
222
+ params?: () => R;
238
223
  /**
239
224
  * The value which will be returned from the resource when a server value is unavailable, such as
240
225
  * when the resource is still loading, or in an error state.
@@ -293,5 +278,5 @@ type ResourceStreamItem<T> = {
293
278
  error: unknown;
294
279
  };
295
280
 
296
- export { OutputEmitterRef, ResourceStatus, getOutputDestroyRef, output };
297
- export type { BaseResourceOptions, OutputOptions, PromiseResourceOptions, Resource, ResourceLoader, ResourceLoaderParams, ResourceOptions, ResourceRef, ResourceStreamItem, ResourceStreamingLoader, StreamingResourceOptions, WritableResource };
281
+ export { OutputEmitterRef, getOutputDestroyRef, output };
282
+ export type { BaseResourceOptions, OutputOptions, PromiseResourceOptions, Resource, ResourceLoader, ResourceLoaderParams, ResourceOptions, ResourceRef, ResourceStatus, ResourceStreamItem, ResourceStreamingLoader, StreamingResourceOptions, WritableResource };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.8
2
+ * @license Angular v20.0.0-rc.0
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -14,12 +14,16 @@ import { EventContract } from './event_dispatcher.d-DlbccpYq.js';
14
14
  * call it.
15
15
  *
16
16
  * Ordinary values can be turned into `Signal`s with the `signal` function.
17
+ *
18
+ * @publicApi 17.0
17
19
  */
18
20
  type Signal<T> = (() => T) & {
19
21
  [SIGNAL]: unknown;
20
22
  };
21
23
  /**
22
24
  * Checks if the given `value` is a reactive `Signal`.
25
+ *
26
+ * @publicApi 17.0
23
27
  */
24
28
  declare function isSignal(value: unknown): value is Signal<unknown>;
25
29
  /**
@@ -31,6 +35,8 @@ type ValueEqualityFn<T> = (a: T, b: T) => boolean;
31
35
  declare const ɵWRITABLE_SIGNAL: unique symbol;
32
36
  /**
33
37
  * A `Signal` with a value that can be mutated via a setter interface.
38
+ *
39
+ * @publicApi 17.0
34
40
  */
35
41
  interface WritableSignal<T> extends Signal<T> {
36
42
  [ɵWRITABLE_SIGNAL]: T;
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.8
2
+ * @license Angular v20.0.0-rc.0
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { InjectionToken, Type, ValueProvider, ExistingProvider, FactoryProvider, ConstructorProvider, StaticClassProvider, ClassProvider, EnvironmentProviders, Injector, ProviderToken, InjectOptions, ProcessProvidersFunction, ModuleWithProviders, Provider, DestroyRef, InternalInjectFlags, WritableSignal, OutputRef, StaticProvider } from './chrome_dev_tools_performance.d-qv7drdAl.js';
7
+ import { InjectionToken, Type, ValueProvider, ExistingProvider, FactoryProvider, ConstructorProvider, StaticClassProvider, ClassProvider, EnvironmentProviders, Injector, ProviderToken, InjectOptions, ProcessProvidersFunction, ModuleWithProviders, Provider, DestroyRef, InternalInjectFlags, WritableSignal, OutputRef, StaticProvider } from './chrome_dev_tools_performance.d-B0FzTuRf.js';
8
8
  import { Observable, Subject, Subscription } from 'rxjs';
9
- import { SignalNode } from './signal.d-E0e5nW1p.js';
9
+ import { SignalNode } from './signal.d-D6VJ67xi.js';
10
10
  import { ReactiveNode } from './graph.d-BcIOep_B.js';
11
11
 
12
12
  /**
@@ -2972,6 +2972,8 @@ declare abstract class EffectScheduler {
2972
2972
 
2973
2973
  /**
2974
2974
  * A global reactive effect, which can be manually destroyed.
2975
+ *
2976
+ * @publicApi 20.0
2975
2977
  */
2976
2978
  interface EffectRef {
2977
2979
  /**
@@ -2981,6 +2983,8 @@ interface EffectRef {
2981
2983
  }
2982
2984
  /**
2983
2985
  * Options passed to the `effect` function.
2986
+ *
2987
+ * @publicApi 20.0
2984
2988
  */
2985
2989
  interface CreateEffectOptions {
2986
2990
  /**
@@ -3013,10 +3017,14 @@ interface CreateEffectOptions {
3013
3017
  * An effect can, optionally, register a cleanup function. If registered, the cleanup is executed
3014
3018
  * before the next effect run. The cleanup function makes it possible to "cancel" any work that the
3015
3019
  * previous effect run might have started.
3020
+ *
3021
+ * @publicApi 20.0
3016
3022
  */
3017
3023
  type EffectCleanupFn = () => void;
3018
3024
  /**
3019
3025
  * A callback passed to the effect function that makes it possible to register cleanup logic.
3026
+ *
3027
+ * @publicApi 20.0
3020
3028
  */
3021
3029
  type EffectCleanupRegisterFn = (cleanupFn: EffectCleanupFn) => void;
3022
3030
  /**
@@ -3034,6 +3042,8 @@ type EffectCleanupRegisterFn = (cleanupFn: EffectCleanupFn) => void;
3034
3042
  * and have no connection to the component tree or change detection.
3035
3043
  *
3036
3044
  * `effect()` must be run in injection context, unless the `injector` option is manually specified.
3045
+ *
3046
+ * @publicApi 20.0
3037
3047
  */
3038
3048
  declare function effect(effectFn: (onCleanup: EffectCleanupRegisterFn) => void, options?: CreateEffectOptions): EffectRef;
3039
3049
  interface EffectNode extends ReactiveNode, SchedulableEffect {
@@ -3458,6 +3468,14 @@ declare abstract class RendererFactory2 {
3458
3468
  * renders a template into DOM. You can use custom rendering to intercept
3459
3469
  * rendering calls, or to render to something other than DOM.
3460
3470
  *
3471
+ * <div class="docs-alert docs-alert-important">
3472
+ * <p>
3473
+ * Please be aware that usage of `Renderer2`, in context of accessing DOM elements, provides no
3474
+ * extra security which makes it equivalent to
3475
+ * {@link /best-practices/security#direct-use-of-the-dom-apis-and-explicit-sanitization-calls Security vulnerabilities}.
3476
+ * </p>
3477
+ * </div>
3478
+ *
3461
3479
  * Create your custom renderer using `RendererFactory2`.
3462
3480
  *
3463
3481
  * Use a custom renderer to bypass Angular's templating and
@@ -3991,6 +4009,11 @@ interface LViewEnvironment {
3991
4009
  sanitizer: Sanitizer | null;
3992
4010
  /** Scheduler for change detection to notify when application state changes. */
3993
4011
  changeDetectionScheduler: ChangeDetectionScheduler | null;
4012
+ /**
4013
+ * Whether `ng-reflect-*` attributes should be produced in dev mode
4014
+ * (always disabled in prod mode).
4015
+ */
4016
+ ngReflect: boolean;
3994
4017
  }
3995
4018
  /** Flags associated with an LView (saved in LView[FLAGS]) */
3996
4019
  declare const enum LViewFlags {
@@ -5697,12 +5720,13 @@ declare function twoWayBinding(publicName: string, value: WritableSignal<unknown
5697
5720
  */
5698
5721
  declare class ElementRef<T = any> {
5699
5722
  /**
5700
- * <div class="callout is-critical">
5723
+ * <div class="docs-alert docs-alert-important">
5701
5724
  * <header>Use with caution</header>
5702
5725
  * <p>
5703
5726
  * Use this API as the last resort when direct access to DOM is needed. Use templating and
5704
- * data-binding provided by Angular instead. Alternatively you can take a look at
5705
- * {@link Renderer2} which provides an API that can be safely used.
5727
+ * data-binding provided by Angular instead. If used, it is recommended in combination with
5728
+ * {@link /best-practices/security#direct-use-of-the-dom-apis-and-explicit-sanitization-calls DomSanitizer}
5729
+ * for maxiumum security;
5706
5730
  * </p>
5707
5731
  * </div>
5708
5732
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.8
2
+ * @license Angular v20.0.0-rc.0
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.8
2
+ * @license Angular v20.0.0-rc.0
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */