@angular/material 6.4.2 → 6.4.7

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 (518) hide show
  1. package/_theming.scss +9 -5
  2. package/autocomplete/typings/autocomplete-trigger.d.ts +12 -1
  3. package/autocomplete/typings/autocomplete.d.ts +1 -1
  4. package/autocomplete/typings/index.d.ts +1 -1
  5. package/autocomplete/typings/index.metadata.json +1 -1
  6. package/badge/typings/badge.d.ts +6 -2
  7. package/badge/typings/index.metadata.json +1 -1
  8. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  9. package/bottom-sheet/typings/index.metadata.json +1 -1
  10. package/bundles/material-autocomplete.umd.js +33 -2
  11. package/bundles/material-autocomplete.umd.js.map +1 -1
  12. package/bundles/material-autocomplete.umd.min.js +1 -1
  13. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  14. package/bundles/material-badge.umd.js +6 -2
  15. package/bundles/material-badge.umd.js.map +1 -1
  16. package/bundles/material-badge.umd.min.js +1 -1
  17. package/bundles/material-badge.umd.min.js.map +1 -1
  18. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  20. package/bundles/material-button-toggle.umd.js +12 -3
  21. package/bundles/material-button-toggle.umd.js.map +1 -1
  22. package/bundles/material-button-toggle.umd.min.js +1 -1
  23. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  24. package/bundles/material-button.umd.js +2 -2
  25. package/bundles/material-button.umd.js.map +1 -1
  26. package/bundles/material-button.umd.min.js +1 -1
  27. package/bundles/material-button.umd.min.js.map +1 -1
  28. package/bundles/material-card.umd.js +1 -1
  29. package/bundles/material-card.umd.js.map +1 -1
  30. package/bundles/material-card.umd.min.js +1 -1
  31. package/bundles/material-card.umd.min.js.map +1 -1
  32. package/bundles/material-checkbox.umd.js +7 -1
  33. package/bundles/material-checkbox.umd.js.map +1 -1
  34. package/bundles/material-checkbox.umd.min.js +1 -1
  35. package/bundles/material-checkbox.umd.min.js.map +1 -1
  36. package/bundles/material-chips.umd.js +113 -94
  37. package/bundles/material-chips.umd.js.map +1 -1
  38. package/bundles/material-chips.umd.min.js +1 -1
  39. package/bundles/material-chips.umd.min.js.map +1 -1
  40. package/bundles/material-core.umd.js +13 -16
  41. package/bundles/material-core.umd.js.map +1 -1
  42. package/bundles/material-core.umd.min.js +2 -2
  43. package/bundles/material-core.umd.min.js.map +1 -1
  44. package/bundles/material-datepicker.umd.js +35 -38
  45. package/bundles/material-datepicker.umd.js.map +1 -1
  46. package/bundles/material-datepicker.umd.min.js +2 -2
  47. package/bundles/material-datepicker.umd.min.js.map +1 -1
  48. package/bundles/material-dialog.umd.js.map +1 -1
  49. package/bundles/material-dialog.umd.min.js.map +1 -1
  50. package/bundles/material-expansion.umd.js +200 -74
  51. package/bundles/material-expansion.umd.js.map +1 -1
  52. package/bundles/material-expansion.umd.min.js +1 -1
  53. package/bundles/material-expansion.umd.min.js.map +1 -1
  54. package/bundles/material-form-field.umd.js +62 -51
  55. package/bundles/material-form-field.umd.js.map +1 -1
  56. package/bundles/material-form-field.umd.min.js +1 -1
  57. package/bundles/material-form-field.umd.min.js.map +1 -1
  58. package/bundles/material-grid-list.umd.js +10 -34
  59. package/bundles/material-grid-list.umd.js.map +1 -1
  60. package/bundles/material-grid-list.umd.min.js +1 -1
  61. package/bundles/material-grid-list.umd.min.js.map +1 -1
  62. package/bundles/material-icon.umd.js.map +1 -1
  63. package/bundles/material-icon.umd.min.js.map +1 -1
  64. package/bundles/material-input.umd.js +13 -6
  65. package/bundles/material-input.umd.js.map +1 -1
  66. package/bundles/material-input.umd.min.js +1 -1
  67. package/bundles/material-input.umd.min.js.map +1 -1
  68. package/bundles/material-list.umd.js +12 -14
  69. package/bundles/material-list.umd.js.map +1 -1
  70. package/bundles/material-list.umd.min.js +5 -5
  71. package/bundles/material-list.umd.min.js.map +1 -1
  72. package/bundles/material-menu.umd.js +25 -16
  73. package/bundles/material-menu.umd.js.map +1 -1
  74. package/bundles/material-menu.umd.min.js +1 -1
  75. package/bundles/material-menu.umd.min.js.map +1 -1
  76. package/bundles/material-paginator.umd.js +1 -1
  77. package/bundles/material-paginator.umd.js.map +1 -1
  78. package/bundles/material-paginator.umd.min.js +1 -1
  79. package/bundles/material-paginator.umd.min.js.map +1 -1
  80. package/bundles/material-progress-bar.umd.js +29 -11
  81. package/bundles/material-progress-bar.umd.js.map +1 -1
  82. package/bundles/material-progress-bar.umd.min.js +1 -1
  83. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  84. package/bundles/material-radio.umd.js.map +1 -1
  85. package/bundles/material-radio.umd.min.js.map +1 -1
  86. package/bundles/material-select.umd.js +8 -3
  87. package/bundles/material-select.umd.js.map +1 -1
  88. package/bundles/material-select.umd.min.js +1 -1
  89. package/bundles/material-select.umd.min.js.map +1 -1
  90. package/bundles/material-sidenav.umd.js +5 -1
  91. package/bundles/material-sidenav.umd.js.map +1 -1
  92. package/bundles/material-sidenav.umd.min.js +1 -1
  93. package/bundles/material-sidenav.umd.min.js.map +1 -1
  94. package/bundles/material-slide-toggle.umd.js +8 -2
  95. package/bundles/material-slide-toggle.umd.js.map +1 -1
  96. package/bundles/material-slide-toggle.umd.min.js +1 -1
  97. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  98. package/bundles/material-slider.umd.js +1 -1
  99. package/bundles/material-slider.umd.js.map +1 -1
  100. package/bundles/material-slider.umd.min.js +1 -1
  101. package/bundles/material-slider.umd.min.js.map +1 -1
  102. package/bundles/material-snack-bar.umd.js +1 -1
  103. package/bundles/material-snack-bar.umd.js.map +1 -1
  104. package/bundles/material-snack-bar.umd.min.js +1 -1
  105. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  106. package/bundles/material-stepper.umd.js +30 -18
  107. package/bundles/material-stepper.umd.js.map +1 -1
  108. package/bundles/material-stepper.umd.min.js +1 -1
  109. package/bundles/material-stepper.umd.min.js.map +1 -1
  110. package/bundles/material-table.umd.js +31 -31
  111. package/bundles/material-table.umd.js.map +1 -1
  112. package/bundles/material-table.umd.min.js +1 -1
  113. package/bundles/material-table.umd.min.js.map +1 -1
  114. package/bundles/material-tabs.umd.js +38 -45
  115. package/bundles/material-tabs.umd.js.map +1 -1
  116. package/bundles/material-tabs.umd.min.js +2 -2
  117. package/bundles/material-tabs.umd.min.js.map +1 -1
  118. package/bundles/material-tooltip.umd.js +11 -11
  119. package/bundles/material-tooltip.umd.js.map +1 -1
  120. package/bundles/material-tooltip.umd.min.js +1 -1
  121. package/bundles/material-tooltip.umd.min.js.map +1 -1
  122. package/bundles/material-tree.umd.js +16 -4
  123. package/bundles/material-tree.umd.js.map +1 -1
  124. package/bundles/material-tree.umd.min.js +1 -1
  125. package/bundles/material-tree.umd.min.js.map +1 -1
  126. package/bundles/material.umd.js +692 -452
  127. package/bundles/material.umd.js.map +1 -1
  128. package/bundles/material.umd.min.js +21 -21
  129. package/bundles/material.umd.min.js.map +1 -1
  130. package/button/typings/index.metadata.json +1 -1
  131. package/button-toggle/typings/button-toggle.d.ts +4 -2
  132. package/button-toggle/typings/index.metadata.json +1 -1
  133. package/card/typings/index.metadata.json +1 -1
  134. package/checkbox/typings/checkbox.d.ts +2 -2
  135. package/checkbox/typings/index.metadata.json +1 -1
  136. package/chips/typings/chip-input.d.ts +9 -9
  137. package/chips/typings/chip-list.d.ts +12 -19
  138. package/chips/typings/chip.d.ts +3 -2
  139. package/chips/typings/index.metadata.json +1 -1
  140. package/core/typings/index.metadata.json +1 -1
  141. package/core/typings/line/line.d.ts +1 -1
  142. package/core/typings/option/option.d.ts +3 -4
  143. package/core/typings/ripple/ripple-renderer.d.ts +1 -1
  144. package/core/typings/ripple/ripple.d.ts +1 -1
  145. package/datepicker/typings/calendar-body.d.ts +1 -1
  146. package/datepicker/typings/datepicker-input.d.ts +3 -5
  147. package/datepicker/typings/datepicker-toggle.d.ts +3 -1
  148. package/datepicker/typings/datepicker.d.ts +1 -1
  149. package/datepicker/typings/index.metadata.json +1 -1
  150. package/dialog/typings/dialog-container.d.ts +1 -1
  151. package/dialog/typings/dialog-content-directives.d.ts +2 -2
  152. package/dialog/typings/index.metadata.json +1 -1
  153. package/esm2015/autocomplete.js +30 -2
  154. package/esm2015/autocomplete.js.map +1 -1
  155. package/esm2015/badge.js +8 -3
  156. package/esm2015/badge.js.map +1 -1
  157. package/esm2015/bottom-sheet.js.map +1 -1
  158. package/esm2015/button-toggle.js +14 -4
  159. package/esm2015/button-toggle.js.map +1 -1
  160. package/esm2015/button.js +2 -2
  161. package/esm2015/button.js.map +1 -1
  162. package/esm2015/card.js +1 -1
  163. package/esm2015/card.js.map +1 -1
  164. package/esm2015/checkbox.js +6 -1
  165. package/esm2015/checkbox.js.map +1 -1
  166. package/esm2015/chips.js +99 -76
  167. package/esm2015/chips.js.map +1 -1
  168. package/esm2015/core.js +10 -7
  169. package/esm2015/core.js.map +1 -1
  170. package/esm2015/datepicker.js +35 -30
  171. package/esm2015/datepicker.js.map +1 -1
  172. package/esm2015/dialog.js.map +1 -1
  173. package/esm2015/expansion.js +158 -66
  174. package/esm2015/expansion.js.map +1 -1
  175. package/esm2015/form-field.js +60 -49
  176. package/esm2015/form-field.js.map +1 -1
  177. package/esm2015/grid-list.js +7 -30
  178. package/esm2015/grid-list.js.map +1 -1
  179. package/esm2015/icon.js.map +1 -1
  180. package/esm2015/input.js +13 -7
  181. package/esm2015/input.js.map +1 -1
  182. package/esm2015/list.js +11 -13
  183. package/esm2015/list.js.map +1 -1
  184. package/esm2015/material.js +10 -10
  185. package/esm2015/material.js.map +1 -1
  186. package/esm2015/menu.js +18 -10
  187. package/esm2015/menu.js.map +1 -1
  188. package/esm2015/paginator.js +1 -1
  189. package/esm2015/paginator.js.map +1 -1
  190. package/esm2015/progress-bar.js +26 -7
  191. package/esm2015/progress-bar.js.map +1 -1
  192. package/esm2015/radio.js.map +1 -1
  193. package/esm2015/select.js +8 -3
  194. package/esm2015/select.js.map +1 -1
  195. package/esm2015/sidenav.js +5 -1
  196. package/esm2015/sidenav.js.map +1 -1
  197. package/esm2015/slide-toggle.js +7 -2
  198. package/esm2015/slide-toggle.js.map +1 -1
  199. package/esm2015/slider.js +1 -1
  200. package/esm2015/slider.js.map +1 -1
  201. package/esm2015/snack-bar.js +1 -1
  202. package/esm2015/snack-bar.js.map +1 -1
  203. package/esm2015/stepper.js +25 -21
  204. package/esm2015/stepper.js.map +1 -1
  205. package/esm2015/table.js +22 -32
  206. package/esm2015/table.js.map +1 -1
  207. package/esm2015/tabs.js +28 -41
  208. package/esm2015/tabs.js.map +1 -1
  209. package/esm2015/tooltip.js +9 -9
  210. package/esm2015/tooltip.js.map +1 -1
  211. package/esm2015/tree.js +13 -5
  212. package/esm2015/tree.js.map +1 -1
  213. package/esm5/autocomplete.es5.js +33 -2
  214. package/esm5/autocomplete.es5.js.map +1 -1
  215. package/esm5/badge.es5.js +7 -3
  216. package/esm5/badge.es5.js.map +1 -1
  217. package/esm5/bottom-sheet.es5.js.map +1 -1
  218. package/esm5/button-toggle.es5.js +13 -4
  219. package/esm5/button-toggle.es5.js.map +1 -1
  220. package/esm5/button.es5.js +2 -2
  221. package/esm5/button.es5.js.map +1 -1
  222. package/esm5/card.es5.js +1 -1
  223. package/esm5/card.es5.js.map +1 -1
  224. package/esm5/checkbox.es5.js +7 -1
  225. package/esm5/checkbox.es5.js.map +1 -1
  226. package/esm5/chips.es5.js +112 -93
  227. package/esm5/chips.es5.js.map +1 -1
  228. package/esm5/core.es5.js +10 -12
  229. package/esm5/core.es5.js.map +1 -1
  230. package/esm5/datepicker.es5.js +36 -39
  231. package/esm5/datepicker.es5.js.map +1 -1
  232. package/esm5/dialog.es5.js.map +1 -1
  233. package/esm5/expansion.es5.js +202 -78
  234. package/esm5/expansion.es5.js.map +1 -1
  235. package/esm5/form-field.es5.js +59 -47
  236. package/esm5/form-field.es5.js.map +1 -1
  237. package/esm5/grid-list.es5.js +7 -30
  238. package/esm5/grid-list.es5.js.map +1 -1
  239. package/esm5/icon.es5.js.map +1 -1
  240. package/esm5/input.es5.js +13 -7
  241. package/esm5/input.es5.js.map +1 -1
  242. package/esm5/list.es5.js +12 -14
  243. package/esm5/list.es5.js.map +1 -1
  244. package/esm5/material.es5.js +10 -10
  245. package/esm5/material.es5.js.map +1 -1
  246. package/esm5/menu.es5.js +17 -8
  247. package/esm5/menu.es5.js.map +1 -1
  248. package/esm5/paginator.es5.js +1 -1
  249. package/esm5/paginator.es5.js.map +1 -1
  250. package/esm5/progress-bar.es5.js +26 -10
  251. package/esm5/progress-bar.es5.js.map +1 -1
  252. package/esm5/radio.es5.js.map +1 -1
  253. package/esm5/select.es5.js +8 -3
  254. package/esm5/select.es5.js.map +1 -1
  255. package/esm5/sidenav.es5.js +5 -1
  256. package/esm5/sidenav.es5.js.map +1 -1
  257. package/esm5/slide-toggle.es5.js +8 -2
  258. package/esm5/slide-toggle.es5.js.map +1 -1
  259. package/esm5/slider.es5.js +1 -1
  260. package/esm5/slider.es5.js.map +1 -1
  261. package/esm5/snack-bar.es5.js +1 -1
  262. package/esm5/snack-bar.es5.js.map +1 -1
  263. package/esm5/stepper.es5.js +25 -17
  264. package/esm5/stepper.es5.js.map +1 -1
  265. package/esm5/table.es5.js +22 -30
  266. package/esm5/table.es5.js.map +1 -1
  267. package/esm5/tabs.es5.js +29 -36
  268. package/esm5/tabs.es5.js.map +1 -1
  269. package/esm5/tooltip.es5.js +11 -11
  270. package/esm5/tooltip.es5.js.map +1 -1
  271. package/esm5/tree.es5.js +13 -5
  272. package/esm5/tree.es5.js.map +1 -1
  273. package/expansion/typings/accordion-base.d.ts +30 -0
  274. package/expansion/typings/accordion.d.ts +18 -4
  275. package/expansion/typings/expansion-panel-header.d.ts +13 -2
  276. package/expansion/typings/expansion-panel.d.ts +10 -6
  277. package/expansion/typings/index.metadata.json +1 -1
  278. package/expansion/typings/public-api.d.ts +1 -0
  279. package/form-field/typings/form-field.d.ts +3 -5
  280. package/form-field/typings/index.metadata.json +1 -1
  281. package/grid-list/typings/grid-list.d.ts +1 -1
  282. package/grid-list/typings/grid-tile.d.ts +2 -2
  283. package/grid-list/typings/index.metadata.json +1 -1
  284. package/icon/typings/icon.d.ts +1 -1
  285. package/icon/typings/index.metadata.json +1 -1
  286. package/input/typings/autosize.d.ts +2 -1
  287. package/input/typings/index.metadata.json +1 -1
  288. package/input/typings/input.d.ts +2 -2
  289. package/list/typings/index.metadata.json +1 -1
  290. package/list/typings/list.d.ts +1 -1
  291. package/list/typings/selection-list.d.ts +4 -4
  292. package/menu/typings/index.d.ts +4 -4
  293. package/menu/typings/index.metadata.json +1 -1
  294. package/menu/typings/menu-content.d.ts +3 -0
  295. package/menu/typings/menu-directive.d.ts +1 -1
  296. package/menu/typings/menu-item.d.ts +1 -1
  297. package/menu/typings/menu-trigger.d.ts +1 -1
  298. package/package.json +7 -5
  299. package/paginator/typings/index.metadata.json +1 -1
  300. package/prebuilt-themes/deeppurple-amber.css +1 -1
  301. package/prebuilt-themes/indigo-pink.css +1 -1
  302. package/prebuilt-themes/pink-bluegrey.css +1 -1
  303. package/prebuilt-themes/purple-green.css +1 -1
  304. package/progress-bar/typings/index.metadata.json +1 -1
  305. package/progress-bar/typings/progress-bar.d.ts +17 -3
  306. package/radio/typings/radio.d.ts +1 -1
  307. package/sidenav/typings/drawer.d.ts +2 -2
  308. package/sidenav/typings/index.metadata.json +1 -1
  309. package/slide-toggle/typings/index.metadata.json +1 -1
  310. package/slide-toggle/typings/slide-toggle.d.ts +3 -3
  311. package/slider/typings/index.metadata.json +1 -1
  312. package/snack-bar/typings/index.metadata.json +1 -1
  313. package/snack-bar/typings/snack-bar-container.d.ts +1 -1
  314. package/stepper/typings/index.metadata.json +1 -1
  315. package/stepper/typings/step-header.d.ts +2 -2
  316. package/stepper/typings/step-label.d.ts +2 -10
  317. package/stepper/typings/stepper-button.d.ts +4 -2
  318. package/stepper/typings/stepper.d.ts +4 -3
  319. package/table/typings/cell.d.ts +8 -5
  320. package/table/typings/index.metadata.json +1 -1
  321. package/table/typings/row.d.ts +6 -3
  322. package/table/typings/table.d.ts +2 -8
  323. package/tabs/typings/index.d.ts +5 -5
  324. package/tabs/typings/index.metadata.json +1 -1
  325. package/tabs/typings/ink-bar.d.ts +1 -1
  326. package/tabs/typings/tab-body.d.ts +1 -1
  327. package/tabs/typings/tab-label.d.ts +2 -10
  328. package/tabs/typings/tab.d.ts +2 -4
  329. package/tooltip/typings/index.metadata.json +1 -1
  330. package/tooltip/typings/tooltip.d.ts +3 -3
  331. package/tree/typings/index.metadata.json +1 -1
  332. package/tree/typings/node.d.ts +6 -5
  333. package/tree/typings/padding.d.ts +2 -1
  334. package/tree/typings/toggle.d.ts +9 -1
  335. package/tree/typings/tree.d.ts +9 -1
  336. package/typings/autocomplete/autocomplete-trigger.d.ts +12 -1
  337. package/typings/autocomplete/autocomplete.d.ts +1 -1
  338. package/typings/autocomplete/index.d.ts +1 -1
  339. package/typings/autocomplete/index.metadata.json +1 -1
  340. package/typings/badge/badge.d.ts +6 -2
  341. package/typings/badge/index.metadata.json +1 -1
  342. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  343. package/typings/bottom-sheet/index.metadata.json +1 -1
  344. package/typings/button/index.metadata.json +1 -1
  345. package/typings/button-toggle/button-toggle.d.ts +4 -2
  346. package/typings/button-toggle/index.metadata.json +1 -1
  347. package/typings/card/index.metadata.json +1 -1
  348. package/typings/checkbox/checkbox.d.ts +2 -2
  349. package/typings/checkbox/index.metadata.json +1 -1
  350. package/typings/chips/chip-input.d.ts +9 -9
  351. package/typings/chips/chip-list.d.ts +12 -19
  352. package/typings/chips/chip.d.ts +3 -2
  353. package/typings/chips/index.metadata.json +1 -1
  354. package/typings/core/index.metadata.json +1 -1
  355. package/typings/core/line/line.d.ts +1 -1
  356. package/typings/core/option/option.d.ts +3 -4
  357. package/typings/core/ripple/ripple-renderer.d.ts +1 -1
  358. package/typings/core/ripple/ripple.d.ts +1 -1
  359. package/typings/datepicker/calendar-body.d.ts +1 -1
  360. package/typings/datepicker/datepicker-input.d.ts +3 -5
  361. package/typings/datepicker/datepicker-toggle.d.ts +3 -1
  362. package/typings/datepicker/datepicker.d.ts +1 -1
  363. package/typings/datepicker/index.metadata.json +1 -1
  364. package/typings/dialog/dialog-container.d.ts +1 -1
  365. package/typings/dialog/dialog-content-directives.d.ts +2 -2
  366. package/typings/dialog/index.metadata.json +1 -1
  367. package/typings/esm5/autocomplete/autocomplete-trigger.d.ts +12 -1
  368. package/typings/esm5/autocomplete/autocomplete.d.ts +1 -1
  369. package/typings/esm5/autocomplete/index.d.ts +1 -1
  370. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  371. package/typings/esm5/badge/badge.d.ts +6 -2
  372. package/typings/esm5/badge/index.metadata.json +1 -1
  373. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  374. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  375. package/typings/esm5/button/index.metadata.json +1 -1
  376. package/typings/esm5/button-toggle/button-toggle.d.ts +4 -2
  377. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  378. package/typings/esm5/card/index.metadata.json +1 -1
  379. package/typings/esm5/checkbox/checkbox.d.ts +2 -2
  380. package/typings/esm5/checkbox/index.metadata.json +1 -1
  381. package/typings/esm5/chips/chip-input.d.ts +9 -9
  382. package/typings/esm5/chips/chip-list.d.ts +12 -19
  383. package/typings/esm5/chips/chip.d.ts +3 -2
  384. package/typings/esm5/chips/index.metadata.json +1 -1
  385. package/typings/esm5/core/index.metadata.json +1 -1
  386. package/typings/esm5/core/line/line.d.ts +1 -1
  387. package/typings/esm5/core/option/option.d.ts +3 -4
  388. package/typings/esm5/core/ripple/ripple-renderer.d.ts +1 -1
  389. package/typings/esm5/core/ripple/ripple.d.ts +1 -1
  390. package/typings/esm5/datepicker/calendar-body.d.ts +1 -1
  391. package/typings/esm5/datepicker/datepicker-input.d.ts +3 -5
  392. package/typings/esm5/datepicker/datepicker-toggle.d.ts +3 -1
  393. package/typings/esm5/datepicker/datepicker.d.ts +1 -1
  394. package/typings/esm5/datepicker/index.metadata.json +1 -1
  395. package/typings/esm5/dialog/dialog-container.d.ts +1 -1
  396. package/typings/esm5/dialog/dialog-content-directives.d.ts +2 -2
  397. package/typings/esm5/dialog/index.metadata.json +1 -1
  398. package/typings/esm5/expansion/accordion-base.d.ts +30 -0
  399. package/typings/esm5/expansion/accordion.d.ts +18 -4
  400. package/typings/esm5/expansion/expansion-panel-header.d.ts +13 -2
  401. package/typings/esm5/expansion/expansion-panel.d.ts +10 -6
  402. package/typings/esm5/expansion/index.metadata.json +1 -1
  403. package/typings/esm5/expansion/public-api.d.ts +1 -0
  404. package/typings/esm5/form-field/form-field.d.ts +3 -5
  405. package/typings/esm5/form-field/index.metadata.json +1 -1
  406. package/typings/esm5/grid-list/grid-list.d.ts +1 -1
  407. package/typings/esm5/grid-list/grid-tile.d.ts +2 -2
  408. package/typings/esm5/grid-list/index.metadata.json +1 -1
  409. package/typings/esm5/icon/icon.d.ts +1 -1
  410. package/typings/esm5/icon/index.metadata.json +1 -1
  411. package/typings/esm5/index.metadata.json +1 -1
  412. package/typings/esm5/input/autosize.d.ts +2 -1
  413. package/typings/esm5/input/index.metadata.json +1 -1
  414. package/typings/esm5/input/input.d.ts +2 -2
  415. package/typings/esm5/list/index.metadata.json +1 -1
  416. package/typings/esm5/list/list.d.ts +1 -1
  417. package/typings/esm5/list/selection-list.d.ts +4 -4
  418. package/typings/esm5/menu/index.d.ts +4 -4
  419. package/typings/esm5/menu/index.metadata.json +1 -1
  420. package/typings/esm5/menu/menu-content.d.ts +3 -0
  421. package/typings/esm5/menu/menu-directive.d.ts +1 -1
  422. package/typings/esm5/menu/menu-item.d.ts +1 -1
  423. package/typings/esm5/menu/menu-trigger.d.ts +1 -1
  424. package/typings/esm5/paginator/index.metadata.json +1 -1
  425. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  426. package/typings/esm5/progress-bar/progress-bar.d.ts +17 -3
  427. package/typings/esm5/radio/radio.d.ts +1 -1
  428. package/typings/esm5/sidenav/drawer.d.ts +2 -2
  429. package/typings/esm5/sidenav/index.metadata.json +1 -1
  430. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  431. package/typings/esm5/slide-toggle/slide-toggle.d.ts +3 -3
  432. package/typings/esm5/slider/index.metadata.json +1 -1
  433. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  434. package/typings/esm5/snack-bar/snack-bar-container.d.ts +1 -1
  435. package/typings/esm5/stepper/index.metadata.json +1 -1
  436. package/typings/esm5/stepper/step-header.d.ts +2 -2
  437. package/typings/esm5/stepper/step-label.d.ts +2 -10
  438. package/typings/esm5/stepper/stepper-button.d.ts +4 -2
  439. package/typings/esm5/stepper/stepper.d.ts +4 -3
  440. package/typings/esm5/table/cell.d.ts +8 -5
  441. package/typings/esm5/table/index.metadata.json +1 -1
  442. package/typings/esm5/table/row.d.ts +6 -3
  443. package/typings/esm5/table/table.d.ts +2 -8
  444. package/typings/esm5/tabs/index.d.ts +5 -5
  445. package/typings/esm5/tabs/index.metadata.json +1 -1
  446. package/typings/esm5/tabs/ink-bar.d.ts +1 -1
  447. package/typings/esm5/tabs/tab-body.d.ts +1 -1
  448. package/typings/esm5/tabs/tab-label.d.ts +2 -10
  449. package/typings/esm5/tabs/tab.d.ts +2 -4
  450. package/typings/esm5/tooltip/index.metadata.json +1 -1
  451. package/typings/esm5/tooltip/tooltip.d.ts +3 -3
  452. package/typings/esm5/tree/index.metadata.json +1 -1
  453. package/typings/esm5/tree/node.d.ts +6 -5
  454. package/typings/esm5/tree/padding.d.ts +2 -1
  455. package/typings/esm5/tree/toggle.d.ts +9 -1
  456. package/typings/esm5/tree/tree.d.ts +9 -1
  457. package/typings/expansion/accordion-base.d.ts +30 -0
  458. package/typings/expansion/accordion.d.ts +18 -4
  459. package/typings/expansion/expansion-panel-header.d.ts +13 -2
  460. package/typings/expansion/expansion-panel.d.ts +10 -6
  461. package/typings/expansion/index.metadata.json +1 -1
  462. package/typings/expansion/public-api.d.ts +1 -0
  463. package/typings/form-field/form-field.d.ts +3 -5
  464. package/typings/form-field/index.metadata.json +1 -1
  465. package/typings/grid-list/grid-list.d.ts +1 -1
  466. package/typings/grid-list/grid-tile.d.ts +2 -2
  467. package/typings/grid-list/index.metadata.json +1 -1
  468. package/typings/icon/icon.d.ts +1 -1
  469. package/typings/icon/index.metadata.json +1 -1
  470. package/typings/index.metadata.json +1 -1
  471. package/typings/input/autosize.d.ts +2 -1
  472. package/typings/input/index.metadata.json +1 -1
  473. package/typings/input/input.d.ts +2 -2
  474. package/typings/list/index.metadata.json +1 -1
  475. package/typings/list/list.d.ts +1 -1
  476. package/typings/list/selection-list.d.ts +4 -4
  477. package/typings/menu/index.d.ts +4 -4
  478. package/typings/menu/index.metadata.json +1 -1
  479. package/typings/menu/menu-content.d.ts +3 -0
  480. package/typings/menu/menu-directive.d.ts +1 -1
  481. package/typings/menu/menu-item.d.ts +1 -1
  482. package/typings/menu/menu-trigger.d.ts +1 -1
  483. package/typings/paginator/index.metadata.json +1 -1
  484. package/typings/progress-bar/index.metadata.json +1 -1
  485. package/typings/progress-bar/progress-bar.d.ts +17 -3
  486. package/typings/radio/radio.d.ts +1 -1
  487. package/typings/sidenav/drawer.d.ts +2 -2
  488. package/typings/sidenav/index.metadata.json +1 -1
  489. package/typings/slide-toggle/index.metadata.json +1 -1
  490. package/typings/slide-toggle/slide-toggle.d.ts +3 -3
  491. package/typings/slider/index.metadata.json +1 -1
  492. package/typings/snack-bar/index.metadata.json +1 -1
  493. package/typings/snack-bar/snack-bar-container.d.ts +1 -1
  494. package/typings/stepper/index.metadata.json +1 -1
  495. package/typings/stepper/step-header.d.ts +2 -2
  496. package/typings/stepper/step-label.d.ts +2 -10
  497. package/typings/stepper/stepper-button.d.ts +4 -2
  498. package/typings/stepper/stepper.d.ts +4 -3
  499. package/typings/table/cell.d.ts +8 -5
  500. package/typings/table/index.metadata.json +1 -1
  501. package/typings/table/row.d.ts +6 -3
  502. package/typings/table/table.d.ts +2 -8
  503. package/typings/tabs/index.d.ts +5 -5
  504. package/typings/tabs/index.metadata.json +1 -1
  505. package/typings/tabs/ink-bar.d.ts +1 -1
  506. package/typings/tabs/tab-body.d.ts +1 -1
  507. package/typings/tabs/tab-label.d.ts +2 -10
  508. package/typings/tabs/tab.d.ts +2 -4
  509. package/typings/tooltip/index.metadata.json +1 -1
  510. package/typings/tooltip/tooltip.d.ts +3 -3
  511. package/typings/tree/index.metadata.json +1 -1
  512. package/typings/tree/node.d.ts +6 -5
  513. package/typings/tree/padding.d.ts +2 -1
  514. package/typings/tree/toggle.d.ts +9 -1
  515. package/typings/tree/tree.d.ts +9 -1
  516. package/grid-list/typings/grid-list-measure.d.ts +0 -17
  517. package/typings/esm5/grid-list/grid-list-measure.d.ts +0 -17
  518. package/typings/grid-list/grid-list-measure.d.ts +0 -17
@@ -5,72 +5,28 @@
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 { InjectionToken, Directive, TemplateRef, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, Inject, Input, Optional, SkipSelf, ViewChild, ViewContainerRef, ViewEncapsulation, Host, ContentChildren, NgModule } from '@angular/core';
9
+ import { animate, animateChild, group, state, style, transition, trigger, query } from '@angular/animations';
8
10
  import { __extends } from 'tslib';
9
- import { Directive, Input, TemplateRef, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Optional, SkipSelf, ViewContainerRef, ViewEncapsulation, ElementRef, Host, NgModule } from '@angular/core';
11
+ import { CdkAccordionItem, CdkAccordion, CdkAccordionModule } from '@angular/cdk/accordion';
10
12
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
11
- import { CdkAccordion, CdkAccordionItem, CdkAccordionModule } from '@angular/cdk/accordion';
12
- import { animate, animateChild, group, state, style, transition, trigger, query } from '@angular/animations';
13
13
  import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
14
14
  import { TemplatePortal, PortalModule } from '@angular/cdk/portal';
15
- import { Subject, merge, Subscription } from 'rxjs';
15
+ import { DOCUMENT, CommonModule } from '@angular/common';
16
+ import { Subject, merge, Subscription, EMPTY } from 'rxjs';
16
17
  import { filter, startWith, take } from 'rxjs/operators';
17
- import { FocusMonitor } from '@angular/cdk/a11y';
18
- import { ENTER, SPACE } from '@angular/cdk/keycodes';
19
- import { CommonModule } from '@angular/common';
18
+ import { FocusMonitor, FocusKeyManager } from '@angular/cdk/a11y';
19
+ import { ENTER, SPACE, HOME, END } from '@angular/cdk/keycodes';
20
20
 
21
21
  /**
22
22
  * @fileoverview added by tsickle
23
23
  * @suppress {checkTypes} checked by tsc
24
24
  */
25
25
  /**
26
- * Directive for a Material Design Accordion.
26
+ * Token used to provide a `MatAccordion` to `MatExpansionPanel`.
27
+ * Used primarily to avoid circular imports between `MatAccordion` and `MatExpansionPanel`.
27
28
  */
28
- var MatAccordion = /** @class */ (function (_super) {
29
- __extends(MatAccordion, _super);
30
- function MatAccordion() {
31
- var _this = _super !== null && _super.apply(this, arguments) || this;
32
- _this._hideToggle = false;
33
- /**
34
- * The display mode used for all expansion panels in the accordion. Currently two display
35
- * modes exist:
36
- * default - a gutter-like spacing is placed around any expanded panel, placing the expanded
37
- * panel at a different elevation from the rest of the accordion.
38
- * flat - no spacing is placed around expanded panels, showing all panels at the same
39
- * elevation.
40
- */
41
- _this.displayMode = 'default';
42
- return _this;
43
- }
44
- Object.defineProperty(MatAccordion.prototype, "hideToggle", {
45
- get: /**
46
- * Whether the expansion indicator should be hidden.
47
- * @return {?}
48
- */
49
- function () { return this._hideToggle; },
50
- set: /**
51
- * @param {?} show
52
- * @return {?}
53
- */
54
- function (show) { this._hideToggle = coerceBooleanProperty(show); },
55
- enumerable: true,
56
- configurable: true
57
- });
58
- MatAccordion.decorators = [
59
- { type: Directive, args: [{
60
- selector: 'mat-accordion',
61
- exportAs: 'matAccordion',
62
- host: {
63
- class: 'mat-accordion'
64
- }
65
- },] },
66
- ];
67
- /** @nocollapse */
68
- MatAccordion.propDecorators = {
69
- "hideToggle": [{ type: Input },],
70
- "displayMode": [{ type: Input },],
71
- };
72
- return MatAccordion;
73
- }(CdkAccordion));
29
+ var /** @type {?} */ MAT_ACCORDION = new InjectionToken('MAT_ACCORDION');
74
30
 
75
31
  /**
76
32
  * @fileoverview added by tsickle
@@ -143,6 +99,8 @@ var MatExpansionPanelContent = /** @class */ (function () {
143
99
  * @fileoverview added by tsickle
144
100
  * @suppress {checkTypes} checked by tsc
145
101
  */
102
+ // TODO(devversion): workaround for https://github.com/angular/material2/issues/12760
103
+ var /** @type {?} */ _CdkAccordionItem = CdkAccordionItem;
146
104
  /**
147
105
  * Counter for generating unique element ids.
148
106
  */
@@ -156,7 +114,7 @@ var ɵ0 = undefined;
156
114
  */
157
115
  var MatExpansionPanel = /** @class */ (function (_super) {
158
116
  __extends(MatExpansionPanel, _super);
159
- function MatExpansionPanel(accordion, _changeDetectorRef, _uniqueSelectionDispatcher, _viewContainerRef) {
117
+ function MatExpansionPanel(accordion, _changeDetectorRef, _uniqueSelectionDispatcher, _viewContainerRef, _document) {
160
118
  var _this = _super.call(this, accordion, _changeDetectorRef, _uniqueSelectionDispatcher) || this;
161
119
  _this._viewContainerRef = _viewContainerRef;
162
120
  _this._hideToggle = false;
@@ -169,6 +127,7 @@ var MatExpansionPanel = /** @class */ (function (_super) {
169
127
  */
170
128
  _this._headerId = "mat-expansion-panel-header-" + uniqueId++;
171
129
  _this.accordion = accordion;
130
+ _this._document = _document;
172
131
  return _this;
173
132
  }
174
133
  Object.defineProperty(MatExpansionPanel.prototype, "hideToggle", {
@@ -176,7 +135,9 @@ var MatExpansionPanel = /** @class */ (function (_super) {
176
135
  * Whether the toggle indicator should be hidden.
177
136
  * @return {?}
178
137
  */
179
- function () { return this._hideToggle; },
138
+ function () {
139
+ return this._hideToggle || (this.accordion && this.accordion.hideToggle);
140
+ },
180
141
  set: /**
181
142
  * @param {?} value
182
143
  * @return {?}
@@ -187,21 +148,6 @@ var MatExpansionPanel = /** @class */ (function (_super) {
187
148
  enumerable: true,
188
149
  configurable: true
189
150
  });
190
- /** Whether the expansion indicator should be hidden. */
191
- /**
192
- * Whether the expansion indicator should be hidden.
193
- * @return {?}
194
- */
195
- MatExpansionPanel.prototype._getHideToggle = /**
196
- * Whether the expansion indicator should be hidden.
197
- * @return {?}
198
- */
199
- function () {
200
- if (this.accordion) {
201
- return this.accordion.hideToggle;
202
- }
203
- return this.hideToggle;
204
- };
205
151
  /** Determines whether the expansion panel should have spacing between it and its siblings. */
206
152
  /**
207
153
  * Determines whether the expansion panel should have spacing between it and its siblings.
@@ -213,6 +159,9 @@ var MatExpansionPanel = /** @class */ (function (_super) {
213
159
  */
214
160
  function () {
215
161
  if (this.accordion) {
162
+ // We don't need to subscribe to the `stateChanges` of the parent accordion because each time
163
+ // the [displayMode] input changes, the change detection will also cover the host bindings
164
+ // of this expansion panel.
216
165
  return (this.expanded ? this.accordion.displayMode : this._getExpandedState()) === 'default';
217
166
  }
218
167
  return false;
@@ -288,6 +237,23 @@ var MatExpansionPanel = /** @class */ (function (_super) {
288
237
  classList.remove(cssClass);
289
238
  }
290
239
  };
240
+ /** Checks whether the expansion panel's content contains the currently-focused element. */
241
+ /**
242
+ * Checks whether the expansion panel's content contains the currently-focused element.
243
+ * @return {?}
244
+ */
245
+ MatExpansionPanel.prototype._containsFocus = /**
246
+ * Checks whether the expansion panel's content contains the currently-focused element.
247
+ * @return {?}
248
+ */
249
+ function () {
250
+ if (this._body && this._document) {
251
+ var /** @type {?} */ focusedElement = this._document.activeElement;
252
+ var /** @type {?} */ bodyElement = this._body.nativeElement;
253
+ return focusedElement === bodyElement || bodyElement.contains(focusedElement);
254
+ }
255
+ return false;
256
+ };
291
257
  MatExpansionPanel.decorators = [
292
258
  { type: Component, args: [{styles: [".mat-expansion-panel{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);box-sizing:content-box;display:block;margin:0;transition:margin 225ms cubic-bezier(.4,0,.2,1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content{overflow:hidden}.mat-expansion-panel-content.mat-expanded{overflow:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row button.mat-button{margin-left:8px}[dir=rtl] .mat-action-row button.mat-button{margin-left:0;margin-right:8px}"],
293
259
  selector: 'mat-expansion-panel',
@@ -301,7 +267,7 @@ var MatExpansionPanel = /** @class */ (function (_super) {
301
267
  providers: [
302
268
  // Provide MatAccordion as undefined to prevent nested expansion panels from registering
303
269
  // to the same accordion.
304
- { provide: MatAccordion, useValue: ɵ0 },
270
+ { provide: MAT_ACCORDION, useValue: ɵ0 },
305
271
  ],
306
272
  host: {
307
273
  'class': 'mat-expansion-panel',
@@ -312,14 +278,16 @@ var MatExpansionPanel = /** @class */ (function (_super) {
312
278
  ];
313
279
  /** @nocollapse */
314
280
  MatExpansionPanel.ctorParameters = function () { return [
315
- { type: MatAccordion, decorators: [{ type: Optional }, { type: SkipSelf },] },
281
+ { type: undefined, decorators: [{ type: Optional }, { type: SkipSelf }, { type: Inject, args: [MAT_ACCORDION,] },] },
316
282
  { type: ChangeDetectorRef, },
317
283
  { type: UniqueSelectionDispatcher, },
318
284
  { type: ViewContainerRef, },
285
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
319
286
  ]; };
320
287
  MatExpansionPanel.propDecorators = {
321
288
  "hideToggle": [{ type: Input },],
322
289
  "_lazyContent": [{ type: ContentChild, args: [MatExpansionPanelContent,] },],
290
+ "_body": [{ type: ViewChild, args: ['body',] },],
323
291
  };
324
292
  return MatExpansionPanel;
325
293
  }(CdkAccordionItem));
@@ -354,12 +322,38 @@ var MatExpansionPanelHeader = /** @class */ (function () {
354
322
  this._focusMonitor = _focusMonitor;
355
323
  this._changeDetectorRef = _changeDetectorRef;
356
324
  this._parentChangeSubscription = Subscription.EMPTY;
325
+ var /** @type {?} */ accordionHideToggleChange = panel.accordion ?
326
+ panel.accordion._stateChanges.pipe(filter(function (changes) { return !!changes["hideToggle"]; })) : EMPTY;
357
327
  // Since the toggle state depends on an @Input on the panel, we
358
- // need to subscribe and trigger change detection manually.
359
- this._parentChangeSubscription = merge(panel.opened, panel.closed, panel._inputChanges.pipe(filter(function (changes) { return !!(changes["hideToggle"] || changes["disabled"]); })))
328
+ // need to subscribe and trigger change detection manually.
329
+ this._parentChangeSubscription = merge(panel.opened, panel.closed, accordionHideToggleChange, panel._inputChanges.pipe(filter(function (changes) { return !!(changes["hideToggle"] || changes["disabled"]); })))
360
330
  .subscribe(function () { return _this._changeDetectorRef.markForCheck(); });
361
- _focusMonitor.monitor(_element.nativeElement);
331
+ // Avoids focus being lost if the panel contained the focused element and was closed.
332
+ panel.closed
333
+ .pipe(filter(function () { return panel._containsFocus(); }))
334
+ .subscribe(function () { return _focusMonitor.focusVia(_element.nativeElement, 'program'); });
335
+ _focusMonitor.monitor(_element.nativeElement).subscribe(function (origin) {
336
+ if (origin && panel.accordion) {
337
+ panel.accordion._handleHeaderFocus(_this);
338
+ }
339
+ });
362
340
  }
341
+ Object.defineProperty(MatExpansionPanelHeader.prototype, "disabled", {
342
+ /**
343
+ * Whether the associated panel is disabled. Implemented as a part of `FocusableOption`.
344
+ * @docs-private
345
+ */
346
+ get: /**
347
+ * Whether the associated panel is disabled. Implemented as a part of `FocusableOption`.
348
+ * \@docs-private
349
+ * @return {?}
350
+ */
351
+ function () {
352
+ return this.panel.disabled;
353
+ },
354
+ enumerable: true,
355
+ configurable: true
356
+ });
363
357
  /** Toggles the expanded state of the panel. */
364
358
  /**
365
359
  * Toggles the expanded state of the panel.
@@ -440,9 +434,33 @@ var MatExpansionPanelHeader = /** @class */ (function () {
440
434
  this._toggle();
441
435
  break;
442
436
  default:
437
+ if (this.panel.accordion) {
438
+ this.panel.accordion._handleHeaderKeydown(event);
439
+ }
443
440
  return;
444
441
  }
445
442
  };
443
+ /**
444
+ * Focuses the panel header. Implemented as a part of `FocusableOption`.
445
+ * @param origin Origin of the action that triggered the focus.
446
+ * @docs-private
447
+ */
448
+ /**
449
+ * Focuses the panel header. Implemented as a part of `FocusableOption`.
450
+ * \@docs-private
451
+ * @param {?=} origin Origin of the action that triggered the focus.
452
+ * @return {?}
453
+ */
454
+ MatExpansionPanelHeader.prototype.focus = /**
455
+ * Focuses the panel header. Implemented as a part of `FocusableOption`.
456
+ * \@docs-private
457
+ * @param {?=} origin Origin of the action that triggered the focus.
458
+ * @return {?}
459
+ */
460
+ function (origin) {
461
+ if (origin === void 0) { origin = 'program'; }
462
+ this._focusMonitor.focusVia(this._element.nativeElement, origin);
463
+ };
446
464
  /**
447
465
  * @return {?}
448
466
  */
@@ -467,7 +485,7 @@ var MatExpansionPanelHeader = /** @class */ (function () {
467
485
  'class': 'mat-expansion-panel-header',
468
486
  'role': 'button',
469
487
  '[attr.id]': 'panel._headerId',
470
- '[attr.tabindex]': 'panel.disabled ? -1 : 0',
488
+ '[attr.tabindex]': 'disabled ? -1 : 0',
471
489
  '[attr.aria-controls]': '_getPanelId()',
472
490
  '[attr.aria-expanded]': '_isExpanded()',
473
491
  '[attr.aria-disabled]': 'panel.disabled',
@@ -528,6 +546,112 @@ var MatExpansionPanelTitle = /** @class */ (function () {
528
546
  return MatExpansionPanelTitle;
529
547
  }());
530
548
 
549
+ /**
550
+ * @fileoverview added by tsickle
551
+ * @suppress {checkTypes} checked by tsc
552
+ */
553
+ /**
554
+ * Directive for a Material Design Accordion.
555
+ */
556
+ var MatAccordion = /** @class */ (function (_super) {
557
+ __extends(MatAccordion, _super);
558
+ function MatAccordion() {
559
+ var _this = _super !== null && _super.apply(this, arguments) || this;
560
+ _this._hideToggle = false;
561
+ /**
562
+ * Display mode used for all expansion panels in the accordion. Currently two display
563
+ * modes exist:
564
+ * default - a gutter-like spacing is placed around any expanded panel, placing the expanded
565
+ * panel at a different elevation from the rest of the accordion.
566
+ * flat - no spacing is placed around expanded panels, showing all panels at the same
567
+ * elevation.
568
+ */
569
+ _this.displayMode = 'default';
570
+ return _this;
571
+ }
572
+ Object.defineProperty(MatAccordion.prototype, "hideToggle", {
573
+ get: /**
574
+ * Whether the expansion indicator should be hidden.
575
+ * @return {?}
576
+ */
577
+ function () { return this._hideToggle; },
578
+ set: /**
579
+ * @param {?} show
580
+ * @return {?}
581
+ */
582
+ function (show) { this._hideToggle = coerceBooleanProperty(show); },
583
+ enumerable: true,
584
+ configurable: true
585
+ });
586
+ /**
587
+ * @return {?}
588
+ */
589
+ MatAccordion.prototype.ngAfterContentInit = /**
590
+ * @return {?}
591
+ */
592
+ function () {
593
+ this._keyManager = new FocusKeyManager(this._headers).withWrap();
594
+ };
595
+ /** Handles keyboard events coming in from the panel headers. */
596
+ /**
597
+ * Handles keyboard events coming in from the panel headers.
598
+ * @param {?} event
599
+ * @return {?}
600
+ */
601
+ MatAccordion.prototype._handleHeaderKeydown = /**
602
+ * Handles keyboard events coming in from the panel headers.
603
+ * @param {?} event
604
+ * @return {?}
605
+ */
606
+ function (event) {
607
+ var keyCode = event.keyCode;
608
+ var /** @type {?} */ manager = this._keyManager;
609
+ if (keyCode === HOME) {
610
+ manager.setFirstItemActive();
611
+ event.preventDefault();
612
+ }
613
+ else if (keyCode === END) {
614
+ manager.setLastItemActive();
615
+ event.preventDefault();
616
+ }
617
+ else {
618
+ this._keyManager.onKeydown(event);
619
+ }
620
+ };
621
+ /**
622
+ * @param {?} header
623
+ * @return {?}
624
+ */
625
+ MatAccordion.prototype._handleHeaderFocus = /**
626
+ * @param {?} header
627
+ * @return {?}
628
+ */
629
+ function (header) {
630
+ this._keyManager.updateActiveItem(header);
631
+ };
632
+ MatAccordion.decorators = [
633
+ { type: Directive, args: [{
634
+ selector: 'mat-accordion',
635
+ exportAs: 'matAccordion',
636
+ inputs: ['multi'],
637
+ providers: [{
638
+ provide: MAT_ACCORDION,
639
+ useExisting: MatAccordion
640
+ }],
641
+ host: {
642
+ class: 'mat-accordion'
643
+ }
644
+ },] },
645
+ ];
646
+ /** @nocollapse */
647
+ MatAccordion.propDecorators = {
648
+ "_headers": [{ type: ContentChildren, args: [MatExpansionPanelHeader, { descendants: true },] },],
649
+ "hideToggle": [{ type: Input },],
650
+ "displayMode": [{ type: Input },],
651
+ };
652
+ return MatAccordion;
653
+ }(CdkAccordion));
654
+
531
655
  /**
532
656
  * @fileoverview added by tsickle
533
657
  * @suppress {checkTypes} checked by tsc
@@ -571,5 +695,5 @@ var MatExpansionModule = /** @class */ (function () {
571
695
  * @suppress {checkTypes} checked by tsc
572
696
  */
573
697
 
574
- export { MatExpansionModule, MatAccordion, MatExpansionPanel, MatExpansionPanelActionRow, MatExpansionPanelHeader, MatExpansionPanelDescription, MatExpansionPanelTitle, MatExpansionPanelContent, EXPANSION_PANEL_ANIMATION_TIMING, matExpansionAnimations };
698
+ export { MatExpansionModule, MatAccordion, MAT_ACCORDION, _CdkAccordionItem, MatExpansionPanel, MatExpansionPanelActionRow, MatExpansionPanelHeader, MatExpansionPanelDescription, MatExpansionPanelTitle, MatExpansionPanelContent, EXPANSION_PANEL_ANIMATION_TIMING, matExpansionAnimations };
575
699
  //# sourceMappingURL=expansion.es5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expansion.es5.js","sources":["../../../src/lib/expansion/expansion-module.ts","../../../src/lib/expansion/expansion-panel-header.ts","../../../src/lib/expansion/expansion-panel.ts","../../../src/lib/expansion/expansion-panel-content.ts","../../../src/lib/expansion/expansion-animations.ts","../../../src/lib/expansion/accordion.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 {CdkAccordionModule} from '@angular/cdk/accordion';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatAccordion} from './accordion';\nimport {MatExpansionPanel, MatExpansionPanelActionRow} from './expansion-panel';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\nimport {\n MatExpansionPanelDescription,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n} from './expansion-panel-header';\n\n\n@NgModule({\n imports: [CommonModule, CdkAccordionModule, PortalModule],\n exports: [\n MatAccordion,\n MatExpansionPanel,\n MatExpansionPanelActionRow,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatExpansionPanelDescription,\n MatExpansionPanelContent,\n ],\n declarations: [\n MatAccordion,\n MatExpansionPanel,\n MatExpansionPanelActionRow,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatExpansionPanelDescription,\n MatExpansionPanelContent,\n ],\n})\nexport class MatExpansionModule {}\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 {FocusMonitor} from '@angular/cdk/a11y';\nimport {ENTER, SPACE} from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Host,\n Input,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport {merge, Subscription} from 'rxjs';\nimport {filter} from 'rxjs/operators';\nimport {matExpansionAnimations} from './expansion-animations';\nimport {MatExpansionPanel} from './expansion-panel';\n\n\n/**\n * `<mat-expansion-panel-header>`\n *\n * This component corresponds to the header element of an `<mat-expansion-panel>`.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-expansion-panel-header',\n styleUrls: ['./expansion-panel-header.css'],\n templateUrl: './expansion-panel-header.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n matExpansionAnimations.indicatorRotate,\n matExpansionAnimations.expansionHeaderHeight\n ],\n host: {\n 'class': 'mat-expansion-panel-header',\n 'role': 'button',\n '[attr.id]': 'panel._headerId',\n '[attr.tabindex]': 'panel.disabled ? -1 : 0',\n '[attr.aria-controls]': '_getPanelId()',\n '[attr.aria-expanded]': '_isExpanded()',\n '[attr.aria-disabled]': 'panel.disabled',\n '[class.mat-expanded]': '_isExpanded()',\n '(click)': '_toggle()',\n '(keydown)': '_keydown($event)',\n '[@expansionHeight]': `{\n value: _getExpandedState(),\n params: {\n collapsedHeight: collapsedHeight,\n expandedHeight: expandedHeight\n }\n }`,\n },\n})\nexport class MatExpansionPanelHeader implements OnDestroy {\n private _parentChangeSubscription = Subscription.EMPTY;\n\n constructor(\n @Host() public panel: MatExpansionPanel,\n private _element: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef) {\n\n // Since the toggle state depends on an @Input on the panel, we\n // need to subscribe and trigger change detection manually.\n this._parentChangeSubscription = merge(\n panel.opened,\n panel.closed,\n panel._inputChanges.pipe(filter(changes => !!(changes.hideToggle || changes.disabled)))\n )\n .subscribe(() => this._changeDetectorRef.markForCheck());\n\n _focusMonitor.monitor(_element.nativeElement);\n }\n\n /** Height of the header while the panel is expanded. */\n @Input() expandedHeight: string;\n\n /** Height of the header while the panel is collapsed. */\n @Input() collapsedHeight: string;\n\n /** Toggles the expanded state of the panel. */\n _toggle(): void {\n this.panel.toggle();\n }\n\n /** Gets whether the panel is expanded. */\n _isExpanded(): boolean {\n return this.panel.expanded;\n }\n\n /** Gets the expanded state string of the panel. */\n _getExpandedState(): string {\n return this.panel._getExpandedState();\n }\n\n /** Gets the panel id. */\n _getPanelId(): string {\n return this.panel.id;\n }\n\n /** Gets whether the expand indicator should be shown. */\n _showToggle(): boolean {\n return !this.panel.hideToggle && !this.panel.disabled;\n }\n\n /** Handle keydown event calling to toggle() if appropriate. */\n _keydown(event: KeyboardEvent) {\n switch (event.keyCode) {\n // Toggle for space and enter keys.\n case SPACE:\n case ENTER:\n event.preventDefault();\n this._toggle();\n break;\n default:\n return;\n }\n }\n\n ngOnDestroy() {\n this._parentChangeSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._element.nativeElement);\n }\n}\n\n/**\n * `<mat-panel-description>`\n *\n * This directive is to be used inside of the MatExpansionPanelHeader component.\n */\n@Directive({\n selector: 'mat-panel-description',\n host : {\n class: 'mat-expansion-panel-header-description'\n }\n})\nexport class MatExpansionPanelDescription {}\n\n/**\n * `<mat-panel-title>`\n *\n * This directive is to be used inside of the MatExpansionPanelHeader component.\n */\n@Directive({\n selector: 'mat-panel-title',\n host : {\n class: 'mat-expansion-panel-header-title'\n }\n})\nexport class MatExpansionPanelTitle {}\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 {AnimationEvent} from '@angular/animations';\nimport {CdkAccordionItem} from '@angular/cdk/accordion';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n SimpleChanges,\n SkipSelf,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {filter, startWith, take} from 'rxjs/operators';\nimport {MatAccordion} from './accordion';\nimport {matExpansionAnimations} from './expansion-animations';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\n\n\n/** MatExpansionPanel's states. */\nexport type MatExpansionPanelState = 'expanded' | 'collapsed';\n\n/** Counter for generating unique element ids. */\nlet uniqueId = 0;\n\n/**\n * `<mat-expansion-panel>`\n *\n * This component can be used as a single element to show expandable content, or as one of\n * multiple children of an element with the MatAccordion directive attached.\n */\n@Component({\n moduleId: module.id,\n styleUrls: ['./expansion-panel.css'],\n selector: 'mat-expansion-panel',\n exportAs: 'matExpansionPanel',\n templateUrl: './expansion-panel.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled', 'expanded'],\n outputs: ['opened', 'closed', 'expandedChange'],\n animations: [matExpansionAnimations.bodyExpansion],\n providers: [\n // Provide MatAccordion as undefined to prevent nested expansion panels from registering\n // to the same accordion.\n {provide: MatAccordion, useValue: undefined},\n ],\n host: {\n 'class': 'mat-expansion-panel',\n '[class.mat-expanded]': 'expanded',\n '[class.mat-expansion-panel-spacing]': '_hasSpacing()',\n }\n})\nexport class MatExpansionPanel extends CdkAccordionItem\n implements AfterContentInit, OnChanges, OnDestroy {\n /** Whether the toggle indicator should be hidden. */\n @Input()\n get hideToggle(): boolean { return this._hideToggle; }\n set hideToggle(value: boolean) {\n this._hideToggle = coerceBooleanProperty(value);\n }\n private _hideToggle = false;\n\n /** Stream that emits for changes in `@Input` properties. */\n readonly _inputChanges = new Subject<SimpleChanges>();\n\n /** Optionally defined accordion the expansion panel belongs to. */\n accordion: MatAccordion;\n\n /** Content that will be rendered lazily. */\n @ContentChild(MatExpansionPanelContent) _lazyContent: MatExpansionPanelContent;\n\n /** Portal holding the user's content. */\n _portal: TemplatePortal;\n\n /** ID for the associated header element. Used for a11y labelling. */\n _headerId = `mat-expansion-panel-header-${uniqueId++}`;\n\n constructor(@Optional() @SkipSelf() accordion: MatAccordion,\n _changeDetectorRef: ChangeDetectorRef,\n _uniqueSelectionDispatcher: UniqueSelectionDispatcher,\n private _viewContainerRef: ViewContainerRef) {\n super(accordion, _changeDetectorRef, _uniqueSelectionDispatcher);\n this.accordion = accordion;\n }\n\n /** Whether the expansion indicator should be hidden. */\n _getHideToggle(): boolean {\n if (this.accordion) {\n return this.accordion.hideToggle;\n }\n return this.hideToggle;\n }\n\n /** Determines whether the expansion panel should have spacing between it and its siblings. */\n _hasSpacing(): boolean {\n if (this.accordion) {\n return (this.expanded ? this.accordion.displayMode : this._getExpandedState()) === 'default';\n }\n return false;\n }\n\n /** Gets the expanded state string. */\n _getExpandedState(): MatExpansionPanelState {\n return this.expanded ? 'expanded' : 'collapsed';\n }\n\n ngAfterContentInit() {\n if (this._lazyContent) {\n // Render the content as soon as the panel becomes open.\n this.opened.pipe(\n startWith(null!),\n filter(() => this.expanded && !this._portal),\n take(1)\n ).subscribe(() => {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._inputChanges.next(changes);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._inputChanges.complete();\n }\n\n _bodyAnimation(event: AnimationEvent) {\n const classList = event.element.classList;\n const cssClass = 'mat-expanded';\n const {phaseName, toState} = event;\n\n // Toggle the body's `overflow: hidden` class when closing starts or when expansion ends in\n // order to prevent the cases where switching too early would cause the animation to jump.\n // Note that we do it directly on the DOM element to avoid the slight delay that comes\n // with doing it via change detection.\n if (phaseName === 'done' && toState === 'expanded') {\n classList.add(cssClass);\n } else if (phaseName === 'start' && toState === 'collapsed') {\n classList.remove(cssClass);\n }\n }\n}\n\n@Directive({\n selector: 'mat-action-row',\n host: {\n class: 'mat-action-row'\n }\n})\nexport class MatExpansionPanelActionRow {}\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 {Directive, TemplateRef} from '@angular/core';\n\n/**\n * Expansion panel content that will be rendered lazily\n * after the panel is opened for the first time.\n */\n@Directive({\n selector: 'ng-template[matExpansionPanelContent]'\n})\nexport class MatExpansionPanelContent {\n constructor(public _template: TemplateRef<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 {\n animate,\n animateChild,\n group,\n state,\n style,\n transition,\n trigger,\n query,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/** Time and timing curve for expansion panel animations. */\nexport const EXPANSION_PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\n\n/** Animations used by the Material expansion panel. */\nexport const matExpansionAnimations: {\n readonly indicatorRotate: AnimationTriggerMetadata;\n readonly expansionHeaderHeight: AnimationTriggerMetadata;\n readonly bodyExpansion: AnimationTriggerMetadata;\n} = {\n /** Animation that rotates the indicator arrow. */\n indicatorRotate: trigger('indicatorRotate', [\n state('collapsed', style({transform: 'rotate(0deg)'})),\n state('expanded', style({transform: 'rotate(180deg)'})),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\n ]),\n\n /** Animation that expands and collapses the panel header height. */\n expansionHeaderHeight: trigger('expansionHeight', [\n state('collapsed', style({\n height: '{{collapsedHeight}}',\n }), {\n params: {collapsedHeight: '48px'},\n }),\n state('expanded', style({\n height: '{{expandedHeight}}'\n }), {\n params: {expandedHeight: '64px'}\n }),\n transition('expanded <=> collapsed', group([\n query('@indicatorRotate', animateChild(), {optional: true}),\n animate(EXPANSION_PANEL_ANIMATION_TIMING),\n ])),\n ]),\n\n /** Animation that expands and collapses the panel content. */\n bodyExpansion: trigger('bodyExpansion', [\n state('collapsed', style({height: '0px', visibility: 'hidden'})),\n state('expanded', style({height: '*', visibility: 'visible'})),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\n ])\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 {Directive, Input} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {CdkAccordion} from '@angular/cdk/accordion';\n\n/** MatAccordion's display modes. */\nexport type MatAccordionDisplayMode = 'default' | 'flat';\n\n/**\n * Directive for a Material Design Accordion.\n */\n@Directive({\n selector: 'mat-accordion',\n exportAs: 'matAccordion',\n host: {\n class: 'mat-accordion'\n }\n})\nexport class MatAccordion extends CdkAccordion {\n /** Whether the expansion indicator should be hidden. */\n @Input()\n get hideToggle(): boolean { return this._hideToggle; }\n set hideToggle(show: boolean) { this._hideToggle = coerceBooleanProperty(show); }\n private _hideToggle: boolean = false;\n\n /**\n * The display mode used for all expansion panels in the accordion. Currently two display\n * modes exist:\n * default - a gutter-like spacing is placed around any expanded panel, placing the expanded\n * panel at a different elevation from the rest of the accordion.\n * flat - no spacing is placed around expanded panels, showing all panels at the same\n * elevation.\n */\n @Input() displayMode: MatAccordionDisplayMode = 'default';\n}\n"],"names":["tslib_1.__extends"],"mappings":"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"}
1
+ {"version":3,"file":"expansion.es5.js","sources":["../../../src/lib/expansion/expansion-module.ts","../../../src/lib/expansion/accordion.ts","../../../src/lib/expansion/expansion-panel-header.ts","../../../src/lib/expansion/expansion-panel.ts","../../../src/lib/expansion/expansion-panel-content.ts","../../../src/lib/expansion/expansion-animations.ts","../../../src/lib/expansion/accordion-base.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 {CdkAccordionModule} from '@angular/cdk/accordion';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatAccordion} from './accordion';\nimport {MatExpansionPanel, MatExpansionPanelActionRow} from './expansion-panel';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\nimport {\n MatExpansionPanelDescription,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n} from './expansion-panel-header';\n\n\n@NgModule({\n imports: [CommonModule, CdkAccordionModule, PortalModule],\n exports: [\n MatAccordion,\n MatExpansionPanel,\n MatExpansionPanelActionRow,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatExpansionPanelDescription,\n MatExpansionPanelContent,\n ],\n declarations: [\n MatAccordion,\n MatExpansionPanel,\n MatExpansionPanelActionRow,\n MatExpansionPanelHeader,\n MatExpansionPanelTitle,\n MatExpansionPanelDescription,\n MatExpansionPanelContent,\n ],\n})\nexport class MatExpansionModule {}\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 {Directive, Input, ContentChildren, QueryList, AfterContentInit} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {CdkAccordion} from '@angular/cdk/accordion';\nimport {FocusKeyManager} from '@angular/cdk/a11y';\nimport {HOME, END} from '@angular/cdk/keycodes';\nimport {MAT_ACCORDION, MatAccordionBase, MatAccordionDisplayMode} from './accordion-base';\nimport {MatExpansionPanelHeader} from './expansion-panel-header';\n\n/**\n * Directive for a Material Design Accordion.\n */\n@Directive({\n selector: 'mat-accordion',\n exportAs: 'matAccordion',\n inputs: ['multi'],\n providers: [{\n provide: MAT_ACCORDION,\n useExisting: MatAccordion\n }],\n host: {\n class: 'mat-accordion'\n }\n})\nexport class MatAccordion extends CdkAccordion implements MatAccordionBase, AfterContentInit {\n private _keyManager: FocusKeyManager<MatExpansionPanelHeader>;\n\n @ContentChildren(MatExpansionPanelHeader, {descendants: true})\n _headers: QueryList<MatExpansionPanelHeader>;\n\n /** Whether the expansion indicator should be hidden. */\n @Input()\n get hideToggle(): boolean { return this._hideToggle; }\n set hideToggle(show: boolean) { this._hideToggle = coerceBooleanProperty(show); }\n private _hideToggle: boolean = false;\n\n /**\n * Display mode used for all expansion panels in the accordion. Currently two display\n * modes exist:\n * default - a gutter-like spacing is placed around any expanded panel, placing the expanded\n * panel at a different elevation from the rest of the accordion.\n * flat - no spacing is placed around expanded panels, showing all panels at the same\n * elevation.\n */\n @Input() displayMode: MatAccordionDisplayMode = 'default';\n\n ngAfterContentInit() {\n this._keyManager = new FocusKeyManager(this._headers).withWrap();\n }\n\n /** Handles keyboard events coming in from the panel headers. */\n _handleHeaderKeydown(event: KeyboardEvent) {\n const {keyCode} = event;\n const manager = this._keyManager;\n\n if (keyCode === HOME) {\n manager.setFirstItemActive();\n event.preventDefault();\n } else if (keyCode === END) {\n manager.setLastItemActive();\n event.preventDefault();\n } else {\n this._keyManager.onKeydown(event);\n }\n }\n\n _handleHeaderFocus(header: MatExpansionPanelHeader) {\n this._keyManager.updateActiveItem(header);\n }\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 {FocusMonitor, FocusableOption, FocusOrigin} from '@angular/cdk/a11y';\nimport {ENTER, SPACE} from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Host,\n Input,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\nimport {merge, Subscription, EMPTY} from 'rxjs';\nimport {filter} from 'rxjs/operators';\nimport {matExpansionAnimations} from './expansion-animations';\nimport {MatExpansionPanel} from './expansion-panel';\n\n\n/**\n * `<mat-expansion-panel-header>`\n *\n * This component corresponds to the header element of an `<mat-expansion-panel>`.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-expansion-panel-header',\n styleUrls: ['./expansion-panel-header.css'],\n templateUrl: './expansion-panel-header.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n matExpansionAnimations.indicatorRotate,\n matExpansionAnimations.expansionHeaderHeight\n ],\n host: {\n 'class': 'mat-expansion-panel-header',\n 'role': 'button',\n '[attr.id]': 'panel._headerId',\n '[attr.tabindex]': 'disabled ? -1 : 0',\n '[attr.aria-controls]': '_getPanelId()',\n '[attr.aria-expanded]': '_isExpanded()',\n '[attr.aria-disabled]': 'panel.disabled',\n '[class.mat-expanded]': '_isExpanded()',\n '(click)': '_toggle()',\n '(keydown)': '_keydown($event)',\n '[@expansionHeight]': `{\n value: _getExpandedState(),\n params: {\n collapsedHeight: collapsedHeight,\n expandedHeight: expandedHeight\n }\n }`,\n },\n})\nexport class MatExpansionPanelHeader implements OnDestroy, FocusableOption {\n private _parentChangeSubscription = Subscription.EMPTY;\n\n constructor(\n @Host() public panel: MatExpansionPanel,\n private _element: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef) {\n\n const accordionHideToggleChange = panel.accordion ?\n panel.accordion._stateChanges.pipe(filter(changes => !!changes.hideToggle)) : EMPTY;\n\n // Since the toggle state depends on an @Input on the panel, we\n // need to subscribe and trigger change detection manually.\n this._parentChangeSubscription = merge(\n panel.opened,\n panel.closed,\n accordionHideToggleChange,\n panel._inputChanges.pipe(filter(changes => !!(changes.hideToggle || changes.disabled)))\n )\n .subscribe(() => this._changeDetectorRef.markForCheck());\n\n // Avoids focus being lost if the panel contained the focused element and was closed.\n panel.closed\n .pipe(filter(() => panel._containsFocus()))\n .subscribe(() => _focusMonitor.focusVia(_element.nativeElement, 'program'));\n\n _focusMonitor.monitor(_element.nativeElement).subscribe(origin => {\n if (origin && panel.accordion) {\n panel.accordion._handleHeaderFocus(this);\n }\n });\n }\n\n /** Height of the header while the panel is expanded. */\n @Input() expandedHeight: string;\n\n /** Height of the header while the panel is collapsed. */\n @Input() collapsedHeight: string;\n\n /**\n * Whether the associated panel is disabled. Implemented as a part of `FocusableOption`.\n * @docs-private\n */\n get disabled() {\n return this.panel.disabled;\n }\n\n /** Toggles the expanded state of the panel. */\n _toggle(): void {\n this.panel.toggle();\n }\n\n /** Gets whether the panel is expanded. */\n _isExpanded(): boolean {\n return this.panel.expanded;\n }\n\n /** Gets the expanded state string of the panel. */\n _getExpandedState(): string {\n return this.panel._getExpandedState();\n }\n\n /** Gets the panel id. */\n _getPanelId(): string {\n return this.panel.id;\n }\n\n /** Gets whether the expand indicator should be shown. */\n _showToggle(): boolean {\n return !this.panel.hideToggle && !this.panel.disabled;\n }\n\n /** Handle keydown event calling to toggle() if appropriate. */\n _keydown(event: KeyboardEvent) {\n switch (event.keyCode) {\n // Toggle for space and enter keys.\n case SPACE:\n case ENTER:\n event.preventDefault();\n this._toggle();\n break;\n default:\n if (this.panel.accordion) {\n this.panel.accordion._handleHeaderKeydown(event);\n }\n\n return;\n }\n }\n\n /**\n * Focuses the panel header. Implemented as a part of `FocusableOption`.\n * @param origin Origin of the action that triggered the focus.\n * @docs-private\n */\n focus(origin: FocusOrigin = 'program') {\n this._focusMonitor.focusVia(this._element.nativeElement, origin);\n }\n\n ngOnDestroy() {\n this._parentChangeSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._element.nativeElement);\n }\n}\n\n/**\n * `<mat-panel-description>`\n *\n * This directive is to be used inside of the MatExpansionPanelHeader component.\n */\n@Directive({\n selector: 'mat-panel-description',\n host: {\n class: 'mat-expansion-panel-header-description'\n }\n})\nexport class MatExpansionPanelDescription {}\n\n/**\n * `<mat-panel-title>`\n *\n * This directive is to be used inside of the MatExpansionPanelHeader component.\n */\n@Directive({\n selector: 'mat-panel-title',\n host: {\n class: 'mat-expansion-panel-header-title'\n }\n})\nexport class MatExpansionPanelTitle {}\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 {AnimationEvent} from '@angular/animations';\nimport {CdkAccordionItem} from '@angular/cdk/accordion';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n SimpleChanges,\n SkipSelf,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {filter, startWith, take} from 'rxjs/operators';\nimport {matExpansionAnimations} from './expansion-animations';\nimport {MatExpansionPanelContent} from './expansion-panel-content';\nimport {MAT_ACCORDION, MatAccordionBase} from './accordion-base';\n\n// TODO(devversion): workaround for https://github.com/angular/material2/issues/12760\nexport const _CdkAccordionItem = CdkAccordionItem;\n\n/** MatExpansionPanel's states. */\nexport type MatExpansionPanelState = 'expanded' | 'collapsed';\n\n/** Counter for generating unique element ids. */\nlet uniqueId = 0;\n\n/**\n * `<mat-expansion-panel>`\n *\n * This component can be used as a single element to show expandable content, or as one of\n * multiple children of an element with the MatAccordion directive attached.\n */\n@Component({\n moduleId: module.id,\n styleUrls: ['./expansion-panel.css'],\n selector: 'mat-expansion-panel',\n exportAs: 'matExpansionPanel',\n templateUrl: './expansion-panel.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled', 'expanded'],\n outputs: ['opened', 'closed', 'expandedChange'],\n animations: [matExpansionAnimations.bodyExpansion],\n providers: [\n // Provide MatAccordion as undefined to prevent nested expansion panels from registering\n // to the same accordion.\n {provide: MAT_ACCORDION, useValue: undefined},\n ],\n host: {\n 'class': 'mat-expansion-panel',\n '[class.mat-expanded]': 'expanded',\n '[class.mat-expansion-panel-spacing]': '_hasSpacing()',\n }\n})\nexport class MatExpansionPanel extends CdkAccordionItem implements AfterContentInit, OnChanges,\n OnDestroy {\n\n // @breaking-change 8.0.0 Remove `| undefined` from here\n // when the `_document` constructor param is required.\n private _document: Document | undefined;\n\n /** Whether the toggle indicator should be hidden. */\n @Input()\n get hideToggle(): boolean {\n return this._hideToggle || (this.accordion && this.accordion.hideToggle);\n }\n set hideToggle(value: boolean) {\n this._hideToggle = coerceBooleanProperty(value);\n }\n private _hideToggle = false;\n\n /** Stream that emits for changes in `@Input` properties. */\n readonly _inputChanges = new Subject<SimpleChanges>();\n\n /** Optionally defined accordion the expansion panel belongs to. */\n accordion: MatAccordionBase;\n\n /** Content that will be rendered lazily. */\n @ContentChild(MatExpansionPanelContent) _lazyContent: MatExpansionPanelContent;\n\n /** Element containing the panel's user-provided content. */\n @ViewChild('body') _body: ElementRef<HTMLElement>;\n\n /** Portal holding the user's content. */\n _portal: TemplatePortal;\n\n /** ID for the associated header element. Used for a11y labelling. */\n _headerId = `mat-expansion-panel-header-${uniqueId++}`;\n\n constructor(@Optional() @SkipSelf() @Inject(MAT_ACCORDION) accordion: MatAccordionBase,\n _changeDetectorRef: ChangeDetectorRef,\n _uniqueSelectionDispatcher: UniqueSelectionDispatcher,\n private _viewContainerRef: ViewContainerRef,\n @Inject(DOCUMENT) _document?: any) {\n super(accordion, _changeDetectorRef, _uniqueSelectionDispatcher);\n this.accordion = accordion;\n this._document = _document;\n }\n\n /** Determines whether the expansion panel should have spacing between it and its siblings. */\n _hasSpacing(): boolean {\n if (this.accordion) {\n // We don't need to subscribe to the `stateChanges` of the parent accordion because each time\n // the [displayMode] input changes, the change detection will also cover the host bindings\n // of this expansion panel.\n return (this.expanded ? this.accordion.displayMode : this._getExpandedState()) === 'default';\n }\n return false;\n }\n\n /** Gets the expanded state string. */\n _getExpandedState(): MatExpansionPanelState {\n return this.expanded ? 'expanded' : 'collapsed';\n }\n\n ngAfterContentInit() {\n if (this._lazyContent) {\n // Render the content as soon as the panel becomes open.\n this.opened.pipe(\n startWith(null!),\n filter(() => this.expanded && !this._portal),\n take(1)\n ).subscribe(() => {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._inputChanges.next(changes);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._inputChanges.complete();\n }\n\n _bodyAnimation(event: AnimationEvent) {\n const classList = event.element.classList;\n const cssClass = 'mat-expanded';\n const {phaseName, toState} = event;\n\n // Toggle the body's `overflow: hidden` class when closing starts or when expansion ends in\n // order to prevent the cases where switching too early would cause the animation to jump.\n // Note that we do it directly on the DOM element to avoid the slight delay that comes\n // with doing it via change detection.\n if (phaseName === 'done' && toState === 'expanded') {\n classList.add(cssClass);\n } else if (phaseName === 'start' && toState === 'collapsed') {\n classList.remove(cssClass);\n }\n }\n\n /** Checks whether the expansion panel's content contains the currently-focused element. */\n _containsFocus(): boolean {\n if (this._body && this._document) {\n const focusedElement = this._document.activeElement;\n const bodyElement = this._body.nativeElement;\n return focusedElement === bodyElement || bodyElement.contains(focusedElement);\n }\n\n return false;\n }\n}\n\n@Directive({\n selector: 'mat-action-row',\n host: {\n class: 'mat-action-row'\n }\n})\nexport class MatExpansionPanelActionRow {}\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 {Directive, TemplateRef} from '@angular/core';\n\n/**\n * Expansion panel content that will be rendered lazily\n * after the panel is opened for the first time.\n */\n@Directive({\n selector: 'ng-template[matExpansionPanelContent]'\n})\nexport class MatExpansionPanelContent {\n constructor(public _template: TemplateRef<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 {\n animate,\n animateChild,\n group,\n state,\n style,\n transition,\n trigger,\n query,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/** Time and timing curve for expansion panel animations. */\nexport const EXPANSION_PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\n\n/** Animations used by the Material expansion panel. */\nexport const matExpansionAnimations: {\n readonly indicatorRotate: AnimationTriggerMetadata;\n readonly expansionHeaderHeight: AnimationTriggerMetadata;\n readonly bodyExpansion: AnimationTriggerMetadata;\n} = {\n /** Animation that rotates the indicator arrow. */\n indicatorRotate: trigger('indicatorRotate', [\n state('collapsed', style({transform: 'rotate(0deg)'})),\n state('expanded', style({transform: 'rotate(180deg)'})),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\n ]),\n\n /** Animation that expands and collapses the panel header height. */\n expansionHeaderHeight: trigger('expansionHeight', [\n state('collapsed', style({\n height: '{{collapsedHeight}}',\n }), {\n params: {collapsedHeight: '48px'},\n }),\n state('expanded', style({\n height: '{{expandedHeight}}'\n }), {\n params: {expandedHeight: '64px'}\n }),\n transition('expanded <=> collapsed', group([\n query('@indicatorRotate', animateChild(), {optional: true}),\n animate(EXPANSION_PANEL_ANIMATION_TIMING),\n ])),\n ]),\n\n /** Animation that expands and collapses the panel content. */\n bodyExpansion: trigger('bodyExpansion', [\n state('collapsed', style({height: '0px', visibility: 'hidden'})),\n state('expanded', style({height: '*', visibility: 'visible'})),\n transition('expanded <=> collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),\n ])\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 {InjectionToken} from '@angular/core';\nimport {CdkAccordion} from '@angular/cdk/accordion';\n\n/** MatAccordion's display modes. */\nexport type MatAccordionDisplayMode = 'default' | 'flat';\n\n/**\n * Base interface for a `MatAccordion`.\n * @docs-private\n */\nexport interface MatAccordionBase extends CdkAccordion {\n /** Whether the expansion indicator should be hidden. */\n hideToggle: boolean;\n\n /** Display mode used for all expansion panels in the accordion. */\n displayMode: MatAccordionDisplayMode;\n\n /** Handles keyboard events coming in from the panel headers. */\n _handleHeaderKeydown: (event: KeyboardEvent) => void;\n\n /** Handles focus events on the panel headers. */\n _handleHeaderFocus: (header: any) => void;\n}\n\n\n/**\n * Token used to provide a `MatAccordion` to `MatExpansionPanel`.\n * Used primarily to avoid circular imports between `MatAccordion` and `MatExpansionPanel`.\n */\nexport const MAT_ACCORDION = new InjectionToken<MatAccordionBase>('MAT_ACCORDION');\n"],"names":["tslib_1.__extends"],"mappings":"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"}