@angular/cdk 7.1.0 → 7.2.2

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 (267) hide show
  1. package/LICENSE +1 -1
  2. package/_a11y.scss +1 -1
  3. package/a11y/typings/focus-monitor/focus-monitor.d.ts +20 -5
  4. package/a11y/typings/focus-trap/focus-trap.d.ts +2 -0
  5. package/a11y/typings/index.metadata.json +1 -1
  6. package/bundles/cdk-a11y.umd.js +428 -197
  7. package/bundles/cdk-a11y.umd.js.map +1 -1
  8. package/bundles/cdk-a11y.umd.min.js +1 -1
  9. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  10. package/bundles/cdk-accordion.umd.js +16 -9
  11. package/bundles/cdk-accordion.umd.js.map +1 -1
  12. package/bundles/cdk-accordion.umd.min.js.map +1 -1
  13. package/bundles/cdk-bidi.umd.js +11 -6
  14. package/bundles/cdk-bidi.umd.js.map +1 -1
  15. package/bundles/cdk-bidi.umd.min.js.map +1 -1
  16. package/bundles/cdk-coercion.umd.js +25 -9
  17. package/bundles/cdk-coercion.umd.js.map +1 -1
  18. package/bundles/cdk-coercion.umd.min.js +1 -1
  19. package/bundles/cdk-coercion.umd.min.js.map +1 -1
  20. package/bundles/cdk-collections.umd.js +28 -5
  21. package/bundles/cdk-collections.umd.js.map +1 -1
  22. package/bundles/cdk-collections.umd.min.js.map +1 -1
  23. package/bundles/cdk-drag-drop.umd.js +2297 -973
  24. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  25. package/bundles/cdk-drag-drop.umd.min.js +2 -1
  26. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  27. package/bundles/cdk-keycodes.umd.js +12 -2
  28. package/bundles/cdk-keycodes.umd.js.map +1 -1
  29. package/bundles/cdk-layout.umd.js +29 -22
  30. package/bundles/cdk-layout.umd.js.map +1 -1
  31. package/bundles/cdk-layout.umd.min.js +1 -1
  32. package/bundles/cdk-layout.umd.min.js.map +1 -1
  33. package/bundles/cdk-observers.umd.js +27 -8
  34. package/bundles/cdk-observers.umd.js.map +1 -1
  35. package/bundles/cdk-observers.umd.min.js +1 -1
  36. package/bundles/cdk-observers.umd.min.js.map +1 -1
  37. package/bundles/cdk-overlay.umd.js +586 -240
  38. package/bundles/cdk-overlay.umd.js.map +1 -1
  39. package/bundles/cdk-overlay.umd.min.js +2 -2
  40. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  41. package/bundles/cdk-platform.umd.js +50 -28
  42. package/bundles/cdk-platform.umd.js.map +1 -1
  43. package/bundles/cdk-platform.umd.min.js.map +1 -1
  44. package/bundles/cdk-portal.umd.js +17 -10
  45. package/bundles/cdk-portal.umd.js.map +1 -1
  46. package/bundles/cdk-portal.umd.min.js.map +1 -1
  47. package/bundles/cdk-scrolling.umd.js +148 -50
  48. package/bundles/cdk-scrolling.umd.js.map +1 -1
  49. package/bundles/cdk-scrolling.umd.min.js +1 -1
  50. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  51. package/bundles/cdk-stepper.umd.js +69 -27
  52. package/bundles/cdk-stepper.umd.js.map +1 -1
  53. package/bundles/cdk-stepper.umd.min.js +1 -1
  54. package/bundles/cdk-stepper.umd.min.js.map +1 -1
  55. package/bundles/cdk-table.umd.js +189 -51
  56. package/bundles/cdk-table.umd.js.map +1 -1
  57. package/bundles/cdk-table.umd.min.js +1 -1
  58. package/bundles/cdk-table.umd.min.js.map +1 -1
  59. package/bundles/cdk-text-field.umd.js +76 -38
  60. package/bundles/cdk-text-field.umd.js.map +1 -1
  61. package/bundles/cdk-text-field.umd.min.js +1 -1
  62. package/bundles/cdk-text-field.umd.min.js.map +1 -1
  63. package/bundles/cdk-tree.umd.js +71 -34
  64. package/bundles/cdk-tree.umd.js.map +1 -1
  65. package/bundles/cdk-tree.umd.min.js +1 -1
  66. package/bundles/cdk-tree.umd.min.js.map +1 -1
  67. package/bundles/cdk.umd.js +5 -4
  68. package/bundles/cdk.umd.js.map +1 -1
  69. package/bundles/cdk.umd.min.js +1 -1
  70. package/bundles/cdk.umd.min.js.map +1 -1
  71. package/coercion/typings/element.d.ts +13 -0
  72. package/coercion/typings/index.metadata.json +1 -1
  73. package/coercion/typings/public-api.d.ts +1 -0
  74. package/drag-drop/typings/{drag-handle.d.ts → directives/drag-handle.d.ts} +6 -2
  75. package/drag-drop/typings/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
  76. package/drag-drop/typings/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
  77. package/drag-drop/typings/directives/drag.d.ts +110 -0
  78. package/{typings/esm5/drag-drop → drag-drop/typings/directives}/drop-list-group.d.ts +3 -0
  79. package/drag-drop/typings/{drop-list.d.ts → directives/drop-list.d.ts} +32 -72
  80. package/drag-drop/typings/drag-drop-registry.d.ts +8 -3
  81. package/drag-drop/typings/drag-events.d.ts +14 -7
  82. package/{typings/esm5/drag-drop/drag.d.ts → drag-drop/typings/drag-ref.d.ts} +152 -83
  83. package/drag-drop/typings/drop-list-container.d.ts +19 -3
  84. package/drag-drop/typings/drop-list-ref.d.ts +234 -0
  85. package/drag-drop/typings/index.d.ts +1 -0
  86. package/drag-drop/typings/index.metadata.json +1 -1
  87. package/drag-drop/typings/public-api.d.ts +13 -6
  88. package/esm2015/a11y.js +306 -182
  89. package/esm2015/a11y.js.map +1 -1
  90. package/esm2015/accordion.js +16 -11
  91. package/esm2015/accordion.js.map +1 -1
  92. package/esm2015/bidi.js +13 -8
  93. package/esm2015/bidi.js.map +1 -1
  94. package/esm2015/cdk.js +7 -6
  95. package/esm2015/cdk.js.map +1 -1
  96. package/esm2015/coercion.js +25 -8
  97. package/esm2015/coercion.js.map +1 -1
  98. package/esm2015/collections.js +22 -7
  99. package/esm2015/collections.js.map +1 -1
  100. package/esm2015/drag-drop.js +1774 -864
  101. package/esm2015/drag-drop.js.map +1 -1
  102. package/esm2015/keycodes.js +14 -4
  103. package/esm2015/keycodes.js.map +1 -1
  104. package/esm2015/layout.js +29 -19
  105. package/esm2015/layout.js.map +1 -1
  106. package/esm2015/observers.js +16 -11
  107. package/esm2015/observers.js.map +1 -1
  108. package/esm2015/overlay.js +373 -213
  109. package/esm2015/overlay.js.map +1 -1
  110. package/esm2015/platform.js +53 -31
  111. package/esm2015/platform.js.map +1 -1
  112. package/esm2015/portal.js +14 -10
  113. package/esm2015/portal.js.map +1 -1
  114. package/esm2015/scrolling.js +111 -51
  115. package/esm2015/scrolling.js.map +1 -1
  116. package/esm2015/stepper.js +56 -30
  117. package/esm2015/stepper.js.map +1 -1
  118. package/esm2015/table.js +96 -48
  119. package/esm2015/table.js.map +1 -1
  120. package/esm2015/text-field.js +54 -37
  121. package/esm2015/text-field.js.map +1 -1
  122. package/esm2015/tree.js +55 -36
  123. package/esm2015/tree.js.map +1 -1
  124. package/esm5/a11y.es5.js +432 -201
  125. package/esm5/a11y.es5.js.map +1 -1
  126. package/esm5/accordion.es5.js +18 -11
  127. package/esm5/accordion.es5.js.map +1 -1
  128. package/esm5/bidi.es5.js +13 -8
  129. package/esm5/bidi.es5.js.map +1 -1
  130. package/esm5/cdk.es5.js +7 -6
  131. package/esm5/cdk.es5.js.map +1 -1
  132. package/esm5/coercion.es5.js +25 -8
  133. package/esm5/coercion.es5.js.map +1 -1
  134. package/esm5/collections.es5.js +35 -7
  135. package/esm5/collections.es5.js.map +1 -1
  136. package/esm5/drag-drop.es5.js +2358 -1035
  137. package/esm5/drag-drop.es5.js.map +1 -1
  138. package/esm5/keycodes.es5.js +14 -4
  139. package/esm5/keycodes.es5.js.map +1 -1
  140. package/esm5/layout.es5.js +31 -24
  141. package/esm5/layout.es5.js.map +1 -1
  142. package/esm5/observers.es5.js +30 -11
  143. package/esm5/observers.es5.js.map +1 -1
  144. package/esm5/overlay.es5.js +590 -244
  145. package/esm5/overlay.es5.js.map +1 -1
  146. package/esm5/platform.es5.js +52 -30
  147. package/esm5/platform.es5.js.map +1 -1
  148. package/esm5/portal.es5.js +19 -12
  149. package/esm5/portal.es5.js.map +1 -1
  150. package/esm5/scrolling.es5.js +150 -52
  151. package/esm5/scrolling.es5.js.map +1 -1
  152. package/esm5/stepper.es5.js +71 -30
  153. package/esm5/stepper.es5.js.map +1 -1
  154. package/esm5/table.es5.js +191 -53
  155. package/esm5/table.es5.js.map +1 -1
  156. package/esm5/text-field.es5.js +75 -37
  157. package/esm5/text-field.es5.js.map +1 -1
  158. package/esm5/tree.es5.js +74 -37
  159. package/esm5/tree.es5.js.map +1 -1
  160. package/overlay/typings/index.metadata.json +1 -1
  161. package/overlay/typings/overlay-directives.d.ts +0 -2
  162. package/overlay/typings/overlay-ref.d.ts +1 -1
  163. package/package.json +4 -4
  164. package/portal/typings/portal.d.ts +1 -1
  165. package/schematics/migration.json +5 -0
  166. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  167. package/schematics/ng-update/index.d.ts +2 -0
  168. package/schematics/ng-update/index.js +5 -0
  169. package/schematics/ng-update/index.js.map +1 -1
  170. package/schematics/ng-update/target-version.d.ts +7 -1
  171. package/schematics/ng-update/target-version.js +10 -0
  172. package/schematics/ng-update/target-version.js.map +1 -1
  173. package/schematics/ng-update/upgrade-data.js +2 -1
  174. package/schematics/ng-update/upgrade-data.js.map +1 -1
  175. package/schematics/ng-update/upgrade-rules/index.js +3 -2
  176. package/schematics/ng-update/upgrade-rules/index.js.map +1 -1
  177. package/schematics/utils/ast/ng-module-imports.d.ts +1 -1
  178. package/schematics/utils/ast/ng-module-imports.js +25 -13
  179. package/schematics/utils/ast/ng-module-imports.js.map +1 -1
  180. package/schematics/utils/get-project.js +2 -1
  181. package/schematics/utils/get-project.js.map +1 -1
  182. package/schematics/utils/parse5-element.js +3 -2
  183. package/schematics/utils/parse5-element.js.map +1 -1
  184. package/schematics/utils/project-targets.js +2 -1
  185. package/schematics/utils/project-targets.js.map +1 -1
  186. package/schematics/utils/version-agnostic-typescript.js +3 -2
  187. package/schematics/utils/version-agnostic-typescript.js.map +1 -1
  188. package/scrolling/typings/index.metadata.json +1 -1
  189. package/stepper/typings/index.metadata.json +1 -1
  190. package/stepper/typings/stepper.d.ts +13 -1
  191. package/text-field/typings/autosize.d.ts +6 -0
  192. package/text-field/typings/index.metadata.json +1 -1
  193. package/tree/typings/control/base-tree-control.d.ts +1 -1
  194. package/tree/typings/control/nested-tree-control.d.ts +2 -2
  195. package/tree/typings/control/tree-control.d.ts +1 -1
  196. package/tree/typings/nested-node.d.ts +5 -5
  197. package/typings/a11y/focus-monitor/focus-monitor.d.ts +20 -5
  198. package/typings/a11y/focus-trap/focus-trap.d.ts +2 -0
  199. package/typings/a11y/index.metadata.json +1 -1
  200. package/typings/coercion/element.d.ts +13 -0
  201. package/typings/coercion/index.metadata.json +1 -1
  202. package/typings/coercion/public-api.d.ts +1 -0
  203. package/typings/drag-drop/{drag-handle.d.ts → directives/drag-handle.d.ts} +6 -2
  204. package/typings/drag-drop/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
  205. package/typings/drag-drop/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
  206. package/typings/drag-drop/directives/drag.d.ts +110 -0
  207. package/typings/drag-drop/{drop-list-group.d.ts → directives/drop-list-group.d.ts} +3 -0
  208. package/typings/{esm5/drag-drop → drag-drop/directives}/drop-list.d.ts +32 -72
  209. package/typings/drag-drop/drag-drop-registry.d.ts +8 -3
  210. package/typings/drag-drop/drag-events.d.ts +14 -7
  211. package/typings/drag-drop/{drag.d.ts → drag-ref.d.ts} +152 -83
  212. package/typings/drag-drop/drop-list-container.d.ts +19 -3
  213. package/typings/drag-drop/drop-list-ref.d.ts +234 -0
  214. package/typings/drag-drop/index.d.ts +1 -0
  215. package/typings/drag-drop/index.metadata.json +1 -1
  216. package/typings/drag-drop/public-api.d.ts +13 -6
  217. package/typings/esm5/a11y/focus-monitor/focus-monitor.d.ts +20 -5
  218. package/typings/esm5/a11y/focus-trap/focus-trap.d.ts +2 -0
  219. package/typings/esm5/a11y/index.metadata.json +1 -1
  220. package/typings/esm5/coercion/element.d.ts +13 -0
  221. package/typings/esm5/coercion/index.metadata.json +1 -1
  222. package/typings/esm5/coercion/public-api.d.ts +1 -0
  223. package/typings/esm5/drag-drop/{drag-handle.d.ts → directives/drag-handle.d.ts} +6 -2
  224. package/typings/esm5/drag-drop/{drag-placeholder.d.ts → directives/drag-placeholder.d.ts} +0 -0
  225. package/typings/esm5/drag-drop/{drag-preview.d.ts → directives/drag-preview.d.ts} +0 -0
  226. package/typings/esm5/drag-drop/directives/drag.d.ts +110 -0
  227. package/{drag-drop/typings → typings/esm5/drag-drop/directives}/drop-list-group.d.ts +3 -0
  228. package/typings/{drag-drop → esm5/drag-drop/directives}/drop-list.d.ts +32 -72
  229. package/typings/esm5/drag-drop/drag-drop-registry.d.ts +8 -3
  230. package/typings/esm5/drag-drop/drag-events.d.ts +14 -7
  231. package/{drag-drop/typings/drag.d.ts → typings/esm5/drag-drop/drag-ref.d.ts} +152 -83
  232. package/typings/esm5/drag-drop/drop-list-container.d.ts +19 -3
  233. package/typings/esm5/drag-drop/drop-list-ref.d.ts +234 -0
  234. package/typings/esm5/drag-drop/index.d.ts +1 -0
  235. package/typings/esm5/drag-drop/index.metadata.json +1 -1
  236. package/typings/esm5/drag-drop/public-api.d.ts +13 -6
  237. package/typings/esm5/index.metadata.json +1 -1
  238. package/typings/esm5/overlay/index.metadata.json +1 -1
  239. package/typings/esm5/overlay/overlay-directives.d.ts +0 -2
  240. package/typings/esm5/overlay/overlay-ref.d.ts +1 -1
  241. package/typings/esm5/portal/portal.d.ts +1 -1
  242. package/typings/esm5/scrolling/index.metadata.json +1 -1
  243. package/typings/esm5/stepper/index.metadata.json +1 -1
  244. package/typings/esm5/stepper/stepper.d.ts +13 -1
  245. package/typings/esm5/text-field/autosize.d.ts +6 -0
  246. package/typings/esm5/text-field/index.metadata.json +1 -1
  247. package/typings/esm5/tree/control/base-tree-control.d.ts +1 -1
  248. package/typings/esm5/tree/control/nested-tree-control.d.ts +2 -2
  249. package/typings/esm5/tree/control/tree-control.d.ts +1 -1
  250. package/typings/esm5/tree/nested-node.d.ts +5 -5
  251. package/typings/index.metadata.json +1 -1
  252. package/typings/overlay/index.metadata.json +1 -1
  253. package/typings/overlay/overlay-directives.d.ts +0 -2
  254. package/typings/overlay/overlay-ref.d.ts +1 -1
  255. package/typings/portal/portal.d.ts +1 -1
  256. package/typings/schematics/ng-update/index.d.ts +2 -0
  257. package/typings/schematics/ng-update/target-version.d.ts +7 -1
  258. package/typings/schematics/utils/ast/ng-module-imports.d.ts +1 -1
  259. package/typings/scrolling/index.metadata.json +1 -1
  260. package/typings/stepper/index.metadata.json +1 -1
  261. package/typings/stepper/stepper.d.ts +13 -1
  262. package/typings/text-field/autosize.d.ts +6 -0
  263. package/typings/text-field/index.metadata.json +1 -1
  264. package/typings/tree/control/base-tree-control.d.ts +1 -1
  265. package/typings/tree/control/nested-tree-control.d.ts +2 -2
  266. package/typings/tree/control/tree-control.d.ts +1 -1
  267. package/typings/tree/nested-node.d.ts +5 -5
@@ -7,7 +7,7 @@
7
7
  */
8
8
  /**
9
9
  * @fileoverview added by tsickle
10
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
10
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11
11
  */
12
12
 
13
13
  /** @type {?} */
@@ -80,8 +80,10 @@ var EIGHT = 56;
80
80
  var NINE = 57;
81
81
  /** @type {?} */
82
82
  var FF_SEMICOLON = 59;
83
+ // Firefox (Gecko) fires this for semicolon instead of 186
83
84
  /** @type {?} */
84
85
  var FF_EQUALS = 61;
86
+ // Firefox (Gecko) fires this for equals instead of 187
85
87
  /** @type {?} */
86
88
  var QUESTION_MARK = 63;
87
89
  /** @type {?} */
@@ -140,6 +142,7 @@ var Y = 89;
140
142
  var Z = 90;
141
143
  /** @type {?} */
142
144
  var META = 91;
145
+ // WIN_KEY_LEFT
143
146
  /** @type {?} */
144
147
  var MAC_WK_CMD_LEFT = 91;
145
148
  /** @type {?} */
@@ -210,10 +213,13 @@ var FIRST_MEDIA = 166;
210
213
  var FF_MINUS = 173;
211
214
  /** @type {?} */
212
215
  var MUTE = 173;
216
+ // Firefox (Gecko) fires 181 for MUTE
213
217
  /** @type {?} */
214
218
  var VOLUME_DOWN = 174;
219
+ // Firefox (Gecko) fires 182 for VOLUME_DOWN
215
220
  /** @type {?} */
216
221
  var VOLUME_UP = 175;
222
+ // Firefox (Gecko) fires 183 for VOLUME_UP
217
223
  /** @type {?} */
218
224
  var FF_MUTE = 181;
219
225
  /** @type {?} */
@@ -224,12 +230,15 @@ var LAST_MEDIA = 183;
224
230
  var FF_VOLUME_UP = 183;
225
231
  /** @type {?} */
226
232
  var SEMICOLON = 186;
233
+ // Firefox (Gecko) fires 59 for SEMICOLON
227
234
  /** @type {?} */
228
235
  var EQUALS = 187;
236
+ // Firefox (Gecko) fires 61 for EQUALS
229
237
  /** @type {?} */
230
238
  var COMMA = 188;
231
239
  /** @type {?} */
232
240
  var DASH = 189;
241
+ // Firefox (Gecko) fires 173 for DASH/MINUS
233
242
  /** @type {?} */
234
243
  var SLASH = 191;
235
244
  /** @type {?} */
@@ -249,8 +258,9 @@ var MAC_META = 224;
249
258
 
250
259
  /**
251
260
  * @fileoverview added by tsickle
252
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
261
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
253
262
  */
263
+
254
264
  /**
255
265
  * Checks whether a modifier key is pressed.
256
266
  * @param {?} event Event to be checked.
@@ -270,12 +280,12 @@ function hasModifierKey(event) {
270
280
 
271
281
  /**
272
282
  * @fileoverview added by tsickle
273
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
283
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
274
284
  */
275
285
 
276
286
  /**
277
287
  * @fileoverview added by tsickle
278
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
288
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
279
289
  */
280
290
 
281
291
  export { MAC_ENTER, BACKSPACE, TAB, NUM_CENTER, ENTER, SHIFT, CONTROL, ALT, PAUSE, CAPS_LOCK, ESCAPE, SPACE, PAGE_UP, PAGE_DOWN, END, HOME, LEFT_ARROW, UP_ARROW, RIGHT_ARROW, DOWN_ARROW, PLUS_SIGN, PRINT_SCREEN, INSERT, DELETE, ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, FF_SEMICOLON, FF_EQUALS, QUESTION_MARK, AT_SIGN, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, CONTEXT_MENU, NUMPAD_ZERO, NUMPAD_ONE, NUMPAD_TWO, NUMPAD_THREE, NUMPAD_FOUR, NUMPAD_FIVE, NUMPAD_SIX, NUMPAD_SEVEN, NUMPAD_EIGHT, NUMPAD_NINE, NUMPAD_MULTIPLY, NUMPAD_PLUS, NUMPAD_MINUS, NUMPAD_PERIOD, NUMPAD_DIVIDE, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, NUM_LOCK, SCROLL_LOCK, FIRST_MEDIA, FF_MINUS, MUTE, VOLUME_DOWN, VOLUME_UP, FF_MUTE, FF_VOLUME_DOWN, LAST_MEDIA, FF_VOLUME_UP, SEMICOLON, EQUALS, COMMA, DASH, SLASH, APOSTROPHE, TILDE, OPEN_SQUARE_BRACKET, BACKSLASH, CLOSE_SQUARE_BRACKET, SINGLE_QUOTE, MAC_META, hasModifierKey };
@@ -1 +1 @@
1
- {"version":3,"file":"keycodes.es5.js","sources":["../../../src/cdk/keycodes/modifiers.ts","../../../src/cdk/keycodes/keycodes.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\ntype ModifierKey = 'altKey' | 'shiftKey' | 'ctrlKey' | 'metaKey';\n\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nexport function hasModifierKey(event: KeyboardEvent, ...modifiers: ModifierKey[]): boolean {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const MAC_ENTER = 3;\nexport const BACKSPACE = 8;\nexport const TAB = 9;\nexport const NUM_CENTER = 12;\nexport const ENTER = 13;\nexport const SHIFT = 16;\nexport const CONTROL = 17;\nexport const ALT = 18;\nexport const PAUSE = 19;\nexport const CAPS_LOCK = 20;\nexport const ESCAPE = 27;\nexport const SPACE = 32;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const END = 35;\nexport const HOME = 36;\nexport const LEFT_ARROW = 37;\nexport const UP_ARROW = 38;\nexport const RIGHT_ARROW = 39;\nexport const DOWN_ARROW = 40;\nexport const PLUS_SIGN = 43;\nexport const PRINT_SCREEN = 44;\nexport const INSERT = 45;\nexport const DELETE = 46;\nexport const ZERO = 48;\nexport const ONE = 49;\nexport const TWO = 50;\nexport const THREE = 51;\nexport const FOUR = 52;\nexport const FIVE = 53;\nexport const SIX = 54;\nexport const SEVEN = 55;\nexport const EIGHT = 56;\nexport const NINE = 57;\nexport const FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nexport const FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nexport const QUESTION_MARK = 63;\nexport const AT_SIGN = 64;\nexport const A = 65;\nexport const B = 66;\nexport const C = 67;\nexport const D = 68;\nexport const E = 69;\nexport const F = 70;\nexport const G = 71;\nexport const H = 72;\nexport const I = 73;\nexport const J = 74;\nexport const K = 75;\nexport const L = 76;\nexport const M = 77;\nexport const N = 78;\nexport const O = 79;\nexport const P = 80;\nexport const Q = 81;\nexport const R = 82;\nexport const S = 83;\nexport const T = 84;\nexport const U = 85;\nexport const V = 86;\nexport const W = 87;\nexport const X = 88;\nexport const Y = 89;\nexport const Z = 90;\nexport const META = 91; // WIN_KEY_LEFT\nexport const MAC_WK_CMD_LEFT = 91;\nexport const MAC_WK_CMD_RIGHT = 93;\nexport const CONTEXT_MENU = 93;\nexport const NUMPAD_ZERO = 96;\nexport const NUMPAD_ONE = 97;\nexport const NUMPAD_TWO = 98;\nexport const NUMPAD_THREE = 99;\nexport const NUMPAD_FOUR = 100;\nexport const NUMPAD_FIVE = 101;\nexport const NUMPAD_SIX = 102;\nexport const NUMPAD_SEVEN = 103;\nexport const NUMPAD_EIGHT = 104;\nexport const NUMPAD_NINE = 105;\nexport const NUMPAD_MULTIPLY = 106;\nexport const NUMPAD_PLUS = 107;\nexport const NUMPAD_MINUS = 109;\nexport const NUMPAD_PERIOD = 110;\nexport const NUMPAD_DIVIDE = 111;\nexport const F1 = 112;\nexport const F2 = 113;\nexport const F3 = 114;\nexport const F4 = 115;\nexport const F5 = 116;\nexport const F6 = 117;\nexport const F7 = 118;\nexport const F8 = 119;\nexport const F9 = 120;\nexport const F10 = 121;\nexport const F11 = 122;\nexport const F12 = 123;\nexport const NUM_LOCK = 144;\nexport const SCROLL_LOCK = 145;\nexport const FIRST_MEDIA = 166;\nexport const FF_MINUS = 173;\nexport const MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nexport const VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nexport const VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nexport const FF_MUTE = 181;\nexport const FF_VOLUME_DOWN = 182;\nexport const LAST_MEDIA = 183;\nexport const FF_VOLUME_UP = 183;\nexport const SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nexport const EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nexport const COMMA = 188;\nexport const DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nexport const SLASH = 191;\nexport const APOSTROPHE = 192;\nexport const TILDE = 192;\nexport const OPEN_SQUARE_BRACKET = 219;\nexport const BACKSLASH = 220;\nexport const CLOSE_SQUARE_BRACKET = 221;\nexport const SINGLE_QUOTE = 222;\nexport const MAC_META = 224;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keycodes.es5.js","sources":["../../../src/cdk/keycodes/modifiers.ts","../../../src/cdk/keycodes/keycodes.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\ntype ModifierKey = 'altKey' | 'shiftKey' | 'ctrlKey' | 'metaKey';\n\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nexport function hasModifierKey(event: KeyboardEvent, ...modifiers: ModifierKey[]): boolean {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const MAC_ENTER = 3;\nexport const BACKSPACE = 8;\nexport const TAB = 9;\nexport const NUM_CENTER = 12;\nexport const ENTER = 13;\nexport const SHIFT = 16;\nexport const CONTROL = 17;\nexport const ALT = 18;\nexport const PAUSE = 19;\nexport const CAPS_LOCK = 20;\nexport const ESCAPE = 27;\nexport const SPACE = 32;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const END = 35;\nexport const HOME = 36;\nexport const LEFT_ARROW = 37;\nexport const UP_ARROW = 38;\nexport const RIGHT_ARROW = 39;\nexport const DOWN_ARROW = 40;\nexport const PLUS_SIGN = 43;\nexport const PRINT_SCREEN = 44;\nexport const INSERT = 45;\nexport const DELETE = 46;\nexport const ZERO = 48;\nexport const ONE = 49;\nexport const TWO = 50;\nexport const THREE = 51;\nexport const FOUR = 52;\nexport const FIVE = 53;\nexport const SIX = 54;\nexport const SEVEN = 55;\nexport const EIGHT = 56;\nexport const NINE = 57;\nexport const FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nexport const FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nexport const QUESTION_MARK = 63;\nexport const AT_SIGN = 64;\nexport const A = 65;\nexport const B = 66;\nexport const C = 67;\nexport const D = 68;\nexport const E = 69;\nexport const F = 70;\nexport const G = 71;\nexport const H = 72;\nexport const I = 73;\nexport const J = 74;\nexport const K = 75;\nexport const L = 76;\nexport const M = 77;\nexport const N = 78;\nexport const O = 79;\nexport const P = 80;\nexport const Q = 81;\nexport const R = 82;\nexport const S = 83;\nexport const T = 84;\nexport const U = 85;\nexport const V = 86;\nexport const W = 87;\nexport const X = 88;\nexport const Y = 89;\nexport const Z = 90;\nexport const META = 91; // WIN_KEY_LEFT\nexport const MAC_WK_CMD_LEFT = 91;\nexport const MAC_WK_CMD_RIGHT = 93;\nexport const CONTEXT_MENU = 93;\nexport const NUMPAD_ZERO = 96;\nexport const NUMPAD_ONE = 97;\nexport const NUMPAD_TWO = 98;\nexport const NUMPAD_THREE = 99;\nexport const NUMPAD_FOUR = 100;\nexport const NUMPAD_FIVE = 101;\nexport const NUMPAD_SIX = 102;\nexport const NUMPAD_SEVEN = 103;\nexport const NUMPAD_EIGHT = 104;\nexport const NUMPAD_NINE = 105;\nexport const NUMPAD_MULTIPLY = 106;\nexport const NUMPAD_PLUS = 107;\nexport const NUMPAD_MINUS = 109;\nexport const NUMPAD_PERIOD = 110;\nexport const NUMPAD_DIVIDE = 111;\nexport const F1 = 112;\nexport const F2 = 113;\nexport const F3 = 114;\nexport const F4 = 115;\nexport const F5 = 116;\nexport const F6 = 117;\nexport const F7 = 118;\nexport const F8 = 119;\nexport const F9 = 120;\nexport const F10 = 121;\nexport const F11 = 122;\nexport const F12 = 123;\nexport const NUM_LOCK = 144;\nexport const SCROLL_LOCK = 145;\nexport const FIRST_MEDIA = 166;\nexport const FF_MINUS = 173;\nexport const MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nexport const VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nexport const VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nexport const FF_MUTE = 181;\nexport const FF_VOLUME_DOWN = 182;\nexport const LAST_MEDIA = 183;\nexport const FF_VOLUME_UP = 183;\nexport const SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nexport const EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nexport const COMMA = 188;\nexport const DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nexport const SLASH = 191;\nexport const APOSTROPHE = 192;\nexport const TILDE = 192;\nexport const OPEN_SQUARE_BRACKET = 219;\nexport const BACKSLASH = 220;\nexport const CLOSE_SQUARE_BRACKET = 221;\nexport const SINGLE_QUOTE = 222;\nexport const MAC_META = 224;\n"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import { coerceArray } from '@angular/cdk/coercion';
13
13
 
14
14
  /**
15
15
  * @fileoverview added by tsickle
16
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
16
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17
17
  */
18
18
  var LayoutModule = /** @class */ (function () {
19
19
  function LayoutModule() {
@@ -26,15 +26,17 @@ var LayoutModule = /** @class */ (function () {
26
26
 
27
27
  /**
28
28
  * @fileoverview added by tsickle
29
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
29
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
30
30
  */
31
- /** *
31
+ /**
32
32
  * Global registry for all dynamically-created, injected media queries.
33
- @type {?} */
33
+ * @type {?}
34
+ */
34
35
  var mediaQueriesForWebkitCompatibility = new Set();
35
- /** *
36
+ /**
36
37
  * Style tag that holds all of the dynamically-created media queries.
37
- @type {?} */
38
+ * @type {?}
39
+ */
38
40
  var mediaQueryStyleNode;
39
41
  /**
40
42
  * A utility for calling matchMedia queries.
@@ -99,11 +101,11 @@ function createEmptyStyleRule(query) {
99
101
  try {
100
102
  if (!mediaQueryStyleNode) {
101
103
  mediaQueryStyleNode = document.createElement('style');
102
- mediaQueryStyleNode.setAttribute('type', 'text/css'); /** @type {?} */
103
- ((document.head)).appendChild(mediaQueryStyleNode);
104
+ mediaQueryStyleNode.setAttribute('type', 'text/css');
105
+ (/** @type {?} */ (document.head)).appendChild(mediaQueryStyleNode);
104
106
  }
105
107
  if (mediaQueryStyleNode.sheet) {
106
- (/** @type {?} */ (mediaQueryStyleNode.sheet))
108
+ ((/** @type {?} */ (mediaQueryStyleNode.sheet)))
107
109
  .insertRule("@media " + query + " {.fx-query-test{ }}", 0);
108
110
  mediaQueriesForWebkitCompatibility.add(query);
109
111
  }
@@ -120,17 +122,17 @@ function createEmptyStyleRule(query) {
120
122
  function noopMatchMedia(query) {
121
123
  // Use `as any` here to avoid adding additional necessary properties for
122
124
  // the noop matcher.
123
- return /** @type {?} */ ({
125
+ return (/** @type {?} */ ({
124
126
  matches: query === 'all' || query === '',
125
127
  media: query,
126
128
  addListener: function () { },
127
129
  removeListener: function () { }
128
- });
130
+ }));
129
131
  }
130
132
 
131
133
  /**
132
134
  * @fileoverview added by tsickle
133
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
135
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
134
136
  */
135
137
  /**
136
138
  * Utility for checking the matching state of \@media queries.
@@ -219,13 +221,16 @@ var BreakpointObserver = /** @class */ (function () {
219
221
  return response;
220
222
  }));
221
223
  };
224
+ /** Registers a specific query to be listened for. */
222
225
  /**
223
226
  * Registers a specific query to be listened for.
227
+ * @private
224
228
  * @param {?} query
225
229
  * @return {?}
226
230
  */
227
231
  BreakpointObserver.prototype._registerQuery = /**
228
232
  * Registers a specific query to be listened for.
233
+ * @private
229
234
  * @param {?} query
230
235
  * @return {?}
231
236
  */
@@ -233,12 +238,15 @@ var BreakpointObserver = /** @class */ (function () {
233
238
  var _this = this;
234
239
  // Only set up a new MediaQueryList if it is not already being listened for.
235
240
  if (this._queries.has(query)) {
236
- return /** @type {?} */ ((this._queries.get(query)));
241
+ return (/** @type {?} */ (this._queries.get(query)));
237
242
  }
238
243
  /** @type {?} */
239
244
  var mql = this.mediaMatcher.matchMedia(query);
245
+ // TODO(jelbourn): change this `any` to `MediaQueryListEvent` once Google has upgraded to
246
+ // TypeScript 3.1 (the type is unavailable before then).
240
247
  /** @type {?} */
241
248
  var queryListener;
249
+ // Create callback for match changes and add it is as a listener.
242
250
  /** @type {?} */
243
251
  var queryObservable = fromEventPattern(
244
252
  // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed
@@ -246,16 +254,12 @@ var BreakpointObserver = /** @class */ (function () {
246
254
  // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not
247
255
  // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js
248
256
  // patches it.
249
- // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed
250
- // back into the zone because matchMedia is only included in Zone.js by loading the
251
- // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not
252
- // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js
253
- // patches it.
254
257
  function (listener) {
255
258
  queryListener = function (e) { return _this.zone.run(function () { return listener(e); }); };
256
259
  mql.addListener(queryListener);
257
260
  }, function () { return mql.removeListener(queryListener); })
258
- .pipe(takeUntil(this._destroySubject), startWith(mql), map(function (nextMql) { return ({ query: query, matches: nextMql.matches }); }));
261
+ .pipe(startWith(mql), map(function (nextMql) { return ({ query: query, matches: nextMql.matches }); }), takeUntil(this._destroySubject));
262
+ // Add the MediaQueryList to the set of queries.
259
263
  /** @type {?} */
260
264
  var output = { observable: queryObservable, mql: mql };
261
265
  this._queries.set(query, output);
@@ -286,15 +290,18 @@ function splitQueries(queries) {
286
290
 
287
291
  /**
288
292
  * @fileoverview added by tsickle
289
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
293
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
290
294
  */
291
- /** *
295
+ // PascalCase is being used as Breakpoints is used like an enum.
296
+ // tslint:disable-next-line:variable-name
297
+ /**
292
298
  * @license
293
299
  * Copyright Google LLC All Rights Reserved.
294
300
  *
295
301
  * Use of this source code is governed by an MIT-style license that can be
296
302
  * found in the LICENSE file at https://angular.io/license
297
- @type {?} */
303
+ * @type {?}
304
+ */
298
305
  var Breakpoints = {
299
306
  XSmall: '(max-width: 599.99px)',
300
307
  Small: '(min-width: 600px) and (max-width: 959.99px)',
@@ -317,12 +324,12 @@ var Breakpoints = {
317
324
 
318
325
  /**
319
326
  * @fileoverview added by tsickle
320
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
327
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
321
328
  */
322
329
 
323
330
  /**
324
331
  * @fileoverview added by tsickle
325
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
332
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
326
333
  */
327
334
 
328
335
  export { LayoutModule, BreakpointObserver, Breakpoints, MediaMatcher };
@@ -1 +1 @@
1
- {"version":3,"file":"layout.es5.js","sources":["../../../src/cdk/layout/breakpoints.ts","../../../src/cdk/layout/breakpoints-observer.ts","../../../src/cdk/layout/media-matcher.ts","../../../src/cdk/layout/layout-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nexport const Breakpoints = {\n XSmall: '(max-width: 599.99px)',\n Small: '(min-width: 600px) and (max-width: 959.99px)',\n Medium: '(min-width: 960px) and (max-width: 1279.99px)',\n Large: '(min-width: 1280px) and (max-width: 1919.99px)',\n XLarge: '(min-width: 1920px)',\n\n Handset: '(max-width: 599.99px) and (orientation: portrait), ' +\n '(max-width: 959.99px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.99px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.99px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n\n HandsetPortrait: '(max-width: 599.99px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.99px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n\n HandsetLandscape: '(max-width: 959.99px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.99px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone, OnDestroy} from '@angular/core';\nimport {MediaMatcher} from './media-matcher';\nimport {asapScheduler, combineLatest, fromEventPattern, Observable, Subject} from 'rxjs';\nimport {debounceTime, map, startWith, takeUntil} from 'rxjs/operators';\nimport {coerceArray} from '@angular/cdk/coercion';\n\n\n/** The current state of a layout breakpoint. */\nexport interface BreakpointState {\n /** Whether the breakpoint is currently matching. */\n matches: boolean;\n /**\n * A key boolean pair for each query provided to the observe method,\n * with its current matched state.\n */\n breakpoints: {\n [key: string]: boolean;\n };\n}\n\n/** The current state of a layout breakpoint. */\ninterface InternalBreakpointState {\n /** Whether the breakpoint is currently matching. */\n matches: boolean;\n /** The media query being to be matched */\n query: string;\n}\n\ninterface Query {\n observable: Observable<InternalBreakpointState>;\n mql: MediaQueryList;\n}\n\n/** Utility for checking the matching state of @media queries. */\n@Injectable({providedIn: 'root'})\nexport class BreakpointObserver implements OnDestroy {\n /** A map of all media queries currently being listened for. */\n private _queries = new Map<string, Query>();\n /** A subject for all other observables to takeUntil based on. */\n private _destroySubject = new Subject<void>();\n\n constructor(private mediaMatcher: MediaMatcher, private zone: NgZone) {}\n\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value: string | string[]): boolean {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value: string | string[]): Observable<BreakpointState> {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n\n return combineLatest(observables).pipe(\n debounceTime(0, asapScheduler),\n map((breakpointStates: InternalBreakpointState[]) => {\n const response: BreakpointState = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach((state: InternalBreakpointState) => {\n response.matches = response.matches || state.matches;\n response.breakpoints[state.query] = state.matches;\n });\n return response;\n }));\n }\n\n /** Registers a specific query to be listened for. */\n private _registerQuery(query: string): Query {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query)!;\n }\n\n const mql: MediaQueryList = this.mediaMatcher.matchMedia(query);\n\n // TODO(jelbourn): change this `any` to `MediaQueryListEvent` once Google has upgraded to\n // TypeScript 3.1 (the type is unavailable before then).\n let queryListener: any;\n\n // Create callback for match changes and add it is as a listener.\n const queryObservable = fromEventPattern<MediaQueryList>(\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n (listener: Function) => {\n queryListener = (e: any) => this.zone.run(() => listener(e));\n mql.addListener(queryListener);\n },\n () => mql.removeListener(queryListener))\n .pipe(\n takeUntil(this._destroySubject),\n startWith(mql),\n map((nextMql: MediaQueryList) => ({query, matches: nextMql.matches}))\n );\n\n // Add the MediaQueryList to the set of queries.\n const output = {observable: queryObservable, mql};\n this._queries.set(query, output);\n return output;\n }\n}\n\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries: string[]): string[] {\n return queries.map((query: string) => query.split(','))\n .reduce((a1: string[], a2: string[]) => a1.concat(a2))\n .map(query => query.trim());\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility: Set<string> = new Set<string>();\n\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode: HTMLStyleElement | undefined;\n\n/** A utility for calling matchMedia queries. */\n@Injectable({providedIn: 'root'})\nexport class MediaMatcher {\n /** The internal matchMedia method to return back a MediaQueryList like object. */\n private _matchMedia: (query: string) => MediaQueryList;\n\n constructor(private platform: Platform) {\n this._matchMedia = this.platform.isBrowser && window.matchMedia ?\n // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window) :\n noopMatchMedia;\n }\n\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query: string): MediaQueryList {\n if (this.platform.WEBKIT) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\n\n/**\n * For Webkit engines that only trigger the MediaQueryListListener when\n * there is at least one CSS selector for the respective media query.\n */\nfunction createEmptyStyleRule(query: string) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head!.appendChild(mediaQueryStyleNode);\n }\n\n if (mediaQueryStyleNode.sheet) {\n (mediaQueryStyleNode.sheet as CSSStyleSheet)\n .insertRule(`@media ${query} {.fx-query-test{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n } catch (e) {\n console.error(e);\n }\n}\n\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query: string): MediaQueryList {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => {},\n removeListener: () => {}\n } as any;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\n\n\n@NgModule({})\nexport class LayoutModule {}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.es5.js","sources":["../../../src/cdk/layout/breakpoints.ts","../../../src/cdk/layout/breakpoints-observer.ts","../../../src/cdk/layout/media-matcher.ts","../../../src/cdk/layout/layout-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nexport const Breakpoints = {\n XSmall: '(max-width: 599.99px)',\n Small: '(min-width: 600px) and (max-width: 959.99px)',\n Medium: '(min-width: 960px) and (max-width: 1279.99px)',\n Large: '(min-width: 1280px) and (max-width: 1919.99px)',\n XLarge: '(min-width: 1920px)',\n\n Handset: '(max-width: 599.99px) and (orientation: portrait), ' +\n '(max-width: 959.99px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.99px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.99px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n\n HandsetPortrait: '(max-width: 599.99px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.99px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n\n HandsetLandscape: '(max-width: 959.99px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.99px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, NgZone, OnDestroy} from '@angular/core';\nimport {MediaMatcher} from './media-matcher';\nimport {asapScheduler, combineLatest, fromEventPattern, Observable, Subject} from 'rxjs';\nimport {debounceTime, map, startWith, takeUntil} from 'rxjs/operators';\nimport {coerceArray} from '@angular/cdk/coercion';\n\n\n/** The current state of a layout breakpoint. */\nexport interface BreakpointState {\n /** Whether the breakpoint is currently matching. */\n matches: boolean;\n /**\n * A key boolean pair for each query provided to the observe method,\n * with its current matched state.\n */\n breakpoints: {\n [key: string]: boolean;\n };\n}\n\n/** The current state of a layout breakpoint. */\ninterface InternalBreakpointState {\n /** Whether the breakpoint is currently matching. */\n matches: boolean;\n /** The media query being to be matched */\n query: string;\n}\n\ninterface Query {\n observable: Observable<InternalBreakpointState>;\n mql: MediaQueryList;\n}\n\n/** Utility for checking the matching state of @media queries. */\n@Injectable({providedIn: 'root'})\nexport class BreakpointObserver implements OnDestroy {\n /** A map of all media queries currently being listened for. */\n private _queries = new Map<string, Query>();\n /** A subject for all other observables to takeUntil based on. */\n private _destroySubject = new Subject<void>();\n\n constructor(private mediaMatcher: MediaMatcher, private zone: NgZone) {}\n\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value: string | string[]): boolean {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value: string | string[]): Observable<BreakpointState> {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n\n return combineLatest(observables).pipe(\n debounceTime(0, asapScheduler),\n map((breakpointStates: InternalBreakpointState[]) => {\n const response: BreakpointState = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach((state: InternalBreakpointState) => {\n response.matches = response.matches || state.matches;\n response.breakpoints[state.query] = state.matches;\n });\n return response;\n }));\n }\n\n /** Registers a specific query to be listened for. */\n private _registerQuery(query: string): Query {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query)!;\n }\n\n const mql: MediaQueryList = this.mediaMatcher.matchMedia(query);\n\n // TODO(jelbourn): change this `any` to `MediaQueryListEvent` once Google has upgraded to\n // TypeScript 3.1 (the type is unavailable before then).\n let queryListener: any;\n\n // Create callback for match changes and add it is as a listener.\n const queryObservable = fromEventPattern<MediaQueryList>(\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n (listener: Function) => {\n queryListener = (e: any) => this.zone.run(() => listener(e));\n mql.addListener(queryListener);\n },\n () => mql.removeListener(queryListener))\n .pipe(\n startWith(mql),\n map((nextMql: MediaQueryList) => ({query, matches: nextMql.matches})),\n takeUntil(this._destroySubject)\n );\n\n // Add the MediaQueryList to the set of queries.\n const output = {observable: queryObservable, mql};\n this._queries.set(query, output);\n return output;\n }\n}\n\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries: string[]): string[] {\n return queries.map((query: string) => query.split(','))\n .reduce((a1: string[], a2: string[]) => a1.concat(a2))\n .map(query => query.trim());\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility: Set<string> = new Set<string>();\n\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode: HTMLStyleElement | undefined;\n\n/** A utility for calling matchMedia queries. */\n@Injectable({providedIn: 'root'})\nexport class MediaMatcher {\n /** The internal matchMedia method to return back a MediaQueryList like object. */\n private _matchMedia: (query: string) => MediaQueryList;\n\n constructor(private platform: Platform) {\n this._matchMedia = this.platform.isBrowser && window.matchMedia ?\n // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window) :\n noopMatchMedia;\n }\n\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query: string): MediaQueryList {\n if (this.platform.WEBKIT) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\n\n/**\n * For Webkit engines that only trigger the MediaQueryListListener when\n * there is at least one CSS selector for the respective media query.\n */\nfunction createEmptyStyleRule(query: string) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head!.appendChild(mediaQueryStyleNode);\n }\n\n if (mediaQueryStyleNode.sheet) {\n (mediaQueryStyleNode.sheet as CSSStyleSheet)\n .insertRule(`@media ${query} {.fx-query-test{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n } catch (e) {\n console.error(e);\n }\n}\n\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query: string): MediaQueryList {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => {},\n removeListener: () => {}\n } as any;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\n\n\n@NgModule({})\nexport class LayoutModule {}\n"],"names":[],"mappings":"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"}
@@ -5,14 +5,14 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
8
+ import { coerceBooleanProperty, coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';
9
9
  import { Directive, ElementRef, EventEmitter, Injectable, Input, NgModule, NgZone, Output, defineInjectable, inject } from '@angular/core';
10
10
  import { Observable, Subject } from 'rxjs';
11
11
  import { debounceTime } from 'rxjs/operators';
12
12
 
13
13
  /**
14
14
  * @fileoverview added by tsickle
15
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
15
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16
16
  */
17
17
  /**
18
18
  * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.
@@ -70,8 +70,8 @@ var ContentObserver = /** @class */ (function () {
70
70
  function (elementOrRef) {
71
71
  var _this = this;
72
72
  /** @type {?} */
73
- var element = elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;
74
- return Observable.create(function (observer) {
73
+ var element = coerceElement(elementOrRef);
74
+ return new Observable(function (observer) {
75
75
  /** @type {?} */
76
76
  var stream = _this._observeElement(element);
77
77
  /** @type {?} */
@@ -85,12 +85,18 @@ var ContentObserver = /** @class */ (function () {
85
85
  /**
86
86
  * Observes the given element by using the existing MutationObserver if available, or creating a
87
87
  * new one if not.
88
+ */
89
+ /**
90
+ * Observes the given element by using the existing MutationObserver if available, or creating a
91
+ * new one if not.
92
+ * @private
88
93
  * @param {?} element
89
94
  * @return {?}
90
95
  */
91
96
  ContentObserver.prototype._observeElement = /**
92
97
  * Observes the given element by using the existing MutationObserver if available, or creating a
93
98
  * new one if not.
99
+ * @private
94
100
  * @param {?} element
95
101
  * @return {?}
96
102
  */
@@ -110,43 +116,52 @@ var ContentObserver = /** @class */ (function () {
110
116
  this._observedElements.set(element, { observer: observer, stream: stream_1, count: 1 });
111
117
  }
112
118
  else {
113
- /** @type {?} */ ((this._observedElements.get(element))).count++;
119
+ (/** @type {?} */ (this._observedElements.get(element))).count++;
114
120
  }
115
- return /** @type {?} */ ((this._observedElements.get(element))).stream;
121
+ return (/** @type {?} */ (this._observedElements.get(element))).stream;
116
122
  };
117
123
  /**
118
124
  * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is
119
125
  * observing this element.
126
+ */
127
+ /**
128
+ * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is
129
+ * observing this element.
130
+ * @private
120
131
  * @param {?} element
121
132
  * @return {?}
122
133
  */
123
134
  ContentObserver.prototype._unobserveElement = /**
124
135
  * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is
125
136
  * observing this element.
137
+ * @private
126
138
  * @param {?} element
127
139
  * @return {?}
128
140
  */
129
141
  function (element) {
130
142
  if (this._observedElements.has(element)) {
131
- /** @type {?} */ ((this._observedElements.get(element))).count--;
132
- if (!/** @type {?} */ ((this._observedElements.get(element))).count) {
143
+ (/** @type {?} */ (this._observedElements.get(element))).count--;
144
+ if (!(/** @type {?} */ (this._observedElements.get(element))).count) {
133
145
  this._cleanupObserver(element);
134
146
  }
135
147
  }
136
148
  };
149
+ /** Clean up the underlying MutationObserver for the specified element. */
137
150
  /**
138
151
  * Clean up the underlying MutationObserver for the specified element.
152
+ * @private
139
153
  * @param {?} element
140
154
  * @return {?}
141
155
  */
142
156
  ContentObserver.prototype._cleanupObserver = /**
143
157
  * Clean up the underlying MutationObserver for the specified element.
158
+ * @private
144
159
  * @param {?} element
145
160
  * @return {?}
146
161
  */
147
162
  function (element) {
148
163
  if (this._observedElements.has(element)) {
149
- var _a = /** @type {?} */ ((this._observedElements.get(element))), observer = _a.observer, stream = _a.stream;
164
+ var _a = (/** @type {?} */ (this._observedElements.get(element))), observer = _a.observer, stream = _a.stream;
150
165
  if (observer) {
151
166
  observer.disconnect();
152
167
  }
@@ -241,9 +256,11 @@ var CdkObserveContent = /** @class */ (function () {
241
256
  this._unsubscribe();
242
257
  };
243
258
  /**
259
+ * @private
244
260
  * @return {?}
245
261
  */
246
262
  CdkObserveContent.prototype._subscribe = /**
263
+ * @private
247
264
  * @return {?}
248
265
  */
249
266
  function () {
@@ -261,9 +278,11 @@ var CdkObserveContent = /** @class */ (function () {
261
278
  });
262
279
  };
263
280
  /**
281
+ * @private
264
282
  * @return {?}
265
283
  */
266
284
  CdkObserveContent.prototype._unsubscribe = /**
285
+ * @private
267
286
  * @return {?}
268
287
  */
269
288
  function () {
@@ -305,12 +324,12 @@ var ObserversModule = /** @class */ (function () {
305
324
 
306
325
  /**
307
326
  * @fileoverview added by tsickle
308
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
327
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
309
328
  */
310
329
 
311
330
  /**
312
331
  * @fileoverview added by tsickle
313
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
332
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
314
333
  */
315
334
 
316
335
  export { MutationObserverFactory, ContentObserver, CdkObserveContent, ObserversModule };
@@ -1 +1 @@
1
- {"version":3,"file":"observers.es5.js","sources":["../../../src/cdk/observers/observe-content.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Injectable,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {Observable, Subject, Subscription, Observer} from 'rxjs';\nimport {debounceTime} from 'rxjs/operators';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable({providedIn: 'root'})\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n\n/** An injectable service that allows watching elements for changes to their content. */\n@Injectable({providedIn: 'root'})\nexport class ContentObserver implements OnDestroy {\n /** Keeps track of the existing MutationObservers so they can be reused. */\n private _observedElements = new Map<Element, {\n observer: MutationObserver | null,\n stream: Subject<MutationRecord[]>,\n count: number\n }>();\n\n constructor(private _mutationObserverFactory: MutationObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: Element): Observable<MutationRecord[]>;\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n\n return Observable.create((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n this._observedElements.set(element, {observer, stream, count: 1});\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n /** Clean up the underlying MutationObserver for the specified element. */\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const {observer, stream} = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnDestroy {\n /** Event emitted for each change in the element's content. */\n @Output('cdkObserveContent') event = new EventEmitter<MutationRecord[]>();\n\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n @Input('cdkObserveContentDisabled')\n get disabled() { return this._disabled; }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n /** Debounce interval for emitting the changes. */\n @Input()\n get debounce(): number { return this._debounce; }\n set debounce(value: number) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number;\n\n private _currentSubscription: Subscription | null = null;\n\n constructor(private _contentObserver: ContentObserver,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone) {}\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription =\n (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n\n private _unsubscribe() {\n if (this._currentSubscription) {\n this._currentSubscription.unsubscribe();\n }\n }\n}\n\n\n@NgModule({\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n})\nexport class ObserversModule {}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observers.es5.js","sources":["../../../src/cdk/observers/observe-content.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty, coerceNumberProperty, coerceElement} from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Injectable,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {Observable, Subject, Subscription, Observer} from 'rxjs';\nimport {debounceTime} from 'rxjs/operators';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable({providedIn: 'root'})\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n\n/** An injectable service that allows watching elements for changes to their content. */\n@Injectable({providedIn: 'root'})\nexport class ContentObserver implements OnDestroy {\n /** Keeps track of the existing MutationObservers so they can be reused. */\n private _observedElements = new Map<Element, {\n observer: MutationObserver | null,\n stream: Subject<MutationRecord[]>,\n count: number\n }>();\n\n constructor(private _mutationObserverFactory: MutationObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: Element): Observable<MutationRecord[]>;\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n this._observedElements.set(element, {observer, stream, count: 1});\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n /** Clean up the underlying MutationObserver for the specified element. */\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const {observer, stream} = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnDestroy {\n /** Event emitted for each change in the element's content. */\n @Output('cdkObserveContent') event = new EventEmitter<MutationRecord[]>();\n\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n @Input('cdkObserveContentDisabled')\n get disabled() { return this._disabled; }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n /** Debounce interval for emitting the changes. */\n @Input()\n get debounce(): number { return this._debounce; }\n set debounce(value: number) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number;\n\n private _currentSubscription: Subscription | null = null;\n\n constructor(private _contentObserver: ContentObserver,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone) {}\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription =\n (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n\n private _unsubscribe() {\n if (this._currentSubscription) {\n this._currentSubscription.unsubscribe();\n }\n }\n}\n\n\n@NgModule({\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n})\nexport class ObserversModule {}\n"],"names":[],"mappings":"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"}