@angular/core 17.0.0-next.8 → 17.0.0-rc.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 (68) hide show
  1. package/esm2022/src/application_init.mjs +3 -2
  2. package/esm2022/src/application_ref.mjs +4 -3
  3. package/esm2022/src/application_tokens.mjs +1 -11
  4. package/esm2022/src/core.mjs +2 -2
  5. package/esm2022/src/core_private_export.mjs +5 -4
  6. package/esm2022/src/core_render3_private_export.mjs +2 -2
  7. package/esm2022/src/debug/debug_node.mjs +5 -9
  8. package/esm2022/src/defer/cleanup.mjs +40 -0
  9. package/esm2022/src/defer/discovery.mjs +47 -0
  10. package/esm2022/src/defer/dom_triggers.mjs +256 -0
  11. package/esm2022/src/defer/idle_scheduler.mjs +112 -0
  12. package/esm2022/src/defer/instructions.mjs +662 -0
  13. package/esm2022/src/defer/interfaces.mjs +81 -0
  14. package/esm2022/src/defer/timer_scheduler.mjs +201 -0
  15. package/esm2022/src/defer/utils.mjs +122 -0
  16. package/esm2022/src/di/r3_injector.mjs +6 -1
  17. package/esm2022/src/errors.mjs +1 -1
  18. package/esm2022/src/hydration/api.mjs +2 -4
  19. package/esm2022/src/hydration/skip_hydration.mjs +7 -7
  20. package/esm2022/src/hydration/utils.mjs +2 -2
  21. package/esm2022/src/linker/view_container_ref.mjs +4 -6
  22. package/esm2022/src/metadata/directives.mjs +1 -1
  23. package/esm2022/src/render/api.mjs +1 -1
  24. package/esm2022/src/render3/after_render_hooks.mjs +55 -21
  25. package/esm2022/src/render3/debug/injector_profiler.mjs +26 -8
  26. package/esm2022/src/render3/index.mjs +3 -2
  27. package/esm2022/src/render3/instructions/all.mjs +2 -2
  28. package/esm2022/src/render3/instructions/change_detection.mjs +24 -3
  29. package/esm2022/src/render3/instructions/control_flow.mjs +25 -15
  30. package/esm2022/src/render3/interfaces/container.mjs +1 -4
  31. package/esm2022/src/render3/interfaces/definition.mjs +2 -4
  32. package/esm2022/src/render3/interfaces/i18n.mjs +1 -4
  33. package/esm2022/src/render3/interfaces/injector.mjs +1 -4
  34. package/esm2022/src/render3/interfaces/node.mjs +1 -4
  35. package/esm2022/src/render3/interfaces/projection.mjs +2 -4
  36. package/esm2022/src/render3/interfaces/query.mjs +2 -4
  37. package/esm2022/src/render3/interfaces/renderer.mjs +2 -4
  38. package/esm2022/src/render3/interfaces/renderer_dom.mjs +2 -4
  39. package/esm2022/src/render3/interfaces/view.mjs +1 -4
  40. package/esm2022/src/render3/list_reconciliation.mjs +58 -34
  41. package/esm2022/src/render3/reactive_lview_consumer.mjs +2 -7
  42. package/esm2022/src/render3/util/injector_discovery_utils.mjs +26 -2
  43. package/esm2022/src/render3/util/view_utils.mjs +1 -4
  44. package/esm2022/src/version.mjs +1 -1
  45. package/esm2022/testing/src/defer.mjs +6 -3
  46. package/esm2022/testing/src/logger.mjs +3 -3
  47. package/fesm2022/core.mjs +1015 -932
  48. package/fesm2022/core.mjs.map +1 -1
  49. package/fesm2022/primitives/signals.mjs +1 -1
  50. package/fesm2022/rxjs-interop.mjs +1 -1
  51. package/fesm2022/testing.mjs +6 -3
  52. package/fesm2022/testing.mjs.map +1 -1
  53. package/index.d.ts +54 -18
  54. package/package.json +1 -1
  55. package/primitives/signals/index.d.ts +1 -1
  56. package/rxjs-interop/index.d.ts +1 -1
  57. package/schematics/migrations/block-template-entities/bundle.js +1051 -467
  58. package/schematics/migrations/block-template-entities/bundle.js.map +4 -4
  59. package/schematics/migrations/compiler-options/bundle.js +13 -13
  60. package/schematics/migrations/transfer-state/bundle.js +13 -13
  61. package/schematics/ng-generate/control-flow-migration/bundle.js +1284 -612
  62. package/schematics/ng-generate/control-flow-migration/bundle.js.map +4 -4
  63. package/schematics/ng-generate/standalone-migration/bundle.js +1300 -708
  64. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  65. package/testing/index.d.ts +1 -1
  66. package/esm2022/src/render3/instructions/defer.mjs +0 -1225
  67. package/esm2022/src/render3/instructions/defer_events.mjs +0 -174
  68. package/esm2022/src/render3/interfaces/defer.mjs +0 -79
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.0-next.8
2
+ * @license Angular v17.0.0-rc.1
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -477,7 +477,7 @@ export declare const APP_ID: InjectionToken<string>;
477
477
  * ```
478
478
  *
479
479
  * ### Example with standalone application
480
- *
480
+ * ```
481
481
  * function initializeAppFactory(httpClient: HttpClient): () => Observable<any> {
482
482
  * return () => httpClient.get("https://someUrl.com/api/user")
483
483
  * .pipe(
@@ -496,6 +496,7 @@ export declare const APP_ID: InjectionToken<string>;
496
496
  * },
497
497
  * ],
498
498
  * });
499
+ * ```
499
500
  *
500
501
  * @publicApi
501
502
  */
@@ -2340,10 +2341,6 @@ export declare class DebugElement extends DebugNode {
2340
2341
  };
2341
2342
  /**
2342
2343
  * The inline styles of the DOM element.
2343
- *
2344
- * Will be `null` if there is no `style` property on the underlying DOM element.
2345
- *
2346
- * @see [ElementCSSInlineStyle](https://developer.mozilla.org/en-US/docs/Web/API/ElementCSSInlineStyle/style)
2347
2344
  */
2348
2345
  get styles(): {
2349
2346
  [key: string]: string | null;
@@ -5139,6 +5136,18 @@ declare type InputTransformFunction_2 = any;
5139
5136
  */
5140
5137
  declare type InsertBeforeIndex = null | number | number[];
5141
5138
 
5139
+ /**
5140
+ * Options passed to `internalAfterNextRender`.
5141
+ */
5142
+ declare interface InternalAfterNextRenderOptions {
5143
+ /**
5144
+ * The `Injector` to use during creation.
5145
+ *
5146
+ * If this is not provided, the current injection context will be used instead (via `inject`).
5147
+ */
5148
+ injector?: Injector;
5149
+ }
5150
+
5142
5151
  declare interface InternalNgModuleRef<T> extends NgModuleRef<T> {
5143
5152
  _bootstrapComponents: Type<any>[];
5144
5153
  }
@@ -6344,6 +6353,7 @@ declare interface NgModuleScopeInfoFromDecorator {
6344
6353
  /**
6345
6354
  * A token for third-party components that can register themselves with NgProbe.
6346
6355
  *
6356
+ * @deprecated
6347
6357
  * @publicApi
6348
6358
  */
6349
6359
  export declare class NgProbeToken {
@@ -7094,7 +7104,7 @@ export declare type ProviderToken<T> = Type<T> | AbstractType<T> | InjectionToke
7094
7104
  * `BootstrapOptions` instead.
7095
7105
  *
7096
7106
  * @usageNotes
7097
- * ```typescript=
7107
+ * ```typescript
7098
7108
  * bootstrapApplication(MyApp, {providers: [
7099
7109
  * provideZoneChangeDetection({eventCoalescing: true}),
7100
7110
  * ]});
@@ -10609,6 +10619,17 @@ export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBy
10609
10619
 
10610
10620
  export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType): boolean;
10611
10621
 
10622
+ /**
10623
+ * This enum is meant to be used by `ɵtype` properties of the different renderers implemented
10624
+ * by the framework
10625
+ *
10626
+ * We choose to not add `ɵtype` to `Renderer2` to no expose it to the public API.
10627
+ */
10628
+ export declare const enum ɵAnimationRendererType {
10629
+ Regular = 0,
10630
+ Delegated = 1
10631
+ }
10632
+
10612
10633
  /**
10613
10634
  * Annotates all components bootstrapped in a given ApplicationRef
10614
10635
  * with info needed for hydration.
@@ -11022,7 +11043,7 @@ export declare const ɵdefaultIterableDiffers: IterableDiffers;
11022
11043
  export declare const ɵdefaultKeyValueDiffers: KeyValueDiffers;
11023
11044
 
11024
11045
  /**
11025
- * Internal token used for configuring defer block behavior.
11046
+ * **INTERNAL**, token used for configuring defer block behavior.
11026
11047
  */
11027
11048
  export declare const ɵDEFER_BLOCK_CONFIG: InjectionToken<ɵDeferBlockConfig>;
11028
11049
 
@@ -11294,14 +11315,6 @@ export declare abstract class ɵEffectScheduler {
11294
11315
  static ɵprov: unknown;
11295
11316
  }
11296
11317
 
11297
- /**
11298
- * Internal token to collect all SSR-related features enabled for this application.
11299
- *
11300
- * Note: the token is in `core` to let other packages register features (the `core`
11301
- * package is imported in other packages).
11302
- */
11303
- export declare const ɵENABLED_SSR_FEATURES: InjectionToken<Set<string>>;
11304
-
11305
11318
  /**
11306
11319
  * Index of each type of locale data from the extra locale data array
11307
11320
  */
@@ -11545,6 +11558,23 @@ export declare interface ɵInjectorProfilerContext {
11545
11558
  token: Type<unknown> | null;
11546
11559
  }
11547
11560
 
11561
+ /**
11562
+ * Register a callback to run once before any userspace `afterRender` or
11563
+ * `afterNextRender` callbacks.
11564
+ *
11565
+ * This function should almost always be used instead of `afterRender` or
11566
+ * `afterNextRender` for implementing framework functionality. Consider:
11567
+ *
11568
+ * 1.) `AfterRenderPhase.EarlyRead` is intended to be used for implementing
11569
+ * custom layout. If the framework itself mutates the DOM after *any*
11570
+ * `AfterRenderPhase.EarlyRead` callbacks are run, the phase can no
11571
+ * longer reliably serve its purpose.
11572
+ *
11573
+ * 2.) Importing `afterRender` in the framework can reduce the ability for it
11574
+ * to be tree-shaken, and the framework shouldn't need much of the behavior.
11575
+ */
11576
+ export declare function ɵinternalAfterNextRender(callback: VoidFunction, options?: InternalAfterNextRenderOptions): void;
11577
+
11548
11578
  /**
11549
11579
  * Internal create application API that implements the core application creation logic and optional
11550
11580
  * bootstrap logic.
@@ -12043,8 +12073,12 @@ export declare class ɵRender3NgModuleRef<T> extends NgModuleRef<T> implements I
12043
12073
  * @param newState New state that should be applied to the defer block.
12044
12074
  * @param tNode TNode that represents a defer block.
12045
12075
  * @param lContainer Represents an instance of a defer block.
12076
+ * @param skipTimerScheduling Indicates that `@loading` and `@placeholder` block
12077
+ * should be rendered immediately, even if they have `after` or `minimum` config
12078
+ * options setup. This flag to needed for testing APIs to transition defer block
12079
+ * between states via `DeferFixture.render` method.
12046
12080
  */
12047
- export declare function ɵrenderDeferBlockState(newState: ɵDeferBlockState, tNode: TNode, lContainer: LContainer): void;
12081
+ export declare function ɵrenderDeferBlockState(newState: ɵDeferBlockState, tNode: TNode, lContainer: LContainer, skipTimerScheduling?: boolean): void;
12048
12082
 
12049
12083
  /**
12050
12084
  * Flags passed into template functions to determine which blocks (i.e. creation, update)
@@ -12145,6 +12179,7 @@ export declare const enum ɵRuntimeErrorCode {
12145
12179
  EXPRESSION_CHANGED_AFTER_CHECKED = -100,
12146
12180
  RECURSIVE_APPLICATION_REF_TICK = 101,
12147
12181
  RECURSIVE_APPLICATION_RENDER = 102,
12182
+ INFINITE_CHANGE_DETECTION = 103,
12148
12183
  CYCLIC_DI_DEPENDENCY = -200,
12149
12184
  PROVIDER_NOT_FOUND = -201,
12150
12185
  INVALID_FACTORY_DEPENDENCY = 202,
@@ -12190,6 +12225,7 @@ export declare const enum ɵRuntimeErrorCode {
12190
12225
  ASSERTION_NOT_INSIDE_REACTIVE_CONTEXT = -602,
12191
12226
  INVALID_I18N_STRUCTURE = 700,
12192
12227
  MISSING_LOCALE_DATA = 701,
12228
+ DEFER_LOADING_FAILED = 750,
12193
12229
  IMPORT_PROVIDERS_FROM_STANDALONE = 800,
12194
12230
  INVALID_DIFFER_INPUT = 900,
12195
12231
  NO_SUPPORTING_DIFFER_FACTORY = 901,
@@ -12376,7 +12412,7 @@ export declare function ɵtransitiveScopesFor<T>(type: Type<T>): ɵNgModuleTrans
12376
12412
  * @param tDetails Static information about this defer block.
12377
12413
  * @param lView LView of a host view.
12378
12414
  */
12379
- export declare function ɵtriggerResourceLoading(tDetails: TDeferBlockDetails, lView: LView): void;
12415
+ export declare function ɵtriggerResourceLoading(tDetails: TDeferBlockDetails, lView: LView, tNode: TNode): void;
12380
12416
 
12381
12417
  /**
12382
12418
  * Ellipses the string in the middle when longer than the max length
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "17.0.0-next.8",
3
+ "version": "17.0.0-rc.1",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.0-next.8
2
+ * @license Angular v17.0.0-rc.1
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.0-next.8
2
+ * @license Angular v17.0.0-rc.1
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */