@angular/core 21.0.0-next.1 → 21.0.0-next.10

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 (107) hide show
  1. package/fesm2022/_attribute-chunk.mjs +12 -0
  2. package/fesm2022/_attribute-chunk.mjs.map +1 -0
  3. package/fesm2022/_debug_node-chunk.mjs +18469 -0
  4. package/fesm2022/_debug_node-chunk.mjs.map +1 -0
  5. package/fesm2022/_effect-chunk.mjs +423 -0
  6. package/fesm2022/_effect-chunk.mjs.map +1 -0
  7. package/fesm2022/_effect-chunk2.mjs +2951 -0
  8. package/fesm2022/_effect-chunk2.mjs.map +1 -0
  9. package/fesm2022/_not_found-chunk.mjs +39 -0
  10. package/fesm2022/_not_found-chunk.mjs.map +1 -0
  11. package/fesm2022/_resource-chunk.mjs +378 -0
  12. package/fesm2022/_resource-chunk.mjs.map +1 -0
  13. package/fesm2022/_untracked-chunk.mjs +96 -0
  14. package/fesm2022/_untracked-chunk.mjs.map +1 -0
  15. package/fesm2022/_weak_ref-chunk.mjs +10 -0
  16. package/fesm2022/_weak_ref-chunk.mjs.map +1 -0
  17. package/fesm2022/core.mjs +2499 -4185
  18. package/fesm2022/core.mjs.map +1 -1
  19. package/fesm2022/primitives-di.mjs +23 -0
  20. package/fesm2022/primitives-di.mjs.map +1 -0
  21. package/fesm2022/primitives-event-dispatch.mjs +788 -0
  22. package/fesm2022/primitives-event-dispatch.mjs.map +1 -0
  23. package/fesm2022/primitives-signals.mjs +187 -0
  24. package/fesm2022/primitives-signals.mjs.map +1 -0
  25. package/fesm2022/rxjs-interop.mjs +210 -308
  26. package/fesm2022/rxjs-interop.mjs.map +1 -1
  27. package/fesm2022/testing.mjs +2309 -3170
  28. package/fesm2022/testing.mjs.map +1 -1
  29. package/package.json +18 -12
  30. package/resources/best-practices.md +56 -0
  31. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +117 -0
  32. package/schematics/bundles/application-config-core.cjs +84 -0
  33. package/schematics/bundles/{apply_import_manager-yycO3l8f.cjs → apply_import_manager-1Zs_gpB6.cjs} +4 -5
  34. package/schematics/bundles/bootstrap-options-migration.cjs +598 -0
  35. package/schematics/bundles/cleanup-unused-imports.cjs +9 -13
  36. package/schematics/bundles/common-to-standalone-migration.cjs +381 -0
  37. package/schematics/bundles/{compiler_host-DrXTGf_7.cjs → compiler_host-DBwYMlTo.cjs} +10 -11
  38. package/schematics/bundles/control-flow-migration.cjs +113 -82
  39. package/schematics/bundles/{imports-26VeX8i-.cjs → imports-DP72APSx.cjs} +5 -1
  40. package/schematics/bundles/{index-BdH2rlWJ.cjs → index-B7I9sIUx.cjs} +36 -39
  41. package/schematics/bundles/inject-migration.cjs +148 -70
  42. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  43. package/schematics/bundles/{migrate_ts_type_references-BVSg43hf.cjs → migrate_ts_type_references-UGIUl7En.cjs} +500 -24
  44. package/schematics/bundles/{ng_component_template-DjLc4mdL.cjs → ng_component_template-Dsuq1Lw7.cjs} +4 -5
  45. package/schematics/bundles/{ng_decorators-CtYwz9Lw.cjs → ng_decorators-DSFlWYQY.cjs} +2 -2
  46. package/schematics/bundles/ngclass-to-class-migration.cjs +118 -109
  47. package/schematics/bundles/ngstyle-to-style-migration.cjs +487 -0
  48. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  49. package/schematics/bundles/output-migration.cjs +16 -19
  50. package/schematics/bundles/parse_html-8VLCL37B.cjs +132 -0
  51. package/schematics/bundles/{project_paths-T_M15e2g.cjs → project_paths-DvD50ouC.cjs} +14 -247
  52. package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +90 -0
  53. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  54. package/schematics/bundles/route-lazy-loading.cjs +54 -26
  55. package/schematics/bundles/router-current-navigation.cjs +7 -18
  56. package/schematics/bundles/router-last-successful-navigation.cjs +7 -18
  57. package/schematics/bundles/router-testing-module-migration.cjs +502 -0
  58. package/schematics/bundles/self-closing-tags-migration.cjs +14 -17
  59. package/schematics/bundles/signal-input-migration.cjs +93 -29
  60. package/schematics/bundles/signal-queries-migration.cjs +22 -25
  61. package/schematics/bundles/signals.cjs +10 -13
  62. package/schematics/bundles/standalone-migration.cjs +135 -102
  63. package/schematics/bundles/{symbol-VPWguRxr.cjs → symbol-BObKoqes.cjs} +3 -2
  64. package/schematics/collection.json +17 -0
  65. package/schematics/migrations/common-to-standalone-migration/schema.json +14 -0
  66. package/schematics/migrations/ngclass-to-class-migration/schema.json +2 -2
  67. package/schematics/migrations/ngstyle-to-style-migration/schema.json +20 -0
  68. package/schematics/migrations/router-testing-module-migration/schema.json +14 -0
  69. package/schematics/migrations.json +16 -2
  70. package/{api.d.d.ts → types/_api-chunk.d.ts} +9 -6
  71. package/{chrome_dev_tools_performance.d.d.ts → types/_chrome_dev_tools_performance-chunk.d.ts} +25 -15
  72. package/{discovery.d.d.ts → types/_discovery-chunk.d.ts} +130 -75
  73. package/{effect.d.d.ts → types/_effect-chunk.d.ts} +3 -4
  74. package/{event_dispatcher.d.d.ts → types/_event_dispatcher-chunk.d.ts} +2 -2
  75. package/{graph.d.d.ts → types/_formatter-chunk.d.ts} +40 -7
  76. package/{weak_ref.d.d.ts → types/_weak_ref-chunk.d.ts} +2 -2
  77. package/{index.d.ts → types/core.d.ts} +233 -298
  78. package/{primitives/di/index.d.ts → types/primitives-di.d.ts} +2 -2
  79. package/{primitives/event-dispatch/index.d.ts → types/primitives-event-dispatch.d.ts} +4 -4
  80. package/{primitives/signals/index.d.ts → types/primitives-signals.d.ts} +7 -8
  81. package/{rxjs-interop/index.d.ts → types/rxjs-interop.d.ts} +8 -6
  82. package/{testing/index.d.ts → types/testing.d.ts} +7 -7
  83. package/fesm2022/attribute.mjs +0 -24
  84. package/fesm2022/attribute.mjs.map +0 -1
  85. package/fesm2022/debug_node.mjs +0 -31829
  86. package/fesm2022/debug_node.mjs.map +0 -1
  87. package/fesm2022/effect.mjs +0 -142
  88. package/fesm2022/effect.mjs.map +0 -1
  89. package/fesm2022/not_found.mjs +0 -56
  90. package/fesm2022/not_found.mjs.map +0 -1
  91. package/fesm2022/primitives/di.mjs +0 -23
  92. package/fesm2022/primitives/di.mjs.map +0 -1
  93. package/fesm2022/primitives/event-dispatch.mjs +0 -1622
  94. package/fesm2022/primitives/event-dispatch.mjs.map +0 -1
  95. package/fesm2022/primitives/signals.mjs +0 -89
  96. package/fesm2022/primitives/signals.mjs.map +0 -1
  97. package/fesm2022/resource.mjs +0 -624
  98. package/fesm2022/resource.mjs.map +0 -1
  99. package/fesm2022/root_effect_scheduler.mjs +0 -4001
  100. package/fesm2022/root_effect_scheduler.mjs.map +0 -1
  101. package/fesm2022/signal.mjs +0 -560
  102. package/fesm2022/signal.mjs.map +0 -1
  103. package/fesm2022/weak_ref.mjs +0 -12
  104. package/fesm2022/weak_ref.mjs.map +0 -1
  105. package/schematics/bundles/index-jjHOgYYs.cjs +0 -22074
  106. package/schematics/bundles/parse_html-CXR8hziE.cjs +0 -41
  107. package/schematics/bundles/project_tsconfig_paths-D7xzGqRi.cjs +0 -51085
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v21.0.0-next.10
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { OutputRef, OutputRefSubscription, DestroyRef, Signal, WritableSignal, ValueEqualityFn, Injector } from './chrome_dev_tools_performance.d.js';
7
+ import { OutputRef, OutputRefSubscription, DestroyRef, Signal, WritableSignal, ValueEqualityFn, Injector } from './_chrome_dev_tools_performance-chunk.js';
8
8
 
9
9
  /**
10
10
  * An `OutputEmitterRef` is created by the `output()` function and can be
@@ -139,7 +139,8 @@ interface Resource<T> {
139
139
  *
140
140
  * This function is reactive.
141
141
  */
142
- hasValue(): this is Resource<Exclude<T, undefined>>;
142
+ hasValue(this: T extends undefined ? this : never): this is Resource<Exclude<T, undefined>>;
143
+ hasValue(): boolean;
143
144
  }
144
145
  /**
145
146
  * A `Resource` with a mutable value.
@@ -150,7 +151,8 @@ interface Resource<T> {
150
151
  */
151
152
  interface WritableResource<T> extends Resource<T> {
152
153
  readonly value: WritableSignal<T>;
153
- hasValue(): this is WritableResource<Exclude<T, undefined>>;
154
+ hasValue(this: T extends undefined ? this : never): this is WritableResource<Exclude<T, undefined>>;
155
+ hasValue(): boolean;
154
156
  /**
155
157
  * Convenience wrapper for `value.set`.
156
158
  */
@@ -176,7 +178,8 @@ interface WritableResource<T> extends Resource<T> {
176
178
  * @experimental
177
179
  */
178
180
  interface ResourceRef<T> extends WritableResource<T> {
179
- hasValue(): this is ResourceRef<Exclude<T, undefined>>;
181
+ hasValue(this: T extends undefined ? this : never): this is ResourceRef<Exclude<T, undefined>>;
182
+ hasValue(): boolean;
180
183
  /**
181
184
  * Manually destroy the resource, which cancels pending requests and returns it to `idle` state.
182
185
  */
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v21.0.0-next.10
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { SIGNAL } from './graph.d.js';
8
- import { EventContract } from './event_dispatcher.d.js';
7
+ import { SIGNAL } from './_formatter-chunk.js';
8
+ import { EventContract } from './_event_dispatcher-chunk.js';
9
9
 
10
10
  /**
11
11
  * A reactive value which notifies consumers of any changes.
@@ -28,6 +28,8 @@ type Signal<T> = (() => T) & {
28
28
  declare function isSignal(value: unknown): value is Signal<unknown>;
29
29
  /**
30
30
  * A comparison function which can determine if two values are equal.
31
+ *
32
+ * @publicApi 17.0
31
33
  */
32
34
  type ValueEqualityFn<T> = (a: T, b: T) => boolean;
33
35
 
@@ -241,7 +243,7 @@ interface ValueSansProvider {
241
243
  }
242
244
  /**
243
245
  * Configures the `Injector` to return a value for a token.
244
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
246
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
245
247
  *
246
248
  * @usageNotes
247
249
  *
@@ -286,7 +288,7 @@ interface StaticClassSansProvider {
286
288
  }
287
289
  /**
288
290
  * Configures the `Injector` to return an instance of `useClass` for a token.
289
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
291
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
290
292
  *
291
293
  * @usageNotes
292
294
  *
@@ -316,7 +318,7 @@ interface StaticClassProvider extends StaticClassSansProvider {
316
318
  /**
317
319
  * Configures the `Injector` to return an instance of a token.
318
320
  *
319
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
321
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
320
322
  *
321
323
  * @usageNotes
322
324
  *
@@ -336,7 +338,7 @@ interface ConstructorSansProvider {
336
338
  /**
337
339
  * Configures the `Injector` to return an instance of a token.
338
340
  *
339
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
341
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
340
342
  *
341
343
  * @usageNotes
342
344
  *
@@ -363,7 +365,7 @@ interface ConstructorProvider extends ConstructorSansProvider {
363
365
  * Configures the `Injector` to return a value of another `useExisting` token.
364
366
  *
365
367
  * @see {@link ExistingProvider}
366
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
368
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
367
369
  *
368
370
  * @publicApi
369
371
  */
@@ -376,7 +378,7 @@ interface ExistingSansProvider {
376
378
  /**
377
379
  * Configures the `Injector` to return a value of another `useExisting` token.
378
380
  *
379
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
381
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
380
382
  *
381
383
  * @usageNotes
382
384
  *
@@ -403,7 +405,7 @@ interface ExistingProvider extends ExistingSansProvider {
403
405
  * Configures the `Injector` to return a value by invoking a `useFactory` function.
404
406
  *
405
407
  * @see {@link FactoryProvider}
406
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
408
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
407
409
  *
408
410
  * @publicApi
409
411
  */
@@ -421,7 +423,7 @@ interface FactorySansProvider {
421
423
  }
422
424
  /**
423
425
  * Configures the `Injector` to return a value by invoking a `useFactory` function.
424
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
426
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
425
427
  *
426
428
  * @usageNotes
427
429
  *
@@ -478,7 +480,7 @@ interface TypeProvider extends Type<any> {
478
480
  * Configures the `Injector` to return a value by invoking a `useClass` function.
479
481
  * Base for `ClassProvider` decorator.
480
482
  *
481
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
483
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
482
484
  *
483
485
  * @publicApi
484
486
  */
@@ -490,7 +492,7 @@ interface ClassSansProvider {
490
492
  }
491
493
  /**
492
494
  * Configures the `Injector` to return an instance of `useClass` for a token.
493
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
495
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
494
496
  *
495
497
  * @usageNotes
496
498
  *
@@ -519,7 +521,7 @@ interface ClassProvider extends ClassSansProvider {
519
521
  }
520
522
  /**
521
523
  * Describes how the `Injector` should be configured.
522
- * @see [Dependency Injection Guide](guide/di/dependency-injection.
524
+ * @see [Dependency Injection Guide](guide/di/dependency-injection)
523
525
  *
524
526
  * @see {@link StaticProvider}
525
527
  *
@@ -726,6 +728,8 @@ interface DestroyableInjector extends Injector {
726
728
  * is injected in a component or directive, the callbacks run when that component or
727
729
  * directive is destroyed. Otherwise the callbacks run when a corresponding injector is destroyed.
728
730
  *
731
+ * @see [Lifecycle DestroyRef](guide/components/lifecycle#destroyref)
732
+ *
729
733
  * @publicApi
730
734
  */
731
735
  declare abstract class DestroyRef {
@@ -744,10 +748,16 @@ declare abstract class DestroyRef {
744
748
  * // stop the destroy callback from executing if needed
745
749
  * unregisterFn();
746
750
  * ```
751
+ *
752
+ * @see [Lifecycle DestroyRef](guide/components/lifecycle#destroyref)
753
+ *
747
754
  */
748
755
  abstract onDestroy(callback: () => void): () => void;
749
756
  /**
750
757
  * Indicates whether the instance has already been destroyed.
758
+ *
759
+ * @see [Detecting instance destruction](guide/components/lifecycle#detecting-instance-destruction)
760
+ *
751
761
  */
752
762
  abstract get destroyed(): boolean;
753
763
  }
@@ -1,15 +1,15 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v21.0.0-next.10
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { InjectionToken, Type, ValueProvider, ExistingProvider, FactoryProvider, ConstructorProvider, StaticClassProvider, ClassProvider, EnvironmentProviders, Injector, ProviderToken, InjectOptions, Provider, ProcessProvidersFunction, ModuleWithProviders, DestroyRef, InternalInjectFlags, WritableSignal, OutputRef, StaticProvider } from './chrome_dev_tools_performance.d.js';
7
+ import { InjectionToken, Type, ValueProvider, ExistingProvider, FactoryProvider, ConstructorProvider, StaticClassProvider, ClassProvider, EnvironmentProviders, Injector, ProviderToken, InjectOptions, Provider, ProcessProvidersFunction, ModuleWithProviders, DestroyRef, InternalInjectFlags, WritableSignal, OutputRef, StaticProvider } from './_chrome_dev_tools_performance-chunk.js';
8
8
  import { Observable, Subject, Subscription } from 'rxjs';
9
- import './event_dispatcher.d.js';
10
- import { SignalNode, BaseEffectNode } from './effect.d.js';
9
+ import './_event_dispatcher-chunk.js';
10
+ import { ReactiveNode } from './_formatter-chunk.js';
11
+ import { SignalNode, BaseEffectNode } from './_effect-chunk.js';
11
12
  import { Injector as Injector$1, InjectionToken as InjectionToken$1, NotFound } from '@angular/core/primitives/di';
12
- import { ReactiveNode } from './graph.d.js';
13
13
 
14
14
  /**
15
15
  * Reactive node type for an input signal. An input signal extends a signal.
@@ -36,6 +36,48 @@ interface InputSignalNode<T, TransformT> extends SignalNode<T> {
36
36
  debugName?: string;
37
37
  }
38
38
 
39
+ /**
40
+ * A [DI token](api/core/InjectionToken) that enables or disables all enter and leave animations.
41
+ */
42
+ declare const ANIMATIONS_DISABLED: InjectionToken<boolean>;
43
+ /**
44
+ * The event type for when `animate.enter` and `animate.leave` are used with function
45
+ * callbacks.
46
+ *
47
+ * @publicApi 20.2
48
+ */
49
+ type AnimationCallbackEvent = {
50
+ target: Element;
51
+ animationComplete: Function;
52
+ };
53
+ /**
54
+ * A [DI token](api/core/InjectionToken) that configures the maximum animation timeout
55
+ * before element removal. The default value mirrors from Chrome's cross document
56
+ * navigation view transition timeout. It's intended to prevent people from accidentally
57
+ * forgetting to call the removal function in their callback. Also serves as a delay
58
+ * for when stylesheets are pruned.
59
+ *
60
+ * @publicApi 20.2
61
+ */
62
+ declare const MAX_ANIMATION_TIMEOUT: InjectionToken<number>;
63
+ /**
64
+ * The function type for `animate.enter` and `animate.leave` when they are used with
65
+ * function callbacks.
66
+ *
67
+ * @publicApi 20.2
68
+ */
69
+ type AnimationFunction = (event: AnimationCallbackEvent) => void;
70
+ interface NodeAnimations {
71
+ animateFns: Function[];
72
+ resolvers?: VoidFunction[];
73
+ }
74
+ interface AnimationLViewData {
75
+ enter?: Map<number, NodeAnimations>;
76
+ leave?: Map<number, NodeAnimations>;
77
+ running?: Promise<unknown>;
78
+ skipLeaveAnimations?: boolean;
79
+ }
80
+
39
81
  declare const enum NotificationSource {
40
82
  MarkAncestorsForTraversal = 0,
41
83
  SetInput = 1,
@@ -61,6 +103,8 @@ declare abstract class ChangeDetectionScheduler {
61
103
  }
62
104
  /** Token used to indicate if zoneless was enabled via provideZonelessChangeDetection(). */
63
105
  declare const ZONELESS_ENABLED: InjectionToken<boolean>;
106
+ /** Token used to indicate `provideZonelessChangeDetection` was used. */
107
+ declare const PROVIDED_ZONELESS: InjectionToken<boolean>;
64
108
 
65
109
  /**
66
110
  * @fileoverview
@@ -1103,7 +1147,44 @@ declare const enum TNodeFlags {
1103
1147
  /**
1104
1148
  * Bit #10 - This bit is set if the node is within a set of control flow blocks.
1105
1149
  */
1106
- isInControlFlow = 512
1150
+ isInControlFlow = 512,
1151
+ /**
1152
+ * Bit #11 - This bit is set if the node represents a form control.
1153
+ *
1154
+ * True when the node has an input binding to a `ɵControl` directive (but not also to a custom
1155
+ * component).
1156
+ */
1157
+ isFormControl = 1024,
1158
+ /**
1159
+ * Bit #12 - This bit is set if the node hosts a custom control component.
1160
+ *
1161
+ * A custom control component's model property is named `value`.
1162
+ */
1163
+ isFormValueControl = 2048,
1164
+ /**
1165
+ * Bit #13 - This bit is set if the node hosts a custom checkbox component.
1166
+ *
1167
+ * A custom checkbox component's model property is named `checked`.
1168
+ */
1169
+ isFormCheckboxControl = 4096,
1170
+ /**
1171
+ * Bit #14 - This bit is set if the node hosts an interoperable control implementation.
1172
+ *
1173
+ * This is used to bind to a `ControlValueAccessor` from `@angular/forms`.
1174
+ */
1175
+ isInteropControl = 8192,
1176
+ /**
1177
+ * Bit #15 - This bit is set if the node is a native control with a numeric type.
1178
+ *
1179
+ * This is used to determine whether the control supports the `min` and `max` properties.
1180
+ */
1181
+ isNativeNumericControl = 16384,
1182
+ /**
1183
+ * Bit #16 - This bit is set if the node is a native text control.
1184
+ *
1185
+ * This is used to determine whether control supports the `minLength` and `maxLength` properties.
1186
+ */
1187
+ isNativeTextControl = 32768
1107
1188
  }
1108
1189
  /**
1109
1190
  * Corresponds to the TNode.providerIndexes property.
@@ -2805,12 +2886,18 @@ declare const enum DeferBlockTrigger {
2805
2886
  When = 6,
2806
2887
  Never = 7
2807
2888
  }
2808
- /** * Describes specified delay (in ms) in the `hydrate on timer()` trigger. */
2889
+ /** Describes specified delay (in ms) in the `hydrate on timer()` trigger. */
2809
2890
  interface HydrateTimerTriggerDetails {
2810
- delay: number;
2891
+ type: DeferBlockTrigger.Timer;
2892
+ delay?: number;
2893
+ }
2894
+ /** Describes the config for a `hydrate on viewport` trigger. */
2895
+ interface HydrateViewportTriggerDetails {
2896
+ type: DeferBlockTrigger.Viewport;
2897
+ intersectionObserverOptions?: IntersectionObserverInit;
2811
2898
  }
2812
2899
  /** * Describes all possible hydration trigger details specified in a template. */
2813
- type HydrateTriggerDetails = HydrateTimerTriggerDetails;
2900
+ type HydrateTriggerDetails = HydrateTimerTriggerDetails | HydrateViewportTriggerDetails;
2814
2901
  /**
2815
2902
  * Internal structure used for configuration of defer block behavior.
2816
2903
  * */
@@ -2915,6 +3002,12 @@ interface TracingService<T extends TracingSnapshot> {
2915
3002
  * snapshot.
2916
3003
  */
2917
3004
  snapshot(linkedSnapshot: T | null): T;
3005
+ /**
3006
+ * Propagate the current tracing context to the provided function.
3007
+ * @param fn A function.
3008
+ * @return A function that will propagate the current tracing context.
3009
+ */
3010
+ propagate?<T extends Function>(fn: T): T;
2918
3011
  /**
2919
3012
  * Wrap an event listener bound by the framework for tracing.
2920
3013
  * @param element Element on which the event is bound.
@@ -3600,9 +3693,10 @@ declare abstract class Renderer2 {
3600
3693
  * @param parent The parent node.
3601
3694
  * @param oldChild The child node to remove.
3602
3695
  * @param isHostElement Optionally signal to the renderer whether this element is a host element
3603
- * or not
3696
+ * @param requireSynchronousElementRemoval Optionally signal to the renderer whether this element
3697
+ * needs synchronous removal
3604
3698
  */
3605
- abstract removeChild(parent: any, oldChild: any, isHostElement?: boolean): void;
3699
+ abstract removeChild(parent: any, oldChild: any, isHostElement?: boolean, requireSynchronousElementRemoval?: boolean): void;
3606
3700
  /**
3607
3701
  * Implement this callback to prepare an element to be bootstrapped
3608
3702
  * as a root element, and return the element instance.
@@ -3747,7 +3841,7 @@ interface Renderer {
3747
3841
  destroyNode?: ((node: RNode) => void) | null;
3748
3842
  appendChild(parent: RElement, newChild: RNode): void;
3749
3843
  insertBefore(parent: RNode, newChild: RNode, refChild: RNode | null, isMove?: boolean): void;
3750
- removeChild(parent: RElement | null, oldChild: RNode, isHostElement?: boolean): void;
3844
+ removeChild(parent: RElement | null, oldChild: RNode, isHostElement?: boolean, requireSynchronousElementRemoval?: boolean): void;
3751
3845
  selectRootElement(selectorOrNode: string | any, preserveContent?: boolean): RElement;
3752
3846
  parentNode(node: RNode): RElement | null;
3753
3847
  nextSibling(node: RNode): RNode | null;
@@ -3793,6 +3887,7 @@ declare const EFFECTS_TO_SCHEDULE = 22;
3793
3887
  declare const EFFECTS = 23;
3794
3888
  declare const REACTIVE_TEMPLATE_CONSUMER = 24;
3795
3889
  declare const AFTER_RENDER_SEQUENCES_TO_ADD = 25;
3890
+ declare const ANIMATIONS = 26;
3796
3891
  interface OpaqueViewState {
3797
3892
  '__brand__': 'Brand for OpaqueViewState that nothing will match';
3798
3893
  }
@@ -4051,6 +4146,7 @@ interface LView<T = unknown> extends Array<any> {
4051
4146
  */
4052
4147
  [REACTIVE_TEMPLATE_CONSUMER]: ReactiveLViewConsumer | null;
4053
4148
  [AFTER_RENDER_SEQUENCES_TO_ADD]: AfterRenderSequence[] | null;
4149
+ [ANIMATIONS]: AnimationLViewData | null;
4054
4150
  }
4055
4151
  /**
4056
4152
  * Contextual data that is shared across multiple instances of `LView` in the same application.
@@ -4611,34 +4707,25 @@ interface DirectiveDecorator {
4611
4707
  *
4612
4708
  * ### Declaring directives
4613
4709
  *
4614
- * In order to make a directive available to other components in your application, you should do
4615
- * one of the following:
4616
- * - either mark the directive as [standalone](guide/components/importing),
4617
- * - or declare it in an NgModule by adding it to the `declarations` and `exports` fields.
4618
- *
4619
- * ** Marking a directive as standalone **
4620
- *
4621
- * You can add the `standalone: true` flag to the Directive decorator metadata to declare it as
4622
- * [standalone](guide/components/importing):
4710
+ * By default, directives are marked as [standalone](guide/components/importing), which makes
4711
+ * them available to other components in your application.
4623
4712
  *
4624
4713
  * ```ts
4625
4714
  * @Directive({
4626
- * standalone: true,
4627
4715
  * selector: 'my-directive',
4628
4716
  * })
4629
- * class MyDirective {}
4630
4717
  * ```
4631
4718
  *
4632
- * When marking a directive as standalone, please make sure that the directive is not already
4633
- * declared in an NgModule.
4634
- *
4719
+ * Please make sure that directives marked as standalone are not already declared in an NgModule.
4635
4720
  *
4636
4721
  * ** Declaring a directive in an NgModule **
4637
- *
4638
- * Another approach is to declare a directive in an NgModule:
4722
+ * If you want to declare a directive in an ngModule, add the `standalone: false` flag to the
4723
+ * Directive decorator metadata and add the directive to the `declarations` and `exports`
4724
+ * fields of your ngModule.
4639
4725
  *
4640
4726
  * ```ts
4641
4727
  * @Directive({
4728
+ * standalone: false,
4642
4729
  * selector: 'my-directive',
4643
4730
  * })
4644
4731
  * class MyDirective {}
@@ -5089,15 +5176,6 @@ interface Component extends Directive {
5089
5176
  *
5090
5177
  */
5091
5178
  viewProviders?: Provider[];
5092
- /**
5093
- * The module ID of the module that contains the component.
5094
- * The component must be able to resolve relative URLs for templates and styles.
5095
- * SystemJS exposes the `__moduleName` variable within each module.
5096
- * In CommonJS, this can be set to `module.id`.
5097
- *
5098
- * @deprecated This option does not have any effect. Will be removed in Angular v17.
5099
- */
5100
- moduleId?: string;
5101
5179
  /**
5102
5180
  * The relative path or absolute URL of a template file for an Angular component.
5103
5181
  * If provided, do not supply an inline template using `template`.
@@ -5148,12 +5226,6 @@ interface Component extends Directive {
5148
5226
  * the policy is automatically switched to `ViewEncapsulation.None`.
5149
5227
  */
5150
5228
  encapsulation?: ViewEncapsulation;
5151
- /**
5152
- * Overrides the default interpolation start and end delimiters (`{{` and `}}`).
5153
- *
5154
- * @deprecated use Angular's default interpolation delimiters instead.
5155
- */
5156
- interpolation?: [string, string];
5157
5229
  /**
5158
5230
  * True to preserve or false to remove potentially superfluous whitespace characters
5159
5231
  * from the compiled template. Whitespace characters are those matching the `\s`
@@ -5409,6 +5481,9 @@ interface HostBindingDecorator {
5409
5481
  *
5410
5482
  * @usageNotes
5411
5483
  *
5484
+ * NOTE: **Always** prefer using the `host` property over `@HostBinding`.
5485
+ * This decorator exist exclusively for backwards compatibility.
5486
+ *
5412
5487
  * The following example creates a directive that sets the `valid` and `invalid`
5413
5488
  * class, a style color, and an id on the DOM element that has an `ngModel` directive on it.
5414
5489
  *
@@ -5662,14 +5737,6 @@ declare abstract class ChangeDetectorRef {
5662
5737
  /** Returns a ChangeDetectorRef (a.k.a. a ViewRef) */
5663
5738
  declare function injectChangeDetectorRef(flags: InternalInjectFlags): ChangeDetectorRef;
5664
5739
 
5665
- /*!
5666
- * @license
5667
- * Copyright Google LLC All Rights Reserved.
5668
- *
5669
- * Use of this source code is governed by an MIT-style license that can be
5670
- * found in the LICENSE file at https://angular.dev/license
5671
- */
5672
-
5673
5740
  /** Symbol used to store and retrieve metadata about a binding. */
5674
5741
  declare const BINDING: unique symbol;
5675
5742
  /**
@@ -6462,24 +6529,6 @@ interface BootstrapOptions {
6462
6529
  * @deprecated BootstrapOptions is deprecated. Use `provideZoneChangeDetection` instead to configure coalescing.
6463
6530
  */
6464
6531
  ngZoneRunCoalescing?: boolean;
6465
- /**
6466
- * When false, change detection is scheduled when Angular receives
6467
- * a clear indication that templates need to be refreshed. This includes:
6468
- *
6469
- * - calling `ChangeDetectorRef.markForCheck`
6470
- * - calling `ComponentRef.setInput`
6471
- * - updating a signal that is read in a template
6472
- * - attaching a view that is marked dirty
6473
- * - removing a view
6474
- * - registering a render hook (templates are only refreshed if render hooks do one of the above)
6475
- *
6476
- * @deprecated This option was introduced out of caution as a way for developers to opt out of the
6477
- * new behavior in v18 which schedule change detection for the above events when they occur
6478
- * outside the Zone. After monitoring the results post-release, we have determined that this
6479
- * feature is working as desired and do not believe it should ever be disabled by setting
6480
- * this option to `true`.
6481
- */
6482
- ignoreChangesOutsideZone?: boolean;
6483
6532
  }
6484
6533
  /**
6485
6534
  * A reference to an Angular application running on a page.
@@ -6781,7 +6830,7 @@ interface NgModule {
6781
6830
  * The set of injectable objects that are available in the injector
6782
6831
  * of this module.
6783
6832
  *
6784
- * @see [Dependency Injection guide](guide/di/dependency-injection
6833
+ * @see [Dependency Injection guide](guide/di/dependency-injection)
6785
6834
  * @see [NgModule guide](guide/ngmodules/providers)
6786
6835
  *
6787
6836
  * @usageNotes
@@ -7052,7 +7101,9 @@ declare class PlatformRef {
7052
7101
  * @deprecated Passing NgModule factories as the `PlatformRef.bootstrapModuleFactory` function
7053
7102
  * argument is deprecated. Use the `PlatformRef.bootstrapModule` API instead.
7054
7103
  */
7055
- bootstrapModuleFactory<M>(moduleFactory: NgModuleFactory<M>, options?: BootstrapOptions): Promise<NgModuleRef<M>>;
7104
+ bootstrapModuleFactory<M>(moduleFactory: NgModuleFactory<M>, options?: BootstrapOptions & {
7105
+ applicationProviders?: Array<Provider | EnvironmentProviders>;
7106
+ }): Promise<NgModuleRef<M>>;
7056
7107
  /**
7057
7108
  * Creates an instance of an `@NgModule` for a given platform.
7058
7109
  *
@@ -7069,7 +7120,11 @@ declare class PlatformRef {
7069
7120
  * ```
7070
7121
  *
7071
7122
  */
7072
- bootstrapModule<M>(moduleType: Type<M>, compilerOptions?: (CompilerOptions & BootstrapOptions) | Array<CompilerOptions & BootstrapOptions>): Promise<NgModuleRef<M>>;
7123
+ bootstrapModule<M>(moduleType: Type<M>, compilerOptions?: (CompilerOptions & BootstrapOptions & {
7124
+ applicationProviders?: Array<Provider | EnvironmentProviders>;
7125
+ }) | Array<CompilerOptions & BootstrapOptions & {
7126
+ applicationProviders?: Array<Provider | EnvironmentProviders>;
7127
+ }>): Promise<NgModuleRef<M>>;
7073
7128
  /**
7074
7129
  * Registers a listener to be called when the platform is destroyed.
7075
7130
  */
@@ -7386,5 +7441,5 @@ interface DeferBlockDetails extends DehydratedDeferBlock {
7386
7441
  */
7387
7442
  declare function getDeferBlocks(lView: LView, deferBlocks: DeferBlockDetails[]): void;
7388
7443
 
7389
- export { APP_BOOTSTRAP_LISTENER, AfterRenderManager, AnimationRendererType, ApplicationRef, AttributeMarker, COMPILER_OPTIONS, CONTAINER_HEADER_OFFSET, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionScheduler, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, Directive, EffectScheduler, ElementRef, EmbeddedViewRef, EnvironmentInjector, EventEmitter, HostBinding, HostListener, INJECTOR_SCOPE, Input, InputFlags, ModuleWithComponentFactories, NG_INJ_DEF, NG_PROV_DEF, NO_ERRORS_SCHEMA, NavigateEvent, Navigation, NavigationCurrentEntryChangeEvent, NavigationDestination, NavigationHistoryEntry, NavigationTransition, NgModule, NgModuleFactory, NgModuleRef, NgZone, NoopNgZone, NotificationSource, Output, Pipe, PlatformRef, QueryFlags, QueryList, R3Injector, RenderFlags, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, TDeferDetailsFlags, TracingAction, TracingService, ViewEncapsulation, ViewRef, ZONELESS_ENABLED, asNativeElements, effect, getDebugNode, getDeferBlocks, getInjectableDef, injectChangeDetectorRef, inputBinding, isBoundToModule, isInjectable, outputBinding, twoWayBinding, ɵɵdefineInjectable, ɵɵdefineInjector };
7390
- export type { AfterRenderRef, Binding, BootstrapOptions, ClassDebugInfo, CompilerOptions, ComponentDecorator, ComponentDef, ComponentDefFeature, ComponentTemplate, ComponentType, ContentQueriesFunction, CreateEffectOptions, CssSelectorList, DeferBlockConfig, DeferBlockDependencyInterceptor, DeferBlockDetails, DehydratedDeferBlock, DependencyResolverFn, DependencyTypeList, DirectiveDecorator, DirectiveDef, DirectiveDefFeature, DirectiveType, DirectiveWithBindings, EffectCleanupFn, EffectCleanupRegisterFn, EffectRef, GlobalTargetResolver, HostBindingDecorator, HostBindingsFunction, HostDirectiveConfig, HostListenerDecorator, InjectableType, InjectorType, InputDecorator, InputSignalNode, InputTransformFunction, InternalNgModuleRef, LContainer, LView, ListenerOptions, LocalRefExtractor, NavigationInterceptOptions, NavigationNavigateOptions, NavigationOptions, NavigationReloadOptions, NavigationResult, NavigationTypeString, NavigationUpdateCurrentEntryOptions, NgModuleDecorator, NgModuleScopeInfoFromDecorator, OpaqueViewState, OutputDecorator, PipeDecorator, PipeDef, PipeType, Predicate, ProjectionSlots, RElement, RNode, RawScopeInfoFromDecorator, RendererType2, SanitizerFn, SchemaMetadata, TAttributes, TConstantsOrFactory, TDeferBlockDetails, TNode, TView, TracingSnapshot, TrustedHTML, TrustedScript, TrustedScriptURL, TypeDecorator, TypeOrFactory, ViewQueriesFunction, ɵɵComponentDeclaration, ɵɵDirectiveDeclaration, ɵɵFactoryDeclaration, ɵɵInjectableDeclaration, ɵɵInjectorDeclaration, ɵɵInjectorDef, ɵɵNgModuleDeclaration, ɵɵPipeDeclaration };
7444
+ export { ANIMATIONS_DISABLED, APP_BOOTSTRAP_LISTENER, AfterRenderManager, AnimationRendererType, ApplicationRef, AttributeMarker, COMPILER_OPTIONS, CONTAINER_HEADER_OFFSET, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionScheduler, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, Directive, EffectScheduler, ElementRef, EmbeddedViewRef, EnvironmentInjector, EventEmitter, HostBinding, HostListener, INJECTOR_SCOPE, Input, InputFlags, MAX_ANIMATION_TIMEOUT, ModuleWithComponentFactories, NG_INJ_DEF, NG_PROV_DEF, NO_ERRORS_SCHEMA, NavigateEvent, Navigation, NavigationCurrentEntryChangeEvent, NavigationDestination, NavigationHistoryEntry, NavigationTransition, NgModule, NgModuleFactory, NgModuleRef, NgZone, NoopNgZone, NotificationSource, Output, PROVIDED_ZONELESS, Pipe, PlatformRef, QueryFlags, QueryList, R3Injector, RenderFlags, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, TDeferDetailsFlags, TracingAction, TracingService, ViewEncapsulation, ViewRef, ZONELESS_ENABLED, asNativeElements, effect, getDebugNode, getDeferBlocks, getInjectableDef, injectChangeDetectorRef, inputBinding, isBoundToModule, isInjectable, outputBinding, twoWayBinding, ɵɵdefineInjectable, ɵɵdefineInjector };
7445
+ export type { AfterRenderRef, AnimationCallbackEvent, AnimationFunction, Binding, BootstrapOptions, ClassDebugInfo, CompilerOptions, ComponentDecorator, ComponentDef, ComponentDefFeature, ComponentTemplate, ComponentType, ContentQueriesFunction, CreateEffectOptions, CssSelectorList, DeferBlockConfig, DeferBlockDependencyInterceptor, DeferBlockDetails, DehydratedDeferBlock, DependencyResolverFn, DependencyTypeList, DirectiveDecorator, DirectiveDef, DirectiveDefFeature, DirectiveType, DirectiveWithBindings, EffectCleanupFn, EffectCleanupRegisterFn, EffectRef, GlobalTargetResolver, HostBindingDecorator, HostBindingsFunction, HostDirectiveConfig, HostListenerDecorator, InjectableType, InjectorType, InputDecorator, InputSignalNode, InputTransformFunction, InternalNgModuleRef, LContainer, LView, ListenerOptions, LocalRefExtractor, NavigationInterceptOptions, NavigationNavigateOptions, NavigationOptions, NavigationReloadOptions, NavigationResult, NavigationTypeString, NavigationUpdateCurrentEntryOptions, NgModuleDecorator, NgModuleScopeInfoFromDecorator, OpaqueViewState, OutputDecorator, PipeDecorator, PipeDef, PipeType, Predicate, ProjectionSlots, RElement, RNode, RawScopeInfoFromDecorator, RendererType2, SanitizerFn, SchemaMetadata, TAttributes, TConstantsOrFactory, TDeferBlockDetails, TNode, TView, TracingSnapshot, TrustedHTML, TrustedScript, TrustedScriptURL, TypeDecorator, TypeOrFactory, ViewQueriesFunction, ɵɵComponentDeclaration, ɵɵDirectiveDeclaration, ɵɵFactoryDeclaration, ɵɵInjectableDeclaration, ɵɵInjectorDeclaration, ɵɵInjectorDef, ɵɵNgModuleDeclaration, ɵɵPipeDeclaration };
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v21.0.0-next.10
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { ReactiveNode, ValueEqualityFn, SIGNAL, ReactiveHookFn } from './graph.d.js';
7
+ import { ReactiveNode, ValueEqualityFn, SIGNAL, ReactiveHookFn } from './_formatter-chunk.js';
8
8
 
9
9
  interface SignalNode<T> extends ReactiveNode {
10
10
  value: T;
@@ -30,7 +30,6 @@ declare function runPostSignalSetFn<T>(node: SignalNode<T>): void;
30
30
  declare const SIGNAL_NODE: SignalNode<unknown>;
31
31
 
32
32
  interface BaseEffectNode extends ReactiveNode {
33
- hasRun: boolean;
34
33
  fn: () => void;
35
34
  destroy(): void;
36
35
  cleanup(): void;
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v21.0.0-next.10
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v21.0.0-next.10
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -39,6 +39,7 @@ interface ReactiveLink {
39
39
  nextConsumer: ReactiveLink | undefined;
40
40
  nextProducer: ReactiveLink | undefined;
41
41
  }
42
+ type ReactiveNodeKind = 'signal' | 'computed' | 'effect' | 'template' | 'linkedSignal' | 'afterRenderEffectPhase' | 'unknown';
42
43
  /**
43
44
  * A producer and/or consumer which participates in the reactive graph.
44
45
  *
@@ -125,7 +126,7 @@ interface ReactiveNode {
125
126
  *
126
127
  * Used in Angular DevTools to identify the kind of signal.
127
128
  */
128
- kind: string;
129
+ kind: ReactiveNodeKind;
129
130
  }
130
131
  /**
131
132
  * Called by implementations when a producer's signal is read.
@@ -153,19 +154,39 @@ declare function producerUpdatesAllowed(): boolean;
153
154
  declare function consumerMarkDirty(node: ReactiveNode): void;
154
155
  declare function producerMarkClean(node: ReactiveNode): void;
155
156
  /**
156
- * Prepare this consumer to run a computation in its reactive context.
157
+ * Prepare this consumer to run a computation in its reactive context and set
158
+ * it as the active consumer.
157
159
  *
158
160
  * Must be called by subclasses which represent reactive computations, before those computations
159
161
  * begin.
160
162
  */
161
163
  declare function consumerBeforeComputation(node: ReactiveNode | null): ReactiveNode | null;
162
164
  /**
163
- * Finalize this consumer's state after a reactive computation has run.
165
+ * Prepare this consumer to run a computation in its reactive context.
166
+ *
167
+ * We expose this mainly for code where we manually batch effects into a single
168
+ * consumer. In those cases we may wish to "reopen" a consumer multiple times
169
+ * in initial render before finalizing it. Most code should just call
170
+ * `consumerBeforeComputation` instead of calling this directly.
171
+ */
172
+ declare function resetConsumerBeforeComputation(node: ReactiveNode): void;
173
+ /**
174
+ * Finalize this consumer's state and set previous consumer as the active consumer after a
175
+ * reactive computation has run.
164
176
  *
165
177
  * Must be called by subclasses which represent reactive computations, after those computations
166
178
  * have finished.
167
179
  */
168
180
  declare function consumerAfterComputation(node: ReactiveNode | null, prevConsumer: ReactiveNode | null): void;
181
+ /**
182
+ * Finalize this consumer's state after a reactive computation has run.
183
+ *
184
+ * We expose this mainly for code where we manually batch effects into a single
185
+ * consumer. In those cases we may wish to "reopen" a consumer multiple times
186
+ * in initial render before finalizing it. Most code should just call
187
+ * `consumerAfterComputation` instead of calling this directly.
188
+ */
189
+ declare function finalizeConsumerAfterComputation(node: ReactiveNode): void;
169
190
  /**
170
191
  * Determine whether this consumer has any dependencies which have changed since the last time
171
192
  * they were read.
@@ -178,5 +199,17 @@ declare function consumerDestroy(node: ReactiveNode): void;
178
199
  declare function runPostProducerCreatedFn(node: ReactiveNode): void;
179
200
  declare function setPostProducerCreatedFn(fn: ReactiveHookFn | null): ReactiveHookFn | null;
180
201
 
181
- export { REACTIVE_NODE, SIGNAL, consumerAfterComputation, consumerBeforeComputation, consumerDestroy, consumerMarkDirty, consumerPollProducersForChange, defaultEquals, getActiveConsumer, isInNotificationPhase, isReactive, producerAccessed, producerIncrementEpoch, producerMarkClean, producerNotifyConsumers, producerUpdateValueVersion, producerUpdatesAllowed, runPostProducerCreatedFn, setActiveConsumer, setPostProducerCreatedFn };
182
- export type { Reactive, ReactiveHookFn, ReactiveNode, ValueEqualityFn };
202
+ declare global {
203
+ var devtoolsFormatters: any[];
204
+ }
205
+ /**
206
+ * Installs the custom formatter into custom formatting on Signals in the devtools.
207
+ *
208
+ * Supported by both Chrome and Firefox.
209
+ *
210
+ * @see https://firefox-source-docs.mozilla.org/devtools-user/custom_formatters/index.html
211
+ */
212
+ declare function installDevToolsSignalFormatter(): void;
213
+
214
+ export { REACTIVE_NODE, SIGNAL, consumerAfterComputation, consumerBeforeComputation, consumerDestroy, consumerMarkDirty, consumerPollProducersForChange, defaultEquals, finalizeConsumerAfterComputation, getActiveConsumer, installDevToolsSignalFormatter, isInNotificationPhase, isReactive, producerAccessed, producerIncrementEpoch, producerMarkClean, producerNotifyConsumers, producerUpdateValueVersion, producerUpdatesAllowed, resetConsumerBeforeComputation, runPostProducerCreatedFn, setActiveConsumer, setPostProducerCreatedFn };
215
+ export type { Reactive, ReactiveHookFn, ReactiveNode, ReactiveNodeKind, ValueEqualityFn };