@angular/cdk 8.0.0-beta.2 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +2 -2
  2. package/_overlay.scss +4 -4
  3. package/bundles/cdk-a11y.umd.js +227 -79
  4. package/bundles/cdk-a11y.umd.js.map +1 -1
  5. package/bundles/cdk-a11y.umd.min.js +1 -1
  6. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  7. package/bundles/cdk-accordion.umd.js +20 -8
  8. package/bundles/cdk-accordion.umd.js.map +1 -1
  9. package/bundles/cdk-accordion.umd.min.js.map +1 -1
  10. package/bundles/cdk-bidi.umd.js +5 -5
  11. package/bundles/cdk-bidi.umd.min.js +1 -1
  12. package/bundles/cdk-bidi.umd.min.js.map +1 -1
  13. package/bundles/cdk-coercion.umd.js +5 -5
  14. package/bundles/cdk-collections.umd.js +38 -15
  15. package/bundles/cdk-collections.umd.js.map +1 -1
  16. package/bundles/cdk-collections.umd.min.js +1 -1
  17. package/bundles/cdk-collections.umd.min.js.map +1 -1
  18. package/bundles/cdk-drag-drop.umd.js +571 -180
  19. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  20. package/bundles/cdk-drag-drop.umd.min.js +2 -2
  21. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  22. package/bundles/cdk-keycodes.umd.js +7 -3
  23. package/bundles/cdk-keycodes.umd.js.map +1 -1
  24. package/bundles/cdk-keycodes.umd.min.js.map +1 -1
  25. package/bundles/cdk-layout.umd.js +83 -30
  26. package/bundles/cdk-layout.umd.js.map +1 -1
  27. package/bundles/cdk-layout.umd.min.js +1 -1
  28. package/bundles/cdk-layout.umd.min.js.map +1 -1
  29. package/bundles/cdk-observers.umd.js +30 -11
  30. package/bundles/cdk-observers.umd.js.map +1 -1
  31. package/bundles/cdk-observers.umd.min.js +1 -1
  32. package/bundles/cdk-observers.umd.min.js.map +1 -1
  33. package/bundles/cdk-overlay.umd.js +229 -108
  34. package/bundles/cdk-overlay.umd.js.map +1 -1
  35. package/bundles/cdk-overlay.umd.min.js +2 -2
  36. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  37. package/bundles/cdk-platform.umd.js +17 -10
  38. package/bundles/cdk-platform.umd.js.map +1 -1
  39. package/bundles/cdk-platform.umd.min.js +1 -1
  40. package/bundles/cdk-platform.umd.min.js.map +1 -1
  41. package/bundles/cdk-portal.umd.js +32 -13
  42. package/bundles/cdk-portal.umd.js.map +1 -1
  43. package/bundles/cdk-portal.umd.min.js.map +1 -1
  44. package/bundles/cdk-scrolling.umd.js +184 -62
  45. package/bundles/cdk-scrolling.umd.js.map +1 -1
  46. package/bundles/cdk-scrolling.umd.min.js +1 -1
  47. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  48. package/bundles/cdk-stepper.umd.js +30 -12
  49. package/bundles/cdk-stepper.umd.js.map +1 -1
  50. package/bundles/cdk-stepper.umd.min.js.map +1 -1
  51. package/bundles/cdk-table.umd.js +384 -74
  52. package/bundles/cdk-table.umd.js.map +1 -1
  53. package/bundles/cdk-table.umd.min.js +1 -1
  54. package/bundles/cdk-table.umd.min.js.map +1 -1
  55. package/bundles/cdk-text-field.umd.js +61 -21
  56. package/bundles/cdk-text-field.umd.js.map +1 -1
  57. package/bundles/cdk-text-field.umd.min.js +1 -1
  58. package/bundles/cdk-text-field.umd.min.js.map +1 -1
  59. package/bundles/cdk-tree.umd.js +85 -29
  60. package/bundles/cdk-tree.umd.js.map +1 -1
  61. package/bundles/cdk-tree.umd.min.js.map +1 -1
  62. package/bundles/cdk.umd.js +2 -2
  63. package/bundles/cdk.umd.js.map +1 -1
  64. package/bundles/cdk.umd.min.js +1 -1
  65. package/bundles/cdk.umd.min.js.map +1 -1
  66. package/drag-drop/typings/directives/drag.d.ts +11 -2
  67. package/drag-drop/typings/drag-events.d.ts +17 -0
  68. package/drag-drop/typings/drag-ref.d.ts +9 -5
  69. package/drag-drop/typings/drop-list-ref.d.ts +9 -3
  70. package/drag-drop/typings/index.metadata.json +1 -1
  71. package/esm2015/a11y.js +229 -81
  72. package/esm2015/a11y.js.map +1 -1
  73. package/esm2015/accordion.js +22 -10
  74. package/esm2015/accordion.js.map +1 -1
  75. package/esm2015/bidi.js +8 -8
  76. package/esm2015/cdk.js +4 -4
  77. package/esm2015/cdk.js.map +1 -1
  78. package/esm2015/coercion.js +7 -7
  79. package/esm2015/collections.js +41 -18
  80. package/esm2015/collections.js.map +1 -1
  81. package/esm2015/drag-drop.js +540 -181
  82. package/esm2015/drag-drop.js.map +1 -1
  83. package/esm2015/keycodes.js +9 -5
  84. package/esm2015/keycodes.js.map +1 -1
  85. package/esm2015/layout.js +89 -36
  86. package/esm2015/layout.js.map +1 -1
  87. package/esm2015/observers.js +33 -14
  88. package/esm2015/observers.js.map +1 -1
  89. package/esm2015/overlay.js +232 -110
  90. package/esm2015/overlay.js.map +1 -1
  91. package/esm2015/platform.js +20 -13
  92. package/esm2015/platform.js.map +1 -1
  93. package/esm2015/portal.js +34 -15
  94. package/esm2015/portal.js.map +1 -1
  95. package/esm2015/scrolling.js +180 -58
  96. package/esm2015/scrolling.js.map +1 -1
  97. package/esm2015/stepper.js +32 -14
  98. package/esm2015/stepper.js.map +1 -1
  99. package/esm2015/table.js +369 -69
  100. package/esm2015/table.js.map +1 -1
  101. package/esm2015/text-field.js +64 -24
  102. package/esm2015/text-field.js.map +1 -1
  103. package/esm2015/tree.js +86 -30
  104. package/esm2015/tree.js.map +1 -1
  105. package/esm5/a11y.es5.js +230 -82
  106. package/esm5/a11y.es5.js.map +1 -1
  107. package/esm5/accordion.es5.js +22 -10
  108. package/esm5/accordion.es5.js.map +1 -1
  109. package/esm5/bidi.es5.js +8 -8
  110. package/esm5/cdk.es5.js +4 -4
  111. package/esm5/cdk.es5.js.map +1 -1
  112. package/esm5/coercion.es5.js +7 -7
  113. package/esm5/collections.es5.js +42 -19
  114. package/esm5/collections.es5.js.map +1 -1
  115. package/esm5/drag-drop.es5.js +574 -183
  116. package/esm5/drag-drop.es5.js.map +1 -1
  117. package/esm5/keycodes.es5.js +9 -5
  118. package/esm5/keycodes.es5.js.map +1 -1
  119. package/esm5/layout.es5.js +86 -33
  120. package/esm5/layout.es5.js.map +1 -1
  121. package/esm5/observers.es5.js +33 -14
  122. package/esm5/observers.es5.js.map +1 -1
  123. package/esm5/overlay.es5.js +232 -111
  124. package/esm5/overlay.es5.js.map +1 -1
  125. package/esm5/platform.es5.js +20 -13
  126. package/esm5/platform.es5.js.map +1 -1
  127. package/esm5/portal.es5.js +34 -15
  128. package/esm5/portal.es5.js.map +1 -1
  129. package/esm5/scrolling.es5.js +187 -65
  130. package/esm5/scrolling.es5.js.map +1 -1
  131. package/esm5/stepper.es5.js +32 -14
  132. package/esm5/stepper.es5.js.map +1 -1
  133. package/esm5/table.es5.js +386 -72
  134. package/esm5/table.es5.js.map +1 -1
  135. package/esm5/text-field.es5.js +64 -24
  136. package/esm5/text-field.es5.js.map +1 -1
  137. package/esm5/tree.es5.js +87 -31
  138. package/esm5/tree.es5.js.map +1 -1
  139. package/layout/typings/breakpoints-observer.d.ts +3 -3
  140. package/layout/typings/index.metadata.json +1 -1
  141. package/layout/typings/media-matcher.d.ts +2 -2
  142. package/overlay/typings/index.metadata.json +1 -1
  143. package/overlay/typings/position/flexible-connected-position-strategy.d.ts +1 -3
  144. package/package.json +8 -8
  145. package/portal/typings/portal.d.ts +2 -2
  146. package/schematics/ng-update/data/attribute-selectors.js +1 -1
  147. package/schematics/ng-update/data/attribute-selectors.js.map +1 -1
  148. package/schematics/ng-update/data/class-names.js +3 -3
  149. package/schematics/ng-update/data/class-names.js.map +1 -1
  150. package/schematics/ng-update/data/constructor-checks.js +1 -1
  151. package/schematics/ng-update/data/constructor-checks.js.map +1 -1
  152. package/schematics/ng-update/data/input-names.js +1 -1
  153. package/schematics/ng-update/data/input-names.js.map +1 -1
  154. package/schematics/ng-update/data/method-call-checks.js +1 -1
  155. package/schematics/ng-update/data/method-call-checks.js.map +1 -1
  156. package/schematics/ng-update/data/property-names.js +4 -4
  157. package/schematics/ng-update/data/property-names.js.map +1 -1
  158. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js +1 -1
  159. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js.map +1 -1
  160. package/schematics/tsconfig.tsbuildinfo +5811 -0
  161. package/schematics/utils/ast.d.ts +1 -1
  162. package/schematics/utils/build-component.js +1 -1
  163. package/schematics/utils/build-component.js.map +1 -1
  164. package/schematics/utils/get-project.d.ts +1 -1
  165. package/schematics/utils/project-main-file.d.ts +1 -1
  166. package/schematics/utils/project-style-file.d.ts +1 -1
  167. package/schematics/utils/project-targets.d.ts +1 -1
  168. package/schematics/utils/schematic-options.d.ts +1 -1
  169. package/table/typings/cell.d.ts +3 -2
  170. package/table/typings/index.metadata.json +1 -1
  171. package/table/typings/public-api.d.ts +1 -0
  172. package/table/typings/row.d.ts +5 -4
  173. package/table/typings/sticky-styler.d.ts +5 -5
  174. package/table/typings/table-errors.d.ts +10 -0
  175. package/table/typings/text-column.d.ts +80 -0
  176. package/typings/drag-drop/directives/drag.d.ts +11 -2
  177. package/typings/drag-drop/drag-events.d.ts +17 -0
  178. package/typings/drag-drop/drag-ref.d.ts +9 -5
  179. package/typings/drag-drop/drop-list-ref.d.ts +9 -3
  180. package/typings/drag-drop/index.metadata.json +1 -1
  181. package/typings/esm5/drag-drop/directives/drag.d.ts +11 -2
  182. package/typings/esm5/drag-drop/drag-events.d.ts +17 -0
  183. package/typings/esm5/drag-drop/drag-ref.d.ts +9 -5
  184. package/typings/esm5/drag-drop/drop-list-ref.d.ts +9 -3
  185. package/typings/esm5/drag-drop/index.metadata.json +1 -1
  186. package/typings/esm5/index.metadata.json +1 -1
  187. package/typings/esm5/layout/breakpoints-observer.d.ts +3 -3
  188. package/typings/esm5/layout/index.metadata.json +1 -1
  189. package/typings/esm5/layout/media-matcher.d.ts +2 -2
  190. package/typings/esm5/overlay/index.metadata.json +1 -1
  191. package/typings/esm5/overlay/position/flexible-connected-position-strategy.d.ts +1 -3
  192. package/typings/esm5/portal/portal.d.ts +2 -2
  193. package/typings/esm5/table/cell.d.ts +3 -2
  194. package/typings/esm5/table/index.metadata.json +1 -1
  195. package/typings/esm5/table/public-api.d.ts +1 -0
  196. package/typings/esm5/table/row.d.ts +5 -4
  197. package/typings/esm5/table/sticky-styler.d.ts +5 -5
  198. package/typings/esm5/table/table-errors.d.ts +10 -0
  199. package/typings/esm5/table/text-column.d.ts +80 -0
  200. package/typings/index.metadata.json +1 -1
  201. package/typings/layout/breakpoints-observer.d.ts +3 -3
  202. package/typings/layout/index.metadata.json +1 -1
  203. package/typings/layout/media-matcher.d.ts +2 -2
  204. package/typings/overlay/index.metadata.json +1 -1
  205. package/typings/overlay/position/flexible-connected-position-strategy.d.ts +1 -3
  206. package/typings/portal/portal.d.ts +2 -2
  207. package/typings/schematics/utils/ast.d.ts +1 -1
  208. package/typings/schematics/utils/get-project.d.ts +1 -1
  209. package/typings/schematics/utils/project-main-file.d.ts +1 -1
  210. package/typings/schematics/utils/project-style-file.d.ts +1 -1
  211. package/typings/schematics/utils/project-targets.d.ts +1 -1
  212. package/typings/schematics/utils/schematic-options.d.ts +1 -1
  213. package/typings/table/cell.d.ts +3 -2
  214. package/typings/table/index.metadata.json +1 -1
  215. package/typings/table/public-api.d.ts +1 -0
  216. package/typings/table/row.d.ts +5 -4
  217. package/typings/table/sticky-styler.d.ts +5 -5
  218. package/typings/table/table-errors.d.ts +10 -0
  219. package/typings/table/text-column.d.ts +80 -0
@@ -7,7 +7,7 @@
7
7
  */
8
8
  /**
9
9
  * @fileoverview added by tsickle
10
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
11
11
  */
12
12
 
13
13
  /** @type {?} */
@@ -258,7 +258,7 @@ var MAC_META = 224;
258
258
 
259
259
  /**
260
260
  * @fileoverview added by tsickle
261
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
261
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
262
262
  */
263
263
 
264
264
  /**
@@ -273,19 +273,23 @@ function hasModifierKey(event) {
273
273
  modifiers[_i - 1] = arguments[_i];
274
274
  }
275
275
  if (modifiers.length) {
276
- return modifiers.some(function (modifier) { return event[modifier]; });
276
+ return modifiers.some((/**
277
+ * @param {?} modifier
278
+ * @return {?}
279
+ */
280
+ function (modifier) { return event[modifier]; }));
277
281
  }
278
282
  return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;
279
283
  }
280
284
 
281
285
  /**
282
286
  * @fileoverview added by tsickle
283
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
287
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
284
288
  */
285
289
 
286
290
  /**
287
291
  * @fileoverview added by tsickle
288
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
292
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
289
293
  */
290
294
 
291
295
  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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"}
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { NgModule, Injectable, NgZone, defineInjectable, inject } from '@angular/core';
8
+ import { NgModule, Injectable, NgZone, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
9
9
  import { Platform } from '@angular/cdk/platform';
10
10
  import { asapScheduler, combineLatest, Observable, Subject } from 'rxjs';
11
11
  import { debounceTime, map, startWith, takeUntil } from 'rxjs/operators';
@@ -13,7 +13,7 @@ import { coerceArray } from '@angular/cdk/coercion';
13
13
 
14
14
  /**
15
15
  * @fileoverview added by tsickle
16
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
16
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17
17
  */
18
18
  var LayoutModule = /** @class */ (function () {
19
19
  function LayoutModule() {
@@ -26,7 +26,7 @@ var LayoutModule = /** @class */ (function () {
26
26
 
27
27
  /**
28
28
  * @fileoverview added by tsickle
29
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
29
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
30
30
  */
31
31
  /**
32
32
  * Global registry for all dynamically-created, injected media queries.
@@ -42,9 +42,9 @@ var mediaQueryStyleNode;
42
42
  * A utility for calling matchMedia queries.
43
43
  */
44
44
  var MediaMatcher = /** @class */ (function () {
45
- function MediaMatcher(platform) {
46
- this.platform = platform;
47
- this._matchMedia = this.platform.isBrowser && window.matchMedia ?
45
+ function MediaMatcher(_platform) {
46
+ this._platform = _platform;
47
+ this._matchMedia = this._platform.isBrowser && window.matchMedia ?
48
48
  // matchMedia is bound to the window scope intentionally as it is an illegal invocation to
49
49
  // call it from a different scope.
50
50
  window.matchMedia.bind(window) :
@@ -73,7 +73,7 @@ var MediaMatcher = /** @class */ (function () {
73
73
  * @return {?}
74
74
  */
75
75
  function (query) {
76
- if (this.platform.WEBKIT) {
76
+ if (this._platform.WEBKIT) {
77
77
  createEmptyStyleRule(query);
78
78
  }
79
79
  return this._matchMedia(query);
@@ -85,7 +85,7 @@ var MediaMatcher = /** @class */ (function () {
85
85
  MediaMatcher.ctorParameters = function () { return [
86
86
  { type: Platform }
87
87
  ]; };
88
- /** @nocollapse */ MediaMatcher.ngInjectableDef = defineInjectable({ factory: function MediaMatcher_Factory() { return new MediaMatcher(inject(Platform)); }, token: MediaMatcher, providedIn: "root" });
88
+ /** @nocollapse */ MediaMatcher.ngInjectableDef = ɵɵdefineInjectable({ factory: function MediaMatcher_Factory() { return new MediaMatcher(ɵɵinject(Platform)); }, token: MediaMatcher, providedIn: "root" });
89
89
  return MediaMatcher;
90
90
  }());
91
91
  /**
@@ -125,22 +125,28 @@ function noopMatchMedia(query) {
125
125
  return (/** @type {?} */ ({
126
126
  matches: query === 'all' || query === '',
127
127
  media: query,
128
- addListener: function () { },
129
- removeListener: function () { }
128
+ addListener: (/**
129
+ * @return {?}
130
+ */
131
+ function () { }),
132
+ removeListener: (/**
133
+ * @return {?}
134
+ */
135
+ function () { })
130
136
  }));
131
137
  }
132
138
 
133
139
  /**
134
140
  * @fileoverview added by tsickle
135
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
141
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
136
142
  */
137
143
  /**
138
144
  * Utility for checking the matching state of \@media queries.
139
145
  */
140
146
  var BreakpointObserver = /** @class */ (function () {
141
- function BreakpointObserver(mediaMatcher, zone) {
142
- this.mediaMatcher = mediaMatcher;
143
- this.zone = zone;
147
+ function BreakpointObserver(_mediaMatcher, _zone) {
148
+ this._mediaMatcher = _mediaMatcher;
149
+ this._zone = _zone;
144
150
  /**
145
151
  * A map of all media queries currently being listened for.
146
152
  */
@@ -182,7 +188,11 @@ var BreakpointObserver = /** @class */ (function () {
182
188
  var _this = this;
183
189
  /** @type {?} */
184
190
  var queries = splitQueries(coerceArray(value));
185
- return queries.some(function (mediaQuery) { return _this._registerQuery(mediaQuery).mql.matches; });
191
+ return queries.some((/**
192
+ * @param {?} mediaQuery
193
+ * @return {?}
194
+ */
195
+ function (mediaQuery) { return _this._registerQuery(mediaQuery).mql.matches; }));
186
196
  };
187
197
  /**
188
198
  * Gets an observable of results for the given queries that will emit new results for any changes
@@ -207,19 +217,31 @@ var BreakpointObserver = /** @class */ (function () {
207
217
  /** @type {?} */
208
218
  var queries = splitQueries(coerceArray(value));
209
219
  /** @type {?} */
210
- var observables = queries.map(function (query) { return _this._registerQuery(query).observable; });
211
- return combineLatest(observables).pipe(debounceTime(0, asapScheduler), map(function (breakpointStates) {
220
+ var observables = queries.map((/**
221
+ * @param {?} query
222
+ * @return {?}
223
+ */
224
+ function (query) { return _this._registerQuery(query).observable; }));
225
+ return combineLatest(observables).pipe(debounceTime(0, asapScheduler), map((/**
226
+ * @param {?} breakpointStates
227
+ * @return {?}
228
+ */
229
+ function (breakpointStates) {
212
230
  /** @type {?} */
213
231
  var response = {
214
232
  matches: false,
215
233
  breakpoints: {},
216
234
  };
217
- breakpointStates.forEach(function (state) {
235
+ breakpointStates.forEach((/**
236
+ * @param {?} state
237
+ * @return {?}
238
+ */
239
+ function (state) {
218
240
  response.matches = response.matches || state.matches;
219
241
  response.breakpoints[state.query] = state.matches;
220
- });
242
+ }));
221
243
  return response;
222
- }));
244
+ })));
223
245
  };
224
246
  /** Registers a specific query to be listened for. */
225
247
  /**
@@ -241,22 +263,40 @@ var BreakpointObserver = /** @class */ (function () {
241
263
  return (/** @type {?} */ (this._queries.get(query)));
242
264
  }
243
265
  /** @type {?} */
244
- var mql = this.mediaMatcher.matchMedia(query);
266
+ var mql = this._mediaMatcher.matchMedia(query);
245
267
  // Create callback for match changes and add it is as a listener.
246
268
  /** @type {?} */
247
- var queryObservable = new Observable(function (observer) {
269
+ var queryObservable = new Observable((/**
270
+ * @param {?} observer
271
+ * @return {?}
272
+ */
273
+ function (observer) {
248
274
  // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed
249
275
  // back into the zone because matchMedia is only included in Zone.js by loading the
250
276
  // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not
251
277
  // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js
252
278
  // patches it.
253
279
  /** @type {?} */
254
- var handler = function (e) { return _this.zone.run(function () { return observer.next(e); }); };
280
+ var handler = (/**
281
+ * @param {?} e
282
+ * @return {?}
283
+ */
284
+ function (e) { return _this._zone.run((/**
285
+ * @return {?}
286
+ */
287
+ function () { return observer.next(e); })); });
255
288
  mql.addListener(handler);
256
- return function () {
289
+ return (/**
290
+ * @return {?}
291
+ */
292
+ function () {
257
293
  mql.removeListener(handler);
258
- };
259
- }).pipe(startWith(mql), map(function (nextMql) { return ({ query: query, matches: nextMql.matches }); }), takeUntil(this._destroySubject));
294
+ });
295
+ })).pipe(startWith(mql), map((/**
296
+ * @param {?} nextMql
297
+ * @return {?}
298
+ */
299
+ function (nextMql) { return ({ query: query, matches: nextMql.matches }); })), takeUntil(this._destroySubject));
260
300
  // Add the MediaQueryList to the set of queries.
261
301
  /** @type {?} */
262
302
  var output = { observable: queryObservable, mql: mql };
@@ -271,7 +311,7 @@ var BreakpointObserver = /** @class */ (function () {
271
311
  { type: MediaMatcher },
272
312
  { type: NgZone }
273
313
  ]; };
274
- /** @nocollapse */ BreakpointObserver.ngInjectableDef = defineInjectable({ factory: function BreakpointObserver_Factory() { return new BreakpointObserver(inject(MediaMatcher), inject(NgZone)); }, token: BreakpointObserver, providedIn: "root" });
314
+ /** @nocollapse */ BreakpointObserver.ngInjectableDef = ɵɵdefineInjectable({ factory: function BreakpointObserver_Factory() { return new BreakpointObserver(ɵɵinject(MediaMatcher), ɵɵinject(NgZone)); }, token: BreakpointObserver, providedIn: "root" });
275
315
  return BreakpointObserver;
276
316
  }());
277
317
  /**
@@ -281,14 +321,27 @@ var BreakpointObserver = /** @class */ (function () {
281
321
  * @return {?}
282
322
  */
283
323
  function splitQueries(queries) {
284
- return queries.map(function (query) { return query.split(','); })
285
- .reduce(function (a1, a2) { return a1.concat(a2); })
286
- .map(function (query) { return query.trim(); });
324
+ return queries.map((/**
325
+ * @param {?} query
326
+ * @return {?}
327
+ */
328
+ function (query) { return query.split(','); }))
329
+ .reduce((/**
330
+ * @param {?} a1
331
+ * @param {?} a2
332
+ * @return {?}
333
+ */
334
+ function (a1, a2) { return a1.concat(a2); }))
335
+ .map((/**
336
+ * @param {?} query
337
+ * @return {?}
338
+ */
339
+ function (query) { return query.trim(); }));
287
340
  }
288
341
 
289
342
  /**
290
343
  * @fileoverview added by tsickle
291
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
344
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
292
345
  */
293
346
  // PascalCase is being used as Breakpoints is used like an enum.
294
347
  // tslint:disable-next-line:variable-name
@@ -322,12 +375,12 @@ var Breakpoints = {
322
375
 
323
376
  /**
324
377
  * @fileoverview added by tsickle
325
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
378
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
326
379
  */
327
380
 
328
381
  /**
329
382
  * @fileoverview added by tsickle
330
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
383
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
331
384
  */
332
385
 
333
386
  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, Observable, Subject, Observer} 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 // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable<MediaQueryList>((observer: Observer<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 const handler = (e: any) => this.zone.run(() => observer.next(e));\n mql.addListener(handler);\n\n return () => {\n mql.removeListener(handler);\n };\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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"}
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, Observable, Subject, Observer} 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 // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable<MediaQueryList>((observer: Observer<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 const handler = (e: any) => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n\n return () => {\n mql.removeListener(handler);\n };\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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"}
@@ -6,13 +6,13 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { coerceBooleanProperty, coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';
9
- import { Directive, ElementRef, EventEmitter, Injectable, Input, NgModule, NgZone, Output, defineInjectable, inject } from '@angular/core';
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,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
15
+ * @suppress {checkTypes,extraRequire,missingOverride,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.
@@ -35,7 +35,7 @@ var MutationObserverFactory = /** @class */ (function () {
35
35
  MutationObserverFactory.decorators = [
36
36
  { type: Injectable, args: [{ providedIn: 'root' },] },
37
37
  ];
38
- /** @nocollapse */ MutationObserverFactory.ngInjectableDef = defineInjectable({ factory: function MutationObserverFactory_Factory() { return new MutationObserverFactory(); }, token: MutationObserverFactory, providedIn: "root" });
38
+ /** @nocollapse */ MutationObserverFactory.ngInjectableDef = ɵɵdefineInjectable({ factory: function MutationObserverFactory_Factory() { return new MutationObserverFactory(); }, token: MutationObserverFactory, providedIn: "root" });
39
39
  return MutationObserverFactory;
40
40
  }());
41
41
  /**
@@ -57,7 +57,12 @@ var ContentObserver = /** @class */ (function () {
57
57
  */
58
58
  function () {
59
59
  var _this = this;
60
- this._observedElements.forEach(function (_, element) { return _this._cleanupObserver(element); });
60
+ this._observedElements.forEach((/**
61
+ * @param {?} _
62
+ * @param {?} element
63
+ * @return {?}
64
+ */
65
+ function (_, element) { return _this._cleanupObserver(element); }));
61
66
  };
62
67
  /**
63
68
  * @param {?} elementOrRef
@@ -71,16 +76,23 @@ var ContentObserver = /** @class */ (function () {
71
76
  var _this = this;
72
77
  /** @type {?} */
73
78
  var element = coerceElement(elementOrRef);
74
- return new Observable(function (observer) {
79
+ return new Observable((/**
80
+ * @param {?} observer
81
+ * @return {?}
82
+ */
83
+ function (observer) {
75
84
  /** @type {?} */
76
85
  var stream = _this._observeElement(element);
77
86
  /** @type {?} */
78
87
  var subscription = stream.subscribe(observer);
79
- return function () {
88
+ return (/**
89
+ * @return {?}
90
+ */
91
+ function () {
80
92
  subscription.unsubscribe();
81
93
  _this._unobserveElement(element);
82
- };
83
- });
94
+ });
95
+ }));
84
96
  };
85
97
  /**
86
98
  * Observes the given element by using the existing MutationObserver if available, or creating a
@@ -105,7 +117,11 @@ var ContentObserver = /** @class */ (function () {
105
117
  /** @type {?} */
106
118
  var stream_1 = new Subject();
107
119
  /** @type {?} */
108
- var observer = this._mutationObserverFactory.create(function (mutations) { return stream_1.next(mutations); });
120
+ var observer = this._mutationObserverFactory.create((/**
121
+ * @param {?} mutations
122
+ * @return {?}
123
+ */
124
+ function (mutations) { return stream_1.next(mutations); }));
109
125
  if (observer) {
110
126
  observer.observe(element, {
111
127
  characterData: true,
@@ -176,7 +192,7 @@ var ContentObserver = /** @class */ (function () {
176
192
  ContentObserver.ctorParameters = function () { return [
177
193
  { type: MutationObserverFactory }
178
194
  ]; };
179
- /** @nocollapse */ ContentObserver.ngInjectableDef = defineInjectable({ factory: function ContentObserver_Factory() { return new ContentObserver(inject(MutationObserverFactory)); }, token: ContentObserver, providedIn: "root" });
195
+ /** @nocollapse */ ContentObserver.ngInjectableDef = ɵɵdefineInjectable({ factory: function ContentObserver_Factory() { return new ContentObserver(ɵɵinject(MutationObserverFactory)); }, token: ContentObserver, providedIn: "root" });
180
196
  return ContentObserver;
181
197
  }());
182
198
  /**
@@ -272,10 +288,13 @@ var CdkObserveContent = /** @class */ (function () {
272
288
  // Consider brining it back inside the zone next time we're making breaking changes.
273
289
  // Bringing it back inside can cause things like infinite change detection loops and changed
274
290
  // after checked errors if people's code isn't handling it properly.
275
- this._ngZone.runOutsideAngular(function () {
291
+ this._ngZone.runOutsideAngular((/**
292
+ * @return {?}
293
+ */
294
+ function () {
276
295
  _this._currentSubscription =
277
296
  (_this.debounce ? stream.pipe(debounceTime(_this.debounce)) : stream).subscribe(_this.event);
278
- });
297
+ }));
279
298
  };
280
299
  /**
281
300
  * @private
@@ -324,12 +343,12 @@ var ObserversModule = /** @class */ (function () {
324
343
 
325
344
  /**
326
345
  * @fileoverview added by tsickle
327
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
346
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
328
347
  */
329
348
 
330
349
  /**
331
350
  * @fileoverview added by tsickle
332
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
351
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
333
352
  */
334
353
 
335
354
  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, 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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"}
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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"}