@angular/material 6.4.6 → 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 (479) hide show
  1. package/_theming.scss +5 -2
  2. package/autocomplete/typings/autocomplete-trigger.d.ts +12 -1
  3. package/autocomplete/typings/autocomplete.d.ts +1 -1
  4. package/autocomplete/typings/index.metadata.json +1 -1
  5. package/badge/typings/badge.d.ts +6 -2
  6. package/badge/typings/index.metadata.json +1 -1
  7. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  8. package/bottom-sheet/typings/index.metadata.json +1 -1
  9. package/bundles/material-autocomplete.umd.js +32 -1
  10. package/bundles/material-autocomplete.umd.js.map +1 -1
  11. package/bundles/material-autocomplete.umd.min.js +1 -1
  12. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  13. package/bundles/material-badge.umd.js +6 -2
  14. package/bundles/material-badge.umd.js.map +1 -1
  15. package/bundles/material-badge.umd.min.js +1 -1
  16. package/bundles/material-badge.umd.min.js.map +1 -1
  17. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  18. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  19. package/bundles/material-button-toggle.umd.js +2 -1
  20. package/bundles/material-button-toggle.umd.js.map +1 -1
  21. package/bundles/material-button-toggle.umd.min.js +1 -1
  22. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  23. package/bundles/material-card.umd.js +1 -1
  24. package/bundles/material-card.umd.js.map +1 -1
  25. package/bundles/material-card.umd.min.js +1 -1
  26. package/bundles/material-card.umd.min.js.map +1 -1
  27. package/bundles/material-checkbox.umd.js.map +1 -1
  28. package/bundles/material-checkbox.umd.min.js.map +1 -1
  29. package/bundles/material-chips.umd.js +104 -92
  30. package/bundles/material-chips.umd.js.map +1 -1
  31. package/bundles/material-chips.umd.min.js +1 -1
  32. package/bundles/material-chips.umd.min.js.map +1 -1
  33. package/bundles/material-core.umd.js +13 -16
  34. package/bundles/material-core.umd.js.map +1 -1
  35. package/bundles/material-core.umd.min.js +2 -2
  36. package/bundles/material-core.umd.min.js.map +1 -1
  37. package/bundles/material-datepicker.umd.js +20 -4
  38. package/bundles/material-datepicker.umd.js.map +1 -1
  39. package/bundles/material-datepicker.umd.min.js +2 -2
  40. package/bundles/material-datepicker.umd.min.js.map +1 -1
  41. package/bundles/material-dialog.umd.js.map +1 -1
  42. package/bundles/material-dialog.umd.min.js.map +1 -1
  43. package/bundles/material-expansion.umd.js +200 -74
  44. package/bundles/material-expansion.umd.js.map +1 -1
  45. package/bundles/material-expansion.umd.min.js +1 -1
  46. package/bundles/material-expansion.umd.min.js.map +1 -1
  47. package/bundles/material-form-field.umd.js +29 -18
  48. package/bundles/material-form-field.umd.js.map +1 -1
  49. package/bundles/material-form-field.umd.min.js +1 -1
  50. package/bundles/material-form-field.umd.min.js.map +1 -1
  51. package/bundles/material-grid-list.umd.js +10 -34
  52. package/bundles/material-grid-list.umd.js.map +1 -1
  53. package/bundles/material-grid-list.umd.min.js +1 -1
  54. package/bundles/material-grid-list.umd.min.js.map +1 -1
  55. package/bundles/material-icon.umd.js.map +1 -1
  56. package/bundles/material-icon.umd.min.js.map +1 -1
  57. package/bundles/material-input.umd.js +13 -6
  58. package/bundles/material-input.umd.js.map +1 -1
  59. package/bundles/material-input.umd.min.js +1 -1
  60. package/bundles/material-input.umd.min.js.map +1 -1
  61. package/bundles/material-list.umd.js +4 -4
  62. package/bundles/material-list.umd.js.map +1 -1
  63. package/bundles/material-list.umd.min.js +5 -5
  64. package/bundles/material-list.umd.min.js.map +1 -1
  65. package/bundles/material-menu.umd.js +10 -9
  66. package/bundles/material-menu.umd.js.map +1 -1
  67. package/bundles/material-menu.umd.min.js +1 -1
  68. package/bundles/material-menu.umd.min.js.map +1 -1
  69. package/bundles/material-progress-bar.umd.js +28 -10
  70. package/bundles/material-progress-bar.umd.js.map +1 -1
  71. package/bundles/material-progress-bar.umd.min.js +1 -1
  72. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  73. package/bundles/material-radio.umd.js.map +1 -1
  74. package/bundles/material-radio.umd.min.js.map +1 -1
  75. package/bundles/material-select.umd.js +8 -3
  76. package/bundles/material-select.umd.js.map +1 -1
  77. package/bundles/material-select.umd.min.js +1 -1
  78. package/bundles/material-select.umd.min.js.map +1 -1
  79. package/bundles/material-sidenav.umd.js +5 -1
  80. package/bundles/material-sidenav.umd.js.map +1 -1
  81. package/bundles/material-sidenav.umd.min.js +1 -1
  82. package/bundles/material-sidenav.umd.min.js.map +1 -1
  83. package/bundles/material-slide-toggle.umd.js +1 -1
  84. package/bundles/material-slide-toggle.umd.js.map +1 -1
  85. package/bundles/material-slide-toggle.umd.min.js +1 -1
  86. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  87. package/bundles/material-slider.umd.js +1 -1
  88. package/bundles/material-slider.umd.js.map +1 -1
  89. package/bundles/material-slider.umd.min.js +1 -1
  90. package/bundles/material-slider.umd.min.js.map +1 -1
  91. package/bundles/material-snack-bar.umd.js.map +1 -1
  92. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  93. package/bundles/material-stepper.umd.js +30 -18
  94. package/bundles/material-stepper.umd.js.map +1 -1
  95. package/bundles/material-stepper.umd.min.js +1 -1
  96. package/bundles/material-stepper.umd.min.js.map +1 -1
  97. package/bundles/material-table.umd.js +31 -31
  98. package/bundles/material-table.umd.js.map +1 -1
  99. package/bundles/material-table.umd.min.js +1 -1
  100. package/bundles/material-table.umd.min.js.map +1 -1
  101. package/bundles/material-tabs.umd.js +18 -21
  102. package/bundles/material-tabs.umd.js.map +1 -1
  103. package/bundles/material-tabs.umd.min.js +2 -2
  104. package/bundles/material-tabs.umd.min.js.map +1 -1
  105. package/bundles/material-tooltip.umd.js +11 -11
  106. package/bundles/material-tooltip.umd.js.map +1 -1
  107. package/bundles/material-tooltip.umd.min.js +1 -1
  108. package/bundles/material-tooltip.umd.min.js.map +1 -1
  109. package/bundles/material-tree.umd.js +28 -54
  110. package/bundles/material-tree.umd.js.map +1 -1
  111. package/bundles/material-tree.umd.min.js +1 -1
  112. package/bundles/material-tree.umd.min.js.map +1 -1
  113. package/bundles/material.umd.js +578 -386
  114. package/bundles/material.umd.js.map +1 -1
  115. package/bundles/material.umd.min.js +21 -21
  116. package/bundles/material.umd.min.js.map +1 -1
  117. package/button-toggle/typings/button-toggle.d.ts +1 -1
  118. package/button-toggle/typings/index.metadata.json +1 -1
  119. package/card/typings/index.metadata.json +1 -1
  120. package/checkbox/typings/checkbox.d.ts +2 -2
  121. package/checkbox/typings/index.metadata.json +1 -1
  122. package/chips/typings/chip-input.d.ts +5 -2
  123. package/chips/typings/chip-list.d.ts +12 -19
  124. package/chips/typings/chip.d.ts +3 -2
  125. package/chips/typings/index.metadata.json +1 -1
  126. package/core/typings/index.metadata.json +1 -1
  127. package/core/typings/line/line.d.ts +1 -1
  128. package/core/typings/option/option.d.ts +3 -4
  129. package/core/typings/ripple/ripple-renderer.d.ts +1 -1
  130. package/core/typings/ripple/ripple.d.ts +1 -1
  131. package/datepicker/typings/calendar-body.d.ts +1 -1
  132. package/datepicker/typings/datepicker-input.d.ts +1 -1
  133. package/datepicker/typings/datepicker-toggle.d.ts +3 -1
  134. package/datepicker/typings/datepicker.d.ts +1 -1
  135. package/datepicker/typings/index.metadata.json +1 -1
  136. package/dialog/typings/dialog-container.d.ts +1 -1
  137. package/dialog/typings/dialog-content-directives.d.ts +2 -2
  138. package/dialog/typings/index.metadata.json +1 -1
  139. package/esm2015/autocomplete.js +29 -1
  140. package/esm2015/autocomplete.js.map +1 -1
  141. package/esm2015/badge.js +8 -3
  142. package/esm2015/badge.js.map +1 -1
  143. package/esm2015/bottom-sheet.js.map +1 -1
  144. package/esm2015/button-toggle.js +2 -1
  145. package/esm2015/button-toggle.js.map +1 -1
  146. package/esm2015/card.js +1 -1
  147. package/esm2015/card.js.map +1 -1
  148. package/esm2015/checkbox.js.map +1 -1
  149. package/esm2015/chips.js +93 -74
  150. package/esm2015/chips.js.map +1 -1
  151. package/esm2015/core.js +10 -7
  152. package/esm2015/core.js.map +1 -1
  153. package/esm2015/datepicker.js +22 -5
  154. package/esm2015/datepicker.js.map +1 -1
  155. package/esm2015/dialog.js.map +1 -1
  156. package/esm2015/expansion.js +158 -66
  157. package/esm2015/expansion.js.map +1 -1
  158. package/esm2015/form-field.js +29 -19
  159. package/esm2015/form-field.js.map +1 -1
  160. package/esm2015/grid-list.js +7 -30
  161. package/esm2015/grid-list.js.map +1 -1
  162. package/esm2015/icon.js.map +1 -1
  163. package/esm2015/input.js +13 -7
  164. package/esm2015/input.js.map +1 -1
  165. package/esm2015/list.js +4 -4
  166. package/esm2015/list.js.map +1 -1
  167. package/esm2015/material.js +9 -9
  168. package/esm2015/material.js.map +1 -1
  169. package/esm2015/menu.js +7 -6
  170. package/esm2015/menu.js.map +1 -1
  171. package/esm2015/progress-bar.js +25 -6
  172. package/esm2015/progress-bar.js.map +1 -1
  173. package/esm2015/radio.js.map +1 -1
  174. package/esm2015/select.js +8 -3
  175. package/esm2015/select.js.map +1 -1
  176. package/esm2015/sidenav.js +5 -1
  177. package/esm2015/sidenav.js.map +1 -1
  178. package/esm2015/slide-toggle.js +1 -1
  179. package/esm2015/slide-toggle.js.map +1 -1
  180. package/esm2015/slider.js +1 -1
  181. package/esm2015/slider.js.map +1 -1
  182. package/esm2015/snack-bar.js.map +1 -1
  183. package/esm2015/stepper.js +25 -21
  184. package/esm2015/stepper.js.map +1 -1
  185. package/esm2015/table.js +22 -32
  186. package/esm2015/table.js.map +1 -1
  187. package/esm2015/tabs.js +7 -17
  188. package/esm2015/tabs.js.map +1 -1
  189. package/esm2015/tooltip.js +9 -9
  190. package/esm2015/tooltip.js.map +1 -1
  191. package/esm2015/tree.js +16 -54
  192. package/esm2015/tree.js.map +1 -1
  193. package/esm5/autocomplete.es5.js +32 -1
  194. package/esm5/autocomplete.es5.js.map +1 -1
  195. package/esm5/badge.es5.js +7 -3
  196. package/esm5/badge.es5.js.map +1 -1
  197. package/esm5/bottom-sheet.es5.js.map +1 -1
  198. package/esm5/button-toggle.es5.js +2 -1
  199. package/esm5/button-toggle.es5.js.map +1 -1
  200. package/esm5/card.es5.js +1 -1
  201. package/esm5/card.es5.js.map +1 -1
  202. package/esm5/checkbox.es5.js.map +1 -1
  203. package/esm5/chips.es5.js +103 -91
  204. package/esm5/chips.es5.js.map +1 -1
  205. package/esm5/core.es5.js +10 -12
  206. package/esm5/core.es5.js.map +1 -1
  207. package/esm5/datepicker.es5.js +21 -5
  208. package/esm5/datepicker.es5.js.map +1 -1
  209. package/esm5/dialog.es5.js.map +1 -1
  210. package/esm5/expansion.es5.js +202 -78
  211. package/esm5/expansion.es5.js.map +1 -1
  212. package/esm5/form-field.es5.js +29 -18
  213. package/esm5/form-field.es5.js.map +1 -1
  214. package/esm5/grid-list.es5.js +7 -30
  215. package/esm5/grid-list.es5.js.map +1 -1
  216. package/esm5/icon.es5.js.map +1 -1
  217. package/esm5/input.es5.js +13 -7
  218. package/esm5/input.es5.js.map +1 -1
  219. package/esm5/list.es5.js +4 -4
  220. package/esm5/list.es5.js.map +1 -1
  221. package/esm5/material.es5.js +9 -9
  222. package/esm5/material.es5.js.map +1 -1
  223. package/esm5/menu.es5.js +5 -4
  224. package/esm5/menu.es5.js.map +1 -1
  225. package/esm5/progress-bar.es5.js +25 -9
  226. package/esm5/progress-bar.es5.js.map +1 -1
  227. package/esm5/radio.es5.js.map +1 -1
  228. package/esm5/select.es5.js +8 -3
  229. package/esm5/select.es5.js.map +1 -1
  230. package/esm5/sidenav.es5.js +5 -1
  231. package/esm5/sidenav.es5.js.map +1 -1
  232. package/esm5/slide-toggle.es5.js +1 -1
  233. package/esm5/slide-toggle.es5.js.map +1 -1
  234. package/esm5/slider.es5.js +1 -1
  235. package/esm5/slider.es5.js.map +1 -1
  236. package/esm5/snack-bar.es5.js.map +1 -1
  237. package/esm5/stepper.es5.js +25 -17
  238. package/esm5/stepper.es5.js.map +1 -1
  239. package/esm5/table.es5.js +22 -30
  240. package/esm5/table.es5.js.map +1 -1
  241. package/esm5/tabs.es5.js +9 -12
  242. package/esm5/tabs.es5.js.map +1 -1
  243. package/esm5/tooltip.es5.js +11 -11
  244. package/esm5/tooltip.es5.js.map +1 -1
  245. package/esm5/tree.es5.js +22 -53
  246. package/esm5/tree.es5.js.map +1 -1
  247. package/expansion/typings/accordion-base.d.ts +30 -0
  248. package/expansion/typings/accordion.d.ts +18 -4
  249. package/expansion/typings/expansion-panel-header.d.ts +13 -2
  250. package/expansion/typings/expansion-panel.d.ts +10 -6
  251. package/expansion/typings/index.metadata.json +1 -1
  252. package/expansion/typings/public-api.d.ts +1 -0
  253. package/form-field/typings/form-field.d.ts +4 -3
  254. package/form-field/typings/index.metadata.json +1 -1
  255. package/grid-list/typings/grid-list.d.ts +1 -1
  256. package/grid-list/typings/grid-tile.d.ts +2 -2
  257. package/grid-list/typings/index.metadata.json +1 -1
  258. package/icon/typings/icon.d.ts +1 -1
  259. package/icon/typings/index.metadata.json +1 -1
  260. package/input/typings/autosize.d.ts +2 -1
  261. package/input/typings/index.metadata.json +1 -1
  262. package/input/typings/input.d.ts +2 -2
  263. package/list/typings/index.metadata.json +1 -1
  264. package/list/typings/list.d.ts +1 -1
  265. package/list/typings/selection-list.d.ts +2 -2
  266. package/menu/typings/index.d.ts +4 -4
  267. package/menu/typings/index.metadata.json +1 -1
  268. package/menu/typings/menu-directive.d.ts +1 -1
  269. package/menu/typings/menu-item.d.ts +1 -1
  270. package/menu/typings/menu-trigger.d.ts +1 -1
  271. package/package.json +4 -4
  272. package/prebuilt-themes/deeppurple-amber.css +1 -1
  273. package/prebuilt-themes/indigo-pink.css +1 -1
  274. package/prebuilt-themes/pink-bluegrey.css +1 -1
  275. package/prebuilt-themes/purple-green.css +1 -1
  276. package/progress-bar/typings/index.metadata.json +1 -1
  277. package/progress-bar/typings/progress-bar.d.ts +17 -3
  278. package/radio/typings/radio.d.ts +1 -1
  279. package/sidenav/typings/drawer.d.ts +2 -2
  280. package/sidenav/typings/index.metadata.json +1 -1
  281. package/slide-toggle/typings/index.metadata.json +1 -1
  282. package/slide-toggle/typings/slide-toggle.d.ts +3 -3
  283. package/slider/typings/index.metadata.json +1 -1
  284. package/snack-bar/typings/index.metadata.json +1 -1
  285. package/snack-bar/typings/snack-bar-container.d.ts +1 -1
  286. package/stepper/typings/index.metadata.json +1 -1
  287. package/stepper/typings/step-header.d.ts +2 -2
  288. package/stepper/typings/step-label.d.ts +2 -10
  289. package/stepper/typings/stepper-button.d.ts +4 -2
  290. package/stepper/typings/stepper.d.ts +4 -3
  291. package/table/typings/cell.d.ts +8 -5
  292. package/table/typings/index.metadata.json +1 -1
  293. package/table/typings/row.d.ts +6 -3
  294. package/table/typings/table.d.ts +2 -8
  295. package/tabs/typings/index.d.ts +5 -5
  296. package/tabs/typings/index.metadata.json +1 -1
  297. package/tabs/typings/ink-bar.d.ts +1 -1
  298. package/tabs/typings/tab-body.d.ts +1 -1
  299. package/tabs/typings/tab-label.d.ts +2 -10
  300. package/tooltip/typings/index.metadata.json +1 -1
  301. package/tooltip/typings/tooltip.d.ts +3 -3
  302. package/tree/typings/index.metadata.json +1 -1
  303. package/tree/typings/node.d.ts +7 -7
  304. package/tree/typings/padding.d.ts +3 -5
  305. package/tree/typings/toggle.d.ts +10 -3
  306. package/tree/typings/tree.d.ts +2 -3
  307. package/typings/autocomplete/autocomplete-trigger.d.ts +12 -1
  308. package/typings/autocomplete/autocomplete.d.ts +1 -1
  309. package/typings/autocomplete/index.metadata.json +1 -1
  310. package/typings/badge/badge.d.ts +6 -2
  311. package/typings/badge/index.metadata.json +1 -1
  312. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  313. package/typings/bottom-sheet/index.metadata.json +1 -1
  314. package/typings/button-toggle/button-toggle.d.ts +1 -1
  315. package/typings/button-toggle/index.metadata.json +1 -1
  316. package/typings/card/index.metadata.json +1 -1
  317. package/typings/checkbox/checkbox.d.ts +2 -2
  318. package/typings/checkbox/index.metadata.json +1 -1
  319. package/typings/chips/chip-input.d.ts +5 -2
  320. package/typings/chips/chip-list.d.ts +12 -19
  321. package/typings/chips/chip.d.ts +3 -2
  322. package/typings/chips/index.metadata.json +1 -1
  323. package/typings/core/index.metadata.json +1 -1
  324. package/typings/core/line/line.d.ts +1 -1
  325. package/typings/core/option/option.d.ts +3 -4
  326. package/typings/core/ripple/ripple-renderer.d.ts +1 -1
  327. package/typings/core/ripple/ripple.d.ts +1 -1
  328. package/typings/datepicker/calendar-body.d.ts +1 -1
  329. package/typings/datepicker/datepicker-input.d.ts +1 -1
  330. package/typings/datepicker/datepicker-toggle.d.ts +3 -1
  331. package/typings/datepicker/datepicker.d.ts +1 -1
  332. package/typings/datepicker/index.metadata.json +1 -1
  333. package/typings/dialog/dialog-container.d.ts +1 -1
  334. package/typings/dialog/dialog-content-directives.d.ts +2 -2
  335. package/typings/dialog/index.metadata.json +1 -1
  336. package/typings/esm5/autocomplete/autocomplete-trigger.d.ts +12 -1
  337. package/typings/esm5/autocomplete/autocomplete.d.ts +1 -1
  338. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  339. package/typings/esm5/badge/badge.d.ts +6 -2
  340. package/typings/esm5/badge/index.metadata.json +1 -1
  341. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  342. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  343. package/typings/esm5/button-toggle/button-toggle.d.ts +1 -1
  344. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  345. package/typings/esm5/card/index.metadata.json +1 -1
  346. package/typings/esm5/checkbox/checkbox.d.ts +2 -2
  347. package/typings/esm5/checkbox/index.metadata.json +1 -1
  348. package/typings/esm5/chips/chip-input.d.ts +5 -2
  349. package/typings/esm5/chips/chip-list.d.ts +12 -19
  350. package/typings/esm5/chips/chip.d.ts +3 -2
  351. package/typings/esm5/chips/index.metadata.json +1 -1
  352. package/typings/esm5/core/index.metadata.json +1 -1
  353. package/typings/esm5/core/line/line.d.ts +1 -1
  354. package/typings/esm5/core/option/option.d.ts +3 -4
  355. package/typings/esm5/core/ripple/ripple-renderer.d.ts +1 -1
  356. package/typings/esm5/core/ripple/ripple.d.ts +1 -1
  357. package/typings/esm5/datepicker/calendar-body.d.ts +1 -1
  358. package/typings/esm5/datepicker/datepicker-input.d.ts +1 -1
  359. package/typings/esm5/datepicker/datepicker-toggle.d.ts +3 -1
  360. package/typings/esm5/datepicker/datepicker.d.ts +1 -1
  361. package/typings/esm5/datepicker/index.metadata.json +1 -1
  362. package/typings/esm5/dialog/dialog-container.d.ts +1 -1
  363. package/typings/esm5/dialog/dialog-content-directives.d.ts +2 -2
  364. package/typings/esm5/dialog/index.metadata.json +1 -1
  365. package/typings/esm5/expansion/accordion-base.d.ts +30 -0
  366. package/typings/esm5/expansion/accordion.d.ts +18 -4
  367. package/typings/esm5/expansion/expansion-panel-header.d.ts +13 -2
  368. package/typings/esm5/expansion/expansion-panel.d.ts +10 -6
  369. package/typings/esm5/expansion/index.metadata.json +1 -1
  370. package/typings/esm5/expansion/public-api.d.ts +1 -0
  371. package/typings/esm5/form-field/form-field.d.ts +4 -3
  372. package/typings/esm5/form-field/index.metadata.json +1 -1
  373. package/typings/esm5/grid-list/grid-list.d.ts +1 -1
  374. package/typings/esm5/grid-list/grid-tile.d.ts +2 -2
  375. package/typings/esm5/grid-list/index.metadata.json +1 -1
  376. package/typings/esm5/icon/icon.d.ts +1 -1
  377. package/typings/esm5/icon/index.metadata.json +1 -1
  378. package/typings/esm5/index.metadata.json +1 -1
  379. package/typings/esm5/input/autosize.d.ts +2 -1
  380. package/typings/esm5/input/index.metadata.json +1 -1
  381. package/typings/esm5/input/input.d.ts +2 -2
  382. package/typings/esm5/list/index.metadata.json +1 -1
  383. package/typings/esm5/list/list.d.ts +1 -1
  384. package/typings/esm5/list/selection-list.d.ts +2 -2
  385. package/typings/esm5/menu/index.d.ts +4 -4
  386. package/typings/esm5/menu/index.metadata.json +1 -1
  387. package/typings/esm5/menu/menu-directive.d.ts +1 -1
  388. package/typings/esm5/menu/menu-item.d.ts +1 -1
  389. package/typings/esm5/menu/menu-trigger.d.ts +1 -1
  390. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  391. package/typings/esm5/progress-bar/progress-bar.d.ts +17 -3
  392. package/typings/esm5/radio/radio.d.ts +1 -1
  393. package/typings/esm5/sidenav/drawer.d.ts +2 -2
  394. package/typings/esm5/sidenav/index.metadata.json +1 -1
  395. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  396. package/typings/esm5/slide-toggle/slide-toggle.d.ts +3 -3
  397. package/typings/esm5/slider/index.metadata.json +1 -1
  398. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  399. package/typings/esm5/snack-bar/snack-bar-container.d.ts +1 -1
  400. package/typings/esm5/stepper/index.metadata.json +1 -1
  401. package/typings/esm5/stepper/step-header.d.ts +2 -2
  402. package/typings/esm5/stepper/step-label.d.ts +2 -10
  403. package/typings/esm5/stepper/stepper-button.d.ts +4 -2
  404. package/typings/esm5/stepper/stepper.d.ts +4 -3
  405. package/typings/esm5/table/cell.d.ts +8 -5
  406. package/typings/esm5/table/index.metadata.json +1 -1
  407. package/typings/esm5/table/row.d.ts +6 -3
  408. package/typings/esm5/table/table.d.ts +2 -8
  409. package/typings/esm5/tabs/index.d.ts +5 -5
  410. package/typings/esm5/tabs/index.metadata.json +1 -1
  411. package/typings/esm5/tabs/ink-bar.d.ts +1 -1
  412. package/typings/esm5/tabs/tab-body.d.ts +1 -1
  413. package/typings/esm5/tabs/tab-label.d.ts +2 -10
  414. package/typings/esm5/tooltip/index.metadata.json +1 -1
  415. package/typings/esm5/tooltip/tooltip.d.ts +3 -3
  416. package/typings/esm5/tree/index.metadata.json +1 -1
  417. package/typings/esm5/tree/node.d.ts +7 -7
  418. package/typings/esm5/tree/padding.d.ts +3 -5
  419. package/typings/esm5/tree/toggle.d.ts +10 -3
  420. package/typings/esm5/tree/tree.d.ts +2 -3
  421. package/typings/expansion/accordion-base.d.ts +30 -0
  422. package/typings/expansion/accordion.d.ts +18 -4
  423. package/typings/expansion/expansion-panel-header.d.ts +13 -2
  424. package/typings/expansion/expansion-panel.d.ts +10 -6
  425. package/typings/expansion/index.metadata.json +1 -1
  426. package/typings/expansion/public-api.d.ts +1 -0
  427. package/typings/form-field/form-field.d.ts +4 -3
  428. package/typings/form-field/index.metadata.json +1 -1
  429. package/typings/grid-list/grid-list.d.ts +1 -1
  430. package/typings/grid-list/grid-tile.d.ts +2 -2
  431. package/typings/grid-list/index.metadata.json +1 -1
  432. package/typings/icon/icon.d.ts +1 -1
  433. package/typings/icon/index.metadata.json +1 -1
  434. package/typings/index.metadata.json +1 -1
  435. package/typings/input/autosize.d.ts +2 -1
  436. package/typings/input/index.metadata.json +1 -1
  437. package/typings/input/input.d.ts +2 -2
  438. package/typings/list/index.metadata.json +1 -1
  439. package/typings/list/list.d.ts +1 -1
  440. package/typings/list/selection-list.d.ts +2 -2
  441. package/typings/menu/index.d.ts +4 -4
  442. package/typings/menu/index.metadata.json +1 -1
  443. package/typings/menu/menu-directive.d.ts +1 -1
  444. package/typings/menu/menu-item.d.ts +1 -1
  445. package/typings/menu/menu-trigger.d.ts +1 -1
  446. package/typings/progress-bar/index.metadata.json +1 -1
  447. package/typings/progress-bar/progress-bar.d.ts +17 -3
  448. package/typings/radio/radio.d.ts +1 -1
  449. package/typings/sidenav/drawer.d.ts +2 -2
  450. package/typings/sidenav/index.metadata.json +1 -1
  451. package/typings/slide-toggle/index.metadata.json +1 -1
  452. package/typings/slide-toggle/slide-toggle.d.ts +3 -3
  453. package/typings/slider/index.metadata.json +1 -1
  454. package/typings/snack-bar/index.metadata.json +1 -1
  455. package/typings/snack-bar/snack-bar-container.d.ts +1 -1
  456. package/typings/stepper/index.metadata.json +1 -1
  457. package/typings/stepper/step-header.d.ts +2 -2
  458. package/typings/stepper/step-label.d.ts +2 -10
  459. package/typings/stepper/stepper-button.d.ts +4 -2
  460. package/typings/stepper/stepper.d.ts +4 -3
  461. package/typings/table/cell.d.ts +8 -5
  462. package/typings/table/index.metadata.json +1 -1
  463. package/typings/table/row.d.ts +6 -3
  464. package/typings/table/table.d.ts +2 -8
  465. package/typings/tabs/index.d.ts +5 -5
  466. package/typings/tabs/index.metadata.json +1 -1
  467. package/typings/tabs/ink-bar.d.ts +1 -1
  468. package/typings/tabs/tab-body.d.ts +1 -1
  469. package/typings/tabs/tab-label.d.ts +2 -10
  470. package/typings/tooltip/index.metadata.json +1 -1
  471. package/typings/tooltip/tooltip.d.ts +3 -3
  472. package/typings/tree/index.metadata.json +1 -1
  473. package/typings/tree/node.d.ts +7 -7
  474. package/typings/tree/padding.d.ts +3 -5
  475. package/typings/tree/toggle.d.ts +10 -3
  476. package/typings/tree/tree.d.ts +2 -3
  477. package/grid-list/typings/grid-list-measure.d.ts +0 -17
  478. package/typings/esm5/grid-list/grid-list-measure.d.ts +0 -17
  479. package/typings/grid-list/grid-list-measure.d.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"bottom-sheet.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 {ComponentRef, Injectable, Injector, Optional, SkipSelf, TemplateRef} 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/**\n * Service to trigger Material Design bottom sheets.\n */\n@Injectable({providedIn: MatBottomSheetModule})\nexport class MatBottomSheet {\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\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 = _applyConfigDefaults(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 /**\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 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 config The configuration to which the defaults will be applied.\n * @returns The new configuration object with defaults applied.\n */\nfunction _applyConfigDefaults(config?: MatBottomSheetConfig): MatBottomSheetConfig {\n return {...new MatBottomSheetConfig(), ...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, SubscriptionLike, Subscription} 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 /** Subscription to changes in the user's location. */\n private _locationChanges: SubscriptionLike = Subscription.EMPTY;\n\n constructor(\n containerInstance: MatBottomSheetContainer,\n private _overlayRef: OverlayRef,\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._locationChanges.unsubscribe();\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 if (location) {\n this._locationChanges = location.subscribe(() => {\n if (containerInstance.bottomSheetConfig.closeOnNavigation) {\n this.dismiss();\n }\n });\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,\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 === 'visible') {\n this._trapFocus();\n } else if (event.toState === 'hidden') {\n this._restoreFocus();\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} 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 /** Whether the bottom sheet should close when the user goes backwards/forwards in history. */\n closeOnNavigation?: boolean = true;\n}\n"],"names":["observableOf"],"mappings":"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"}
1
+ {"version":3,"file":"bottom-sheet.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 {ComponentRef, Injectable, Injector, Optional, SkipSelf, TemplateRef} 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/**\n * Service to trigger Material Design bottom sheets.\n */\n@Injectable({providedIn: MatBottomSheetModule})\nexport class MatBottomSheet {\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\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 = _applyConfigDefaults(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 /**\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 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 config The configuration to which the defaults will be applied.\n * @returns The new configuration object with defaults applied.\n */\nfunction _applyConfigDefaults(config?: MatBottomSheetConfig): MatBottomSheetConfig {\n return {...new MatBottomSheetConfig(), ...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, SubscriptionLike, Subscription} 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 /** Subscription to changes in the user's location. */\n private _locationChanges: SubscriptionLike = Subscription.EMPTY;\n\n constructor(\n containerInstance: MatBottomSheetContainer,\n private _overlayRef: OverlayRef,\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._locationChanges.unsubscribe();\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 if (location) {\n this._locationChanges = location.subscribe(() => {\n if (containerInstance.bottomSheetConfig.closeOnNavigation) {\n this.dismiss();\n }\n });\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 === 'visible') {\n this._trapFocus();\n } else if (event.toState === 'hidden') {\n this._restoreFocus();\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} 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 /** Whether the bottom sheet should close when the user goes backwards/forwards in history. */\n closeOnNavigation?: boolean = true;\n}\n"],"names":["observableOf"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AKYA,AAAA,MAAA,iBAAa,qBAAqB,GAAG,IAAI,cAAc,CAAM,oBAAoB,CAAC,CAAC;;;;;AAKnF,AAAA,MAAA,oBAAA,CAAA;;;;;QAWA,IAAA,CAAA,IAAA,GAAoB,IAAI,CAAxB;;;;QAGA,IAAA,CAAA,WAAA,GAA0B,IAAI,CAA9B;;;;QAMA,IAAA,CAAA,YAAA,GAA2B,KAAK,CAAhC;;;;QAGA,IAAA,CAAA,SAAA,GAA8B,IAAI,CAAlC;;;;QAGA,IAAA,CAAA,iBAAA,GAAgC,IAAI,CAApC;;CACC;;;;;;ADrCD;;;AAWA,AAAA,MAAA,iBAAa,wBAAwB,GAEjC;;IAEF,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE;QACjC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAC7D,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC,CAAC,CAAC;QACtD,UAAU,CAAC,oCAAoC,EAC3C,OAAO,CAAC,CADhB,EACmB,kBAAkB,CAAC,OAAO,CAD7C,CAAA,EACiD,eAAe,CAAC,kBAAkB,CADnF,CACqF,CAAC,CAAC;QACnF,UAAU,CAAC,iBAAiB,EACxB,OAAO,CAAC,CADhB,EACmB,kBAAkB,CAAC,OAAO,CAD7C,CAAA,EACiD,eAAe,CAAC,kBAAkB,CADnF,CACqF,CAAC,CAAC;KACpF,CAAC;CACH;;;;;;;;;;AD+BD,AAAA,MAAA,uBAAqC,SAAQ,gBAAgB,CAA7D;;;;;;;;;IAwBE,WAAF,CACY,WADZ,EAEY,kBAFZ,EAGY,iBAHZ,EAII,kBAAsC,EACR,QALlC,EAOW,iBAPX,EAAA;QAQI,KAAK,EAAE,CAAC;QAPA,IAAZ,CAAA,WAAuB,GAAX,WAAW,CAAvB;QACY,IAAZ,CAAA,kBAA8B,GAAlB,kBAAkB,CAA9B;QACY,IAAZ,CAAA,iBAA6B,GAAjB,iBAAiB,CAA7B;QAIW,IAAX,CAAA,iBAA4B,GAAjB,iBAAiB,CAA5B;;;;QAxBA,IAAA,CAAA,eAAA,GAAmD,MAAM,CAAzD;;;;QAGA,IAAA,CAAA,sBAAA,GAA2B,IAAI,YAAY,EAAkB,CAA7D;;;;QAMA,IAAA,CAAA,2BAAA,GAA4D,IAAI,CAAhE;QAkBI,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,uBAAuB,GAAG,kBAAkB;aAC9C,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;aACpE,SAAS,CAAC,MAAjB;YACQ,IAAI,CAAC,YAAY,CAAC,mCAAmC,EACjD,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,kCAAkC,EAChD,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,mCAAmC,EACjD,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;SACvD,CAAC,CAAC;KACN;;;;;;;IAGD,qBAAqB,CAAI,MAA0B,EAArD;QACI,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;KACzD;;;;;;;IAGD,oBAAoB,CAAI,MAAyB,EAAnD;QACI,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;KACxD;;;;;IAGD,KAAK,GAAP;QACI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;SACzC;KACF;;;;;IAGD,IAAI,GAAN;QACI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;YAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC;KACF;;;;IAED,WAAW,GAAb;QACI,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KACxB;;;;;IAED,gBAAgB,CAAC,KAAqB,EAAxC;QACI,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;YACrC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzC;;;;;IAED,iBAAiB,CAAC,KAAqB,EAAzC;QACI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzC;;;;;;IAEO,YAAY,CAAC,QAAgB,EAAE,GAAY,EAArD;QACI,uBAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC;QAC3D,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;;;;;IAGrD,uBAAuB,GAAjC;QACI,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE;YACpC,MAAM,KAAK,CAAC,6EAA6E,CAAC,CAAC;SAC5F;;;;;IAGK,cAAc,GAAxB;QACI,uBAAM,OAAO,GAAgB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;QAC5D,uBAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAErD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;;YAE7B,UAAU,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;SACjE;aAAM,IAAI,UAAU,EAAE;YACrB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACnC;;;;;;IAKK,UAAU,GAApB;QACI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;SACjF;QAED,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC;;;;;;IAIzC,aAAa,GAAvB;QACI,uBAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC;;QAGjD,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE;YAClD,OAAO,CAAC,KAAK,EAAE,CAAC;SACjB;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC3B;;;;;;IAIK,6BAA6B,GAAvC;QACI,IAAI,CAAC,2BAA2B,qBAAG,IAAI,CAAC,SAAS,CAAC,aAA4B,CAAA,CAAC;;QAG/E,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;YACxC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;SACtE;;;;IA3KL,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,4BAAA;gBACE,QAAQ,EAAE,6CAAZ;gBACE,MAAF,EAAU,CAAV,kkBAAA,CAAA;gBACE,eAAF,EAAA,uBAAA,CAAA,MAAA;gBACE,aAAF,EAAA,iBAAA,CAAA,IAAA;gBACE,UAAF,EAAA,CAAA,wBAAA,CAAA,gBAAA,CAAA;gBACE,IAAF,EAAA;oBACA,OAAA,EAAe,4BAAf;oBACM,UAAN,EAAA,IAAA;oBACI,MAAJ,EAAA,QAAA;oBACI,YAAY,EAAhB,MAAA;oBACI,mBAAJ,EAAA,8BAAA;oBACI,UAAJ,EAAgB,iBAAhB;oBACI,gBAAJ,EAAA,2BAAA;oBACI,eAAJ,EAAA,0BAAA;iBACA;aACA,EAAA,EAAA;CACA,CAAA;;;;;IA7CA,EAAA,IAAA,EAAE,gBAAF,GAAA;IAGA,EAAA,IAAA,EAAE,kBAAF,GAAA;IAiBA,EAAA,IAAA,EAAmB,SAAnB,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,EAAA;IALA,EAAA,IAAA,EAAQ,oBAAR,GAAA;CA6DA,CAAA;AA5DA,uBAAA,CAAA,cAAA,GAAA;;;;;;;;ADHA,MAAA,oBAAA,CAAA;;;IAXA,EAAA,IAAA,EAAC,QAAQ,EAAT,IAAA,EAAA,CAAU;gBACR,OAAO,EAAE;oBACP,YAAY;oBACZ,aAAa;oBACb,eAAe;oBACf,YAAY;iBACb;gBACD,OAAO,EAAE,CAAC,uBAAuB,EAAE,eAAe,CAAC;gBACnD,YAAY,EAAE,CAAC,uBAAuB,CAAC;gBACvC,eAAe,EAAE,CAAC,uBAAuB,CAAC;aAC3C,EAAD,EAAA;;;;;;;;;;;ADPA,AAAA,MAAA,iBAAA,CAAA;;;;;;IAsBE,WAAF,CACI,iBAA0C,EAClC,WAFZ,EAGI,QAAmB,EAHvB;QAEY,IAAZ,CAAA,WAAuB,GAAX,WAAW,CAAvB;;;;QAbA,IAAA,CAAA,eAAA,GAAqC,IAAI,OAAO,EAAiB,CAAjE;;;;QAGA,IAAA,CAAA,YAAA,GAAkC,IAAI,OAAO,EAAQ,CAArD;;;;QAMA,IAAA,CAAA,gBAAA,GAA+C,YAAY,CAAC,KAAK,CAAjE;QAMI,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;;QAG3C,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAC3C,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,EAC1E,IAAI,CAAC,CAAC,CAAC,CACR;aACA,SAAS,CAAC,MAAf;YACM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;SAC9B,CAAC,CAAC;;QAGH,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAC3C,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,EACzE,IAAI,CAAC,CAAC,CAAC,CACR;aACA,SAAS,CAAC,MAAf;YACM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,EAAE;YACrD,KAAK,CACH,WAAW,CAAC,aAAa,EAAE,EAC3B,WAAW,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAC5E,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SACnC;QAED,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAjD;gBACQ,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;oBACzD,IAAI,CAAC,OAAO,EAAE,CAAC;iBAChB;aACF,CAAC,CAAC;SACJ;KACF;;;;;;IAMD,OAAO,CAAC,MAAU,EAApB;QACI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;;YAEhC,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,IAAI,CAChD,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,EAC5C,IAAI,CAAC,CAAC,CAAC,CACR,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;YAErD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;SAC/B;KACF;;;;;IAGD,cAAc,GAAhB;QACI,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC5C;;;;;IAGD,WAAW,GAAb;QACI,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;KACzC;;;;;IAKD,aAAa,GAAf;QACI,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;KACzC;;;;;IAKD,aAAa,GAAf;QACI,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;KACzC;CACF;;;;;;;;;ADrGD,AAAA,MAAA,cAAA,CAAA;;;;;;;IAiBE,WAAF,CACc,QADd,EAEc,SAFd,EAGsC,kBAHtC,EAI0B,SAJ1B,EAAA;QACc,IAAd,CAAA,QAAsB,GAAR,QAAQ,CAAtB;QACc,IAAd,CAAA,SAAuB,GAAT,SAAS,CAAvB;QACsC,IAAtC,CAAA,kBAAwD,GAAlB,kBAAkB,CAAxD;QAC0B,IAA1B,CAAA,SAAmC,GAAT,SAAS,CAAnC;QApBA,IAAA,CAAA,0BAAA,GAAsE,IAAI,CAA1E;KAoBkD;;;;;IAjBhD,IAAI,qBAAqB,GAA3B;QACI,uBAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACvC,OAAO,MAAM,GAAG,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,0BAA0B,CAAC;KAChF;;;;;IAED,IAAI,qBAAqB,CAAC,KAAoC,EAAhE;QACI,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,GAAG,KAAK,CAAC;SACvD;aAAM;YACL,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;SACzC;KACF;;;;;;;IAaD,IAAI,CAAsB,sBAAyD,EAClE,MAAgC,EADnD;QAGI,uBAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7C,uBAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChD,uBAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7D,uBAAM,GAAG,GAAG,IAAI,iBAAiB,CAAO,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/E,IAAI,sBAAsB,YAAY,WAAW,EAAE;YACjD,SAAS,CAAC,oBAAoB,CAAC,IAAI,cAAc,CAAI,sBAAsB,qBAAE,IAAI,sBAAG;gBAClF,SAAS,EAAE,OAAO,CAAC,IAAI;gBACvB,cAAc,EAAE,GAAG;aACb,EAAC,CAAC,CAAC;SACZ;aAAM;YACL,uBAAM,MAAM,GAAG,IAAI,eAAe,CAAC,sBAAsB,EAAE,SAAS,EAC9D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1C,uBAAM,UAAU,GAAG,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC3D,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;SACpC;;QAGD,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,MAAnC;;YAEM,IAAI,IAAI,CAAC,qBAAqB,IAAI,GAAG,EAAE;gBACrC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,qBAAqB,EAAE;;;YAG9B,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3F,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;SACtC;aAAM;;YAEL,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC;QAEjC,OAAO,GAAG,CAAC;KACZ;;;;;IAKD,OAAO,GAAT;QACI,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;SACtC;KACF;;;;;;;IAKO,gBAAgB,CAAC,UAAsB,EACtB,MAA4B,EADvD;QAGI,uBAAM,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QAC3F,uBAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC;YAC9E,CAAC,oBAAoB,EAAE,MAAM,CAAC;SAC/B,CAAC,CAAC,CAAC;QAEJ,uBAAM,eAAe,GACjB,IAAI,eAAe,CAAC,uBAAuB,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACpF,uBAAM,YAAY,GAA0C,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC/F,OAAO,YAAY,CAAC,QAAQ,CAAC;;;;;;;IAOvB,cAAc,CAAC,MAA4B,EAArD;QACI,uBAAM,aAAa,GAAG,IAAI,aAAa,CAAC;YACtC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM;YAChB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE;YACtD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;iBACvC,MAAM,EAAE;iBACR,kBAAkB,EAAE;iBACpB,MAAM,CAAC,GAAG,CAAC;SACf,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,aAAa,EAAE;YACxB,aAAa,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;SACpD;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;;;;;;;;;IAQrC,eAAe,CAAI,MAA4B,EAC5B,cAAoC,EADjE;QAGI,uBAAM,YAAY,GAAG,MAAM,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QAC3F,uBAAM,eAAe,GAAG,IAAI,OAAO,CAAW;YAC5C,CAAC,iBAAiB,EAAE,cAAc,CAAC;YACnC,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,SAAS;aACf,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAwB,cAAc,EAAE,IAAI,CAAC,CAAC,EAAE;YACrF,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE;gBAClC,KAAK,EAAE,MAAM,CAAC,SAAS;gBACvB,MAAM,EAAEA,EAAY,EAAE;aACvB,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,cAAc,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;;;;IA/I/E,EAAA,IAAA,EAAC,UAAU,EAAX,IAAA,EAAA,CAAY,EAAC,UAAU,EAAE,oBAAoB,EAAC,EAA9C,EAAA;;;;IAdA,EAAA,IAAA,EAAQ,OAAO,GAAf;IAEA,EAAA,IAAA,EAAkC,QAAQ,GAA1C;IAaA,EAAA,IAAA,EAAa,cAAc,EAA3B,UAAA,EAAA,CAAA,EAAA,IAAA,EAoBO,QAAQ,EApBf,EAAA,EAAA,IAAA,EAoBmB,QAAQ,EApB3B,EAAA,EAAA;IAZA,EAAA,IAAA,EAAQ,QAAQ,EAAhB,UAAA,EAAA,CAAA,EAAA,IAAA,EAiCO,QAAQ,EAjCf,EAAA,EAAA;;;;;;;;AAmKA,SAAA,oBAAA,CAA8B,MAA6B,EAA3D;IACE,OAAF,MAAA,CAAA,MAAA,CAAA,EAAA,EAAa,IAAI,oBAAoB,EAAE,EAAK,MAAM,CAAlD,CAAoD;CACnD;;;;;;;;;;;;;;"}
@@ -312,6 +312,7 @@ MatButtonToggleGroup.decorators = [
312
312
  host: {
313
313
  'role': 'group',
314
314
  'class': 'mat-button-toggle-group',
315
+ '[attr.aria-disabled]': 'disabled',
315
316
  '[class.mat-button-toggle-vertical]': 'vertical'
316
317
  },
317
318
  exportAs: 'matButtonToggleGroup',
@@ -466,7 +467,7 @@ class MatButtonToggle extends _MatButtonToggleMixinBase {
466
467
  MatButtonToggle.decorators = [
467
468
  { type: Component, args: [{selector: 'mat-button-toggle',
468
469
  template: "<button #button class=\"mat-button-toggle-button\" type=\"button\" [id]=\"buttonId\" [attr.tabindex]=\"disabled ? -1 : tabIndex\" [attr.aria-pressed]=\"checked\" [disabled]=\"disabled || null\" [attr.name]=\"name || null\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledby\" (click)=\"_onButtonClick()\"><div class=\"mat-button-toggle-label-content\"><ng-content></ng-content></div></button><div class=\"mat-button-toggle-focus-overlay\"></div><div class=\"mat-button-toggle-ripple\" matRipple [matRippleTrigger]=\"button\" [matRippleDisabled]=\"this.disableRipple || this.disabled\"></div>",
469
- styles: [".mat-button-toggle-group,.mat-button-toggle-standalone{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);position:relative;display:inline-flex;flex-direction:row;border-radius:2px;cursor:pointer;white-space:nowrap;overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-button-toggle-group,.mat-button-toggle-standalone{outline:solid 1px}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle-disabled .mat-button-toggle-label-content{cursor:default}.mat-button-toggle{white-space:nowrap;position:relative;-webkit-tap-highlight-color:transparent}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}@media screen and (-ms-high-contrast:active){.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:.5}}.mat-button-toggle-label-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;cursor:pointer}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{border-radius:inherit;pointer-events:none;opacity:0;top:0;left:0;right:0;bottom:0;position:absolute}@media screen and (-ms-high-contrast:active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{opacity:.5;height:0;border-bottom:solid 36px}}.mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:0 0;color:inherit;padding:0;margin:0;font:inherit;outline:0}"],
470
+ styles: [".mat-button-toggle-group,.mat-button-toggle-standalone{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);position:relative;display:inline-flex;flex-direction:row;border-radius:2px;cursor:pointer;white-space:nowrap;overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-button-toggle-group,.mat-button-toggle-standalone{outline:solid 1px}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;-webkit-tap-highlight-color:transparent}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}@media screen and (-ms-high-contrast:active){.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:.5}}.mat-button-toggle-label-content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{border-radius:inherit;pointer-events:none;opacity:0;top:0;left:0;right:0;bottom:0;position:absolute}@media screen and (-ms-high-contrast:active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{opacity:.5;height:0;border-bottom:solid 36px}}.mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:0 0;color:inherit;padding:0;margin:0;font:inherit;outline:0;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}"],
470
471
  encapsulation: ViewEncapsulation.None,
471
472
  exportAs: 'matButtonToggle',
472
473
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1 +1 @@
1
- {"version":3,"file":"button-toggle.js","sources":["../../../src/lib/button-toggle/button-toggle-module.ts","../../../src/lib/button-toggle/button-toggle.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 {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatButtonToggle, MatButtonToggleGroup} from './button-toggle';\n\n\n@NgModule({\n imports: [MatCommonModule, MatRippleModule],\n exports: [MatCommonModule, MatButtonToggleGroup, MatButtonToggle],\n declarations: [MatButtonToggleGroup, MatButtonToggle],\n})\nexport class MatButtonToggleModule {}\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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n Attribute,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n CanDisable,\n CanDisableRipple,\n mixinDisabled,\n mixinDisableRipple\n} from '@angular/material/core';\nimport {SelectionModel} from '@angular/cdk/collections';\n\n/** Acceptable types for a button toggle. */\nexport type ToggleType = 'checkbox' | 'radio';\n\n// Boilerplate for applying mixins to MatButtonToggleGroup and MatButtonToggleGroupMultiple\n/** @docs-private */\nexport class MatButtonToggleGroupBase {}\nexport const _MatButtonToggleGroupMixinBase = mixinDisabled(MatButtonToggleGroupBase);\n\n/**\n * Provider Expression that allows mat-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatButtonToggleGroup),\n multi: true\n};\n\n/**\n * @deprecated Use `MatButtonToggleGroup` instead.\n * @breaking-change 7.0.0\n */\nexport class MatButtonToggleGroupMultiple {}\n\nlet _uniqueIdCounter = 0;\n\n/** Change event object emitted by MatButtonToggle. */\nexport class MatButtonToggleChange {\n constructor(\n /** The MatButtonToggle that emits the event. */\n public source: MatButtonToggle,\n\n /** The value assigned to the MatButtonToggle. */\n public value: any) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'mat-button-toggle-group',\n providers: [\n MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\n {provide: MatButtonToggleGroupMultiple, useExisting: MatButtonToggleGroup},\n ],\n inputs: ['disabled'],\n host: {\n 'role': 'group',\n 'class': 'mat-button-toggle-group',\n '[class.mat-button-toggle-vertical]': 'vertical'\n },\n exportAs: 'matButtonToggleGroup',\n})\nexport class MatButtonToggleGroup extends _MatButtonToggleGroupMixinBase implements\n ControlValueAccessor, CanDisable, OnInit, AfterContentInit {\n\n private _vertical = false;\n private _multiple = false;\n private _selectionModel: SelectionModel<MatButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exaclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private _rawValue: any;\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n _controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n _onTouched: () => any = () => {};\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => MatButtonToggle)) _buttonToggles: QueryList<MatButtonToggle>;\n\n /** `name` attribute for the underlying `input` element. */\n @Input()\n get name(): string { return this._name; }\n set name(value: string) {\n this._name = value;\n\n if (this._buttonToggles) {\n this._buttonToggles.forEach(toggle => toggle.name = this._name);\n }\n }\n private _name = `mat-button-toggle-group-${_uniqueIdCounter++}`;\n\n /** Whether the toggle group is vertical. */\n @Input()\n get vertical(): boolean { return this._vertical; }\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map(toggle => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n set value(newValue: any) {\n this._setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Selected button toggles in the group. */\n get selected() {\n const selected = this._selectionModel.selected;\n return this.multiple ? selected : (selected[0] || null);\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input()\n get multiple(): boolean { return this._multiple; }\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<MatButtonToggleChange> =\n new EventEmitter<MatButtonToggleChange>();\n\n constructor(private _changeDetector: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<MatButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n\n if (this._buttonToggles) {\n this._buttonToggles.forEach(toggle => toggle._markForCheck());\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n _emitChangeEvent(): void {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new MatButtonToggleChange(source!, this.value);\n this._controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n */\n _syncButtonToggle(toggle: MatButtonToggle, select: boolean, isUserInput = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as MatButtonToggle).checked = false;\n }\n\n if (select) {\n this._selectionModel.select(toggle);\n } else {\n this._selectionModel.deselect(toggle);\n }\n\n // Only emit the change event for user input.\n if (isUserInput) {\n this._emitChangeEvent();\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Checks whether a button toggle is selected. */\n _isSelected(toggle: MatButtonToggle) {\n return this._selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n _isPrechecked(toggle: MatButtonToggle) {\n if (typeof this._rawValue === 'undefined') {\n return false;\n }\n\n if (this.multiple && Array.isArray(this._rawValue)) {\n return this._rawValue.some(value => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this._rawValue;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private _setSelectionByValue(value: any|any[]) {\n this._rawValue = value;\n\n if (!this._buttonToggles) {\n return;\n }\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this._clearSelection();\n value.forEach((currentValue: any) => this._selectValue(currentValue));\n } else {\n this._clearSelection();\n this._selectValue(value);\n }\n }\n\n /** Clears the selected toggles. */\n private _clearSelection() {\n this._selectionModel.clear();\n this._buttonToggles.forEach(toggle => toggle.checked = false);\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private _selectValue(value: any) {\n const correspondingOption = this._buttonToggles.find(toggle => {\n return toggle.value != null && toggle.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n this._selectionModel.select(correspondingOption);\n }\n }\n}\n\n// Boilerplate for applying mixins to the MatButtonToggle class.\n/** @docs-private */\nexport class MatButtonToggleBase {}\nexport const _MatButtonToggleMixinBase = mixinDisableRipple(MatButtonToggleBase);\n\n/** Single button inside of a toggle group. */\n@Component({\n moduleId: module.id,\n selector: 'mat-button-toggle',\n templateUrl: 'button-toggle.html',\n styleUrls: ['button-toggle.css'],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matButtonToggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disableRipple'],\n host: {\n '[class.mat-button-toggle-standalone]': '!buttonToggleGroup',\n '[class.mat-button-toggle-checked]': 'checked',\n '[class.mat-button-toggle-disabled]': 'disabled',\n 'class': 'mat-button-toggle',\n // Clear out the native tabindex here since we forward it to the underlying button\n '[attr.tabindex]': 'null',\n '[attr.id]': 'id',\n }\n})\nexport class MatButtonToggle extends _MatButtonToggleMixinBase implements OnInit,\n CanDisableRipple, OnDestroy {\n\n private _isSingleSelector = false;\n private _checked = false;\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, arial-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string;\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Type of the button toggle. Either 'radio' or 'checkbox'. */\n _type: ToggleType;\n\n @ViewChild('button') _buttonElement: ElementRef<HTMLButtonElement>;\n\n /** The parent button toggle group (exclusive selection). Optional. */\n buttonToggleGroup: MatButtonToggleGroup;\n\n /** Unique ID for the underlying `button` element. */\n get buttonId(): string { return `${this.id}-button`; }\n\n /** The unique ID for this button toggle. */\n @Input() id: string;\n\n /** HTML's 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** MatButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n /** Whether the button is checked. */\n @Input()\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\n }\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._checked) {\n this._checked = newValue;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\n }\n\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Whether the button is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\n private _disabled: boolean = false;\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<MatButtonToggleChange> =\n new EventEmitter<MatButtonToggleChange>();\n\n constructor(@Optional() toggleGroup: MatButtonToggleGroup,\n private _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _focusMonitor: FocusMonitor,\n // @breaking-change 8.0.0 `defaultTabIndex` to be made a required parameter.\n @Attribute('tabindex') defaultTabIndex: string) {\n super();\n\n const parsedTabIndex = Number(defaultTabIndex);\n this.tabIndex = (parsedTabIndex || parsedTabIndex === 0) ? parsedTabIndex : null;\n this.buttonToggleGroup = toggleGroup;\n }\n\n ngOnInit() {\n this._isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n this._type = this._isSingleSelector ? 'radio' : 'checkbox';\n this.id = this.id || `mat-button-toggle-${_uniqueIdCounter++}`;\n\n if (this._isSingleSelector) {\n this.name = this.buttonToggleGroup.name;\n }\n\n if (this.buttonToggleGroup && this.buttonToggleGroup._isPrechecked(this)) {\n this.checked = true;\n }\n\n this._focusMonitor.monitor(this._elementRef.nativeElement, true);\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement);\n }\n\n /** Focuses the button. */\n focus(): void {\n this._buttonElement.nativeElement.focus();\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n _onButtonClick() {\n const newChecked = this._isSingleSelector ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup._onTouched();\n }\n }\n // Emit a change event when it's the single selector\n this.change.emit(new MatButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n _markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this._changeDetectorRef.markForCheck();\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"button-toggle.js","sources":["../../../src/lib/button-toggle/button-toggle-module.ts","../../../src/lib/button-toggle/button-toggle.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 {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatButtonToggle, MatButtonToggleGroup} from './button-toggle';\n\n\n@NgModule({\n imports: [MatCommonModule, MatRippleModule],\n exports: [MatCommonModule, MatButtonToggleGroup, MatButtonToggle],\n declarations: [MatButtonToggleGroup, MatButtonToggle],\n})\nexport class MatButtonToggleModule {}\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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n Attribute,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n CanDisable,\n CanDisableRipple,\n mixinDisabled,\n mixinDisableRipple\n} from '@angular/material/core';\nimport {SelectionModel} from '@angular/cdk/collections';\n\n/** Acceptable types for a button toggle. */\nexport type ToggleType = 'checkbox' | 'radio';\n\n// Boilerplate for applying mixins to MatButtonToggleGroup and MatButtonToggleGroupMultiple\n/** @docs-private */\nexport class MatButtonToggleGroupBase {}\nexport const _MatButtonToggleGroupMixinBase = mixinDisabled(MatButtonToggleGroupBase);\n\n/**\n * Provider Expression that allows mat-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatButtonToggleGroup),\n multi: true\n};\n\n/**\n * @deprecated Use `MatButtonToggleGroup` instead.\n * @breaking-change 7.0.0\n */\nexport class MatButtonToggleGroupMultiple {}\n\nlet _uniqueIdCounter = 0;\n\n/** Change event object emitted by MatButtonToggle. */\nexport class MatButtonToggleChange {\n constructor(\n /** The MatButtonToggle that emits the event. */\n public source: MatButtonToggle,\n\n /** The value assigned to the MatButtonToggle. */\n public value: any) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'mat-button-toggle-group',\n providers: [\n MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\n {provide: MatButtonToggleGroupMultiple, useExisting: MatButtonToggleGroup},\n ],\n inputs: ['disabled'],\n host: {\n 'role': 'group',\n 'class': 'mat-button-toggle-group',\n '[attr.aria-disabled]': 'disabled',\n '[class.mat-button-toggle-vertical]': 'vertical'\n },\n exportAs: 'matButtonToggleGroup',\n})\nexport class MatButtonToggleGroup extends _MatButtonToggleGroupMixinBase implements\n ControlValueAccessor, CanDisable, OnInit, AfterContentInit {\n\n private _vertical = false;\n private _multiple = false;\n private _selectionModel: SelectionModel<MatButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private _rawValue: any;\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n _controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n _onTouched: () => any = () => {};\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => MatButtonToggle)) _buttonToggles: QueryList<MatButtonToggle>;\n\n /** `name` attribute for the underlying `input` element. */\n @Input()\n get name(): string { return this._name; }\n set name(value: string) {\n this._name = value;\n\n if (this._buttonToggles) {\n this._buttonToggles.forEach(toggle => toggle.name = this._name);\n }\n }\n private _name = `mat-button-toggle-group-${_uniqueIdCounter++}`;\n\n /** Whether the toggle group is vertical. */\n @Input()\n get vertical(): boolean { return this._vertical; }\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map(toggle => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n set value(newValue: any) {\n this._setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Selected button toggles in the group. */\n get selected() {\n const selected = this._selectionModel.selected;\n return this.multiple ? selected : (selected[0] || null);\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input()\n get multiple(): boolean { return this._multiple; }\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<MatButtonToggleChange> =\n new EventEmitter<MatButtonToggleChange>();\n\n constructor(private _changeDetector: ChangeDetectorRef) {\n super();\n }\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<MatButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n\n if (this._buttonToggles) {\n this._buttonToggles.forEach(toggle => toggle._markForCheck());\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n _emitChangeEvent(): void {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new MatButtonToggleChange(source!, this.value);\n this._controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n */\n _syncButtonToggle(toggle: MatButtonToggle, select: boolean, isUserInput = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as MatButtonToggle).checked = false;\n }\n\n if (select) {\n this._selectionModel.select(toggle);\n } else {\n this._selectionModel.deselect(toggle);\n }\n\n // Only emit the change event for user input.\n if (isUserInput) {\n this._emitChangeEvent();\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Checks whether a button toggle is selected. */\n _isSelected(toggle: MatButtonToggle) {\n return this._selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n _isPrechecked(toggle: MatButtonToggle) {\n if (typeof this._rawValue === 'undefined') {\n return false;\n }\n\n if (this.multiple && Array.isArray(this._rawValue)) {\n return this._rawValue.some(value => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this._rawValue;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private _setSelectionByValue(value: any|any[]) {\n this._rawValue = value;\n\n if (!this._buttonToggles) {\n return;\n }\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this._clearSelection();\n value.forEach((currentValue: any) => this._selectValue(currentValue));\n } else {\n this._clearSelection();\n this._selectValue(value);\n }\n }\n\n /** Clears the selected toggles. */\n private _clearSelection() {\n this._selectionModel.clear();\n this._buttonToggles.forEach(toggle => toggle.checked = false);\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private _selectValue(value: any) {\n const correspondingOption = this._buttonToggles.find(toggle => {\n return toggle.value != null && toggle.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n this._selectionModel.select(correspondingOption);\n }\n }\n}\n\n// Boilerplate for applying mixins to the MatButtonToggle class.\n/** @docs-private */\nexport class MatButtonToggleBase {}\nexport const _MatButtonToggleMixinBase = mixinDisableRipple(MatButtonToggleBase);\n\n/** Single button inside of a toggle group. */\n@Component({\n moduleId: module.id,\n selector: 'mat-button-toggle',\n templateUrl: 'button-toggle.html',\n styleUrls: ['button-toggle.css'],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matButtonToggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disableRipple'],\n host: {\n '[class.mat-button-toggle-standalone]': '!buttonToggleGroup',\n '[class.mat-button-toggle-checked]': 'checked',\n '[class.mat-button-toggle-disabled]': 'disabled',\n 'class': 'mat-button-toggle',\n // Clear out the native tabindex here since we forward it to the underlying button\n '[attr.tabindex]': 'null',\n '[attr.id]': 'id',\n }\n})\nexport class MatButtonToggle extends _MatButtonToggleMixinBase implements OnInit,\n CanDisableRipple, OnDestroy {\n\n private _isSingleSelector = false;\n private _checked = false;\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, arial-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string;\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Type of the button toggle. Either 'radio' or 'checkbox'. */\n _type: ToggleType;\n\n @ViewChild('button') _buttonElement: ElementRef<HTMLButtonElement>;\n\n /** The parent button toggle group (exclusive selection). Optional. */\n buttonToggleGroup: MatButtonToggleGroup;\n\n /** Unique ID for the underlying `button` element. */\n get buttonId(): string { return `${this.id}-button`; }\n\n /** The unique ID for this button toggle. */\n @Input() id: string;\n\n /** HTML's 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** MatButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n /** Whether the button is checked. */\n @Input()\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\n }\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._checked) {\n this._checked = newValue;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\n }\n\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Whether the button is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }\n private _disabled: boolean = false;\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<MatButtonToggleChange> =\n new EventEmitter<MatButtonToggleChange>();\n\n constructor(@Optional() toggleGroup: MatButtonToggleGroup,\n private _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _focusMonitor: FocusMonitor,\n // @breaking-change 8.0.0 `defaultTabIndex` to be made a required parameter.\n @Attribute('tabindex') defaultTabIndex: string) {\n super();\n\n const parsedTabIndex = Number(defaultTabIndex);\n this.tabIndex = (parsedTabIndex || parsedTabIndex === 0) ? parsedTabIndex : null;\n this.buttonToggleGroup = toggleGroup;\n }\n\n ngOnInit() {\n this._isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n this._type = this._isSingleSelector ? 'radio' : 'checkbox';\n this.id = this.id || `mat-button-toggle-${_uniqueIdCounter++}`;\n\n if (this._isSingleSelector) {\n this.name = this.buttonToggleGroup.name;\n }\n\n if (this.buttonToggleGroup && this.buttonToggleGroup._isPrechecked(this)) {\n this.checked = true;\n }\n\n this._focusMonitor.monitor(this._elementRef.nativeElement, true);\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef.nativeElement);\n }\n\n /** Focuses the button. */\n focus(): void {\n this._buttonElement.nativeElement.focus();\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n _onButtonClick() {\n const newChecked = this._isSingleSelector ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup._onTouched();\n }\n }\n // Emit a change event when it's the single selector\n this.change.emit(new MatButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n _markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this._changeDetectorRef.markForCheck();\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AC4CA,AAAA,MAAA,wBAAA,CAAA;CAAwC;AACxC,AAAA,MAAA,iBAAa,8BAA8B,GAAG,aAAa,CAAC,wBAAwB,CAAC,CAAC;;;;;;AAOtF,AAAA,MAAA,iBAAa,sCAAsC,GAAQ;IACzD,OAAO,EAAE,iBAAiB;IAC1B,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;IACnD,KAAK,EAAE,IAAI;CACZ,CAAC;;;;;AAMF,AAAA,MAAA,4BAAA,CAAA;CAA4C;AAE5C,qBAAI,gBAAgB,GAAG,CAAC,CAAC;;;;AAGzB,AAAA,MAAA,qBAAA,CAAA;;;;;IACE,WAAF,CAEW,MAFX,EAKW,KALX,EAAA;QAEW,IAAX,CAAA,MAAiB,GAAN,MAAM,CAAjB;QAGW,IAAX,CAAA,KAAgB,GAAL,KAAK,CAAhB;KAAyB;CACxB;;;;AAkBD,AAAA,MAAA,oBAAkC,SAAQ,8BAA8B,CAAxE;;;;IAsFE,WAAF,CAAsB,eAAkC,EAAxD;QACI,KAAK,EAAE,CAAC;QADU,IAAtB,CAAA,eAAqC,GAAf,eAAe,CAAmB;QAnFxD,IAAA,CAAA,SAAA,GAAsB,KAAK,CAA3B;QACA,IAAA,CAAA,SAAA,GAAsB,KAAK,CAA3B;;;;;QAeA,IAAA,CAAA,6BAAA,GAAwD,MAAxD,GAAgE,CAAhE;;;;QAGA,IAAA,CAAA,UAAA,GAA0B,MAA1B,GAAkC,CAAlC;QAeA,IAAA,CAAA,KAAA,GAAkB,CAAlB,wBAAA,EAA6C,gBAAgB,EAAE,CAA/D,CAAiE,CAAjE;;;;;;QA8BA,IAAA,CAAA,WAAA,GAAmC,IAAI,YAAY,EAAO,CAA1D;;;;QAiBA,IAAA,CAAA,MAAA,GAAM,IAAI,YAAY,EAAyB,CAA/C;KAIG;;;;;IA3DH,IAAM,IAAI,GAAV,EAAuB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAzC;;;;;IACE,IAAI,IAAI,CAAC,KAAa,EAAxB;QACI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;SACjE;KACF;;;;;IAKH,IAAM,QAAQ,GAAd,EAA4B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAlD;;;;;IACE,IAAI,QAAQ,CAAC,KAAc,EAA7B;QACI,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC/C;;;;;IAIH,IAAM,KAAK,GAAX;QACI,uBAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,EAAE,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;SAC7C;QAED,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;;;;;;IAErD,IAAI,KAAK,CAAC,QAAa,EAAzB;QACI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;;;;;IAUD,IAAI,QAAQ,GAAd;QACI,uBAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;KACzD;;;;;IAIH,IAAM,QAAQ,GAAd,EAA4B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAlD;;;;;IACE,IAAI,QAAQ,CAAC,KAAc,EAA7B;QACI,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC/C;;;;IAUD,QAAQ,GAAV;QACI,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAkB,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KAC7F;;;;IAED,kBAAkB,GAApB;QACI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;KACtF;;;;;;IAMD,UAAU,CAAC,KAAU,EAAvB;QACI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KACrC;;;;;IAGD,gBAAgB,CAAC,EAAwB,EAA3C;QACI,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;KACzC;;;;;IAGD,iBAAiB,CAAC,EAAO,EAA3B;QACI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;;;;IAGD,gBAAgB,CAAC,UAAmB,EAAtC;QACI,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAE3B,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;SAC/D;KACF;;;;;IAGD,gBAAgB,GAAlB;QACI,uBAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,uBAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;QAClF,uBAAM,KAAK,GAAG,IAAI,qBAAqB,oBAAC,MAAM,IAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;;;;;;;;IAQD,iBAAiB,CAAC,MAAuB,EAAE,MAAe,EAAE,WAAW,GAAG,KAAK,EAAjF;;;QAGI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACtD,mBAAC,IAAI,CAAC,QAA2B,GAAE,OAAO,GAAG,KAAK,CAAC;SACpD;QAED,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACrC;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACvC;;QAGD,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;;;QAID,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;;;;;;IAGD,WAAW,CAAC,MAAuB,EAArC;QACI,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KAChD;;;;;;IAGD,aAAa,CAAC,MAAuB,EAAvC;QACI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAClD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;SACrF;QAED,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC;KACxC;;;;;;IAGO,oBAAoB,CAAC,KAAgB,EAA/C;QACI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACnE;YAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,CAAC,CAAC,YAAiB,KAAK,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;SACvE;aAAM;YACL,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;;;;;;IAIK,eAAe,GAAzB;QACI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;;;;;;;IAIxD,YAAY,CAAC,KAAU,EAAjC;QACI,uBAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,IAA/D;YACM,OAAO,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;SACvD,CAAC,CAAC;QAEH,IAAI,mBAAmB,EAAE;YACvB,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;SAClD;;;;IAzOL,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,SAAS,EAAE;oBACT,sCAAsC;oBACtC,EAAC,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,oBAAoB,EAAC;iBAC3E;gBACD,MAAM,EAAE,CAAC,UAAU,CAAC;gBACpB,IAAI,EAAE;oBACJ,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,yBAAyB;oBAClC,sBAAsB,EAAE,UAAU;oBAClC,oCAAoC,EAAE,UAAU;iBACjD;gBACD,QAAQ,EAAE,sBAAsB;aACjC,EAAD,EAAA;;;;IA9EA,EAAA,IAAA,EAAE,iBAAiB,GAAnB;;;IAwGA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAG,eAAe,EAAlB,IAAA,EAAA,CAAmB,UAAU,CAAC,MAAM,eAAe,CAAC,EAApD,EAAA,EAAA;IAGA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,EAAA;IAYA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,EAAA;IAOA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,EAAA;IAoBA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAG,MAAM,EAAT,EAAA;IASA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,EAAA;IAOA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAG,MAAM,EAAT,EAAA;;;;;AA6IA,AAAA,MAAA,mBAAA,CAAA;CAAmC;AACnC,AAAA,MAAA,iBAAa,yBAAyB,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;;;;AAsBjF,AAAA,MAAA,eAA6B,SAAQ,yBAAyB,CAA9D;;;;;;;;IAuEE,WAAF,CAA0B,WAA1B,EACsB,kBADtB,EAEsB,WAFtB,EAGsB,aAHtB;;IAKqC,eAArC,EAAA;QACI,KAAK,EAAE,CAAC;QALU,IAAtB,CAAA,kBAAwC,GAAlB,kBAAkB,CAAxC;QACsB,IAAtB,CAAA,WAAiC,GAAX,WAAW,CAAjC;QACsB,IAAtB,CAAA,aAAmC,GAAb,aAAa,CAAnC;QAvEA,IAAA,CAAA,iBAAA,GAA8B,KAAK,CAAnC;QACA,IAAA,CAAA,QAAA,GAAqB,KAAK,CAA1B;;;;QAWA,IAAA,CAAA,cAAA,GAA4D,IAAI,CAAhE;QAkDA,IAAA,CAAA,SAAA,GAA+B,KAAK,CAApC;;;;QAIA,IAAA,CAAA,MAAA,GAAM,IAAI,YAAY,EAAyB,CAA/C;QAUI,uBAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,CAAC,cAAc,IAAI,cAAc,KAAK,CAAC,IAAI,cAAc,GAAG,IAAI,CAAC;QACjF,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;KACtC;;;;;IAxDD,IAAI,QAAQ,GAAd,EAA2B,OAAO,CAAlC,EAAqC,IAAI,CAAC,EAAE,CAA5C,OAAA,CAAqD,CAAC,EAAE;;;;;IAgBxD,IAAM,OAAO,GAAb;QACI,OAAO,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;;;;;;IAE3F,IAAI,OAAO,CAAC,KAAc,EAA5B;QACI,uBAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/D;YAED,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC;KACF;;;;;IAIH,IAAM,QAAQ,GAAd;QACI,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;;;;;;IAEvF,IAAI,QAAQ,CAAC,KAAc,EAA7B,EAAiC,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;;;;IAoB/E,QAAQ,GAAV;QACI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QACpF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;QAC3D,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAzB,kBAAA,EAA8C,gBAAgB,EAAE,CAAhE,CAAkE,CAAC;QAE/D,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YACxE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;QAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;KAClE;;;;IAED,WAAW,GAAb;QACI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KACnE;;;;;IAGD,KAAK,GAAP;QACI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC3C;;;;;IAGD,cAAc,GAAhB;QACI,uBAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAElE,IAAI,UAAU,KAAK,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC3B,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACpE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;aACrC;SACF;;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC/D;;;;;;;IAOD,aAAa,GAAf;;;QAGI,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;;;IAxJH,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,mBAAA;gBACE,QAAQ,EAAE,smBAAZ;gBACE,MAAF,EAAU,CAAV,umDAAA,CAAA;gBACE,aAAa,EAAf,iBAAA,CAAmC,IAAnC;gBACE,QAAF,EAAA,iBAAA;gBACE,eAAe,EAAjB,uBAAA,CAAA,MAAA;gBACE,MAAF,EAAU,CAAV,eAAA,CAAA;gBACE,IAAF,EAAA;oBACA,sCAAA,EAAA,oBAAA;oBACM,mCAAN,EAAA,SAAA;oBACI,oCAAJ,EAA0C,UAA1C;oBACI,OAAJ,EAAA,mBAAA;;oBAEI,iBAAJ,EAAA,MAAA;;iBAEA;aACA,EAAA,EAAA;CACA,CAAA;;;;;IArPA,EAAA,IAAA,EAAa,UAAb,GAAA;IA/EA,EAAA,IAAA,EAAE,YAAF,GAAA;IAIA,EAAA,IAAA,EAAE,SAAF,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,EAAA;CATA,CAAA;AAuZA,eAAA,CAAA,cAAA,GAAA;;;IAlEA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAQ,SAAC,EAAT,IAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA;IAKA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,EAAA;IAKA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,EAAA;IASA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,EAAA;IAGA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,EAAA;IAGA,SAAA,EAAA,CAAA,EAAA,IAAG,EAAH,KAAA,EAAA,EAAA;IAGA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,EAAA;IAGA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAQ,EAAR,EAAA;CAmBA,CAAA;;;;;;AD7XA,MAAA,qBAAA,CAAA;;;IALA,EAAA,IAAA,EAAC,QAAQ,EAAT,IAAA,EAAA,CAAU;gBACR,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;gBAC3C,OAAO,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,eAAe,CAAC;gBACjE,YAAY,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;aACtD,EAAD,EAAA;;;;;;;;;;;;;;;"}
package/esm2015/card.js CHANGED
@@ -179,7 +179,7 @@ MatCard.decorators = [
179
179
  { type: Component, args: [{selector: 'mat-card',
180
180
  exportAs: 'matCard',
181
181
  template: "<ng-content></ng-content><ng-content select=\"mat-card-footer\"></ng-content>",
182
- styles: [".mat-card{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);display:block;position:relative;padding:24px;border-radius:2px}.mat-card: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)}.mat-card .mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card .mat-divider-horizontal{left:auto;right:0}.mat-card .mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card .mat-divider-horizontal.mat-divider-inset{margin-right:0}.mat-card.mat-card-flat{box-shadow:none}@media screen and (-ms-high-contrast:active){.mat-card{outline:solid 1px}}.mat-card-actions,.mat-card-content,.mat-card-subtitle,.mat-card-title{display:block;margin-bottom:16px}.mat-card-actions{margin-left:-16px;margin-right:-16px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 48px);margin:0 -24px 16px -24px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-footer{display:block;margin:0 -24px -24px -24px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button{margin:0 4px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header-text{margin:0 8px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0}.mat-card-lg-image,.mat-card-md-image,.mat-card-sm-image{margin:-8px 0}.mat-card-title-group{display:flex;justify-content:space-between;margin:0 -8px}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}@media (max-width:599px){.mat-card{padding:24px 16px}.mat-card-actions{margin-left:-8px;margin-right:-8px}.mat-card-image{width:calc(100% + 32px);margin:16px -16px}.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}.mat-card-header{margin:-8px 0 0 0}.mat-card-footer{margin-left:-16px;margin-right:-16px}}.mat-card-content>:first-child,.mat-card>:first-child{margin-top:0}.mat-card-content>:last-child:not(.mat-card-footer),.mat-card>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-24px}.mat-card>.mat-card-actions:last-child{margin-bottom:-16px;padding-bottom:0}.mat-card-actions .mat-button:first-child,.mat-card-actions .mat-raised-button:first-child{margin-left:0;margin-right:0}.mat-card-subtitle:not(:first-child),.mat-card-title:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}"],
182
+ styles: [".mat-card{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);display:block;position:relative;padding:24px;border-radius:2px}.mat-card: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)}.mat-card .mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card .mat-divider-horizontal{left:auto;right:0}.mat-card .mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card .mat-divider-horizontal.mat-divider-inset{margin-right:0}.mat-card.mat-card-flat{box-shadow:none}@media screen and (-ms-high-contrast:active){.mat-card{outline:solid 1px}}.mat-card-actions,.mat-card-content,.mat-card-subtitle,.mat-card-title{display:block;margin-bottom:16px}.mat-card-actions{margin-left:-16px;margin-right:-16px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 48px);margin:0 -24px 16px -24px}.mat-card-footer{display:block;margin:0 -24px -24px -24px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button{margin:0 4px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header-text{margin:0 8px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0}.mat-card-lg-image,.mat-card-md-image,.mat-card-sm-image,.mat-card-title-group>.mat-card-xl-image{margin:-8px 0 8px 0}.mat-card-title-group{display:flex;justify-content:space-between;margin:0 -8px}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}@media (max-width:599px){.mat-card{padding:24px 16px}.mat-card-actions{margin-left:-8px;margin-right:-8px}.mat-card-image{width:calc(100% + 32px);margin:16px -16px}.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}.mat-card-header{margin:-8px 0 0 0}.mat-card-footer{margin-left:-16px;margin-right:-16px}}.mat-card-content>:first-child,.mat-card>:first-child{margin-top:0}.mat-card-content>:last-child:not(.mat-card-footer),.mat-card>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-24px}.mat-card>.mat-card-actions:last-child{margin-bottom:-16px;padding-bottom:0}.mat-card-actions .mat-button:first-child,.mat-card-actions .mat-raised-button:first-child{margin-left:0;margin-right:0}.mat-card-subtitle:not(:first-child),.mat-card-title:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}"],
183
183
  encapsulation: ViewEncapsulation.None,
184
184
  changeDetection: ChangeDetectionStrategy.OnPush,
185
185
  host: { 'class': 'mat-card' }
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sources":["../../../src/lib/card/card-module.ts","../../../src/lib/card/card.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 {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {\n MatCard,\n MatCardActions,\n MatCardAvatar,\n MatCardContent,\n MatCardFooter,\n MatCardHeader,\n MatCardImage,\n MatCardLgImage,\n MatCardMdImage,\n MatCardSmImage,\n MatCardSubtitle,\n MatCardTitle,\n MatCardTitleGroup,\n MatCardXlImage,\n} from './card';\n\n\n@NgModule({\n imports: [MatCommonModule],\n exports: [\n MatCard,\n MatCardHeader,\n MatCardTitleGroup,\n MatCardContent,\n MatCardTitle,\n MatCardSubtitle,\n MatCardActions,\n MatCardFooter,\n MatCardSmImage,\n MatCardMdImage,\n MatCardLgImage,\n MatCardImage,\n MatCardXlImage,\n MatCardAvatar,\n MatCommonModule,\n ],\n declarations: [\n MatCard, MatCardHeader, MatCardTitleGroup, MatCardContent, MatCardTitle, MatCardSubtitle,\n MatCardActions, MatCardFooter, MatCardSmImage, MatCardMdImage, MatCardLgImage, MatCardImage,\n MatCardXlImage, MatCardAvatar,\n ],\n})\nexport class MatCardModule {}\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 ViewEncapsulation,\n ChangeDetectionStrategy,\n Directive,\n Input,\n} from '@angular/core';\n\n\n/**\n * Content of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: 'mat-card-content',\n host: {'class': 'mat-card-content'}\n})\nexport class MatCardContent {}\n\n/**\n * Title of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: `mat-card-title, [mat-card-title], [matCardTitle]`,\n host: {\n 'class': 'mat-card-title'\n }\n})\nexport class MatCardTitle {}\n\n/**\n * Sub-title of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: `mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]`,\n host: {\n 'class': 'mat-card-subtitle'\n }\n})\nexport class MatCardSubtitle {}\n\n/**\n * Action section of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: 'mat-card-actions',\n exportAs: 'matCardActions',\n host: {\n 'class': 'mat-card-actions',\n '[class.mat-card-actions-align-end]': 'align === \"end\"',\n }\n})\nexport class MatCardActions {\n /** Position of the actions inside the card. */\n @Input() align: 'start' | 'end' = 'start';\n}\n\n/**\n * Footer of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: 'mat-card-footer',\n host: {'class': 'mat-card-footer'}\n})\nexport class MatCardFooter {}\n\n/**\n * Image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-image], [matCardImage]',\n host: {'class': 'mat-card-image'}\n})\nexport class MatCardImage {}\n\n/**\n * Image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-sm-image], [matCardImageSmall]',\n host: {'class': 'mat-card-sm-image'}\n})\nexport class MatCardSmImage {}\n\n/**\n * Image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-md-image], [matCardImageMedium]',\n host: {'class': 'mat-card-md-image'}\n})\nexport class MatCardMdImage {}\n\n/**\n * Image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-lg-image], [matCardImageLarge]',\n host: {'class': 'mat-card-lg-image'}\n})\nexport class MatCardLgImage {}\n\n/**\n * Large image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-xl-image], [matCardImageXLarge]',\n host: {'class': 'mat-card-xl-image'}\n})\nexport class MatCardXlImage {}\n\n/**\n * Avatar image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-avatar], [matCardAvatar]',\n host: {'class': 'mat-card-avatar'}\n})\nexport class MatCardAvatar {}\n\n\n/**\n * A basic content container component that adds the styles of a Material design card.\n *\n * While this component can be used alone, it also provides a number\n * of preset styles for common card sections, including:\n * - mat-card-title\n * - mat-card-subtitle\n * - mat-card-content\n * - mat-card-actions\n * - mat-card-footer\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-card',\n exportAs: 'matCard',\n templateUrl: 'card.html',\n styleUrls: ['card.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-card'}\n})\nexport class MatCard {}\n\n\n/**\n * Component intended to be used within the `<mat-card>` component. It adds styles for a\n * preset header section (i.e. a title, subtitle, and avatar layout).\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-card-header',\n templateUrl: 'card-header.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-card-header'}\n})\nexport class MatCardHeader {}\n\n\n/**\n * Component intended to be used within the `<mat-card>` component. It adds styles for a preset\n * layout that groups an image with a title section.\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-card-title-group',\n templateUrl: 'card-title-group.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-card-title-group'}\n})\nexport class MatCardTitleGroup {}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card.js","sources":["../../../src/lib/card/card-module.ts","../../../src/lib/card/card.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 {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {\n MatCard,\n MatCardActions,\n MatCardAvatar,\n MatCardContent,\n MatCardFooter,\n MatCardHeader,\n MatCardImage,\n MatCardLgImage,\n MatCardMdImage,\n MatCardSmImage,\n MatCardSubtitle,\n MatCardTitle,\n MatCardTitleGroup,\n MatCardXlImage,\n} from './card';\n\n\n@NgModule({\n imports: [MatCommonModule],\n exports: [\n MatCard,\n MatCardHeader,\n MatCardTitleGroup,\n MatCardContent,\n MatCardTitle,\n MatCardSubtitle,\n MatCardActions,\n MatCardFooter,\n MatCardSmImage,\n MatCardMdImage,\n MatCardLgImage,\n MatCardImage,\n MatCardXlImage,\n MatCardAvatar,\n MatCommonModule,\n ],\n declarations: [\n MatCard, MatCardHeader, MatCardTitleGroup, MatCardContent, MatCardTitle, MatCardSubtitle,\n MatCardActions, MatCardFooter, MatCardSmImage, MatCardMdImage, MatCardLgImage, MatCardImage,\n MatCardXlImage, MatCardAvatar,\n ],\n})\nexport class MatCardModule {}\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 ViewEncapsulation,\n ChangeDetectionStrategy,\n Directive,\n Input,\n} from '@angular/core';\n\n\n/**\n * Content of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: 'mat-card-content',\n host: {'class': 'mat-card-content'}\n})\nexport class MatCardContent {}\n\n/**\n * Title of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: `mat-card-title, [mat-card-title], [matCardTitle]`,\n host: {\n 'class': 'mat-card-title'\n }\n})\nexport class MatCardTitle {}\n\n/**\n * Sub-title of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: `mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]`,\n host: {\n 'class': 'mat-card-subtitle'\n }\n})\nexport class MatCardSubtitle {}\n\n/**\n * Action section of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: 'mat-card-actions',\n exportAs: 'matCardActions',\n host: {\n 'class': 'mat-card-actions',\n '[class.mat-card-actions-align-end]': 'align === \"end\"',\n }\n})\nexport class MatCardActions {\n /** Position of the actions inside the card. */\n @Input() align: 'start' | 'end' = 'start';\n}\n\n/**\n * Footer of a card, needed as it's used as a selector in the API.\n * @docs-private\n */\n@Directive({\n selector: 'mat-card-footer',\n host: {'class': 'mat-card-footer'}\n})\nexport class MatCardFooter {}\n\n/**\n * Image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-image], [matCardImage]',\n host: {'class': 'mat-card-image'}\n})\nexport class MatCardImage {}\n\n/**\n * Image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-sm-image], [matCardImageSmall]',\n host: {'class': 'mat-card-sm-image'}\n})\nexport class MatCardSmImage {}\n\n/**\n * Image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-md-image], [matCardImageMedium]',\n host: {'class': 'mat-card-md-image'}\n})\nexport class MatCardMdImage {}\n\n/**\n * Image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-lg-image], [matCardImageLarge]',\n host: {'class': 'mat-card-lg-image'}\n})\nexport class MatCardLgImage {}\n\n/**\n * Large image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-xl-image], [matCardImageXLarge]',\n host: {'class': 'mat-card-xl-image'}\n})\nexport class MatCardXlImage {}\n\n/**\n * Avatar image used in a card, needed to add the mat- CSS styling.\n * @docs-private\n */\n@Directive({\n selector: '[mat-card-avatar], [matCardAvatar]',\n host: {'class': 'mat-card-avatar'}\n})\nexport class MatCardAvatar {}\n\n\n/**\n * A basic content container component that adds the styles of a Material design card.\n *\n * While this component can be used alone, it also provides a number\n * of preset styles for common card sections, including:\n * - mat-card-title\n * - mat-card-subtitle\n * - mat-card-content\n * - mat-card-actions\n * - mat-card-footer\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-card',\n exportAs: 'matCard',\n templateUrl: 'card.html',\n styleUrls: ['card.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-card'}\n})\nexport class MatCard {}\n\n\n/**\n * Component intended to be used within the `<mat-card>` component. It adds styles for a\n * preset header section (i.e. a title, subtitle, and avatar layout).\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-card-header',\n templateUrl: 'card-header.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-card-header'}\n})\nexport class MatCardHeader {}\n\n\n/**\n * Component intended to be used within the `<mat-card>` component. It adds styles for a preset\n * layout that groups an image with a title section.\n * @docs-private\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-card-title-group',\n templateUrl: 'card-title-group.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-card-title-group'}\n})\nexport class MatCardTitleGroup {}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;ACyBA,AAAA,MAAA,cAAA,CAAA;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,EAAC,OAAO,EAAE,kBAAkB,EAAC;aACpC,EAAD,EAAA;;;;;;AAaA,AAAA,MAAA,YAAA,CAAA;;;IANA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,CAAZ,gDAAA,CAA8D;gBAC5D,IAAI,EAAE;oBACJ,OAAO,EAAE,gBAAgB;iBAC1B;aACF,EAAD,EAAA;;;;;;AAaA,AAAA,MAAA,eAAA,CAAA;;;IANA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,CAAZ,yDAAA,CAAuE;gBACrE,IAAI,EAAE;oBACJ,OAAO,EAAE,mBAAmB;iBAC7B;aACF,EAAD,EAAA;;;;;;AAeA,AAAA,MAAA,cAAA,CAAA;;;;;QAEA,IAAA,CAAA,KAAA,GAAoC,OAAO,CAA3C;;;;IAVA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,QAAQ,EAAE,gBAAgB;gBAC1B,IAAI,EAAE;oBACJ,OAAO,EAAE,kBAAkB;oBAC3B,oCAAoC,EAAE,iBAAiB;iBACxD;aACF,EAAD,EAAA;;;;IAGA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,EAAA;;;;;;AAWA,AAAA,MAAA,aAAA,CAAA;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,IAAI,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC;aACnC,EAAD,EAAA;;;;;;AAWA,AAAA,MAAA,YAAA,CAAA;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,kCAAkC;gBAC5C,IAAI,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;aAClC,EAAD,EAAA;;;;;;AAWA,AAAA,MAAA,cAAA,CAAA;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,0CAA0C;gBACpD,IAAI,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;aACrC,EAAD,EAAA;;;;;;AAWA,AAAA,MAAA,cAAA,CAAA;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,2CAA2C;gBACrD,IAAI,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;aACrC,EAAD,EAAA;;;;;;AAWA,AAAA,MAAA,cAAA,CAAA;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,0CAA0C;gBACpD,IAAI,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;aACrC,EAAD,EAAA;;;;;;AAWA,AAAA,MAAA,cAAA,CAAA;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,2CAA2C;gBACrD,IAAI,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;aACrC,EAAD,EAAA;;;;;;AAWA,AAAA,MAAA,aAAA,CAAA;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,oCAAoC;gBAC9C,IAAI,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC;aACnC,EAAD,EAAA;;;;;;;;;;;;;AAyBA,AAAA,MAAA,OAAA,CAAA;;;IAVA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,UAAA;gBACE,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,+EAAZ;gBACE,MAAF,EAAU,CAAV,gnFAAA,CAAA;gBACE,aAAa,EAAf,iBAAA,CAAA,IAAA;gBACE,eAAF,EAAA,uBAAA,CAAA,MAAA;gBACE,IAAF,EAAA,EAAA,OAAiB,EAAjB,UAAA,EAAA;aACA,EAAA,EAAA;CACA,CAAA;AACA;;;;;;;AAiBA,aAAA,CAAA,UAAA,GAAA;;;gBARA,aAAA,EAAA,iBAAA,CAAA,IAAA;gBACE,eAAF,EAAmB,uBAAnB,CAAA,MAAA;gBACE,IAAF,EAAA,EAAU,OAAV,EAAA,iBAAA,EAAA;aACA,EAAA,EAAA;CACA,CAAA;AACA;;;;;;;;;gBAmBA,QAAA,EAAA,8NAAA;;;gBARA,IAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA;aACA,EAAA,EAAA;CACA,CAAA;;;;;;ADrIA,MAAA,aAAA,CAAA;;;IAzBA,EAAA,IAAA,EAAC,QAAQ,EAAT,IAAA,EAAA,CAAU;gBACR,OAAO,EAAE,CAAC,eAAe,CAAC;gBAC1B,OAAO,EAAE;oBACP,OAAO;oBACP,aAAa;oBACb,iBAAiB;oBACjB,cAAc;oBACd,YAAY;oBACZ,eAAe;oBACf,cAAc;oBACd,aAAa;oBACb,cAAc;oBACd,cAAc;oBACd,cAAc;oBACd,YAAY;oBACZ,cAAc;oBACd,aAAa;oBACb,eAAe;iBAChB;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe;oBACxF,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY;oBAC3F,cAAc,EAAE,aAAa;iBAC9B;aACF,EAAD,EAAA;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../src/lib/checkbox/checkbox-module.ts","../../../src/lib/checkbox/checkbox-required-validator.ts","../../../src/lib/checkbox/checkbox.ts","../../../src/lib/checkbox/checkbox-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 {ObserversModule} from '@angular/cdk/observers';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatCheckbox} from './checkbox';\nimport {MatCheckboxRequiredValidator} from './checkbox-required-validator';\n\n\n@NgModule({\n imports: [CommonModule, MatRippleModule, MatCommonModule, ObserversModule],\n exports: [MatCheckbox, MatCheckboxRequiredValidator, MatCommonModule],\n declarations: [MatCheckbox, MatCheckboxRequiredValidator],\n})\nexport class MatCheckboxModule {}\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 Directive,\n forwardRef,\n Provider,\n} from '@angular/core';\nimport {\n CheckboxRequiredValidator,\n NG_VALIDATORS,\n} from '@angular/forms';\n\nexport const MAT_CHECKBOX_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MatCheckboxRequiredValidator),\n multi: true\n};\n\n/**\n * Validator for Material checkbox's required attribute in template-driven checkbox.\n * Current CheckboxRequiredValidator only work with `input type=checkbox` and does not\n * work with `mat-checkbox`.\n */\n@Directive({\n selector: `mat-checkbox[required][formControlName],\n mat-checkbox[required][formControl], mat-checkbox[required][ngModel]`,\n providers: [MAT_CHECKBOX_REQUIRED_VALIDATOR],\n host: {'[attr.required]': 'required ? \"\" : null'}\n})\nexport class MatCheckboxRequiredValidator extends CheckboxRequiredValidator {}\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, FocusOrigin} from '@angular/cdk/a11y';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n CanColor,\n CanDisable,\n CanDisableRipple,\n HasTabIndex,\n MatRipple,\n mixinColor,\n mixinDisabled,\n mixinDisableRipple,\n mixinTabIndex,\n RippleRef,\n} from '@angular/material/core';\nimport {MAT_CHECKBOX_CLICK_ACTION, MatCheckboxClickAction} from './checkbox-config';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\n// Increasing integer for generating unique ids for checkbox components.\nlet nextUniqueId = 0;\n\n/**\n * Provider Expression that allows mat-checkbox to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatCheckbox),\n multi: true\n};\n\n/**\n * Represents the different states that require custom transitions between them.\n * @docs-private\n */\nexport enum TransitionCheckState {\n /** The initial state of the component before any user interaction. */\n Init,\n /** The state representing the component when it's becoming checked. */\n Checked,\n /** The state representing the component when it's becoming unchecked. */\n Unchecked,\n /** The state representing the component when it's becoming indeterminate. */\n Indeterminate\n}\n\n/** Change event object emitted by MatCheckbox. */\nexport class MatCheckboxChange {\n /** The source MatCheckbox of the event. */\n source: MatCheckbox;\n /** The new `checked` value of the checkbox. */\n checked: boolean;\n}\n\n// Boilerplate for applying mixins to MatCheckbox.\n/** @docs-private */\nexport class MatCheckboxBase {\n constructor(public _elementRef: ElementRef) {}\n}\nexport const _MatCheckboxMixinBase =\n mixinTabIndex(mixinColor(mixinDisableRipple(mixinDisabled(MatCheckboxBase)), 'accent'));\n\n\n/**\n * A material design checkbox component. Supports all of the functionality of an HTML5 checkbox,\n * and exposes a similar API. A MatCheckbox can be either checked, unchecked, indeterminate, or\n * disabled. Note that all additional accessibility attributes are taken care of by the component,\n * so there is no need to provide them yourself. However, if you want to omit a label and still\n * have the checkbox be accessible, you may supply an [aria-label] input.\n * See: https://material.io/design/components/selection-controls.html\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-checkbox',\n templateUrl: 'checkbox.html',\n styleUrls: ['checkbox.css'],\n exportAs: 'matCheckbox',\n host: {\n 'class': 'mat-checkbox',\n '[id]': 'id',\n '[class.mat-checkbox-indeterminate]': 'indeterminate',\n '[class.mat-checkbox-checked]': 'checked',\n '[class.mat-checkbox-disabled]': 'disabled',\n '[class.mat-checkbox-label-before]': 'labelPosition == \"before\"',\n '[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`,\n },\n providers: [MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR],\n inputs: ['disableRipple', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MatCheckbox extends _MatCheckboxMixinBase implements ControlValueAccessor,\n AfterViewInit, OnDestroy, CanColor, CanDisable, HasTabIndex, CanDisableRipple {\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, arial-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string = '';\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n private _uniqueId: string = `mat-checkbox-${++nextUniqueId}`;\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id: string = this._uniqueId;\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string { return `${this.id || this._uniqueId}-input`; }\n\n /** Whether the checkbox is required. */\n @Input()\n get required(): boolean { return this._required; }\n set required(value: boolean) { this._required = coerceBooleanProperty(value); }\n private _required: boolean;\n\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | null = null;\n\n /** Event emitted when the checkbox's `checked` value changes. */\n @Output() readonly change: EventEmitter<MatCheckboxChange> =\n new EventEmitter<MatCheckboxChange>();\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The value attribute of the native input element */\n @Input() value: string;\n\n /** The native `<input type=\"checkbox\">` element */\n @ViewChild('input') _inputElement: ElementRef;\n\n /** Reference to the ripple instance of the checkbox. */\n @ViewChild(MatRipple) ripple: MatRipple;\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n _onTouched: () => any = () => {};\n\n private _currentAnimationClass: string = '';\n\n private _currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n\n private _controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** Reference to the focused state ripple. */\n private _focusRipple: RippleRef | null;\n\n constructor(elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n private _ngZone: NgZone,\n @Attribute('tabindex') tabIndex: string,\n @Optional() @Inject(MAT_CHECKBOX_CLICK_ACTION)\n private _clickAction: MatCheckboxClickAction,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string) {\n super(elementRef);\n\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n\n ngAfterViewInit() {\n this._focusMonitor\n .monitor(this._inputElement.nativeElement)\n .subscribe(focusOrigin => this._onInputFocusChange(focusOrigin));\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._inputElement.nativeElement);\n }\n\n /**\n * Whether the checkbox is checked.\n */\n @Input()\n get checked(): boolean { return this._checked; }\n set checked(value: boolean) {\n if (value != this.checked) {\n this._checked = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _checked: boolean = false;\n\n /**\n * Whether the checkbox is disabled. This fully overrides the implementation provided by\n * mixinDisabled, but the mixin is still required because mixinTabIndex requires it.\n */\n @Input()\n get disabled() { return this._disabled; }\n set disabled(value: any) {\n if (value != this.disabled) {\n this._disabled = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _disabled: boolean = false;\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input()\n get indeterminate(): boolean { return this._indeterminate; }\n set indeterminate(value: boolean) {\n const changed = value != this._indeterminate;\n this._indeterminate = value;\n\n if (changed) {\n if (this._indeterminate) {\n this._transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this._transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n }\n this.indeterminateChange.emit(this._indeterminate);\n }\n }\n private _indeterminate: boolean = false;\n\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // This method is getting called whenever the label of the checkbox changes.\n // Since the checkbox uses the OnPush strategy we need to notify it about the change\n // that has been recognized by the cdkObserveContent directive.\n this._changeDetectorRef.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n _getAriaChecked(): 'true' | 'false' | 'mixed' {\n return this.checked ? 'true' : (this.indeterminate ? 'mixed' : 'false');\n }\n\n private _transitionCheckState(newState: TransitionCheckState) {\n let oldState = this._currentCheckState;\n let element: HTMLElement = this._elementRef.nativeElement;\n\n if (oldState === newState) {\n return;\n }\n if (this._currentAnimationClass.length > 0) {\n element.classList.remove(this._currentAnimationClass);\n }\n\n this._currentAnimationClass = this._getAnimationClassForCheckStateTransition(\n oldState, newState);\n this._currentCheckState = newState;\n\n if (this._currentAnimationClass.length > 0) {\n element.classList.add(this._currentAnimationClass);\n\n // Remove the animation class to avoid animation when the checkbox is moved between containers\n const animationClass = this._currentAnimationClass;\n\n this._ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n element.classList.remove(animationClass);\n }, 1000);\n });\n }\n }\n\n private _emitChangeEvent() {\n let event = new MatCheckboxChange();\n event.source = this;\n event.checked = this.checked;\n\n this._controlValueAccessorChangeFn(this.checked);\n this.change.emit(event);\n }\n\n /** Function is called whenever the focus changes for the input element. */\n private _onInputFocusChange(focusOrigin: FocusOrigin) {\n // TODO(paul): support `program`. See https://github.com/angular/material2/issues/9889\n if (!this._focusRipple && focusOrigin === 'keyboard') {\n this._focusRipple = this.ripple.launch(0, 0, {persistent: true});\n } else if (!focusOrigin) {\n if (this._focusRipple) {\n this._focusRipple.fadeOut();\n this._focusRipple = null;\n }\n\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer telling\n // the form control it has been touched until the next tick.\n Promise.resolve().then(() => this._onTouched());\n }\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked;\n }\n\n /**\n * Event handler for checkbox input element.\n * Toggles checked state if element is not disabled.\n * Do not toggle on (change) event since IE doesn't fire change event when\n * indeterminate checkbox is clicked.\n * @param event\n */\n _onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `checkbox` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled && this._clickAction !== 'noop') {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate && this._clickAction !== 'check') {\n\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n\n this.toggle();\n this._transitionCheckState(\n this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this._emitChangeEvent();\n } else if (!this.disabled && this._clickAction === 'noop') {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `mat-checkbox`.\n this._inputElement.nativeElement.checked = this.checked;\n this._inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n /** Focuses the checkbox. */\n focus(): void {\n this._focusMonitor.focusVia(this._inputElement.nativeElement, 'keyboard');\n }\n\n _onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n\n private _getAnimationClassForCheckStateTransition(\n oldState: TransitionCheckState, newState: TransitionCheckState): string {\n // Don't transition if animations are disabled.\n if (this._animationMode === 'NoopAnimations') {\n return '';\n }\n\n let animSuffix: string = '';\n\n switch (oldState) {\n case TransitionCheckState.Init:\n // Handle edge case where user interacts with checkbox that does not have [(ngModel)] or\n // [checked] bound to it.\n if (newState === TransitionCheckState.Checked) {\n animSuffix = 'unchecked-checked';\n } else if (newState == TransitionCheckState.Indeterminate) {\n animSuffix = 'unchecked-indeterminate';\n } else {\n return '';\n }\n break;\n case TransitionCheckState.Unchecked:\n animSuffix = newState === TransitionCheckState.Checked ?\n 'unchecked-checked' : 'unchecked-indeterminate';\n break;\n case TransitionCheckState.Checked:\n animSuffix = newState === TransitionCheckState.Unchecked ?\n 'checked-unchecked' : 'checked-indeterminate';\n break;\n case TransitionCheckState.Indeterminate:\n animSuffix = newState === TransitionCheckState.Checked ?\n 'indeterminate-checked' : 'indeterminate-unchecked';\n break;\n }\n\n return `mat-checkbox-anim-${animSuffix}`;\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 {InjectionToken} from '@angular/core';\n\n\n/**\n * Checkbox click action when user click on input element.\n * noop: Do not toggle checked or indeterminate.\n * check: Only toggle checked status, ignore indeterminate.\n * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.\n * undefined: Same as `check-indeterminate`.\n */\nexport type MatCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;\n\n/**\n * Injection token that can be used to specify the checkbox click behavior.\n */\nexport const MAT_CHECKBOX_CLICK_ACTION =\n new InjectionToken<MatCheckboxClickAction>('mat-checkbox-click-action');\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../../src/lib/checkbox/checkbox-module.ts","../../../src/lib/checkbox/checkbox-required-validator.ts","../../../src/lib/checkbox/checkbox.ts","../../../src/lib/checkbox/checkbox-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 {ObserversModule} from '@angular/cdk/observers';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatCheckbox} from './checkbox';\nimport {MatCheckboxRequiredValidator} from './checkbox-required-validator';\n\n\n@NgModule({\n imports: [CommonModule, MatRippleModule, MatCommonModule, ObserversModule],\n exports: [MatCheckbox, MatCheckboxRequiredValidator, MatCommonModule],\n declarations: [MatCheckbox, MatCheckboxRequiredValidator],\n})\nexport class MatCheckboxModule {}\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 Directive,\n forwardRef,\n Provider,\n} from '@angular/core';\nimport {\n CheckboxRequiredValidator,\n NG_VALIDATORS,\n} from '@angular/forms';\n\nexport const MAT_CHECKBOX_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MatCheckboxRequiredValidator),\n multi: true\n};\n\n/**\n * Validator for Material checkbox's required attribute in template-driven checkbox.\n * Current CheckboxRequiredValidator only work with `input type=checkbox` and does not\n * work with `mat-checkbox`.\n */\n@Directive({\n selector: `mat-checkbox[required][formControlName],\n mat-checkbox[required][formControl], mat-checkbox[required][ngModel]`,\n providers: [MAT_CHECKBOX_REQUIRED_VALIDATOR],\n host: {'[attr.required]': 'required ? \"\" : null'}\n})\nexport class MatCheckboxRequiredValidator extends CheckboxRequiredValidator {}\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, FocusOrigin} from '@angular/cdk/a11y';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n CanColor,\n CanDisable,\n CanDisableRipple,\n HasTabIndex,\n MatRipple,\n mixinColor,\n mixinDisabled,\n mixinDisableRipple,\n mixinTabIndex,\n RippleRef,\n} from '@angular/material/core';\nimport {MAT_CHECKBOX_CLICK_ACTION, MatCheckboxClickAction} from './checkbox-config';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\n// Increasing integer for generating unique ids for checkbox components.\nlet nextUniqueId = 0;\n\n/**\n * Provider Expression that allows mat-checkbox to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatCheckbox),\n multi: true\n};\n\n/**\n * Represents the different states that require custom transitions between them.\n * @docs-private\n */\nexport enum TransitionCheckState {\n /** The initial state of the component before any user interaction. */\n Init,\n /** The state representing the component when it's becoming checked. */\n Checked,\n /** The state representing the component when it's becoming unchecked. */\n Unchecked,\n /** The state representing the component when it's becoming indeterminate. */\n Indeterminate\n}\n\n/** Change event object emitted by MatCheckbox. */\nexport class MatCheckboxChange {\n /** The source MatCheckbox of the event. */\n source: MatCheckbox;\n /** The new `checked` value of the checkbox. */\n checked: boolean;\n}\n\n// Boilerplate for applying mixins to MatCheckbox.\n/** @docs-private */\nexport class MatCheckboxBase {\n constructor(public _elementRef: ElementRef) {}\n}\nexport const _MatCheckboxMixinBase =\n mixinTabIndex(mixinColor(mixinDisableRipple(mixinDisabled(MatCheckboxBase)), 'accent'));\n\n\n/**\n * A material design checkbox component. Supports all of the functionality of an HTML5 checkbox,\n * and exposes a similar API. A MatCheckbox can be either checked, unchecked, indeterminate, or\n * disabled. Note that all additional accessibility attributes are taken care of by the component,\n * so there is no need to provide them yourself. However, if you want to omit a label and still\n * have the checkbox be accessible, you may supply an [aria-label] input.\n * See: https://material.io/design/components/selection-controls.html\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-checkbox',\n templateUrl: 'checkbox.html',\n styleUrls: ['checkbox.css'],\n exportAs: 'matCheckbox',\n host: {\n 'class': 'mat-checkbox',\n '[id]': 'id',\n '[class.mat-checkbox-indeterminate]': 'indeterminate',\n '[class.mat-checkbox-checked]': 'checked',\n '[class.mat-checkbox-disabled]': 'disabled',\n '[class.mat-checkbox-label-before]': 'labelPosition == \"before\"',\n '[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`,\n },\n providers: [MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR],\n inputs: ['disableRipple', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MatCheckbox extends _MatCheckboxMixinBase implements ControlValueAccessor,\n AfterViewInit, OnDestroy, CanColor, CanDisable, HasTabIndex, CanDisableRipple {\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, arial-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string = '';\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n private _uniqueId: string = `mat-checkbox-${++nextUniqueId}`;\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id: string = this._uniqueId;\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string { return `${this.id || this._uniqueId}-input`; }\n\n /** Whether the checkbox is required. */\n @Input()\n get required(): boolean { return this._required; }\n set required(value: boolean) { this._required = coerceBooleanProperty(value); }\n private _required: boolean;\n\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | null = null;\n\n /** Event emitted when the checkbox's `checked` value changes. */\n @Output() readonly change: EventEmitter<MatCheckboxChange> =\n new EventEmitter<MatCheckboxChange>();\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The value attribute of the native input element */\n @Input() value: string;\n\n /** The native `<input type=\"checkbox\">` element */\n @ViewChild('input') _inputElement: ElementRef<HTMLInputElement>;\n\n /** Reference to the ripple instance of the checkbox. */\n @ViewChild(MatRipple) ripple: MatRipple;\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n _onTouched: () => any = () => {};\n\n private _currentAnimationClass: string = '';\n\n private _currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n\n private _controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** Reference to the focused state ripple. */\n private _focusRipple: RippleRef | null;\n\n constructor(elementRef: ElementRef<HTMLElement>,\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n private _ngZone: NgZone,\n @Attribute('tabindex') tabIndex: string,\n @Optional() @Inject(MAT_CHECKBOX_CLICK_ACTION)\n private _clickAction: MatCheckboxClickAction,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string) {\n super(elementRef);\n\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n\n ngAfterViewInit() {\n this._focusMonitor\n .monitor(this._inputElement.nativeElement)\n .subscribe(focusOrigin => this._onInputFocusChange(focusOrigin));\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._inputElement.nativeElement);\n }\n\n /**\n * Whether the checkbox is checked.\n */\n @Input()\n get checked(): boolean { return this._checked; }\n set checked(value: boolean) {\n if (value != this.checked) {\n this._checked = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _checked: boolean = false;\n\n /**\n * Whether the checkbox is disabled. This fully overrides the implementation provided by\n * mixinDisabled, but the mixin is still required because mixinTabIndex requires it.\n */\n @Input()\n get disabled() { return this._disabled; }\n set disabled(value: any) {\n if (value != this.disabled) {\n this._disabled = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n private _disabled: boolean = false;\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input()\n get indeterminate(): boolean { return this._indeterminate; }\n set indeterminate(value: boolean) {\n const changed = value != this._indeterminate;\n this._indeterminate = value;\n\n if (changed) {\n if (this._indeterminate) {\n this._transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this._transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n }\n this.indeterminateChange.emit(this._indeterminate);\n }\n }\n private _indeterminate: boolean = false;\n\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // This method is getting called whenever the label of the checkbox changes.\n // Since the checkbox uses the OnPush strategy we need to notify it about the change\n // that has been recognized by the cdkObserveContent directive.\n this._changeDetectorRef.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n _getAriaChecked(): 'true' | 'false' | 'mixed' {\n return this.checked ? 'true' : (this.indeterminate ? 'mixed' : 'false');\n }\n\n private _transitionCheckState(newState: TransitionCheckState) {\n let oldState = this._currentCheckState;\n let element: HTMLElement = this._elementRef.nativeElement;\n\n if (oldState === newState) {\n return;\n }\n if (this._currentAnimationClass.length > 0) {\n element.classList.remove(this._currentAnimationClass);\n }\n\n this._currentAnimationClass = this._getAnimationClassForCheckStateTransition(\n oldState, newState);\n this._currentCheckState = newState;\n\n if (this._currentAnimationClass.length > 0) {\n element.classList.add(this._currentAnimationClass);\n\n // Remove the animation class to avoid animation when the checkbox is moved between containers\n const animationClass = this._currentAnimationClass;\n\n this._ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n element.classList.remove(animationClass);\n }, 1000);\n });\n }\n }\n\n private _emitChangeEvent() {\n let event = new MatCheckboxChange();\n event.source = this;\n event.checked = this.checked;\n\n this._controlValueAccessorChangeFn(this.checked);\n this.change.emit(event);\n }\n\n /** Function is called whenever the focus changes for the input element. */\n private _onInputFocusChange(focusOrigin: FocusOrigin) {\n // TODO(paul): support `program`. See https://github.com/angular/material2/issues/9889\n if (!this._focusRipple && focusOrigin === 'keyboard') {\n this._focusRipple = this.ripple.launch(0, 0, {persistent: true});\n } else if (!focusOrigin) {\n if (this._focusRipple) {\n this._focusRipple.fadeOut();\n this._focusRipple = null;\n }\n\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer telling\n // the form control it has been touched until the next tick.\n Promise.resolve().then(() => this._onTouched());\n }\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked;\n }\n\n /**\n * Event handler for checkbox input element.\n * Toggles checked state if element is not disabled.\n * Do not toggle on (change) event since IE doesn't fire change event when\n * indeterminate checkbox is clicked.\n * @param event\n */\n _onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `checkbox` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled && this._clickAction !== 'noop') {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate && this._clickAction !== 'check') {\n\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n\n this.toggle();\n this._transitionCheckState(\n this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this._emitChangeEvent();\n } else if (!this.disabled && this._clickAction === 'noop') {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `mat-checkbox`.\n this._inputElement.nativeElement.checked = this.checked;\n this._inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n /** Focuses the checkbox. */\n focus(): void {\n this._focusMonitor.focusVia(this._inputElement.nativeElement, 'keyboard');\n }\n\n _onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n\n private _getAnimationClassForCheckStateTransition(\n oldState: TransitionCheckState, newState: TransitionCheckState): string {\n // Don't transition if animations are disabled.\n if (this._animationMode === 'NoopAnimations') {\n return '';\n }\n\n let animSuffix: string = '';\n\n switch (oldState) {\n case TransitionCheckState.Init:\n // Handle edge case where user interacts with checkbox that does not have [(ngModel)] or\n // [checked] bound to it.\n if (newState === TransitionCheckState.Checked) {\n animSuffix = 'unchecked-checked';\n } else if (newState == TransitionCheckState.Indeterminate) {\n animSuffix = 'unchecked-indeterminate';\n } else {\n return '';\n }\n break;\n case TransitionCheckState.Unchecked:\n animSuffix = newState === TransitionCheckState.Checked ?\n 'unchecked-checked' : 'unchecked-indeterminate';\n break;\n case TransitionCheckState.Checked:\n animSuffix = newState === TransitionCheckState.Unchecked ?\n 'checked-unchecked' : 'checked-indeterminate';\n break;\n case TransitionCheckState.Indeterminate:\n animSuffix = newState === TransitionCheckState.Checked ?\n 'indeterminate-checked' : 'indeterminate-unchecked';\n break;\n }\n\n return `mat-checkbox-anim-${animSuffix}`;\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 {InjectionToken} from '@angular/core';\n\n\n/**\n * Checkbox click action when user click on input element.\n * noop: Do not toggle checked or indeterminate.\n * check: Only toggle checked status, ignore indeterminate.\n * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.\n * undefined: Same as `check-indeterminate`.\n */\nexport type MatCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;\n\n/**\n * Injection token that can be used to specify the checkbox click behavior.\n */\nexport const MAT_CHECKBOX_CLICK_ACTION =\n new InjectionToken<MatCheckboxClickAction>('mat-checkbox-click-action');\n"],"names":[],"mappings":"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"}