@angular/platform-browser 16.0.0-next.5 → 16.0.0-next.7
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.
- package/animations/index.d.ts +1 -1
- package/esm2022/animations/src/animation_builder.mjs +3 -3
- package/esm2022/animations/src/animation_renderer.mjs +3 -3
- package/esm2022/animations/src/module.mjs +8 -8
- package/esm2022/animations/src/providers.mjs +3 -3
- package/esm2022/src/browser/meta.mjs +3 -3
- package/esm2022/src/browser/title.mjs +3 -3
- package/esm2022/src/browser/xhr.mjs +3 -3
- package/esm2022/src/browser.mjs +4 -4
- package/esm2022/src/dom/dom_renderer.mjs +77 -52
- package/esm2022/src/dom/events/dom_events.mjs +3 -3
- package/esm2022/src/dom/events/event_manager.mjs +4 -26
- package/esm2022/src/dom/events/hammer_gestures.mjs +10 -10
- package/esm2022/src/dom/events/key_events.mjs +3 -3
- package/esm2022/src/dom/shared_styles_host.mjs +3 -3
- package/esm2022/src/hydration.mjs +92 -0
- package/esm2022/src/platform-browser.mjs +2 -2
- package/esm2022/src/private_export.mjs +2 -2
- package/esm2022/src/security/dom_sanitization_service.mjs +6 -6
- package/esm2022/src/version.mjs +1 -1
- package/esm2022/testing/src/browser.mjs +9 -9
- package/fesm2022/animations.mjs +18 -18
- package/fesm2022/platform-browser.mjs +203 -134
- package/fesm2022/platform-browser.mjs.map +1 -1
- package/fesm2022/testing.mjs +8 -8
- package/fesm2022/testing.mjs.map +1 -1
- package/index.d.ts +94 -47
- package/package.json +4 -4
- package/testing/index.d.ts +1 -1
- package/esm2022/src/browser/transfer_state_module.mjs +0 -28
@@ -1,13 +1,14 @@
|
|
1
1
|
/**
|
2
|
-
* @license Angular v16.0.0-next.
|
2
|
+
* @license Angular v16.0.0-next.7
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
4
4
|
* License: MIT
|
5
5
|
*/
|
6
6
|
|
7
7
|
import * as i0 from '@angular/core';
|
8
|
-
import { ɵglobal, Injectable, InjectionToken, Inject, APP_ID, CSP_NONCE, PLATFORM_ID, Optional, ViewEncapsulation, RendererStyleFlags2, ɵinternalCreateApplication, ErrorHandler, ɵsetDocument, PLATFORM_INITIALIZER, createPlatformFactory, platformCore, ɵTESTABILITY_GETTER, ɵTESTABILITY, Testability, NgZone, TestabilityRegistry, ɵINJECTOR_SCOPE, RendererFactory2, ApplicationModule, NgModule, SkipSelf, ɵɵinject, ApplicationRef, ɵConsole, forwardRef, ɵXSS_SECURITY_URL, SecurityContext, ɵallowSanitizationBypassAndThrow, ɵunwrapSafeValue, ɵ_sanitizeUrl, ɵ_sanitizeHtml, ɵbypassSanitizationTrustHtml, ɵbypassSanitizationTrustStyle, ɵbypassSanitizationTrustScript, ɵbypassSanitizationTrustUrl, ɵbypassSanitizationTrustResourceUrl, Injector, Version, makeStateKey as makeStateKey$1, TransferState as TransferState$1 } from '@angular/core';
|
8
|
+
import { ɵglobal, Injectable, InjectionToken, Inject, APP_ID, CSP_NONCE, PLATFORM_ID, Optional, ViewEncapsulation, RendererStyleFlags2, ɵinternalCreateApplication, ErrorHandler, ɵsetDocument, PLATFORM_INITIALIZER, createPlatformFactory, platformCore, ɵTESTABILITY_GETTER, ɵTESTABILITY, Testability, NgZone, TestabilityRegistry, ɵINJECTOR_SCOPE, RendererFactory2, ApplicationModule, NgModule, SkipSelf, ɵɵinject, ApplicationRef, ɵConsole, forwardRef, ɵXSS_SECURITY_URL, SecurityContext, ɵallowSanitizationBypassAndThrow, ɵunwrapSafeValue, ɵ_sanitizeUrl, ɵ_sanitizeHtml, ɵbypassSanitizationTrustHtml, ɵbypassSanitizationTrustStyle, ɵbypassSanitizationTrustScript, ɵbypassSanitizationTrustUrl, ɵbypassSanitizationTrustResourceUrl, Injector, makeEnvironmentProviders, ɵwithDomHydration, Version, makeStateKey as makeStateKey$1, TransferState as TransferState$1 } from '@angular/core';
|
9
9
|
import { ɵDomAdapter, ɵsetRootDomAdapter, ɵparseCookieValue, ɵgetDOM, isPlatformServer, DOCUMENT, ɵPLATFORM_BROWSER_ID, XhrFactory, CommonModule } from '@angular/common';
|
10
10
|
export { ɵgetDOM } from '@angular/common';
|
11
|
+
import { ɵwithHttpTransferCache } from '@angular/common/http';
|
11
12
|
|
12
13
|
/**
|
13
14
|
* Provides DOM operations in any browser environment.
|
@@ -162,10 +163,10 @@ class BrowserXhr {
|
|
162
163
|
build() {
|
163
164
|
return new XMLHttpRequest();
|
164
165
|
}
|
165
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
166
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
167
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserXhr }); }
|
167
168
|
}
|
168
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserXhr, decorators: [{
|
169
170
|
type: Injectable
|
170
171
|
}] });
|
171
172
|
|
@@ -206,20 +207,6 @@ class EventManager {
|
|
206
207
|
const plugin = this._findPluginFor(eventName);
|
207
208
|
return plugin.addEventListener(element, eventName, handler);
|
208
209
|
}
|
209
|
-
/**
|
210
|
-
* Registers a global handler for an event in a target view.
|
211
|
-
*
|
212
|
-
* @param target A target for global event notifications. One of "window", "document", or "body".
|
213
|
-
* @param eventName The name of the event to listen for.
|
214
|
-
* @param handler A function to call when the notification occurs. Receives the
|
215
|
-
* event object as an argument.
|
216
|
-
* @returns A callback function that can be used to remove the handler.
|
217
|
-
* @deprecated No longer being used in Ivy code. To be removed in version 14.
|
218
|
-
*/
|
219
|
-
addGlobalEventListener(target, eventName, handler) {
|
220
|
-
const plugin = this._findPluginFor(eventName);
|
221
|
-
return plugin.addGlobalEventListener(target, eventName, handler);
|
222
|
-
}
|
223
210
|
/**
|
224
211
|
* Retrieves the compilation zone in which event listeners are registered.
|
225
212
|
*/
|
@@ -242,10 +229,10 @@ class EventManager {
|
|
242
229
|
}
|
243
230
|
throw new Error(`No event manager plugin found for event ${eventName}`);
|
244
231
|
}
|
245
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
246
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
232
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
233
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: EventManager }); }
|
247
234
|
}
|
248
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: EventManager, decorators: [{
|
249
236
|
type: Injectable
|
250
237
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
251
238
|
type: Inject,
|
@@ -255,13 +242,6 @@ class EventManagerPlugin {
|
|
255
242
|
constructor(_doc) {
|
256
243
|
this._doc = _doc;
|
257
244
|
}
|
258
|
-
addGlobalEventListener(element, eventName, handler) {
|
259
|
-
const target = ɵgetDOM().getGlobalEventTarget(this._doc, element);
|
260
|
-
if (!target) {
|
261
|
-
throw new Error(`Unsupported event target ${target} for event ${eventName}`);
|
262
|
-
}
|
263
|
-
return this.addEventListener(target, eventName, handler);
|
264
|
-
}
|
265
245
|
}
|
266
246
|
|
267
247
|
/** The style elements attribute name used to set value of `APP_ID` token. */
|
@@ -394,10 +374,10 @@ class SharedStylesHost {
|
|
394
374
|
// Re-add the head element back since this is the default host.
|
395
375
|
hostNodes.add(this.doc.head);
|
396
376
|
}
|
397
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
398
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
377
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: SharedStylesHost, deps: [{ token: DOCUMENT }, { token: APP_ID }, { token: CSP_NONCE, optional: true }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
378
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: SharedStylesHost }); }
|
399
379
|
}
|
400
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: SharedStylesHost, decorators: [{
|
401
381
|
type: Injectable
|
402
382
|
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
403
383
|
type: Inject,
|
@@ -451,42 +431,29 @@ function shimHostAttribute(componentShortId) {
|
|
451
431
|
function shimStylesContent(compId, styles) {
|
452
432
|
return styles.map(s => s.replace(COMPONENT_REGEX, compId));
|
453
433
|
}
|
454
|
-
function decoratePreventDefault(eventHandler) {
|
455
|
-
// `DebugNode.triggerEventHandler` needs to know if the listener was created with
|
456
|
-
// decoratePreventDefault or is a listener added outside the Angular context so it can handle the
|
457
|
-
// two differently. In the first case, the special '__ngUnwrap__' token is passed to the unwrap
|
458
|
-
// the listener (see below).
|
459
|
-
return (event) => {
|
460
|
-
// Ivy uses '__ngUnwrap__' as a special token that allows us to unwrap the function
|
461
|
-
// so that it can be invoked programmatically by `DebugNode.triggerEventHandler`. The debug_node
|
462
|
-
// can inspect the listener toString contents for the existence of this special token. Because
|
463
|
-
// the token is a string literal, it is ensured to not be modified by compiled code.
|
464
|
-
if (event === '__ngUnwrap__') {
|
465
|
-
return eventHandler;
|
466
|
-
}
|
467
|
-
const allowDefaultBehavior = eventHandler(event);
|
468
|
-
if (allowDefaultBehavior === false) {
|
469
|
-
// TODO(tbosch): move preventDefault into event plugins...
|
470
|
-
event.preventDefault();
|
471
|
-
event.returnValue = false;
|
472
|
-
}
|
473
|
-
return undefined;
|
474
|
-
};
|
475
|
-
}
|
476
434
|
class DomRendererFactory2 {
|
477
|
-
constructor(eventManager, sharedStylesHost, appId, removeStylesOnCompDestory, nonce) {
|
435
|
+
constructor(eventManager, sharedStylesHost, appId, removeStylesOnCompDestory, doc, platformId, ngZone, nonce = null) {
|
478
436
|
this.eventManager = eventManager;
|
479
437
|
this.sharedStylesHost = sharedStylesHost;
|
480
438
|
this.appId = appId;
|
481
439
|
this.removeStylesOnCompDestory = removeStylesOnCompDestory;
|
440
|
+
this.doc = doc;
|
441
|
+
this.platformId = platformId;
|
442
|
+
this.ngZone = ngZone;
|
482
443
|
this.nonce = nonce;
|
483
444
|
this.rendererByCompId = new Map();
|
484
|
-
this.
|
445
|
+
this.platformIsServer = isPlatformServer(platformId);
|
446
|
+
this.defaultRenderer =
|
447
|
+
new DefaultDomRenderer2(eventManager, doc, ngZone, this.platformIsServer);
|
485
448
|
}
|
486
449
|
createRenderer(element, type) {
|
487
450
|
if (!element || !type) {
|
488
451
|
return this.defaultRenderer;
|
489
452
|
}
|
453
|
+
if (this.platformIsServer && type.encapsulation === ViewEncapsulation.ShadowDom) {
|
454
|
+
// Domino does not support shadow DOM.
|
455
|
+
type = { ...type, encapsulation: ViewEncapsulation.Emulated };
|
456
|
+
}
|
490
457
|
const renderer = this.getOrCreateRenderer(element, type);
|
491
458
|
// Renderers have different logic due to different encapsulation behaviours.
|
492
459
|
// Ex: for emulated, an attribute is added to the element.
|
@@ -502,17 +469,20 @@ class DomRendererFactory2 {
|
|
502
469
|
const rendererByCompId = this.rendererByCompId;
|
503
470
|
let renderer = rendererByCompId.get(type.id);
|
504
471
|
if (!renderer) {
|
472
|
+
const doc = this.doc;
|
473
|
+
const ngZone = this.ngZone;
|
505
474
|
const eventManager = this.eventManager;
|
506
475
|
const sharedStylesHost = this.sharedStylesHost;
|
507
476
|
const removeStylesOnCompDestory = this.removeStylesOnCompDestory;
|
477
|
+
const platformIsServer = this.platformIsServer;
|
508
478
|
switch (type.encapsulation) {
|
509
479
|
case ViewEncapsulation.Emulated:
|
510
|
-
renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, removeStylesOnCompDestory);
|
480
|
+
renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, removeStylesOnCompDestory, doc, ngZone, platformIsServer);
|
511
481
|
break;
|
512
482
|
case ViewEncapsulation.ShadowDom:
|
513
|
-
return new ShadowDomRenderer(eventManager, sharedStylesHost, element, type, this.nonce);
|
483
|
+
return new ShadowDomRenderer(eventManager, sharedStylesHost, element, type, doc, ngZone, this.nonce, platformIsServer);
|
514
484
|
default:
|
515
|
-
renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, removeStylesOnCompDestory);
|
485
|
+
renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, removeStylesOnCompDestory, doc, ngZone, platformIsServer);
|
516
486
|
break;
|
517
487
|
}
|
518
488
|
renderer.onDestroy = () => rendererByCompId.delete(type.id);
|
@@ -523,12 +493,10 @@ class DomRendererFactory2 {
|
|
523
493
|
ngOnDestroy() {
|
524
494
|
this.rendererByCompId.clear();
|
525
495
|
}
|
526
|
-
|
527
|
-
|
528
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: DomRendererFactory2, deps: [{ token: EventManager }, { token: SharedStylesHost }, { token: APP_ID }, { token: REMOVE_STYLES_ON_COMPONENT_DESTROY }, { token: CSP_NONCE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
529
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: DomRendererFactory2 }); }
|
496
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomRendererFactory2, deps: [{ token: EventManager }, { token: SharedStylesHost }, { token: APP_ID }, { token: REMOVE_STYLES_ON_COMPONENT_DESTROY }, { token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: CSP_NONCE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
497
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomRendererFactory2 }); }
|
530
498
|
}
|
531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
499
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomRendererFactory2, decorators: [{
|
532
500
|
type: Injectable
|
533
501
|
}], ctorParameters: function () { return [{ type: EventManager }, { type: SharedStylesHost }, { type: undefined, decorators: [{
|
534
502
|
type: Inject,
|
@@ -536,15 +504,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.5",
|
|
536
504
|
}] }, { type: undefined, decorators: [{
|
537
505
|
type: Inject,
|
538
506
|
args: [REMOVE_STYLES_ON_COMPONENT_DESTROY]
|
539
|
-
}] }, { type:
|
507
|
+
}] }, { type: Document, decorators: [{
|
508
|
+
type: Inject,
|
509
|
+
args: [DOCUMENT]
|
510
|
+
}] }, { type: Object, decorators: [{
|
511
|
+
type: Inject,
|
512
|
+
args: [PLATFORM_ID]
|
513
|
+
}] }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
540
514
|
type: Inject,
|
541
515
|
args: [CSP_NONCE]
|
542
|
-
}, {
|
543
|
-
type: Optional
|
544
516
|
}] }]; } });
|
545
517
|
class DefaultDomRenderer2 {
|
546
|
-
constructor(eventManager) {
|
518
|
+
constructor(eventManager, doc, ngZone, platformIsServer) {
|
547
519
|
this.eventManager = eventManager;
|
520
|
+
this.doc = doc;
|
521
|
+
this.ngZone = ngZone;
|
522
|
+
this.platformIsServer = platformIsServer;
|
548
523
|
this.data = Object.create(null);
|
549
524
|
this.destroyNode = null;
|
550
525
|
}
|
@@ -560,15 +535,15 @@ class DefaultDomRenderer2 {
|
|
560
535
|
// Related issues:
|
561
536
|
// https://github.com/angular/angular/issues/44028
|
562
537
|
// https://github.com/angular/angular/issues/44883
|
563
|
-
return
|
538
|
+
return this.doc.createElementNS(NAMESPACE_URIS[namespace] || namespace, name);
|
564
539
|
}
|
565
|
-
return
|
540
|
+
return this.doc.createElement(name);
|
566
541
|
}
|
567
542
|
createComment(value) {
|
568
|
-
return
|
543
|
+
return this.doc.createComment(value);
|
569
544
|
}
|
570
545
|
createText(value) {
|
571
|
-
return
|
546
|
+
return this.doc.createTextNode(value);
|
572
547
|
}
|
573
548
|
appendChild(parent, newChild) {
|
574
549
|
const targetParent = isTemplateNode(parent) ? parent.content : parent;
|
@@ -586,7 +561,7 @@ class DefaultDomRenderer2 {
|
|
586
561
|
}
|
587
562
|
}
|
588
563
|
selectRootElement(selectorOrNode, preserveContent) {
|
589
|
-
let el = typeof selectorOrNode === 'string' ?
|
564
|
+
let el = typeof selectorOrNode === 'string' ? this.doc.querySelector(selectorOrNode) :
|
590
565
|
selectorOrNode;
|
591
566
|
if (!el) {
|
592
567
|
throw new Error(`The selector "${selectorOrNode}" did not match any elements`);
|
@@ -665,9 +640,38 @@ class DefaultDomRenderer2 {
|
|
665
640
|
listen(target, event, callback) {
|
666
641
|
(typeof ngDevMode === 'undefined' || ngDevMode) && checkNoSyntheticProp(event, 'listener');
|
667
642
|
if (typeof target === 'string') {
|
668
|
-
|
643
|
+
target = ɵgetDOM().getGlobalEventTarget(this.doc, target);
|
644
|
+
if (!target) {
|
645
|
+
throw new Error(`Unsupported event target ${target} for event ${event}`);
|
646
|
+
}
|
669
647
|
}
|
670
|
-
return this.eventManager.addEventListener(target, event, decoratePreventDefault(callback));
|
648
|
+
return this.eventManager.addEventListener(target, event, this.decoratePreventDefault(callback));
|
649
|
+
}
|
650
|
+
decoratePreventDefault(eventHandler) {
|
651
|
+
// `DebugNode.triggerEventHandler` needs to know if the listener was created with
|
652
|
+
// decoratePreventDefault or is a listener added outside the Angular context so it can handle
|
653
|
+
// the two differently. In the first case, the special '__ngUnwrap__' token is passed to the
|
654
|
+
// unwrap the listener (see below).
|
655
|
+
return (event) => {
|
656
|
+
// Ivy uses '__ngUnwrap__' as a special token that allows us to unwrap the function
|
657
|
+
// so that it can be invoked programmatically by `DebugNode.triggerEventHandler`. The
|
658
|
+
// debug_node can inspect the listener toString contents for the existence of this special
|
659
|
+
// token. Because the token is a string literal, it is ensured to not be modified by compiled
|
660
|
+
// code.
|
661
|
+
if (event === '__ngUnwrap__') {
|
662
|
+
return eventHandler;
|
663
|
+
}
|
664
|
+
// Run the event handler inside the ngZone because event handlers are not patched
|
665
|
+
// by Zone on the server. This is required only for tests.
|
666
|
+
const allowDefaultBehavior = this.platformIsServer ?
|
667
|
+
this.ngZone.runGuarded(() => eventHandler(event)) :
|
668
|
+
eventHandler(event);
|
669
|
+
if (allowDefaultBehavior === false) {
|
670
|
+
event.preventDefault();
|
671
|
+
event.returnValue = false;
|
672
|
+
}
|
673
|
+
return undefined;
|
674
|
+
};
|
671
675
|
}
|
672
676
|
}
|
673
677
|
const AT_CHARCODE = (() => '@'.charCodeAt(0))();
|
@@ -682,8 +686,8 @@ function isTemplateNode(node) {
|
|
682
686
|
return node.tagName === 'TEMPLATE' && node.content !== undefined;
|
683
687
|
}
|
684
688
|
class ShadowDomRenderer extends DefaultDomRenderer2 {
|
685
|
-
constructor(eventManager, sharedStylesHost, hostEl, component, nonce) {
|
686
|
-
super(eventManager);
|
689
|
+
constructor(eventManager, sharedStylesHost, hostEl, component, doc, ngZone, nonce, platformIsServer) {
|
690
|
+
super(eventManager, doc, ngZone, platformIsServer);
|
687
691
|
this.sharedStylesHost = sharedStylesHost;
|
688
692
|
this.hostEl = hostEl;
|
689
693
|
this.shadowRoot = hostEl.attachShadow({ mode: 'open' });
|
@@ -718,12 +722,12 @@ class ShadowDomRenderer extends DefaultDomRenderer2 {
|
|
718
722
|
}
|
719
723
|
}
|
720
724
|
class NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {
|
721
|
-
constructor(eventManager, sharedStylesHost, component, removeStylesOnCompDestory,
|
722
|
-
super(eventManager);
|
725
|
+
constructor(eventManager, sharedStylesHost, component, removeStylesOnCompDestory, doc, ngZone, platformIsServer, compId) {
|
726
|
+
super(eventManager, doc, ngZone, platformIsServer);
|
723
727
|
this.sharedStylesHost = sharedStylesHost;
|
724
728
|
this.removeStylesOnCompDestory = removeStylesOnCompDestory;
|
725
729
|
this.rendererUsageCount = 0;
|
726
|
-
this.styles = shimStylesContent(compId, component.styles);
|
730
|
+
this.styles = compId ? shimStylesContent(compId, component.styles) : component.styles;
|
727
731
|
}
|
728
732
|
applyStyles() {
|
729
733
|
this.sharedStylesHost.addStyles(this.styles);
|
@@ -741,9 +745,9 @@ class NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {
|
|
741
745
|
}
|
742
746
|
}
|
743
747
|
class EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {
|
744
|
-
constructor(eventManager, sharedStylesHost, component, appId, removeStylesOnCompDestory) {
|
748
|
+
constructor(eventManager, sharedStylesHost, component, appId, removeStylesOnCompDestory, doc, ngZone, platformIsServer) {
|
745
749
|
const compId = appId + '-' + component.id;
|
746
|
-
super(eventManager, sharedStylesHost, component, removeStylesOnCompDestory, compId);
|
750
|
+
super(eventManager, sharedStylesHost, component, removeStylesOnCompDestory, doc, ngZone, platformIsServer, compId);
|
747
751
|
this.contentAttr = shimContentAttribute(compId);
|
748
752
|
this.hostAttr = shimHostAttribute(compId);
|
749
753
|
}
|
@@ -774,10 +778,10 @@ class DomEventsPlugin extends EventManagerPlugin {
|
|
774
778
|
removeEventListener(target, eventName, callback) {
|
775
779
|
return target.removeEventListener(eventName, callback);
|
776
780
|
}
|
777
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
778
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
781
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
782
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomEventsPlugin }); }
|
779
783
|
}
|
780
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
784
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomEventsPlugin, decorators: [{
|
781
785
|
type: Injectable
|
782
786
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
783
787
|
type: Inject,
|
@@ -953,10 +957,10 @@ class KeyEventsPlugin extends EventManagerPlugin {
|
|
953
957
|
return keyName;
|
954
958
|
}
|
955
959
|
}
|
956
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
957
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
960
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
961
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: KeyEventsPlugin }); }
|
958
962
|
}
|
959
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
963
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: KeyEventsPlugin, decorators: [{
|
960
964
|
type: Injectable
|
961
965
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
962
966
|
type: Inject,
|
@@ -1163,11 +1167,11 @@ class BrowserModule {
|
|
1163
1167
|
],
|
1164
1168
|
};
|
1165
1169
|
}
|
1166
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
1167
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.
|
1168
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.
|
1170
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
1171
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] }); }
|
1172
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserModule, providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS], imports: [CommonModule, ApplicationModule] }); }
|
1169
1173
|
}
|
1170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
1174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserModule, decorators: [{
|
1171
1175
|
type: NgModule,
|
1172
1176
|
args: [{
|
1173
1177
|
providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS],
|
@@ -1337,10 +1341,10 @@ class Meta {
|
|
1337
1341
|
_getMetaKeyMap(prop) {
|
1338
1342
|
return META_KEYS_MAP[prop] || prop;
|
1339
1343
|
}
|
1340
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
1341
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
1344
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1345
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] }); }
|
1342
1346
|
}
|
1343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
1347
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Meta, decorators: [{
|
1344
1348
|
type: Injectable,
|
1345
1349
|
args: [{ providedIn: 'root', useFactory: createMeta, deps: [] }]
|
1346
1350
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
@@ -1387,10 +1391,10 @@ class Title {
|
|
1387
1391
|
setTitle(newTitle) {
|
1388
1392
|
this._doc.title = newTitle || '';
|
1389
1393
|
}
|
1390
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
1391
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
1394
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1395
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] }); }
|
1392
1396
|
}
|
1393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
1397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Title, decorators: [{
|
1394
1398
|
type: Injectable,
|
1395
1399
|
args: [{ providedIn: 'root', useFactory: createTitle, deps: [] }]
|
1396
1400
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
@@ -1505,24 +1509,6 @@ function disableDebugTools() {
|
|
1505
1509
|
exportNgVar(PROFILER_GLOBAL_NAME, null);
|
1506
1510
|
}
|
1507
1511
|
|
1508
|
-
/**
|
1509
|
-
* NgModule to install on the client side while using the `TransferState` to transfer state from
|
1510
|
-
* server to client.
|
1511
|
-
*
|
1512
|
-
* @publicApi
|
1513
|
-
* @deprecated no longer needed, you can inject the `TransferState` in an app without providing
|
1514
|
-
* this module.
|
1515
|
-
*/
|
1516
|
-
class BrowserTransferStateModule {
|
1517
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTransferStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
1518
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTransferStateModule }); }
|
1519
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTransferStateModule }); }
|
1520
|
-
}
|
1521
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTransferStateModule, decorators: [{
|
1522
|
-
type: NgModule,
|
1523
|
-
args: [{}]
|
1524
|
-
}] });
|
1525
|
-
|
1526
1512
|
/**
|
1527
1513
|
* Predicates for use with {@link DebugElement}'s query functions.
|
1528
1514
|
*
|
@@ -1677,10 +1663,10 @@ class HammerGestureConfig {
|
|
1677
1663
|
}
|
1678
1664
|
return mc;
|
1679
1665
|
}
|
1680
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
1681
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
1666
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1667
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGestureConfig }); }
|
1682
1668
|
}
|
1683
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
1669
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGestureConfig, decorators: [{
|
1684
1670
|
type: Injectable
|
1685
1671
|
}] });
|
1686
1672
|
/**
|
@@ -1775,10 +1761,10 @@ class HammerGesturesPlugin extends EventManagerPlugin {
|
|
1775
1761
|
isCustomEvent(eventName) {
|
1776
1762
|
return this._config.events.indexOf(eventName) > -1;
|
1777
1763
|
}
|
1778
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
1779
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
1764
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGesturesPlugin, deps: [{ token: DOCUMENT }, { token: HAMMER_GESTURE_CONFIG }, { token: i0.ɵConsole }, { token: HAMMER_LOADER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1765
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGesturesPlugin }); }
|
1780
1766
|
}
|
1781
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
1767
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
|
1782
1768
|
type: Injectable
|
1783
1769
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
1784
1770
|
type: Inject,
|
@@ -1804,9 +1790,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.5",
|
|
1804
1790
|
* @publicApi
|
1805
1791
|
*/
|
1806
1792
|
class HammerModule {
|
1807
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
1808
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.
|
1809
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.
|
1793
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
1794
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerModule }); }
|
1795
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerModule, providers: [
|
1810
1796
|
{
|
1811
1797
|
provide: EVENT_MANAGER_PLUGINS,
|
1812
1798
|
useClass: HammerGesturesPlugin,
|
@@ -1816,7 +1802,7 @@ class HammerModule {
|
|
1816
1802
|
{ provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig, deps: [] },
|
1817
1803
|
] }); }
|
1818
1804
|
}
|
1819
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
1805
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerModule, decorators: [{
|
1820
1806
|
type: NgModule,
|
1821
1807
|
args: [{
|
1822
1808
|
providers: [
|
@@ -1863,10 +1849,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.5",
|
|
1863
1849
|
* @publicApi
|
1864
1850
|
*/
|
1865
1851
|
class DomSanitizer {
|
1866
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
1867
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
1852
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1853
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(function () { return DomSanitizerImpl; }) }); }
|
1868
1854
|
}
|
1869
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
1855
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizer, decorators: [{
|
1870
1856
|
type: Injectable,
|
1871
1857
|
args: [{ providedIn: 'root', useExisting: forwardRef(() => DomSanitizerImpl) }]
|
1872
1858
|
}] });
|
@@ -1928,10 +1914,10 @@ class DomSanitizerImpl extends DomSanitizer {
|
|
1928
1914
|
bypassSecurityTrustResourceUrl(value) {
|
1929
1915
|
return ɵbypassSanitizationTrustResourceUrl(value);
|
1930
1916
|
}
|
1931
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
1932
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.
|
1917
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1918
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] }); }
|
1933
1919
|
}
|
1934
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
1920
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizerImpl, decorators: [{
|
1935
1921
|
type: Injectable,
|
1936
1922
|
args: [{ providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [Injector] }]
|
1937
1923
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
@@ -1939,6 +1925,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.5",
|
|
1939
1925
|
args: [DOCUMENT]
|
1940
1926
|
}] }]; } });
|
1941
1927
|
|
1928
|
+
/**
|
1929
|
+
* Helper function to create an object that represents a Hydration feature.
|
1930
|
+
*/
|
1931
|
+
function hydrationFeature(kind, providers = []) {
|
1932
|
+
return { ɵkind: kind, ɵproviders: providers };
|
1933
|
+
}
|
1934
|
+
/**
|
1935
|
+
* Disables DOM nodes reuse during hydration. Effectively makes
|
1936
|
+
* Angular re-render an application from scratch on the client.
|
1937
|
+
*
|
1938
|
+
* @publicApi
|
1939
|
+
* @developerPreview
|
1940
|
+
*/
|
1941
|
+
function withNoDomReuse() {
|
1942
|
+
// This feature has no providers and acts as a flag that turns off
|
1943
|
+
// non-destructive hydration (which otherwise is turned on by default).
|
1944
|
+
return hydrationFeature(0 /* HydrationFeatureKind.NoDomReuseFeature */);
|
1945
|
+
}
|
1946
|
+
/**
|
1947
|
+
* Disables HTTP transfer cache. Effectively causes HTTP requests to be performed twice: once on the
|
1948
|
+
* server and other one on the browser.
|
1949
|
+
*
|
1950
|
+
* @publicApi
|
1951
|
+
* @developerPreview
|
1952
|
+
*/
|
1953
|
+
function withNoHttpTransferCache() {
|
1954
|
+
// This feature has no providers and acts as a flag that turns off
|
1955
|
+
// HTTP transfer cache (which otherwise is turned on by default).
|
1956
|
+
return hydrationFeature(1 /* HydrationFeatureKind.NoHttpTransferCache */);
|
1957
|
+
}
|
1958
|
+
/**
|
1959
|
+
* Sets up providers necessary to enable hydration functionality for the application.
|
1960
|
+
* By default, the function enables the recommended set of features for the optimal
|
1961
|
+
* performance for most of the applications. You can enable/disable features by
|
1962
|
+
* passing special functions (from the `HydrationFeatures` set) as arguments to the
|
1963
|
+
* `provideClientHydration` function.
|
1964
|
+
*
|
1965
|
+
* @usageNotes
|
1966
|
+
*
|
1967
|
+
* Basic example of how you can enable hydration in your application when
|
1968
|
+
* `bootstrapApplication` function is used:
|
1969
|
+
* ```
|
1970
|
+
* bootstrapApplication(AppComponent, {
|
1971
|
+
* providers: [provideClientHydration()]
|
1972
|
+
* });
|
1973
|
+
* ```
|
1974
|
+
*
|
1975
|
+
* Alternatively if you are using NgModules, you would add `provideClientHydration`
|
1976
|
+
* to your root app module's provider list.
|
1977
|
+
* ```
|
1978
|
+
* @NgModule({
|
1979
|
+
* declarations: [RootCmp],
|
1980
|
+
* bootstrap: [RootCmp],
|
1981
|
+
* providers: [provideClientHydration()],
|
1982
|
+
* })
|
1983
|
+
* export class AppModule {}
|
1984
|
+
* ```
|
1985
|
+
*
|
1986
|
+
* @see `withNoDomReuse`
|
1987
|
+
* @see `withNoHttpTransferCache`
|
1988
|
+
*
|
1989
|
+
* @param features Optional features to configure additional router behaviors.
|
1990
|
+
* @returns A set of providers to enable hydration.
|
1991
|
+
*
|
1992
|
+
* @publicApi
|
1993
|
+
* @developerPreview
|
1994
|
+
*/
|
1995
|
+
function provideClientHydration(...features) {
|
1996
|
+
const providers = [];
|
1997
|
+
const featuresKind = new Set();
|
1998
|
+
for (const { ɵproviders, ɵkind } of features) {
|
1999
|
+
featuresKind.add(ɵkind);
|
2000
|
+
if (ɵproviders.length) {
|
2001
|
+
providers.push(ɵproviders);
|
2002
|
+
}
|
2003
|
+
}
|
2004
|
+
return makeEnvironmentProviders([
|
2005
|
+
(featuresKind.has(0 /* HydrationFeatureKind.NoDomReuseFeature */) ? [] : ɵwithDomHydration()),
|
2006
|
+
(featuresKind.has(1 /* HydrationFeatureKind.NoHttpTransferCache */) ? [] : ɵwithHttpTransferCache()),
|
2007
|
+
providers,
|
2008
|
+
]);
|
2009
|
+
}
|
2010
|
+
|
1942
2011
|
/**
|
1943
2012
|
* @module
|
1944
2013
|
* @description
|
@@ -1947,7 +2016,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.5",
|
|
1947
2016
|
/**
|
1948
2017
|
* @publicApi
|
1949
2018
|
*/
|
1950
|
-
const VERSION = new Version('16.0.0-next.
|
2019
|
+
const VERSION = new Version('16.0.0-next.7');
|
1951
2020
|
|
1952
2021
|
// Re-export TransferState to the public API of the `platform-browser` for backwards-compatibility.
|
1953
2022
|
/**
|
@@ -2002,5 +2071,5 @@ const TransferState = TransferState$1;
|
|
2002
2071
|
* Generated bundle index. Do not edit.
|
2003
2072
|
*/
|
2004
2073
|
|
2005
|
-
export { BrowserModule,
|
2074
|
+
export { BrowserModule, By, DomSanitizer, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HAMMER_LOADER, HammerGestureConfig, HammerModule, Meta, REMOVE_STYLES_ON_COMPONENT_DESTROY, Title, TransferState, VERSION, bootstrapApplication, createApplication, disableDebugTools, enableDebugTools, makeStateKey, platformBrowser, provideClientHydration, provideProtractorTestingSupport, withNoDomReuse, withNoHttpTransferCache, BrowserDomAdapter as ɵBrowserDomAdapter, BrowserGetTestability as ɵBrowserGetTestability, DomEventsPlugin as ɵDomEventsPlugin, DomRendererFactory2 as ɵDomRendererFactory2, DomSanitizerImpl as ɵDomSanitizerImpl, HammerGesturesPlugin as ɵHammerGesturesPlugin, INTERNAL_BROWSER_PLATFORM_PROVIDERS as ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS, KeyEventsPlugin as ɵKeyEventsPlugin, SharedStylesHost as ɵSharedStylesHost, initDomAdapter as ɵinitDomAdapter };
|
2006
2075
|
//# sourceMappingURL=platform-browser.mjs.map
|