@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
@@ -9,7 +9,7 @@ import { coerceCssPixelValue, coerceArray, coerceBooleanProperty } from '@angula
9
9
  import { ScrollDispatcher, ViewportRuler, ScrollingModule, VIEWPORT_RULER_PROVIDER } from '@angular/cdk/scrolling';
10
10
  export { ViewportRuler, VIEWPORT_RULER_PROVIDER, CdkScrollable, ScrollDispatcher } from '@angular/cdk/scrolling';
11
11
  import { DOCUMENT, Location } from '@angular/common';
12
- import { Inject, Injectable, NgZone, Optional, NgModule, SkipSelf, ApplicationRef, ComponentFactoryResolver, Injector, ElementRef, Directive, EventEmitter, InjectionToken, Input, Output, TemplateRef, ViewContainerRef, defineInjectable, inject } from '@angular/core';
12
+ import { Inject, Injectable, NgZone, Optional, NgModule, SkipSelf, ApplicationRef, ComponentFactoryResolver, Injector, ElementRef, Directive, EventEmitter, InjectionToken, Input, Output, TemplateRef, ViewContainerRef, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
13
13
  import { __assign, __extends } from 'tslib';
14
14
  import { Observable, Subject, merge, Subscription } from 'rxjs';
15
15
  import { take, takeUntil } from 'rxjs/operators';
@@ -20,7 +20,7 @@ import { ESCAPE } from '@angular/cdk/keycodes';
20
20
 
21
21
  /**
22
22
  * @fileoverview added by tsickle
23
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
23
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
24
24
  */
25
25
  /**
26
26
  * Strategy that will prevent the user from scrolling while the overlay is visible.
@@ -133,7 +133,7 @@ BlockScrollStrategy = /** @class */ (function () {
133
133
 
134
134
  /**
135
135
  * @fileoverview added by tsickle
136
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
136
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
137
137
  */
138
138
  /**
139
139
  * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.
@@ -145,7 +145,7 @@ function getMatScrollStrategyAlreadyAttachedError() {
145
145
 
146
146
  /**
147
147
  * @fileoverview added by tsickle
148
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
148
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
149
149
  */
150
150
  /**
151
151
  * Strategy that will close the overlay as soon as the user starts scrolling.
@@ -164,12 +164,18 @@ CloseScrollStrategy = /** @class */ (function () {
164
164
  /**
165
165
  * Detaches the overlay ref and disables the scroll strategy.
166
166
  */
167
- this._detach = function () {
167
+ this._detach = (/**
168
+ * @return {?}
169
+ */
170
+ function () {
168
171
  _this.disable();
169
172
  if (_this._overlayRef.hasAttached()) {
170
- _this._ngZone.run(function () { return _this._overlayRef.detach(); });
173
+ _this._ngZone.run((/**
174
+ * @return {?}
175
+ */
176
+ function () { return _this._overlayRef.detach(); }));
171
177
  }
172
- };
178
+ });
173
179
  }
174
180
  /** Attaches this scroll strategy to an overlay. */
175
181
  /**
@@ -206,7 +212,10 @@ CloseScrollStrategy = /** @class */ (function () {
206
212
  var stream = this._scrollDispatcher.scrolled(0);
207
213
  if (this._config && this._config.threshold && this._config.threshold > 1) {
208
214
  this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;
209
- this._scrollSubscription = stream.subscribe(function () {
215
+ this._scrollSubscription = stream.subscribe((/**
216
+ * @return {?}
217
+ */
218
+ function () {
210
219
  /** @type {?} */
211
220
  var scrollPosition = _this._viewportRuler.getViewportScrollPosition().top;
212
221
  if (Math.abs(scrollPosition - _this._initialScrollPosition) > (/** @type {?} */ ((/** @type {?} */ (_this._config)).threshold))) {
@@ -215,7 +224,7 @@ CloseScrollStrategy = /** @class */ (function () {
215
224
  else {
216
225
  _this._overlayRef.updatePosition();
217
226
  }
218
- });
227
+ }));
219
228
  }
220
229
  else {
221
230
  this._scrollSubscription = stream.subscribe(this._detach);
@@ -251,7 +260,7 @@ CloseScrollStrategy = /** @class */ (function () {
251
260
 
252
261
  /**
253
262
  * @fileoverview added by tsickle
254
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
263
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
255
264
  */
256
265
 
257
266
  /**
@@ -298,7 +307,7 @@ NoopScrollStrategy = /** @class */ (function () {
298
307
 
299
308
  /**
300
309
  * @fileoverview added by tsickle
301
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
310
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
302
311
  */
303
312
 
304
313
  // TODO(jelbourn): move this to live with the rest of the scrolling code
@@ -311,7 +320,11 @@ NoopScrollStrategy = /** @class */ (function () {
311
320
  * @return {?} Whether the element is scrolled out of view
312
321
  */
313
322
  function isElementScrolledOutsideView(element, scrollContainers) {
314
- return scrollContainers.some(function (containerBounds) {
323
+ return scrollContainers.some((/**
324
+ * @param {?} containerBounds
325
+ * @return {?}
326
+ */
327
+ function (containerBounds) {
315
328
  /** @type {?} */
316
329
  var outsideAbove = element.bottom < containerBounds.top;
317
330
  /** @type {?} */
@@ -321,7 +334,7 @@ function isElementScrolledOutsideView(element, scrollContainers) {
321
334
  /** @type {?} */
322
335
  var outsideRight = element.left > containerBounds.right;
323
336
  return outsideAbove || outsideBelow || outsideLeft || outsideRight;
324
- });
337
+ }));
325
338
  }
326
339
  /**
327
340
  * Gets whether an element is clipped by any of its scrolling containers.
@@ -331,7 +344,11 @@ function isElementScrolledOutsideView(element, scrollContainers) {
331
344
  * @return {?} Whether the element is clipped
332
345
  */
333
346
  function isElementClippedByScrolling(element, scrollContainers) {
334
- return scrollContainers.some(function (scrollContainerRect) {
347
+ return scrollContainers.some((/**
348
+ * @param {?} scrollContainerRect
349
+ * @return {?}
350
+ */
351
+ function (scrollContainerRect) {
335
352
  /** @type {?} */
336
353
  var clippedAbove = element.top < scrollContainerRect.top;
337
354
  /** @type {?} */
@@ -341,12 +358,12 @@ function isElementClippedByScrolling(element, scrollContainers) {
341
358
  /** @type {?} */
342
359
  var clippedRight = element.right > scrollContainerRect.right;
343
360
  return clippedAbove || clippedBelow || clippedLeft || clippedRight;
344
- });
361
+ }));
345
362
  }
346
363
 
347
364
  /**
348
365
  * @fileoverview added by tsickle
349
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
366
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
350
367
  */
351
368
  /**
352
369
  * Strategy that will update the element position as the user is scrolling.
@@ -393,7 +410,10 @@ RepositionScrollStrategy = /** @class */ (function () {
393
410
  if (!this._scrollSubscription) {
394
411
  /** @type {?} */
395
412
  var throttle = this._config ? this._config.scrollThrottle : 0;
396
- this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(function () {
413
+ this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe((/**
414
+ * @return {?}
415
+ */
416
+ function () {
397
417
  _this._overlayRef.updatePosition();
398
418
  // TODO(crisbeto): make `close` on by default once all components can handle it.
399
419
  if (_this._config && _this._config.autoClose) {
@@ -406,10 +426,13 @@ RepositionScrollStrategy = /** @class */ (function () {
406
426
  var parentRects = [{ width: width, height: height, bottom: height, right: width, top: 0, left: 0 }];
407
427
  if (isElementScrolledOutsideView(overlayRect, parentRects)) {
408
428
  _this.disable();
409
- _this._ngZone.run(function () { return _this._overlayRef.detach(); });
429
+ _this._ngZone.run((/**
430
+ * @return {?}
431
+ */
432
+ function () { return _this._overlayRef.detach(); }));
410
433
  }
411
434
  }
412
- });
435
+ }));
413
436
  }
414
437
  };
415
438
  /** Disables repositioning of the attached overlay on scroll. */
@@ -442,7 +465,7 @@ RepositionScrollStrategy = /** @class */ (function () {
442
465
 
443
466
  /**
444
467
  * @fileoverview added by tsickle
445
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
468
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
446
469
  */
447
470
  /**
448
471
  * Options for how an overlay will handle scrolling.
@@ -459,22 +482,36 @@ var ScrollStrategyOptions = /** @class */ (function () {
459
482
  /**
460
483
  * Do nothing on scroll.
461
484
  */
462
- this.noop = function () { return new NoopScrollStrategy(); };
485
+ this.noop = (/**
486
+ * @return {?}
487
+ */
488
+ function () { return new NoopScrollStrategy(); });
463
489
  /**
464
490
  * Close the overlay as soon as the user scrolls.
465
491
  * @param config Configuration to be used inside the scroll strategy.
466
492
  */
467
- this.close = function (config) { return new CloseScrollStrategy(_this._scrollDispatcher, _this._ngZone, _this._viewportRuler, config); };
493
+ this.close = (/**
494
+ * @param {?=} config
495
+ * @return {?}
496
+ */
497
+ function (config) { return new CloseScrollStrategy(_this._scrollDispatcher, _this._ngZone, _this._viewportRuler, config); });
468
498
  /**
469
499
  * Block scrolling.
470
500
  */
471
- this.block = function () { return new BlockScrollStrategy(_this._viewportRuler, _this._document); };
501
+ this.block = (/**
502
+ * @return {?}
503
+ */
504
+ function () { return new BlockScrollStrategy(_this._viewportRuler, _this._document); });
472
505
  /**
473
506
  * Update the overlay's position on scroll.
474
507
  * @param config Configuration to be used inside the scroll strategy.
475
508
  * Allows debouncing the reposition calls.
476
509
  */
477
- this.reposition = function (config) { return new RepositionScrollStrategy(_this._scrollDispatcher, _this._viewportRuler, _this._ngZone, config); };
510
+ this.reposition = (/**
511
+ * @param {?=} config
512
+ * @return {?}
513
+ */
514
+ function (config) { return new RepositionScrollStrategy(_this._scrollDispatcher, _this._viewportRuler, _this._ngZone, config); });
478
515
  this._document = document;
479
516
  }
480
517
  ScrollStrategyOptions.decorators = [
@@ -487,18 +524,18 @@ var ScrollStrategyOptions = /** @class */ (function () {
487
524
  { type: NgZone },
488
525
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
489
526
  ]; };
490
- /** @nocollapse */ ScrollStrategyOptions.ngInjectableDef = defineInjectable({ factory: function ScrollStrategyOptions_Factory() { return new ScrollStrategyOptions(inject(ScrollDispatcher), inject(ViewportRuler), inject(NgZone), inject(DOCUMENT)); }, token: ScrollStrategyOptions, providedIn: "root" });
527
+ /** @nocollapse */ ScrollStrategyOptions.ngInjectableDef = ɵɵdefineInjectable({ factory: function ScrollStrategyOptions_Factory() { return new ScrollStrategyOptions(ɵɵinject(ScrollDispatcher), ɵɵinject(ViewportRuler), ɵɵinject(NgZone), ɵɵinject(DOCUMENT)); }, token: ScrollStrategyOptions, providedIn: "root" });
491
528
  return ScrollStrategyOptions;
492
529
  }());
493
530
 
494
531
  /**
495
532
  * @fileoverview added by tsickle
496
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
533
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
497
534
  */
498
535
 
499
536
  /**
500
537
  * @fileoverview added by tsickle
501
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
538
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
502
539
  */
503
540
  /**
504
541
  * Initial configuration used when creating an overlay.
@@ -532,13 +569,17 @@ OverlayConfig = /** @class */ (function () {
532
569
  */
533
570
  this.disposeOnNavigation = false;
534
571
  if (config) {
535
- Object.keys(config).forEach(function (k) {
572
+ Object.keys(config).forEach((/**
573
+ * @param {?} k
574
+ * @return {?}
575
+ */
576
+ function (k) {
536
577
  /** @type {?} */
537
578
  var key = (/** @type {?} */ (k));
538
579
  if (typeof config[key] !== 'undefined') {
539
580
  _this[key] = config[key];
540
581
  }
541
- });
582
+ }));
542
583
  }
543
584
  }
544
585
  return OverlayConfig;
@@ -546,7 +587,7 @@ OverlayConfig = /** @class */ (function () {
546
587
 
547
588
  /**
548
589
  * @fileoverview added by tsickle
549
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
590
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
550
591
  */
551
592
  /**
552
593
  * The points of the origin element and the overlay element to connect.
@@ -665,7 +706,7 @@ function validateHorizontalPosition(property, value) {
665
706
 
666
707
  /**
667
708
  * @fileoverview added by tsickle
668
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
709
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
669
710
  */
670
711
  /**
671
712
  * Service for dispatching keyboard events that land on the body to appropriate overlay ref,
@@ -682,7 +723,11 @@ var OverlayKeyboardDispatcher = /** @class */ (function () {
682
723
  /**
683
724
  * Keyboard event listener that will be attached to the body.
684
725
  */
685
- this._keydownListener = function (event) {
726
+ this._keydownListener = (/**
727
+ * @param {?} event
728
+ * @return {?}
729
+ */
730
+ function (event) {
686
731
  /** @type {?} */
687
732
  var overlays = _this._attachedOverlays;
688
733
  for (var i = overlays.length - 1; i > -1; i--) {
@@ -697,7 +742,7 @@ var OverlayKeyboardDispatcher = /** @class */ (function () {
697
742
  break;
698
743
  }
699
744
  }
700
- };
745
+ });
701
746
  this._document = document;
702
747
  }
703
748
  /**
@@ -776,7 +821,7 @@ var OverlayKeyboardDispatcher = /** @class */ (function () {
776
821
  OverlayKeyboardDispatcher.ctorParameters = function () { return [
777
822
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
778
823
  ]; };
779
- /** @nocollapse */ OverlayKeyboardDispatcher.ngInjectableDef = defineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(inject(DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: "root" });
824
+ /** @nocollapse */ OverlayKeyboardDispatcher.ngInjectableDef = ɵɵdefineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(ɵɵinject(DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: "root" });
780
825
  return OverlayKeyboardDispatcher;
781
826
  }());
782
827
  /**
@@ -808,7 +853,7 @@ var OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {
808
853
 
809
854
  /**
810
855
  * @fileoverview added by tsickle
811
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
856
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
812
857
  */
813
858
  /**
814
859
  * Container inside which all overlays will render.
@@ -882,7 +927,7 @@ var OverlayContainer = /** @class */ (function () {
882
927
  OverlayContainer.ctorParameters = function () { return [
883
928
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
884
929
  ]; };
885
- /** @nocollapse */ OverlayContainer.ngInjectableDef = defineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(inject(DOCUMENT)); }, token: OverlayContainer, providedIn: "root" });
930
+ /** @nocollapse */ OverlayContainer.ngInjectableDef = ɵɵdefineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(ɵɵinject(DOCUMENT)); }, token: OverlayContainer, providedIn: "root" });
886
931
  return OverlayContainer;
887
932
  }());
888
933
  /**
@@ -910,7 +955,7 @@ var OVERLAY_CONTAINER_PROVIDER = {
910
955
 
911
956
  /**
912
957
  * @fileoverview added by tsickle
913
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
958
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
914
959
  */
915
960
  /**
916
961
  * Reference to an overlay that has been created with the Overlay service.
@@ -936,15 +981,22 @@ OverlayRef = /** @class */ (function () {
936
981
  this._attachments = new Subject();
937
982
  this._detachments = new Subject();
938
983
  this._locationChanges = Subscription.EMPTY;
939
- this._keydownEventsObservable = new Observable(function (observer) {
984
+ this._keydownEventsObservable = new Observable((/**
985
+ * @param {?} observer
986
+ * @return {?}
987
+ */
988
+ function (observer) {
940
989
  /** @type {?} */
941
990
  var subscription = _this._keydownEvents.subscribe(observer);
942
991
  _this._keydownEventSubscriptions++;
943
- return function () {
992
+ return (/**
993
+ * @return {?}
994
+ */
995
+ function () {
944
996
  subscription.unsubscribe();
945
997
  _this._keydownEventSubscriptions--;
946
- };
947
- });
998
+ });
999
+ }));
948
1000
  /**
949
1001
  * Stream of keydown events dispatched to this overlay.
950
1002
  */
@@ -1045,12 +1097,15 @@ OverlayRef = /** @class */ (function () {
1045
1097
  this._ngZone.onStable
1046
1098
  .asObservable()
1047
1099
  .pipe(take(1))
1048
- .subscribe(function () {
1100
+ .subscribe((/**
1101
+ * @return {?}
1102
+ */
1103
+ function () {
1049
1104
  // The overlay could've been detached before the zone has stabilized.
1050
1105
  if (_this.hasAttached()) {
1051
1106
  _this.updatePosition();
1052
1107
  }
1053
- });
1108
+ }));
1054
1109
  // Enable pointer events for the overlay pane element.
1055
1110
  this._togglePointerEvents(true);
1056
1111
  if (this._config.hasBackdrop) {
@@ -1066,7 +1121,10 @@ OverlayRef = /** @class */ (function () {
1066
1121
  // @breaking-change 8.0.0 remove the null check for `_location`
1067
1122
  // once the constructor parameter is made required.
1068
1123
  if (this._config.disposeOnNavigation && this._location) {
1069
- this._locationChanges = this._location.subscribe(function () { return _this.dispose(); });
1124
+ this._locationChanges = this._location.subscribe((/**
1125
+ * @return {?}
1126
+ */
1127
+ function () { return _this.dispose(); }));
1070
1128
  }
1071
1129
  return attachResult;
1072
1130
  };
@@ -1432,16 +1490,26 @@ OverlayRef = /** @class */ (function () {
1432
1490
  (/** @type {?} */ (this._host.parentElement)).insertBefore(this._backdropElement, this._host);
1433
1491
  // Forward backdrop clicks such that the consumer of the overlay can perform whatever
1434
1492
  // action desired when such a click occurs (usually closing the overlay).
1435
- this._backdropElement.addEventListener('click', function (event) { return _this._backdropClick.next(event); });
1493
+ this._backdropElement.addEventListener('click', (/**
1494
+ * @param {?} event
1495
+ * @return {?}
1496
+ */
1497
+ function (event) { return _this._backdropClick.next(event); }));
1436
1498
  // Add class to fade-in the backdrop after one frame.
1437
1499
  if (typeof requestAnimationFrame !== 'undefined') {
1438
- this._ngZone.runOutsideAngular(function () {
1439
- requestAnimationFrame(function () {
1500
+ this._ngZone.runOutsideAngular((/**
1501
+ * @return {?}
1502
+ */
1503
+ function () {
1504
+ requestAnimationFrame((/**
1505
+ * @return {?}
1506
+ */
1507
+ function () {
1440
1508
  if (_this._backdropElement) {
1441
1509
  _this._backdropElement.classList.add(showingClass);
1442
1510
  }
1443
- });
1444
- });
1511
+ }));
1512
+ }));
1445
1513
  }
1446
1514
  else {
1447
1515
  this._backdropElement.classList.add(showingClass);
@@ -1496,7 +1564,10 @@ OverlayRef = /** @class */ (function () {
1496
1564
  /** @type {?} */
1497
1565
  var timeoutId;
1498
1566
  /** @type {?} */
1499
- var finishDetach = function () {
1567
+ var finishDetach = (/**
1568
+ * @return {?}
1569
+ */
1570
+ function () {
1500
1571
  // It may not be attached to anything in certain cases (e.g. unit tests).
1501
1572
  if (backdropToDetach && backdropToDetach.parentNode) {
1502
1573
  backdropToDetach.parentNode.removeChild(backdropToDetach);
@@ -1511,18 +1582,24 @@ OverlayRef = /** @class */ (function () {
1511
1582
  _this._toggleClasses((/** @type {?} */ (backdropToDetach)), _this._config.backdropClass, false);
1512
1583
  }
1513
1584
  clearTimeout(timeoutId);
1514
- };
1585
+ });
1515
1586
  backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');
1516
- this._ngZone.runOutsideAngular(function () {
1587
+ this._ngZone.runOutsideAngular((/**
1588
+ * @return {?}
1589
+ */
1590
+ function () {
1517
1591
  (/** @type {?} */ (backdropToDetach)).addEventListener('transitionend', finishDetach);
1518
- });
1592
+ }));
1519
1593
  // If the backdrop doesn't have a transition, the `transitionend` event won't fire.
1520
1594
  // In this case we make it unclickable and we try to remove it after a delay.
1521
1595
  backdropToDetach.style.pointerEvents = 'none';
1522
1596
  // Run this outside the Angular zone because there's nothing that Angular cares about.
1523
1597
  // If it were to run inside the Angular zone, every test that used Overlay would have to be
1524
1598
  // either async or fakeAsync.
1525
- timeoutId = this._ngZone.runOutsideAngular(function () { return setTimeout(finishDetach, 500); });
1599
+ timeoutId = this._ngZone.runOutsideAngular((/**
1600
+ * @return {?}
1601
+ */
1602
+ function () { return setTimeout(finishDetach, 500); }));
1526
1603
  };
1527
1604
  /** Toggles a single CSS class or an array of classes on an element. */
1528
1605
  /**
@@ -1544,10 +1621,14 @@ OverlayRef = /** @class */ (function () {
1544
1621
  function (element, cssClasses, isAdd) {
1545
1622
  /** @type {?} */
1546
1623
  var classList = element.classList;
1547
- coerceArray(cssClasses).forEach(function (cssClass) {
1624
+ coerceArray(cssClasses).forEach((/**
1625
+ * @param {?} cssClass
1626
+ * @return {?}
1627
+ */
1628
+ function (cssClass) {
1548
1629
  // We can't do a spread here, because IE doesn't support setting multiple classes.
1549
1630
  isAdd ? classList.add(cssClass) : classList.remove(cssClass);
1550
- });
1631
+ }));
1551
1632
  };
1552
1633
  /** Detaches the overlay content next time the zone stabilizes. */
1553
1634
  /**
@@ -1565,7 +1646,10 @@ OverlayRef = /** @class */ (function () {
1565
1646
  // Normally we wouldn't have to explicitly run this outside the `NgZone`, however
1566
1647
  // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will
1567
1648
  // be patched to run inside the zone, which will throw us into an infinite loop.
1568
- this._ngZone.runOutsideAngular(function () {
1649
+ this._ngZone.runOutsideAngular((/**
1650
+ * @return {?}
1651
+ */
1652
+ function () {
1569
1653
  // We can't remove the host here immediately, because the overlay pane's content
1570
1654
  // might still be animating. This stream helps us avoid interrupting the animation
1571
1655
  // by waiting for the pane to become empty.
@@ -1573,7 +1657,10 @@ OverlayRef = /** @class */ (function () {
1573
1657
  var subscription = _this._ngZone.onStable
1574
1658
  .asObservable()
1575
1659
  .pipe(takeUntil(merge(_this._attachments, _this._detachments)))
1576
- .subscribe(function () {
1660
+ .subscribe((/**
1661
+ * @return {?}
1662
+ */
1663
+ function () {
1577
1664
  // Needs a couple of checks for the pane and host, because
1578
1665
  // they may have been removed by the time the zone stabilizes.
1579
1666
  if (!_this._pane || !_this._host || _this._pane.children.length === 0) {
@@ -1586,8 +1673,8 @@ OverlayRef = /** @class */ (function () {
1586
1673
  }
1587
1674
  subscription.unsubscribe();
1588
1675
  }
1589
- });
1590
- });
1676
+ }));
1677
+ }));
1591
1678
  };
1592
1679
  /** Disposes of a scroll strategy. */
1593
1680
  /**
@@ -1615,7 +1702,7 @@ OverlayRef = /** @class */ (function () {
1615
1702
 
1616
1703
  /**
1617
1704
  * @fileoverview added by tsickle
1618
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1705
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1619
1706
  */
1620
1707
  // TODO: refactor clipping detection into a separate thing (part of scrolling module)
1621
1708
  // TODO: doesn't handle both flexible width and height when it has to scroll along both axis.
@@ -1640,7 +1727,6 @@ var /**
1640
1727
  */
1641
1728
  FlexibleConnectedPositionStrategy = /** @class */ (function () {
1642
1729
  function FlexibleConnectedPositionStrategy(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {
1643
- var _this = this;
1644
1730
  this._viewportRuler = _viewportRuler;
1645
1731
  this._document = _document;
1646
1732
  this._platform = _platform;
@@ -1676,7 +1762,7 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
1676
1762
  /**
1677
1763
  * The Scrollable containers used to check scrollable view properties on position change.
1678
1764
  */
1679
- this.scrollables = [];
1765
+ this._scrollables = [];
1680
1766
  /**
1681
1767
  * Ordered list of preferred positions, from most to least desirable.
1682
1768
  */
@@ -1697,10 +1783,6 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
1697
1783
  * Default offset for the overlay along the y axis.
1698
1784
  */
1699
1785
  this._offsetY = 0;
1700
- /**
1701
- * Amount of subscribers to the `positionChanges` stream.
1702
- */
1703
- this._positionChangeSubscriptions = 0;
1704
1786
  /**
1705
1787
  * Keeps track of the CSS classes that the position strategy has applied on the overlay panel.
1706
1788
  */
@@ -1708,15 +1790,7 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
1708
1790
  /**
1709
1791
  * Observable sequence of position changes.
1710
1792
  */
1711
- this.positionChanges = new Observable(function (observer) {
1712
- /** @type {?} */
1713
- var subscription = _this._positionChanges.subscribe(observer);
1714
- _this._positionChangeSubscriptions++;
1715
- return function () {
1716
- subscription.unsubscribe();
1717
- _this._positionChangeSubscriptions--;
1718
- };
1719
- });
1793
+ this.positionChanges = this._positionChanges.asObservable();
1720
1794
  this.setOrigin(connectedTo);
1721
1795
  }
1722
1796
  Object.defineProperty(FlexibleConnectedPositionStrategy.prototype, "positions", {
@@ -1756,13 +1830,16 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
1756
1830
  this._isInitialRender = true;
1757
1831
  this._lastPosition = null;
1758
1832
  this._resizeSubscription.unsubscribe();
1759
- this._resizeSubscription = this._viewportRuler.change().subscribe(function () {
1833
+ this._resizeSubscription = this._viewportRuler.change().subscribe((/**
1834
+ * @return {?}
1835
+ */
1836
+ function () {
1760
1837
  // When the window is resized, we want to trigger the next reposition as if it
1761
1838
  // was an initial render, in order for the strategy to pick a new optimal position,
1762
1839
  // otherwise position locking will cause it to stay at the old one.
1763
1840
  _this._isInitialRender = true;
1764
1841
  _this.apply();
1765
- });
1842
+ }));
1766
1843
  };
1767
1844
  /**
1768
1845
  * Updates the position of the overlay element, using whichever preferred position relative
@@ -2017,7 +2094,7 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
2017
2094
  * @return {THIS}
2018
2095
  */
2019
2096
  function (scrollables) {
2020
- (/** @type {?} */ (this)).scrollables = scrollables;
2097
+ (/** @type {?} */ (this))._scrollables = scrollables;
2021
2098
  return (/** @type {?} */ (this));
2022
2099
  };
2023
2100
  /**
@@ -2570,7 +2647,7 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
2570
2647
  // Notify that the position has been changed along with its change properties.
2571
2648
  // We only emit if we've got any subscriptions, because the scroll visibility
2572
2649
  // calculcations can be somewhat expensive.
2573
- if (this._positionChangeSubscriptions > 0) {
2650
+ if (this._positionChanges.observers.length) {
2574
2651
  /** @type {?} */
2575
2652
  var scrollableViewProperties = this._getScrollVisibility();
2576
2653
  /** @type {?} */
@@ -3018,9 +3095,13 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3018
3095
  // every time, we should be able to use the scrollTop of the containers if the size of those
3019
3096
  // containers hasn't changed.
3020
3097
  /** @type {?} */
3021
- var scrollContainerBounds = this.scrollables.map(function (scrollable) {
3098
+ var scrollContainerBounds = this._scrollables.map((/**
3099
+ * @param {?} scrollable
3100
+ * @return {?}
3101
+ */
3102
+ function (scrollable) {
3022
3103
  return scrollable.getElementRef().nativeElement.getBoundingClientRect();
3023
- });
3104
+ }));
3024
3105
  return {
3025
3106
  isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),
3026
3107
  isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),
@@ -3048,9 +3129,14 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3048
3129
  for (var _i = 1; _i < arguments.length; _i++) {
3049
3130
  overflows[_i - 1] = arguments[_i];
3050
3131
  }
3051
- return overflows.reduce(function (currentValue, currentOverflow) {
3132
+ return overflows.reduce((/**
3133
+ * @param {?} currentValue
3134
+ * @param {?} currentOverflow
3135
+ * @return {?}
3136
+ */
3137
+ function (currentValue, currentOverflow) {
3052
3138
  return currentValue - Math.max(currentOverflow, 0);
3053
- }, length);
3139
+ }), length);
3054
3140
  };
3055
3141
  /** Narrows the given viewport rect by the current _viewportMargin. */
3056
3142
  /**
@@ -3152,12 +3238,16 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3152
3238
  }
3153
3239
  // TODO(crisbeto): remove these once Angular's template type
3154
3240
  // checking is advanced enough to catch these cases.
3155
- this._preferredPositions.forEach(function (pair) {
3241
+ this._preferredPositions.forEach((/**
3242
+ * @param {?} pair
3243
+ * @return {?}
3244
+ */
3245
+ function (pair) {
3156
3246
  validateHorizontalPosition('originX', pair.originX);
3157
3247
  validateVerticalPosition('originY', pair.originY);
3158
3248
  validateHorizontalPosition('overlayX', pair.overlayX);
3159
3249
  validateVerticalPosition('overlayY', pair.overlayY);
3160
- });
3250
+ }));
3161
3251
  };
3162
3252
  /** Adds a single CSS class or an array of classes on the overlay panel. */
3163
3253
  /**
@@ -3175,12 +3265,16 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3175
3265
  function (cssClasses) {
3176
3266
  var _this = this;
3177
3267
  if (this._pane) {
3178
- coerceArray(cssClasses).forEach(function (cssClass) {
3268
+ coerceArray(cssClasses).forEach((/**
3269
+ * @param {?} cssClass
3270
+ * @return {?}
3271
+ */
3272
+ function (cssClass) {
3179
3273
  if (cssClass !== '' && _this._appliedPanelClasses.indexOf(cssClass) === -1) {
3180
3274
  _this._appliedPanelClasses.push(cssClass);
3181
3275
  _this._pane.classList.add(cssClass);
3182
3276
  }
3183
- });
3277
+ }));
3184
3278
  }
3185
3279
  };
3186
3280
  /** Clears the classes that the position strategy has applied from the overlay panel. */
@@ -3197,9 +3291,13 @@ FlexibleConnectedPositionStrategy = /** @class */ (function () {
3197
3291
  function () {
3198
3292
  var _this = this;
3199
3293
  if (this._pane) {
3200
- this._appliedPanelClasses.forEach(function (cssClass) {
3294
+ this._appliedPanelClasses.forEach((/**
3295
+ * @param {?} cssClass
3296
+ * @return {?}
3297
+ */
3298
+ function (cssClass) {
3201
3299
  _this._pane.classList.remove(cssClass);
3202
- });
3300
+ }));
3203
3301
  this._appliedPanelClasses = [];
3204
3302
  }
3205
3303
  };
@@ -3252,7 +3350,7 @@ function extendStyles(dest, source) {
3252
3350
 
3253
3351
  /**
3254
3352
  * @fileoverview added by tsickle
3255
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3353
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3256
3354
  */
3257
3355
  /**
3258
3356
  * A strategy for positioning overlays. Using this strategy, an overlay is given an
@@ -3613,7 +3711,7 @@ ConnectedPositionStrategy = /** @class */ (function () {
3613
3711
 
3614
3712
  /**
3615
3713
  * @fileoverview added by tsickle
3616
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3714
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3617
3715
  */
3618
3716
 
3619
3717
  /**
@@ -3984,7 +4082,7 @@ GlobalPositionStrategy = /** @class */ (function () {
3984
4082
 
3985
4083
  /**
3986
4084
  * @fileoverview added by tsickle
3987
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4085
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3988
4086
  */
3989
4087
  /**
3990
4088
  * Builder for overlay position strategy.
@@ -4066,13 +4164,13 @@ var OverlayPositionBuilder = /** @class */ (function () {
4066
4164
  { type: Platform },
4067
4165
  { type: OverlayContainer }
4068
4166
  ]; };
4069
- /** @nocollapse */ OverlayPositionBuilder.ngInjectableDef = defineInjectable({ factory: function OverlayPositionBuilder_Factory() { return new OverlayPositionBuilder(inject(ViewportRuler), inject(DOCUMENT), inject(Platform), inject(OverlayContainer)); }, token: OverlayPositionBuilder, providedIn: "root" });
4167
+ /** @nocollapse */ OverlayPositionBuilder.ngInjectableDef = ɵɵdefineInjectable({ factory: function OverlayPositionBuilder_Factory() { return new OverlayPositionBuilder(ɵɵinject(ViewportRuler), ɵɵinject(DOCUMENT), ɵɵinject(Platform), ɵɵinject(OverlayContainer)); }, token: OverlayPositionBuilder, providedIn: "root" });
4070
4168
  return OverlayPositionBuilder;
4071
4169
  }());
4072
4170
 
4073
4171
  /**
4074
4172
  * @fileoverview added by tsickle
4075
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4173
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4076
4174
  */
4077
4175
  /**
4078
4176
  * Next overlay unique ID.
@@ -4240,7 +4338,7 @@ var Overlay = /** @class */ (function () {
4240
4338
 
4241
4339
  /**
4242
4340
  * @fileoverview added by tsickle
4243
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4341
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4244
4342
  */
4245
4343
  /**
4246
4344
  * Default set of positions for the overlay. Follows the behavior of a dropdown.
@@ -4539,12 +4637,16 @@ var CdkConnectedOverlay = /** @class */ (function () {
4539
4637
  this.positions = defaultPositionList;
4540
4638
  }
4541
4639
  this._overlayRef = this._overlay.create(this._buildConfig());
4542
- this._overlayRef.keydownEvents().subscribe(function (event) {
4640
+ this._overlayRef.keydownEvents().subscribe((/**
4641
+ * @param {?} event
4642
+ * @return {?}
4643
+ */
4644
+ function (event) {
4543
4645
  _this.overlayKeydown.next(event);
4544
4646
  if (event.keyCode === ESCAPE) {
4545
4647
  _this._detachOverlay();
4546
4648
  }
4547
- });
4649
+ }));
4548
4650
  };
4549
4651
  /** Builds the overlay config based on the directive's inputs */
4550
4652
  /**
@@ -4603,14 +4705,19 @@ var CdkConnectedOverlay = /** @class */ (function () {
4603
4705
  function (positionStrategy) {
4604
4706
  var _this = this;
4605
4707
  /** @type {?} */
4606
- var positions = this.positions.map(function (currentPosition) { return ({
4708
+ var positions = this.positions.map((/**
4709
+ * @param {?} currentPosition
4710
+ * @return {?}
4711
+ */
4712
+ function (currentPosition) { return ({
4607
4713
  originX: currentPosition.originX,
4608
4714
  originY: currentPosition.originY,
4609
4715
  overlayX: currentPosition.overlayX,
4610
4716
  overlayY: currentPosition.overlayY,
4611
4717
  offsetX: currentPosition.offsetX || _this.offsetX,
4612
- offsetY: currentPosition.offsetY || _this.offsetY
4613
- }); });
4718
+ offsetY: currentPosition.offsetY || _this.offsetY,
4719
+ panelClass: currentPosition.panelClass || undefined,
4720
+ }); }));
4614
4721
  return positionStrategy
4615
4722
  .setOrigin(this.origin.elementRef)
4616
4723
  .withPositions(positions)
@@ -4636,7 +4743,11 @@ var CdkConnectedOverlay = /** @class */ (function () {
4636
4743
  /** @type {?} */
4637
4744
  var strategy = this._overlay.position().flexibleConnectedTo(this.origin.elementRef);
4638
4745
  this._updatePositionStrategy(strategy);
4639
- strategy.positionChanges.subscribe(function (p) { return _this.positionChange.emit(p); });
4746
+ strategy.positionChanges.subscribe((/**
4747
+ * @param {?} p
4748
+ * @return {?}
4749
+ */
4750
+ function (p) { return _this.positionChange.emit(p); }));
4640
4751
  return strategy;
4641
4752
  };
4642
4753
  /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */
@@ -4664,9 +4775,13 @@ var CdkConnectedOverlay = /** @class */ (function () {
4664
4775
  this.attach.emit();
4665
4776
  }
4666
4777
  if (this.hasBackdrop) {
4667
- this._backdropSubscription = this._overlayRef.backdropClick().subscribe(function (event) {
4778
+ this._backdropSubscription = this._overlayRef.backdropClick().subscribe((/**
4779
+ * @param {?} event
4780
+ * @return {?}
4781
+ */
4782
+ function (event) {
4668
4783
  _this.backdropClick.emit(event);
4669
- });
4784
+ }));
4670
4785
  }
4671
4786
  else {
4672
4787
  this._backdropSubscription.unsubscribe();
@@ -4737,7 +4852,10 @@ var CdkConnectedOverlay = /** @class */ (function () {
4737
4852
  * @return {?}
4738
4853
  */
4739
4854
  function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
4740
- return function () { return overlay.scrollStrategies.reposition(); };
4855
+ return (/**
4856
+ * @return {?}
4857
+ */
4858
+ function () { return overlay.scrollStrategies.reposition(); });
4741
4859
  }
4742
4860
  /**
4743
4861
  * \@docs-private
@@ -4751,7 +4869,7 @@ var CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {
4751
4869
 
4752
4870
  /**
4753
4871
  * @fileoverview added by tsickle
4754
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4872
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4755
4873
  */
4756
4874
  var OverlayModule = /** @class */ (function () {
4757
4875
  function OverlayModule() {
@@ -4786,7 +4904,7 @@ var OVERLAY_PROVIDERS = [
4786
4904
 
4787
4905
  /**
4788
4906
  * @fileoverview added by tsickle
4789
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4907
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4790
4908
  */
4791
4909
  /**
4792
4910
  * Alternative to OverlayContainer that supports correct displaying of overlay elements in
@@ -4824,7 +4942,10 @@ var FullscreenOverlayContainer = /** @class */ (function (_super) {
4824
4942
  var _this = this;
4825
4943
  _super.prototype._createContainer.call(this);
4826
4944
  this._adjustParentForFullscreenChange();
4827
- this._addFullscreenChangeListener(function () { return _this._adjustParentForFullscreenChange(); });
4945
+ this._addFullscreenChangeListener((/**
4946
+ * @return {?}
4947
+ */
4948
+ function () { return _this._adjustParentForFullscreenChange(); }));
4828
4949
  };
4829
4950
  /**
4830
4951
  * @private
@@ -4918,18 +5039,18 @@ var FullscreenOverlayContainer = /** @class */ (function (_super) {
4918
5039
  FullscreenOverlayContainer.ctorParameters = function () { return [
4919
5040
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
4920
5041
  ]; };
4921
- /** @nocollapse */ FullscreenOverlayContainer.ngInjectableDef = defineInjectable({ factory: function FullscreenOverlayContainer_Factory() { return new FullscreenOverlayContainer(inject(DOCUMENT)); }, token: FullscreenOverlayContainer, providedIn: "root" });
5042
+ /** @nocollapse */ FullscreenOverlayContainer.ngInjectableDef = ɵɵdefineInjectable({ factory: function FullscreenOverlayContainer_Factory() { return new FullscreenOverlayContainer(ɵɵinject(DOCUMENT)); }, token: FullscreenOverlayContainer, providedIn: "root" });
4922
5043
  return FullscreenOverlayContainer;
4923
5044
  }(OverlayContainer));
4924
5045
 
4925
5046
  /**
4926
5047
  * @fileoverview added by tsickle
4927
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5048
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4928
5049
  */
4929
5050
 
4930
5051
  /**
4931
5052
  * @fileoverview added by tsickle
4932
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5053
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4933
5054
  */
4934
5055
 
4935
5056
  export { Overlay, OverlayContainer, CdkOverlayOrigin, CdkConnectedOverlay, FullscreenOverlayContainer, OverlayRef, OverlayKeyboardDispatcher, OverlayPositionBuilder, GlobalPositionStrategy, ConnectedPositionStrategy, FlexibleConnectedPositionStrategy, OverlayConfig, validateVerticalPosition, validateHorizontalPosition, ConnectionPositionPair, ScrollingVisibility, ConnectedOverlayPositionChange, ScrollStrategyOptions, RepositionScrollStrategy, CloseScrollStrategy, NoopScrollStrategy, BlockScrollStrategy, OverlayModule, OVERLAY_PROVIDERS, OVERLAY_KEYBOARD_DISPATCHER_PROVIDER as ɵg, OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY as ɵf, OVERLAY_CONTAINER_PROVIDER as ɵb, OVERLAY_CONTAINER_PROVIDER_FACTORY as ɵa, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵc, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵe, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵd };