@angular/cdk 2.0.0-beta.11 → 2.0.0-beta.12

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 (306) hide show
  1. package/_a11y.scss +23 -0
  2. package/_overlay.scss +93 -0
  3. package/a11y/index.metadata.json +2 -1
  4. package/a11y/typings/a11y-module.d.ts +2 -0
  5. package/a11y/typings/focus-monitor.d.ts +1 -1
  6. package/a11y/typings/index.d.ts +1 -1
  7. package/a11y/typings/index.metadata.json +1 -1
  8. package/a11y/typings/{public_api.d.ts → public-api.d.ts} +8 -2
  9. package/a11y-prebuilt.css +1 -0
  10. package/a11y.metadata.json +2 -1
  11. package/bidi/index.metadata.json +2 -1
  12. package/bidi/typings/bidi-module.d.ts +2 -0
  13. package/bidi/typings/index.d.ts +1 -1
  14. package/bidi/typings/index.metadata.json +1 -1
  15. package/bidi/typings/public-api.d.ts +10 -0
  16. package/bidi.metadata.json +2 -1
  17. package/bundles/cdk-a11y.umd.js +1368 -1357
  18. package/bundles/cdk-a11y.umd.js.map +1 -1
  19. package/bundles/cdk-a11y.umd.min.js +2 -2
  20. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  21. package/bundles/cdk-bidi.umd.js +42 -40
  22. package/bundles/cdk-bidi.umd.js.map +1 -1
  23. package/bundles/cdk-bidi.umd.min.js +2 -2
  24. package/bundles/cdk-bidi.umd.min.js.map +1 -1
  25. package/bundles/cdk-coercion.umd.js +12 -0
  26. package/bundles/cdk-coercion.umd.js.map +1 -1
  27. package/bundles/cdk-coercion.umd.min.js +2 -2
  28. package/bundles/cdk-coercion.umd.min.js.map +1 -1
  29. package/bundles/cdk-collections.umd.js +113 -11
  30. package/bundles/cdk-collections.umd.js.map +1 -1
  31. package/bundles/cdk-collections.umd.min.js +2 -2
  32. package/bundles/cdk-collections.umd.min.js.map +1 -1
  33. package/bundles/cdk-keycodes.umd.js.map +1 -1
  34. package/bundles/cdk-keycodes.umd.min.js +1 -1
  35. package/bundles/cdk-keycodes.umd.min.js.map +1 -1
  36. package/bundles/cdk-layout.umd.js +235 -0
  37. package/bundles/cdk-layout.umd.js.map +1 -0
  38. package/bundles/cdk-layout.umd.min.js +9 -0
  39. package/bundles/cdk-layout.umd.min.js.map +1 -0
  40. package/bundles/cdk-observers.umd.js +41 -40
  41. package/bundles/cdk-observers.umd.js.map +1 -1
  42. package/bundles/cdk-observers.umd.min.js +2 -2
  43. package/bundles/cdk-observers.umd.min.js.map +1 -1
  44. package/bundles/cdk-overlay.umd.js +306 -265
  45. package/bundles/cdk-overlay.umd.js.map +1 -1
  46. package/bundles/cdk-overlay.umd.min.js +2 -2
  47. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  48. package/bundles/cdk-platform.umd.js +19 -17
  49. package/bundles/cdk-platform.umd.js.map +1 -1
  50. package/bundles/cdk-platform.umd.min.js +2 -2
  51. package/bundles/cdk-platform.umd.min.js.map +1 -1
  52. package/bundles/cdk-portal.umd.js +71 -37
  53. package/bundles/cdk-portal.umd.js.map +1 -1
  54. package/bundles/cdk-portal.umd.min.js +2 -2
  55. package/bundles/cdk-portal.umd.min.js.map +1 -1
  56. package/bundles/cdk-rxjs.umd.js +13 -4
  57. package/bundles/cdk-rxjs.umd.js.map +1 -1
  58. package/bundles/cdk-rxjs.umd.min.js +2 -2
  59. package/bundles/cdk-rxjs.umd.min.js.map +1 -1
  60. package/bundles/cdk-scrolling.umd.js +89 -54
  61. package/bundles/cdk-scrolling.umd.js.map +1 -1
  62. package/bundles/cdk-scrolling.umd.min.js +2 -2
  63. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  64. package/bundles/cdk-stepper.umd.js +115 -90
  65. package/bundles/cdk-stepper.umd.js.map +1 -1
  66. package/bundles/cdk-stepper.umd.min.js +2 -2
  67. package/bundles/cdk-stepper.umd.min.js.map +1 -1
  68. package/bundles/cdk-table.umd.js +261 -218
  69. package/bundles/cdk-table.umd.js.map +1 -1
  70. package/bundles/cdk-table.umd.min.js +2 -2
  71. package/bundles/cdk-table.umd.min.js.map +1 -1
  72. package/bundles/cdk.umd.js +1 -1
  73. package/bundles/cdk.umd.js.map +1 -1
  74. package/bundles/cdk.umd.min.js +2 -2
  75. package/bundles/cdk.umd.min.js.map +1 -1
  76. package/cdk.metadata.json +2 -1
  77. package/coercion/index.metadata.json +2 -1
  78. package/coercion/typings/array.d.ts +9 -0
  79. package/coercion/typings/index.d.ts +1 -1
  80. package/coercion/typings/index.metadata.json +1 -1
  81. package/{typings/coercion/public_api.d.ts → coercion/typings/public-api.d.ts} +1 -0
  82. package/coercion.metadata.json +2 -1
  83. package/collections/index.metadata.json +2 -1
  84. package/collections/typings/index.d.ts +2 -1
  85. package/collections/typings/index.metadata.json +1 -1
  86. package/{typings/collections/public_api.d.ts → collections/typings/public-api.d.ts} +1 -0
  87. package/collections/typings/selection.d.ts +13 -3
  88. package/collections/typings/unique-selection-dispatcher.d.ts +40 -0
  89. package/collections.metadata.json +2 -1
  90. package/esm2015/a11y.js +1252 -1250
  91. package/esm2015/a11y.js.map +1 -1
  92. package/esm2015/bidi.js +1 -1
  93. package/esm2015/bidi.js.map +1 -1
  94. package/esm2015/cdk.js +1 -1
  95. package/esm2015/cdk.js.map +1 -1
  96. package/esm2015/coercion.js +11 -1
  97. package/esm2015/coercion.js.map +1 -1
  98. package/esm2015/collections.js +93 -8
  99. package/esm2015/collections.js.map +1 -1
  100. package/esm2015/keycodes.js.map +1 -1
  101. package/esm2015/layout.js +226 -0
  102. package/esm2015/layout.js.map +1 -0
  103. package/esm2015/observers.js +8 -7
  104. package/esm2015/observers.js.map +1 -1
  105. package/esm2015/overlay.js +157 -136
  106. package/esm2015/overlay.js.map +1 -1
  107. package/esm2015/platform.js +1 -1
  108. package/esm2015/platform.js.map +1 -1
  109. package/esm2015/portal.js +30 -1
  110. package/esm2015/portal.js.map +1 -1
  111. package/esm2015/rxjs.js +5 -1
  112. package/esm2015/rxjs.js.map +1 -1
  113. package/esm2015/scrolling.js +39 -8
  114. package/esm2015/scrolling.js.map +1 -1
  115. package/esm2015/stepper.js +27 -5
  116. package/esm2015/stepper.js.map +1 -1
  117. package/esm2015/table.js +68 -29
  118. package/esm2015/table.js.map +1 -1
  119. package/esm5/a11y.es5.js +1372 -1357
  120. package/esm5/a11y.es5.js.map +1 -1
  121. package/esm5/bidi.es5.js +45 -40
  122. package/esm5/bidi.es5.js.map +1 -1
  123. package/esm5/cdk.es5.js +4 -1
  124. package/esm5/cdk.es5.js.map +1 -1
  125. package/esm5/coercion.es5.js +14 -1
  126. package/esm5/coercion.es5.js.map +1 -1
  127. package/esm5/collections.es5.js +110 -8
  128. package/esm5/collections.es5.js.map +1 -1
  129. package/esm5/keycodes.es5.js +2 -0
  130. package/esm5/keycodes.es5.js.map +1 -1
  131. package/esm5/layout.es5.js +234 -0
  132. package/esm5/layout.es5.js.map +1 -0
  133. package/esm5/observers.es5.js +44 -40
  134. package/esm5/observers.es5.js.map +1 -1
  135. package/esm5/overlay.es5.js +304 -259
  136. package/esm5/overlay.es5.js.map +1 -1
  137. package/esm5/platform.es5.js +22 -17
  138. package/esm5/platform.es5.js.map +1 -1
  139. package/esm5/portal.es5.js +81 -44
  140. package/esm5/portal.es5.js.map +1 -1
  141. package/esm5/rxjs.es5.js +12 -1
  142. package/esm5/rxjs.es5.js.map +1 -1
  143. package/esm5/scrolling.es5.js +89 -51
  144. package/esm5/scrolling.es5.js.map +1 -1
  145. package/esm5/stepper.es5.js +119 -91
  146. package/esm5/stepper.es5.js.map +1 -1
  147. package/esm5/table.es5.js +265 -218
  148. package/esm5/table.es5.js.map +1 -1
  149. package/keycodes/index.metadata.json +2 -1
  150. package/keycodes/typings/index.d.ts +1 -1
  151. package/keycodes/typings/{public_api.d.ts → public-api.d.ts} +0 -0
  152. package/keycodes.metadata.json +2 -1
  153. package/layout/index.d.ts +8 -0
  154. package/layout/index.metadata.json +12 -0
  155. package/layout/package.json +7 -0
  156. package/layout/typings/breakpoints-observer.d.ts +37 -0
  157. package/layout/typings/breakpoints.d.ts +18 -0
  158. package/layout/typings/index.d.ts +4 -0
  159. package/layout/typings/index.metadata.json +1 -0
  160. package/layout/typings/media-matcher.d.ts +15 -0
  161. package/layout/typings/public-api.d.ts +5 -0
  162. package/layout.d.ts +8 -0
  163. package/layout.metadata.json +12 -0
  164. package/observers/index.metadata.json +2 -1
  165. package/observers/typings/index.d.ts +1 -1
  166. package/observers/typings/index.metadata.json +1 -1
  167. package/observers/typings/observe-content.d.ts +3 -3
  168. package/observers/typings/{public_api.d.ts → public-api.d.ts} +0 -0
  169. package/observers.metadata.json +2 -1
  170. package/overlay/index.metadata.json +2 -1
  171. package/overlay/typings/index.d.ts +2 -2
  172. package/overlay/typings/index.metadata.json +1 -1
  173. package/overlay/typings/overlay-config.d.ts +1 -1
  174. package/overlay/typings/overlay-directives.d.ts +3 -3
  175. package/overlay/typings/overlay-module.d.ts +11 -0
  176. package/overlay/typings/overlay-ref.d.ts +6 -6
  177. package/overlay/typings/overlay.d.ts +2 -2
  178. package/overlay/typings/position/connected-position-strategy.d.ts +5 -0
  179. package/overlay/typings/position/position-strategy.d.ts +2 -0
  180. package/overlay/typings/{public_api.d.ts → public-api.d.ts} +1 -4
  181. package/overlay/typings/scroll/scroll-strategy.d.ts +1 -1
  182. package/overlay-prebuilt.css +1 -0
  183. package/overlay.metadata.json +2 -1
  184. package/package.json +3 -3
  185. package/platform/index.metadata.json +2 -1
  186. package/platform/typings/index.d.ts +1 -1
  187. package/platform/typings/index.metadata.json +1 -1
  188. package/platform/typings/platform-module.d.ts +2 -0
  189. package/platform/typings/public-api.d.ts +10 -0
  190. package/platform.metadata.json +2 -1
  191. package/portal/index.metadata.json +2 -1
  192. package/portal/typings/index.d.ts +1 -1
  193. package/portal/typings/index.metadata.json +1 -1
  194. package/portal/typings/{public_api.d.ts → public-api.d.ts} +1 -0
  195. package/portal.metadata.json +2 -1
  196. package/rxjs/index.metadata.json +2 -1
  197. package/rxjs/typings/index.d.ts +1 -1
  198. package/rxjs/typings/index.metadata.json +1 -1
  199. package/rxjs/typings/{public_api.d.ts → public-api.d.ts} +0 -0
  200. package/rxjs/typings/rx-operators.d.ts +7 -0
  201. package/rxjs.metadata.json +2 -1
  202. package/scrolling/index.metadata.json +2 -1
  203. package/scrolling/typings/index.d.ts +1 -1
  204. package/scrolling/typings/index.metadata.json +1 -1
  205. package/scrolling/typings/public-api.d.ts +11 -0
  206. package/scrolling/typings/scrolling-module.d.ts +2 -0
  207. package/scrolling/typings/viewport-ruler.d.ts +20 -6
  208. package/scrolling.metadata.json +2 -1
  209. package/stepper/index.metadata.json +2 -1
  210. package/stepper/typings/index.d.ts +1 -1
  211. package/stepper/typings/index.metadata.json +1 -1
  212. package/stepper/typings/public-api.d.ts +11 -0
  213. package/stepper/typings/stepper-module.d.ts +2 -0
  214. package/stepper/typings/stepper.d.ts +8 -4
  215. package/stepper.metadata.json +2 -1
  216. package/table/index.metadata.json +2 -1
  217. package/table/typings/index.d.ts +1 -1
  218. package/table/typings/index.metadata.json +1 -1
  219. package/table/typings/public-api.d.ts +13 -0
  220. package/table/typings/row.d.ts +11 -3
  221. package/table/typings/table-errors.d.ts +10 -0
  222. package/table/typings/table-module.d.ts +2 -0
  223. package/table/typings/table.d.ts +17 -8
  224. package/table.metadata.json +2 -1
  225. package/typings/a11y/a11y-module.d.ts +2 -0
  226. package/typings/a11y/focus-monitor.d.ts +1 -1
  227. package/typings/a11y/index.d.ts +1 -1
  228. package/typings/a11y/index.metadata.json +1 -1
  229. package/typings/a11y/{public_api.d.ts → public-api.d.ts} +8 -2
  230. package/typings/bidi/bidi-module.d.ts +2 -0
  231. package/typings/bidi/index.d.ts +1 -1
  232. package/typings/bidi/index.metadata.json +1 -1
  233. package/typings/bidi/public-api.d.ts +10 -0
  234. package/typings/coercion/array.d.ts +9 -0
  235. package/typings/coercion/index.d.ts +1 -1
  236. package/typings/coercion/index.metadata.json +1 -1
  237. package/{coercion/typings/public_api.d.ts → typings/coercion/public-api.d.ts} +1 -0
  238. package/typings/collections/index.d.ts +2 -1
  239. package/typings/collections/index.metadata.json +1 -1
  240. package/{collections/typings/public_api.d.ts → typings/collections/public-api.d.ts} +1 -0
  241. package/typings/collections/selection.d.ts +13 -3
  242. package/typings/collections/unique-selection-dispatcher.d.ts +40 -0
  243. package/typings/index.d.ts +1 -1
  244. package/typings/index.metadata.json +1 -1
  245. package/typings/keycodes/index.d.ts +1 -1
  246. package/typings/keycodes/{public_api.d.ts → public-api.d.ts} +0 -0
  247. package/typings/layout/breakpoints-observer.d.ts +37 -0
  248. package/typings/layout/breakpoints.d.ts +18 -0
  249. package/typings/layout/index.d.ts +4 -0
  250. package/typings/layout/index.metadata.json +1 -0
  251. package/typings/layout/media-matcher.d.ts +15 -0
  252. package/typings/layout/public-api.d.ts +5 -0
  253. package/typings/observers/index.d.ts +1 -1
  254. package/typings/observers/index.metadata.json +1 -1
  255. package/typings/observers/observe-content.d.ts +3 -3
  256. package/typings/observers/{public_api.d.ts → public-api.d.ts} +0 -0
  257. package/typings/overlay/index.d.ts +2 -2
  258. package/typings/overlay/index.metadata.json +1 -1
  259. package/typings/overlay/overlay-config.d.ts +1 -1
  260. package/typings/overlay/overlay-directives.d.ts +3 -3
  261. package/typings/overlay/overlay-module.d.ts +11 -0
  262. package/typings/overlay/overlay-ref.d.ts +6 -6
  263. package/typings/overlay/overlay.d.ts +2 -2
  264. package/typings/overlay/position/connected-position-strategy.d.ts +5 -0
  265. package/typings/overlay/position/position-strategy.d.ts +2 -0
  266. package/typings/overlay/{public_api.d.ts → public-api.d.ts} +1 -4
  267. package/typings/overlay/scroll/scroll-strategy.d.ts +1 -1
  268. package/typings/platform/index.d.ts +1 -1
  269. package/typings/platform/index.metadata.json +1 -1
  270. package/typings/platform/platform-module.d.ts +2 -0
  271. package/typings/platform/public-api.d.ts +10 -0
  272. package/typings/portal/index.d.ts +1 -1
  273. package/typings/portal/index.metadata.json +1 -1
  274. package/typings/portal/{public_api.d.ts → public-api.d.ts} +1 -0
  275. package/typings/{public_api.d.ts → public-api.d.ts} +0 -0
  276. package/typings/rxjs/index.d.ts +1 -1
  277. package/typings/rxjs/index.metadata.json +1 -1
  278. package/typings/rxjs/{public_api.d.ts → public-api.d.ts} +0 -0
  279. package/typings/rxjs/rx-operators.d.ts +7 -0
  280. package/typings/scrolling/index.d.ts +1 -1
  281. package/typings/scrolling/index.metadata.json +1 -1
  282. package/typings/scrolling/public-api.d.ts +11 -0
  283. package/typings/scrolling/scrolling-module.d.ts +2 -0
  284. package/typings/scrolling/viewport-ruler.d.ts +20 -6
  285. package/typings/stepper/index.d.ts +1 -1
  286. package/typings/stepper/index.metadata.json +1 -1
  287. package/typings/stepper/public-api.d.ts +11 -0
  288. package/typings/stepper/stepper-module.d.ts +2 -0
  289. package/typings/stepper/stepper.d.ts +8 -4
  290. package/typings/table/index.d.ts +1 -1
  291. package/typings/table/index.metadata.json +1 -1
  292. package/typings/table/public-api.d.ts +13 -0
  293. package/typings/table/row.d.ts +11 -3
  294. package/typings/table/table-errors.d.ts +10 -0
  295. package/typings/table/table-module.d.ts +2 -0
  296. package/typings/table/table.d.ts +17 -8
  297. package/bidi/typings/public_api.d.ts +0 -4
  298. package/platform/typings/public_api.d.ts +0 -4
  299. package/scrolling/typings/public_api.d.ts +0 -5
  300. package/stepper/typings/public_api.d.ts +0 -5
  301. package/table/typings/public_api.d.ts +0 -7
  302. package/typings/bidi/public_api.d.ts +0 -4
  303. package/typings/platform/public_api.d.ts +0 -4
  304. package/typings/scrolling/public_api.d.ts +0 -5
  305. package/typings/stepper/public_api.d.ts +0 -5
  306. package/typings/table/public_api.d.ts +0 -7
@@ -1,4 +1,3 @@
1
- import * as tslib_1 from "tslib";
2
1
  /**
3
2
  * @license
4
3
  * Copyright Google Inc. All Rights Reserved.
@@ -10,10 +9,13 @@ import { ApplicationRef, ComponentFactoryResolver, Directive, ElementRef, EventE
10
9
  import { DomPortalHost, PortalModule, TemplatePortal } from '@angular/cdk/portal';
11
10
  import { Subject } from 'rxjs/Subject';
12
11
  import { ScrollDispatchModule, ScrollDispatcher, Scrollable, VIEWPORT_RULER_PROVIDER, ViewportRuler } from '@angular/cdk/scrolling';
12
+ import { Subscription } from 'rxjs/Subscription';
13
+ import { __extends } from 'tslib';
14
+ import * as tslib_1 from 'tslib';
13
15
  import { Directionality } from '@angular/cdk/bidi';
14
16
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
15
17
  import { ESCAPE } from '@angular/cdk/keycodes';
16
- import { Subscription } from 'rxjs/Subscription';
18
+
17
19
  /**
18
20
  * Scroll strategy that doesn't do anything.
19
21
  */
@@ -34,14 +36,15 @@ var NoopScrollStrategy = (function () {
34
36
  NoopScrollStrategy.prototype.attach = function () { };
35
37
  return NoopScrollStrategy;
36
38
  }());
39
+
37
40
  /**
38
41
  * OverlayConfig captures the initial configuration used when opening an overlay.
39
42
  */
40
43
  var OverlayConfig = (function () {
41
44
  /**
42
- * @param {?=} state
45
+ * @param {?=} config
43
46
  */
44
- function OverlayConfig(state) {
47
+ function OverlayConfig(config) {
45
48
  var _this = this;
46
49
  /**
47
50
  * Strategy to be used when handling scroll events while the overlay is open.
@@ -63,12 +66,13 @@ var OverlayConfig = (function () {
63
66
  * The direction of the text in the overlay panel.
64
67
  */
65
68
  this.direction = 'ltr';
66
- if (state) {
67
- Object.keys(state).forEach(function (key) { return _this[key] = state[key]; });
69
+ if (config) {
70
+ Object.keys(config).forEach(function (key) { return _this[key] = config[key]; });
68
71
  }
69
72
  }
70
73
  return OverlayConfig;
71
74
  }());
75
+
72
76
  /**
73
77
  * Reference to an overlay that has been created with the Overlay service.
74
78
  * Used to manipulate or dispose of said overlay.
@@ -77,20 +81,20 @@ var OverlayRef = (function () {
77
81
  /**
78
82
  * @param {?} _portalHost
79
83
  * @param {?} _pane
80
- * @param {?} _state
84
+ * @param {?} _config
81
85
  * @param {?} _ngZone
82
86
  */
83
- function OverlayRef(_portalHost, _pane, _state, _ngZone) {
87
+ function OverlayRef(_portalHost, _pane, _config, _ngZone) {
84
88
  this._portalHost = _portalHost;
85
89
  this._pane = _pane;
86
- this._state = _state;
90
+ this._config = _config;
87
91
  this._ngZone = _ngZone;
88
92
  this._backdropElement = null;
89
93
  this._backdropClick = new Subject();
90
94
  this._attachments = new Subject();
91
95
  this._detachments = new Subject();
92
- if (_state.scrollStrategy) {
93
- _state.scrollStrategy.attach(this);
96
+ if (_config.scrollStrategy) {
97
+ _config.scrollStrategy.attach(this);
94
98
  }
95
99
  }
96
100
  Object.defineProperty(OverlayRef.prototype, "overlayElement", {
@@ -112,29 +116,29 @@ var OverlayRef = (function () {
112
116
  OverlayRef.prototype.attach = function (portal) {
113
117
  var _this = this;
114
118
  var /** @type {?} */ attachResult = this._portalHost.attach(portal);
115
- if (this._state.positionStrategy) {
116
- this._state.positionStrategy.attach(this);
119
+ if (this._config.positionStrategy) {
120
+ this._config.positionStrategy.attach(this);
117
121
  }
118
- // Update the pane element with the given state configuration.
122
+ // Update the pane element with the given configuration.
119
123
  this._updateStackingOrder();
120
124
  this.updateSize();
121
125
  this.updateDirection();
122
126
  this.updatePosition();
123
- if (this._state.scrollStrategy) {
124
- this._state.scrollStrategy.enable();
127
+ if (this._config.scrollStrategy) {
128
+ this._config.scrollStrategy.enable();
125
129
  }
126
130
  // Enable pointer events for the overlay pane element.
127
131
  this._togglePointerEvents(true);
128
- if (this._state.hasBackdrop) {
132
+ if (this._config.hasBackdrop) {
129
133
  this._attachBackdrop();
130
134
  }
131
- if (this._state.panelClass) {
135
+ if (this._config.panelClass) {
132
136
  // We can't do a spread here, because IE doesn't support setting multiple classes.
133
- if (Array.isArray(this._state.panelClass)) {
134
- this._state.panelClass.forEach(function (cls) { return _this._pane.classList.add(cls); });
137
+ if (Array.isArray(this._config.panelClass)) {
138
+ this._config.panelClass.forEach(function (cls) { return _this._pane.classList.add(cls); });
135
139
  }
136
140
  else {
137
- this._pane.classList.add(this._state.panelClass);
141
+ this._pane.classList.add(this._config.panelClass);
138
142
  }
139
143
  }
140
144
  // Only emit the `attachments` event once all other setup is done.
@@ -143,7 +147,7 @@ var OverlayRef = (function () {
143
147
  };
144
148
  /**
145
149
  * Detaches an overlay from a portal.
146
- * @return {?} Resolves when the overlay has been detached.
150
+ * @return {?} The portal detachment result.
147
151
  */
148
152
  OverlayRef.prototype.detach = function () {
149
153
  this.detachBackdrop();
@@ -151,8 +155,11 @@ var OverlayRef = (function () {
151
155
  // This is necessary because otherwise the pane element will cover the page and disable
152
156
  // pointer events therefore. Depends on the position strategy and the applied pane boundaries.
153
157
  this._togglePointerEvents(false);
154
- if (this._state.scrollStrategy) {
155
- this._state.scrollStrategy.disable();
158
+ if (this._config.positionStrategy && this._config.positionStrategy.detach) {
159
+ this._config.positionStrategy.detach();
160
+ }
161
+ if (this._config.scrollStrategy) {
162
+ this._config.scrollStrategy.disable();
156
163
  }
157
164
  var /** @type {?} */ detachmentResult = this._portalHost.detach();
158
165
  // Only emit after everything is detached.
@@ -164,11 +171,11 @@ var OverlayRef = (function () {
164
171
  * @return {?}
165
172
  */
166
173
  OverlayRef.prototype.dispose = function () {
167
- if (this._state.positionStrategy) {
168
- this._state.positionStrategy.dispose();
174
+ if (this._config.positionStrategy) {
175
+ this._config.positionStrategy.dispose();
169
176
  }
170
- if (this._state.scrollStrategy) {
171
- this._state.scrollStrategy.disable();
177
+ if (this._config.scrollStrategy) {
178
+ this._config.scrollStrategy.disable();
172
179
  }
173
180
  this.detachBackdrop();
174
181
  this._portalHost.dispose();
@@ -206,19 +213,19 @@ var OverlayRef = (function () {
206
213
  return this._detachments.asObservable();
207
214
  };
208
215
  /**
209
- * Gets the current state config of the overlay.
216
+ * Gets the current config of the overlay.
210
217
  * @return {?}
211
218
  */
212
- OverlayRef.prototype.getState = function () {
213
- return this._state;
219
+ OverlayRef.prototype.getConfig = function () {
220
+ return this._config;
214
221
  };
215
222
  /**
216
223
  * Updates the position of the overlay based on the position strategy.
217
224
  * @return {?}
218
225
  */
219
226
  OverlayRef.prototype.updatePosition = function () {
220
- if (this._state.positionStrategy) {
221
- this._state.positionStrategy.apply();
227
+ if (this._config.positionStrategy) {
228
+ this._config.positionStrategy.apply();
222
229
  }
223
230
  };
224
231
  /**
@@ -226,30 +233,30 @@ var OverlayRef = (function () {
226
233
  * @return {?}
227
234
  */
228
235
  OverlayRef.prototype.updateDirection = function () {
229
- this._pane.setAttribute('dir', /** @type {?} */ ((this._state.direction)));
236
+ this._pane.setAttribute('dir', /** @type {?} */ ((this._config.direction)));
230
237
  };
231
238
  /**
232
239
  * Updates the size of the overlay based on the overlay config.
233
240
  * @return {?}
234
241
  */
235
242
  OverlayRef.prototype.updateSize = function () {
236
- if (this._state.width || this._state.width === 0) {
237
- this._pane.style.width = formatCssUnit(this._state.width);
243
+ if (this._config.width || this._config.width === 0) {
244
+ this._pane.style.width = formatCssUnit(this._config.width);
238
245
  }
239
- if (this._state.height || this._state.height === 0) {
240
- this._pane.style.height = formatCssUnit(this._state.height);
246
+ if (this._config.height || this._config.height === 0) {
247
+ this._pane.style.height = formatCssUnit(this._config.height);
241
248
  }
242
- if (this._state.minWidth || this._state.minWidth === 0) {
243
- this._pane.style.minWidth = formatCssUnit(this._state.minWidth);
249
+ if (this._config.minWidth || this._config.minWidth === 0) {
250
+ this._pane.style.minWidth = formatCssUnit(this._config.minWidth);
244
251
  }
245
- if (this._state.minHeight || this._state.minHeight === 0) {
246
- this._pane.style.minHeight = formatCssUnit(this._state.minHeight);
252
+ if (this._config.minHeight || this._config.minHeight === 0) {
253
+ this._pane.style.minHeight = formatCssUnit(this._config.minHeight);
247
254
  }
248
- if (this._state.maxWidth || this._state.maxWidth === 0) {
249
- this._pane.style.maxWidth = formatCssUnit(this._state.maxWidth);
255
+ if (this._config.maxWidth || this._config.maxWidth === 0) {
256
+ this._pane.style.maxWidth = formatCssUnit(this._config.maxWidth);
250
257
  }
251
- if (this._state.maxHeight || this._state.maxHeight === 0) {
252
- this._pane.style.maxHeight = formatCssUnit(this._state.maxHeight);
258
+ if (this._config.maxHeight || this._config.maxHeight === 0) {
259
+ this._pane.style.maxHeight = formatCssUnit(this._config.maxHeight);
253
260
  }
254
261
  };
255
262
  /**
@@ -268,8 +275,8 @@ var OverlayRef = (function () {
268
275
  var _this = this;
269
276
  this._backdropElement = document.createElement('div');
270
277
  this._backdropElement.classList.add('cdk-overlay-backdrop');
271
- if (this._state.backdropClass) {
272
- this._backdropElement.classList.add(this._state.backdropClass);
278
+ if (this._config.backdropClass) {
279
+ this._backdropElement.classList.add(this._config.backdropClass);
273
280
  } /** @type {?} */
274
281
  ((
275
282
  // Insert the backdrop before the pane in the DOM order,
@@ -319,8 +326,8 @@ var OverlayRef = (function () {
319
326
  }
320
327
  };
321
328
  backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');
322
- if (this._state.backdropClass) {
323
- backdropToDetach.classList.remove(this._state.backdropClass);
329
+ if (this._config.backdropClass) {
330
+ backdropToDetach.classList.remove(this._config.backdropClass);
324
331
  }
325
332
  backdropToDetach.addEventListener('transitionend', finishDetach_1);
326
333
  // If the backdrop doesn't have a transition, the `transitionend` event won't fire.
@@ -343,6 +350,7 @@ var OverlayRef = (function () {
343
350
  function formatCssUnit(value) {
344
351
  return typeof value === 'string' ? (value) : value + "px";
345
352
  }
353
+
346
354
  /** Horizontal dimension of a connection point on the perimeter of the origin or overlay element. */
347
355
  /**
348
356
  * The points of the origin element and the overlay element to connect.
@@ -400,15 +408,16 @@ var ConnectedOverlayPositionChange = (function () {
400
408
  this.connectionPair = connectionPair;
401
409
  this.scrollableViewProperties = scrollableViewProperties;
402
410
  }
411
+ /**
412
+ * @nocollapse
413
+ */
414
+ ConnectedOverlayPositionChange.ctorParameters = function () { return [
415
+ { type: ConnectionPositionPair, },
416
+ { type: ScrollingVisibility, decorators: [{ type: Optional },] },
417
+ ]; };
403
418
  return ConnectedOverlayPositionChange;
404
419
  }());
405
- /**
406
- * @nocollapse
407
- */
408
- ConnectedOverlayPositionChange.ctorParameters = function () { return [
409
- { type: ConnectionPositionPair, },
410
- { type: ScrollingVisibility, decorators: [{ type: Optional },] },
411
- ]; };
420
+
412
421
  /**
413
422
  * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.
414
423
  * \@docs-private
@@ -441,6 +450,7 @@ function isElementClippedByScrolling(element, scrollContainers) {
441
450
  return clippedAbove || clippedBelow || clippedLeft || clippedRight;
442
451
  });
443
452
  }
453
+
444
454
  /**
445
455
  * A strategy for positioning overlays. Using this strategy, an overlay is given an
446
456
  * implicit position relative some origin element. The relative position is defined in terms of
@@ -458,6 +468,9 @@ var ConnectedPositionStrategy = (function () {
458
468
  function ConnectedPositionStrategy(originPos, overlayPos, _connectedTo, _viewportRuler) {
459
469
  this._connectedTo = _connectedTo;
460
470
  this._viewportRuler = _viewportRuler;
471
+ /**
472
+ * Layout direction of the position strategy.
473
+ */
461
474
  this._dir = 'ltr';
462
475
  /**
463
476
  * The offset in pixels for the overlay connection point on the x-axis
@@ -471,6 +484,10 @@ var ConnectedPositionStrategy = (function () {
471
484
  * The Scrollable containers used to check scrollable view properties on position change.
472
485
  */
473
486
  this.scrollables = [];
487
+ /**
488
+ * Subscription to viewport resize events.
489
+ */
490
+ this._resizeSubscription = Subscription.EMPTY;
474
491
  /**
475
492
  * Ordered list of preferred positions, from most to least desirable.
476
493
  */
@@ -517,14 +534,26 @@ var ConnectedPositionStrategy = (function () {
517
534
  * @return {?}
518
535
  */
519
536
  ConnectedPositionStrategy.prototype.attach = function (overlayRef) {
537
+ var _this = this;
520
538
  this._overlayRef = overlayRef;
521
539
  this._pane = overlayRef.overlayElement;
540
+ this._resizeSubscription.unsubscribe();
541
+ this._resizeSubscription = this._viewportRuler.change().subscribe(function () { return _this.apply(); });
522
542
  };
523
543
  /**
524
544
  * Performs any cleanup after the element is destroyed.
525
545
  * @return {?}
526
546
  */
527
- ConnectedPositionStrategy.prototype.dispose = function () { };
547
+ ConnectedPositionStrategy.prototype.dispose = function () {
548
+ this._resizeSubscription.unsubscribe();
549
+ };
550
+ /**
551
+ * \@docs-private
552
+ * @return {?}
553
+ */
554
+ ConnectedPositionStrategy.prototype.detach = function () {
555
+ this._resizeSubscription.unsubscribe();
556
+ };
528
557
  /**
529
558
  * Updates the position of the overlay element, using whichever preferred position relative
530
559
  * to the origin fits on-screen.
@@ -793,6 +822,7 @@ var ConnectedPositionStrategy = (function () {
793
822
  };
794
823
  return ConnectedPositionStrategy;
795
824
  }());
825
+
796
826
  /**
797
827
  * A strategy for positioning overlays. Using this strategy, an overlay is given an
798
828
  * explicit position relative to the browser's viewport. We use flexbox, instead of
@@ -961,6 +991,7 @@ var GlobalPositionStrategy = (function () {
961
991
  };
962
992
  return GlobalPositionStrategy;
963
993
  }());
994
+
964
995
  /**
965
996
  * Builder for overlay position strategy.
966
997
  */
@@ -988,17 +1019,18 @@ var OverlayPositionBuilder = (function () {
988
1019
  OverlayPositionBuilder.prototype.connectedTo = function (elementRef, originPos, overlayPos) {
989
1020
  return new ConnectedPositionStrategy(originPos, overlayPos, elementRef, this._viewportRuler);
990
1021
  };
1022
+ OverlayPositionBuilder.decorators = [
1023
+ { type: Injectable },
1024
+ ];
1025
+ /**
1026
+ * @nocollapse
1027
+ */
1028
+ OverlayPositionBuilder.ctorParameters = function () { return [
1029
+ { type: ViewportRuler, },
1030
+ ]; };
991
1031
  return OverlayPositionBuilder;
992
1032
  }());
993
- OverlayPositionBuilder.decorators = [
994
- { type: Injectable },
995
- ];
996
- /**
997
- * @nocollapse
998
- */
999
- OverlayPositionBuilder.ctorParameters = function () { return [
1000
- { type: ViewportRuler, },
1001
- ]; };
1033
+
1002
1034
  /**
1003
1035
  * The OverlayContainer is the container in which all overlays will load.
1004
1036
  * It should be provided in the root component to ensure it is properly shared.
@@ -1037,15 +1069,15 @@ var OverlayContainer = (function () {
1037
1069
  document.body.appendChild(container);
1038
1070
  this._containerElement = container;
1039
1071
  };
1072
+ OverlayContainer.decorators = [
1073
+ { type: Injectable },
1074
+ ];
1075
+ /**
1076
+ * @nocollapse
1077
+ */
1078
+ OverlayContainer.ctorParameters = function () { return []; };
1040
1079
  return OverlayContainer;
1041
1080
  }());
1042
- OverlayContainer.decorators = [
1043
- { type: Injectable },
1044
- ];
1045
- /**
1046
- * @nocollapse
1047
- */
1048
- OverlayContainer.ctorParameters = function () { return []; };
1049
1081
  /**
1050
1082
  * \@docs-private
1051
1083
  * @param {?} parentContainer
@@ -1063,13 +1095,15 @@ var OVERLAY_CONTAINER_PROVIDER = {
1063
1095
  deps: [[new Optional(), new SkipSelf(), OverlayContainer]],
1064
1096
  useFactory: OVERLAY_CONTAINER_PROVIDER_FACTORY
1065
1097
  };
1098
+
1066
1099
  /**
1067
1100
  * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.
1068
1101
  * @return {?}
1069
1102
  */
1070
- function getMdScrollStrategyAlreadyAttachedError() {
1103
+ function getMatScrollStrategyAlreadyAttachedError() {
1071
1104
  return Error("Scroll strategy has already been attached.");
1072
1105
  }
1106
+
1073
1107
  /**
1074
1108
  * Strategy that will close the overlay as soon as the user starts scrolling.
1075
1109
  */
@@ -1087,7 +1121,7 @@ var CloseScrollStrategy = (function () {
1087
1121
  */
1088
1122
  CloseScrollStrategy.prototype.attach = function (overlayRef) {
1089
1123
  if (this._overlayRef) {
1090
- throw getMdScrollStrategyAlreadyAttachedError();
1124
+ throw getMatScrollStrategyAlreadyAttachedError();
1091
1125
  }
1092
1126
  this._overlayRef = overlayRef;
1093
1127
  };
@@ -1116,6 +1150,7 @@ var CloseScrollStrategy = (function () {
1116
1150
  };
1117
1151
  return CloseScrollStrategy;
1118
1152
  }());
1153
+
1119
1154
  /**
1120
1155
  * Strategy that will prevent the user from scrolling while the overlay is visible.
1121
1156
  */
@@ -1178,6 +1213,7 @@ var BlockScrollStrategy = (function () {
1178
1213
  };
1179
1214
  return BlockScrollStrategy;
1180
1215
  }());
1216
+
1181
1217
  /**
1182
1218
  * Strategy that will update the element position as the user is scrolling.
1183
1219
  */
@@ -1197,7 +1233,7 @@ var RepositionScrollStrategy = (function () {
1197
1233
  */
1198
1234
  RepositionScrollStrategy.prototype.attach = function (overlayRef) {
1199
1235
  if (this._overlayRef) {
1200
- throw getMdScrollStrategyAlreadyAttachedError();
1236
+ throw getMatScrollStrategyAlreadyAttachedError();
1201
1237
  }
1202
1238
  this._overlayRef = overlayRef;
1203
1239
  };
@@ -1224,6 +1260,7 @@ var RepositionScrollStrategy = (function () {
1224
1260
  };
1225
1261
  return RepositionScrollStrategy;
1226
1262
  }());
1263
+
1227
1264
  /**
1228
1265
  * Options for how an overlay will handle scrolling.
1229
1266
  *
@@ -1256,28 +1293,31 @@ var ScrollStrategyOptions = (function () {
1256
1293
  * @param config Configuration to be used inside the scroll strategy.
1257
1294
  * Allows debouncing the reposition calls.
1258
1295
  */
1259
- this.reposition = function (config) { return new RepositionScrollStrategy(_this._scrollDispatcher, config); };
1296
+ this.reposition = function (config) {
1297
+ return new RepositionScrollStrategy(_this._scrollDispatcher, config);
1298
+ };
1260
1299
  }
1300
+ ScrollStrategyOptions.decorators = [
1301
+ { type: Injectable },
1302
+ ];
1303
+ /**
1304
+ * @nocollapse
1305
+ */
1306
+ ScrollStrategyOptions.ctorParameters = function () { return [
1307
+ { type: ScrollDispatcher, },
1308
+ { type: ViewportRuler, },
1309
+ ]; };
1261
1310
  return ScrollStrategyOptions;
1262
1311
  }());
1263
- ScrollStrategyOptions.decorators = [
1264
- { type: Injectable },
1265
- ];
1266
- /**
1267
- * @nocollapse
1268
- */
1269
- ScrollStrategyOptions.ctorParameters = function () { return [
1270
- { type: ScrollDispatcher, },
1271
- { type: ViewportRuler, },
1272
- ]; };
1312
+
1273
1313
  /**
1274
1314
  * Next overlay unique ID.
1275
1315
  */
1276
1316
  var nextUniqueId = 0;
1277
1317
  /**
1278
- * The default state for newly created overlays.
1318
+ * The default config for newly created overlays.
1279
1319
  */
1280
- var defaultState = new OverlayConfig();
1320
+ var defaultConfig = new OverlayConfig();
1281
1321
  /**
1282
1322
  * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be
1283
1323
  * used as a low-level building building block for other components. Dialogs, tooltips, menus,
@@ -1307,14 +1347,14 @@ var Overlay = (function () {
1307
1347
  }
1308
1348
  /**
1309
1349
  * Creates an overlay.
1310
- * @param {?=} state State to apply to the overlay.
1350
+ * @param {?=} config Config to apply to the overlay.
1311
1351
  * @return {?} Reference to the created overlay.
1312
1352
  */
1313
- Overlay.prototype.create = function (state) {
1314
- if (state === void 0) { state = defaultState; }
1353
+ Overlay.prototype.create = function (config) {
1354
+ if (config === void 0) { config = defaultConfig; }
1315
1355
  var /** @type {?} */ pane = this._createPaneElement();
1316
1356
  var /** @type {?} */ portalHost = this._createPortalHost(pane);
1317
- return new OverlayRef(portalHost, pane, state, this._ngZone);
1357
+ return new OverlayRef(portalHost, pane, config, this._ngZone);
1318
1358
  };
1319
1359
  /**
1320
1360
  * Returns a position builder that can be used, via fluent API,
@@ -1343,23 +1383,98 @@ var Overlay = (function () {
1343
1383
  Overlay.prototype._createPortalHost = function (pane) {
1344
1384
  return new DomPortalHost(pane, this._componentFactoryResolver, this._appRef, this._injector);
1345
1385
  };
1386
+ Overlay.decorators = [
1387
+ { type: Injectable },
1388
+ ];
1389
+ /**
1390
+ * @nocollapse
1391
+ */
1392
+ Overlay.ctorParameters = function () { return [
1393
+ { type: ScrollStrategyOptions, },
1394
+ { type: OverlayContainer, },
1395
+ { type: ComponentFactoryResolver, },
1396
+ { type: OverlayPositionBuilder, },
1397
+ { type: ApplicationRef, },
1398
+ { type: Injector, },
1399
+ { type: NgZone, },
1400
+ ]; };
1346
1401
  return Overlay;
1347
1402
  }());
1348
- Overlay.decorators = [
1349
- { type: Injectable },
1350
- ];
1403
+
1351
1404
  /**
1352
- * @nocollapse
1405
+ * The FullscreenOverlayContainer is the alternative to OverlayContainer
1406
+ * that supports correct displaying of overlay elements in Fullscreen mode
1407
+ * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen
1408
+ * It should be provided in the root component that way:
1409
+ * providers: [
1410
+ * {provide: OverlayContainer, useClass: FullscreenOverlayContainer}
1411
+ * ],
1353
1412
  */
1354
- Overlay.ctorParameters = function () { return [
1355
- { type: ScrollStrategyOptions, },
1356
- { type: OverlayContainer, },
1357
- { type: ComponentFactoryResolver, },
1358
- { type: OverlayPositionBuilder, },
1359
- { type: ApplicationRef, },
1360
- { type: Injector, },
1361
- { type: NgZone, },
1362
- ]; };
1413
+ var FullscreenOverlayContainer = (function (_super) {
1414
+ __extends(FullscreenOverlayContainer, _super);
1415
+ function FullscreenOverlayContainer() {
1416
+ return _super !== null && _super.apply(this, arguments) || this;
1417
+ }
1418
+ /**
1419
+ * @return {?}
1420
+ */
1421
+ FullscreenOverlayContainer.prototype._createContainer = function () {
1422
+ var _this = this;
1423
+ _super.prototype._createContainer.call(this);
1424
+ this._adjustParentForFullscreenChange();
1425
+ this._addFullscreenChangeListener(function () { return _this._adjustParentForFullscreenChange(); });
1426
+ };
1427
+ /**
1428
+ * @return {?}
1429
+ */
1430
+ FullscreenOverlayContainer.prototype._adjustParentForFullscreenChange = function () {
1431
+ if (!this._containerElement) {
1432
+ return;
1433
+ }
1434
+ var /** @type {?} */ fullscreenElement = this.getFullscreenElement();
1435
+ var /** @type {?} */ parent = fullscreenElement || document.body;
1436
+ parent.appendChild(this._containerElement);
1437
+ };
1438
+ /**
1439
+ * @param {?} fn
1440
+ * @return {?}
1441
+ */
1442
+ FullscreenOverlayContainer.prototype._addFullscreenChangeListener = function (fn) {
1443
+ if (document.fullscreenEnabled) {
1444
+ document.addEventListener('fullscreenchange', fn);
1445
+ }
1446
+ else if (document.webkitFullscreenEnabled) {
1447
+ document.addEventListener('webkitfullscreenchange', fn);
1448
+ }
1449
+ else if (((document)).mozFullScreenEnabled) {
1450
+ document.addEventListener('mozfullscreenchange', fn);
1451
+ }
1452
+ else if (((document)).msFullscreenEnabled) {
1453
+ document.addEventListener('MSFullscreenChange', fn);
1454
+ }
1455
+ };
1456
+ /**
1457
+ * When the page is put into fullscreen mode, a specific element is specified.
1458
+ * Only that element and its children are visible when in fullscreen mode.
1459
+ * @return {?}
1460
+ */
1461
+ FullscreenOverlayContainer.prototype.getFullscreenElement = function () {
1462
+ return document.fullscreenElement ||
1463
+ document.webkitFullscreenElement ||
1464
+ ((document)).mozFullScreenElement ||
1465
+ ((document)).msFullscreenElement ||
1466
+ null;
1467
+ };
1468
+ FullscreenOverlayContainer.decorators = [
1469
+ { type: Injectable },
1470
+ ];
1471
+ /**
1472
+ * @nocollapse
1473
+ */
1474
+ FullscreenOverlayContainer.ctorParameters = function () { return []; };
1475
+ return FullscreenOverlayContainer;
1476
+ }(OverlayContainer));
1477
+
1363
1478
  /**
1364
1479
  * Default set of positions for the overlay. Follows the behavior of a dropdown.
1365
1480
  */
@@ -1370,22 +1485,22 @@ var defaultPositionList = [
1370
1485
  /**
1371
1486
  * Injection token that determines the scroll handling while the connected overlay is open.
1372
1487
  */
1373
- var MD_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('md-connected-overlay-scroll-strategy');
1488
+ var MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('mat-connected-overlay-scroll-strategy');
1374
1489
  /**
1375
1490
  * \@docs-private
1376
1491
  * @param {?} overlay
1377
1492
  * @return {?}
1378
1493
  */
1379
- function MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
1494
+ function MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
1380
1495
  return function () { return overlay.scrollStrategies.reposition(); };
1381
1496
  }
1382
1497
  /**
1383
1498
  * \@docs-private
1384
1499
  */
1385
- var MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {
1386
- provide: MD_CONNECTED_OVERLAY_SCROLL_STRATEGY,
1500
+ var MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {
1501
+ provide: MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY,
1387
1502
  deps: [Overlay],
1388
- useFactory: MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,
1503
+ useFactory: MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,
1389
1504
  };
1390
1505
  /**
1391
1506
  * Directive applied to an element to make it usable as an origin for an Overlay using a
@@ -1398,20 +1513,20 @@ var OverlayOrigin = (function () {
1398
1513
  function OverlayOrigin(elementRef) {
1399
1514
  this.elementRef = elementRef;
1400
1515
  }
1516
+ OverlayOrigin.decorators = [
1517
+ { type: Directive, args: [{
1518
+ selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',
1519
+ exportAs: 'cdkOverlayOrigin',
1520
+ },] },
1521
+ ];
1522
+ /**
1523
+ * @nocollapse
1524
+ */
1525
+ OverlayOrigin.ctorParameters = function () { return [
1526
+ { type: ElementRef, },
1527
+ ]; };
1401
1528
  return OverlayOrigin;
1402
1529
  }());
1403
- OverlayOrigin.decorators = [
1404
- { type: Directive, args: [{
1405
- selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',
1406
- exportAs: 'cdkOverlayOrigin',
1407
- },] },
1408
- ];
1409
- /**
1410
- * @nocollapse
1411
- */
1412
- OverlayOrigin.ctorParameters = function () { return [
1413
- { type: ElementRef, },
1414
- ]; };
1415
1530
  /**
1416
1531
  * Directive to facilitate declarative creation of an Overlay using a ConnectedPositionStrategy.
1417
1532
  */
@@ -1795,7 +1910,7 @@ var ConnectedOverlayDirective = (function () {
1795
1910
  this._createOverlay();
1796
1911
  }
1797
1912
  this._position.withDirection(this.dir);
1798
- this._overlayRef.getState().direction = this.dir;
1913
+ this._overlayRef.getConfig().direction = this.dir;
1799
1914
  this._initEscapeListener();
1800
1915
  if (!this._overlayRef.hasAttached()) {
1801
1916
  this._overlayRef.attach(this._templatePortal);
@@ -1843,154 +1958,84 @@ var ConnectedOverlayDirective = (function () {
1843
1958
  }
1844
1959
  });
1845
1960
  };
1961
+ ConnectedOverlayDirective.decorators = [
1962
+ { type: Directive, args: [{
1963
+ selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',
1964
+ exportAs: 'cdkConnectedOverlay'
1965
+ },] },
1966
+ ];
1967
+ /**
1968
+ * @nocollapse
1969
+ */
1970
+ ConnectedOverlayDirective.ctorParameters = function () { return [
1971
+ { type: Overlay, },
1972
+ { type: Renderer2, },
1973
+ { type: TemplateRef, },
1974
+ { type: ViewContainerRef, },
1975
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY,] },] },
1976
+ { type: Directionality, decorators: [{ type: Optional },] },
1977
+ ]; };
1978
+ ConnectedOverlayDirective.propDecorators = {
1979
+ 'origin': [{ type: Input, args: ['cdkConnectedOverlayOrigin',] },],
1980
+ 'positions': [{ type: Input, args: ['cdkConnectedOverlayPositions',] },],
1981
+ 'offsetX': [{ type: Input, args: ['cdkConnectedOverlayOffsetX',] },],
1982
+ 'offsetY': [{ type: Input, args: ['cdkConnectedOverlayOffsetY',] },],
1983
+ 'width': [{ type: Input, args: ['cdkConnectedOverlayWidth',] },],
1984
+ 'height': [{ type: Input, args: ['cdkConnectedOverlayHeight',] },],
1985
+ 'minWidth': [{ type: Input, args: ['cdkConnectedOverlayMinWidth',] },],
1986
+ 'minHeight': [{ type: Input, args: ['cdkConnectedOverlayMinHeight',] },],
1987
+ 'backdropClass': [{ type: Input, args: ['cdkConnectedOverlayBackdropClass',] },],
1988
+ 'scrollStrategy': [{ type: Input, args: ['cdkConnectedOverlayScrollStrategy',] },],
1989
+ 'open': [{ type: Input, args: ['cdkConnectedOverlayOpen',] },],
1990
+ 'hasBackdrop': [{ type: Input, args: ['cdkConnectedOverlayHasBackdrop',] },],
1991
+ '_deprecatedOrigin': [{ type: Input, args: ['origin',] },],
1992
+ '_deprecatedPositions': [{ type: Input, args: ['positions',] },],
1993
+ '_deprecatedOffsetX': [{ type: Input, args: ['offsetX',] },],
1994
+ '_deprecatedOffsetY': [{ type: Input, args: ['offsetY',] },],
1995
+ '_deprecatedWidth': [{ type: Input, args: ['width',] },],
1996
+ '_deprecatedHeight': [{ type: Input, args: ['height',] },],
1997
+ '_deprecatedMinWidth': [{ type: Input, args: ['minWidth',] },],
1998
+ '_deprecatedMinHeight': [{ type: Input, args: ['minHeight',] },],
1999
+ '_deprecatedBackdropClass': [{ type: Input, args: ['backdropClass',] },],
2000
+ '_deprecatedScrollStrategy': [{ type: Input, args: ['scrollStrategy',] },],
2001
+ '_deprecatedOpen': [{ type: Input, args: ['open',] },],
2002
+ '_deprecatedHasBackdrop': [{ type: Input, args: ['hasBackdrop',] },],
2003
+ 'backdropClick': [{ type: Output },],
2004
+ 'positionChange': [{ type: Output },],
2005
+ 'attach': [{ type: Output },],
2006
+ 'detach': [{ type: Output },],
2007
+ };
1846
2008
  return ConnectedOverlayDirective;
1847
2009
  }());
1848
- ConnectedOverlayDirective.decorators = [
1849
- { type: Directive, args: [{
1850
- selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',
1851
- exportAs: 'cdkConnectedOverlay'
1852
- },] },
1853
- ];
1854
- /**
1855
- * @nocollapse
1856
- */
1857
- ConnectedOverlayDirective.ctorParameters = function () { return [
1858
- { type: Overlay, },
1859
- { type: Renderer2, },
1860
- { type: TemplateRef, },
1861
- { type: ViewContainerRef, },
1862
- { type: undefined, decorators: [{ type: Inject, args: [MD_CONNECTED_OVERLAY_SCROLL_STRATEGY,] },] },
1863
- { type: Directionality, decorators: [{ type: Optional },] },
1864
- ]; };
1865
- ConnectedOverlayDirective.propDecorators = {
1866
- 'origin': [{ type: Input, args: ['cdkConnectedOverlayOrigin',] },],
1867
- 'positions': [{ type: Input, args: ['cdkConnectedOverlayPositions',] },],
1868
- 'offsetX': [{ type: Input, args: ['cdkConnectedOverlayOffsetX',] },],
1869
- 'offsetY': [{ type: Input, args: ['cdkConnectedOverlayOffsetY',] },],
1870
- 'width': [{ type: Input, args: ['cdkConnectedOverlayWidth',] },],
1871
- 'height': [{ type: Input, args: ['cdkConnectedOverlayHeight',] },],
1872
- 'minWidth': [{ type: Input, args: ['cdkConnectedOverlayMinWidth',] },],
1873
- 'minHeight': [{ type: Input, args: ['cdkConnectedOverlayMinHeight',] },],
1874
- 'backdropClass': [{ type: Input, args: ['cdkConnectedOverlayBackdropClass',] },],
1875
- 'scrollStrategy': [{ type: Input, args: ['cdkConnectedOverlayScrollStrategy',] },],
1876
- 'open': [{ type: Input, args: ['cdkConnectedOverlayOpen',] },],
1877
- 'hasBackdrop': [{ type: Input, args: ['cdkConnectedOverlayHasBackdrop',] },],
1878
- '_deprecatedOrigin': [{ type: Input, args: ['origin',] },],
1879
- '_deprecatedPositions': [{ type: Input, args: ['positions',] },],
1880
- '_deprecatedOffsetX': [{ type: Input, args: ['offsetX',] },],
1881
- '_deprecatedOffsetY': [{ type: Input, args: ['offsetY',] },],
1882
- '_deprecatedWidth': [{ type: Input, args: ['width',] },],
1883
- '_deprecatedHeight': [{ type: Input, args: ['height',] },],
1884
- '_deprecatedMinWidth': [{ type: Input, args: ['minWidth',] },],
1885
- '_deprecatedMinHeight': [{ type: Input, args: ['minHeight',] },],
1886
- '_deprecatedBackdropClass': [{ type: Input, args: ['backdropClass',] },],
1887
- '_deprecatedScrollStrategy': [{ type: Input, args: ['scrollStrategy',] },],
1888
- '_deprecatedOpen': [{ type: Input, args: ['open',] },],
1889
- '_deprecatedHasBackdrop': [{ type: Input, args: ['hasBackdrop',] },],
1890
- 'backdropClick': [{ type: Output },],
1891
- 'positionChange': [{ type: Output },],
1892
- 'attach': [{ type: Output },],
1893
- 'detach': [{ type: Output },],
1894
- };
1895
- /**
1896
- * The FullscreenOverlayContainer is the alternative to OverlayContainer
1897
- * that supports correct displaying of overlay elements in Fullscreen mode
1898
- * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen
1899
- * It should be provided in the root component that way:
1900
- * providers: [
1901
- * {provide: OverlayContainer, useClass: FullscreenOverlayContainer}
1902
- * ],
1903
- */
1904
- var FullscreenOverlayContainer = (function (_super) {
1905
- tslib_1.__extends(FullscreenOverlayContainer, _super);
1906
- function FullscreenOverlayContainer() {
1907
- return _super !== null && _super.apply(this, arguments) || this;
1908
- }
1909
- /**
1910
- * @return {?}
1911
- */
1912
- FullscreenOverlayContainer.prototype._createContainer = function () {
1913
- var _this = this;
1914
- _super.prototype._createContainer.call(this);
1915
- this._adjustParentForFullscreenChange();
1916
- this._addFullscreenChangeListener(function () { return _this._adjustParentForFullscreenChange(); });
1917
- };
1918
- /**
1919
- * @return {?}
1920
- */
1921
- FullscreenOverlayContainer.prototype._adjustParentForFullscreenChange = function () {
1922
- if (!this._containerElement) {
1923
- return;
1924
- }
1925
- var /** @type {?} */ fullscreenElement = this.getFullscreenElement();
1926
- var /** @type {?} */ parent = fullscreenElement || document.body;
1927
- parent.appendChild(this._containerElement);
1928
- };
1929
- /**
1930
- * @param {?} fn
1931
- * @return {?}
1932
- */
1933
- FullscreenOverlayContainer.prototype._addFullscreenChangeListener = function (fn) {
1934
- if (document.fullscreenEnabled) {
1935
- document.addEventListener('fullscreenchange', fn);
1936
- }
1937
- else if (document.webkitFullscreenEnabled) {
1938
- document.addEventListener('webkitfullscreenchange', fn);
1939
- }
1940
- else if (((document)).mozFullScreenEnabled) {
1941
- document.addEventListener('mozfullscreenchange', fn);
1942
- }
1943
- else if (((document)).msFullscreenEnabled) {
1944
- document.addEventListener('MSFullscreenChange', fn);
1945
- }
1946
- };
1947
- /**
1948
- * When the page is put into fullscreen mode, a specific element is specified.
1949
- * Only that element and its children are visible when in fullscreen mode.
1950
- * @return {?}
1951
- */
1952
- FullscreenOverlayContainer.prototype.getFullscreenElement = function () {
1953
- return document.fullscreenElement ||
1954
- document.webkitFullscreenElement ||
1955
- ((document)).mozFullScreenElement ||
1956
- ((document)).msFullscreenElement ||
1957
- null;
1958
- };
1959
- return FullscreenOverlayContainer;
1960
- }(OverlayContainer));
1961
- FullscreenOverlayContainer.decorators = [
1962
- { type: Injectable },
1963
- ];
1964
- /**
1965
- * @nocollapse
1966
- */
1967
- FullscreenOverlayContainer.ctorParameters = function () { return []; };
2010
+
1968
2011
  var OVERLAY_PROVIDERS = [
1969
2012
  Overlay,
1970
2013
  OverlayPositionBuilder,
1971
2014
  VIEWPORT_RULER_PROVIDER,
1972
2015
  OVERLAY_CONTAINER_PROVIDER,
1973
- MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,
2016
+ MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,
1974
2017
  ];
1975
2018
  var OverlayModule = (function () {
1976
2019
  function OverlayModule() {
1977
2020
  }
2021
+ OverlayModule.decorators = [
2022
+ { type: NgModule, args: [{
2023
+ imports: [PortalModule, ScrollDispatchModule],
2024
+ exports: [ConnectedOverlayDirective, OverlayOrigin, ScrollDispatchModule],
2025
+ declarations: [ConnectedOverlayDirective, OverlayOrigin],
2026
+ providers: [OVERLAY_PROVIDERS, ScrollStrategyOptions],
2027
+ },] },
2028
+ ];
2029
+ /**
2030
+ * @nocollapse
2031
+ */
2032
+ OverlayModule.ctorParameters = function () { return []; };
1978
2033
  return OverlayModule;
1979
2034
  }());
1980
- OverlayModule.decorators = [
1981
- { type: NgModule, args: [{
1982
- imports: [PortalModule, ScrollDispatchModule],
1983
- exports: [ConnectedOverlayDirective, OverlayOrigin, ScrollDispatchModule],
1984
- declarations: [ConnectedOverlayDirective, OverlayOrigin],
1985
- providers: [OVERLAY_PROVIDERS, ScrollStrategyOptions],
1986
- },] },
1987
- ];
1988
- /**
1989
- * @nocollapse
1990
- */
1991
- OverlayModule.ctorParameters = function () { return []; };
2035
+
1992
2036
  /**
1993
2037
  * Generated bundle index. Do not edit.
1994
2038
  */
1995
- export { OVERLAY_PROVIDERS, OverlayModule, Overlay, OverlayContainer, FullscreenOverlayContainer, OverlayRef, ConnectedOverlayDirective, OverlayOrigin, ViewportRuler, GlobalPositionStrategy, ConnectedPositionStrategy, VIEWPORT_RULER_PROVIDER, OverlayConfig, ConnectionPositionPair, ScrollingVisibility, ConnectedOverlayPositionChange, Scrollable, ScrollDispatcher, ScrollStrategyOptions, RepositionScrollStrategy, CloseScrollStrategy, NoopScrollStrategy, BlockScrollStrategy, OVERLAY_CONTAINER_PROVIDER as ɵb, OVERLAY_CONTAINER_PROVIDER_FACTORY as ɵa, MD_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵc, MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵe, MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵd, OverlayPositionBuilder as ɵf };
2039
+
2040
+ export { Overlay, OverlayContainer, FullscreenOverlayContainer, OverlayRef, ConnectedOverlayDirective, OverlayOrigin, ViewportRuler, GlobalPositionStrategy, ConnectedPositionStrategy, VIEWPORT_RULER_PROVIDER, OverlayConfig, ConnectionPositionPair, ScrollingVisibility, ConnectedOverlayPositionChange, Scrollable, ScrollDispatcher, ScrollStrategyOptions, RepositionScrollStrategy, CloseScrollStrategy, NoopScrollStrategy, BlockScrollStrategy, OVERLAY_PROVIDERS, OverlayModule, OVERLAY_CONTAINER_PROVIDER as ɵb, OVERLAY_CONTAINER_PROVIDER_FACTORY as ɵa, MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵc, MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵe, MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵd, OverlayPositionBuilder as ɵf };
1996
2041
  //# sourceMappingURL=overlay.es5.js.map