@angular/platform-browser 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.
@@ -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
  */
@@ -162,10 +162,10 @@ class BrowserXhr {
162
162
  build() {
163
163
  return new XMLHttpRequest();
164
164
  }
165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
166
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: BrowserXhr }); }
165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
166
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: BrowserXhr }); }
167
167
  }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: BrowserXhr, decorators: [{
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: BrowserXhr, decorators: [{
169
169
  type: Injectable
170
170
  }] });
171
171
 
@@ -227,10 +227,10 @@ class EventManager {
227
227
  this._eventNameToPlugin.set(eventName, plugin);
228
228
  return plugin;
229
229
  }
230
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
231
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: EventManager }); }
230
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
231
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EventManager }); }
232
232
  }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: EventManager, decorators: [{
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: EventManager, decorators: [{
234
234
  type: Injectable
235
235
  }], ctorParameters: () => [{ type: undefined, decorators: [{
236
236
  type: Inject,
@@ -274,17 +274,14 @@ class SharedStylesHost {
274
274
  }
275
275
  }
276
276
  }
277
- disableStyles(styles) {
277
+ removeStyles(styles) {
278
278
  for (const style of styles) {
279
279
  const usageCount = this.changeUsageCount(style, -1);
280
- if (usageCount === 0) {
281
- this.visitStyleElement(style, disableStylesheet);
280
+ if (usageCount <= 0) {
281
+ this.onStyleRemoved(style);
282
282
  }
283
283
  }
284
284
  }
285
- visitStyleElement(style, callback) {
286
- this.styleRef.get(style)?.elements?.forEach(callback);
287
- }
288
285
  ngOnDestroy() {
289
286
  const styleNodesInDOM = this.styleNodesInDOM;
290
287
  if (styleNodesInDOM) {
@@ -292,8 +289,7 @@ class SharedStylesHost {
292
289
  styleNodesInDOM.clear();
293
290
  }
294
291
  for (const style of this.getAllStyles()) {
295
- this.visitStyleElement(style, (node) => node.remove());
296
- this.styleRef.delete(style);
292
+ this.onStyleRemoved(style);
297
293
  }
298
294
  this.resetHostNodes();
299
295
  }
@@ -305,9 +301,6 @@ class SharedStylesHost {
305
301
  }
306
302
  removeHost(hostNode) {
307
303
  this.hostNodes.delete(hostNode);
308
- for (const { elements } of this.styleRef.values()) {
309
- elements.delete(hostNode);
310
- }
311
304
  }
312
305
  getAllStyles() {
313
306
  return this.styleRef.keys();
@@ -317,6 +310,11 @@ class SharedStylesHost {
317
310
  this.addStyleToHost(host, style);
318
311
  }
319
312
  }
313
+ onStyleRemoved(style) {
314
+ const styleRef = this.styleRef;
315
+ styleRef.get(style)?.elements?.forEach((node) => node.remove());
316
+ styleRef.delete(style);
317
+ }
320
318
  collectServerRenderedStyles() {
321
319
  const styles = this.doc.head?.querySelectorAll(`style[${APP_ID_ATTRIBUTE_NAME}="${this.appId}"]`);
322
320
  if (styles?.length) {
@@ -334,18 +332,13 @@ class SharedStylesHost {
334
332
  const map = this.styleRef;
335
333
  if (map.has(style)) {
336
334
  const styleRefValue = map.get(style);
337
- styleRefValue.usage = nonNegativeNumber(styleRefValue.usage + delta);
335
+ styleRefValue.usage += delta;
338
336
  return styleRefValue.usage;
339
337
  }
340
- const usage = nonNegativeNumber(delta);
341
- map.set(style, { usage, elements: new Map() });
342
- return usage;
343
- }
344
- getStyleElement(host, style, existingStyleElements) {
345
- const existingStyleElement = existingStyleElements?.get(host);
346
- if (existingStyleElement) {
347
- return existingStyleElement;
348
- }
338
+ map.set(style, { usage: delta, elements: [] });
339
+ return delta;
340
+ }
341
+ getStyleElement(host, style) {
349
342
  const styleNodesInDOM = this.styleNodesInDOM;
350
343
  const styleEl = styleNodesInDOM?.get(style);
351
344
  if (styleEl?.parentNode === host) {
@@ -367,21 +360,20 @@ class SharedStylesHost {
367
360
  if (this.platformIsServer) {
368
361
  styleEl.setAttribute(APP_ID_ATTRIBUTE_NAME, this.appId);
369
362
  }
363
+ host.appendChild(styleEl);
370
364
  return styleEl;
371
365
  }
372
366
  }
373
367
  addStyleToHost(host, style) {
368
+ const styleEl = this.getStyleElement(host, style);
374
369
  const styleRef = this.styleRef;
375
- const styleResult = styleRef.get(style); // This will always be defined in `changeUsageCount`
376
- const styleEl = this.getStyleElement(host, style, styleResult.elements);
377
- host.appendChild(styleEl);
378
- if (styleResult.usage === 0) {
379
- disableStylesheet(styleEl);
370
+ const styleElRef = styleRef.get(style)?.elements;
371
+ if (styleElRef) {
372
+ styleElRef.push(styleEl);
380
373
  }
381
374
  else {
382
- enableStylesheet(styleEl);
375
+ styleRef.set(style, { elements: [styleEl], usage: 1 });
383
376
  }
384
- styleResult.elements.set(host, styleEl);
385
377
  }
386
378
  resetHostNodes() {
387
379
  const hostNodes = this.hostNodes;
@@ -389,10 +381,10 @@ class SharedStylesHost {
389
381
  // Re-add the head element back since this is the default host.
390
382
  hostNodes.add(this.doc.head);
391
383
  }
392
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: SharedStylesHost, deps: [{ token: DOCUMENT }, { token: APP_ID }, { token: CSP_NONCE, optional: true }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
393
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: SharedStylesHost }); }
384
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: SharedStylesHost, deps: [{ token: DOCUMENT }, { token: APP_ID }, { token: CSP_NONCE, optional: true }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
385
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: SharedStylesHost }); }
394
386
  }
395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: SharedStylesHost, decorators: [{
387
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: SharedStylesHost, decorators: [{
396
388
  type: Injectable
397
389
  }], ctorParameters: () => [{ type: Document, decorators: [{
398
390
  type: Inject,
@@ -409,27 +401,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8",
409
401
  type: Inject,
410
402
  args: [PLATFORM_ID]
411
403
  }] }] });
412
- /**
413
- * When a component that has styles is destroyed, we disable stylesheets
414
- * instead of removing them to avoid performance issues related to style
415
- * recalculation in a browser.
416
- */
417
- function disableStylesheet(node) {
418
- node.disabled = true;
419
- }
420
- /**
421
- * Enables a stylesheet in a browser, see the `disableStylesheet` function
422
- * docs for additional info.
423
- */
424
- function enableStylesheet(node) {
425
- node.disabled = false;
426
- }
427
- /**
428
- * When the value is a negative a value of `0` is returned.
429
- */
430
- function nonNegativeNumber(value) {
431
- return value < 0 ? 0 : value;
432
- }
433
404
 
434
405
  const NAMESPACE_URIS = {
435
406
  'svg': 'http://www.w3.org/2000/svg',
@@ -449,12 +420,12 @@ const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;
449
420
  const REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT = true;
450
421
  /**
451
422
  * A [DI token](guide/glossary#di-token "DI token definition") that indicates whether styles
452
- * of destroyed components should be disabled.
423
+ * of destroyed components should be removed from DOM.
453
424
  *
454
425
  * By default, the value is set to `true`.
455
426
  * @publicApi
456
427
  */
457
- const REMOVE_STYLES_ON_COMPONENT_DESTROY = new InjectionToken(ngDevMode ? 'RemoveStylesOnCompDestroy' : '', {
428
+ const REMOVE_STYLES_ON_COMPONENT_DESTROY = new InjectionToken('RemoveStylesOnCompDestroy', {
458
429
  providedIn: 'root',
459
430
  factory: () => REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT,
460
431
  });
@@ -468,11 +439,11 @@ function shimStylesContent(compId, styles) {
468
439
  return styles.map(s => s.replace(COMPONENT_REGEX, compId));
469
440
  }
470
441
  class DomRendererFactory2 {
471
- constructor(eventManager, sharedStylesHost, appId, disableStylesOnCompDestroy, doc, platformId, ngZone, nonce = null) {
442
+ constructor(eventManager, sharedStylesHost, appId, removeStylesOnCompDestroy, doc, platformId, ngZone, nonce = null) {
472
443
  this.eventManager = eventManager;
473
444
  this.sharedStylesHost = sharedStylesHost;
474
445
  this.appId = appId;
475
- this.disableStylesOnCompDestroy = disableStylesOnCompDestroy;
446
+ this.removeStylesOnCompDestroy = removeStylesOnCompDestroy;
476
447
  this.doc = doc;
477
448
  this.platformId = platformId;
478
449
  this.ngZone = ngZone;
@@ -509,16 +480,16 @@ class DomRendererFactory2 {
509
480
  const ngZone = this.ngZone;
510
481
  const eventManager = this.eventManager;
511
482
  const sharedStylesHost = this.sharedStylesHost;
512
- const disableStylesOnCompDestroy = this.disableStylesOnCompDestroy;
483
+ const removeStylesOnCompDestroy = this.removeStylesOnCompDestroy;
513
484
  const platformIsServer = this.platformIsServer;
514
485
  switch (type.encapsulation) {
515
486
  case ViewEncapsulation.Emulated:
516
- renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, disableStylesOnCompDestroy, doc, ngZone, platformIsServer);
487
+ renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, removeStylesOnCompDestroy, doc, ngZone, platformIsServer);
517
488
  break;
518
489
  case ViewEncapsulation.ShadowDom:
519
490
  return new ShadowDomRenderer(eventManager, sharedStylesHost, element, type, doc, ngZone, this.nonce, platformIsServer);
520
491
  default:
521
- renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, disableStylesOnCompDestroy, doc, ngZone, platformIsServer);
492
+ renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, removeStylesOnCompDestroy, doc, ngZone, platformIsServer);
522
493
  break;
523
494
  }
524
495
  rendererByCompId.set(type.id, renderer);
@@ -528,10 +499,10 @@ class DomRendererFactory2 {
528
499
  ngOnDestroy() {
529
500
  this.rendererByCompId.clear();
530
501
  }
531
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", 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 }); }
532
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomRendererFactory2 }); }
502
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", 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 }); }
503
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomRendererFactory2 }); }
533
504
  }
534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomRendererFactory2, decorators: [{
505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomRendererFactory2, decorators: [{
535
506
  type: Injectable
536
507
  }], ctorParameters: () => [{ type: EventManager }, { type: SharedStylesHost }, { type: undefined, decorators: [{
537
508
  type: Inject,
@@ -763,26 +734,26 @@ class ShadowDomRenderer extends DefaultDomRenderer2 {
763
734
  }
764
735
  }
765
736
  class NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {
766
- constructor(eventManager, sharedStylesHost, component, disableStylesOnCompDestroy, doc, ngZone, platformIsServer) {
737
+ constructor(eventManager, sharedStylesHost, component, removeStylesOnCompDestroy, doc, ngZone, platformIsServer, compId) {
767
738
  super(eventManager, doc, ngZone, platformIsServer);
768
739
  this.sharedStylesHost = sharedStylesHost;
769
- this.disableStylesOnCompDestroy = disableStylesOnCompDestroy;
770
- this.styles = component.styles;
740
+ this.removeStylesOnCompDestroy = removeStylesOnCompDestroy;
741
+ this.styles = compId ? shimStylesContent(compId, component.styles) : component.styles;
771
742
  }
772
743
  applyStyles() {
773
744
  this.sharedStylesHost.addStyles(this.styles);
774
745
  }
775
746
  destroy() {
776
- if (this.disableStylesOnCompDestroy) {
777
- this.sharedStylesHost.disableStyles(this.styles);
747
+ if (!this.removeStylesOnCompDestroy) {
748
+ return;
778
749
  }
750
+ this.sharedStylesHost.removeStyles(this.styles);
779
751
  }
780
752
  }
781
753
  class EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {
782
- constructor(eventManager, sharedStylesHost, component, appId, disableStylesOnCompDestroy, doc, ngZone, platformIsServer) {
783
- super(eventManager, sharedStylesHost, component, disableStylesOnCompDestroy, doc, ngZone, platformIsServer);
754
+ constructor(eventManager, sharedStylesHost, component, appId, removeStylesOnCompDestroy, doc, ngZone, platformIsServer) {
784
755
  const compId = appId + '-' + component.id;
785
- this.styles = shimStylesContent(compId, component.styles);
756
+ super(eventManager, sharedStylesHost, component, removeStylesOnCompDestroy, doc, ngZone, platformIsServer, compId);
786
757
  this.contentAttr = shimContentAttribute(compId);
787
758
  this.hostAttr = shimHostAttribute(compId);
788
759
  }
@@ -813,10 +784,10 @@ class DomEventsPlugin extends EventManagerPlugin {
813
784
  removeEventListener(target, eventName, callback) {
814
785
  return target.removeEventListener(eventName, callback);
815
786
  }
816
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
817
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomEventsPlugin }); }
787
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
788
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomEventsPlugin }); }
818
789
  }
819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomEventsPlugin, decorators: [{
790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomEventsPlugin, decorators: [{
820
791
  type: Injectable
821
792
  }], ctorParameters: () => [{ type: undefined, decorators: [{
822
793
  type: Inject,
@@ -985,10 +956,10 @@ class KeyEventsPlugin extends EventManagerPlugin {
985
956
  static _normalizeKey(keyName) {
986
957
  return keyName === 'esc' ? 'escape' : keyName;
987
958
  }
988
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
989
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: KeyEventsPlugin }); }
959
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
960
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: KeyEventsPlugin }); }
990
961
  }
991
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: KeyEventsPlugin, decorators: [{
962
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: KeyEventsPlugin, decorators: [{
992
963
  type: Injectable
993
964
  }], ctorParameters: () => [{ type: undefined, decorators: [{
994
965
  type: Inject,
@@ -1195,11 +1166,11 @@ class BrowserModule {
1195
1166
  ],
1196
1167
  };
1197
1168
  }
1198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1199
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.8", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] }); }
1200
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: BrowserModule, providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS], imports: [CommonModule, ApplicationModule] }); }
1169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1170
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-rc.1", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] }); }
1171
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: BrowserModule, providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS], imports: [CommonModule, ApplicationModule] }); }
1201
1172
  }
1202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: BrowserModule, decorators: [{
1173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: BrowserModule, decorators: [{
1203
1174
  type: NgModule,
1204
1175
  args: [{
1205
1176
  providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS],
@@ -1369,10 +1340,10 @@ class Meta {
1369
1340
  _getMetaKeyMap(prop) {
1370
1341
  return META_KEYS_MAP[prop] || prop;
1371
1342
  }
1372
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1373
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] }); }
1343
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1344
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] }); }
1374
1345
  }
1375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: Meta, decorators: [{
1346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: Meta, decorators: [{
1376
1347
  type: Injectable,
1377
1348
  args: [{ providedIn: 'root', useFactory: createMeta, deps: [] }]
1378
1349
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -1419,10 +1390,10 @@ class Title {
1419
1390
  setTitle(newTitle) {
1420
1391
  this._doc.title = newTitle || '';
1421
1392
  }
1422
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1423
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] }); }
1393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1394
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] }); }
1424
1395
  }
1425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: Title, decorators: [{
1396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: Title, decorators: [{
1426
1397
  type: Injectable,
1427
1398
  args: [{ providedIn: 'root', useFactory: createTitle, deps: [] }]
1428
1399
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -1691,10 +1662,10 @@ class HammerGestureConfig {
1691
1662
  }
1692
1663
  return mc;
1693
1664
  }
1694
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1695
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerGestureConfig }); }
1665
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1666
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerGestureConfig }); }
1696
1667
  }
1697
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerGestureConfig, decorators: [{
1668
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerGestureConfig, decorators: [{
1698
1669
  type: Injectable
1699
1670
  }] });
1700
1671
  /**
@@ -1789,10 +1760,10 @@ class HammerGesturesPlugin extends EventManagerPlugin {
1789
1760
  isCustomEvent(eventName) {
1790
1761
  return this._config.events.indexOf(eventName) > -1;
1791
1762
  }
1792
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerGesturesPlugin, deps: [{ token: DOCUMENT }, { token: HAMMER_GESTURE_CONFIG }, { token: i0.ɵConsole }, { token: HAMMER_LOADER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1793
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerGesturesPlugin }); }
1763
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerGesturesPlugin, deps: [{ token: DOCUMENT }, { token: HAMMER_GESTURE_CONFIG }, { token: i0.ɵConsole }, { token: HAMMER_LOADER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1764
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerGesturesPlugin }); }
1794
1765
  }
1795
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1796
1767
  type: Injectable
1797
1768
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1798
1769
  type: Inject,
@@ -1818,9 +1789,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8",
1818
1789
  * @publicApi
1819
1790
  */
1820
1791
  class HammerModule {
1821
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1822
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerModule }); }
1823
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerModule, providers: [
1792
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1793
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerModule }); }
1794
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerModule, providers: [
1824
1795
  {
1825
1796
  provide: EVENT_MANAGER_PLUGINS,
1826
1797
  useClass: HammerGesturesPlugin,
@@ -1830,7 +1801,7 @@ class HammerModule {
1830
1801
  { provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig, deps: [] },
1831
1802
  ] }); }
1832
1803
  }
1833
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: HammerModule, decorators: [{
1804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: HammerModule, decorators: [{
1834
1805
  type: NgModule,
1835
1806
  args: [{
1836
1807
  providers: [
@@ -1877,10 +1848,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8",
1877
1848
  * @publicApi
1878
1849
  */
1879
1850
  class DomSanitizer {
1880
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1881
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(() => DomSanitizerImpl) }); }
1851
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1852
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(() => DomSanitizerImpl) }); }
1882
1853
  }
1883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomSanitizer, decorators: [{
1854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomSanitizer, decorators: [{
1884
1855
  type: Injectable,
1885
1856
  args: [{ providedIn: 'root', useExisting: forwardRef(() => DomSanitizerImpl) }]
1886
1857
  }] });
@@ -1945,10 +1916,10 @@ class DomSanitizerImpl extends DomSanitizer {
1945
1916
  bypassSecurityTrustResourceUrl(value) {
1946
1917
  return ɵbypassSanitizationTrustResourceUrl(value);
1947
1918
  }
1948
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1949
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] }); }
1919
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1920
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] }); }
1950
1921
  }
1951
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: DomSanitizerImpl, decorators: [{
1922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ngImport: i0, type: DomSanitizerImpl, decorators: [{
1952
1923
  type: Injectable,
1953
1924
  args: [{ providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [Injector] }]
1954
1925
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -1967,7 +1938,6 @@ function hydrationFeature(ɵkind, ɵproviders = [], ɵoptions = {}) {
1967
1938
  * server and other one on the browser.
1968
1939
  *
1969
1940
  * @publicApi
1970
- * @developerPreview
1971
1941
  */
1972
1942
  function withNoHttpTransferCache() {
1973
1943
  // This feature has no providers and acts as a flag that turns off
@@ -1981,7 +1951,6 @@ function withNoHttpTransferCache() {
1981
1951
  * particular request should be cached.
1982
1952
  *
1983
1953
  * @publicApi
1984
- * @developerPreview
1985
1954
  */
1986
1955
  function withHttpTransferCacheOptions(options) {
1987
1956
  // This feature has no providers and acts as a flag to pass options to the HTTP transfer cache.
@@ -2054,7 +2023,6 @@ function provideZoneJsCompatibilityDetector() {
2054
2023
  * @returns A set of providers to enable hydration.
2055
2024
  *
2056
2025
  * @publicApi
2057
- * @developerPreview
2058
2026
  */
2059
2027
  function provideClientHydration(...features) {
2060
2028
  const providers = [];
@@ -2089,7 +2057,7 @@ function provideClientHydration(...features) {
2089
2057
  /**
2090
2058
  * @publicApi
2091
2059
  */
2092
- const VERSION = new Version('17.0.0-next.8');
2060
+ const VERSION = new Version('17.0.0-rc.1');
2093
2061
 
2094
2062
  // Re-export TransferState to the public API of the `platform-browser` for backwards-compatibility.
2095
2063
  /**