@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
@@ -53,7 +53,7 @@ var __assign = function() {
53
53
 
54
54
  /**
55
55
  * @fileoverview added by tsickle
56
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
56
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
57
57
  */
58
58
  /**
59
59
  * Strategy that will prevent the user from scrolling while the overlay is visible.
@@ -166,7 +166,7 @@ BlockScrollStrategy = /** @class */ (function () {
166
166
 
167
167
  /**
168
168
  * @fileoverview added by tsickle
169
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
169
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
170
170
  */
171
171
  /**
172
172
  * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.
@@ -178,7 +178,7 @@ function getMatScrollStrategyAlreadyAttachedError() {
178
178
 
179
179
  /**
180
180
  * @fileoverview added by tsickle
181
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
181
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
182
182
  */
183
183
  /**
184
184
  * Strategy that will close the overlay as soon as the user starts scrolling.
@@ -197,12 +197,18 @@ CloseScrollStrategy = /** @class */ (function () {
197
197
  /**
198
198
  * Detaches the overlay ref and disables the scroll strategy.
199
199
  */
200
- this._detach = function () {
200
+ this._detach = (/**
201
+ * @return {?}
202
+ */
203
+ function () {
201
204
  _this.disable();
202
205
  if (_this._overlayRef.hasAttached()) {
203
- _this._ngZone.run(function () { return _this._overlayRef.detach(); });
206
+ _this._ngZone.run((/**
207
+ * @return {?}
208
+ */
209
+ function () { return _this._overlayRef.detach(); }));
204
210
  }
205
- };
211
+ });
206
212
  }
207
213
  /** Attaches this scroll strategy to an overlay. */
208
214
  /**
@@ -239,7 +245,10 @@ CloseScrollStrategy = /** @class */ (function () {
239
245
  var stream = this._scrollDispatcher.scrolled(0);
240
246
  if (this._config && this._config.threshold && this._config.threshold > 1) {
241
247
  this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;
242
- this._scrollSubscription = stream.subscribe(function () {
248
+ this._scrollSubscription = stream.subscribe((/**
249
+ * @return {?}
250
+ */
251
+ function () {
243
252
  /** @type {?} */
244
253
  var scrollPosition = _this._viewportRuler.getViewportScrollPosition().top;
245
254
  if (Math.abs(scrollPosition - _this._initialScrollPosition) > (/** @type {?} */ ((/** @type {?} */ (_this._config)).threshold))) {
@@ -248,7 +257,7 @@ CloseScrollStrategy = /** @class */ (function () {
248
257
  else {
249
258
  _this._overlayRef.updatePosition();
250
259
  }
251
- });
260
+ }));
252
261
  }
253
262
  else {
254
263
  this._scrollSubscription = stream.subscribe(this._detach);
@@ -284,7 +293,7 @@ CloseScrollStrategy = /** @class */ (function () {
284
293
 
285
294
  /**
286
295
  * @fileoverview added by tsickle
287
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
296
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
288
297
  */
289
298
 
290
299
  /**
@@ -331,7 +340,7 @@ NoopScrollStrategy = /** @class */ (function () {
331
340
 
332
341
  /**
333
342
  * @fileoverview added by tsickle
334
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
343
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
335
344
  */
336
345
 
337
346
  // TODO(jelbourn): move this to live with the rest of the scrolling code
@@ -344,7 +353,11 @@ NoopScrollStrategy = /** @class */ (function () {
344
353
  * @return {?} Whether the element is scrolled out of view
345
354
  */
346
355
  function isElementScrolledOutsideView(element, scrollContainers) {
347
- return scrollContainers.some(function (containerBounds) {
356
+ return scrollContainers.some((/**
357
+ * @param {?} containerBounds
358
+ * @return {?}
359
+ */
360
+ function (containerBounds) {
348
361
  /** @type {?} */
349
362
  var outsideAbove = element.bottom < containerBounds.top;
350
363
  /** @type {?} */
@@ -354,7 +367,7 @@ function isElementScrolledOutsideView(element, scrollContainers) {
354
367
  /** @type {?} */
355
368
  var outsideRight = element.left > containerBounds.right;
356
369
  return outsideAbove || outsideBelow || outsideLeft || outsideRight;
357
- });
370
+ }));
358
371
  }
359
372
  /**
360
373
  * Gets whether an element is clipped by any of its scrolling containers.
@@ -364,7 +377,11 @@ function isElementScrolledOutsideView(element, scrollContainers) {
364
377
  * @return {?} Whether the element is clipped
365
378
  */
366
379
  function isElementClippedByScrolling(element, scrollContainers) {
367
- return scrollContainers.some(function (scrollContainerRect) {
380
+ return scrollContainers.some((/**
381
+ * @param {?} scrollContainerRect
382
+ * @return {?}
383
+ */
384
+ function (scrollContainerRect) {
368
385
  /** @type {?} */
369
386
  var clippedAbove = element.top < scrollContainerRect.top;
370
387
  /** @type {?} */
@@ -374,12 +391,12 @@ function isElementClippedByScrolling(element, scrollContainers) {
374
391
  /** @type {?} */
375
392
  var clippedRight = element.right > scrollContainerRect.right;
376
393
  return clippedAbove || clippedBelow || clippedLeft || clippedRight;
377
- });
394
+ }));
378
395
  }
379
396
 
380
397
  /**
381
398
  * @fileoverview added by tsickle
382
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
399
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
383
400
  */
384
401
  /**
385
402
  * Strategy that will update the element position as the user is scrolling.
@@ -426,7 +443,10 @@ RepositionScrollStrategy = /** @class */ (function () {
426
443
  if (!this._scrollSubscription) {
427
444
  /** @type {?} */
428
445
  var throttle = this._config ? this._config.scrollThrottle : 0;
429
- this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(function () {
446
+ this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe((/**
447
+ * @return {?}
448
+ */
449
+ function () {
430
450
  _this._overlayRef.updatePosition();
431
451
  // TODO(crisbeto): make `close` on by default once all components can handle it.
432
452
  if (_this._config && _this._config.autoClose) {
@@ -439,10 +459,13 @@ RepositionScrollStrategy = /** @class */ (function () {
439
459
  var parentRects = [{ width: width, height: height, bottom: height, right: width, top: 0, left: 0 }];
440
460
  if (isElementScrolledOutsideView(overlayRect, parentRects)) {
441
461
  _this.disable();
442
- _this._ngZone.run(function () { return _this._overlayRef.detach(); });
462
+ _this._ngZone.run((/**
463
+ * @return {?}
464
+ */
465
+ function () { return _this._overlayRef.detach(); }));
443
466
  }
444
467
  }
445
- });
468
+ }));
446
469
  }
447
470
  };
448
471
  /** Disables repositioning of the attached overlay on scroll. */
@@ -475,7 +498,7 @@ RepositionScrollStrategy = /** @class */ (function () {
475
498
 
476
499
  /**
477
500
  * @fileoverview added by tsickle
478
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
501
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
479
502
  */
480
503
  /**
481
504
  * Options for how an overlay will handle scrolling.
@@ -492,22 +515,36 @@ var ScrollStrategyOptions = /** @class */ (function () {
492
515
  /**
493
516
  * Do nothing on scroll.
494
517
  */
495
- this.noop = function () { return new NoopScrollStrategy(); };
518
+ this.noop = (/**
519
+ * @return {?}
520
+ */
521
+ function () { return new NoopScrollStrategy(); });
496
522
  /**
497
523
  * Close the overlay as soon as the user scrolls.
498
524
  * @param config Configuration to be used inside the scroll strategy.
499
525
  */
500
- this.close = function (config) { return new CloseScrollStrategy(_this._scrollDispatcher, _this._ngZone, _this._viewportRuler, config); };
526
+ this.close = (/**
527
+ * @param {?=} config
528
+ * @return {?}
529
+ */
530
+ function (config) { return new CloseScrollStrategy(_this._scrollDispatcher, _this._ngZone, _this._viewportRuler, config); });
501
531
  /**
502
532
  * Block scrolling.
503
533
  */
504
- this.block = function () { return new BlockScrollStrategy(_this._viewportRuler, _this._document); };
534
+ this.block = (/**
535
+ * @return {?}
536
+ */
537
+ function () { return new BlockScrollStrategy(_this._viewportRuler, _this._document); });
505
538
  /**
506
539
  * Update the overlay's position on scroll.
507
540
  * @param config Configuration to be used inside the scroll strategy.
508
541
  * Allows debouncing the reposition calls.
509
542
  */
510
- this.reposition = function (config) { return new RepositionScrollStrategy(_this._scrollDispatcher, _this._viewportRuler, _this._ngZone, config); };
543
+ this.reposition = (/**
544
+ * @param {?=} config
545
+ * @return {?}
546
+ */
547
+ function (config) { return new RepositionScrollStrategy(_this._scrollDispatcher, _this._viewportRuler, _this._ngZone, config); });
511
548
  this._document = document;
512
549
  }
513
550
  ScrollStrategyOptions.decorators = [
@@ -520,18 +557,18 @@ var ScrollStrategyOptions = /** @class */ (function () {
520
557
  { type: core.NgZone },
521
558
  { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
522
559
  ]; };
523
- /** @nocollapse */ ScrollStrategyOptions.ngInjectableDef = core.defineInjectable({ factory: function ScrollStrategyOptions_Factory() { return new ScrollStrategyOptions(core.inject(scrolling.ScrollDispatcher), core.inject(scrolling.ViewportRuler), core.inject(core.NgZone), core.inject(common.DOCUMENT)); }, token: ScrollStrategyOptions, providedIn: "root" });
560
+ /** @nocollapse */ ScrollStrategyOptions.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function ScrollStrategyOptions_Factory() { return new ScrollStrategyOptions(core.ɵɵinject(scrolling.ScrollDispatcher), core.ɵɵinject(scrolling.ViewportRuler), core.ɵɵinject(core.NgZone), core.ɵɵinject(common.DOCUMENT)); }, token: ScrollStrategyOptions, providedIn: "root" });
524
561
  return ScrollStrategyOptions;
525
562
  }());
526
563
 
527
564
  /**
528
565
  * @fileoverview added by tsickle
529
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
566
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
530
567
  */
531
568
 
532
569
  /**
533
570
  * @fileoverview added by tsickle
534
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
571
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
535
572
  */
536
573
  /**
537
574
  * Initial configuration used when creating an overlay.
@@ -565,13 +602,17 @@ OverlayConfig = /** @class */ (function () {
565
602
  */
566
603
  this.disposeOnNavigation = false;
567
604
  if (config) {
568
- Object.keys(config).forEach(function (k) {
605
+ Object.keys(config).forEach((/**
606
+ * @param {?} k
607
+ * @return {?}
608
+ */
609
+ function (k) {
569
610
  /** @type {?} */
570
611
  var key = (/** @type {?} */ (k));
571
612
  if (typeof config[key] !== 'undefined') {
572
613
  _this[key] = config[key];
573
614
  }
574
- });
615
+ }));
575
616
  }
576
617
  }
577
618
  return OverlayConfig;
@@ -579,7 +620,7 @@ OverlayConfig = /** @class */ (function () {
579
620
 
580
621
  /**
581
622
  * @fileoverview added by tsickle
582
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
623
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
583
624
  */
584
625
  /**
585
626
  * The points of the origin element and the overlay element to connect.
@@ -698,7 +739,7 @@ function validateHorizontalPosition(property, value) {
698
739
 
699
740
  /**
700
741
  * @fileoverview added by tsickle
701
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
742
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
702
743
  */
703
744
  /**
704
745
  * Service for dispatching keyboard events that land on the body to appropriate overlay ref,
@@ -715,7 +756,11 @@ var OverlayKeyboardDispatcher = /** @class */ (function () {
715
756
  /**
716
757
  * Keyboard event listener that will be attached to the body.
717
758
  */
718
- this._keydownListener = function (event) {
759
+ this._keydownListener = (/**
760
+ * @param {?} event
761
+ * @return {?}
762
+ */
763
+ function (event) {
719
764
  /** @type {?} */
720
765
  var overlays = _this._attachedOverlays;
721
766
  for (var i = overlays.length - 1; i > -1; i--) {
@@ -730,7 +775,7 @@ var OverlayKeyboardDispatcher = /** @class */ (function () {
730
775
  break;
731
776
  }
732
777
  }
733
- };
778
+ });
734
779
  this._document = document;
735
780
  }
736
781
  /**
@@ -809,7 +854,7 @@ var OverlayKeyboardDispatcher = /** @class */ (function () {
809
854
  OverlayKeyboardDispatcher.ctorParameters = function () { return [
810
855
  { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
811
856
  ]; };
812
- /** @nocollapse */ OverlayKeyboardDispatcher.ngInjectableDef = core.defineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(core.inject(common.DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: "root" });
857
+ /** @nocollapse */ OverlayKeyboardDispatcher.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(core.ɵɵinject(common.DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: "root" });
813
858
  return OverlayKeyboardDispatcher;
814
859
  }());
815
860
  /**
@@ -841,7 +886,7 @@ var OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {
841
886
 
842
887
  /**
843
888
  * @fileoverview added by tsickle
844
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
889
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
845
890
  */
846
891
  /**
847
892
  * Container inside which all overlays will render.
@@ -915,7 +960,7 @@ var OverlayContainer = /** @class */ (function () {
915
960
  OverlayContainer.ctorParameters = function () { return [
916
961
  { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
917
962
  ]; };
918
- /** @nocollapse */ OverlayContainer.ngInjectableDef = core.defineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(core.inject(common.DOCUMENT)); }, token: OverlayContainer, providedIn: "root" });
963
+ /** @nocollapse */ OverlayContainer.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(core.ɵɵinject(common.DOCUMENT)); }, token: OverlayContainer, providedIn: "root" });
919
964
  return OverlayContainer;
920
965
  }());
921
966
  /**
@@ -943,7 +988,7 @@ var OVERLAY_CONTAINER_PROVIDER = {
943
988
 
944
989
  /**
945
990
  * @fileoverview added by tsickle
946
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
991
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
947
992
  */
948
993
  /**
949
994
  * Reference to an overlay that has been created with the Overlay service.
@@ -969,15 +1014,22 @@ OverlayRef = /** @class */ (function () {
969
1014
  this._attachments = new rxjs.Subject();
970
1015
  this._detachments = new rxjs.Subject();
971
1016
  this._locationChanges = rxjs.Subscription.EMPTY;
972
- this._keydownEventsObservable = new rxjs.Observable(function (observer) {
1017
+ this._keydownEventsObservable = new rxjs.Observable((/**
1018
+ * @param {?} observer
1019
+ * @return {?}
1020
+ */
1021
+ function (observer) {
973
1022
  /** @type {?} */
974
1023
  var subscription = _this._keydownEvents.subscribe(observer);
975
1024
  _this._keydownEventSubscriptions++;
976
- return function () {
1025
+ return (/**
1026
+ * @return {?}
1027
+ */
1028
+ function () {
977
1029
  subscription.unsubscribe();
978
1030
  _this._keydownEventSubscriptions--;
979
- };
980
- });
1031
+ });
1032
+ }));
981
1033
  /**
982
1034
  * Stream of keydown events dispatched to this overlay.
983
1035
  */
@@ -1078,12 +1130,15 @@ OverlayRef = /** @class */ (function () {
1078
1130
  this._ngZone.onStable
1079
1131
  .asObservable()
1080
1132
  .pipe(operators.take(1))
1081
- .subscribe(function () {
1133
+ .subscribe((/**
1134
+ * @return {?}
1135
+ */
1136
+ function () {
1082
1137
  // The overlay could've been detached before the zone has stabilized.
1083
1138
  if (_this.hasAttached()) {
1084
1139
  _this.updatePosition();
1085
1140
  }
1086
- });
1141
+ }));
1087
1142
  // Enable pointer events for the overlay pane element.
1088
1143
  this._togglePointerEvents(true);
1089
1144
  if (this._config.hasBackdrop) {
@@ -1099,7 +1154,10 @@ OverlayRef = /** @class */ (function () {
1099
1154
  // @breaking-change 8.0.0 remove the null check for `_location`
1100
1155
  // once the constructor parameter is made required.
1101
1156
  if (this._config.disposeOnNavigation && this._location) {
1102
- this._locationChanges = this._location.subscribe(function () { return _this.dispose(); });
1157
+ this._locationChanges = this._location.subscribe((/**
1158
+ * @return {?}
1159
+ */
1160
+ function () { return _this.dispose(); }));
1103
1161
  }
1104
1162
  return attachResult;
1105
1163
  };
@@ -1465,16 +1523,26 @@ OverlayRef = /** @class */ (function () {
1465
1523
  (/** @type {?} */ (this._host.parentElement)).insertBefore(this._backdropElement, this._host);
1466
1524
  // Forward backdrop clicks such that the consumer of the overlay can perform whatever
1467
1525
  // action desired when such a click occurs (usually closing the overlay).
1468
- this._backdropElement.addEventListener('click', function (event) { return _this._backdropClick.next(event); });
1526
+ this._backdropElement.addEventListener('click', (/**
1527
+ * @param {?} event
1528
+ * @return {?}
1529
+ */
1530
+ function (event) { return _this._backdropClick.next(event); }));
1469
1531
  // Add class to fade-in the backdrop after one frame.
1470
1532
  if (typeof requestAnimationFrame !== 'undefined') {
1471
- this._ngZone.runOutsideAngular(function () {
1472
- requestAnimationFrame(function () {
1533
+ this._ngZone.runOutsideAngular((/**
1534
+ * @return {?}
1535
+ */
1536
+ function () {
1537
+ requestAnimationFrame((/**
1538
+ * @return {?}
1539
+ */
1540
+ function () {
1473
1541
  if (_this._backdropElement) {
1474
1542
  _this._backdropElement.classList.add(showingClass);
1475
1543
  }
1476
- });
1477
- });
1544
+ }));
1545
+ }));
1478
1546
  }
1479
1547
  else {
1480
1548
  this._backdropElement.classList.add(showingClass);
@@ -1529,7 +1597,10 @@ OverlayRef = /** @class */ (function () {
1529
1597
  /** @type {?} */
1530
1598
  var timeoutId;
1531
1599
  /** @type {?} */
1532
- var finishDetach = function () {
1600
+ var finishDetach = (/**
1601
+ * @return {?}
1602
+ */
1603
+ function () {
1533
1604
  // It may not be attached to anything in certain cases (e.g. unit tests).
1534
1605
  if (backdropToDetach && backdropToDetach.parentNode) {
1535
1606
  backdropToDetach.parentNode.removeChild(backdropToDetach);
@@ -1544,18 +1615,24 @@ OverlayRef = /** @class */ (function () {
1544
1615
  _this._toggleClasses((/** @type {?} */ (backdropToDetach)), _this._config.backdropClass, false);
1545
1616
  }
1546
1617
  clearTimeout(timeoutId);
1547
- };
1618
+ });
1548
1619
  backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');
1549
- this._ngZone.runOutsideAngular(function () {
1620
+ this._ngZone.runOutsideAngular((/**
1621
+ * @return {?}
1622
+ */
1623
+ function () {
1550
1624
  (/** @type {?} */ (backdropToDetach)).addEventListener('transitionend', finishDetach);
1551
- });
1625
+ }));
1552
1626
  // If the backdrop doesn't have a transition, the `transitionend` event won't fire.
1553
1627
  // In this case we make it unclickable and we try to remove it after a delay.
1554
1628
  backdropToDetach.style.pointerEvents = 'none';
1555
1629
  // Run this outside the Angular zone because there's nothing that Angular cares about.
1556
1630
  // If it were to run inside the Angular zone, every test that used Overlay would have to be
1557
1631
  // either async or fakeAsync.
1558
- timeoutId = this._ngZone.runOutsideAngular(function () { return setTimeout(finishDetach, 500); });
1632
+ timeoutId = this._ngZone.runOutsideAngular((/**
1633
+ * @return {?}
1634
+ */
1635
+ function () { return setTimeout(finishDetach, 500); }));
1559
1636
  };
1560
1637
  /** Toggles a single CSS class or an array of classes on an element. */
1561
1638
  /**
@@ -1577,10 +1654,14 @@ OverlayRef = /** @class */ (function () {
1577
1654
  function (element, cssClasses, isAdd) {
1578
1655
  /** @type {?} */
1579
1656
  var classList = element.classList;
1580
- coercion.coerceArray(cssClasses).forEach(function (cssClass) {
1657
+ coercion.coerceArray(cssClasses).forEach((/**
1658
+ * @param {?} cssClass
1659
+ * @return {?}
1660
+ */
1661
+ function (cssClass) {
1581
1662
  // We can't do a spread here, because IE doesn't support setting multiple classes.
1582
1663
  isAdd ? classList.add(cssClass) : classList.remove(cssClass);
1583
- });
1664
+ }));
1584
1665
  };
1585
1666
  /** Detaches the overlay content next time the zone stabilizes. */
1586
1667
  /**
@@ -1598,7 +1679,10 @@ OverlayRef = /** @class */ (function () {
1598
1679
  // Normally we wouldn't have to explicitly run this outside the `NgZone`, however
1599
1680
  // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will
1600
1681
  // be patched to run inside the zone, which will throw us into an infinite loop.
1601
- this._ngZone.runOutsideAngular(function () {
1682
+ this._ngZone.runOutsideAngular((/**
1683
+ * @return {?}
1684
+ */
1685
+ function () {
1602
1686
  // We can't remove the host here immediately, because the overlay pane's content
1603
1687
  // might still be animating. This stream helps us avoid interrupting the animation
1604
1688
  // by waiting for the pane to become empty.
@@ -1606,7 +1690,10 @@ OverlayRef = /** @class */ (function () {
1606
1690
  var subscription = _this._ngZone.onStable
1607
1691
  .asObservable()
1608
1692
  .pipe(operators.takeUntil(rxjs.merge(_this._attachments, _this._detachments)))
1609
- .subscribe(function () {
1693
+ .subscribe((/**
1694
+ * @return {?}
1695
+ */
1696
+ function () {
1610
1697
  // Needs a couple of checks for the pane and host, because
1611
1698
  // they may have been removed by the time the zone stabilizes.
1612
1699
  if (!_this._pane || !_this._host || _this._pane.children.length === 0) {
@@ -1619,8 +1706,8 @@ OverlayRef = /** @class */ (function () {
1619
1706
  }
1620
1707
  subscription.unsubscribe();
1621
1708
  }
1622
- });
1623
- });
1709
+ }));
1710
+ }));
1624
1711
  };
1625
1712
  /** Disposes of a scroll strategy. */
1626
1713
  /**
@@ -1648,7 +1735,7 @@ OverlayRef = /** @class */ (function () {
1648
1735
 
1649
1736
  /**
1650
1737
  * @fileoverview added by tsickle
1651
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1738
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1652
1739
  */
1653
1740
  // TODO: refactor clipping detection into a separate thing (part of scrolling module)
1654
1741
  // TODO: doesn't handle both flexible width and height when it has to scroll along both axis.
@@ -1673,7 +1760,6 @@ var /**
1673
1760
  */
1674
1761
  FlexibleConnectedPositionStrategy = /** @class */ (function () {
1675
1762
  function FlexibleConnectedPositionStrategy(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {
1676
- var _this = this;
1677
1763
  this._viewportRuler = _viewportRuler;
1678
1764
  this._document = _document;
1679
1765
  this._platform = _platform;
@@ -1709,7 +1795,7 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
1709
1795
  /**
1710
1796
  * The Scrollable containers used to check scrollable view properties on position change.
1711
1797
  */
1712
- this.scrollables = [];
1798
+ this._scrollables = [];
1713
1799
  /**
1714
1800
  * Ordered list of preferred positions, from most to least desirable.
1715
1801
  */
@@ -1730,10 +1816,6 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
1730
1816
  * Default offset for the overlay along the y axis.
1731
1817
  */
1732
1818
  this._offsetY = 0;
1733
- /**
1734
- * Amount of subscribers to the `positionChanges` stream.
1735
- */
1736
- this._positionChangeSubscriptions = 0;
1737
1819
  /**
1738
1820
  * Keeps track of the CSS classes that the position strategy has applied on the overlay panel.
1739
1821
  */
@@ -1741,15 +1823,7 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
1741
1823
  /**
1742
1824
  * Observable sequence of position changes.
1743
1825
  */
1744
- this.positionChanges = new rxjs.Observable(function (observer) {
1745
- /** @type {?} */
1746
- var subscription = _this._positionChanges.subscribe(observer);
1747
- _this._positionChangeSubscriptions++;
1748
- return function () {
1749
- subscription.unsubscribe();
1750
- _this._positionChangeSubscriptions--;
1751
- };
1752
- });
1826
+ this.positionChanges = this._positionChanges.asObservable();
1753
1827
  this.setOrigin(connectedTo);
1754
1828
  }
1755
1829
  Object.defineProperty(FlexibleConnectedPositionStrategy.prototype, "positions", {
@@ -1789,13 +1863,16 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
1789
1863
  this._isInitialRender = true;
1790
1864
  this._lastPosition = null;
1791
1865
  this._resizeSubscription.unsubscribe();
1792
- this._resizeSubscription = this._viewportRuler.change().subscribe(function () {
1866
+ this._resizeSubscription = this._viewportRuler.change().subscribe((/**
1867
+ * @return {?}
1868
+ */
1869
+ function () {
1793
1870
  // When the window is resized, we want to trigger the next reposition as if it
1794
1871
  // was an initial render, in order for the strategy to pick a new optimal position,
1795
1872
  // otherwise position locking will cause it to stay at the old one.
1796
1873
  _this._isInitialRender = true;
1797
1874
  _this.apply();
1798
- });
1875
+ }));
1799
1876
  };
1800
1877
  /**
1801
1878
  * Updates the position of the overlay element, using whichever preferred position relative
@@ -2050,7 +2127,7 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
2050
2127
  * @return {THIS}
2051
2128
  */
2052
2129
  function (scrollables) {
2053
- (/** @type {?} */ (this)).scrollables = scrollables;
2130
+ (/** @type {?} */ (this))._scrollables = scrollables;
2054
2131
  return (/** @type {?} */ (this));
2055
2132
  };
2056
2133
  /**
@@ -2603,7 +2680,7 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
2603
2680
  // Notify that the position has been changed along with its change properties.
2604
2681
  // We only emit if we've got any subscriptions, because the scroll visibility
2605
2682
  // calculcations can be somewhat expensive.
2606
- if (this._positionChangeSubscriptions > 0) {
2683
+ if (this._positionChanges.observers.length) {
2607
2684
  /** @type {?} */
2608
2685
  var scrollableViewProperties = this._getScrollVisibility();
2609
2686
  /** @type {?} */
@@ -3051,9 +3128,13 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3051
3128
  // every time, we should be able to use the scrollTop of the containers if the size of those
3052
3129
  // containers hasn't changed.
3053
3130
  /** @type {?} */
3054
- var scrollContainerBounds = this.scrollables.map(function (scrollable) {
3131
+ var scrollContainerBounds = this._scrollables.map((/**
3132
+ * @param {?} scrollable
3133
+ * @return {?}
3134
+ */
3135
+ function (scrollable) {
3055
3136
  return scrollable.getElementRef().nativeElement.getBoundingClientRect();
3056
- });
3137
+ }));
3057
3138
  return {
3058
3139
  isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),
3059
3140
  isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),
@@ -3081,9 +3162,14 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3081
3162
  for (var _i = 1; _i < arguments.length; _i++) {
3082
3163
  overflows[_i - 1] = arguments[_i];
3083
3164
  }
3084
- return overflows.reduce(function (currentValue, currentOverflow) {
3165
+ return overflows.reduce((/**
3166
+ * @param {?} currentValue
3167
+ * @param {?} currentOverflow
3168
+ * @return {?}
3169
+ */
3170
+ function (currentValue, currentOverflow) {
3085
3171
  return currentValue - Math.max(currentOverflow, 0);
3086
- }, length);
3172
+ }), length);
3087
3173
  };
3088
3174
  /** Narrows the given viewport rect by the current _viewportMargin. */
3089
3175
  /**
@@ -3185,12 +3271,16 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3185
3271
  }
3186
3272
  // TODO(crisbeto): remove these once Angular's template type
3187
3273
  // checking is advanced enough to catch these cases.
3188
- this._preferredPositions.forEach(function (pair) {
3274
+ this._preferredPositions.forEach((/**
3275
+ * @param {?} pair
3276
+ * @return {?}
3277
+ */
3278
+ function (pair) {
3189
3279
  validateHorizontalPosition('originX', pair.originX);
3190
3280
  validateVerticalPosition('originY', pair.originY);
3191
3281
  validateHorizontalPosition('overlayX', pair.overlayX);
3192
3282
  validateVerticalPosition('overlayY', pair.overlayY);
3193
- });
3283
+ }));
3194
3284
  };
3195
3285
  /** Adds a single CSS class or an array of classes on the overlay panel. */
3196
3286
  /**
@@ -3208,12 +3298,16 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3208
3298
  function (cssClasses) {
3209
3299
  var _this = this;
3210
3300
  if (this._pane) {
3211
- coercion.coerceArray(cssClasses).forEach(function (cssClass) {
3301
+ coercion.coerceArray(cssClasses).forEach((/**
3302
+ * @param {?} cssClass
3303
+ * @return {?}
3304
+ */
3305
+ function (cssClass) {
3212
3306
  if (cssClass !== '' && _this._appliedPanelClasses.indexOf(cssClass) === -1) {
3213
3307
  _this._appliedPanelClasses.push(cssClass);
3214
3308
  _this._pane.classList.add(cssClass);
3215
3309
  }
3216
- });
3310
+ }));
3217
3311
  }
3218
3312
  };
3219
3313
  /** Clears the classes that the position strategy has applied from the overlay panel. */
@@ -3230,9 +3324,13 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3230
3324
  function () {
3231
3325
  var _this = this;
3232
3326
  if (this._pane) {
3233
- this._appliedPanelClasses.forEach(function (cssClass) {
3327
+ this._appliedPanelClasses.forEach((/**
3328
+ * @param {?} cssClass
3329
+ * @return {?}
3330
+ */
3331
+ function (cssClass) {
3234
3332
  _this._pane.classList.remove(cssClass);
3235
- });
3333
+ }));
3236
3334
  this._appliedPanelClasses = [];
3237
3335
  }
3238
3336
  };
@@ -3285,7 +3383,7 @@ function extendStyles(dest, source) {
3285
3383
 
3286
3384
  /**
3287
3385
  * @fileoverview added by tsickle
3288
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3386
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3289
3387
  */
3290
3388
  /**
3291
3389
  * A strategy for positioning overlays. Using this strategy, an overlay is given an
@@ -3646,7 +3744,7 @@ ConnectedPositionStrategy = /** @class */ (function () {
3646
3744
 
3647
3745
  /**
3648
3746
  * @fileoverview added by tsickle
3649
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3747
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3650
3748
  */
3651
3749
 
3652
3750
  /**
@@ -4017,7 +4115,7 @@ GlobalPositionStrategy = /** @class */ (function () {
4017
4115
 
4018
4116
  /**
4019
4117
  * @fileoverview added by tsickle
4020
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4118
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4021
4119
  */
4022
4120
  /**
4023
4121
  * Builder for overlay position strategy.
@@ -4099,13 +4197,13 @@ var OverlayPositionBuilder = /** @class */ (function () {
4099
4197
  { type: platform.Platform },
4100
4198
  { type: OverlayContainer }
4101
4199
  ]; };
4102
- /** @nocollapse */ OverlayPositionBuilder.ngInjectableDef = core.defineInjectable({ factory: function OverlayPositionBuilder_Factory() { return new OverlayPositionBuilder(core.inject(scrolling.ViewportRuler), core.inject(common.DOCUMENT), core.inject(platform.Platform), core.inject(OverlayContainer)); }, token: OverlayPositionBuilder, providedIn: "root" });
4200
+ /** @nocollapse */ OverlayPositionBuilder.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function OverlayPositionBuilder_Factory() { return new OverlayPositionBuilder(core.ɵɵinject(scrolling.ViewportRuler), core.ɵɵinject(common.DOCUMENT), core.ɵɵinject(platform.Platform), core.ɵɵinject(OverlayContainer)); }, token: OverlayPositionBuilder, providedIn: "root" });
4103
4201
  return OverlayPositionBuilder;
4104
4202
  }());
4105
4203
 
4106
4204
  /**
4107
4205
  * @fileoverview added by tsickle
4108
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4206
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4109
4207
  */
4110
4208
  /**
4111
4209
  * Next overlay unique ID.
@@ -4273,7 +4371,7 @@ var Overlay = /** @class */ (function () {
4273
4371
 
4274
4372
  /**
4275
4373
  * @fileoverview added by tsickle
4276
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4374
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4277
4375
  */
4278
4376
  /**
4279
4377
  * Default set of positions for the overlay. Follows the behavior of a dropdown.
@@ -4572,12 +4670,16 @@ var CdkConnectedOverlay = /** @class */ (function () {
4572
4670
  this.positions = defaultPositionList;
4573
4671
  }
4574
4672
  this._overlayRef = this._overlay.create(this._buildConfig());
4575
- this._overlayRef.keydownEvents().subscribe(function (event) {
4673
+ this._overlayRef.keydownEvents().subscribe((/**
4674
+ * @param {?} event
4675
+ * @return {?}
4676
+ */
4677
+ function (event) {
4576
4678
  _this.overlayKeydown.next(event);
4577
4679
  if (event.keyCode === keycodes.ESCAPE) {
4578
4680
  _this._detachOverlay();
4579
4681
  }
4580
- });
4682
+ }));
4581
4683
  };
4582
4684
  /** Builds the overlay config based on the directive's inputs */
4583
4685
  /**
@@ -4636,14 +4738,19 @@ var CdkConnectedOverlay = /** @class */ (function () {
4636
4738
  function (positionStrategy) {
4637
4739
  var _this = this;
4638
4740
  /** @type {?} */
4639
- var positions = this.positions.map(function (currentPosition) { return ({
4741
+ var positions = this.positions.map((/**
4742
+ * @param {?} currentPosition
4743
+ * @return {?}
4744
+ */
4745
+ function (currentPosition) { return ({
4640
4746
  originX: currentPosition.originX,
4641
4747
  originY: currentPosition.originY,
4642
4748
  overlayX: currentPosition.overlayX,
4643
4749
  overlayY: currentPosition.overlayY,
4644
4750
  offsetX: currentPosition.offsetX || _this.offsetX,
4645
- offsetY: currentPosition.offsetY || _this.offsetY
4646
- }); });
4751
+ offsetY: currentPosition.offsetY || _this.offsetY,
4752
+ panelClass: currentPosition.panelClass || undefined,
4753
+ }); }));
4647
4754
  return positionStrategy
4648
4755
  .setOrigin(this.origin.elementRef)
4649
4756
  .withPositions(positions)
@@ -4669,7 +4776,11 @@ var CdkConnectedOverlay = /** @class */ (function () {
4669
4776
  /** @type {?} */
4670
4777
  var strategy = this._overlay.position().flexibleConnectedTo(this.origin.elementRef);
4671
4778
  this._updatePositionStrategy(strategy);
4672
- strategy.positionChanges.subscribe(function (p) { return _this.positionChange.emit(p); });
4779
+ strategy.positionChanges.subscribe((/**
4780
+ * @param {?} p
4781
+ * @return {?}
4782
+ */
4783
+ function (p) { return _this.positionChange.emit(p); }));
4673
4784
  return strategy;
4674
4785
  };
4675
4786
  /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */
@@ -4697,9 +4808,13 @@ var CdkConnectedOverlay = /** @class */ (function () {
4697
4808
  this.attach.emit();
4698
4809
  }
4699
4810
  if (this.hasBackdrop) {
4700
- this._backdropSubscription = this._overlayRef.backdropClick().subscribe(function (event) {
4811
+ this._backdropSubscription = this._overlayRef.backdropClick().subscribe((/**
4812
+ * @param {?} event
4813
+ * @return {?}
4814
+ */
4815
+ function (event) {
4701
4816
  _this.backdropClick.emit(event);
4702
- });
4817
+ }));
4703
4818
  }
4704
4819
  else {
4705
4820
  this._backdropSubscription.unsubscribe();
@@ -4770,7 +4885,10 @@ var CdkConnectedOverlay = /** @class */ (function () {
4770
4885
  * @return {?}
4771
4886
  */
4772
4887
  function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
4773
- return function () { return overlay.scrollStrategies.reposition(); };
4888
+ return (/**
4889
+ * @return {?}
4890
+ */
4891
+ function () { return overlay.scrollStrategies.reposition(); });
4774
4892
  }
4775
4893
  /**
4776
4894
  * \@docs-private
@@ -4784,7 +4902,7 @@ var CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {
4784
4902
 
4785
4903
  /**
4786
4904
  * @fileoverview added by tsickle
4787
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4905
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4788
4906
  */
4789
4907
  var OverlayModule = /** @class */ (function () {
4790
4908
  function OverlayModule() {
@@ -4819,7 +4937,7 @@ var OVERLAY_PROVIDERS = [
4819
4937
 
4820
4938
  /**
4821
4939
  * @fileoverview added by tsickle
4822
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4940
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4823
4941
  */
4824
4942
  /**
4825
4943
  * Alternative to OverlayContainer that supports correct displaying of overlay elements in
@@ -4857,7 +4975,10 @@ var FullscreenOverlayContainer = /** @class */ (function (_super) {
4857
4975
  var _this = this;
4858
4976
  _super.prototype._createContainer.call(this);
4859
4977
  this._adjustParentForFullscreenChange();
4860
- this._addFullscreenChangeListener(function () { return _this._adjustParentForFullscreenChange(); });
4978
+ this._addFullscreenChangeListener((/**
4979
+ * @return {?}
4980
+ */
4981
+ function () { return _this._adjustParentForFullscreenChange(); }));
4861
4982
  };
4862
4983
  /**
4863
4984
  * @private
@@ -4951,7 +5072,7 @@ var FullscreenOverlayContainer = /** @class */ (function (_super) {
4951
5072
  FullscreenOverlayContainer.ctorParameters = function () { return [
4952
5073
  { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }
4953
5074
  ]; };
4954
- /** @nocollapse */ FullscreenOverlayContainer.ngInjectableDef = core.defineInjectable({ factory: function FullscreenOverlayContainer_Factory() { return new FullscreenOverlayContainer(core.inject(common.DOCUMENT)); }, token: FullscreenOverlayContainer, providedIn: "root" });
5075
+ /** @nocollapse */ FullscreenOverlayContainer.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function FullscreenOverlayContainer_Factory() { return new FullscreenOverlayContainer(core.ɵɵinject(common.DOCUMENT)); }, token: FullscreenOverlayContainer, providedIn: "root" });
4955
5076
  return FullscreenOverlayContainer;
4956
5077
  }(OverlayContainer));
4957
5078