@angular/cdk 8.0.0-beta.2 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +2 -2
  2. package/_overlay.scss +4 -4
  3. package/bundles/cdk-a11y.umd.js +227 -79
  4. package/bundles/cdk-a11y.umd.js.map +1 -1
  5. package/bundles/cdk-a11y.umd.min.js +1 -1
  6. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  7. package/bundles/cdk-accordion.umd.js +20 -8
  8. package/bundles/cdk-accordion.umd.js.map +1 -1
  9. package/bundles/cdk-accordion.umd.min.js.map +1 -1
  10. package/bundles/cdk-bidi.umd.js +5 -5
  11. package/bundles/cdk-bidi.umd.min.js +1 -1
  12. package/bundles/cdk-bidi.umd.min.js.map +1 -1
  13. package/bundles/cdk-coercion.umd.js +5 -5
  14. package/bundles/cdk-collections.umd.js +38 -15
  15. package/bundles/cdk-collections.umd.js.map +1 -1
  16. package/bundles/cdk-collections.umd.min.js +1 -1
  17. package/bundles/cdk-collections.umd.min.js.map +1 -1
  18. package/bundles/cdk-drag-drop.umd.js +571 -180
  19. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  20. package/bundles/cdk-drag-drop.umd.min.js +2 -2
  21. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  22. package/bundles/cdk-keycodes.umd.js +7 -3
  23. package/bundles/cdk-keycodes.umd.js.map +1 -1
  24. package/bundles/cdk-keycodes.umd.min.js.map +1 -1
  25. package/bundles/cdk-layout.umd.js +83 -30
  26. package/bundles/cdk-layout.umd.js.map +1 -1
  27. package/bundles/cdk-layout.umd.min.js +1 -1
  28. package/bundles/cdk-layout.umd.min.js.map +1 -1
  29. package/bundles/cdk-observers.umd.js +30 -11
  30. package/bundles/cdk-observers.umd.js.map +1 -1
  31. package/bundles/cdk-observers.umd.min.js +1 -1
  32. package/bundles/cdk-observers.umd.min.js.map +1 -1
  33. package/bundles/cdk-overlay.umd.js +229 -108
  34. package/bundles/cdk-overlay.umd.js.map +1 -1
  35. package/bundles/cdk-overlay.umd.min.js +2 -2
  36. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  37. package/bundles/cdk-platform.umd.js +17 -10
  38. package/bundles/cdk-platform.umd.js.map +1 -1
  39. package/bundles/cdk-platform.umd.min.js +1 -1
  40. package/bundles/cdk-platform.umd.min.js.map +1 -1
  41. package/bundles/cdk-portal.umd.js +32 -13
  42. package/bundles/cdk-portal.umd.js.map +1 -1
  43. package/bundles/cdk-portal.umd.min.js.map +1 -1
  44. package/bundles/cdk-scrolling.umd.js +184 -62
  45. package/bundles/cdk-scrolling.umd.js.map +1 -1
  46. package/bundles/cdk-scrolling.umd.min.js +1 -1
  47. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  48. package/bundles/cdk-stepper.umd.js +30 -12
  49. package/bundles/cdk-stepper.umd.js.map +1 -1
  50. package/bundles/cdk-stepper.umd.min.js.map +1 -1
  51. package/bundles/cdk-table.umd.js +384 -74
  52. package/bundles/cdk-table.umd.js.map +1 -1
  53. package/bundles/cdk-table.umd.min.js +1 -1
  54. package/bundles/cdk-table.umd.min.js.map +1 -1
  55. package/bundles/cdk-text-field.umd.js +61 -21
  56. package/bundles/cdk-text-field.umd.js.map +1 -1
  57. package/bundles/cdk-text-field.umd.min.js +1 -1
  58. package/bundles/cdk-text-field.umd.min.js.map +1 -1
  59. package/bundles/cdk-tree.umd.js +85 -29
  60. package/bundles/cdk-tree.umd.js.map +1 -1
  61. package/bundles/cdk-tree.umd.min.js.map +1 -1
  62. package/bundles/cdk.umd.js +2 -2
  63. package/bundles/cdk.umd.js.map +1 -1
  64. package/bundles/cdk.umd.min.js +1 -1
  65. package/bundles/cdk.umd.min.js.map +1 -1
  66. package/drag-drop/typings/directives/drag.d.ts +11 -2
  67. package/drag-drop/typings/drag-events.d.ts +17 -0
  68. package/drag-drop/typings/drag-ref.d.ts +9 -5
  69. package/drag-drop/typings/drop-list-ref.d.ts +9 -3
  70. package/drag-drop/typings/index.metadata.json +1 -1
  71. package/esm2015/a11y.js +229 -81
  72. package/esm2015/a11y.js.map +1 -1
  73. package/esm2015/accordion.js +22 -10
  74. package/esm2015/accordion.js.map +1 -1
  75. package/esm2015/bidi.js +8 -8
  76. package/esm2015/cdk.js +4 -4
  77. package/esm2015/cdk.js.map +1 -1
  78. package/esm2015/coercion.js +7 -7
  79. package/esm2015/collections.js +41 -18
  80. package/esm2015/collections.js.map +1 -1
  81. package/esm2015/drag-drop.js +540 -181
  82. package/esm2015/drag-drop.js.map +1 -1
  83. package/esm2015/keycodes.js +9 -5
  84. package/esm2015/keycodes.js.map +1 -1
  85. package/esm2015/layout.js +89 -36
  86. package/esm2015/layout.js.map +1 -1
  87. package/esm2015/observers.js +33 -14
  88. package/esm2015/observers.js.map +1 -1
  89. package/esm2015/overlay.js +232 -110
  90. package/esm2015/overlay.js.map +1 -1
  91. package/esm2015/platform.js +20 -13
  92. package/esm2015/platform.js.map +1 -1
  93. package/esm2015/portal.js +34 -15
  94. package/esm2015/portal.js.map +1 -1
  95. package/esm2015/scrolling.js +180 -58
  96. package/esm2015/scrolling.js.map +1 -1
  97. package/esm2015/stepper.js +32 -14
  98. package/esm2015/stepper.js.map +1 -1
  99. package/esm2015/table.js +369 -69
  100. package/esm2015/table.js.map +1 -1
  101. package/esm2015/text-field.js +64 -24
  102. package/esm2015/text-field.js.map +1 -1
  103. package/esm2015/tree.js +86 -30
  104. package/esm2015/tree.js.map +1 -1
  105. package/esm5/a11y.es5.js +230 -82
  106. package/esm5/a11y.es5.js.map +1 -1
  107. package/esm5/accordion.es5.js +22 -10
  108. package/esm5/accordion.es5.js.map +1 -1
  109. package/esm5/bidi.es5.js +8 -8
  110. package/esm5/cdk.es5.js +4 -4
  111. package/esm5/cdk.es5.js.map +1 -1
  112. package/esm5/coercion.es5.js +7 -7
  113. package/esm5/collections.es5.js +42 -19
  114. package/esm5/collections.es5.js.map +1 -1
  115. package/esm5/drag-drop.es5.js +574 -183
  116. package/esm5/drag-drop.es5.js.map +1 -1
  117. package/esm5/keycodes.es5.js +9 -5
  118. package/esm5/keycodes.es5.js.map +1 -1
  119. package/esm5/layout.es5.js +86 -33
  120. package/esm5/layout.es5.js.map +1 -1
  121. package/esm5/observers.es5.js +33 -14
  122. package/esm5/observers.es5.js.map +1 -1
  123. package/esm5/overlay.es5.js +232 -111
  124. package/esm5/overlay.es5.js.map +1 -1
  125. package/esm5/platform.es5.js +20 -13
  126. package/esm5/platform.es5.js.map +1 -1
  127. package/esm5/portal.es5.js +34 -15
  128. package/esm5/portal.es5.js.map +1 -1
  129. package/esm5/scrolling.es5.js +187 -65
  130. package/esm5/scrolling.es5.js.map +1 -1
  131. package/esm5/stepper.es5.js +32 -14
  132. package/esm5/stepper.es5.js.map +1 -1
  133. package/esm5/table.es5.js +386 -72
  134. package/esm5/table.es5.js.map +1 -1
  135. package/esm5/text-field.es5.js +64 -24
  136. package/esm5/text-field.es5.js.map +1 -1
  137. package/esm5/tree.es5.js +87 -31
  138. package/esm5/tree.es5.js.map +1 -1
  139. package/layout/typings/breakpoints-observer.d.ts +3 -3
  140. package/layout/typings/index.metadata.json +1 -1
  141. package/layout/typings/media-matcher.d.ts +2 -2
  142. package/overlay/typings/index.metadata.json +1 -1
  143. package/overlay/typings/position/flexible-connected-position-strategy.d.ts +1 -3
  144. package/package.json +8 -8
  145. package/portal/typings/portal.d.ts +2 -2
  146. package/schematics/ng-update/data/attribute-selectors.js +1 -1
  147. package/schematics/ng-update/data/attribute-selectors.js.map +1 -1
  148. package/schematics/ng-update/data/class-names.js +3 -3
  149. package/schematics/ng-update/data/class-names.js.map +1 -1
  150. package/schematics/ng-update/data/constructor-checks.js +1 -1
  151. package/schematics/ng-update/data/constructor-checks.js.map +1 -1
  152. package/schematics/ng-update/data/input-names.js +1 -1
  153. package/schematics/ng-update/data/input-names.js.map +1 -1
  154. package/schematics/ng-update/data/method-call-checks.js +1 -1
  155. package/schematics/ng-update/data/method-call-checks.js.map +1 -1
  156. package/schematics/ng-update/data/property-names.js +4 -4
  157. package/schematics/ng-update/data/property-names.js.map +1 -1
  158. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js +1 -1
  159. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js.map +1 -1
  160. package/schematics/tsconfig.tsbuildinfo +5811 -0
  161. package/schematics/utils/ast.d.ts +1 -1
  162. package/schematics/utils/build-component.js +1 -1
  163. package/schematics/utils/build-component.js.map +1 -1
  164. package/schematics/utils/get-project.d.ts +1 -1
  165. package/schematics/utils/project-main-file.d.ts +1 -1
  166. package/schematics/utils/project-style-file.d.ts +1 -1
  167. package/schematics/utils/project-targets.d.ts +1 -1
  168. package/schematics/utils/schematic-options.d.ts +1 -1
  169. package/table/typings/cell.d.ts +3 -2
  170. package/table/typings/index.metadata.json +1 -1
  171. package/table/typings/public-api.d.ts +1 -0
  172. package/table/typings/row.d.ts +5 -4
  173. package/table/typings/sticky-styler.d.ts +5 -5
  174. package/table/typings/table-errors.d.ts +10 -0
  175. package/table/typings/text-column.d.ts +80 -0
  176. package/typings/drag-drop/directives/drag.d.ts +11 -2
  177. package/typings/drag-drop/drag-events.d.ts +17 -0
  178. package/typings/drag-drop/drag-ref.d.ts +9 -5
  179. package/typings/drag-drop/drop-list-ref.d.ts +9 -3
  180. package/typings/drag-drop/index.metadata.json +1 -1
  181. package/typings/esm5/drag-drop/directives/drag.d.ts +11 -2
  182. package/typings/esm5/drag-drop/drag-events.d.ts +17 -0
  183. package/typings/esm5/drag-drop/drag-ref.d.ts +9 -5
  184. package/typings/esm5/drag-drop/drop-list-ref.d.ts +9 -3
  185. package/typings/esm5/drag-drop/index.metadata.json +1 -1
  186. package/typings/esm5/index.metadata.json +1 -1
  187. package/typings/esm5/layout/breakpoints-observer.d.ts +3 -3
  188. package/typings/esm5/layout/index.metadata.json +1 -1
  189. package/typings/esm5/layout/media-matcher.d.ts +2 -2
  190. package/typings/esm5/overlay/index.metadata.json +1 -1
  191. package/typings/esm5/overlay/position/flexible-connected-position-strategy.d.ts +1 -3
  192. package/typings/esm5/portal/portal.d.ts +2 -2
  193. package/typings/esm5/table/cell.d.ts +3 -2
  194. package/typings/esm5/table/index.metadata.json +1 -1
  195. package/typings/esm5/table/public-api.d.ts +1 -0
  196. package/typings/esm5/table/row.d.ts +5 -4
  197. package/typings/esm5/table/sticky-styler.d.ts +5 -5
  198. package/typings/esm5/table/table-errors.d.ts +10 -0
  199. package/typings/esm5/table/text-column.d.ts +80 -0
  200. package/typings/index.metadata.json +1 -1
  201. package/typings/layout/breakpoints-observer.d.ts +3 -3
  202. package/typings/layout/index.metadata.json +1 -1
  203. package/typings/layout/media-matcher.d.ts +2 -2
  204. package/typings/overlay/index.metadata.json +1 -1
  205. package/typings/overlay/position/flexible-connected-position-strategy.d.ts +1 -3
  206. package/typings/portal/portal.d.ts +2 -2
  207. package/typings/schematics/utils/ast.d.ts +1 -1
  208. package/typings/schematics/utils/get-project.d.ts +1 -1
  209. package/typings/schematics/utils/project-main-file.d.ts +1 -1
  210. package/typings/schematics/utils/project-style-file.d.ts +1 -1
  211. package/typings/schematics/utils/project-targets.d.ts +1 -1
  212. package/typings/schematics/utils/schematic-options.d.ts +1 -1
  213. package/typings/table/cell.d.ts +3 -2
  214. package/typings/table/index.metadata.json +1 -1
  215. package/typings/table/public-api.d.ts +1 -0
  216. package/typings/table/row.d.ts +5 -4
  217. package/typings/table/sticky-styler.d.ts +5 -5
  218. package/typings/table/table-errors.d.ts +10 -0
  219. package/typings/table/text-column.d.ts +80 -0
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { InjectionToken, Directive, forwardRef, Input, Injectable, NgZone, Optional, SkipSelf, ElementRef, NgModule, IterableDiffers, TemplateRef, ViewContainerRef, ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Output, ViewChild, ViewEncapsulation, defineInjectable, inject } from '@angular/core';
8
+ import { InjectionToken, Directive, forwardRef, Input, Injectable, NgZone, Optional, SkipSelf, ElementRef, NgModule, IterableDiffers, TemplateRef, ViewContainerRef, ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Output, ViewChild, ViewEncapsulation, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
9
9
  import { coerceNumberProperty } from '@angular/cdk/coercion';
10
10
  import { Subject, fromEvent, of, Observable, animationFrameScheduler, asapScheduler, merge } from 'rxjs';
11
11
  import { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, shareReplay, switchMap } from 'rxjs/operators';
@@ -15,7 +15,7 @@ import { ArrayDataSource, isDataSource } from '@angular/cdk/collections';
15
15
 
16
16
  /**
17
17
  * @fileoverview added by tsickle
18
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
18
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
19
19
  */
20
20
  /**
21
21
  * The injection token used to specify the virtual scrolling strategy.
@@ -25,7 +25,7 @@ const VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');
25
25
 
26
26
  /**
27
27
  * @fileoverview added by tsickle
28
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
28
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
29
29
  */
30
30
  /**
31
31
  * Virtual scrolling strategy for lists with items of known fixed size.
@@ -245,7 +245,10 @@ CdkFixedSizeVirtualScroll.decorators = [
245
245
  providers: [{
246
246
  provide: VIRTUAL_SCROLL_STRATEGY,
247
247
  useFactory: _fixedSizeVirtualScrollStrategyFactory,
248
- deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],
248
+ deps: [forwardRef((/**
249
+ * @return {?}
250
+ */
251
+ () => CdkFixedSizeVirtualScroll))],
249
252
  }],
250
253
  },] },
251
254
  ];
@@ -257,7 +260,7 @@ CdkFixedSizeVirtualScroll.propDecorators = {
257
260
 
258
261
  /**
259
262
  * @fileoverview added by tsickle
260
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
263
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
261
264
  */
262
265
  /**
263
266
  * Time in ms to throttle the scrolling events by default.
@@ -303,7 +306,10 @@ class ScrollDispatcher {
303
306
  register(scrollable) {
304
307
  if (!this.scrollContainers.has(scrollable)) {
305
308
  this.scrollContainers.set(scrollable, scrollable.elementScrolled()
306
- .subscribe(() => this._scrolled.next(scrollable)));
309
+ .subscribe((/**
310
+ * @return {?}
311
+ */
312
+ () => this._scrolled.next(scrollable))));
307
313
  }
308
314
  }
309
315
  /**
@@ -335,7 +341,11 @@ class ScrollDispatcher {
335
341
  if (!this._platform.isBrowser) {
336
342
  return of();
337
343
  }
338
- return new Observable((observer) => {
344
+ return new Observable((/**
345
+ * @param {?} observer
346
+ * @return {?}
347
+ */
348
+ (observer) => {
339
349
  if (!this._globalSubscription) {
340
350
  this._addGlobalListener();
341
351
  }
@@ -346,21 +356,29 @@ class ScrollDispatcher {
346
356
  this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) :
347
357
  this._scrolled.subscribe(observer);
348
358
  this._scrolledCount++;
349
- return () => {
359
+ return (/**
360
+ * @return {?}
361
+ */
362
+ () => {
350
363
  subscription.unsubscribe();
351
364
  this._scrolledCount--;
352
365
  if (!this._scrolledCount) {
353
366
  this._removeGlobalListener();
354
367
  }
355
- };
356
- });
368
+ });
369
+ }));
357
370
  }
358
371
  /**
359
372
  * @return {?}
360
373
  */
361
374
  ngOnDestroy() {
362
375
  this._removeGlobalListener();
363
- this.scrollContainers.forEach((_, container) => this.deregister(container));
376
+ this.scrollContainers.forEach((/**
377
+ * @param {?} _
378
+ * @param {?} container
379
+ * @return {?}
380
+ */
381
+ (_, container) => this.deregister(container)));
364
382
  this._scrolled.complete();
365
383
  }
366
384
  /**
@@ -373,9 +391,13 @@ class ScrollDispatcher {
373
391
  ancestorScrolled(elementRef, auditTimeInMs) {
374
392
  /** @type {?} */
375
393
  const ancestors = this.getAncestorScrollContainers(elementRef);
376
- return this.scrolled(auditTimeInMs).pipe(filter(target => {
394
+ return this.scrolled(auditTimeInMs).pipe(filter((/**
395
+ * @param {?} target
396
+ * @return {?}
397
+ */
398
+ target => {
377
399
  return !target || ancestors.indexOf(target) > -1;
378
- }));
400
+ })));
379
401
  }
380
402
  /**
381
403
  * Returns all registered Scrollables that contain the provided element.
@@ -385,11 +407,16 @@ class ScrollDispatcher {
385
407
  getAncestorScrollContainers(elementRef) {
386
408
  /** @type {?} */
387
409
  const scrollingContainers = [];
388
- this.scrollContainers.forEach((_subscription, scrollable) => {
410
+ this.scrollContainers.forEach((/**
411
+ * @param {?} _subscription
412
+ * @param {?} scrollable
413
+ * @return {?}
414
+ */
415
+ (_subscription, scrollable) => {
389
416
  if (this._scrollableContainsElement(scrollable, elementRef)) {
390
417
  scrollingContainers.push(scrollable);
391
418
  }
392
- });
419
+ }));
393
420
  return scrollingContainers;
394
421
  }
395
422
  /**
@@ -419,9 +446,15 @@ class ScrollDispatcher {
419
446
  * @return {?}
420
447
  */
421
448
  _addGlobalListener() {
422
- this._globalSubscription = this._ngZone.runOutsideAngular(() => {
423
- return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());
424
- });
449
+ this._globalSubscription = this._ngZone.runOutsideAngular((/**
450
+ * @return {?}
451
+ */
452
+ () => {
453
+ return fromEvent(window.document, 'scroll').subscribe((/**
454
+ * @return {?}
455
+ */
456
+ () => this._scrolled.next()));
457
+ }));
425
458
  }
426
459
  /**
427
460
  * Cleans up the global scroll listener.
@@ -443,7 +476,7 @@ ScrollDispatcher.ctorParameters = () => [
443
476
  { type: NgZone },
444
477
  { type: Platform }
445
478
  ];
446
- /** @nocollapse */ ScrollDispatcher.ngInjectableDef = defineInjectable({ factory: function ScrollDispatcher_Factory() { return new ScrollDispatcher(inject(NgZone), inject(Platform)); }, token: ScrollDispatcher, providedIn: "root" });
479
+ /** @nocollapse */ ScrollDispatcher.ngInjectableDef = ɵɵdefineInjectable({ factory: function ScrollDispatcher_Factory() { return new ScrollDispatcher(ɵɵinject(NgZone), ɵɵinject(Platform)); }, token: ScrollDispatcher, providedIn: "root" });
447
480
  /**
448
481
  * \@docs-private \@deprecated \@breaking-change 8.0.0
449
482
  * @param {?} parentDispatcher
@@ -467,7 +500,7 @@ const SCROLL_DISPATCHER_PROVIDER = {
467
500
 
468
501
  /**
469
502
  * @fileoverview added by tsickle
470
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
503
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
471
504
  */
472
505
  /**
473
506
  * Sends an event when the directive's element is scrolled. Registers itself with the
@@ -487,8 +520,15 @@ class CdkScrollable {
487
520
  this.ngZone = ngZone;
488
521
  this.dir = dir;
489
522
  this._destroyed = new Subject();
490
- this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll').pipe(takeUntil(this._destroyed))
491
- .subscribe(observer)));
523
+ this._elementScrolled = new Observable((/**
524
+ * @param {?} observer
525
+ * @return {?}
526
+ */
527
+ (observer) => this.ngZone.runOutsideAngular((/**
528
+ * @return {?}
529
+ */
530
+ () => fromEvent(this.elementRef.nativeElement, 'scroll').pipe(takeUntil(this._destroyed))
531
+ .subscribe(observer)))));
492
532
  }
493
533
  /**
494
534
  * @return {?}
@@ -660,7 +700,7 @@ CdkScrollable.ctorParameters = () => [
660
700
 
661
701
  /**
662
702
  * @fileoverview added by tsickle
663
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
703
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
664
704
  */
665
705
  /**
666
706
  * Checks if the given ranges are equal.
@@ -714,7 +754,21 @@ class CdkVirtualScrollViewport extends CdkScrollable {
714
754
  /**
715
755
  * Emits when the index of the first element visible in the viewport changes.
716
756
  */
717
- this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));
757
+ this.scrolledIndexChange = new Observable((/**
758
+ * @param {?} observer
759
+ * @return {?}
760
+ */
761
+ (observer) => this._scrollStrategy.scrolledIndexChange.subscribe((/**
762
+ * @param {?} index
763
+ * @return {?}
764
+ */
765
+ index => Promise.resolve().then((/**
766
+ * @return {?}
767
+ */
768
+ () => this.ngZone.run((/**
769
+ * @return {?}
770
+ */
771
+ () => observer.next(index)))))))));
718
772
  /**
719
773
  * A stream that emits whenever the rendered range changes.
720
774
  */
@@ -770,7 +824,13 @@ class CdkVirtualScrollViewport extends CdkScrollable {
770
824
  // the Viewport to be rendered with the correct size before we measure. We run this outside the
771
825
  // zone to avoid causing more change detection cycles. We handle the change detection loop
772
826
  // ourselves instead.
773
- this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {
827
+ this.ngZone.runOutsideAngular((/**
828
+ * @return {?}
829
+ */
830
+ () => Promise.resolve().then((/**
831
+ * @return {?}
832
+ */
833
+ () => {
774
834
  this._measureViewportSize();
775
835
  this._scrollStrategy.attach(this);
776
836
  this.elementScrolled()
@@ -781,9 +841,12 @@ class CdkVirtualScrollViewport extends CdkScrollable {
781
841
  // there are multiple scroll events in the same frame we only need to recheck
782
842
  // our layout once.
783
843
  auditTime(0, SCROLL_SCHEDULER))
784
- .subscribe(() => this._scrollStrategy.onContentScrolled());
844
+ .subscribe((/**
845
+ * @return {?}
846
+ */
847
+ () => this._scrollStrategy.onContentScrolled()));
785
848
  this._markChangeDetectionNeeded();
786
- }));
849
+ }))));
787
850
  }
788
851
  /**
789
852
  * @return {?}
@@ -808,9 +871,16 @@ class CdkVirtualScrollViewport extends CdkScrollable {
808
871
  // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length
809
872
  // changes. Run outside the zone to avoid triggering change detection, since we're managing the
810
873
  // change detection loop ourselves.
811
- this.ngZone.runOutsideAngular(() => {
874
+ this.ngZone.runOutsideAngular((/**
875
+ * @return {?}
876
+ */
877
+ () => {
812
878
  this._forOf = forOf;
813
- this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {
879
+ this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe((/**
880
+ * @param {?} data
881
+ * @return {?}
882
+ */
883
+ data => {
814
884
  /** @type {?} */
815
885
  const newLength = data.length;
816
886
  if (newLength !== this._dataLength) {
@@ -818,8 +888,8 @@ class CdkVirtualScrollViewport extends CdkScrollable {
818
888
  this._scrollStrategy.onDataLengthChanged();
819
889
  }
820
890
  this._doChangeDetection();
821
- });
822
- });
891
+ }));
892
+ }));
823
893
  }
824
894
  /**
825
895
  * Detaches the current `CdkVirtualForOf`.
@@ -877,7 +947,10 @@ class CdkVirtualScrollViewport extends CdkScrollable {
877
947
  setRenderedRange(range) {
878
948
  if (!rangesEqual(this._renderedRange, range)) {
879
949
  this._renderedRangeSubject.next(this._renderedRange = range);
880
- this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());
950
+ this._markChangeDetectionNeeded((/**
951
+ * @return {?}
952
+ */
953
+ () => this._scrollStrategy.onContentRendered()));
881
954
  }
882
955
  }
883
956
  /**
@@ -919,7 +992,10 @@ class CdkVirtualScrollViewport extends CdkScrollable {
919
992
  // We know this value is safe because we parse `offset` with `Number()` before passing it
920
993
  // into the string.
921
994
  this._renderedContentTransform = transform;
922
- this._markChangeDetectionNeeded(() => {
995
+ this._markChangeDetectionNeeded((/**
996
+ * @return {?}
997
+ */
998
+ () => {
923
999
  if (this._renderedContentOffsetNeedsRewrite) {
924
1000
  this._renderedContentOffset -= this.measureRenderedContentSize();
925
1001
  this._renderedContentOffsetNeedsRewrite = false;
@@ -928,7 +1004,7 @@ class CdkVirtualScrollViewport extends CdkScrollable {
928
1004
  else {
929
1005
  this._scrollStrategy.onRenderedOffsetChanged();
930
1006
  }
931
- });
1007
+ }));
932
1008
  }
933
1009
  }
934
1010
  /**
@@ -1023,9 +1099,15 @@ class CdkVirtualScrollViewport extends CdkScrollable {
1023
1099
  // properties sequentially we only have to run `_doChangeDetection` once at the end.
1024
1100
  if (!this._isChangeDetectionPending) {
1025
1101
  this._isChangeDetectionPending = true;
1026
- this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {
1102
+ this.ngZone.runOutsideAngular((/**
1103
+ * @return {?}
1104
+ */
1105
+ () => Promise.resolve().then((/**
1106
+ * @return {?}
1107
+ */
1108
+ () => {
1027
1109
  this._doChangeDetection();
1028
- }));
1110
+ }))));
1029
1111
  }
1030
1112
  }
1031
1113
  /**
@@ -1038,7 +1120,10 @@ class CdkVirtualScrollViewport extends CdkScrollable {
1038
1120
  // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection
1039
1121
  // from the root, since the repeated items are content projected in. Calling `detectChanges`
1040
1122
  // instead does not properly check the projected content.
1041
- this.ngZone.run(() => this._changeDetectorRef.markForCheck());
1123
+ this.ngZone.run((/**
1124
+ * @return {?}
1125
+ */
1126
+ () => this._changeDetectorRef.markForCheck()));
1042
1127
  // Apply the content transform. The transform can't be set via an Angular binding because
1043
1128
  // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of
1044
1129
  // string literals, a variable that can only be 'X' or 'Y', and user input that is run through
@@ -1086,7 +1171,7 @@ CdkVirtualScrollViewport.propDecorators = {
1086
1171
 
1087
1172
  /**
1088
1173
  * @fileoverview added by tsickle
1089
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1174
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1090
1175
  */
1091
1176
  /**
1092
1177
  * Helper to extract size from a DOM Node.
@@ -1147,7 +1232,11 @@ class CdkVirtualForOf {
1147
1232
  // Use `_changeDataSource` to disconnect from the previous data source and connect to the
1148
1233
  // new one, passing back a stream of data changes which we run through `switchMap` to give
1149
1234
  // us a data stream that emits the latest data from whatever the current `DataSource` is.
1150
- switchMap(([prev, cur]) => this._changeDataSource(prev, cur)),
1235
+ switchMap((/**
1236
+ * @param {?} __0
1237
+ * @return {?}
1238
+ */
1239
+ ([prev, cur]) => this._changeDataSource(prev, cur))),
1151
1240
  // Replay the last emitted data when someone subscribes.
1152
1241
  shareReplay(1));
1153
1242
  /**
@@ -1165,15 +1254,26 @@ class CdkVirtualForOf {
1165
1254
  */
1166
1255
  this._needsUpdate = false;
1167
1256
  this._destroyed = new Subject();
1168
- this.dataStream.subscribe(data => {
1257
+ this.dataStream.subscribe((/**
1258
+ * @param {?} data
1259
+ * @return {?}
1260
+ */
1261
+ data => {
1169
1262
  this._data = data;
1170
1263
  this._onRenderedDataChange();
1171
- });
1172
- this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {
1264
+ }));
1265
+ this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe((/**
1266
+ * @param {?} range
1267
+ * @return {?}
1268
+ */
1269
+ range => {
1173
1270
  this._renderedRange = range;
1174
- ngZone.run(() => this.viewChange.next(this._renderedRange));
1271
+ ngZone.run((/**
1272
+ * @return {?}
1273
+ */
1274
+ () => this.viewChange.next(this._renderedRange)));
1175
1275
  this._onRenderedDataChange();
1176
- });
1276
+ }));
1177
1277
  this._viewport.attach(this);
1178
1278
  }
1179
1279
  /**
@@ -1210,7 +1310,12 @@ class CdkVirtualForOf {
1210
1310
  set cdkVirtualForTrackBy(fn) {
1211
1311
  this._needsUpdate = true;
1212
1312
  this._cdkVirtualForTrackBy = fn ?
1213
- (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item) :
1313
+ (/**
1314
+ * @param {?} index
1315
+ * @param {?} item
1316
+ * @return {?}
1317
+ */
1318
+ (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item)) :
1214
1319
  undefined;
1215
1320
  }
1216
1321
  /**
@@ -1285,6 +1390,7 @@ class CdkVirtualForOf {
1285
1390
  */
1286
1391
  ngOnDestroy() {
1287
1392
  this._viewport.detach();
1393
+ this._dataSourceChanges.next();
1288
1394
  this._dataSourceChanges.complete();
1289
1395
  this.viewChange.complete();
1290
1396
  this._destroyed.next();
@@ -1320,7 +1426,7 @@ class CdkVirtualForOf {
1320
1426
  oldDs.disconnect(this);
1321
1427
  }
1322
1428
  this._needsUpdate = true;
1323
- return newDs.connect(this);
1429
+ return newDs ? newDs.connect(this) : of();
1324
1430
  }
1325
1431
  /**
1326
1432
  * Update the `CdkVirtualForOfContext` for all views.
@@ -1349,7 +1455,13 @@ class CdkVirtualForOf {
1349
1455
  */
1350
1456
  _applyChanges(changes) {
1351
1457
  // Rearrange the views to put them in the right location.
1352
- changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {
1458
+ changes.forEachOperation((/**
1459
+ * @param {?} record
1460
+ * @param {?} adjustedPreviousIndex
1461
+ * @param {?} currentIndex
1462
+ * @return {?}
1463
+ */
1464
+ (record, adjustedPreviousIndex, currentIndex) => {
1353
1465
  if (record.previousIndex == null) { // Item added.
1354
1466
  // Item added.
1355
1467
  /** @type {?} */
@@ -1366,13 +1478,17 @@ class CdkVirtualForOf {
1366
1478
  this._viewContainerRef.move(view, currentIndex);
1367
1479
  view.context.$implicit = record.item;
1368
1480
  }
1369
- });
1481
+ }));
1370
1482
  // Update $implicit for any items that had an identity change.
1371
- changes.forEachIdentityChange((record) => {
1483
+ changes.forEachIdentityChange((/**
1484
+ * @param {?} record
1485
+ * @return {?}
1486
+ */
1487
+ (record) => {
1372
1488
  /** @type {?} */
1373
1489
  const view = (/** @type {?} */ (this._viewContainerRef.get((/** @type {?} */ (record.currentIndex)))));
1374
1490
  view.context.$implicit = record.item;
1375
- });
1491
+ }));
1376
1492
  // Update the context variables on all items.
1377
1493
  /** @type {?} */
1378
1494
  const count = this._data.length;
@@ -1500,7 +1616,7 @@ CdkVirtualForOf.propDecorators = {
1500
1616
 
1501
1617
  /**
1502
1618
  * @fileoverview added by tsickle
1503
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1619
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1504
1620
  */
1505
1621
  class ScrollingModule {
1506
1622
  }
@@ -1537,7 +1653,7 @@ ScrollDispatchModule.decorators = [
1537
1653
 
1538
1654
  /**
1539
1655
  * @fileoverview added by tsickle
1540
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1656
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1541
1657
  */
1542
1658
  /**
1543
1659
  * Time in ms to throttle the resize events by default.
@@ -1555,14 +1671,20 @@ class ViewportRuler {
1555
1671
  */
1556
1672
  constructor(_platform, ngZone) {
1557
1673
  this._platform = _platform;
1558
- ngZone.runOutsideAngular(() => {
1674
+ ngZone.runOutsideAngular((/**
1675
+ * @return {?}
1676
+ */
1677
+ () => {
1559
1678
  this._change = _platform.isBrowser ?
1560
1679
  merge(fromEvent(window, 'resize'), fromEvent(window, 'orientationchange')) :
1561
1680
  of();
1562
1681
  // Note that we need to do the subscription inside `runOutsideAngular`
1563
1682
  // since subscribing is what causes the event listener to be added.
1564
- this._invalidateCache = this.change().subscribe(() => this._updateViewportSize());
1565
- });
1683
+ this._invalidateCache = this.change().subscribe((/**
1684
+ * @return {?}
1685
+ */
1686
+ () => this._updateViewportSize()));
1687
+ }));
1566
1688
  }
1567
1689
  /**
1568
1690
  * @return {?}
@@ -1667,7 +1789,7 @@ ViewportRuler.ctorParameters = () => [
1667
1789
  { type: Platform },
1668
1790
  { type: NgZone }
1669
1791
  ];
1670
- /** @nocollapse */ ViewportRuler.ngInjectableDef = defineInjectable({ factory: function ViewportRuler_Factory() { return new ViewportRuler(inject(Platform), inject(NgZone)); }, token: ViewportRuler, providedIn: "root" });
1792
+ /** @nocollapse */ ViewportRuler.ngInjectableDef = ɵɵdefineInjectable({ factory: function ViewportRuler_Factory() { return new ViewportRuler(ɵɵinject(Platform), ɵɵinject(NgZone)); }, token: ViewportRuler, providedIn: "root" });
1671
1793
  /**
1672
1794
  * \@docs-private \@deprecated \@breaking-change 8.0.0
1673
1795
  * @param {?} parentRuler
@@ -1691,12 +1813,12 @@ const VIEWPORT_RULER_PROVIDER = {
1691
1813
 
1692
1814
  /**
1693
1815
  * @fileoverview added by tsickle
1694
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1816
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1695
1817
  */
1696
1818
 
1697
1819
  /**
1698
1820
  * @fileoverview added by tsickle
1699
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1821
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1700
1822
  */
1701
1823
 
1702
1824
  export { _fixedSizeVirtualScrollStrategyFactory, FixedSizeVirtualScrollStrategy, CdkFixedSizeVirtualScroll, SCROLL_DISPATCHER_PROVIDER_FACTORY, DEFAULT_SCROLL_TIME, ScrollDispatcher, SCROLL_DISPATCHER_PROVIDER, CdkScrollable, ScrollingModule, ScrollDispatchModule, VIEWPORT_RULER_PROVIDER_FACTORY, DEFAULT_RESIZE_TIME, ViewportRuler, VIEWPORT_RULER_PROVIDER, CdkVirtualForOf, VIRTUAL_SCROLL_STRATEGY, CdkVirtualScrollViewport };