@angular/cdk 8.0.0-rc.2 → 8.1.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 (338) hide show
  1. package/a11y/typings/aria-describer/aria-describer.d.ts +4 -3
  2. package/a11y/typings/index.metadata.json +1 -1
  3. package/bundles/cdk-a11y.umd.js +42 -10
  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-drag-drop.umd.js +532 -87
  8. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  9. package/bundles/cdk-drag-drop.umd.min.js +2 -2
  10. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  11. package/bundles/cdk-layout.umd.js +5 -1
  12. package/bundles/cdk-layout.umd.js.map +1 -1
  13. package/bundles/cdk-layout.umd.min.js +1 -1
  14. package/bundles/cdk-layout.umd.min.js.map +1 -1
  15. package/bundles/cdk-overlay.umd.js +31 -23
  16. package/bundles/cdk-overlay.umd.js.map +1 -1
  17. package/bundles/cdk-overlay.umd.min.js +2 -2
  18. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  19. package/bundles/cdk-scrolling.umd.js +6 -7
  20. package/bundles/cdk-scrolling.umd.js.map +1 -1
  21. package/bundles/cdk-scrolling.umd.min.js +1 -1
  22. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  23. package/bundles/cdk-tree.umd.js +8 -6
  24. package/bundles/cdk-tree.umd.js.map +1 -1
  25. package/bundles/cdk-tree.umd.min.js +1 -1
  26. package/bundles/cdk-tree.umd.min.js.map +1 -1
  27. package/bundles/cdk.umd.js +1 -1
  28. package/bundles/cdk.umd.js.map +1 -1
  29. package/bundles/cdk.umd.min.js +1 -1
  30. package/bundles/cdk.umd.min.js.map +1 -1
  31. package/drag-drop/typings/directives/drag.d.ts +1 -1
  32. package/drag-drop/typings/directives/drop-list.d.ts +2 -0
  33. package/drag-drop/typings/drag-drop-registry.d.ts +2 -0
  34. package/drag-drop/typings/drag-ref.d.ts +10 -1
  35. package/drag-drop/typings/drop-list-ref.d.ts +59 -3
  36. package/drag-drop/typings/index.metadata.json +1 -1
  37. package/esm2015/a11y.js +35 -10
  38. package/esm2015/a11y.js.map +1 -1
  39. package/esm2015/cdk.js +1 -1
  40. package/esm2015/cdk.js.map +1 -1
  41. package/esm2015/drag-drop.js +467 -85
  42. package/esm2015/drag-drop.js.map +1 -1
  43. package/esm2015/layout.js +7 -3
  44. package/esm2015/layout.js.map +1 -1
  45. package/esm2015/overlay.js +31 -23
  46. package/esm2015/overlay.js.map +1 -1
  47. package/esm2015/scrolling.js +6 -7
  48. package/esm2015/scrolling.js.map +1 -1
  49. package/esm2015/tree.js +7 -6
  50. package/esm2015/tree.js.map +1 -1
  51. package/esm5/a11y.es5.js +42 -10
  52. package/esm5/a11y.es5.js.map +1 -1
  53. package/esm5/cdk.es5.js +1 -1
  54. package/esm5/cdk.es5.js.map +1 -1
  55. package/esm5/drag-drop.es5.js +530 -85
  56. package/esm5/drag-drop.es5.js.map +1 -1
  57. package/esm5/layout.es5.js +7 -3
  58. package/esm5/layout.es5.js.map +1 -1
  59. package/esm5/overlay.es5.js +32 -24
  60. package/esm5/overlay.es5.js.map +1 -1
  61. package/esm5/scrolling.es5.js +6 -7
  62. package/esm5/scrolling.es5.js.map +1 -1
  63. package/esm5/tree.es5.js +8 -6
  64. package/esm5/tree.es5.js.map +1 -1
  65. package/overlay/typings/index.metadata.json +1 -1
  66. package/overlay/typings/overlay-ref.d.ts +1 -0
  67. package/package.json +4 -4
  68. package/schematics/index.d.ts +1 -0
  69. package/schematics/index.js +1 -0
  70. package/schematics/index.js.map +1 -1
  71. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.__style__ → __name@dasherize__.component.__style__.template} +0 -0
  72. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.html → __name@dasherize__.component.html.template} +0 -0
  73. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.spec.ts → __name@dasherize__.component.spec.ts.template} +0 -0
  74. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.ts → __name@dasherize__.component.ts.template} +0 -0
  75. package/schematics/ng-generate/drag-drop/index.js +2 -2
  76. package/schematics/ng-generate/drag-drop/index.js.map +1 -1
  77. package/schematics/ng-update/data/attribute-selectors.d.ts +1 -1
  78. package/schematics/ng-update/data/attribute-selectors.js +5 -13
  79. package/schematics/ng-update/data/attribute-selectors.js.map +1 -1
  80. package/schematics/ng-update/data/class-names.d.ts +1 -1
  81. package/schematics/ng-update/data/class-names.js +5 -21
  82. package/schematics/ng-update/data/class-names.js.map +1 -1
  83. package/schematics/ng-update/data/constructor-checks.d.ts +1 -1
  84. package/schematics/ng-update/data/constructor-checks.js +3 -5
  85. package/schematics/ng-update/data/constructor-checks.js.map +1 -1
  86. package/schematics/ng-update/data/css-selectors.d.ts +1 -1
  87. package/schematics/ng-update/data/css-selectors.js +1 -1
  88. package/schematics/ng-update/data/css-selectors.js.map +1 -1
  89. package/schematics/ng-update/data/element-selectors.d.ts +1 -1
  90. package/schematics/ng-update/data/element-selectors.js +1 -1
  91. package/schematics/ng-update/data/element-selectors.js.map +1 -1
  92. package/schematics/ng-update/data/input-names.d.ts +1 -1
  93. package/schematics/ng-update/data/input-names.js +13 -37
  94. package/schematics/ng-update/data/input-names.js.map +1 -1
  95. package/schematics/ng-update/data/method-call-checks.d.ts +1 -1
  96. package/schematics/ng-update/data/method-call-checks.js +6 -15
  97. package/schematics/ng-update/data/method-call-checks.js.map +1 -1
  98. package/schematics/ng-update/data/output-names.d.ts +1 -1
  99. package/schematics/ng-update/data/output-names.js +1 -1
  100. package/schematics/ng-update/data/output-names.js.map +1 -1
  101. package/schematics/ng-update/data/property-names.d.ts +1 -1
  102. package/schematics/ng-update/data/property-names.js +19 -59
  103. package/schematics/ng-update/data/property-names.js.map +1 -1
  104. package/schematics/ng-update/html-parsing/elements.js.map +1 -1
  105. package/schematics/ng-update/index.d.ts +0 -2
  106. package/schematics/ng-update/index.js +13 -24
  107. package/schematics/ng-update/index.js.map +1 -1
  108. package/schematics/ng-update/public-api.d.ts +0 -5
  109. package/schematics/ng-update/public-api.js +0 -5
  110. package/schematics/ng-update/public-api.js.map +1 -1
  111. package/schematics/ng-update/typescript/base-types.js.map +1 -1
  112. package/schematics/ng-update/typescript/module-specifiers.js.map +1 -1
  113. package/schematics/ng-update/upgrade-data.d.ts +5 -30
  114. package/schematics/ng-update/upgrade-data.js +4 -34
  115. package/schematics/ng-update/upgrade-data.js.map +1 -1
  116. package/schematics/ng-update/upgrade-rules/attribute-selectors-rule.d.ts +25 -0
  117. package/schematics/ng-update/upgrade-rules/attribute-selectors-rule.js +66 -0
  118. package/schematics/ng-update/upgrade-rules/attribute-selectors-rule.js.map +1 -0
  119. package/schematics/ng-update/upgrade-rules/class-inheritance-rule.d.ts +26 -0
  120. package/schematics/ng-update/upgrade-rules/{class-inheritance/classInheritanceCheckRule.js → class-inheritance-rule.js} +24 -20
  121. package/schematics/ng-update/upgrade-rules/class-inheritance-rule.js.map +1 -0
  122. package/{typings/schematics/ng-update/upgrade-rules/class-names/classNamesIdentifierRule.d.ts → schematics/ng-update/upgrade-rules/class-names-rule.d.ts} +7 -7
  123. package/schematics/ng-update/upgrade-rules/{class-names/classNamesIdentifierRule.js → class-names-rule.js} +19 -24
  124. package/schematics/ng-update/upgrade-rules/class-names-rule.js.map +1 -0
  125. package/schematics/ng-update/upgrade-rules/constructor-signature-rule.d.ts +29 -0
  126. package/schematics/ng-update/upgrade-rules/constructor-signature-rule.js +134 -0
  127. package/schematics/ng-update/upgrade-rules/constructor-signature-rule.js.map +1 -0
  128. package/schematics/ng-update/upgrade-rules/css-selectors-rule.d.ts +25 -0
  129. package/schematics/ng-update/upgrade-rules/css-selectors-rule.js +73 -0
  130. package/schematics/ng-update/upgrade-rules/css-selectors-rule.js.map +1 -0
  131. package/schematics/ng-update/upgrade-rules/element-selectors-rule.d.ts +25 -0
  132. package/schematics/ng-update/upgrade-rules/element-selectors-rule.js +64 -0
  133. package/schematics/ng-update/upgrade-rules/element-selectors-rule.js.map +1 -0
  134. package/schematics/ng-update/upgrade-rules/index.d.ts +13 -4
  135. package/schematics/ng-update/upgrade-rules/index.js +49 -29
  136. package/schematics/ng-update/upgrade-rules/index.js.map +1 -1
  137. package/schematics/ng-update/upgrade-rules/input-names-rule.d.ts +26 -0
  138. package/schematics/ng-update/upgrade-rules/input-names-rule.js +59 -0
  139. package/schematics/ng-update/upgrade-rules/input-names-rule.js.map +1 -0
  140. package/schematics/ng-update/upgrade-rules/{signature-check/methodCallsCheckRule.d.ts → method-call-arguments-rule.d.ts} +8 -9
  141. package/schematics/ng-update/upgrade-rules/method-call-arguments-rule.js +60 -0
  142. package/schematics/ng-update/upgrade-rules/method-call-arguments-rule.js.map +1 -0
  143. package/schematics/ng-update/upgrade-rules/misc-template-rule.d.ts +18 -0
  144. package/schematics/ng-update/upgrade-rules/misc-template-rule.js +37 -0
  145. package/schematics/ng-update/upgrade-rules/misc-template-rule.js.map +1 -0
  146. package/schematics/ng-update/upgrade-rules/output-names-rule.d.ts +22 -0
  147. package/schematics/ng-update/upgrade-rules/output-names-rule.js +46 -0
  148. package/schematics/ng-update/upgrade-rules/output-names-rule.js.map +1 -0
  149. package/schematics/ng-update/upgrade-rules/property-names-rule.d.ts +22 -0
  150. package/schematics/ng-update/upgrade-rules/property-names-rule.js +46 -0
  151. package/schematics/ng-update/upgrade-rules/property-names-rule.js.map +1 -0
  152. package/schematics/tsconfig.tsbuildinfo +2896 -3609
  153. package/schematics/update-tool/component-resource-collector.d.ts +41 -0
  154. package/schematics/update-tool/component-resource-collector.js +141 -0
  155. package/schematics/update-tool/component-resource-collector.js.map +1 -0
  156. package/schematics/update-tool/index.d.ts +13 -0
  157. package/schematics/update-tool/index.js +117 -0
  158. package/schematics/update-tool/index.js.map +1 -0
  159. package/schematics/update-tool/migration-rule.d.ts +45 -0
  160. package/schematics/update-tool/migration-rule.js +50 -0
  161. package/schematics/update-tool/migration-rule.js.map +1 -0
  162. package/schematics/update-tool/public-api.d.ts +12 -0
  163. package/schematics/update-tool/public-api.js +18 -0
  164. package/schematics/update-tool/public-api.js.map +1 -0
  165. package/schematics/{ng-update → update-tool}/target-version.d.ts +3 -3
  166. package/schematics/{ng-update → update-tool}/target-version.js +3 -3
  167. package/schematics/update-tool/target-version.js.map +1 -0
  168. package/schematics/update-tool/utils/decorators.d.ts +23 -0
  169. package/schematics/update-tool/utils/decorators.js +37 -0
  170. package/schematics/update-tool/utils/decorators.js.map +1 -0
  171. package/schematics/update-tool/utils/functions.d.ts +14 -0
  172. package/schematics/update-tool/utils/functions.js +20 -0
  173. package/schematics/update-tool/utils/functions.js.map +1 -0
  174. package/schematics/update-tool/utils/imports.d.ts +15 -0
  175. package/schematics/update-tool/utils/imports.js +35 -0
  176. package/schematics/update-tool/utils/imports.js.map +1 -0
  177. package/schematics/update-tool/utils/line-mappings.d.ts +21 -0
  178. package/schematics/update-tool/utils/line-mappings.js +75 -0
  179. package/schematics/update-tool/utils/line-mappings.js.map +1 -0
  180. package/schematics/update-tool/utils/parse-tsconfig.d.ts +9 -0
  181. package/schematics/update-tool/utils/parse-tsconfig.js +22 -0
  182. package/schematics/update-tool/utils/parse-tsconfig.js.map +1 -0
  183. package/schematics/update-tool/utils/property-name.d.ts +18 -0
  184. package/schematics/update-tool/utils/property-name.js +27 -0
  185. package/schematics/update-tool/utils/property-name.js.map +1 -0
  186. package/schematics/update-tool/version-changes.d.ts +32 -0
  187. package/schematics/update-tool/version-changes.js +41 -0
  188. package/schematics/update-tool/version-changes.js.map +1 -0
  189. package/schematics/utils/build-component.js +4 -4
  190. package/schematics/utils/build-component.js.map +1 -1
  191. package/schematics/{ng-update/upgrade-rules → utils}/project-tsconfig-paths.d.ts +4 -1
  192. package/schematics/utils/project-tsconfig-paths.js +77 -0
  193. package/schematics/utils/project-tsconfig-paths.js.map +1 -0
  194. package/typings/a11y/aria-describer/aria-describer.d.ts +4 -3
  195. package/typings/a11y/index.metadata.json +1 -1
  196. package/typings/drag-drop/directives/drag.d.ts +1 -1
  197. package/typings/drag-drop/directives/drop-list.d.ts +2 -0
  198. package/typings/drag-drop/drag-drop-registry.d.ts +2 -0
  199. package/typings/drag-drop/drag-ref.d.ts +10 -1
  200. package/typings/drag-drop/drop-list-ref.d.ts +59 -3
  201. package/typings/drag-drop/index.metadata.json +1 -1
  202. package/typings/esm5/a11y/aria-describer/aria-describer.d.ts +4 -3
  203. package/typings/esm5/a11y/index.metadata.json +1 -1
  204. package/typings/esm5/drag-drop/directives/drag.d.ts +1 -1
  205. package/typings/esm5/drag-drop/directives/drop-list.d.ts +2 -0
  206. package/typings/esm5/drag-drop/drag-drop-registry.d.ts +2 -0
  207. package/typings/esm5/drag-drop/drag-ref.d.ts +10 -1
  208. package/typings/esm5/drag-drop/drop-list-ref.d.ts +59 -3
  209. package/typings/esm5/drag-drop/index.metadata.json +1 -1
  210. package/typings/esm5/index.metadata.json +1 -1
  211. package/typings/esm5/overlay/index.metadata.json +1 -1
  212. package/typings/esm5/overlay/overlay-ref.d.ts +1 -0
  213. package/typings/index.metadata.json +1 -1
  214. package/typings/overlay/index.metadata.json +1 -1
  215. package/typings/overlay/overlay-ref.d.ts +1 -0
  216. package/typings/schematics/index.d.ts +1 -0
  217. package/typings/schematics/ng-update/data/attribute-selectors.d.ts +1 -1
  218. package/typings/schematics/ng-update/data/class-names.d.ts +1 -1
  219. package/typings/schematics/ng-update/data/constructor-checks.d.ts +1 -1
  220. package/typings/schematics/ng-update/data/css-selectors.d.ts +1 -1
  221. package/typings/schematics/ng-update/data/element-selectors.d.ts +1 -1
  222. package/typings/schematics/ng-update/data/input-names.d.ts +1 -1
  223. package/typings/schematics/ng-update/data/method-call-checks.d.ts +1 -1
  224. package/typings/schematics/ng-update/data/output-names.d.ts +1 -1
  225. package/typings/schematics/ng-update/data/property-names.d.ts +1 -1
  226. package/typings/schematics/ng-update/index.d.ts +0 -2
  227. package/typings/schematics/ng-update/public-api.d.ts +0 -5
  228. package/typings/schematics/ng-update/upgrade-data.d.ts +5 -30
  229. package/typings/schematics/ng-update/upgrade-rules/attribute-selectors-rule.d.ts +25 -0
  230. package/typings/schematics/ng-update/upgrade-rules/class-inheritance-rule.d.ts +26 -0
  231. package/{schematics/ng-update/upgrade-rules/class-names/classNamesIdentifierRule.d.ts → typings/schematics/ng-update/upgrade-rules/class-names-rule.d.ts} +7 -7
  232. package/typings/schematics/ng-update/upgrade-rules/constructor-signature-rule.d.ts +29 -0
  233. package/typings/schematics/ng-update/upgrade-rules/css-selectors-rule.d.ts +25 -0
  234. package/typings/schematics/ng-update/upgrade-rules/element-selectors-rule.d.ts +25 -0
  235. package/typings/schematics/ng-update/upgrade-rules/index.d.ts +13 -4
  236. package/typings/schematics/ng-update/upgrade-rules/input-names-rule.d.ts +26 -0
  237. package/typings/schematics/ng-update/upgrade-rules/{signature-check/methodCallsCheckRule.d.ts → method-call-arguments-rule.d.ts} +8 -9
  238. package/typings/schematics/ng-update/upgrade-rules/misc-template-rule.d.ts +18 -0
  239. package/typings/schematics/ng-update/upgrade-rules/output-names-rule.d.ts +22 -0
  240. package/typings/schematics/ng-update/upgrade-rules/property-names-rule.d.ts +22 -0
  241. package/typings/schematics/update-tool/component-resource-collector.d.ts +41 -0
  242. package/typings/schematics/update-tool/index.d.ts +13 -0
  243. package/typings/schematics/update-tool/migration-rule.d.ts +45 -0
  244. package/typings/schematics/update-tool/public-api.d.ts +12 -0
  245. package/typings/schematics/{ng-update → update-tool}/target-version.d.ts +3 -3
  246. package/typings/schematics/update-tool/utils/decorators.d.ts +23 -0
  247. package/typings/schematics/update-tool/utils/functions.d.ts +14 -0
  248. package/typings/schematics/update-tool/utils/imports.d.ts +15 -0
  249. package/typings/schematics/update-tool/utils/line-mappings.d.ts +21 -0
  250. package/typings/schematics/update-tool/utils/parse-tsconfig.d.ts +9 -0
  251. package/typings/schematics/update-tool/utils/property-name.d.ts +18 -0
  252. package/typings/schematics/update-tool/version-changes.d.ts +32 -0
  253. package/typings/schematics/{ng-update/upgrade-rules → utils}/project-tsconfig-paths.d.ts +4 -1
  254. package/schematics/ng-update/target-version.js.map +0 -1
  255. package/schematics/ng-update/tslint/component-file.d.ts +0 -14
  256. package/schematics/ng-update/tslint/component-file.js +0 -31
  257. package/schematics/ng-update/tslint/component-file.js.map +0 -1
  258. package/schematics/ng-update/tslint/component-walker.d.ts +0 -47
  259. package/schematics/ng-update/tslint/component-walker.js +0 -142
  260. package/schematics/ng-update/tslint/component-walker.js.map +0 -1
  261. package/schematics/ng-update/tslint/external-failure-walker.d.ts +0 -25
  262. package/schematics/ng-update/tslint/external-failure-walker.js +0 -38
  263. package/schematics/ng-update/tslint/external-failure-walker.js.map +0 -1
  264. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStringLiteralRule.d.ts +0 -16
  265. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStringLiteralRule.js +0 -49
  266. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStringLiteralRule.js.map +0 -1
  267. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStylesheetRule.d.ts +0 -31
  268. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStylesheetRule.js +0 -62
  269. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStylesheetRule.js.map +0 -1
  270. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsTemplateRule.d.ts +0 -30
  271. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsTemplateRule.js +0 -59
  272. package/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsTemplateRule.js.map +0 -1
  273. package/schematics/ng-update/upgrade-rules/class-inheritance/classInheritanceCheckRule.d.ts +0 -26
  274. package/schematics/ng-update/upgrade-rules/class-inheritance/classInheritanceCheckRule.js.map +0 -1
  275. package/schematics/ng-update/upgrade-rules/class-names/classNamesIdentifierRule.js.map +0 -1
  276. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStringLiteralRule.d.ts +0 -24
  277. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStringLiteralRule.js +0 -53
  278. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStringLiteralRule.js.map +0 -1
  279. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStylesheetRule.d.ts +0 -31
  280. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStylesheetRule.js +0 -63
  281. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStylesheetRule.js.map +0 -1
  282. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsTemplateRule.d.ts +0 -30
  283. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsTemplateRule.js +0 -62
  284. package/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsTemplateRule.js.map +0 -1
  285. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStringLiteralRule.d.ts +0 -24
  286. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStringLiteralRule.js +0 -50
  287. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStringLiteralRule.js.map +0 -1
  288. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStylesheetRule.d.ts +0 -31
  289. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStylesheetRule.js +0 -60
  290. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStylesheetRule.js.map +0 -1
  291. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsTemplateRule.d.ts +0 -30
  292. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsTemplateRule.js +0 -59
  293. package/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsTemplateRule.js.map +0 -1
  294. package/schematics/ng-update/upgrade-rules/input-names/inputNamesStylesheetRule.d.ts +0 -36
  295. package/schematics/ng-update/upgrade-rules/input-names/inputNamesStylesheetRule.js +0 -67
  296. package/schematics/ng-update/upgrade-rules/input-names/inputNamesStylesheetRule.js.map +0 -1
  297. package/schematics/ng-update/upgrade-rules/input-names/inputNamesTemplateRule.d.ts +0 -30
  298. package/schematics/ng-update/upgrade-rules/input-names/inputNamesTemplateRule.js +0 -67
  299. package/schematics/ng-update/upgrade-rules/input-names/inputNamesTemplateRule.js.map +0 -1
  300. package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.d.ts +0 -23
  301. package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.js +0 -49
  302. package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.js.map +0 -1
  303. package/schematics/ng-update/upgrade-rules/output-names/outputNamesTemplateRule.d.ts +0 -30
  304. package/schematics/ng-update/upgrade-rules/output-names/outputNamesTemplateRule.js +0 -67
  305. package/schematics/ng-update/upgrade-rules/output-names/outputNamesTemplateRule.js.map +0 -1
  306. package/schematics/ng-update/upgrade-rules/project-tsconfig-paths.js +0 -64
  307. package/schematics/ng-update/upgrade-rules/project-tsconfig-paths.js.map +0 -1
  308. package/schematics/ng-update/upgrade-rules/property-names/propertyNamesAccessRule.d.ts +0 -22
  309. package/schematics/ng-update/upgrade-rules/property-names/propertyNamesAccessRule.js +0 -46
  310. package/schematics/ng-update/upgrade-rules/property-names/propertyNamesAccessRule.js.map +0 -1
  311. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.d.ts +0 -16
  312. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js +0 -132
  313. package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js.map +0 -1
  314. package/schematics/ng-update/upgrade-rules/signature-check/methodCallsCheckRule.js +0 -58
  315. package/schematics/ng-update/upgrade-rules/signature-check/methodCallsCheckRule.js.map +0 -1
  316. package/schematics/ng-update/upgrade-rules/tslint-config.d.ts +0 -32
  317. package/schematics/ng-update/upgrade-rules/tslint-config.js +0 -76
  318. package/schematics/ng-update/upgrade-rules/tslint-config.js.map +0 -1
  319. package/typings/schematics/ng-update/tslint/component-file.d.ts +0 -14
  320. package/typings/schematics/ng-update/tslint/component-walker.d.ts +0 -47
  321. package/typings/schematics/ng-update/tslint/external-failure-walker.d.ts +0 -25
  322. package/typings/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStringLiteralRule.d.ts +0 -16
  323. package/typings/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsStylesheetRule.d.ts +0 -31
  324. package/typings/schematics/ng-update/upgrade-rules/attribute-selectors/attributeSelectorsTemplateRule.d.ts +0 -30
  325. package/typings/schematics/ng-update/upgrade-rules/class-inheritance/classInheritanceCheckRule.d.ts +0 -26
  326. package/typings/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStringLiteralRule.d.ts +0 -24
  327. package/typings/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsStylesheetRule.d.ts +0 -31
  328. package/typings/schematics/ng-update/upgrade-rules/css-selectors/cssSelectorsTemplateRule.d.ts +0 -30
  329. package/typings/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStringLiteralRule.d.ts +0 -24
  330. package/typings/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsStylesheetRule.d.ts +0 -31
  331. package/typings/schematics/ng-update/upgrade-rules/element-selectors/elementSelectorsTemplateRule.d.ts +0 -30
  332. package/typings/schematics/ng-update/upgrade-rules/input-names/inputNamesStylesheetRule.d.ts +0 -36
  333. package/typings/schematics/ng-update/upgrade-rules/input-names/inputNamesTemplateRule.d.ts +0 -30
  334. package/typings/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.d.ts +0 -23
  335. package/typings/schematics/ng-update/upgrade-rules/output-names/outputNamesTemplateRule.d.ts +0 -30
  336. package/typings/schematics/ng-update/upgrade-rules/property-names/propertyNamesAccessRule.d.ts +0 -22
  337. package/typings/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.d.ts +0 -16
  338. package/typings/schematics/ng-update/upgrade-rules/tslint-config.d.ts +0 -32
package/esm2015/layout.js CHANGED
@@ -7,8 +7,8 @@
7
7
  */
8
8
  import { NgModule, Injectable, NgZone, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
9
9
  import { Platform } from '@angular/cdk/platform';
10
- import { asapScheduler, combineLatest, Observable, Subject } from 'rxjs';
11
- import { debounceTime, map, startWith, takeUntil } from 'rxjs/operators';
10
+ import { combineLatest, concat, Observable, Subject } from 'rxjs';
11
+ import { debounceTime, map, skip, startWith, take, takeUntil } from 'rxjs/operators';
12
12
  import { coerceArray } from '@angular/cdk/coercion';
13
13
 
14
14
  /**
@@ -182,7 +182,11 @@ class BreakpointObserver {
182
182
  * @return {?}
183
183
  */
184
184
  query => this._registerQuery(query).observable));
185
- return combineLatest(observables).pipe(debounceTime(0, asapScheduler), map((/**
185
+ /** @type {?} */
186
+ let stateObservable = combineLatest(observables);
187
+ // Emit the first state immediately, and then debounce the subsequent emissions.
188
+ stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));
189
+ return stateObservable.pipe(map((/**
186
190
  * @param {?} breakpointStates
187
191
  * @return {?}
188
192
  */
@@ -1 +1 @@
1
- {"version":3,"file":"layout.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.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 {combineLatest, concat, Observable, Subject, Observer} from 'rxjs';\nimport {debounceTime, map, skip, startWith, take, 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 let stateObservable = combineLatest(observables);\n // Emit the first state immediately, and then debounce the subsequent emissions.\n stateObservable = concat(\n stateObservable.pipe(take(1)),\n stateObservable.pipe(skip(1), debounceTime(0)));\n return stateObservable.pipe(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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"}
@@ -15,7 +15,7 @@ import { take, takeUntil } from 'rxjs/operators';
15
15
  import { Platform } from '@angular/cdk/platform';
16
16
  import { Directionality, BidiModule } from '@angular/cdk/bidi';
17
17
  import { DomPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';
18
- import { ESCAPE } from '@angular/cdk/keycodes';
18
+ import { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';
19
19
 
20
20
  /**
21
21
  * @fileoverview added by tsickle
@@ -494,17 +494,19 @@ class OverlayConfig {
494
494
  */
495
495
  this.disposeOnNavigation = false;
496
496
  if (config) {
497
- Object.keys(config).forEach((/**
498
- * @param {?} k
499
- * @return {?}
500
- */
501
- k => {
502
- /** @type {?} */
503
- const key = (/** @type {?} */ (k));
504
- if (typeof config[key] !== 'undefined') {
505
- this[key] = config[key];
497
+ /** @type {?} */
498
+ const configKeys = (/** @type {?} */ (Object.keys(config)));
499
+ for (const key of configKeys) {
500
+ if (config[key] !== undefined) {
501
+ // TypeScript, as of version 3.5, sees the left-hand-side of this expression
502
+ // as "I don't know *which* key this is, so the only valid value is the intersection
503
+ // of all the posible values." In this case, that happens to be `undefined`. TypeScript
504
+ // is not smart enough to see that the right-hand-side is actually an access of the same
505
+ // exact type with the same exact key, meaning that the value type must be identical.
506
+ // So we use `any` to work around this.
507
+ this[key] = (/** @type {?} */ (config[key]));
506
508
  }
507
- }));
509
+ }
508
510
  }
509
511
  }
510
512
  }
@@ -665,7 +667,7 @@ class OverlayKeyboardDispatcher {
665
667
  this.remove(overlayRef);
666
668
  // Lazily start dispatcher once first overlay is added
667
669
  if (!this._isAttached) {
668
- this._document.body.addEventListener('keydown', this._keydownListener, true);
670
+ this._document.body.addEventListener('keydown', this._keydownListener);
669
671
  this._isAttached = true;
670
672
  }
671
673
  this._attachedOverlays.push(overlayRef);
@@ -693,7 +695,7 @@ class OverlayKeyboardDispatcher {
693
695
  */
694
696
  _detach() {
695
697
  if (this._isAttached) {
696
- this._document.body.removeEventListener('keydown', this._keydownListener, true);
698
+ this._document.body.removeEventListener('keydown', this._keydownListener);
697
699
  this._isAttached = false;
698
700
  }
699
701
  }
@@ -845,6 +847,11 @@ class OverlayRef {
845
847
  this._attachments = new Subject();
846
848
  this._detachments = new Subject();
847
849
  this._locationChanges = Subscription.EMPTY;
850
+ this._backdropClickHandler = (/**
851
+ * @param {?} event
852
+ * @return {?}
853
+ */
854
+ (event) => this._backdropClick.next(event));
848
855
  this._keydownEventsObservable = new Observable((/**
849
856
  * @param {?} observer
850
857
  * @return {?}
@@ -1203,11 +1210,7 @@ class OverlayRef {
1203
1210
  (/** @type {?} */ (this._host.parentElement)).insertBefore(this._backdropElement, this._host);
1204
1211
  // Forward backdrop clicks such that the consumer of the overlay can perform whatever
1205
1212
  // action desired when such a click occurs (usually closing the overlay).
1206
- this._backdropElement.addEventListener('click', (/**
1207
- * @param {?} event
1208
- * @return {?}
1209
- */
1210
- (event) => this._backdropClick.next(event)));
1213
+ this._backdropElement.addEventListener('click', this._backdropClickHandler);
1211
1214
  // Add class to fade-in the backdrop after one frame.
1212
1215
  if (typeof requestAnimationFrame !== 'undefined') {
1213
1216
  this._ngZone.runOutsideAngular((/**
@@ -1260,8 +1263,12 @@ class OverlayRef {
1260
1263
  */
1261
1264
  () => {
1262
1265
  // It may not be attached to anything in certain cases (e.g. unit tests).
1263
- if (backdropToDetach && backdropToDetach.parentNode) {
1264
- backdropToDetach.parentNode.removeChild(backdropToDetach);
1266
+ if (backdropToDetach) {
1267
+ backdropToDetach.removeEventListener('click', this._backdropClickHandler);
1268
+ backdropToDetach.removeEventListener('transitionend', finishDetach);
1269
+ if (backdropToDetach.parentNode) {
1270
+ backdropToDetach.parentNode.removeChild(backdropToDetach);
1271
+ }
1265
1272
  }
1266
1273
  // It is possible that a new portal has been attached to this overlay since we started
1267
1274
  // removing the backdrop. If that is the case, only clear the backdrop reference if it
@@ -2135,8 +2142,8 @@ class FlexibleConnectedPositionStrategy {
2135
2142
  /** @type {?} */
2136
2143
  let right;
2137
2144
  if (isBoundedByLeftViewportEdge) {
2138
- right = viewport.right - origin.x + this._viewportMargin;
2139
- width = origin.x - viewport.left;
2145
+ right = viewport.width - origin.x + this._viewportMargin;
2146
+ width = origin.x - this._viewportMargin;
2140
2147
  }
2141
2148
  else if (isBoundedByRightViewportEdge) {
2142
2149
  left = origin.x;
@@ -3466,7 +3473,8 @@ class CdkConnectedOverlay {
3466
3473
  */
3467
3474
  (event) => {
3468
3475
  this.overlayKeydown.next(event);
3469
- if (event.keyCode === ESCAPE) {
3476
+ if (event.keyCode === ESCAPE && !hasModifierKey(event)) {
3477
+ event.preventDefault();
3470
3478
  this._detachOverlay();
3471
3479
  }
3472
3480
  }));