@angular/material 7.0.3 → 7.2.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 (447) hide show
  1. package/_theming.scss +57 -49
  2. package/autocomplete/typings/index.d.ts +1 -1
  3. package/autocomplete/typings/index.metadata.json +1 -1
  4. package/badge/typings/index.metadata.json +1 -1
  5. package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
  6. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  7. package/bottom-sheet/typings/index.metadata.json +1 -1
  8. package/bundles/material-autocomplete.umd.js +124 -30
  9. package/bundles/material-autocomplete.umd.js.map +1 -1
  10. package/bundles/material-autocomplete.umd.min.js +1 -1
  11. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  12. package/bundles/material-badge.umd.js +38 -5
  13. package/bundles/material-badge.umd.js.map +1 -1
  14. package/bundles/material-badge.umd.min.js +1 -1
  15. package/bundles/material-badge.umd.min.js.map +1 -1
  16. package/bundles/material-bottom-sheet.umd.js +68 -25
  17. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  18. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  20. package/bundles/material-button-toggle.umd.js +40 -15
  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 +19 -12
  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 +2 -2
  29. package/bundles/material-card.umd.js.map +1 -1
  30. package/bundles/material-card.umd.min.js.map +1 -1
  31. package/bundles/material-checkbox.umd.js +56 -15
  32. package/bundles/material-checkbox.umd.js.map +1 -1
  33. package/bundles/material-checkbox.umd.min.js +1 -1
  34. package/bundles/material-checkbox.umd.min.js.map +1 -1
  35. package/bundles/material-chips.umd.js +124 -34
  36. package/bundles/material-chips.umd.js.map +1 -1
  37. package/bundles/material-chips.umd.min.js +1 -1
  38. package/bundles/material-chips.umd.min.js.map +1 -1
  39. package/bundles/material-core.umd.js +186 -123
  40. package/bundles/material-core.umd.js.map +1 -1
  41. package/bundles/material-core.umd.min.js +2 -1
  42. package/bundles/material-core.umd.min.js.map +1 -1
  43. package/bundles/material-datepicker.umd.js +241 -59
  44. package/bundles/material-datepicker.umd.js.map +1 -1
  45. package/bundles/material-datepicker.umd.min.js +2 -2
  46. package/bundles/material-datepicker.umd.min.js.map +1 -1
  47. package/bundles/material-dialog.umd.js +136 -44
  48. package/bundles/material-dialog.umd.js.map +1 -1
  49. package/bundles/material-dialog.umd.min.js +1 -1
  50. package/bundles/material-dialog.umd.min.js.map +1 -1
  51. package/bundles/material-divider.umd.js +2 -2
  52. package/bundles/material-divider.umd.js.map +1 -1
  53. package/bundles/material-divider.umd.min.js.map +1 -1
  54. package/bundles/material-expansion.umd.js +32 -22
  55. package/bundles/material-expansion.umd.js.map +1 -1
  56. package/bundles/material-expansion.umd.min.js +1 -1
  57. package/bundles/material-expansion.umd.min.js.map +1 -1
  58. package/bundles/material-form-field.umd.js +120 -32
  59. package/bundles/material-form-field.umd.js.map +1 -1
  60. package/bundles/material-form-field.umd.min.js +1 -1
  61. package/bundles/material-form-field.umd.min.js.map +1 -1
  62. package/bundles/material-grid-list.umd.js +66 -15
  63. package/bundles/material-grid-list.umd.js.map +1 -1
  64. package/bundles/material-grid-list.umd.min.js +1 -1
  65. package/bundles/material-grid-list.umd.min.js.map +1 -1
  66. package/bundles/material-icon.umd.js +280 -79
  67. package/bundles/material-icon.umd.js.map +1 -1
  68. package/bundles/material-icon.umd.min.js +1 -1
  69. package/bundles/material-icon.umd.min.js.map +1 -1
  70. package/bundles/material-input.umd.js +46 -24
  71. package/bundles/material-input.umd.js.map +1 -1
  72. package/bundles/material-input.umd.min.js +1 -1
  73. package/bundles/material-input.umd.min.js.map +1 -1
  74. package/bundles/material-list.umd.js +71 -22
  75. package/bundles/material-list.umd.js.map +1 -1
  76. package/bundles/material-list.umd.min.js +2 -6
  77. package/bundles/material-list.umd.min.js.map +1 -1
  78. package/bundles/material-menu.umd.js +157 -55
  79. package/bundles/material-menu.umd.js.map +1 -1
  80. package/bundles/material-menu.umd.min.js +1 -1
  81. package/bundles/material-menu.umd.min.js.map +1 -1
  82. package/bundles/material-paginator.umd.js +52 -10
  83. package/bundles/material-paginator.umd.js.map +1 -1
  84. package/bundles/material-paginator.umd.min.js +1 -1
  85. package/bundles/material-paginator.umd.min.js.map +1 -1
  86. package/bundles/material-progress-bar.umd.js +35 -14
  87. package/bundles/material-progress-bar.umd.js.map +1 -1
  88. package/bundles/material-progress-bar.umd.min.js +1 -1
  89. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  90. package/bundles/material-progress-spinner.umd.js +29 -13
  91. package/bundles/material-progress-spinner.umd.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  93. package/bundles/material-radio.umd.js +26 -7
  94. package/bundles/material-radio.umd.js.map +1 -1
  95. package/bundles/material-radio.umd.min.js.map +1 -1
  96. package/bundles/material-select.umd.js +178 -49
  97. package/bundles/material-select.umd.js.map +1 -1
  98. package/bundles/material-select.umd.min.js +1 -1
  99. package/bundles/material-select.umd.min.js.map +1 -1
  100. package/bundles/material-sidenav.umd.js +102 -23
  101. package/bundles/material-sidenav.umd.js.map +1 -1
  102. package/bundles/material-sidenav.umd.min.js +1 -1
  103. package/bundles/material-sidenav.umd.min.js.map +1 -1
  104. package/bundles/material-slide-toggle.umd.js +33 -15
  105. package/bundles/material-slide-toggle.umd.js.map +1 -1
  106. package/bundles/material-slide-toggle.umd.min.js +1 -1
  107. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  108. package/bundles/material-slider.umd.js +89 -19
  109. package/bundles/material-slider.umd.js.map +1 -1
  110. package/bundles/material-slider.umd.min.js +1 -1
  111. package/bundles/material-slider.umd.min.js.map +1 -1
  112. package/bundles/material-snack-bar.umd.js +74 -22
  113. package/bundles/material-snack-bar.umd.js.map +1 -1
  114. package/bundles/material-snack-bar.umd.min.js +1 -1
  115. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  116. package/bundles/material-sort.umd.js +45 -23
  117. package/bundles/material-sort.umd.js.map +1 -1
  118. package/bundles/material-sort.umd.min.js.map +1 -1
  119. package/bundles/material-stepper.umd.js +37 -44
  120. package/bundles/material-stepper.umd.js.map +1 -1
  121. package/bundles/material-stepper.umd.min.js +1 -1
  122. package/bundles/material-stepper.umd.min.js.map +1 -1
  123. package/bundles/material-table.umd.js +29 -19
  124. package/bundles/material-table.umd.js.map +1 -1
  125. package/bundles/material-table.umd.min.js +1 -1
  126. package/bundles/material-table.umd.min.js.map +1 -1
  127. package/bundles/material-tabs.umd.js +156 -56
  128. package/bundles/material-tabs.umd.js.map +1 -1
  129. package/bundles/material-tabs.umd.min.js +2 -2
  130. package/bundles/material-tabs.umd.min.js.map +1 -1
  131. package/bundles/material-toolbar.umd.js +13 -3
  132. package/bundles/material-toolbar.umd.js.map +1 -1
  133. package/bundles/material-toolbar.umd.min.js.map +1 -1
  134. package/bundles/material-tooltip.umd.js +52 -25
  135. package/bundles/material-tooltip.umd.js.map +1 -1
  136. package/bundles/material-tooltip.umd.min.js.map +1 -1
  137. package/bundles/material-tree.umd.js +25 -26
  138. package/bundles/material-tree.umd.js.map +1 -1
  139. package/bundles/material-tree.umd.min.js +1 -1
  140. package/bundles/material-tree.umd.min.js.map +1 -1
  141. package/bundles/material.umd.js +2780 -979
  142. package/bundles/material.umd.js.map +1 -1
  143. package/bundles/material.umd.min.js +19 -21
  144. package/bundles/material.umd.min.js.map +1 -1
  145. package/button/typings/button.d.ts +0 -5
  146. package/button/typings/index.metadata.json +1 -1
  147. package/button-toggle/typings/index.metadata.json +1 -1
  148. package/checkbox/typings/index.metadata.json +1 -1
  149. package/chips/typings/chip-list.d.ts +1 -1
  150. package/chips/typings/chip.d.ts +2 -2
  151. package/chips/typings/index.metadata.json +1 -1
  152. package/core/typings/index.metadata.json +1 -1
  153. package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  154. package/core/typings/public-api.d.ts +1 -1
  155. package/datepicker/typings/calendar-body.d.ts +21 -5
  156. package/datepicker/typings/calendar.d.ts +4 -1
  157. package/datepicker/typings/datepicker-toggle.d.ts +5 -0
  158. package/datepicker/typings/datepicker.d.ts +3 -0
  159. package/datepicker/typings/index.metadata.json +1 -1
  160. package/datepicker/typings/month-view.d.ts +4 -2
  161. package/dialog/typings/index.metadata.json +1 -1
  162. package/esm2015/autocomplete.js +58 -27
  163. package/esm2015/autocomplete.js.map +1 -1
  164. package/esm2015/badge.js +29 -6
  165. package/esm2015/badge.js.map +1 -1
  166. package/esm2015/bottom-sheet.js +46 -27
  167. package/esm2015/bottom-sheet.js.map +1 -1
  168. package/esm2015/button-toggle.js +24 -13
  169. package/esm2015/button-toggle.js.map +1 -1
  170. package/esm2015/button.js +18 -13
  171. package/esm2015/button.js.map +1 -1
  172. package/esm2015/card.js +4 -4
  173. package/esm2015/card.js.map +1 -1
  174. package/esm2015/checkbox.js +30 -12
  175. package/esm2015/checkbox.js.map +1 -1
  176. package/esm2015/chips.js +64 -28
  177. package/esm2015/chips.js.map +1 -1
  178. package/esm2015/core.js +145 -126
  179. package/esm2015/core.js.map +1 -1
  180. package/esm2015/datepicker.js +131 -44
  181. package/esm2015/datepicker.js.map +1 -1
  182. package/esm2015/dialog.js +76 -45
  183. package/esm2015/dialog.js.map +1 -1
  184. package/esm2015/divider.js +4 -4
  185. package/esm2015/divider.js.map +1 -1
  186. package/esm2015/expansion.js +35 -25
  187. package/esm2015/expansion.js.map +1 -1
  188. package/esm2015/form-field.js +93 -34
  189. package/esm2015/form-field.js.map +1 -1
  190. package/esm2015/grid-list.js +45 -17
  191. package/esm2015/grid-list.js.map +1 -1
  192. package/esm2015/icon.js +139 -68
  193. package/esm2015/icon.js.map +1 -1
  194. package/esm2015/input.js +40 -23
  195. package/esm2015/input.js.map +1 -1
  196. package/esm2015/list.js +49 -23
  197. package/esm2015/list.js.map +1 -1
  198. package/esm2015/material.js +10 -9
  199. package/esm2015/material.js.map +1 -1
  200. package/esm2015/menu.js +100 -53
  201. package/esm2015/menu.js.map +1 -1
  202. package/esm2015/paginator.js +35 -12
  203. package/esm2015/paginator.js.map +1 -1
  204. package/esm2015/progress-bar.js +30 -15
  205. package/esm2015/progress-bar.js.map +1 -1
  206. package/esm2015/progress-spinner.js +24 -14
  207. package/esm2015/progress-spinner.js.map +1 -1
  208. package/esm2015/radio.js +17 -7
  209. package/esm2015/radio.js.map +1 -1
  210. package/esm2015/select.js +103 -50
  211. package/esm2015/select.js.map +1 -1
  212. package/esm2015/sidenav.js +73 -26
  213. package/esm2015/sidenav.js.map +1 -1
  214. package/esm2015/slide-toggle.js +26 -16
  215. package/esm2015/slide-toggle.js.map +1 -1
  216. package/esm2015/slider.js +50 -20
  217. package/esm2015/slider.js.map +1 -1
  218. package/esm2015/snack-bar.js +44 -24
  219. package/esm2015/snack-bar.js.map +1 -1
  220. package/esm2015/sort.js +46 -23
  221. package/esm2015/sort.js.map +1 -1
  222. package/esm2015/stepper.js +35 -39
  223. package/esm2015/stepper.js.map +1 -1
  224. package/esm2015/table.js +31 -21
  225. package/esm2015/table.js.map +1 -1
  226. package/esm2015/tabs.js +110 -52
  227. package/esm2015/tabs.js.map +1 -1
  228. package/esm2015/toolbar.js +8 -4
  229. package/esm2015/toolbar.js.map +1 -1
  230. package/esm2015/tooltip.js +42 -27
  231. package/esm2015/tooltip.js.map +1 -1
  232. package/esm2015/tree.js +22 -25
  233. package/esm2015/tree.js.map +1 -1
  234. package/esm5/autocomplete.es5.js +126 -32
  235. package/esm5/autocomplete.es5.js.map +1 -1
  236. package/esm5/badge.es5.js +40 -7
  237. package/esm5/badge.es5.js.map +1 -1
  238. package/esm5/bottom-sheet.es5.js +71 -28
  239. package/esm5/bottom-sheet.es5.js.map +1 -1
  240. package/esm5/button-toggle.es5.js +42 -17
  241. package/esm5/button-toggle.es5.js.map +1 -1
  242. package/esm5/button.es5.js +21 -14
  243. package/esm5/button.es5.js.map +1 -1
  244. package/esm5/card.es5.js +4 -4
  245. package/esm5/card.es5.js.map +1 -1
  246. package/esm5/checkbox.es5.js +58 -17
  247. package/esm5/checkbox.es5.js.map +1 -1
  248. package/esm5/chips.es5.js +127 -37
  249. package/esm5/chips.es5.js.map +1 -1
  250. package/esm5/core.es5.js +189 -126
  251. package/esm5/core.es5.js.map +1 -1
  252. package/esm5/datepicker.es5.js +240 -58
  253. package/esm5/datepicker.es5.js.map +1 -1
  254. package/esm5/dialog.es5.js +139 -47
  255. package/esm5/dialog.es5.js.map +1 -1
  256. package/esm5/divider.es5.js +4 -4
  257. package/esm5/divider.es5.js.map +1 -1
  258. package/esm5/expansion.es5.js +35 -25
  259. package/esm5/expansion.es5.js.map +1 -1
  260. package/esm5/form-field.es5.js +124 -36
  261. package/esm5/form-field.es5.js.map +1 -1
  262. package/esm5/grid-list.es5.js +68 -17
  263. package/esm5/grid-list.es5.js.map +1 -1
  264. package/esm5/icon.es5.js +282 -81
  265. package/esm5/icon.es5.js.map +1 -1
  266. package/esm5/input.es5.js +48 -26
  267. package/esm5/input.es5.js.map +1 -1
  268. package/esm5/list.es5.js +74 -25
  269. package/esm5/list.es5.js.map +1 -1
  270. package/esm5/material.es5.js +10 -9
  271. package/esm5/material.es5.js.map +1 -1
  272. package/esm5/menu.es5.js +158 -55
  273. package/esm5/menu.es5.js.map +1 -1
  274. package/esm5/paginator.es5.js +55 -13
  275. package/esm5/paginator.es5.js.map +1 -1
  276. package/esm5/progress-bar.es5.js +37 -16
  277. package/esm5/progress-bar.es5.js.map +1 -1
  278. package/esm5/progress-spinner.es5.js +31 -15
  279. package/esm5/progress-spinner.es5.js.map +1 -1
  280. package/esm5/radio.es5.js +28 -9
  281. package/esm5/radio.es5.js.map +1 -1
  282. package/esm5/select.es5.js +181 -52
  283. package/esm5/select.es5.js.map +1 -1
  284. package/esm5/sidenav.es5.js +105 -26
  285. package/esm5/sidenav.es5.js.map +1 -1
  286. package/esm5/slide-toggle.es5.js +35 -17
  287. package/esm5/slide-toggle.es5.js.map +1 -1
  288. package/esm5/slider.es5.js +91 -21
  289. package/esm5/slider.es5.js.map +1 -1
  290. package/esm5/snack-bar.es5.js +76 -24
  291. package/esm5/snack-bar.es5.js.map +1 -1
  292. package/esm5/sort.es5.js +52 -25
  293. package/esm5/sort.es5.js.map +1 -1
  294. package/esm5/stepper.es5.js +40 -47
  295. package/esm5/stepper.es5.js.map +1 -1
  296. package/esm5/table.es5.js +31 -21
  297. package/esm5/table.es5.js.map +1 -1
  298. package/esm5/tabs.es5.js +159 -60
  299. package/esm5/tabs.es5.js.map +1 -1
  300. package/esm5/toolbar.es5.js +15 -5
  301. package/esm5/toolbar.es5.js.map +1 -1
  302. package/esm5/tooltip.es5.js +54 -27
  303. package/esm5/tooltip.es5.js.map +1 -1
  304. package/esm5/tree.es5.js +27 -28
  305. package/esm5/tree.es5.js.map +1 -1
  306. package/form-field/typings/form-field.d.ts +15 -4
  307. package/form-field/typings/index.metadata.json +1 -1
  308. package/grid-list/typings/index.d.ts +1 -1
  309. package/grid-list/typings/index.metadata.json +1 -1
  310. package/icon/typings/index.metadata.json +1 -1
  311. package/list/typings/index.metadata.json +1 -1
  312. package/material.d.ts +1 -1
  313. package/material.metadata.json +3 -3
  314. package/menu/typings/index.metadata.json +1 -1
  315. package/menu/typings/menu-item.d.ts +2 -0
  316. package/menu/typings/menu-trigger.d.ts +5 -0
  317. package/package.json +5 -5
  318. package/paginator/typings/index.metadata.json +1 -1
  319. package/paginator/typings/paginator.d.ts +7 -3
  320. package/prebuilt-themes/deeppurple-amber.css +1 -1
  321. package/prebuilt-themes/indigo-pink.css +1 -1
  322. package/prebuilt-themes/pink-bluegrey.css +1 -1
  323. package/prebuilt-themes/purple-green.css +1 -1
  324. package/progress-bar/typings/index.metadata.json +1 -1
  325. package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  326. package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
  327. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  328. package/schematics/ng-add/theming/theming.js +35 -19
  329. package/schematics/ng-add/theming/theming.js.map +1 -1
  330. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  331. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  332. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  333. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  334. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  335. package/select/typings/index.metadata.json +1 -1
  336. package/sidenav/typings/drawer.d.ts +9 -2
  337. package/sidenav/typings/index.metadata.json +1 -1
  338. package/slide-toggle/typings/index.metadata.json +1 -1
  339. package/stepper/typings/index.metadata.json +1 -1
  340. package/stepper/typings/step-header.d.ts +3 -5
  341. package/table/typings/index.metadata.json +1 -1
  342. package/tabs/typings/index.metadata.json +1 -1
  343. package/tabs/typings/tab-body.d.ts +2 -0
  344. package/tabs/typings/tab-group.d.ts +11 -2
  345. package/tabs/typings/tab-header.d.ts +9 -3
  346. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  347. package/tree/typings/index.metadata.json +1 -1
  348. package/typings/autocomplete/index.d.ts +1 -1
  349. package/typings/autocomplete/index.metadata.json +1 -1
  350. package/typings/badge/index.metadata.json +1 -1
  351. package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  352. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  353. package/typings/bottom-sheet/index.metadata.json +1 -1
  354. package/typings/button/button.d.ts +0 -5
  355. package/typings/button/index.metadata.json +1 -1
  356. package/typings/button-toggle/index.metadata.json +1 -1
  357. package/typings/checkbox/index.metadata.json +1 -1
  358. package/typings/chips/chip-list.d.ts +1 -1
  359. package/typings/chips/chip.d.ts +2 -2
  360. package/typings/chips/index.metadata.json +1 -1
  361. package/typings/core/index.metadata.json +1 -1
  362. package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  363. package/typings/core/public-api.d.ts +1 -1
  364. package/typings/datepicker/calendar-body.d.ts +21 -5
  365. package/typings/datepicker/calendar.d.ts +4 -1
  366. package/typings/datepicker/datepicker-toggle.d.ts +5 -0
  367. package/typings/datepicker/datepicker.d.ts +3 -0
  368. package/typings/datepicker/index.metadata.json +1 -1
  369. package/typings/datepicker/month-view.d.ts +4 -2
  370. package/typings/dialog/index.metadata.json +1 -1
  371. package/typings/esm5/autocomplete/index.d.ts +1 -1
  372. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  373. package/typings/esm5/badge/index.metadata.json +1 -1
  374. package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  375. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  376. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  377. package/typings/esm5/button/button.d.ts +0 -5
  378. package/typings/esm5/button/index.metadata.json +1 -1
  379. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  380. package/typings/esm5/checkbox/index.metadata.json +1 -1
  381. package/typings/esm5/chips/chip-list.d.ts +1 -1
  382. package/typings/esm5/chips/chip.d.ts +2 -2
  383. package/typings/esm5/chips/index.metadata.json +1 -1
  384. package/typings/esm5/core/index.metadata.json +1 -1
  385. package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  386. package/typings/esm5/core/public-api.d.ts +1 -1
  387. package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
  388. package/typings/esm5/datepicker/calendar.d.ts +4 -1
  389. package/typings/esm5/datepicker/datepicker-toggle.d.ts +5 -0
  390. package/typings/esm5/datepicker/datepicker.d.ts +3 -0
  391. package/typings/esm5/datepicker/index.metadata.json +1 -1
  392. package/typings/esm5/datepicker/month-view.d.ts +4 -2
  393. package/typings/esm5/dialog/index.metadata.json +1 -1
  394. package/typings/esm5/form-field/form-field.d.ts +15 -4
  395. package/typings/esm5/form-field/index.metadata.json +1 -1
  396. package/typings/esm5/grid-list/index.d.ts +1 -1
  397. package/typings/esm5/grid-list/index.metadata.json +1 -1
  398. package/typings/esm5/icon/index.metadata.json +1 -1
  399. package/typings/esm5/index.metadata.json +1 -1
  400. package/typings/esm5/list/index.metadata.json +1 -1
  401. package/typings/esm5/menu/index.metadata.json +1 -1
  402. package/typings/esm5/menu/menu-item.d.ts +2 -0
  403. package/typings/esm5/menu/menu-trigger.d.ts +5 -0
  404. package/typings/esm5/paginator/index.metadata.json +1 -1
  405. package/typings/esm5/paginator/paginator.d.ts +7 -3
  406. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  407. package/typings/esm5/select/index.metadata.json +1 -1
  408. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  409. package/typings/esm5/sidenav/index.metadata.json +1 -1
  410. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  411. package/typings/esm5/stepper/index.metadata.json +1 -1
  412. package/typings/esm5/stepper/step-header.d.ts +3 -5
  413. package/typings/esm5/table/index.metadata.json +1 -1
  414. package/typings/esm5/tabs/index.metadata.json +1 -1
  415. package/typings/esm5/tabs/tab-body.d.ts +2 -0
  416. package/typings/esm5/tabs/tab-group.d.ts +11 -2
  417. package/typings/esm5/tabs/tab-header.d.ts +9 -3
  418. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  419. package/typings/esm5/tree/index.metadata.json +1 -1
  420. package/typings/form-field/form-field.d.ts +15 -4
  421. package/typings/form-field/index.metadata.json +1 -1
  422. package/typings/grid-list/index.d.ts +1 -1
  423. package/typings/grid-list/index.metadata.json +1 -1
  424. package/typings/icon/index.metadata.json +1 -1
  425. package/typings/index.metadata.json +1 -1
  426. package/typings/list/index.metadata.json +1 -1
  427. package/typings/menu/index.metadata.json +1 -1
  428. package/typings/menu/menu-item.d.ts +2 -0
  429. package/typings/menu/menu-trigger.d.ts +5 -0
  430. package/typings/paginator/index.metadata.json +1 -1
  431. package/typings/paginator/paginator.d.ts +7 -3
  432. package/typings/progress-bar/index.metadata.json +1 -1
  433. package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  434. package/typings/select/index.metadata.json +1 -1
  435. package/typings/sidenav/drawer.d.ts +9 -2
  436. package/typings/sidenav/index.metadata.json +1 -1
  437. package/typings/slide-toggle/index.metadata.json +1 -1
  438. package/typings/stepper/index.metadata.json +1 -1
  439. package/typings/stepper/step-header.d.ts +3 -5
  440. package/typings/table/index.metadata.json +1 -1
  441. package/typings/tabs/index.metadata.json +1 -1
  442. package/typings/tabs/tab-body.d.ts +2 -0
  443. package/typings/tabs/tab-group.d.ts +11 -2
  444. package/typings/tabs/tab-header.d.ts +9 -3
  445. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  446. package/typings/tree/index.metadata.json +1 -1
  447. package/schematics/ng-add/theming/custom-theme.js.map +0 -1
@@ -6,7 +6,7 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { InjectionToken, Component, ViewChild, ElementRef, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, EventEmitter, Inject, Optional, NgModule, Injectable, Injector, SkipSelf, TemplateRef, defineInjectable, inject, INJECTOR } from '@angular/core';
9
- import { animate, state, style, transition, trigger, group, query, animateChild } from '@angular/animations';
9
+ import { animate, state, style, transition, trigger } from '@angular/animations';
10
10
  import { AnimationCurves, AnimationDurations, MatCommonModule } from '@angular/material/core';
11
11
  import { __extends, __assign } from 'tslib';
12
12
  import { BasePortalOutlet, CdkPortalOutlet, PortalModule, ComponentPortal, PortalInjector, TemplatePortal } from '@angular/cdk/portal';
@@ -21,11 +21,12 @@ import { Directionality } from '@angular/cdk/bidi';
21
21
 
22
22
  /**
23
23
  * @fileoverview added by tsickle
24
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
24
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
25
25
  */
26
- /** *
26
+ /**
27
27
  * Injection token that can be used to access the data that was passed in to a bottom sheet.
28
- @type {?} */
28
+ * @type {?}
29
+ */
29
30
  var MAT_BOTTOM_SHEET_DATA = new InjectionToken('MatBottomSheetData');
30
31
  /**
31
32
  * Configuration used when opening a bottom sheet.
@@ -59,39 +60,47 @@ MatBottomSheetConfig = /** @class */ (function () {
59
60
  * the `HashLocationStrategy`).
60
61
  */
61
62
  this.closeOnNavigation = true;
63
+ // Note that this is disabled by default, because while the a11y recommendations are to focus
64
+ // the first focusable element, doing so prevents screen readers from reading out the
65
+ // rest of the bottom sheet content.
62
66
  /**
63
67
  * Whether the bottom sheet should focus the first focusable element on open.
64
68
  */
65
- this.autoFocus = true;
69
+ this.autoFocus = false;
70
+ /**
71
+ * Whether the bottom sheet should restore focus to the
72
+ * previously-focused element, after it's closed.
73
+ */
74
+ this.restoreFocus = true;
66
75
  }
67
76
  return MatBottomSheetConfig;
68
77
  }());
69
78
 
70
79
  /**
71
80
  * @fileoverview added by tsickle
72
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
81
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
73
82
  */
74
- /** *
83
+ /**
75
84
  * Animations used by the Material bottom sheet.
76
- @type {?} */
85
+ * @type {?}
86
+ */
77
87
  var matBottomSheetAnimations = {
78
- /** Animation that shows and hides a bottom sheet. */
88
+ /**
89
+ * Animation that shows and hides a bottom sheet.
90
+ */
79
91
  bottomSheetState: trigger('state', [
80
92
  state('void, hidden', style({ transform: 'translateY(100%)' })),
81
93
  state('visible', style({ transform: 'translateY(0%)' })),
82
94
  transition('visible => void, visible => hidden', animate(AnimationDurations.COMPLEX + " " + AnimationCurves.ACCELERATION_CURVE)),
83
- transition('void => visible', group([
84
- // `animateChild` allows for child component to animate at the same time. See #13870.
85
- query('@*', animateChild(), { optional: true }),
86
- animate(AnimationDurations.EXITING + " " + AnimationCurves.DECELERATION_CURVE),
87
- ]))
95
+ transition('void => visible', animate(AnimationDurations.EXITING + " " + AnimationCurves.DECELERATION_CURVE)),
88
96
  ])
89
97
  };
90
98
 
91
99
  /**
92
100
  * @fileoverview added by tsickle
93
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
101
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
94
102
  */
103
+ // TODO(crisbeto): consolidate some logic between this, MatDialog and MatSnackBar
95
104
  /**
96
105
  * Internal component that wraps user-provided bottom sheet content.
97
106
  * \@docs-private
@@ -233,11 +242,13 @@ var MatBottomSheetContainer = /** @class */ (function (_super) {
233
242
  this._animationStateChanged.emit(event);
234
243
  };
235
244
  /**
245
+ * @private
236
246
  * @param {?} cssClass
237
247
  * @param {?} add
238
248
  * @return {?}
239
249
  */
240
250
  MatBottomSheetContainer.prototype._toggleClass = /**
251
+ * @private
241
252
  * @param {?} cssClass
242
253
  * @param {?} add
243
254
  * @return {?}
@@ -248,9 +259,11 @@ var MatBottomSheetContainer = /** @class */ (function (_super) {
248
259
  add ? classList.add(cssClass) : classList.remove(cssClass);
249
260
  };
250
261
  /**
262
+ * @private
251
263
  * @return {?}
252
264
  */
253
265
  MatBottomSheetContainer.prototype._validatePortalAttached = /**
266
+ * @private
254
267
  * @return {?}
255
268
  */
256
269
  function () {
@@ -259,9 +272,11 @@ var MatBottomSheetContainer = /** @class */ (function (_super) {
259
272
  }
260
273
  };
261
274
  /**
275
+ * @private
262
276
  * @return {?}
263
277
  */
264
278
  MatBottomSheetContainer.prototype._setPanelClass = /**
279
+ * @private
265
280
  * @return {?}
266
281
  */
267
282
  function () {
@@ -277,12 +292,15 @@ var MatBottomSheetContainer = /** @class */ (function (_super) {
277
292
  element.classList.add(panelClass);
278
293
  }
279
294
  };
295
+ /** Moves the focus inside the focus trap. */
280
296
  /**
281
297
  * Moves the focus inside the focus trap.
298
+ * @private
282
299
  * @return {?}
283
300
  */
284
301
  MatBottomSheetContainer.prototype._trapFocus = /**
285
302
  * Moves the focus inside the focus trap.
303
+ * @private
286
304
  * @return {?}
287
305
  */
288
306
  function () {
@@ -291,36 +309,42 @@ var MatBottomSheetContainer = /** @class */ (function (_super) {
291
309
  }
292
310
  this._focusTrap.focusInitialElementWhenReady();
293
311
  };
312
+ /** Restores focus to the element that was focused before the bottom sheet was opened. */
294
313
  /**
295
- * Restores focus to the element that was focused before the bottom sheet opened.
314
+ * Restores focus to the element that was focused before the bottom sheet was opened.
315
+ * @private
296
316
  * @return {?}
297
317
  */
298
318
  MatBottomSheetContainer.prototype._restoreFocus = /**
299
- * Restores focus to the element that was focused before the bottom sheet opened.
319
+ * Restores focus to the element that was focused before the bottom sheet was opened.
320
+ * @private
300
321
  * @return {?}
301
322
  */
302
323
  function () {
303
324
  /** @type {?} */
304
325
  var toFocus = this._elementFocusedBeforeOpened;
305
326
  // We need the extra check, because IE can set the `activeElement` to null in some cases.
306
- if (toFocus && typeof toFocus.focus === 'function') {
327
+ if (this.bottomSheetConfig.restoreFocus && toFocus && typeof toFocus.focus === 'function') {
307
328
  toFocus.focus();
308
329
  }
309
330
  if (this._focusTrap) {
310
331
  this._focusTrap.destroy();
311
332
  }
312
333
  };
334
+ /** Saves a reference to the element that was focused before the bottom sheet was opened. */
313
335
  /**
314
336
  * Saves a reference to the element that was focused before the bottom sheet was opened.
337
+ * @private
315
338
  * @return {?}
316
339
  */
317
340
  MatBottomSheetContainer.prototype._savePreviouslyFocusedElement = /**
318
341
  * Saves a reference to the element that was focused before the bottom sheet was opened.
342
+ * @private
319
343
  * @return {?}
320
344
  */
321
345
  function () {
322
346
  var _this = this;
323
- this._elementFocusedBeforeOpened = /** @type {?} */ (this._document.activeElement);
347
+ this._elementFocusedBeforeOpened = (/** @type {?} */ (this._document.activeElement));
324
348
  // The `focus` method isn't available during server-side rendering.
325
349
  if (this._elementRef.nativeElement.focus) {
326
350
  Promise.resolve().then(function () { return _this._elementRef.nativeElement.focus(); });
@@ -362,7 +386,7 @@ var MatBottomSheetContainer = /** @class */ (function (_super) {
362
386
 
363
387
  /**
364
388
  * @fileoverview added by tsickle
365
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
389
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
366
390
  */
367
391
  var MatBottomSheetModule = /** @class */ (function () {
368
392
  function MatBottomSheetModule() {
@@ -385,7 +409,7 @@ var MatBottomSheetModule = /** @class */ (function () {
385
409
 
386
410
  /**
387
411
  * @fileoverview added by tsickle
388
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
412
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
389
413
  */
390
414
  /**
391
415
  * Reference to a bottom sheet dispatched from the bottom sheet service.
@@ -507,11 +531,12 @@ MatBottomSheetRef = /** @class */ (function () {
507
531
 
508
532
  /**
509
533
  * @fileoverview added by tsickle
510
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
534
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
511
535
  */
512
- /** *
536
+ /**
513
537
  * Injection token that can be used to specify default bottom sheet options.
514
- @type {?} */
538
+ * @type {?}
539
+ */
515
540
  var MAT_BOTTOM_SHEET_DEFAULT_OPTIONS = new InjectionToken('mat-bottom-sheet-default-options');
516
541
  /**
517
542
  * Service to trigger Material Design bottom sheets.
@@ -574,10 +599,10 @@ var MatBottomSheet = /** @class */ (function () {
574
599
  /** @type {?} */
575
600
  var ref = new MatBottomSheetRef(container, overlayRef, this._location);
576
601
  if (componentOrTemplateRef instanceof TemplateRef) {
577
- container.attachTemplatePortal(new TemplatePortal(componentOrTemplateRef, /** @type {?} */ ((null)), /** @type {?} */ ({
602
+ container.attachTemplatePortal(new TemplatePortal(componentOrTemplateRef, (/** @type {?} */ (null)), (/** @type {?} */ ({
578
603
  $implicit: _config.data,
579
604
  bottomSheetRef: ref
580
- })));
605
+ }))));
581
606
  }
582
607
  else {
583
608
  /** @type {?} */
@@ -635,12 +660,17 @@ var MatBottomSheet = /** @class */ (function () {
635
660
  };
636
661
  /**
637
662
  * Attaches the bottom sheet container component to the overlay.
663
+ */
664
+ /**
665
+ * Attaches the bottom sheet container component to the overlay.
666
+ * @private
638
667
  * @param {?} overlayRef
639
668
  * @param {?} config
640
669
  * @return {?}
641
670
  */
642
671
  MatBottomSheet.prototype._attachContainer = /**
643
672
  * Attaches the bottom sheet container component to the overlay.
673
+ * @private
644
674
  * @param {?} overlayRef
645
675
  * @param {?} config
646
676
  * @return {?}
@@ -660,11 +690,17 @@ var MatBottomSheet = /** @class */ (function () {
660
690
  };
661
691
  /**
662
692
  * Creates a new overlay and places it in the correct location.
693
+ * @param config The user-specified bottom sheet config.
694
+ */
695
+ /**
696
+ * Creates a new overlay and places it in the correct location.
697
+ * @private
663
698
  * @param {?} config The user-specified bottom sheet config.
664
699
  * @return {?}
665
700
  */
666
701
  MatBottomSheet.prototype._createOverlay = /**
667
702
  * Creates a new overlay and places it in the correct location.
703
+ * @private
668
704
  * @param {?} config The user-specified bottom sheet config.
669
705
  * @return {?}
670
706
  */
@@ -688,6 +724,12 @@ var MatBottomSheet = /** @class */ (function () {
688
724
  };
689
725
  /**
690
726
  * Creates an injector to be used inside of a bottom sheet component.
727
+ * @param config Config that was used to create the bottom sheet.
728
+ * @param bottomSheetRef Reference to the bottom sheet.
729
+ */
730
+ /**
731
+ * Creates an injector to be used inside of a bottom sheet component.
732
+ * @private
691
733
  * @template T
692
734
  * @param {?} config Config that was used to create the bottom sheet.
693
735
  * @param {?} bottomSheetRef Reference to the bottom sheet.
@@ -695,6 +737,7 @@ var MatBottomSheet = /** @class */ (function () {
695
737
  */
696
738
  MatBottomSheet.prototype._createInjector = /**
697
739
  * Creates an injector to be used inside of a bottom sheet component.
740
+ * @private
698
741
  * @template T
699
742
  * @param {?} config Config that was used to create the bottom sheet.
700
743
  * @param {?} bottomSheetRef Reference to the bottom sheet.
@@ -743,12 +786,12 @@ function _applyConfigDefaults(defaults, config) {
743
786
 
744
787
  /**
745
788
  * @fileoverview added by tsickle
746
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
789
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
747
790
  */
748
791
 
749
792
  /**
750
793
  * @fileoverview added by tsickle
751
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
794
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
752
795
  */
753
796
 
754
797
  export { MatBottomSheetModule, MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, MatBottomSheet, MAT_BOTTOM_SHEET_DATA, MatBottomSheetConfig, MatBottomSheetContainer, matBottomSheetAnimations, MatBottomSheetRef };
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-sheet.es5.js","sources":["../../../src/lib/bottom-sheet/bottom-sheet.ts","../../../src/lib/bottom-sheet/bottom-sheet-ref.ts","../../../src/lib/bottom-sheet/bottom-sheet-module.ts","../../../src/lib/bottom-sheet/bottom-sheet-container.ts","../../../src/lib/bottom-sheet/bottom-sheet-animations.ts","../../../src/lib/bottom-sheet/bottom-sheet-config.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 {Directionality} from '@angular/cdk/bidi';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, ComponentType, PortalInjector, TemplatePortal} from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Injectable,\n Injector,\n Optional,\n SkipSelf,\n TemplateRef,\n InjectionToken,\n Inject,\n OnDestroy,\n} from '@angular/core';\nimport {Location} from '@angular/common';\nimport {of as observableOf} from 'rxjs';\nimport {MAT_BOTTOM_SHEET_DATA, MatBottomSheetConfig} from './bottom-sheet-config';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\nimport {MatBottomSheetModule} from './bottom-sheet-module';\nimport {MatBottomSheetRef} from './bottom-sheet-ref';\n\n\n/** Injection token that can be used to specify default bottom sheet options. */\nexport const MAT_BOTTOM_SHEET_DEFAULT_OPTIONS =\n new InjectionToken<MatBottomSheetConfig>('mat-bottom-sheet-default-options');\n\n/**\n * Service to trigger Material Design bottom sheets.\n */\n@Injectable({providedIn: MatBottomSheetModule})\nexport class MatBottomSheet implements OnDestroy {\n private _bottomSheetRefAtThisLevel: MatBottomSheetRef<any> | null = null;\n\n /** Reference to the currently opened bottom sheet. */\n get _openedBottomSheetRef(): MatBottomSheetRef<any> | null {\n const parent = this._parentBottomSheet;\n return parent ? parent._openedBottomSheetRef : this._bottomSheetRefAtThisLevel;\n }\n\n set _openedBottomSheetRef(value: MatBottomSheetRef<any> | null) {\n if (this._parentBottomSheet) {\n this._parentBottomSheet._openedBottomSheetRef = value;\n } else {\n this._bottomSheetRefAtThisLevel = value;\n }\n }\n\n constructor(\n private _overlay: Overlay,\n private _injector: Injector,\n @Optional() @SkipSelf() private _parentBottomSheet: MatBottomSheet,\n @Optional() private _location?: Location,\n @Optional() @Inject(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS)\n private _defaultOptions?: MatBottomSheetConfig) {}\n\n open<T, D = any, R = any>(component: ComponentType<T>,\n config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;\n open<T, D = any, R = any>(template: TemplateRef<T>,\n config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;\n\n open<T, D = any, R = any>(componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R> {\n\n const _config =\n _applyConfigDefaults(this._defaultOptions || new MatBottomSheetConfig(), config);\n const overlayRef = this._createOverlay(_config);\n const container = this._attachContainer(overlayRef, _config);\n const ref = new MatBottomSheetRef<T, R>(container, overlayRef, this._location);\n\n if (componentOrTemplateRef instanceof TemplateRef) {\n container.attachTemplatePortal(new TemplatePortal<T>(componentOrTemplateRef, null!, {\n $implicit: _config.data,\n bottomSheetRef: ref\n } as any));\n } else {\n const portal = new ComponentPortal(componentOrTemplateRef, undefined,\n this._createInjector(_config, ref));\n const contentRef = container.attachComponentPortal(portal);\n ref.instance = contentRef.instance;\n }\n\n // When the bottom sheet is dismissed, clear the reference to it.\n ref.afterDismissed().subscribe(() => {\n // Clear the bottom sheet ref if it hasn't already been replaced by a newer one.\n if (this._openedBottomSheetRef == ref) {\n this._openedBottomSheetRef = null;\n }\n });\n\n if (this._openedBottomSheetRef) {\n // If a bottom sheet is already in view, dismiss it and enter the\n // new bottom sheet after exit animation is complete.\n this._openedBottomSheetRef.afterDismissed().subscribe(() => ref.containerInstance.enter());\n this._openedBottomSheetRef.dismiss();\n } else {\n // If no bottom sheet is in view, enter the new bottom sheet.\n ref.containerInstance.enter();\n }\n\n this._openedBottomSheetRef = ref;\n\n return ref;\n }\n\n /**\n * Dismisses the currently-visible bottom sheet.\n */\n dismiss(): void {\n if (this._openedBottomSheetRef) {\n this._openedBottomSheetRef.dismiss();\n }\n }\n\n ngOnDestroy() {\n if (this._bottomSheetRefAtThisLevel) {\n this._bottomSheetRefAtThisLevel.dismiss();\n }\n }\n\n /**\n * Attaches the bottom sheet container component to the overlay.\n */\n private _attachContainer(overlayRef: OverlayRef,\n config: MatBottomSheetConfig): MatBottomSheetContainer {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = new PortalInjector(userInjector || this._injector, new WeakMap([\n [MatBottomSheetConfig, config]\n ]));\n\n const containerPortal =\n new ComponentPortal(MatBottomSheetContainer, config.viewContainerRef, injector);\n const containerRef: ComponentRef<MatBottomSheetContainer> = overlayRef.attach(containerPortal);\n return containerRef.instance;\n }\n\n /**\n * Creates a new overlay and places it in the correct location.\n * @param config The user-specified bottom sheet config.\n */\n private _createOverlay(config: MatBottomSheetConfig): OverlayRef {\n const overlayConfig = new OverlayConfig({\n direction: config.direction,\n hasBackdrop: config.hasBackdrop,\n disposeOnNavigation: config.closeOnNavigation,\n maxWidth: '100%',\n scrollStrategy: this._overlay.scrollStrategies.block(),\n positionStrategy: this._overlay.position()\n .global()\n .centerHorizontally()\n .bottom('0')\n });\n\n if (config.backdropClass) {\n overlayConfig.backdropClass = config.backdropClass;\n }\n\n return this._overlay.create(overlayConfig);\n }\n\n /**\n * Creates an injector to be used inside of a bottom sheet component.\n * @param config Config that was used to create the bottom sheet.\n * @param bottomSheetRef Reference to the bottom sheet.\n */\n private _createInjector<T>(config: MatBottomSheetConfig,\n bottomSheetRef: MatBottomSheetRef<T>): PortalInjector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injectionTokens = new WeakMap<any, any>([\n [MatBottomSheetRef, bottomSheetRef],\n [MAT_BOTTOM_SHEET_DATA, config.data]\n ]);\n\n if (config.direction &&\n (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.set(Directionality, {\n value: config.direction,\n change: observableOf()\n });\n }\n\n return new PortalInjector(userInjector || this._injector, injectionTokens);\n }\n}\n\n/**\n * Applies default options to the bottom sheet config.\n * @param defaults Object containing the default values to which to fall back.\n * @param config The configuration to which the defaults will be applied.\n * @returns The new configuration object with defaults applied.\n */\nfunction _applyConfigDefaults(defaults: MatBottomSheetConfig,\n config?: MatBottomSheetConfig): MatBottomSheetConfig {\n return {...defaults, ...config};\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 {Location} from '@angular/common';\nimport {ESCAPE} from '@angular/cdk/keycodes';\nimport {OverlayRef} from '@angular/cdk/overlay';\nimport {merge, Observable, Subject} from 'rxjs';\nimport {filter, take} from 'rxjs/operators';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\n\n\n/**\n * Reference to a bottom sheet dispatched from the bottom sheet service.\n */\nexport class MatBottomSheetRef<T = any, R = any> {\n /** Instance of the component making up the content of the bottom sheet. */\n instance: T;\n\n /**\n * Instance of the component into which the bottom sheet content is projected.\n * @docs-private\n */\n containerInstance: MatBottomSheetContainer;\n\n /** Subject for notifying the user that the bottom sheet has been dismissed. */\n private readonly _afterDismissed = new Subject<R | undefined>();\n\n /** Subject for notifying the user that the bottom sheet has opened and appeared. */\n private readonly _afterOpened = new Subject<void>();\n\n /** Result to be passed down to the `afterDismissed` stream. */\n private _result: R | undefined;\n\n constructor(\n containerInstance: MatBottomSheetContainer,\n private _overlayRef: OverlayRef,\n // @breaking-change 8.0.0 `_location` parameter to be removed.\n _location?: Location) {\n this.containerInstance = containerInstance;\n\n // Emit when opening animation completes\n containerInstance._animationStateChanged.pipe(\n filter(event => event.phaseName === 'done' && event.toState === 'visible'),\n take(1)\n )\n .subscribe(() => {\n this._afterOpened.next();\n this._afterOpened.complete();\n });\n\n // Dispose overlay when closing animation is complete\n containerInstance._animationStateChanged.pipe(\n filter(event => event.phaseName === 'done' && event.toState === 'hidden'),\n take(1)\n )\n .subscribe(() => {\n this._overlayRef.dispose();\n this._afterDismissed.next(this._result);\n this._afterDismissed.complete();\n });\n\n if (!containerInstance.bottomSheetConfig.disableClose) {\n merge(\n _overlayRef.backdropClick(),\n _overlayRef.keydownEvents().pipe(filter(event => event.keyCode === ESCAPE))\n ).subscribe(() => this.dismiss());\n }\n }\n\n /**\n * Dismisses the bottom sheet.\n * @param result Data to be passed back to the bottom sheet opener.\n */\n dismiss(result?: R): void {\n if (!this._afterDismissed.closed) {\n // Transition the backdrop in parallel to the bottom sheet.\n this.containerInstance._animationStateChanged.pipe(\n filter(event => event.phaseName === 'start'),\n take(1)\n ).subscribe(() => this._overlayRef.detachBackdrop());\n\n this._result = result;\n this.containerInstance.exit();\n }\n }\n\n /** Gets an observable that is notified when the bottom sheet is finished closing. */\n afterDismissed(): Observable<R | undefined> {\n return this._afterDismissed.asObservable();\n }\n\n /** Gets an observable that is notified when the bottom sheet has opened and appeared. */\n afterOpened(): Observable<void> {\n return this._afterOpened.asObservable();\n }\n\n /**\n * Gets an observable that emits when the overlay's backdrop has been clicked.\n */\n backdropClick(): Observable<MouseEvent> {\n return this._overlayRef.backdropClick();\n }\n\n /**\n * Gets an observable that emits when keydown events are targeted on the overlay.\n */\n keydownEvents(): Observable<KeyboardEvent> {\n return this._overlayRef.keydownEvents();\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 {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\n\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n MatCommonModule,\n PortalModule,\n ],\n exports: [MatBottomSheetContainer, MatCommonModule],\n declarations: [MatBottomSheetContainer],\n entryComponents: [MatBottomSheetContainer],\n})\nexport class MatBottomSheetModule {}\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 {\n Component,\n ComponentRef,\n EmbeddedViewRef,\n ViewChild,\n OnDestroy,\n ElementRef,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ChangeDetectorRef,\n EventEmitter,\n Inject,\n Optional,\n} from '@angular/core';\nimport {AnimationEvent} from '@angular/animations';\nimport {\n BasePortalOutlet,\n ComponentPortal,\n TemplatePortal,\n CdkPortalOutlet,\n} from '@angular/cdk/portal';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {MatBottomSheetConfig} from './bottom-sheet-config';\nimport {matBottomSheetAnimations} from './bottom-sheet-animations';\nimport {Subscription} from 'rxjs';\nimport {DOCUMENT} from '@angular/common';\nimport {FocusTrap, FocusTrapFactory} from '@angular/cdk/a11y';\n\n// TODO(crisbeto): consolidate some logic between this, MatDialog and MatSnackBar\n\n/**\n * Internal component that wraps user-provided bottom sheet content.\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-bottom-sheet-container',\n templateUrl: 'bottom-sheet-container.html',\n styleUrls: ['bottom-sheet-container.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [matBottomSheetAnimations.bottomSheetState],\n host: {\n 'class': 'mat-bottom-sheet-container',\n 'tabindex': '-1',\n 'role': 'dialog',\n 'aria-modal': 'true',\n '[attr.aria-label]': 'bottomSheetConfig?.ariaLabel',\n '[@state]': '_animationState',\n '(@state.start)': '_onAnimationStart($event)',\n '(@state.done)': '_onAnimationDone($event)'\n },\n})\nexport class MatBottomSheetContainer extends BasePortalOutlet implements OnDestroy {\n private _breakpointSubscription: Subscription;\n\n /** The portal outlet inside of this container into which the content will be loaded. */\n @ViewChild(CdkPortalOutlet) _portalOutlet: CdkPortalOutlet;\n\n /** The state of the bottom sheet animations. */\n _animationState: 'void' | 'visible' | 'hidden' = 'void';\n\n /** Emits whenever the state of the animation changes. */\n _animationStateChanged = new EventEmitter<AnimationEvent>();\n\n /** The class that traps and manages focus within the bottom sheet. */\n private _focusTrap: FocusTrap;\n\n /** Element that was focused before the bottom sheet was opened. */\n private _elementFocusedBeforeOpened: HTMLElement | null = null;\n\n /** Server-side rendering-compatible reference to the global document object. */\n private _document: Document;\n\n /** Whether the component has been destroyed. */\n private _destroyed: boolean;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusTrapFactory: FocusTrapFactory,\n breakpointObserver: BreakpointObserver,\n @Optional() @Inject(DOCUMENT) document: any,\n /** The bottom sheet configuration. */\n public bottomSheetConfig: MatBottomSheetConfig) {\n super();\n\n this._document = document;\n this._breakpointSubscription = breakpointObserver\n .observe([Breakpoints.Medium, Breakpoints.Large, Breakpoints.XLarge])\n .subscribe(() => {\n this._toggleClass('mat-bottom-sheet-container-medium',\n breakpointObserver.isMatched(Breakpoints.Medium));\n this._toggleClass('mat-bottom-sheet-container-large',\n breakpointObserver.isMatched(Breakpoints.Large));\n this._toggleClass('mat-bottom-sheet-container-xlarge',\n breakpointObserver.isMatched(Breakpoints.XLarge));\n });\n }\n\n /** Attach a component portal as content to this bottom sheet container. */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n this._validatePortalAttached();\n this._setPanelClass();\n this._savePreviouslyFocusedElement();\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n /** Attach a template portal as content to this bottom sheet container. */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n this._validatePortalAttached();\n this._setPanelClass();\n this._savePreviouslyFocusedElement();\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n /** Begin animation of bottom sheet entrance into view. */\n enter(): void {\n if (!this._destroyed) {\n this._animationState = 'visible';\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** Begin animation of the bottom sheet exiting from view. */\n exit(): void {\n if (!this._destroyed) {\n this._animationState = 'hidden';\n this._changeDetectorRef.markForCheck();\n }\n }\n\n ngOnDestroy() {\n this._breakpointSubscription.unsubscribe();\n this._destroyed = true;\n }\n\n _onAnimationDone(event: AnimationEvent) {\n if (event.toState === 'hidden') {\n this._restoreFocus();\n } else if (event.toState === 'visible' && this.bottomSheetConfig.autoFocus) {\n this._trapFocus();\n }\n\n this._animationStateChanged.emit(event);\n }\n\n _onAnimationStart(event: AnimationEvent) {\n this._animationStateChanged.emit(event);\n }\n\n private _toggleClass(cssClass: string, add: boolean) {\n const classList = this._elementRef.nativeElement.classList;\n add ? classList.add(cssClass) : classList.remove(cssClass);\n }\n\n private _validatePortalAttached() {\n if (this._portalOutlet.hasAttached()) {\n throw Error('Attempting to attach bottom sheet content after content is already attached');\n }\n }\n\n private _setPanelClass() {\n const element: HTMLElement = this._elementRef.nativeElement;\n const panelClass = this.bottomSheetConfig.panelClass;\n\n if (Array.isArray(panelClass)) {\n // Note that we can't use a spread here, because IE doesn't support multiple arguments.\n panelClass.forEach(cssClass => element.classList.add(cssClass));\n } else if (panelClass) {\n element.classList.add(panelClass);\n }\n }\n\n\n /** Moves the focus inside the focus trap. */\n private _trapFocus() {\n if (!this._focusTrap) {\n this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n }\n\n this._focusTrap.focusInitialElementWhenReady();\n }\n\n /** Restores focus to the element that was focused before the bottom sheet opened. */\n private _restoreFocus() {\n const toFocus = this._elementFocusedBeforeOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (toFocus && typeof toFocus.focus === 'function') {\n toFocus.focus();\n }\n\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n }\n\n /** Saves a reference to the element that was focused before the bottom sheet was opened. */\n private _savePreviouslyFocusedElement() {\n this._elementFocusedBeforeOpened = this._document.activeElement as HTMLElement;\n\n // The `focus` method isn't available during server-side rendering.\n if (this._elementRef.nativeElement.focus) {\n Promise.resolve().then(() => this._elementRef.nativeElement.focus());\n }\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 */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n group,\n query,\n animateChild,\n} from '@angular/animations';\nimport {AnimationCurves, AnimationDurations} from '@angular/material/core';\n\n/** Animations used by the Material bottom sheet. */\nexport const matBottomSheetAnimations: {\n readonly bottomSheetState: AnimationTriggerMetadata;\n} = {\n /** Animation that shows and hides a bottom sheet. */\n bottomSheetState: trigger('state', [\n state('void, hidden', style({transform: 'translateY(100%)'})),\n state('visible', style({transform: 'translateY(0%)'})),\n transition('visible => void, visible => hidden',\n animate(`${AnimationDurations.COMPLEX} ${AnimationCurves.ACCELERATION_CURVE}`)),\n transition('void => visible', group([\n // `animateChild` allows for child component to animate at the same time. See #13870.\n query('@*', animateChild(), {optional: true}),\n animate(`${AnimationDurations.EXITING} ${AnimationCurves.DECELERATION_CURVE}`),\n ]))\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 {ViewContainerRef, InjectionToken} from '@angular/core';\nimport {Direction} from '@angular/cdk/bidi';\n\n/** Injection token that can be used to access the data that was passed in to a bottom sheet. */\nexport const MAT_BOTTOM_SHEET_DATA = new InjectionToken<any>('MatBottomSheetData');\n\n/**\n * Configuration used when opening a bottom sheet.\n */\nexport class MatBottomSheetConfig<D = any> {\n /** The view container to place the overlay for the bottom sheet into. */\n viewContainerRef?: ViewContainerRef;\n\n /** Extra CSS classes to be added to the bottom sheet container. */\n panelClass?: string | string[];\n\n /** Text layout direction for the bottom sheet. */\n direction?: Direction;\n\n /** Data being injected into the child component. */\n data?: D | null = null;\n\n /** Whether the bottom sheet has a backdrop. */\n hasBackdrop?: boolean = true;\n\n /** Custom class for the backdrop. */\n backdropClass?: string;\n\n /** Whether the user can use escape or clicking outside to close the bottom sheet. */\n disableClose?: boolean = false;\n\n /** Aria label to assign to the bottom sheet element. */\n ariaLabel?: string | null = null;\n\n /**\n * Whether the bottom sheet should close when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n closeOnNavigation?: boolean = true;\n\n /** Whether the bottom sheet should focus the first focusable element on open. */\n autoFocus?: boolean = true;\n}\n"],"names":["tslib_1.__assign","observableOf","tslib_1.__extends"],"mappings":"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"}
1
+ {"version":3,"file":"bottom-sheet.es5.js","sources":["../../../src/lib/bottom-sheet/bottom-sheet.ts","../../../src/lib/bottom-sheet/bottom-sheet-ref.ts","../../../src/lib/bottom-sheet/bottom-sheet-module.ts","../../../src/lib/bottom-sheet/bottom-sheet-container.ts","../../../src/lib/bottom-sheet/bottom-sheet-animations.ts","../../../src/lib/bottom-sheet/bottom-sheet-config.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 {Directionality} from '@angular/cdk/bidi';\nimport {Overlay, OverlayConfig, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal, ComponentType, PortalInjector, TemplatePortal} from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Injectable,\n Injector,\n Optional,\n SkipSelf,\n TemplateRef,\n InjectionToken,\n Inject,\n OnDestroy,\n} from '@angular/core';\nimport {Location} from '@angular/common';\nimport {of as observableOf} from 'rxjs';\nimport {MAT_BOTTOM_SHEET_DATA, MatBottomSheetConfig} from './bottom-sheet-config';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\nimport {MatBottomSheetModule} from './bottom-sheet-module';\nimport {MatBottomSheetRef} from './bottom-sheet-ref';\n\n\n/** Injection token that can be used to specify default bottom sheet options. */\nexport const MAT_BOTTOM_SHEET_DEFAULT_OPTIONS =\n new InjectionToken<MatBottomSheetConfig>('mat-bottom-sheet-default-options');\n\n/**\n * Service to trigger Material Design bottom sheets.\n */\n@Injectable({providedIn: MatBottomSheetModule})\nexport class MatBottomSheet implements OnDestroy {\n private _bottomSheetRefAtThisLevel: MatBottomSheetRef<any> | null = null;\n\n /** Reference to the currently opened bottom sheet. */\n get _openedBottomSheetRef(): MatBottomSheetRef<any> | null {\n const parent = this._parentBottomSheet;\n return parent ? parent._openedBottomSheetRef : this._bottomSheetRefAtThisLevel;\n }\n\n set _openedBottomSheetRef(value: MatBottomSheetRef<any> | null) {\n if (this._parentBottomSheet) {\n this._parentBottomSheet._openedBottomSheetRef = value;\n } else {\n this._bottomSheetRefAtThisLevel = value;\n }\n }\n\n constructor(\n private _overlay: Overlay,\n private _injector: Injector,\n @Optional() @SkipSelf() private _parentBottomSheet: MatBottomSheet,\n @Optional() private _location?: Location,\n @Optional() @Inject(MAT_BOTTOM_SHEET_DEFAULT_OPTIONS)\n private _defaultOptions?: MatBottomSheetConfig) {}\n\n open<T, D = any, R = any>(component: ComponentType<T>,\n config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;\n open<T, D = any, R = any>(template: TemplateRef<T>,\n config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R>;\n\n open<T, D = any, R = any>(componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: MatBottomSheetConfig<D>): MatBottomSheetRef<T, R> {\n\n const _config =\n _applyConfigDefaults(this._defaultOptions || new MatBottomSheetConfig(), config);\n const overlayRef = this._createOverlay(_config);\n const container = this._attachContainer(overlayRef, _config);\n const ref = new MatBottomSheetRef<T, R>(container, overlayRef, this._location);\n\n if (componentOrTemplateRef instanceof TemplateRef) {\n container.attachTemplatePortal(new TemplatePortal<T>(componentOrTemplateRef, null!, {\n $implicit: _config.data,\n bottomSheetRef: ref\n } as any));\n } else {\n const portal = new ComponentPortal(componentOrTemplateRef, undefined,\n this._createInjector(_config, ref));\n const contentRef = container.attachComponentPortal(portal);\n ref.instance = contentRef.instance;\n }\n\n // When the bottom sheet is dismissed, clear the reference to it.\n ref.afterDismissed().subscribe(() => {\n // Clear the bottom sheet ref if it hasn't already been replaced by a newer one.\n if (this._openedBottomSheetRef == ref) {\n this._openedBottomSheetRef = null;\n }\n });\n\n if (this._openedBottomSheetRef) {\n // If a bottom sheet is already in view, dismiss it and enter the\n // new bottom sheet after exit animation is complete.\n this._openedBottomSheetRef.afterDismissed().subscribe(() => ref.containerInstance.enter());\n this._openedBottomSheetRef.dismiss();\n } else {\n // If no bottom sheet is in view, enter the new bottom sheet.\n ref.containerInstance.enter();\n }\n\n this._openedBottomSheetRef = ref;\n\n return ref;\n }\n\n /**\n * Dismisses the currently-visible bottom sheet.\n */\n dismiss(): void {\n if (this._openedBottomSheetRef) {\n this._openedBottomSheetRef.dismiss();\n }\n }\n\n ngOnDestroy() {\n if (this._bottomSheetRefAtThisLevel) {\n this._bottomSheetRefAtThisLevel.dismiss();\n }\n }\n\n /**\n * Attaches the bottom sheet container component to the overlay.\n */\n private _attachContainer(overlayRef: OverlayRef,\n config: MatBottomSheetConfig): MatBottomSheetContainer {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = new PortalInjector(userInjector || this._injector, new WeakMap([\n [MatBottomSheetConfig, config]\n ]));\n\n const containerPortal =\n new ComponentPortal(MatBottomSheetContainer, config.viewContainerRef, injector);\n const containerRef: ComponentRef<MatBottomSheetContainer> = overlayRef.attach(containerPortal);\n return containerRef.instance;\n }\n\n /**\n * Creates a new overlay and places it in the correct location.\n * @param config The user-specified bottom sheet config.\n */\n private _createOverlay(config: MatBottomSheetConfig): OverlayRef {\n const overlayConfig = new OverlayConfig({\n direction: config.direction,\n hasBackdrop: config.hasBackdrop,\n disposeOnNavigation: config.closeOnNavigation,\n maxWidth: '100%',\n scrollStrategy: this._overlay.scrollStrategies.block(),\n positionStrategy: this._overlay.position()\n .global()\n .centerHorizontally()\n .bottom('0')\n });\n\n if (config.backdropClass) {\n overlayConfig.backdropClass = config.backdropClass;\n }\n\n return this._overlay.create(overlayConfig);\n }\n\n /**\n * Creates an injector to be used inside of a bottom sheet component.\n * @param config Config that was used to create the bottom sheet.\n * @param bottomSheetRef Reference to the bottom sheet.\n */\n private _createInjector<T>(config: MatBottomSheetConfig,\n bottomSheetRef: MatBottomSheetRef<T>): PortalInjector {\n\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n const injectionTokens = new WeakMap<any, any>([\n [MatBottomSheetRef, bottomSheetRef],\n [MAT_BOTTOM_SHEET_DATA, config.data]\n ]);\n\n if (config.direction &&\n (!userInjector || !userInjector.get<Directionality | null>(Directionality, null))) {\n injectionTokens.set(Directionality, {\n value: config.direction,\n change: observableOf()\n });\n }\n\n return new PortalInjector(userInjector || this._injector, injectionTokens);\n }\n}\n\n/**\n * Applies default options to the bottom sheet config.\n * @param defaults Object containing the default values to which to fall back.\n * @param config The configuration to which the defaults will be applied.\n * @returns The new configuration object with defaults applied.\n */\nfunction _applyConfigDefaults(defaults: MatBottomSheetConfig,\n config?: MatBottomSheetConfig): MatBottomSheetConfig {\n return {...defaults, ...config};\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 {Location} from '@angular/common';\nimport {ESCAPE} from '@angular/cdk/keycodes';\nimport {OverlayRef} from '@angular/cdk/overlay';\nimport {merge, Observable, Subject} from 'rxjs';\nimport {filter, take} from 'rxjs/operators';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\n\n\n/**\n * Reference to a bottom sheet dispatched from the bottom sheet service.\n */\nexport class MatBottomSheetRef<T = any, R = any> {\n /** Instance of the component making up the content of the bottom sheet. */\n instance: T;\n\n /**\n * Instance of the component into which the bottom sheet content is projected.\n * @docs-private\n */\n containerInstance: MatBottomSheetContainer;\n\n /** Subject for notifying the user that the bottom sheet has been dismissed. */\n private readonly _afterDismissed = new Subject<R | undefined>();\n\n /** Subject for notifying the user that the bottom sheet has opened and appeared. */\n private readonly _afterOpened = new Subject<void>();\n\n /** Result to be passed down to the `afterDismissed` stream. */\n private _result: R | undefined;\n\n constructor(\n containerInstance: MatBottomSheetContainer,\n private _overlayRef: OverlayRef,\n // @breaking-change 8.0.0 `_location` parameter to be removed.\n _location?: Location) {\n this.containerInstance = containerInstance;\n\n // Emit when opening animation completes\n containerInstance._animationStateChanged.pipe(\n filter(event => event.phaseName === 'done' && event.toState === 'visible'),\n take(1)\n )\n .subscribe(() => {\n this._afterOpened.next();\n this._afterOpened.complete();\n });\n\n // Dispose overlay when closing animation is complete\n containerInstance._animationStateChanged.pipe(\n filter(event => event.phaseName === 'done' && event.toState === 'hidden'),\n take(1)\n )\n .subscribe(() => {\n this._overlayRef.dispose();\n this._afterDismissed.next(this._result);\n this._afterDismissed.complete();\n });\n\n if (!containerInstance.bottomSheetConfig.disableClose) {\n merge(\n _overlayRef.backdropClick(),\n _overlayRef.keydownEvents().pipe(filter(event => event.keyCode === ESCAPE))\n ).subscribe(() => this.dismiss());\n }\n }\n\n /**\n * Dismisses the bottom sheet.\n * @param result Data to be passed back to the bottom sheet opener.\n */\n dismiss(result?: R): void {\n if (!this._afterDismissed.closed) {\n // Transition the backdrop in parallel to the bottom sheet.\n this.containerInstance._animationStateChanged.pipe(\n filter(event => event.phaseName === 'start'),\n take(1)\n ).subscribe(() => this._overlayRef.detachBackdrop());\n\n this._result = result;\n this.containerInstance.exit();\n }\n }\n\n /** Gets an observable that is notified when the bottom sheet is finished closing. */\n afterDismissed(): Observable<R | undefined> {\n return this._afterDismissed.asObservable();\n }\n\n /** Gets an observable that is notified when the bottom sheet has opened and appeared. */\n afterOpened(): Observable<void> {\n return this._afterOpened.asObservable();\n }\n\n /**\n * Gets an observable that emits when the overlay's backdrop has been clicked.\n */\n backdropClick(): Observable<MouseEvent> {\n return this._overlayRef.backdropClick();\n }\n\n /**\n * Gets an observable that emits when keydown events are targeted on the overlay.\n */\n keydownEvents(): Observable<KeyboardEvent> {\n return this._overlayRef.keydownEvents();\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 {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatBottomSheetContainer} from './bottom-sheet-container';\n\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n MatCommonModule,\n PortalModule,\n ],\n exports: [MatBottomSheetContainer, MatCommonModule],\n declarations: [MatBottomSheetContainer],\n entryComponents: [MatBottomSheetContainer],\n})\nexport class MatBottomSheetModule {}\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 {\n Component,\n ComponentRef,\n EmbeddedViewRef,\n ViewChild,\n OnDestroy,\n ElementRef,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ChangeDetectorRef,\n EventEmitter,\n Inject,\n Optional,\n} from '@angular/core';\nimport {AnimationEvent} from '@angular/animations';\nimport {\n BasePortalOutlet,\n ComponentPortal,\n TemplatePortal,\n CdkPortalOutlet,\n} from '@angular/cdk/portal';\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {MatBottomSheetConfig} from './bottom-sheet-config';\nimport {matBottomSheetAnimations} from './bottom-sheet-animations';\nimport {Subscription} from 'rxjs';\nimport {DOCUMENT} from '@angular/common';\nimport {FocusTrap, FocusTrapFactory} from '@angular/cdk/a11y';\n\n// TODO(crisbeto): consolidate some logic between this, MatDialog and MatSnackBar\n\n/**\n * Internal component that wraps user-provided bottom sheet content.\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-bottom-sheet-container',\n templateUrl: 'bottom-sheet-container.html',\n styleUrls: ['bottom-sheet-container.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [matBottomSheetAnimations.bottomSheetState],\n host: {\n 'class': 'mat-bottom-sheet-container',\n 'tabindex': '-1',\n 'role': 'dialog',\n 'aria-modal': 'true',\n '[attr.aria-label]': 'bottomSheetConfig?.ariaLabel',\n '[@state]': '_animationState',\n '(@state.start)': '_onAnimationStart($event)',\n '(@state.done)': '_onAnimationDone($event)'\n },\n})\nexport class MatBottomSheetContainer extends BasePortalOutlet implements OnDestroy {\n private _breakpointSubscription: Subscription;\n\n /** The portal outlet inside of this container into which the content will be loaded. */\n @ViewChild(CdkPortalOutlet) _portalOutlet: CdkPortalOutlet;\n\n /** The state of the bottom sheet animations. */\n _animationState: 'void' | 'visible' | 'hidden' = 'void';\n\n /** Emits whenever the state of the animation changes. */\n _animationStateChanged = new EventEmitter<AnimationEvent>();\n\n /** The class that traps and manages focus within the bottom sheet. */\n private _focusTrap: FocusTrap;\n\n /** Element that was focused before the bottom sheet was opened. */\n private _elementFocusedBeforeOpened: HTMLElement | null = null;\n\n /** Server-side rendering-compatible reference to the global document object. */\n private _document: Document;\n\n /** Whether the component has been destroyed. */\n private _destroyed: boolean;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusTrapFactory: FocusTrapFactory,\n breakpointObserver: BreakpointObserver,\n @Optional() @Inject(DOCUMENT) document: any,\n /** The bottom sheet configuration. */\n public bottomSheetConfig: MatBottomSheetConfig) {\n super();\n\n this._document = document;\n this._breakpointSubscription = breakpointObserver\n .observe([Breakpoints.Medium, Breakpoints.Large, Breakpoints.XLarge])\n .subscribe(() => {\n this._toggleClass('mat-bottom-sheet-container-medium',\n breakpointObserver.isMatched(Breakpoints.Medium));\n this._toggleClass('mat-bottom-sheet-container-large',\n breakpointObserver.isMatched(Breakpoints.Large));\n this._toggleClass('mat-bottom-sheet-container-xlarge',\n breakpointObserver.isMatched(Breakpoints.XLarge));\n });\n }\n\n /** Attach a component portal as content to this bottom sheet container. */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n this._validatePortalAttached();\n this._setPanelClass();\n this._savePreviouslyFocusedElement();\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n /** Attach a template portal as content to this bottom sheet container. */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n this._validatePortalAttached();\n this._setPanelClass();\n this._savePreviouslyFocusedElement();\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n /** Begin animation of bottom sheet entrance into view. */\n enter(): void {\n if (!this._destroyed) {\n this._animationState = 'visible';\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** Begin animation of the bottom sheet exiting from view. */\n exit(): void {\n if (!this._destroyed) {\n this._animationState = 'hidden';\n this._changeDetectorRef.markForCheck();\n }\n }\n\n ngOnDestroy() {\n this._breakpointSubscription.unsubscribe();\n this._destroyed = true;\n }\n\n _onAnimationDone(event: AnimationEvent) {\n if (event.toState === 'hidden') {\n this._restoreFocus();\n } else if (event.toState === 'visible' && this.bottomSheetConfig.autoFocus) {\n this._trapFocus();\n }\n\n this._animationStateChanged.emit(event);\n }\n\n _onAnimationStart(event: AnimationEvent) {\n this._animationStateChanged.emit(event);\n }\n\n private _toggleClass(cssClass: string, add: boolean) {\n const classList = this._elementRef.nativeElement.classList;\n add ? classList.add(cssClass) : classList.remove(cssClass);\n }\n\n private _validatePortalAttached() {\n if (this._portalOutlet.hasAttached()) {\n throw Error('Attempting to attach bottom sheet content after content is already attached');\n }\n }\n\n private _setPanelClass() {\n const element: HTMLElement = this._elementRef.nativeElement;\n const panelClass = this.bottomSheetConfig.panelClass;\n\n if (Array.isArray(panelClass)) {\n // Note that we can't use a spread here, because IE doesn't support multiple arguments.\n panelClass.forEach(cssClass => element.classList.add(cssClass));\n } else if (panelClass) {\n element.classList.add(panelClass);\n }\n }\n\n\n /** Moves the focus inside the focus trap. */\n private _trapFocus() {\n if (!this._focusTrap) {\n this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n }\n\n this._focusTrap.focusInitialElementWhenReady();\n }\n\n /** Restores focus to the element that was focused before the bottom sheet was opened. */\n private _restoreFocus() {\n const toFocus = this._elementFocusedBeforeOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this.bottomSheetConfig.restoreFocus && toFocus && typeof toFocus.focus === 'function') {\n toFocus.focus();\n }\n\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n }\n\n /** Saves a reference to the element that was focused before the bottom sheet was opened. */\n private _savePreviouslyFocusedElement() {\n this._elementFocusedBeforeOpened = this._document.activeElement as HTMLElement;\n\n // The `focus` method isn't available during server-side rendering.\n if (this._elementRef.nativeElement.focus) {\n Promise.resolve().then(() => this._elementRef.nativeElement.focus());\n }\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 */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\nimport {AnimationCurves, AnimationDurations} from '@angular/material/core';\n\n/** Animations used by the Material bottom sheet. */\nexport const matBottomSheetAnimations: {\n readonly bottomSheetState: AnimationTriggerMetadata;\n} = {\n /** Animation that shows and hides a bottom sheet. */\n bottomSheetState: trigger('state', [\n state('void, hidden', style({transform: 'translateY(100%)'})),\n state('visible', style({transform: 'translateY(0%)'})),\n transition('visible => void, visible => hidden',\n animate(`${AnimationDurations.COMPLEX} ${AnimationCurves.ACCELERATION_CURVE}`)),\n transition('void => visible',\n animate(`${AnimationDurations.EXITING} ${AnimationCurves.DECELERATION_CURVE}`)),\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 {ViewContainerRef, InjectionToken} from '@angular/core';\nimport {Direction} from '@angular/cdk/bidi';\n\n/** Injection token that can be used to access the data that was passed in to a bottom sheet. */\nexport const MAT_BOTTOM_SHEET_DATA = new InjectionToken<any>('MatBottomSheetData');\n\n/**\n * Configuration used when opening a bottom sheet.\n */\nexport class MatBottomSheetConfig<D = any> {\n /** The view container to place the overlay for the bottom sheet into. */\n viewContainerRef?: ViewContainerRef;\n\n /** Extra CSS classes to be added to the bottom sheet container. */\n panelClass?: string | string[];\n\n /** Text layout direction for the bottom sheet. */\n direction?: Direction;\n\n /** Data being injected into the child component. */\n data?: D | null = null;\n\n /** Whether the bottom sheet has a backdrop. */\n hasBackdrop?: boolean = true;\n\n /** Custom class for the backdrop. */\n backdropClass?: string;\n\n /** Whether the user can use escape or clicking outside to close the bottom sheet. */\n disableClose?: boolean = false;\n\n /** Aria label to assign to the bottom sheet element. */\n ariaLabel?: string | null = null;\n\n /**\n * Whether the bottom sheet should close when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n closeOnNavigation?: boolean = true;\n\n // Note that this is disabled by default, because while the a11y recommendations are to focus\n // the first focusable element, doing so prevents screen readers from reading out the\n // rest of the bottom sheet content.\n /** Whether the bottom sheet should focus the first focusable element on open. */\n autoFocus?: boolean = false;\n\n /**\n * Whether the bottom sheet should restore focus to the\n * previously-focused element, after it's closed.\n */\n restoreFocus?: boolean = true;\n}\n"],"names":["tslib_1.__assign","observableOf","tslib_1.__extends"],"mappings":"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"}