@angular/material 7.0.4 → 7.2.1

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 (488) hide show
  1. package/LICENSE +1 -1
  2. package/_theming.scss +61 -44
  3. package/autocomplete/typings/index.d.ts +1 -1
  4. package/autocomplete/typings/index.metadata.json +1 -1
  5. package/badge/typings/index.metadata.json +1 -1
  6. package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
  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 +126 -32
  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 +38 -5
  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 +68 -21
  18. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  20. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  21. package/bundles/material-button-toggle.umd.js +36 -13
  22. package/bundles/material-button-toggle.umd.js.map +1 -1
  23. package/bundles/material-button-toggle.umd.min.js +1 -1
  24. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  25. package/bundles/material-button.umd.js +21 -14
  26. package/bundles/material-button.umd.js.map +1 -1
  27. package/bundles/material-button.umd.min.js +1 -1
  28. package/bundles/material-button.umd.min.js.map +1 -1
  29. package/bundles/material-card.umd.js +3 -3
  30. package/bundles/material-card.umd.js.map +1 -1
  31. package/bundles/material-card.umd.min.js +1 -1
  32. package/bundles/material-card.umd.min.js.map +1 -1
  33. package/bundles/material-checkbox.umd.js +56 -15
  34. package/bundles/material-checkbox.umd.js.map +1 -1
  35. package/bundles/material-checkbox.umd.min.js +1 -1
  36. package/bundles/material-checkbox.umd.min.js.map +1 -1
  37. package/bundles/material-chips.umd.js +124 -34
  38. package/bundles/material-chips.umd.js.map +1 -1
  39. package/bundles/material-chips.umd.min.js +1 -1
  40. package/bundles/material-chips.umd.min.js.map +1 -1
  41. package/bundles/material-core.umd.js +189 -126
  42. package/bundles/material-core.umd.js.map +1 -1
  43. package/bundles/material-core.umd.min.js +1 -1
  44. package/bundles/material-core.umd.min.js.map +1 -1
  45. package/bundles/material-datepicker.umd.js +231 -53
  46. package/bundles/material-datepicker.umd.js.map +1 -1
  47. package/bundles/material-datepicker.umd.min.js +2 -2
  48. package/bundles/material-datepicker.umd.min.js.map +1 -1
  49. package/bundles/material-dialog.umd.js +138 -40
  50. package/bundles/material-dialog.umd.js.map +1 -1
  51. package/bundles/material-dialog.umd.min.js +1 -1
  52. package/bundles/material-dialog.umd.min.js.map +1 -1
  53. package/bundles/material-divider.umd.js +2 -2
  54. package/bundles/material-divider.umd.js.map +1 -1
  55. package/bundles/material-divider.umd.min.js.map +1 -1
  56. package/bundles/material-expansion.umd.js +53 -27
  57. package/bundles/material-expansion.umd.js.map +1 -1
  58. package/bundles/material-expansion.umd.min.js +1 -1
  59. package/bundles/material-expansion.umd.min.js.map +1 -1
  60. package/bundles/material-form-field.umd.js +121 -32
  61. package/bundles/material-form-field.umd.js.map +1 -1
  62. package/bundles/material-form-field.umd.min.js +1 -1
  63. package/bundles/material-form-field.umd.min.js.map +1 -1
  64. package/bundles/material-grid-list.umd.js +66 -15
  65. package/bundles/material-grid-list.umd.js.map +1 -1
  66. package/bundles/material-grid-list.umd.min.js +1 -1
  67. package/bundles/material-grid-list.umd.min.js.map +1 -1
  68. package/bundles/material-icon.umd.js +277 -78
  69. package/bundles/material-icon.umd.js.map +1 -1
  70. package/bundles/material-icon.umd.min.js +1 -1
  71. package/bundles/material-icon.umd.min.js.map +1 -1
  72. package/bundles/material-input.umd.js +50 -22
  73. package/bundles/material-input.umd.js.map +1 -1
  74. package/bundles/material-input.umd.min.js +1 -1
  75. package/bundles/material-input.umd.min.js.map +1 -1
  76. package/bundles/material-list.umd.js +69 -21
  77. package/bundles/material-list.umd.js.map +1 -1
  78. package/bundles/material-list.umd.min.js +2 -6
  79. package/bundles/material-list.umd.min.js.map +1 -1
  80. package/bundles/material-menu.umd.js +171 -66
  81. package/bundles/material-menu.umd.js.map +1 -1
  82. package/bundles/material-menu.umd.min.js +1 -1
  83. package/bundles/material-menu.umd.min.js.map +1 -1
  84. package/bundles/material-paginator.umd.js +52 -10
  85. package/bundles/material-paginator.umd.js.map +1 -1
  86. package/bundles/material-paginator.umd.min.js +1 -1
  87. package/bundles/material-paginator.umd.min.js.map +1 -1
  88. package/bundles/material-progress-bar.umd.js +31 -12
  89. package/bundles/material-progress-bar.umd.js.map +1 -1
  90. package/bundles/material-progress-bar.umd.min.js +1 -1
  91. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.js +29 -13
  93. package/bundles/material-progress-spinner.umd.js.map +1 -1
  94. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  95. package/bundles/material-radio.umd.js +38 -40
  96. package/bundles/material-radio.umd.js.map +1 -1
  97. package/bundles/material-radio.umd.min.js +1 -1
  98. package/bundles/material-radio.umd.min.js.map +1 -1
  99. package/bundles/material-select.umd.js +189 -51
  100. package/bundles/material-select.umd.js.map +1 -1
  101. package/bundles/material-select.umd.min.js +1 -1
  102. package/bundles/material-select.umd.min.js.map +1 -1
  103. package/bundles/material-sidenav.umd.js +104 -25
  104. package/bundles/material-sidenav.umd.js.map +1 -1
  105. package/bundles/material-sidenav.umd.min.js +1 -1
  106. package/bundles/material-sidenav.umd.min.js.map +1 -1
  107. package/bundles/material-slide-toggle.umd.js +30 -14
  108. package/bundles/material-slide-toggle.umd.js.map +1 -1
  109. package/bundles/material-slide-toggle.umd.min.js +1 -1
  110. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  111. package/bundles/material-slider.umd.js +91 -21
  112. package/bundles/material-slider.umd.js.map +1 -1
  113. package/bundles/material-slider.umd.min.js +1 -1
  114. package/bundles/material-slider.umd.min.js.map +1 -1
  115. package/bundles/material-snack-bar.umd.js +71 -19
  116. package/bundles/material-snack-bar.umd.js.map +1 -1
  117. package/bundles/material-snack-bar.umd.min.js +1 -1
  118. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  119. package/bundles/material-sort.umd.js +46 -24
  120. package/bundles/material-sort.umd.js.map +1 -1
  121. package/bundles/material-sort.umd.min.js +1 -1
  122. package/bundles/material-sort.umd.min.js.map +1 -1
  123. package/bundles/material-stepper.umd.js +37 -35
  124. package/bundles/material-stepper.umd.js.map +1 -1
  125. package/bundles/material-stepper.umd.min.js +1 -1
  126. package/bundles/material-stepper.umd.min.js.map +1 -1
  127. package/bundles/material-table.umd.js +29 -9
  128. package/bundles/material-table.umd.js.map +1 -1
  129. package/bundles/material-table.umd.min.js.map +1 -1
  130. package/bundles/material-tabs.umd.js +170 -68
  131. package/bundles/material-tabs.umd.js.map +1 -1
  132. package/bundles/material-tabs.umd.min.js +2 -2
  133. package/bundles/material-tabs.umd.min.js.map +1 -1
  134. package/bundles/material-toolbar.umd.js +14 -4
  135. package/bundles/material-toolbar.umd.js.map +1 -1
  136. package/bundles/material-toolbar.umd.min.js +1 -1
  137. package/bundles/material-toolbar.umd.min.js.map +1 -1
  138. package/bundles/material-tooltip.umd.js +53 -26
  139. package/bundles/material-tooltip.umd.js.map +1 -1
  140. package/bundles/material-tooltip.umd.min.js +1 -1
  141. package/bundles/material-tooltip.umd.min.js.map +1 -1
  142. package/bundles/material-tree.umd.js +25 -16
  143. package/bundles/material-tree.umd.js.map +1 -1
  144. package/bundles/material-tree.umd.min.js +1 -1
  145. package/bundles/material-tree.umd.min.js.map +1 -1
  146. package/bundles/material.umd.js +2853 -1010
  147. package/bundles/material.umd.js.map +1 -1
  148. package/bundles/material.umd.min.js +19 -21
  149. package/bundles/material.umd.min.js.map +1 -1
  150. package/button/typings/button.d.ts +0 -5
  151. package/button/typings/index.metadata.json +1 -1
  152. package/button-toggle/typings/index.metadata.json +1 -1
  153. package/card/typings/index.metadata.json +1 -1
  154. package/checkbox/typings/index.metadata.json +1 -1
  155. package/chips/typings/chip-list.d.ts +1 -1
  156. package/chips/typings/chip.d.ts +2 -2
  157. package/chips/typings/index.metadata.json +1 -1
  158. package/core/typings/index.metadata.json +1 -1
  159. package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  160. package/core/typings/public-api.d.ts +1 -1
  161. package/datepicker/typings/calendar-body.d.ts +21 -5
  162. package/datepicker/typings/calendar.d.ts +4 -1
  163. package/datepicker/typings/datepicker.d.ts +3 -0
  164. package/datepicker/typings/index.metadata.json +1 -1
  165. package/datepicker/typings/month-view.d.ts +4 -2
  166. package/dialog/typings/index.metadata.json +1 -1
  167. package/esm2015/autocomplete.js +60 -29
  168. package/esm2015/autocomplete.js.map +1 -1
  169. package/esm2015/badge.js +29 -6
  170. package/esm2015/badge.js.map +1 -1
  171. package/esm2015/bottom-sheet.js +45 -22
  172. package/esm2015/bottom-sheet.js.map +1 -1
  173. package/esm2015/button-toggle.js +20 -11
  174. package/esm2015/button-toggle.js.map +1 -1
  175. package/esm2015/button.js +20 -15
  176. package/esm2015/button.js.map +1 -1
  177. package/esm2015/card.js +5 -5
  178. package/esm2015/card.js.map +1 -1
  179. package/esm2015/checkbox.js +30 -12
  180. package/esm2015/checkbox.js.map +1 -1
  181. package/esm2015/chips.js +64 -28
  182. package/esm2015/chips.js.map +1 -1
  183. package/esm2015/core.js +148 -129
  184. package/esm2015/core.js.map +1 -1
  185. package/esm2015/datepicker.js +124 -41
  186. package/esm2015/datepicker.js.map +1 -1
  187. package/esm2015/dialog.js +77 -40
  188. package/esm2015/dialog.js.map +1 -1
  189. package/esm2015/divider.js +4 -4
  190. package/esm2015/divider.js.map +1 -1
  191. package/esm2015/expansion.js +58 -31
  192. package/esm2015/expansion.js.map +1 -1
  193. package/esm2015/form-field.js +94 -34
  194. package/esm2015/form-field.js.map +1 -1
  195. package/esm2015/grid-list.js +45 -17
  196. package/esm2015/grid-list.js.map +1 -1
  197. package/esm2015/icon.js +136 -67
  198. package/esm2015/icon.js.map +1 -1
  199. package/esm2015/input.js +44 -23
  200. package/esm2015/input.js.map +1 -1
  201. package/esm2015/list.js +47 -22
  202. package/esm2015/list.js.map +1 -1
  203. package/esm2015/material.js +13 -12
  204. package/esm2015/material.js.map +1 -1
  205. package/esm2015/menu.js +109 -63
  206. package/esm2015/menu.js.map +1 -1
  207. package/esm2015/paginator.js +35 -12
  208. package/esm2015/paginator.js.map +1 -1
  209. package/esm2015/progress-bar.js +26 -13
  210. package/esm2015/progress-bar.js.map +1 -1
  211. package/esm2015/progress-spinner.js +24 -14
  212. package/esm2015/progress-spinner.js.map +1 -1
  213. package/esm2015/radio.js +22 -21
  214. package/esm2015/radio.js.map +1 -1
  215. package/esm2015/select.js +116 -53
  216. package/esm2015/select.js.map +1 -1
  217. package/esm2015/sidenav.js +75 -28
  218. package/esm2015/sidenav.js.map +1 -1
  219. package/esm2015/slide-toggle.js +23 -15
  220. package/esm2015/slide-toggle.js.map +1 -1
  221. package/esm2015/slider.js +54 -24
  222. package/esm2015/slider.js.map +1 -1
  223. package/esm2015/snack-bar.js +41 -21
  224. package/esm2015/snack-bar.js.map +1 -1
  225. package/esm2015/sort.js +47 -24
  226. package/esm2015/sort.js.map +1 -1
  227. package/esm2015/stepper.js +35 -32
  228. package/esm2015/stepper.js.map +1 -1
  229. package/esm2015/table.js +31 -11
  230. package/esm2015/table.js.map +1 -1
  231. package/esm2015/tabs.js +113 -53
  232. package/esm2015/tabs.js.map +1 -1
  233. package/esm2015/toolbar.js +9 -5
  234. package/esm2015/toolbar.js.map +1 -1
  235. package/esm2015/tooltip.js +43 -28
  236. package/esm2015/tooltip.js.map +1 -1
  237. package/esm2015/tree.js +22 -17
  238. package/esm2015/tree.js.map +1 -1
  239. package/esm5/autocomplete.es5.js +128 -34
  240. package/esm5/autocomplete.es5.js.map +1 -1
  241. package/esm5/badge.es5.js +40 -7
  242. package/esm5/badge.es5.js.map +1 -1
  243. package/esm5/bottom-sheet.es5.js +70 -23
  244. package/esm5/bottom-sheet.es5.js.map +1 -1
  245. package/esm5/button-toggle.es5.js +38 -15
  246. package/esm5/button-toggle.es5.js.map +1 -1
  247. package/esm5/button.es5.js +23 -16
  248. package/esm5/button.es5.js.map +1 -1
  249. package/esm5/card.es5.js +5 -5
  250. package/esm5/card.es5.js.map +1 -1
  251. package/esm5/checkbox.es5.js +58 -17
  252. package/esm5/checkbox.es5.js.map +1 -1
  253. package/esm5/chips.es5.js +127 -37
  254. package/esm5/chips.es5.js.map +1 -1
  255. package/esm5/core.es5.js +192 -129
  256. package/esm5/core.es5.js.map +1 -1
  257. package/esm5/datepicker.es5.js +233 -55
  258. package/esm5/datepicker.es5.js.map +1 -1
  259. package/esm5/dialog.es5.js +140 -42
  260. package/esm5/dialog.es5.js.map +1 -1
  261. package/esm5/divider.es5.js +4 -4
  262. package/esm5/divider.es5.js.map +1 -1
  263. package/esm5/expansion.es5.js +56 -31
  264. package/esm5/expansion.es5.js.map +1 -1
  265. package/esm5/form-field.es5.js +125 -36
  266. package/esm5/form-field.es5.js.map +1 -1
  267. package/esm5/grid-list.es5.js +68 -17
  268. package/esm5/grid-list.es5.js.map +1 -1
  269. package/esm5/icon.es5.js +279 -80
  270. package/esm5/icon.es5.js.map +1 -1
  271. package/esm5/input.es5.js +52 -24
  272. package/esm5/input.es5.js.map +1 -1
  273. package/esm5/list.es5.js +72 -24
  274. package/esm5/list.es5.js.map +1 -1
  275. package/esm5/material.es5.js +13 -12
  276. package/esm5/material.es5.js.map +1 -1
  277. package/esm5/menu.es5.js +170 -65
  278. package/esm5/menu.es5.js.map +1 -1
  279. package/esm5/paginator.es5.js +55 -13
  280. package/esm5/paginator.es5.js.map +1 -1
  281. package/esm5/progress-bar.es5.js +33 -14
  282. package/esm5/progress-bar.es5.js.map +1 -1
  283. package/esm5/progress-spinner.es5.js +31 -15
  284. package/esm5/progress-spinner.es5.js.map +1 -1
  285. package/esm5/radio.es5.js +42 -42
  286. package/esm5/radio.es5.js.map +1 -1
  287. package/esm5/select.es5.js +193 -55
  288. package/esm5/select.es5.js.map +1 -1
  289. package/esm5/sidenav.es5.js +107 -28
  290. package/esm5/sidenav.es5.js.map +1 -1
  291. package/esm5/slide-toggle.es5.js +32 -16
  292. package/esm5/slide-toggle.es5.js.map +1 -1
  293. package/esm5/slider.es5.js +94 -24
  294. package/esm5/slider.es5.js.map +1 -1
  295. package/esm5/snack-bar.es5.js +73 -21
  296. package/esm5/snack-bar.es5.js.map +1 -1
  297. package/esm5/sort.es5.js +53 -26
  298. package/esm5/sort.es5.js.map +1 -1
  299. package/esm5/stepper.es5.js +40 -38
  300. package/esm5/stepper.es5.js.map +1 -1
  301. package/esm5/table.es5.js +31 -11
  302. package/esm5/table.es5.js.map +1 -1
  303. package/esm5/tabs.es5.js +162 -61
  304. package/esm5/tabs.es5.js.map +1 -1
  305. package/esm5/toolbar.es5.js +16 -6
  306. package/esm5/toolbar.es5.js.map +1 -1
  307. package/esm5/tooltip.es5.js +55 -28
  308. package/esm5/tooltip.es5.js.map +1 -1
  309. package/esm5/tree.es5.js +27 -18
  310. package/esm5/tree.es5.js.map +1 -1
  311. package/expansion/typings/expansion-panel-header.d.ts +2 -2
  312. package/expansion/typings/expansion-panel.d.ts +19 -2
  313. package/expansion/typings/index.metadata.json +1 -1
  314. package/form-field/typings/form-field.d.ts +15 -4
  315. package/form-field/typings/index.metadata.json +1 -1
  316. package/grid-list/typings/index.d.ts +1 -1
  317. package/grid-list/typings/index.metadata.json +1 -1
  318. package/icon/typings/index.metadata.json +1 -1
  319. package/list/typings/index.metadata.json +1 -1
  320. package/material.d.ts +1 -1
  321. package/material.metadata.json +3 -3
  322. package/menu/typings/index.d.ts +4 -4
  323. package/menu/typings/index.metadata.json +1 -1
  324. package/menu/typings/menu-directive.d.ts +1 -0
  325. package/menu/typings/menu-item.d.ts +2 -0
  326. package/package.json +5 -5
  327. package/paginator/typings/index.metadata.json +1 -1
  328. package/paginator/typings/paginator.d.ts +7 -3
  329. package/prebuilt-themes/deeppurple-amber.css +1 -1
  330. package/prebuilt-themes/indigo-pink.css +1 -1
  331. package/prebuilt-themes/pink-bluegrey.css +1 -1
  332. package/prebuilt-themes/purple-green.css +1 -1
  333. package/progress-bar/typings/index.metadata.json +1 -1
  334. package/radio/typings/index.metadata.json +1 -1
  335. package/radio/typings/radio.d.ts +2 -6
  336. package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  337. package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
  338. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  339. package/schematics/ng-add/theming/theming.js +35 -19
  340. package/schematics/ng-add/theming/theming.js.map +1 -1
  341. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  342. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  343. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  344. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  345. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  346. package/select/typings/index.metadata.json +1 -1
  347. package/select/typings/select.d.ts +12 -2
  348. package/sidenav/typings/drawer.d.ts +9 -2
  349. package/sidenav/typings/index.metadata.json +1 -1
  350. package/slide-toggle/typings/index.metadata.json +1 -1
  351. package/slider/typings/index.metadata.json +1 -1
  352. package/snack-bar/typings/index.metadata.json +1 -1
  353. package/sort/typings/index.metadata.json +1 -1
  354. package/stepper/typings/index.metadata.json +1 -1
  355. package/stepper/typings/step-header.d.ts +3 -5
  356. package/tabs/typings/index.d.ts +5 -5
  357. package/tabs/typings/index.metadata.json +1 -1
  358. package/tabs/typings/tab-body.d.ts +2 -0
  359. package/tabs/typings/tab-group.d.ts +11 -2
  360. package/tabs/typings/tab-header.d.ts +9 -3
  361. package/toolbar/typings/index.metadata.json +1 -1
  362. package/tooltip/typings/index.metadata.json +1 -1
  363. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  364. package/tree/typings/index.metadata.json +1 -1
  365. package/typings/autocomplete/index.d.ts +1 -1
  366. package/typings/autocomplete/index.metadata.json +1 -1
  367. package/typings/badge/index.metadata.json +1 -1
  368. package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  369. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  370. package/typings/bottom-sheet/index.metadata.json +1 -1
  371. package/typings/button/button.d.ts +0 -5
  372. package/typings/button/index.metadata.json +1 -1
  373. package/typings/button-toggle/index.metadata.json +1 -1
  374. package/typings/card/index.metadata.json +1 -1
  375. package/typings/checkbox/index.metadata.json +1 -1
  376. package/typings/chips/chip-list.d.ts +1 -1
  377. package/typings/chips/chip.d.ts +2 -2
  378. package/typings/chips/index.metadata.json +1 -1
  379. package/typings/core/index.metadata.json +1 -1
  380. package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  381. package/typings/core/public-api.d.ts +1 -1
  382. package/typings/datepicker/calendar-body.d.ts +21 -5
  383. package/typings/datepicker/calendar.d.ts +4 -1
  384. package/typings/datepicker/datepicker.d.ts +3 -0
  385. package/typings/datepicker/index.metadata.json +1 -1
  386. package/typings/datepicker/month-view.d.ts +4 -2
  387. package/typings/dialog/index.metadata.json +1 -1
  388. package/typings/esm5/autocomplete/index.d.ts +1 -1
  389. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  390. package/typings/esm5/badge/index.metadata.json +1 -1
  391. package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  392. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  393. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  394. package/typings/esm5/button/button.d.ts +0 -5
  395. package/typings/esm5/button/index.metadata.json +1 -1
  396. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  397. package/typings/esm5/card/index.metadata.json +1 -1
  398. package/typings/esm5/checkbox/index.metadata.json +1 -1
  399. package/typings/esm5/chips/chip-list.d.ts +1 -1
  400. package/typings/esm5/chips/chip.d.ts +2 -2
  401. package/typings/esm5/chips/index.metadata.json +1 -1
  402. package/typings/esm5/core/index.metadata.json +1 -1
  403. package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  404. package/typings/esm5/core/public-api.d.ts +1 -1
  405. package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
  406. package/typings/esm5/datepicker/calendar.d.ts +4 -1
  407. package/typings/esm5/datepicker/datepicker.d.ts +3 -0
  408. package/typings/esm5/datepicker/index.metadata.json +1 -1
  409. package/typings/esm5/datepicker/month-view.d.ts +4 -2
  410. package/typings/esm5/dialog/index.metadata.json +1 -1
  411. package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
  412. package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
  413. package/typings/esm5/expansion/index.metadata.json +1 -1
  414. package/typings/esm5/form-field/form-field.d.ts +15 -4
  415. package/typings/esm5/form-field/index.metadata.json +1 -1
  416. package/typings/esm5/grid-list/index.d.ts +1 -1
  417. package/typings/esm5/grid-list/index.metadata.json +1 -1
  418. package/typings/esm5/icon/index.metadata.json +1 -1
  419. package/typings/esm5/index.metadata.json +1 -1
  420. package/typings/esm5/list/index.metadata.json +1 -1
  421. package/typings/esm5/menu/index.d.ts +4 -4
  422. package/typings/esm5/menu/index.metadata.json +1 -1
  423. package/typings/esm5/menu/menu-directive.d.ts +1 -0
  424. package/typings/esm5/menu/menu-item.d.ts +2 -0
  425. package/typings/esm5/paginator/index.metadata.json +1 -1
  426. package/typings/esm5/paginator/paginator.d.ts +7 -3
  427. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  428. package/typings/esm5/radio/index.metadata.json +1 -1
  429. package/typings/esm5/radio/radio.d.ts +2 -6
  430. package/typings/esm5/select/index.metadata.json +1 -1
  431. package/typings/esm5/select/select.d.ts +12 -2
  432. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  433. package/typings/esm5/sidenav/index.metadata.json +1 -1
  434. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  435. package/typings/esm5/slider/index.metadata.json +1 -1
  436. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  437. package/typings/esm5/sort/index.metadata.json +1 -1
  438. package/typings/esm5/stepper/index.metadata.json +1 -1
  439. package/typings/esm5/stepper/step-header.d.ts +3 -5
  440. package/typings/esm5/tabs/index.d.ts +5 -5
  441. package/typings/esm5/tabs/index.metadata.json +1 -1
  442. package/typings/esm5/tabs/tab-body.d.ts +2 -0
  443. package/typings/esm5/tabs/tab-group.d.ts +11 -2
  444. package/typings/esm5/tabs/tab-header.d.ts +9 -3
  445. package/typings/esm5/toolbar/index.metadata.json +1 -1
  446. package/typings/esm5/tooltip/index.metadata.json +1 -1
  447. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  448. package/typings/esm5/tree/index.metadata.json +1 -1
  449. package/typings/expansion/expansion-panel-header.d.ts +2 -2
  450. package/typings/expansion/expansion-panel.d.ts +19 -2
  451. package/typings/expansion/index.metadata.json +1 -1
  452. package/typings/form-field/form-field.d.ts +15 -4
  453. package/typings/form-field/index.metadata.json +1 -1
  454. package/typings/grid-list/index.d.ts +1 -1
  455. package/typings/grid-list/index.metadata.json +1 -1
  456. package/typings/icon/index.metadata.json +1 -1
  457. package/typings/index.metadata.json +1 -1
  458. package/typings/list/index.metadata.json +1 -1
  459. package/typings/menu/index.d.ts +4 -4
  460. package/typings/menu/index.metadata.json +1 -1
  461. package/typings/menu/menu-directive.d.ts +1 -0
  462. package/typings/menu/menu-item.d.ts +2 -0
  463. package/typings/paginator/index.metadata.json +1 -1
  464. package/typings/paginator/paginator.d.ts +7 -3
  465. package/typings/progress-bar/index.metadata.json +1 -1
  466. package/typings/radio/index.metadata.json +1 -1
  467. package/typings/radio/radio.d.ts +2 -6
  468. package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  469. package/typings/select/index.metadata.json +1 -1
  470. package/typings/select/select.d.ts +12 -2
  471. package/typings/sidenav/drawer.d.ts +9 -2
  472. package/typings/sidenav/index.metadata.json +1 -1
  473. package/typings/slide-toggle/index.metadata.json +1 -1
  474. package/typings/slider/index.metadata.json +1 -1
  475. package/typings/snack-bar/index.metadata.json +1 -1
  476. package/typings/sort/index.metadata.json +1 -1
  477. package/typings/stepper/index.metadata.json +1 -1
  478. package/typings/stepper/step-header.d.ts +3 -5
  479. package/typings/tabs/index.d.ts +5 -5
  480. package/typings/tabs/index.metadata.json +1 -1
  481. package/typings/tabs/tab-body.d.ts +2 -0
  482. package/typings/tabs/tab-group.d.ts +11 -2
  483. package/typings/tabs/tab-header.d.ts +9 -3
  484. package/typings/toolbar/index.metadata.json +1 -1
  485. package/typings/tooltip/index.metadata.json +1 -1
  486. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  487. package/typings/tree/index.metadata.json +1 -1
  488. package/schematics/ng-add/theming/custom-theme.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"material-slider.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/slider/slider.ts","../../src/lib/slider/slider-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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 {Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\nimport {\n DOWN_ARROW,\n END,\n HOME,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n UP_ARROW,\n} from '@angular/cdk/keycodes';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n CanColor,\n CanColorCtor,\n CanDisable,\n CanDisableCtor,\n HammerInput,\n HasTabIndex,\n HasTabIndexCtor,\n mixinColor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {Subscription} from 'rxjs';\n\n/**\n * Visually, a 30px separation between tick marks looks best. This is very subjective but it is\n * the default separation we chose.\n */\nconst MIN_AUTO_TICK_SEPARATION = 30;\n\n/** The thumb gap size for a disabled slider. */\nconst DISABLED_THUMB_GAP = 7;\n\n/** The thumb gap size for a non-active slider at its minimum value. */\nconst MIN_VALUE_NONACTIVE_THUMB_GAP = 7;\n\n/** The thumb gap size for an active slider at its minimum value. */\nconst MIN_VALUE_ACTIVE_THUMB_GAP = 10;\n\n/**\n * Provider Expression that allows mat-slider to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)] and [formControl].\n * @docs-private\n */\nexport const MAT_SLIDER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlider),\n multi: true\n};\n\n/** A simple change event emitted by the MatSlider component. */\nexport class MatSliderChange {\n /** The MatSlider that changed. */\n source: MatSlider;\n\n /** The new value of the source slider. */\n value: number | null;\n}\n\n\n// Boilerplate for applying mixins to MatSlider.\n/** @docs-private */\nexport class MatSliderBase {\n constructor(public _elementRef: ElementRef) {}\n}\nexport const _MatSliderMixinBase:\n HasTabIndexCtor &\n CanColorCtor &\n CanDisableCtor &\n typeof MatSliderBase =\n mixinTabIndex(mixinColor(mixinDisabled(MatSliderBase), 'accent'));\n\n/**\n * Allows users to select from a range of values by moving the slider thumb. It is similar in\n * behavior to the native `<input type=\"range\">` element.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-slider',\n exportAs: 'matSlider',\n providers: [MAT_SLIDER_VALUE_ACCESSOR],\n host: {\n '(focus)': '_onFocus()',\n '(blur)': '_onBlur()',\n '(mousedown)': '_onMousedown($event)',\n '(keydown)': '_onKeydown($event)',\n '(keyup)': '_onKeyup()',\n '(mouseenter)': '_onMouseenter()',\n '(slide)': '_onSlide($event)',\n '(slideend)': '_onSlideEnd()',\n '(slidestart)': '_onSlideStart($event)',\n 'class': 'mat-slider',\n 'role': 'slider',\n '[tabIndex]': 'tabIndex',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuenow]': 'value',\n '[attr.aria-orientation]': 'vertical ? \"vertical\" : \"horizontal\"',\n '[class.mat-slider-disabled]': 'disabled',\n '[class.mat-slider-has-ticks]': 'tickInterval',\n '[class.mat-slider-horizontal]': '!vertical',\n '[class.mat-slider-axis-inverted]': '_invertAxis',\n '[class.mat-slider-sliding]': '_isSliding',\n '[class.mat-slider-thumb-label-showing]': 'thumbLabel',\n '[class.mat-slider-vertical]': 'vertical',\n '[class.mat-slider-min-value]': '_isMinValue',\n '[class.mat-slider-hide-last-tick]': 'disabled || _isMinValue && _thumbGap && _invertAxis',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n },\n templateUrl: 'slider.html',\n styleUrls: ['slider.css'],\n inputs: ['disabled', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSlider extends _MatSliderMixinBase\n implements ControlValueAccessor, OnDestroy, CanDisable, CanColor, OnInit, HasTabIndex {\n /** Whether the slider is inverted. */\n @Input()\n get invert(): boolean { return this._invert; }\n set invert(value: boolean) {\n this._invert = coerceBooleanProperty(value);\n }\n private _invert = false;\n\n /** The maximum value that the slider can have. */\n @Input()\n get max(): number { return this._max; }\n set max(v: number) {\n this._max = coerceNumberProperty(v, this._max);\n this._percent = this._calculatePercentage(this._value);\n\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n private _max: number = 100;\n\n /** The minimum value that the slider can have. */\n @Input()\n get min(): number { return this._min; }\n set min(v: number) {\n this._min = coerceNumberProperty(v, this._min);\n\n // If the value wasn't explicitly set by the user, set it to the min.\n if (this._value === null) {\n this.value = this._min;\n }\n this._percent = this._calculatePercentage(this._value);\n\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n private _min: number = 0;\n\n /** The values at which the thumb will snap. */\n @Input()\n get step(): number { return this._step; }\n set step(v: number) {\n this._step = coerceNumberProperty(v, this._step);\n\n if (this._step % 1 !== 0) {\n this._roundToDecimal = this._step.toString().split('.').pop()!.length;\n }\n\n // Since this could modify the label, we need to notify the change detection.\n this._changeDetectorRef.markForCheck();\n }\n private _step: number = 1;\n\n /** Whether or not to show the thumb label. */\n @Input()\n get thumbLabel(): boolean { return this._thumbLabel; }\n set thumbLabel(value: boolean) { this._thumbLabel = coerceBooleanProperty(value); }\n private _thumbLabel: boolean = false;\n\n /**\n * How often to show ticks. Relative to the step so that a tick always appears on a step.\n * Ex: Tick interval of 4 with a step of 3 will draw a tick every 4 steps (every 12 values).\n */\n @Input()\n get tickInterval() { return this._tickInterval; }\n set tickInterval(value: 'auto' | number) {\n if (value === 'auto') {\n this._tickInterval = 'auto';\n } else if (typeof value === 'number' || typeof value === 'string') {\n this._tickInterval = coerceNumberProperty(value, this._tickInterval as number);\n } else {\n this._tickInterval = 0;\n }\n }\n private _tickInterval: 'auto' | number = 0;\n\n /** Value of the slider. */\n @Input()\n get value(): number | null {\n // If the value needs to be read and it is still uninitialized, initialize it to the min.\n if (this._value === null) {\n this.value = this._min;\n }\n return this._value;\n }\n set value(v: number | null) {\n if (v !== this._value) {\n let value = coerceNumberProperty(v);\n\n // While incrementing by a decimal we can end up with values like 33.300000000000004.\n // Truncate it to ensure that it matches the label and to make it easier to work with.\n if (this._roundToDecimal) {\n value = parseFloat(value.toFixed(this._roundToDecimal));\n }\n\n this._value = value;\n this._percent = this._calculatePercentage(this._value);\n\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n }\n private _value: number | null = null;\n\n /**\n * Function that will be used to format the value before it is displayed\n * in the thumb label. Can be used to format very large number in order\n * for them to fit into the slider thumb.\n */\n @Input() displayWith: (value: number | null) => string | number;\n\n /** Whether the slider is vertical. */\n @Input()\n get vertical(): boolean { return this._vertical; }\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n private _vertical = false;\n\n /** Event emitted when the slider value has changed. */\n @Output() readonly change: EventEmitter<MatSliderChange> = new EventEmitter<MatSliderChange>();\n\n /** Event emitted when the slider thumb moves. */\n @Output() readonly input: EventEmitter<MatSliderChange> = new EventEmitter<MatSliderChange>();\n\n /**\n * Emits when the raw value of the slider changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n * @docs-private\n */\n @Output() readonly valueChange: EventEmitter<number | null> = new EventEmitter<number | null>();\n\n /** The value to be used for display purposes. */\n get displayValue(): string | number {\n if (this.displayWith) {\n return this.displayWith(this.value);\n }\n\n // Note that this could be improved further by rounding something like 0.999 to 1 or\n // 0.899 to 0.9, however it is very performance sensitive, because it gets called on\n // every change detection cycle.\n if (this._roundToDecimal && this.value && this.value % 1 !== 0) {\n return this.value.toFixed(this._roundToDecimal);\n }\n\n return this.value || 0;\n }\n\n /** set focus to the host element */\n focus() {\n this._focusHostElement();\n }\n\n /** blur the host element */\n blur() {\n this._blurHostElement();\n }\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n onTouched: () => any = () => {};\n\n /** The percentage of the slider that coincides with the value. */\n get percent(): number { return this._clamp(this._percent); }\n private _percent: number = 0;\n\n /**\n * Whether or not the thumb is sliding.\n * Used to determine if there should be a transition for the thumb and fill track.\n */\n _isSliding: boolean = false;\n\n /**\n * Whether or not the slider is active (clicked or sliding).\n * Used to shrink and grow the thumb as according to the Material Design spec.\n */\n _isActive: boolean = false;\n\n /**\n * Whether the axis of the slider is inverted.\n * (i.e. whether moving the thumb in the positive x or y direction decreases the slider's value).\n */\n get _invertAxis() {\n // Standard non-inverted mode for a vertical slider should be dragging the thumb from bottom to\n // top. However from a y-axis standpoint this is inverted.\n return this.vertical ? !this.invert : this.invert;\n }\n\n\n /** Whether the slider is at its minimum value. */\n get _isMinValue() {\n return this.percent === 0;\n }\n\n /**\n * The amount of space to leave between the slider thumb and the track fill & track background\n * elements.\n */\n get _thumbGap() {\n if (this.disabled) {\n return DISABLED_THUMB_GAP;\n }\n if (this._isMinValue && !this.thumbLabel) {\n return this._isActive ? MIN_VALUE_ACTIVE_THUMB_GAP : MIN_VALUE_NONACTIVE_THUMB_GAP;\n }\n return 0;\n }\n\n /** CSS styles for the track background element. */\n get _trackBackgroundStyles(): { [key: string]: string } {\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${1 - this.percent}, 1` : `${1 - this.percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '-' : '';\n\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._thumbGap}px) scale3d(${scale})`\n };\n }\n\n /** CSS styles for the track fill element. */\n get _trackFillStyles(): { [key: string]: string } {\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${this.percent}, 1` : `${this.percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '' : '-';\n\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._thumbGap}px) scale3d(${scale})`\n };\n }\n\n /** CSS styles for the ticks container element. */\n get _ticksContainerStyles(): { [key: string]: string } {\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the ticks container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '' : '-';\n let offset = this._tickIntervalPercent / 2 * 100;\n return {\n 'transform': `translate${axis}(${sign}${offset}%)`\n };\n }\n\n /** CSS styles for the ticks element. */\n get _ticksStyles(): { [key: string]: string } {\n let tickSize = this._tickIntervalPercent * 100;\n let backgroundSize = this.vertical ? `2px ${tickSize}%` : `${tickSize}% 2px`;\n let axis = this.vertical ? 'Y' : 'X';\n // Depending on the direction we pushed the ticks container, push the ticks the opposite\n // direction to re-center them but clip off the end edge. In RTL languages we need to flip the\n // ticks 180 degrees so we're really cutting off the end edge abd not the start.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '-' : '';\n let rotate = !this.vertical && this._getDirection() == 'rtl' ? ' rotate(180deg)' : '';\n let styles: { [key: string]: string } = {\n 'backgroundSize': backgroundSize,\n // Without translateZ ticks sometimes jitter as the slider moves on Chrome & Firefox.\n 'transform': `translateZ(0) translate${axis}(${sign}${tickSize / 2}%)${rotate}`\n };\n\n if (this._isMinValue && this._thumbGap) {\n let side = this.vertical ?\n (this._invertAxis ? 'Bottom' : 'Top') :\n (this._invertAxis ? 'Right' : 'Left');\n styles[`padding${side}`] = `${this._thumbGap}px`;\n }\n\n return styles;\n }\n\n get _thumbContainerStyles(): { [key: string]: string } {\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the thumb container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let invertOffset =\n (this._getDirection() == 'rtl' && !this.vertical) ? !this._invertAxis : this._invertAxis;\n let offset = (invertOffset ? this.percent : 1 - this.percent) * 100;\n return {\n 'transform': `translate${axis}(-${offset}%)`\n };\n }\n\n /** The size of a tick interval as a percentage of the size of the track. */\n private _tickIntervalPercent: number = 0;\n\n /** The dimensions of the slider. */\n private _sliderDimensions: ClientRect | null = null;\n\n private _controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** Decimal places to round to, based on the step amount. */\n private _roundToDecimal: number;\n\n /** Subscription to the Directionality change EventEmitter. */\n private _dirChangeSubscription = Subscription.EMPTY;\n\n /** The value of the slider when the slide start event fires. */\n private _valueOnSlideStart: number | null;\n\n /** Reference to the inner slider wrapper element. */\n @ViewChild('sliderWrapper') private _sliderWrapper: ElementRef;\n\n /**\n * Whether mouse events should be converted to a slider position by calculating their distance\n * from the right or bottom edge of the slider as opposed to the top or left.\n */\n private _shouldInvertMouseCoords() {\n return (this._getDirection() == 'rtl' && !this.vertical) ? !this._invertAxis : this._invertAxis;\n }\n\n /** The language direction for this slider element. */\n private _getDirection() {\n return (this._dir && this._dir.value == 'rtl') ? 'rtl' : 'ltr';\n }\n\n constructor(elementRef: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() private _dir: Directionality,\n @Attribute('tabindex') tabIndex: string,\n // @breaking-change 8.0.0 `_animationMode` parameter to be made required.\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string) {\n super(elementRef);\n\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n\n ngOnInit() {\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe((origin: FocusOrigin) => {\n this._isActive = !!origin && origin !== 'keyboard';\n this._changeDetectorRef.detectChanges();\n });\n if (this._dir) {\n this._dirChangeSubscription = this._dir.change.subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._dirChangeSubscription.unsubscribe();\n }\n\n _onMouseenter() {\n if (this.disabled) {\n return;\n }\n\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n\n _onMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n const oldValue = this.value;\n this._isSliding = false;\n this._focusHostElement();\n this._updateValueFromPosition({x: event.clientX, y: event.clientY});\n\n // Emit a change and input event if the value changed.\n if (oldValue != this.value) {\n this._emitInputEvent();\n this._emitChangeEvent();\n }\n }\n\n _onSlide(event: HammerInput) {\n if (this.disabled) {\n return;\n }\n\n // The slide start event sometimes fails to fire on iOS, so if we're not already in the sliding\n // state, call the slide start handler manually.\n if (!this._isSliding) {\n this._onSlideStart(null);\n }\n\n // Prevent the slide from selecting anything else.\n event.preventDefault();\n\n let oldValue = this.value;\n this._updateValueFromPosition({x: event.center.x, y: event.center.y});\n\n // Native range elements always emit `input` events when the value changed while sliding.\n if (oldValue != this.value) {\n this._emitInputEvent();\n }\n }\n\n _onSlideStart(event: HammerInput | null) {\n if (this.disabled || this._isSliding) {\n return;\n }\n\n // Simulate mouseenter in case this is a mobile device.\n this._onMouseenter();\n\n this._isSliding = true;\n this._focusHostElement();\n this._valueOnSlideStart = this.value;\n\n if (event) {\n this._updateValueFromPosition({x: event.center.x, y: event.center.y});\n event.preventDefault();\n }\n }\n\n _onSlideEnd() {\n this._isSliding = false;\n\n if (this._valueOnSlideStart != this.value && !this.disabled) {\n this._emitChangeEvent();\n }\n this._valueOnSlideStart = null;\n }\n\n _onFocus() {\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n\n _onBlur() {\n this.onTouched();\n }\n\n _onKeydown(event: KeyboardEvent) {\n if (this.disabled) { return; }\n\n let oldValue = this.value;\n\n switch (event.keyCode) {\n case PAGE_UP:\n this._increment(10);\n break;\n case PAGE_DOWN:\n this._increment(-10);\n break;\n case END:\n this.value = this.max;\n break;\n case HOME:\n this.value = this.min;\n break;\n case LEFT_ARROW:\n // NOTE: For a sighted user it would make more sense that when they press an arrow key on an\n // inverted slider the thumb moves in that direction. However for a blind user, nothing\n // about the slider indicates that it is inverted. They will expect left to be decrement,\n // regardless of how it appears on the screen. For speakers ofRTL languages, they probably\n // expect left to mean increment. Therefore we flip the meaning of the side arrow keys for\n // RTL. For inverted sliders we prefer a good a11y experience to having it \"look right\" for\n // sighted users, therefore we do not swap the meaning.\n this._increment(this._getDirection() == 'rtl' ? 1 : -1);\n break;\n case UP_ARROW:\n this._increment(1);\n break;\n case RIGHT_ARROW:\n // See comment on LEFT_ARROW about the conditions under which we flip the meaning.\n this._increment(this._getDirection() == 'rtl' ? -1 : 1);\n break;\n case DOWN_ARROW:\n this._increment(-1);\n break;\n default:\n // Return if the key is not one that we explicitly handle to avoid calling preventDefault on\n // it.\n return;\n }\n\n if (oldValue != this.value) {\n this._emitInputEvent();\n this._emitChangeEvent();\n }\n\n this._isSliding = true;\n event.preventDefault();\n }\n\n _onKeyup() {\n this._isSliding = false;\n }\n\n /** Increments the slider by the given number of steps (negative number decrements). */\n private _increment(numSteps: number) {\n this.value = this._clamp((this.value || 0) + this.step * numSteps, this.min, this.max);\n }\n\n /** Calculate the new value from the new physical location. The value will always be snapped. */\n private _updateValueFromPosition(pos: {x: number, y: number}) {\n if (!this._sliderDimensions) {\n return;\n }\n\n let offset = this.vertical ? this._sliderDimensions.top : this._sliderDimensions.left;\n let size = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let posComponent = this.vertical ? pos.y : pos.x;\n\n // The exact value is calculated from the event and used to find the closest snap value.\n let percent = this._clamp((posComponent - offset) / size);\n\n if (this._shouldInvertMouseCoords()) {\n percent = 1 - percent;\n }\n\n // Since the steps may not divide cleanly into the max value, if the user\n // slid to 0 or 100 percent, we jump to the min/max value. This approach\n // is slightly more intuitive than using `Math.ceil` below, because it\n // follows the user's pointer closer.\n if (percent === 0) {\n this.value = this.min;\n } else if (percent === 1) {\n this.value = this.max;\n } else {\n const exactValue = this._calculateValue(percent);\n\n // This calculation finds the closest step by finding the closest\n // whole number divisible by the step relative to the min.\n const closestValue = Math.round((exactValue - this.min) / this.step) * this.step + this.min;\n\n // The value needs to snap to the min and max.\n this.value = this._clamp(closestValue, this.min, this.max);\n }\n }\n\n /** Emits a change event if the current value is different from the last emitted value. */\n private _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.value);\n this.valueChange.emit(this.value);\n this.change.emit(this._createChangeEvent());\n }\n\n /** Emits an input event when the current value is different from the last emitted value. */\n private _emitInputEvent() {\n this.input.emit(this._createChangeEvent());\n }\n\n /** Updates the amount of space between ticks as a percentage of the width of the slider. */\n private _updateTickIntervalPercent() {\n if (!this.tickInterval || !this._sliderDimensions) {\n return;\n }\n\n if (this.tickInterval == 'auto') {\n let trackSize = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let pixelsPerStep = trackSize * this.step / (this.max - this.min);\n let stepsPerTick = Math.ceil(MIN_AUTO_TICK_SEPARATION / pixelsPerStep);\n let pixelsPerTick = stepsPerTick * this.step;\n this._tickIntervalPercent = pixelsPerTick / trackSize;\n } else {\n this._tickIntervalPercent = this.tickInterval * this.step / (this.max - this.min);\n }\n }\n\n /** Creates a slider change object from the specified value. */\n private _createChangeEvent(value = this.value): MatSliderChange {\n let event = new MatSliderChange();\n\n event.source = this;\n event.value = value;\n\n return event;\n }\n\n /** Calculates the percentage of the slider that a value is. */\n private _calculatePercentage(value: number | null) {\n return ((value || 0) - this.min) / (this.max - this.min);\n }\n\n /** Calculates the value a percentage of the slider corresponds to. */\n private _calculateValue(percentage: number) {\n return this.min + percentage * (this.max - this.min);\n }\n\n /** Return a number between two numbers. */\n private _clamp(value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(value, max));\n }\n\n /**\n * Get the bounding client rect of the slider track element.\n * The track is used rather than the native element to ignore the extra space that the thumb can\n * take up.\n */\n private _getSliderDimensions() {\n return this._sliderWrapper ? this._sliderWrapper.nativeElement.getBoundingClientRect() : null;\n }\n\n /**\n * Focuses the native element.\n * Currently only used to allow a blur event to fire but will be used with keyboard input later.\n */\n private _focusHostElement() {\n this._elementRef.nativeElement.focus();\n }\n\n /** Blurs the native element. */\n private _blurHostElement() {\n this._elementRef.nativeElement.blur();\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value\n */\n writeValue(value: any) {\n this.value = value;\n }\n\n /**\n * Registers a callback to be triggered when the value has changed.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the component is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets whether the component should be disabled.\n * Implemented as part of ControlValueAccessor.\n * @param isDisabled\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {GestureConfig, MatCommonModule} from '@angular/material/core';\nimport {HAMMER_GESTURE_CONFIG} from '@angular/platform-browser';\nimport {MatSlider} from './slider';\n\n\n@NgModule({\n imports: [CommonModule, MatCommonModule],\n exports: [MatSlider, MatCommonModule],\n declarations: [MatSlider],\n providers: [{provide: HAMMER_GESTURE_CONFIG, useClass: GestureConfig}]\n})\nexport class MatSliderModule {}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","setPrototypeOf","__proto__","Array","p","hasOwnProperty","MAT_SLIDER_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","MatSlider","multi","MatSliderChange","MatSliderBase","_elementRef","_MatSliderMixinBase","mixinTabIndex","mixinColor","mixinDisabled","elementRef","_focusMonitor","_changeDetectorRef","_dir","tabIndex","_animationMode","_this","_super","call","_invert","_max","_min","_step","_thumbLabel","_tickInterval","_value","_vertical","change","EventEmitter","input","valueChange","onTouched","_percent","_isSliding","_isActive","_tickIntervalPercent","_sliderDimensions","_controlValueAccessorChangeFn","_dirChangeSubscription","Subscription","EMPTY","parseInt","tslib_1.__extends","defineProperty","value","coerceBooleanProperty","v","coerceNumberProperty","_calculatePercentage","markForCheck","_roundToDecimal","toString","split","pop","length","parseFloat","toFixed","displayWith","focus","_focusHostElement","blur","_blurHostElement","_clamp","vertical","invert","percent","disabled","_isMinValue","thumbLabel","axis","scale","transform","_shouldInvertMouseCoords","_thumbGap","_getDirection","tickSize","backgroundSize","sign","rotate","styles","_invertAxis","ngOnInit","monitor","subscribe","origin","detectChanges","ngOnDestroy","stopMonitoring","unsubscribe","_onMouseenter","_getSliderDimensions","_updateTickIntervalPercent","_onMousedown","event","oldValue","_updateValueFromPosition","x","clientX","y","clientY","_emitInputEvent","_emitChangeEvent","_onSlide","_onSlideStart","preventDefault","center","_valueOnSlideStart","_onSlideEnd","_onFocus","_onBlur","_onKeydown","keyCode","PAGE_UP","_increment","PAGE_DOWN","END","max","HOME","min","LEFT_ARROW","UP_ARROW","RIGHT_ARROW","DOWN_ARROW","_onKeyup","numSteps","step","pos","offset","top","left","size","height","width","posComponent","exactValue","_calculateValue","closestValue","Math","round","emit","_createChangeEvent","tickInterval","trackSize","pixelsPerStep","stepsPerTick","ceil","pixelsPerTick","source","percentage","_sliderWrapper","nativeElement","getBoundingClientRect","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","type","Component","args","selector","exportAs","providers","host","(focus)","(blur)","(mousedown)","(keydown)","(keyup)","(mouseenter)","(slide)","(slideend)","(slidestart)","class","role","[tabIndex]","[attr.aria-disabled]","[attr.aria-valuemax]","[attr.aria-valuemin]","[attr.aria-valuenow]","[attr.aria-orientation]","[class.mat-slider-disabled]","[class.mat-slider-has-ticks]","[class.mat-slider-horizontal]","[class.mat-slider-axis-inverted]","[class.mat-slider-sliding]","[class.mat-slider-thumb-label-showing]","[class.mat-slider-vertical]","[class.mat-slider-min-value]","[class.mat-slider-hide-last-tick]","[class._mat-animation-noopable]","template","inputs","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","Directionality","decorators","Optional","String","Attribute","Inject","ANIMATION_MODULE_TYPE","propDecorators","Input","Output","ViewChild","NgModule","imports","CommonModule","MatCommonModule","exports","declarations","HAMMER_GESTURE_CONFIG","useClass","GestureConfig","MatSliderModule"],"mappings":"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"}
1
+ {"version":3,"file":"material-slider.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/slider/slider.ts","../../src/lib/slider/slider-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\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 {Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\nimport {\n DOWN_ARROW,\n END,\n HOME,\n LEFT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n RIGHT_ARROW,\n UP_ARROW,\n hasModifierKey,\n} from '@angular/cdk/keycodes';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n CanColor,\n CanColorCtor,\n CanDisable,\n CanDisableCtor,\n HammerInput,\n HasTabIndex,\n HasTabIndexCtor,\n mixinColor,\n mixinDisabled,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {Subscription} from 'rxjs';\n\n/**\n * Visually, a 30px separation between tick marks looks best. This is very subjective but it is\n * the default separation we chose.\n */\nconst MIN_AUTO_TICK_SEPARATION = 30;\n\n/** The thumb gap size for a disabled slider. */\nconst DISABLED_THUMB_GAP = 7;\n\n/** The thumb gap size for a non-active slider at its minimum value. */\nconst MIN_VALUE_NONACTIVE_THUMB_GAP = 7;\n\n/** The thumb gap size for an active slider at its minimum value. */\nconst MIN_VALUE_ACTIVE_THUMB_GAP = 10;\n\n/**\n * Provider Expression that allows mat-slider to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)] and [formControl].\n * @docs-private\n */\nexport const MAT_SLIDER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlider),\n multi: true\n};\n\n/** A simple change event emitted by the MatSlider component. */\nexport class MatSliderChange {\n /** The MatSlider that changed. */\n source: MatSlider;\n\n /** The new value of the source slider. */\n value: number | null;\n}\n\n\n// Boilerplate for applying mixins to MatSlider.\n/** @docs-private */\nexport class MatSliderBase {\n constructor(public _elementRef: ElementRef) {}\n}\nexport const _MatSliderMixinBase:\n HasTabIndexCtor &\n CanColorCtor &\n CanDisableCtor &\n typeof MatSliderBase =\n mixinTabIndex(mixinColor(mixinDisabled(MatSliderBase), 'accent'));\n\n/**\n * Allows users to select from a range of values by moving the slider thumb. It is similar in\n * behavior to the native `<input type=\"range\">` element.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-slider',\n exportAs: 'matSlider',\n providers: [MAT_SLIDER_VALUE_ACCESSOR],\n host: {\n '(focus)': '_onFocus()',\n '(blur)': '_onBlur()',\n '(mousedown)': '_onMousedown($event)',\n '(keydown)': '_onKeydown($event)',\n '(keyup)': '_onKeyup()',\n '(mouseenter)': '_onMouseenter()',\n '(slide)': '_onSlide($event)',\n '(slideend)': '_onSlideEnd()',\n '(slidestart)': '_onSlideStart($event)',\n 'class': 'mat-slider',\n 'role': 'slider',\n '[tabIndex]': 'tabIndex',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuenow]': 'value',\n '[attr.aria-orientation]': 'vertical ? \"vertical\" : \"horizontal\"',\n '[class.mat-slider-disabled]': 'disabled',\n '[class.mat-slider-has-ticks]': 'tickInterval',\n '[class.mat-slider-horizontal]': '!vertical',\n '[class.mat-slider-axis-inverted]': '_invertAxis',\n '[class.mat-slider-sliding]': '_isSliding',\n '[class.mat-slider-thumb-label-showing]': 'thumbLabel',\n '[class.mat-slider-vertical]': 'vertical',\n '[class.mat-slider-min-value]': '_isMinValue',\n '[class.mat-slider-hide-last-tick]': 'disabled || _isMinValue && _thumbGap && _invertAxis',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n },\n templateUrl: 'slider.html',\n styleUrls: ['slider.css'],\n inputs: ['disabled', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSlider extends _MatSliderMixinBase\n implements ControlValueAccessor, OnDestroy, CanDisable, CanColor, OnInit, HasTabIndex {\n /** Whether the slider is inverted. */\n @Input()\n get invert(): boolean { return this._invert; }\n set invert(value: boolean) {\n this._invert = coerceBooleanProperty(value);\n }\n private _invert = false;\n\n /** The maximum value that the slider can have. */\n @Input()\n get max(): number { return this._max; }\n set max(v: number) {\n this._max = coerceNumberProperty(v, this._max);\n this._percent = this._calculatePercentage(this._value);\n\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n private _max: number = 100;\n\n /** The minimum value that the slider can have. */\n @Input()\n get min(): number { return this._min; }\n set min(v: number) {\n this._min = coerceNumberProperty(v, this._min);\n\n // If the value wasn't explicitly set by the user, set it to the min.\n if (this._value === null) {\n this.value = this._min;\n }\n this._percent = this._calculatePercentage(this._value);\n\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n private _min: number = 0;\n\n /** The values at which the thumb will snap. */\n @Input()\n get step(): number { return this._step; }\n set step(v: number) {\n this._step = coerceNumberProperty(v, this._step);\n\n if (this._step % 1 !== 0) {\n this._roundToDecimal = this._step.toString().split('.').pop()!.length;\n }\n\n // Since this could modify the label, we need to notify the change detection.\n this._changeDetectorRef.markForCheck();\n }\n private _step: number = 1;\n\n /** Whether or not to show the thumb label. */\n @Input()\n get thumbLabel(): boolean { return this._thumbLabel; }\n set thumbLabel(value: boolean) { this._thumbLabel = coerceBooleanProperty(value); }\n private _thumbLabel: boolean = false;\n\n /**\n * How often to show ticks. Relative to the step so that a tick always appears on a step.\n * Ex: Tick interval of 4 with a step of 3 will draw a tick every 4 steps (every 12 values).\n */\n @Input()\n get tickInterval() { return this._tickInterval; }\n set tickInterval(value: 'auto' | number) {\n if (value === 'auto') {\n this._tickInterval = 'auto';\n } else if (typeof value === 'number' || typeof value === 'string') {\n this._tickInterval = coerceNumberProperty(value, this._tickInterval as number);\n } else {\n this._tickInterval = 0;\n }\n }\n private _tickInterval: 'auto' | number = 0;\n\n /** Value of the slider. */\n @Input()\n get value(): number | null {\n // If the value needs to be read and it is still uninitialized, initialize it to the min.\n if (this._value === null) {\n this.value = this._min;\n }\n return this._value;\n }\n set value(v: number | null) {\n if (v !== this._value) {\n let value = coerceNumberProperty(v);\n\n // While incrementing by a decimal we can end up with values like 33.300000000000004.\n // Truncate it to ensure that it matches the label and to make it easier to work with.\n if (this._roundToDecimal) {\n value = parseFloat(value.toFixed(this._roundToDecimal));\n }\n\n this._value = value;\n this._percent = this._calculatePercentage(this._value);\n\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n }\n private _value: number | null = null;\n\n /**\n * Function that will be used to format the value before it is displayed\n * in the thumb label. Can be used to format very large number in order\n * for them to fit into the slider thumb.\n */\n @Input() displayWith: (value: number | null) => string | number;\n\n /** Whether the slider is vertical. */\n @Input()\n get vertical(): boolean { return this._vertical; }\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n private _vertical = false;\n\n /** Event emitted when the slider value has changed. */\n @Output() readonly change: EventEmitter<MatSliderChange> = new EventEmitter<MatSliderChange>();\n\n /** Event emitted when the slider thumb moves. */\n @Output() readonly input: EventEmitter<MatSliderChange> = new EventEmitter<MatSliderChange>();\n\n /**\n * Emits when the raw value of the slider changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n * @docs-private\n */\n @Output() readonly valueChange: EventEmitter<number | null> = new EventEmitter<number | null>();\n\n /** The value to be used for display purposes. */\n get displayValue(): string | number {\n if (this.displayWith) {\n return this.displayWith(this.value);\n }\n\n // Note that this could be improved further by rounding something like 0.999 to 1 or\n // 0.899 to 0.9, however it is very performance sensitive, because it gets called on\n // every change detection cycle.\n if (this._roundToDecimal && this.value && this.value % 1 !== 0) {\n return this.value.toFixed(this._roundToDecimal);\n }\n\n return this.value || 0;\n }\n\n /** set focus to the host element */\n focus() {\n this._focusHostElement();\n }\n\n /** blur the host element */\n blur() {\n this._blurHostElement();\n }\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n onTouched: () => any = () => {};\n\n /** The percentage of the slider that coincides with the value. */\n get percent(): number { return this._clamp(this._percent); }\n private _percent: number = 0;\n\n /**\n * Whether or not the thumb is sliding.\n * Used to determine if there should be a transition for the thumb and fill track.\n */\n _isSliding: boolean = false;\n\n /**\n * Whether or not the slider is active (clicked or sliding).\n * Used to shrink and grow the thumb as according to the Material Design spec.\n */\n _isActive: boolean = false;\n\n /**\n * Whether the axis of the slider is inverted.\n * (i.e. whether moving the thumb in the positive x or y direction decreases the slider's value).\n */\n get _invertAxis() {\n // Standard non-inverted mode for a vertical slider should be dragging the thumb from bottom to\n // top. However from a y-axis standpoint this is inverted.\n return this.vertical ? !this.invert : this.invert;\n }\n\n\n /** Whether the slider is at its minimum value. */\n get _isMinValue() {\n return this.percent === 0;\n }\n\n /**\n * The amount of space to leave between the slider thumb and the track fill & track background\n * elements.\n */\n get _thumbGap() {\n if (this.disabled) {\n return DISABLED_THUMB_GAP;\n }\n if (this._isMinValue && !this.thumbLabel) {\n return this._isActive ? MIN_VALUE_ACTIVE_THUMB_GAP : MIN_VALUE_NONACTIVE_THUMB_GAP;\n }\n return 0;\n }\n\n /** CSS styles for the track background element. */\n get _trackBackgroundStyles(): { [key: string]: string } {\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${1 - this.percent}, 1` : `${1 - this.percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '-' : '';\n\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._thumbGap}px) scale3d(${scale})`\n };\n }\n\n /** CSS styles for the track fill element. */\n get _trackFillStyles(): { [key: string]: string } {\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${this.percent}, 1` : `${this.percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '' : '-';\n\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._thumbGap}px) scale3d(${scale})`\n };\n }\n\n /** CSS styles for the ticks container element. */\n get _ticksContainerStyles(): { [key: string]: string } {\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the ticks container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '' : '-';\n let offset = this._tickIntervalPercent / 2 * 100;\n return {\n 'transform': `translate${axis}(${sign}${offset}%)`\n };\n }\n\n /** CSS styles for the ticks element. */\n get _ticksStyles(): { [key: string]: string } {\n let tickSize = this._tickIntervalPercent * 100;\n let backgroundSize = this.vertical ? `2px ${tickSize}%` : `${tickSize}% 2px`;\n let axis = this.vertical ? 'Y' : 'X';\n // Depending on the direction we pushed the ticks container, push the ticks the opposite\n // direction to re-center them but clip off the end edge. In RTL languages we need to flip the\n // ticks 180 degrees so we're really cutting off the end edge abd not the start.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '-' : '';\n let rotate = !this.vertical && this._getDirection() == 'rtl' ? ' rotate(180deg)' : '';\n let styles: { [key: string]: string } = {\n 'backgroundSize': backgroundSize,\n // Without translateZ ticks sometimes jitter as the slider moves on Chrome & Firefox.\n 'transform': `translateZ(0) translate${axis}(${sign}${tickSize / 2}%)${rotate}`\n };\n\n if (this._isMinValue && this._thumbGap) {\n let side = this.vertical ?\n (this._invertAxis ? 'Bottom' : 'Top') :\n (this._invertAxis ? 'Right' : 'Left');\n styles[`padding${side}`] = `${this._thumbGap}px`;\n }\n\n return styles;\n }\n\n get _thumbContainerStyles(): { [key: string]: string } {\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the thumb container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let invertOffset =\n (this._getDirection() == 'rtl' && !this.vertical) ? !this._invertAxis : this._invertAxis;\n let offset = (invertOffset ? this.percent : 1 - this.percent) * 100;\n return {\n 'transform': `translate${axis}(-${offset}%)`\n };\n }\n\n /** The size of a tick interval as a percentage of the size of the track. */\n private _tickIntervalPercent: number = 0;\n\n /** The dimensions of the slider. */\n private _sliderDimensions: ClientRect | null = null;\n\n private _controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** Decimal places to round to, based on the step amount. */\n private _roundToDecimal: number;\n\n /** Subscription to the Directionality change EventEmitter. */\n private _dirChangeSubscription = Subscription.EMPTY;\n\n /** The value of the slider when the slide start event fires. */\n private _valueOnSlideStart: number | null;\n\n /** Reference to the inner slider wrapper element. */\n @ViewChild('sliderWrapper') private _sliderWrapper: ElementRef;\n\n /**\n * Whether mouse events should be converted to a slider position by calculating their distance\n * from the right or bottom edge of the slider as opposed to the top or left.\n */\n private _shouldInvertMouseCoords() {\n return (this._getDirection() == 'rtl' && !this.vertical) ? !this._invertAxis : this._invertAxis;\n }\n\n /** The language direction for this slider element. */\n private _getDirection() {\n return (this._dir && this._dir.value == 'rtl') ? 'rtl' : 'ltr';\n }\n\n constructor(elementRef: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() private _dir: Directionality,\n @Attribute('tabindex') tabIndex: string,\n // @breaking-change 8.0.0 `_animationMode` parameter to be made required.\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string) {\n super(elementRef);\n\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n\n ngOnInit() {\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe((origin: FocusOrigin) => {\n this._isActive = !!origin && origin !== 'keyboard';\n this._changeDetectorRef.detectChanges();\n });\n if (this._dir) {\n this._dirChangeSubscription = this._dir.change.subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._dirChangeSubscription.unsubscribe();\n }\n\n _onMouseenter() {\n if (this.disabled) {\n return;\n }\n\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n\n _onMousedown(event: MouseEvent) {\n // Don't do anything if the slider is disabled or the\n // user is using anything other than the main mouse button.\n if (this.disabled || event.button !== 0) {\n return;\n }\n\n const oldValue = this.value;\n this._isSliding = false;\n this._focusHostElement();\n this._updateValueFromPosition({x: event.clientX, y: event.clientY});\n\n // Emit a change and input event if the value changed.\n if (oldValue != this.value) {\n this._emitInputEvent();\n this._emitChangeEvent();\n }\n }\n\n _onSlide(event: HammerInput) {\n if (this.disabled) {\n return;\n }\n\n // The slide start event sometimes fails to fire on iOS, so if we're not already in the sliding\n // state, call the slide start handler manually.\n if (!this._isSliding) {\n this._onSlideStart(null);\n }\n\n // Prevent the slide from selecting anything else.\n event.preventDefault();\n\n let oldValue = this.value;\n this._updateValueFromPosition({x: event.center.x, y: event.center.y});\n\n // Native range elements always emit `input` events when the value changed while sliding.\n if (oldValue != this.value) {\n this._emitInputEvent();\n }\n }\n\n _onSlideStart(event: HammerInput | null) {\n if (this.disabled || this._isSliding) {\n return;\n }\n\n // Simulate mouseenter in case this is a mobile device.\n this._onMouseenter();\n\n this._isSliding = true;\n this._focusHostElement();\n this._valueOnSlideStart = this.value;\n\n if (event) {\n this._updateValueFromPosition({x: event.center.x, y: event.center.y});\n event.preventDefault();\n }\n }\n\n _onSlideEnd() {\n this._isSliding = false;\n\n if (this._valueOnSlideStart != this.value && !this.disabled) {\n this._emitChangeEvent();\n }\n this._valueOnSlideStart = null;\n }\n\n _onFocus() {\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n\n _onBlur() {\n this.onTouched();\n }\n\n _onKeydown(event: KeyboardEvent) {\n if (this.disabled || hasModifierKey(event)) {\n return;\n }\n\n const oldValue = this.value;\n\n switch (event.keyCode) {\n case PAGE_UP:\n this._increment(10);\n break;\n case PAGE_DOWN:\n this._increment(-10);\n break;\n case END:\n this.value = this.max;\n break;\n case HOME:\n this.value = this.min;\n break;\n case LEFT_ARROW:\n // NOTE: For a sighted user it would make more sense that when they press an arrow key on an\n // inverted slider the thumb moves in that direction. However for a blind user, nothing\n // about the slider indicates that it is inverted. They will expect left to be decrement,\n // regardless of how it appears on the screen. For speakers ofRTL languages, they probably\n // expect left to mean increment. Therefore we flip the meaning of the side arrow keys for\n // RTL. For inverted sliders we prefer a good a11y experience to having it \"look right\" for\n // sighted users, therefore we do not swap the meaning.\n this._increment(this._getDirection() == 'rtl' ? 1 : -1);\n break;\n case UP_ARROW:\n this._increment(1);\n break;\n case RIGHT_ARROW:\n // See comment on LEFT_ARROW about the conditions under which we flip the meaning.\n this._increment(this._getDirection() == 'rtl' ? -1 : 1);\n break;\n case DOWN_ARROW:\n this._increment(-1);\n break;\n default:\n // Return if the key is not one that we explicitly handle to avoid calling preventDefault on\n // it.\n return;\n }\n\n if (oldValue != this.value) {\n this._emitInputEvent();\n this._emitChangeEvent();\n }\n\n this._isSliding = true;\n event.preventDefault();\n }\n\n _onKeyup() {\n this._isSliding = false;\n }\n\n /** Increments the slider by the given number of steps (negative number decrements). */\n private _increment(numSteps: number) {\n this.value = this._clamp((this.value || 0) + this.step * numSteps, this.min, this.max);\n }\n\n /** Calculate the new value from the new physical location. The value will always be snapped. */\n private _updateValueFromPosition(pos: {x: number, y: number}) {\n if (!this._sliderDimensions) {\n return;\n }\n\n let offset = this.vertical ? this._sliderDimensions.top : this._sliderDimensions.left;\n let size = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let posComponent = this.vertical ? pos.y : pos.x;\n\n // The exact value is calculated from the event and used to find the closest snap value.\n let percent = this._clamp((posComponent - offset) / size);\n\n if (this._shouldInvertMouseCoords()) {\n percent = 1 - percent;\n }\n\n // Since the steps may not divide cleanly into the max value, if the user\n // slid to 0 or 100 percent, we jump to the min/max value. This approach\n // is slightly more intuitive than using `Math.ceil` below, because it\n // follows the user's pointer closer.\n if (percent === 0) {\n this.value = this.min;\n } else if (percent === 1) {\n this.value = this.max;\n } else {\n const exactValue = this._calculateValue(percent);\n\n // This calculation finds the closest step by finding the closest\n // whole number divisible by the step relative to the min.\n const closestValue = Math.round((exactValue - this.min) / this.step) * this.step + this.min;\n\n // The value needs to snap to the min and max.\n this.value = this._clamp(closestValue, this.min, this.max);\n }\n }\n\n /** Emits a change event if the current value is different from the last emitted value. */\n private _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.value);\n this.valueChange.emit(this.value);\n this.change.emit(this._createChangeEvent());\n }\n\n /** Emits an input event when the current value is different from the last emitted value. */\n private _emitInputEvent() {\n this.input.emit(this._createChangeEvent());\n }\n\n /** Updates the amount of space between ticks as a percentage of the width of the slider. */\n private _updateTickIntervalPercent() {\n if (!this.tickInterval || !this._sliderDimensions) {\n return;\n }\n\n if (this.tickInterval == 'auto') {\n let trackSize = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let pixelsPerStep = trackSize * this.step / (this.max - this.min);\n let stepsPerTick = Math.ceil(MIN_AUTO_TICK_SEPARATION / pixelsPerStep);\n let pixelsPerTick = stepsPerTick * this.step;\n this._tickIntervalPercent = pixelsPerTick / trackSize;\n } else {\n this._tickIntervalPercent = this.tickInterval * this.step / (this.max - this.min);\n }\n }\n\n /** Creates a slider change object from the specified value. */\n private _createChangeEvent(value = this.value): MatSliderChange {\n let event = new MatSliderChange();\n\n event.source = this;\n event.value = value;\n\n return event;\n }\n\n /** Calculates the percentage of the slider that a value is. */\n private _calculatePercentage(value: number | null) {\n return ((value || 0) - this.min) / (this.max - this.min);\n }\n\n /** Calculates the value a percentage of the slider corresponds to. */\n private _calculateValue(percentage: number) {\n return this.min + percentage * (this.max - this.min);\n }\n\n /** Return a number between two numbers. */\n private _clamp(value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(value, max));\n }\n\n /**\n * Get the bounding client rect of the slider track element.\n * The track is used rather than the native element to ignore the extra space that the thumb can\n * take up.\n */\n private _getSliderDimensions() {\n return this._sliderWrapper ? this._sliderWrapper.nativeElement.getBoundingClientRect() : null;\n }\n\n /**\n * Focuses the native element.\n * Currently only used to allow a blur event to fire but will be used with keyboard input later.\n */\n private _focusHostElement() {\n this._elementRef.nativeElement.focus();\n }\n\n /** Blurs the native element. */\n private _blurHostElement() {\n this._elementRef.nativeElement.blur();\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value\n */\n writeValue(value: any) {\n this.value = value;\n }\n\n /**\n * Registers a callback to be triggered when the value has changed.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the component is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets whether the component should be disabled.\n * Implemented as part of ControlValueAccessor.\n * @param isDisabled\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {GestureConfig, MatCommonModule} from '@angular/material/core';\nimport {HAMMER_GESTURE_CONFIG} from '@angular/platform-browser';\nimport {MatSlider} from './slider';\n\n\n@NgModule({\n imports: [CommonModule, MatCommonModule],\n exports: [MatSlider, MatCommonModule],\n declarations: [MatSlider],\n providers: [{provide: HAMMER_GESTURE_CONFIG, useClass: GestureConfig}]\n})\nexport class MatSliderModule {}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","setPrototypeOf","__proto__","Array","p","hasOwnProperty","MAT_SLIDER_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","MatSlider","multi","MatSliderChange","MatSliderBase","_elementRef","_MatSliderMixinBase","mixinTabIndex","mixinColor","mixinDisabled","_super","elementRef","_focusMonitor","_changeDetectorRef","_dir","tabIndex","_animationMode","_this","call","_invert","_max","_min","_step","_thumbLabel","_tickInterval","_value","_vertical","change","EventEmitter","input","valueChange","onTouched","_percent","_isSliding","_isActive","_tickIntervalPercent","_sliderDimensions","_controlValueAccessorChangeFn","_dirChangeSubscription","Subscription","EMPTY","parseInt","tslib_1.__extends","defineProperty","value","coerceBooleanProperty","v","coerceNumberProperty","_calculatePercentage","markForCheck","_roundToDecimal","toString","split","pop","length","parseFloat","toFixed","displayWith","focus","_focusHostElement","blur","_blurHostElement","_clamp","vertical","invert","percent","disabled","_isMinValue","thumbLabel","axis","scale","transform","_shouldInvertMouseCoords","_thumbGap","_getDirection","tickSize","backgroundSize","sign","rotate","styles","_invertAxis","ngOnInit","monitor","subscribe","origin","detectChanges","ngOnDestroy","stopMonitoring","unsubscribe","_onMouseenter","_getSliderDimensions","_updateTickIntervalPercent","_onMousedown","event","button","oldValue","_updateValueFromPosition","x","clientX","y","clientY","_emitInputEvent","_emitChangeEvent","_onSlide","_onSlideStart","preventDefault","center","_valueOnSlideStart","_onSlideEnd","_onFocus","_onBlur","_onKeydown","hasModifierKey","keyCode","PAGE_UP","_increment","PAGE_DOWN","END","max","HOME","min","LEFT_ARROW","UP_ARROW","RIGHT_ARROW","DOWN_ARROW","_onKeyup","numSteps","step","pos","offset","top","left","size","height","width","posComponent","exactValue","_calculateValue","closestValue","Math","round","emit","_createChangeEvent","tickInterval","trackSize","pixelsPerStep","stepsPerTick","ceil","pixelsPerTick","source","percentage","_sliderWrapper","nativeElement","getBoundingClientRect","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","type","Component","args","selector","exportAs","providers","host","(focus)","(blur)","(mousedown)","(keydown)","(keyup)","(mouseenter)","(slide)","(slideend)","(slidestart)","class","role","[tabIndex]","[attr.aria-disabled]","[attr.aria-valuemax]","[attr.aria-valuemin]","[attr.aria-valuenow]","[attr.aria-orientation]","[class.mat-slider-disabled]","[class.mat-slider-has-ticks]","[class.mat-slider-horizontal]","[class.mat-slider-axis-inverted]","[class.mat-slider-sliding]","[class.mat-slider-thumb-label-showing]","[class.mat-slider-vertical]","[class.mat-slider-min-value]","[class.mat-slider-hide-last-tick]","[class._mat-animation-noopable]","template","inputs","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","ChangeDetectorRef","Directionality","decorators","Optional","String","Attribute","Inject","ANIMATION_MODULE_TYPE","propDecorators","Input","Output","ViewChild","MatSliderModule","NgModule","imports","CommonModule","MatCommonModule","exports","declarations","HAMMER_GESTURE_CONFIG","useClass","GestureConfig"],"mappings":";;;;;;;ohCAuBA,SAAgBA,GAAUC,EAAGC,GAEzB,QAASC,KAAOC,KAAKC,YAAcJ,EADnCK,EAAcL,EAAGC,GAEjBD,EAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,IAVnF,GAAIG,GAAgB,SAASL,EAAGC,GAI5B,OAHAI,EAAgBE,OAAOE,iBAChBC,uBAA2BC,QAAS,SAAUX,EAAGC,GAAKD,EAAEU,UAAYT,IACvE,SAAUD,EAAGC,GAAK,IAAK,GAAIW,KAAKX,GAAOA,EAAEY,eAAeD,KAAIZ,EAAEY,GAAKX,EAAEW,MACpDZ,EAAGC,ICuDfa,GACXC,QAASC,EAAAA,kBACTC,YAAaC,EAAAA,WAAW,WAAM,MAAAC,KAC9BC,OAAO,gBAIT,QAAAC,MAMA,MAAAA,mBAME,QAAFC,GAAqBC,GAAApB,KAArBoB,YAAqBA,EACrB,MAAAD,MACaE,EAKLC,EAAAA,cAAcC,EAAAA,WAAWC,EAAAA,cAAcL,GAAgB,WAM/DH,EAAA,SAAAS,GAmWE,QAAFT,GAAcU,EACQC,EACAC,EACYC,EACGC,EAE2BC,GAN9D,GAAFC,GAOIP,EAPJQ,KAAAjC,KAOU0B,IAPV1B,WACsBgC,GAAtBL,cAAsBA,EACAK,EAAtBJ,mBAAsBA,EACYI,EAAlCH,KAAkCA,EAG8BG,EAAhED,eAAgEA,EAzTtDC,EAAVE,SAAoB,EAYVF,EAAVG,KAAyB,IAiBfH,EAAVI,KAAyB,EAefJ,EAAVK,MAA0B,EAMhBL,EAAVM,aAAiC,EAiBvBN,EAAVO,cAA2C,EA4BjCP,EAAVQ,OAAkC,KAexBR,EAAVS,WAAsB,EAGDT,EAArBU,OAA6D,GAAIC,GAAAA,aAG5CX,EAArBY,MAA4D,GAAID,GAAAA,aAO3CX,EAArBa,YAAgE,GAAIF,GAAAA,aA6BlEX,EAAFc,UAAyB,aAIfd,EAAVe,SAA6B,EAM3Bf,EAAFgB,YAAwB,EAMtBhB,EAAFiB,WAAuB,EA2GbjB,EAAVkB,qBAAyC,EAG/BlB,EAAVmB,kBAAiD,KAEvCnB,EAAVoB,8BAAgE,aAMtDpB,EAAVqB,uBAAmCC,EAAAA,aAAaC,MA8B5CvB,EAAKF,SAAW0B,SAAS1B,IAAa,IAxB1C,MA5S+B2B,GAA/BzC,EAAAS,GAGErB,OAAFsD,eACM1C,EADNb,UAAA,cAAE,WACwB,MAAOH,MAAKkC,aACpC,SAAWyB,GACT3D,KAAKkC,QAAU0B,EAAAA,sBAAsBD,oCAKvCvD,OAAFsD,eACM1C,EADNb,UAAA,WAAE,WACoB,MAAOH,MAAKmC,UAChC,SAAQ0B,GACN7D,KAAKmC,KAAO2B,EAAAA,qBAAqBD,EAAG7D,KAAKmC,MACzCnC,KAAK+C,SAAW/C,KAAK+D,qBAAqB/D,KAAKwC,QAG/CxC,KAAK4B,mBAAmBoC,gDAK1B5D,OAAFsD,eACM1C,EADNb,UAAA,WAAE,WACoB,MAAOH,MAAKoC,UAChC,SAAQyB,GACN7D,KAAKoC,KAAO0B,EAAAA,qBAAqBD,EAAG7D,KAAKoC,MAGrB,OAAhBpC,KAAKwC,SACPxC,KAAK2D,MAAQ3D,KAAKoC,MAEpBpC,KAAK+C,SAAW/C,KAAK+D,qBAAqB/D,KAAKwC,QAG/CxC,KAAK4B,mBAAmBoC,gDAK1B5D,OAAFsD,eACM1C,EADNb,UAAA,YAAE,WACqB,MAAOH,MAAKqC,WACjC,SAASwB,GACP7D,KAAKqC,MAAQyB,EAAAA,qBAAqBD,EAAG7D,KAAKqC,OAEtCrC,KAAKqC,MAAQ,GAAM,IACrBrC,KAAKiE,gBAAkBjE,KAAKqC,MAAM6B,WAAWC,MAAM,KAAKC,MAAOC,QAIjErE,KAAK4B,mBAAmBoC,gDAK1B5D,OAAFsD,eACM1C,EADNb,UAAA,kBAAE,WAC4B,MAAOH,MAAKsC,iBACxC,SAAeqB,GAAkB3D,KAAKsC,YAAcsB,EAAAA,sBAAsBD,oCAO1EvD,OAAFsD,eACM1C,EADNb,UAAA,oBAAE,WACqB,MAAOH,MAAKuC,mBACjC,SAAiBoB,GAEb3D,KAAKuC,cADO,SAAVoB,EACmB,OACK,gBAAVA,IAAuC,gBAAVA,GACxBG,EAAAA,qBAAqBH,EAAO3D,KAAkB,eAE9C,mCAMzBI,OAAFsD,eACM1C,EADNb,UAAA,aAAE,WAME,MAHoB,QAAhBH,KAAKwC,SACPxC,KAAK2D,MAAQ3D,KAAKoC,MAEbpC,KAAKwC,YAEd,SAAUqB,GACR,GAAIA,IAAM7D,KAAKwC,OAAQ,CAC3B,GAAUmB,GAAQG,EAAAA,qBAAqBD,EAI7B7D,MAAKiE,kBACPN,EAAQW,WAAWX,EAAMY,QAAQvE,KAAKiE,mBAGxCjE,KAAKwC,OAASmB,EACd3D,KAAK+C,SAAW/C,KAAK+D,qBAAqB/D,KAAKwC,QAG/CxC,KAAK4B,mBAAmBoC,iDAa5B5D,OAAFsD,eACM1C,EADNb,UAAA,gBAAE,WAC0B,MAAOH,MAAKyC,eACtC,SAAakB,GACX3D,KAAKyC,UAAYmB,EAAAA,sBAAsBD,oCAkBzCvD,OAAFsD,eAAM1C,EAANb,UAAA,oBAAE,WACE,MAAIH,MAAKwE,YACAxE,KAAKwE,YAAYxE,KAAK2D,OAM3B3D,KAAKiE,iBAAmBjE,KAAK2D,OAAS3D,KAAK2D,MAAQ,GAAM,EACpD3D,KAAK2D,MAAMY,QAAQvE,KAAKiE,iBAG1BjE,KAAK2D,OAAS,mCAIvB3C,EAAFb,UAAAsE,MAAE,WACEzE,KAAK0E,qBAIP1D,EAAFb,UAAAwE,KAAE,WACE3E,KAAK4E,oBAOPxE,OAAFsD,eAAM1C,EAANb,UAAA,eAAE,WAAwB,MAAOH,MAAK6E,OAAO7E,KAAK+C,2CAmBhD3C,OAAFsD,eAAM1C,EAANb,UAAA,mBAAE,WAGE,MAAOH,MAAK8E,UAAY9E,KAAK+E,OAAS/E,KAAK+E,wCAK7C3E,OAAFsD,eAAM1C,EAANb,UAAA,mBAAE,WACE,MAAwB,KAAjBH,KAAKgF,yCAOd5E,OAAFsD,eAAM1C,EAANb,UAAA,iBAAE,WACE,MAAIH,MAAKiF,SA5Rc,EA+RnBjF,KAAKkF,cAAgBlF,KAAKmF,WACrBnF,KAAKiD,UA1RiB,GAHG,EA+R3B,mCAIT7C,OAAFsD,eAAM1C,EAANb,UAAA,8BAAE,WACF,GAAUiF,GAAOpF,KAAK8E,SAAW,IAAM,IAC7BO,EAAQrF,KAAK8E,SAAW,OAAM,EAAI9E,KAAKgF,SAAjD,MAAmE,EAAIhF,KAAKgF,QAA5E,QAGI,QAEEM,UAAW,YAAYF,EAA7B,KAJiBpF,KAAKuF,2BAA6B,IAAM,IAIbvF,KAAKwF,UAAjD,eAAyEH,EAAzE,sCAKEjF,OAAFsD,eAAM1C,EAANb,UAAA,wBAAE,WACF,GAAUiF,GAAOpF,KAAK8E,SAAW,IAAM,IAC7BO,EAAQrF,KAAK8E,SAAW,MAAM9E,KAAKgF,QAA7C,MAA+DhF,KAAKgF,QAApE,QAGI,QAEEM,UAAW,YAAYF,EAA7B,KAJiBpF,KAAKuF,2BAA6B,GAAK,KAIZvF,KAAKwF,UAAjD,eAAyEH,EAAzE,sCAKEjF,OAAFsD,eAAM1C,EAANb,UAAA,6BAAE,WAME,OACEmF,UAAa,aANJtF,KAAK8E,SAAW,IAAM,KAMrC,KAHgB9E,KAAK8E,UAAoC,OAAxB9E,KAAKyF,gBAAgC,IAAL,IAChDzF,KAAKkD,qBAAuB,EAAI,IAEjD,uCAKE9C,OAAFsD,eAAM1C,EAANb,UAAA,oBAAE,WACF,GAAQuF,GAAuC,IAA5B1F,KAAKkD,qBAChByC,EAAiB3F,KAAK8E,SAAW,OAAOY,EAAhD,IAAiEA,EAAjE,QACQN,EAAOpF,KAAK8E,SAAW,IAAM,IAI7Bc,EAAQ5F,KAAK8E,UAAoC,OAAxB9E,KAAKyF,gBAAiC,GAAN,IACzDI,EAAU7F,KAAK8E,UAAoC,OAAxB9E,KAAKyF,gBAA+C,GAApB,kBAC3DK,GACFH,eAAkBA,EAElBL,UAAa,0BAA0BF,EAA7C,IAAqDQ,EAAOF,EAAW,EAAvE,KAA6EG,EAGzE,IAAI7F,KAAKkF,aAAelF,KAAKwF,UAAW,CAItCM,EAAO,WAHI9F,KAAK8E,SACX9E,KAAK+F,YAAc,SAAW,MAC9B/F,KAAK+F,YAAc,QAAU,SACJ/F,KAAKwF,UAAzC,KAGI,MAAOM,oCAGT1F,OAAFsD,eAAM1C,EAANb,UAAA,6BAAE,WAOE,OACEmF,UAAa,aAPJtF,KAAK8E,SAAW,IAAM,KAOrC,KAFoE,MADnC,OAAxB9E,KAAKyF,iBAA6BzF,KAAK8E,SAAgC9E,KAAK+F,aAAxB/F,KAAK+F,aACjC/F,KAAKgF,QAAU,EAAIhF,KAAKgF,SAEzD,uCA4BUhE,EAAVb,UAAAoF,yBAAE,WACE,MAAgC,OAAxBvF,KAAKyF,iBAA6BzF,KAAK8E,SAAgC9E,KAAK+F,aAAxB/F,KAAK+F,aAI3D/E,EAAVb,UAAAsF,cAAE,WACE,MAAQzF,MAAK6B,MAA2B,OAAnB7B,KAAK6B,KAAK8B,MAAkB,MAAQ,OAe3D3C,EAAFb,UAAA6F,SAAE,WAAA,GAAFhE,GAAAhC,IACIA,MAAK2B,cACAsE,QAAQjG,KAAKoB,aAAa,GAC1B8E,UAAU,SAACC,GACVnE,EAAKiB,YAAckD,GAAqB,aAAXA,EAC7BnE,EAAKJ,mBAAmBwE,kBAE1BpG,KAAK6B,OACP7B,KAAKqD,uBAAyBrD,KAAK6B,KAAKa,OAAOwD,UAAU,WACvDlE,EAAKJ,mBAAmBoC,mBAK9BhD,EAAFb,UAAAkG,YAAE,WACErG,KAAK2B,cAAc2E,eAAetG,KAAKoB,aACvCpB,KAAKqD,uBAAuBkD,eAG9BvF,EAAFb,UAAAqG,cAAE,WACMxG,KAAKiF,WAMTjF,KAAKmD,kBAAoBnD,KAAKyG,uBAC9BzG,KAAK0G,+BAGP1F,EAAFb,UAAAwG,aAAE,SAAaC,GAGX,IAAI5G,KAAKiF,UAA6B,IAAjB2B,EAAMC,OAA3B,CAIJ,GAAUC,GAAW9G,KAAK2D,KACtB3D,MAAKgD,YAAa,EAClBhD,KAAK0E,oBACL1E,KAAK+G,0BAA0BC,EAAGJ,EAAMK,QAASC,EAAGN,EAAMO,UAGtDL,GAAY9G,KAAK2D,QACnB3D,KAAKoH,kBACLpH,KAAKqH,sBAITrG,EAAFb,UAAAmH,SAAE,SAASV,GACP,IAAI5G,KAAKiF,SAAT,CAMKjF,KAAKgD,YACRhD,KAAKuH,cAAc,MAIrBX,EAAMY,gBAEV,IAAQV,GAAW9G,KAAK2D,KACpB3D,MAAK+G,0BAA0BC,EAAGJ,EAAMa,OAAOT,EAAGE,EAAGN,EAAMa,OAAOP,IAG9DJ,GAAY9G,KAAK2D,OACnB3D,KAAKoH,oBAITpG,EAAFb,UAAAoH,cAAE,SAAcX,GACR5G,KAAKiF,UAAYjF,KAAKgD,aAK1BhD,KAAKwG,gBAELxG,KAAKgD,YAAa,EAClBhD,KAAK0E,oBACL1E,KAAK0H,mBAAqB1H,KAAK2D,MAE3BiD,IACF5G,KAAK+G,0BAA0BC,EAAGJ,EAAMa,OAAOT,EAAGE,EAAGN,EAAMa,OAAOP,IAClEN,EAAMY,oBAIVxG,EAAFb,UAAAwH,YAAE,WACE3H,KAAKgD,YAAa,EAEdhD,KAAK0H,oBAAsB1H,KAAK2D,OAAU3D,KAAKiF,UACjDjF,KAAKqH,mBAEPrH,KAAK0H,mBAAqB,MAG5B1G,EAAFb,UAAAyH,SAAE,WAGE5H,KAAKmD,kBAAoBnD,KAAKyG,uBAC9BzG,KAAK0G,8BAGP1F,EAAFb,UAAA0H,QAAE,WACE7H,KAAK8C,aAGP9B,EAAFb,UAAA2H,WAAE,SAAWlB,GACT,IAAI5G,KAAKiF,WAAY8C,EAAAA,eAAenB,GAApC,CAIJ,GAAUE,GAAW9G,KAAK2D,KAEtB,QAAQiD,EAAMoB,SACZ,IAAKC,GAAAA,QACHjI,KAAKkI,WAAW,GAChB,MACF,KAAKC,GAAAA,UACHnI,KAAKkI,YAAY,GACjB,MACF,KAAKE,GAAAA,IACHpI,KAAK2D,MAAQ3D,KAAKqI,GAClB,MACF,KAAKC,GAAAA,KACHtI,KAAK2D,MAAQ3D,KAAKuI,GAClB,MACF,KAAKC,GAAAA,WAQHxI,KAAKkI,WAAmC,OAAxBlI,KAAKyF,gBAA2B,GAAK,EACrD,MACF,KAAKgD,GAAAA,SACHzI,KAAKkI,WAAW,EAChB,MACF,KAAKQ,GAAAA,YAEH1I,KAAKkI,WAAmC,OAAxBlI,KAAKyF,iBAA4B,EAAI,EACrD,MACF,KAAKkD,GAAAA,WACH3I,KAAKkI,YAAY,EACjB,MACF,SAGE,OAGApB,GAAY9G,KAAK2D,QACnB3D,KAAKoH,kBACLpH,KAAKqH,oBAGPrH,KAAKgD,YAAa,EAClB4D,EAAMY,mBAGRxG,EAAFb,UAAAyI,SAAE,WACE5I,KAAKgD,YAAa,GAIZhC,EAAVb,UAAA+H,WAAE,SAAmBW,GACjB7I,KAAK2D,MAAQ3D,KAAK6E,QAAQ7E,KAAK2D,OAAS,GAAK3D,KAAK8I,KAAOD,EAAU7I,KAAKuI,IAAKvI,KAAKqI,MAI5ErH,EAAVb,UAAA4G,yBAAE,SAAiCgC,GAC/B,GAAK/I,KAAKmD,kBAAV,CAIJ,GAAQ6F,GAAShJ,KAAK8E,SAAW9E,KAAKmD,kBAAkB8F,IAAMjJ,KAAKmD,kBAAkB+F,KAC7EC,EAAOnJ,KAAK8E,SAAW9E,KAAKmD,kBAAkBiG,OAASpJ,KAAKmD,kBAAkBkG,MAC9EC,EAAetJ,KAAK8E,SAAWiE,EAAI7B,EAAI6B,EAAI/B,EAG3ChC,EAAUhF,KAAK6E,QAAQyE,EAAeN,GAAUG,EAUpD,IARInJ,KAAKuF,6BACPP,EAAU,EAAIA,GAOA,IAAZA,EACFhF,KAAK2D,MAAQ3D,KAAKuI,QACb,IAAgB,IAAZvD,EACThF,KAAK2D,MAAQ3D,KAAKqI,QACb,CACX,GAAYkB,GAAavJ,KAAKwJ,gBAAgBxE,GAIlCyE,EAAeC,KAAKC,OAAOJ,EAAavJ,KAAKuI,KAAOvI,KAAK8I,MAAQ9I,KAAK8I,KAAO9I,KAAKuI,GAGxFvI,MAAK2D,MAAQ3D,KAAK6E,OAAO4E,EAAczJ,KAAKuI,IAAKvI,KAAKqI,QAKlDrH,EAAVb,UAAAkH,iBAAE,WACErH,KAAKoD,8BAA8BpD,KAAK2D,OACxC3D,KAAK6C,YAAY+G,KAAK5J,KAAK2D,OAC3B3D,KAAK0C,OAAOkH,KAAK5J,KAAK6J,uBAIhB7I,EAAVb,UAAAiH,gBAAE,WACEpH,KAAK4C,MAAMgH,KAAK5J,KAAK6J,uBAIf7I,EAAVb,UAAAuG,2BAAE,WACE,GAAK1G,KAAK8J,cAAiB9J,KAAKmD,kBAIhC,GAAyB,QAArBnD,KAAK8J,aAAwB,CACrC,GAAUC,GAAY/J,KAAK8E,SAAW9E,KAAKmD,kBAAkBiG,OAASpJ,KAAKmD,kBAAkBkG,MACnFW,EAAgBD,EAAY/J,KAAK8I,MAAQ9I,KAAKqI,IAAMrI,KAAKuI,KACzD0B,EAAeP,KAAKQ,KAvoBG,GAuoB6BF,GACpDG,EAAgBF,EAAejK,KAAK8I,IACxC9I,MAAKkD,qBAAuBiH,EAAgBJ,MAE5C/J,MAAKkD,qBAAuBlD,KAAK8J,aAAe9J,KAAK8I,MAAQ9I,KAAKqI,IAAMrI,KAAKuI,MAKzEvH,EAAVb,UAAA0J,mBAAE,SAA2BlG,OAA7B,KAAAA,IAA6BA,EAAQ3D,KAAK2D,MAC1C,IAAQiD,GAAQ,GAAI1F,EAKhB,OAHA0F,GAAMwD,OAASpK,KACf4G,EAAMjD,MAAQA,EAEPiD,GAID5F,EAAVb,UAAA4D,qBAAE,SAA6BJ,GAC3B,QAASA,GAAS,GAAK3D,KAAKuI,MAAQvI,KAAKqI,IAAMrI,KAAKuI,MAI9CvH,EAAVb,UAAAqJ,gBAAE,SAAwBa,GACtB,MAAOrK,MAAKuI,IAAM8B,GAAcrK,KAAKqI,IAAMrI,KAAKuI,MAI1CvH,EAAVb,UAAA0E,OAAE,SAAelB,EAAe4E,EAASF,GACrC,WADJ,KAAAE,IAAgCA,EAAhC,OAAA,KAAAF,IAAyCA,EAAzC,GACWqB,KAAKrB,IAAIE,EAAKmB,KAAKnB,IAAI5E,EAAO0E,KAQ/BrH,EAAVb,UAAAsG,qBAAE,WACE,MAAOzG,MAAKsK,eAAiBtK,KAAKsK,eAAeC,cAAcC,wBAA0B,MAOnFxJ,EAAVb,UAAAuE,kBAAE,WACE1E,KAAKoB,YAAYmJ,cAAc9F,SAIzBzD,EAAVb,UAAAyE,iBAAE,WACE5E,KAAKoB,YAAYmJ,cAAc5F,QAOjC3D,EAAFb,UAAAsK,WAAE,SAAW9G,GACT3D,KAAK2D,MAAQA,GAQf3C,EAAFb,UAAAuK,iBAAE,SAAiBC,GACf3K,KAAKoD,8BAAgCuH,GAQvC3J,EAAFb,UAAAyK,kBAAE,SAAkBD,GAChB3K,KAAK8C,UAAY6H,GAQnB3J,EAAFb,UAAA0K,iBAAE,SAAiBC,GACf9K,KAAKiF,SAAW6F,kBA9qBpBC,KAACC,EAAAA,UAADC,OAAAC,SAAA,aACEC,SAAU,YACVC,WAAFzK,GACE0K,MACFC,UAAA,aACMC,SAAN,YACIC,cAAJ,uBACIC,YAAJ,qBACIC,UAAJ,aACIC,eAAJ,kBACIC,UAAW,mBACXC,aAAc,gBACdC,eAAJ,wBACIC,MAAJ,aACIC,KAAJ,SACIC,aAAJ,WACIC,uBAAJ,WACIC,uBAAwB,MACxBC,uBAAwB,MACxBC,uBAAwB,QACxBC,0BAAJ,uCACIC,8BAA+B,WAC/BC,+BAAJ,eACIC,gCAAJ,YACIC,mCAAJ,cACIC,6BAAJ,aACIC,yCAAJ,aACIC,8BAAJ,WACIC,+BAAJ,cACIC,oCAAJ,sDACIC,kCAAJ,uCAEAC,SAAA,ipBACAnH,QAAA,gsPACEoH,QAAF,WAAA,QAAA,YACEC,cAAFC,EAAAA,kBAAAC,KACEC,gBAAFC,EAAAA,wBAA2CC,yFApH3CzC,KAAE0C,EAAAA,oBAnBF1C,KAAQ2C,EAAAA,eAARC,aAAA5C,KAAA6C,EAAAA,aAiBA7C,KAAE8C,OAAFF,aAAA5C,KAAA+C,EAAAA,UAAA7C,MAAA,gBAhBAF,KAAQ8C,OAARF,aAAA5C,KAAA6C,EAAAA,WAAA7C,KAAAgD,EAAAA,OAAA9C,MAAA+C,EAAAA,4BA2cAhN,EAAAiN,6DA9TA1F,MAAAwC,KAAAmD,EAAAA,QAQApF,OAAAiC,KAAAmD,EAAAA,QAYA/I,aAAA4F,KAAAmD,EAAAA,QAiBApE,eAAAiB,KAAAmD,EAAAA,QAeAvK,QAAAoH,KAAAmD,EAAAA,QASA1J,cAAAuG,KAAAmD,EAAAA,QAcApJ,WAAAiG,KAAAmD,EAAAA,QAgCAxL,SAAAqI,KAAAoD,EAAAA,SAGAvL,QAAAmI,KAAAoD,EAAAA,SAQAtL,cAAAkI,KAAAoD,EAAAA,SAGA7D,iBAAAS,KAAAqD,EAAAA,UAAAnD,MAAA,oBAgLAjK,MChbAqN,EAAA,WAAA,QAAAA,MAM8B,sBAN9BtD,KAACuD,EAAAA,SAADrD,OACEsD,SAAUC,EAAAA,aAAcC,EAAAA,iBACxBC,SAAU1N,EAAWyN,EAAAA,iBACrBE,cAAe3N,GACfoK,YAAaxK,QAASgO,EAAAA,sBAAuBC,SAAUC,EAAAA,oBAEzDT"}
@@ -53,7 +53,7 @@ var __assign = function() {
53
53
 
54
54
  /**
55
55
  * @fileoverview added by tsickle
56
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
56
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
57
57
  */
58
58
  /**
59
59
  * Reference to a snack bar dispatched from the snack bar service.
@@ -169,12 +169,15 @@ MatSnackBarRef = /** @class */ (function () {
169
169
  this._afterOpened.complete();
170
170
  }
171
171
  };
172
+ /** Cleans up the DOM after closing. */
172
173
  /**
173
174
  * Cleans up the DOM after closing.
175
+ * @private
174
176
  * @return {?}
175
177
  */
176
178
  MatSnackBarRef.prototype._finishDismiss = /**
177
179
  * Cleans up the DOM after closing.
180
+ * @private
178
181
  * @return {?}
179
182
  */
180
183
  function () {
@@ -227,11 +230,12 @@ MatSnackBarRef = /** @class */ (function () {
227
230
 
228
231
  /**
229
232
  * @fileoverview added by tsickle
230
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
233
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
231
234
  */
232
- /** *
235
+ /**
233
236
  * Injection token that can be used to access the data that was passed in to a snack bar.
234
- @type {?} */
237
+ * @type {?}
238
+ */
235
239
  var MAT_SNACK_BAR_DATA = new core.InjectionToken('MatSnackBarData');
236
240
  /**
237
241
  * Configuration used when opening a snack-bar.
@@ -274,7 +278,7 @@ MatSnackBarConfig = /** @class */ (function () {
274
278
 
275
279
  /**
276
280
  * @fileoverview added by tsickle
277
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
281
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
278
282
  */
279
283
  /**
280
284
  * A component used to open as the default snack bar, matching material spec.
@@ -330,14 +334,17 @@ var SimpleSnackBar = /** @class */ (function () {
330
334
 
331
335
  /**
332
336
  * @fileoverview added by tsickle
333
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
337
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
334
338
  */
335
- /** *
339
+ /**
336
340
  * Animations used by the Material snack bar.
337
341
  * \@docs-private
338
- @type {?} */
342
+ * @type {?}
343
+ */
339
344
  var matSnackBarAnimations = {
340
- /** Animation that shows and hides a snack bar. */
345
+ /**
346
+ * Animation that shows and hides a snack bar.
347
+ */
341
348
  snackBarState: animations.trigger('state', [
342
349
  animations.state('void, hidden', animations.style({
343
350
  transform: 'scale(0.8)',
@@ -356,7 +363,7 @@ var matSnackBarAnimations = {
356
363
 
357
364
  /**
358
365
  * @fileoverview added by tsickle
359
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
366
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
360
367
  */
361
368
  /**
362
369
  * Internal component that wraps user-provided snack bar content.
@@ -452,6 +459,8 @@ var MatSnackBarContainer = /** @class */ (function (_super) {
452
459
  this._completeExit();
453
460
  }
454
461
  if (toState === 'visible') {
462
+ // Note: we shouldn't use `this` inside the zone callback,
463
+ // because it can cause a memory leak.
455
464
  /** @type {?} */
456
465
  var onEnter_1 = this._onEnter;
457
466
  this._ngZone.run(function () {
@@ -507,11 +516,17 @@ var MatSnackBarContainer = /** @class */ (function (_super) {
507
516
  /**
508
517
  * Waits for the zone to settle before removing the element. Helps prevent
509
518
  * errors where we end up removing an element which is in the middle of an animation.
519
+ */
520
+ /**
521
+ * Waits for the zone to settle before removing the element. Helps prevent
522
+ * errors where we end up removing an element which is in the middle of an animation.
523
+ * @private
510
524
  * @return {?}
511
525
  */
512
526
  MatSnackBarContainer.prototype._completeExit = /**
513
527
  * Waits for the zone to settle before removing the element. Helps prevent
514
528
  * errors where we end up removing an element which is in the middle of an animation.
529
+ * @private
515
530
  * @return {?}
516
531
  */
517
532
  function () {
@@ -521,12 +536,15 @@ var MatSnackBarContainer = /** @class */ (function (_super) {
521
536
  _this._onExit.complete();
522
537
  });
523
538
  };
539
+ /** Applies the various positioning and user-configured CSS classes to the snack bar. */
524
540
  /**
525
541
  * Applies the various positioning and user-configured CSS classes to the snack bar.
542
+ * @private
526
543
  * @return {?}
527
544
  */
528
545
  MatSnackBarContainer.prototype._applySnackBarClasses = /**
529
546
  * Applies the various positioning and user-configured CSS classes to the snack bar.
547
+ * @private
530
548
  * @return {?}
531
549
  */
532
550
  function () {
@@ -550,12 +568,15 @@ var MatSnackBarContainer = /** @class */ (function (_super) {
550
568
  element.classList.add('mat-snack-bar-top');
551
569
  }
552
570
  };
571
+ /** Asserts that no content is already attached to the container. */
553
572
  /**
554
573
  * Asserts that no content is already attached to the container.
574
+ * @private
555
575
  * @return {?}
556
576
  */
557
577
  MatSnackBarContainer.prototype._assertNotAttached = /**
558
578
  * Asserts that no content is already attached to the container.
579
+ * @private
559
580
  * @return {?}
560
581
  */
561
582
  function () {
@@ -566,7 +587,7 @@ var MatSnackBarContainer = /** @class */ (function (_super) {
566
587
  MatSnackBarContainer.decorators = [
567
588
  { type: core.Component, args: [{selector: 'snack-bar-container',
568
589
  template: "<ng-template cdkPortalOutlet></ng-template>",
569
- styles: [".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}@media screen and (-ms-high-contrast:active){.mat-snack-bar-container{border:solid 1px}}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}"],
590
+ styles: [".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}@media (-ms-high-contrast:active){.mat-snack-bar-container{border:solid 1px}}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}"],
570
591
  changeDetection: core.ChangeDetectionStrategy.OnPush,
571
592
  encapsulation: core.ViewEncapsulation.None,
572
593
  animations: [matSnackBarAnimations.snackBarState],
@@ -593,7 +614,7 @@ var MatSnackBarContainer = /** @class */ (function (_super) {
593
614
 
594
615
  /**
595
616
  * @fileoverview added by tsickle
596
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
617
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
597
618
  */
598
619
  var MatSnackBarModule = /** @class */ (function () {
599
620
  function MatSnackBarModule() {
@@ -617,11 +638,12 @@ var MatSnackBarModule = /** @class */ (function () {
617
638
 
618
639
  /**
619
640
  * @fileoverview added by tsickle
620
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
641
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
621
642
  */
622
- /** *
643
+ /**
623
644
  * Injection token that can be used to specify default snack bar.
624
- @type {?} */
645
+ * @type {?}
646
+ */
625
647
  var MAT_SNACK_BAR_DEFAULT_OPTIONS = new core.InjectionToken('mat-snack-bar-default-options', {
626
648
  providedIn: 'root',
627
649
  factory: MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,
@@ -703,7 +725,7 @@ var MatSnackBar = /** @class */ (function () {
703
725
  * @return {?}
704
726
  */
705
727
  function (component, config) {
706
- return /** @type {?} */ (this._attach(component, config));
728
+ return (/** @type {?} */ (this._attach(component, config)));
707
729
  };
708
730
  /**
709
731
  * Creates and dispatches a snack bar with a custom template for the content, removing any
@@ -793,12 +815,17 @@ var MatSnackBar = /** @class */ (function () {
793
815
  };
794
816
  /**
795
817
  * Attaches the snack bar container component to the overlay.
818
+ */
819
+ /**
820
+ * Attaches the snack bar container component to the overlay.
821
+ * @private
796
822
  * @param {?} overlayRef
797
823
  * @param {?} config
798
824
  * @return {?}
799
825
  */
800
826
  MatSnackBar.prototype._attachSnackBarContainer = /**
801
827
  * Attaches the snack bar container component to the overlay.
828
+ * @private
802
829
  * @param {?} overlayRef
803
830
  * @param {?} config
804
831
  * @return {?}
@@ -819,6 +846,10 @@ var MatSnackBar = /** @class */ (function () {
819
846
  };
820
847
  /**
821
848
  * Places a new component or a template as the content of the snack bar container.
849
+ */
850
+ /**
851
+ * Places a new component or a template as the content of the snack bar container.
852
+ * @private
822
853
  * @template T
823
854
  * @param {?} content
824
855
  * @param {?=} userConfig
@@ -826,6 +857,7 @@ var MatSnackBar = /** @class */ (function () {
826
857
  */
827
858
  MatSnackBar.prototype._attach = /**
828
859
  * Places a new component or a template as the content of the snack bar container.
860
+ * @private
829
861
  * @template T
830
862
  * @param {?} content
831
863
  * @param {?=} userConfig
@@ -842,10 +874,10 @@ var MatSnackBar = /** @class */ (function () {
842
874
  var snackBarRef = new MatSnackBarRef(container, overlayRef);
843
875
  if (content instanceof core.TemplateRef) {
844
876
  /** @type {?} */
845
- var portal$$1 = new portal.TemplatePortal(content, /** @type {?} */ ((null)), /** @type {?} */ ({
877
+ var portal$$1 = new portal.TemplatePortal(content, (/** @type {?} */ (null)), (/** @type {?} */ ({
846
878
  $implicit: config.data,
847
879
  snackBarRef: snackBarRef
848
- }));
880
+ })));
849
881
  snackBarRef.instance = container.attachTemplatePortal(portal$$1);
850
882
  }
851
883
  else {
@@ -873,14 +905,17 @@ var MatSnackBar = /** @class */ (function () {
873
905
  this._openedSnackBarRef = snackBarRef;
874
906
  return this._openedSnackBarRef;
875
907
  };
908
+ /** Animates the old snack bar out and the new one in. */
876
909
  /**
877
910
  * Animates the old snack bar out and the new one in.
911
+ * @private
878
912
  * @param {?} snackBarRef
879
913
  * @param {?} config
880
914
  * @return {?}
881
915
  */
882
916
  MatSnackBar.prototype._animateSnackBar = /**
883
917
  * Animates the old snack bar out and the new one in.
918
+ * @private
884
919
  * @param {?} snackBarRef
885
920
  * @param {?} config
886
921
  * @return {?}
@@ -893,6 +928,9 @@ var MatSnackBar = /** @class */ (function () {
893
928
  if (_this._openedSnackBarRef == snackBarRef) {
894
929
  _this._openedSnackBarRef = null;
895
930
  }
931
+ if (config.announcementMessage) {
932
+ _this._live.clear();
933
+ }
896
934
  });
897
935
  if (this._openedSnackBarRef) {
898
936
  // If a snack bar is already in view, dismiss it and enter the
@@ -908,7 +946,7 @@ var MatSnackBar = /** @class */ (function () {
908
946
  }
909
947
  // If a dismiss timeout is provided, set up dismiss based on after the snackbar is opened.
910
948
  if (config.duration && config.duration > 0) {
911
- snackBarRef.afterOpened().subscribe(function () { return snackBarRef._dismissAfter(/** @type {?} */ ((config.duration))); });
949
+ snackBarRef.afterOpened().subscribe(function () { return snackBarRef._dismissAfter((/** @type {?} */ (config.duration))); });
912
950
  }
913
951
  if (config.announcementMessage) {
914
952
  this._live.announce(config.announcementMessage, config.politeness);
@@ -916,11 +954,17 @@ var MatSnackBar = /** @class */ (function () {
916
954
  };
917
955
  /**
918
956
  * Creates a new overlay and places it in the correct location.
957
+ * @param config The user-specified snack bar config.
958
+ */
959
+ /**
960
+ * Creates a new overlay and places it in the correct location.
961
+ * @private
919
962
  * @param {?} config The user-specified snack bar config.
920
963
  * @return {?}
921
964
  */
922
965
  MatSnackBar.prototype._createOverlay = /**
923
966
  * Creates a new overlay and places it in the correct location.
967
+ * @private
924
968
  * @param {?} config The user-specified snack bar config.
925
969
  * @return {?}
926
970
  */
@@ -930,6 +974,7 @@ var MatSnackBar = /** @class */ (function () {
930
974
  overlayConfig.direction = config.direction;
931
975
  /** @type {?} */
932
976
  var positionStrategy = this._overlay.position().global();
977
+ // Set horizontal position.
933
978
  /** @type {?} */
934
979
  var isRtl = config.direction === 'rtl';
935
980
  /** @type {?} */
@@ -959,6 +1004,12 @@ var MatSnackBar = /** @class */ (function () {
959
1004
  };
960
1005
  /**
961
1006
  * Creates an injector to be used inside of a snack bar component.
1007
+ * @param config Config that was used to create the snack bar.
1008
+ * @param snackBarRef Reference to the snack bar.
1009
+ */
1010
+ /**
1011
+ * Creates an injector to be used inside of a snack bar component.
1012
+ * @private
962
1013
  * @template T
963
1014
  * @param {?} config Config that was used to create the snack bar.
964
1015
  * @param {?} snackBarRef Reference to the snack bar.
@@ -966,6 +1017,7 @@ var MatSnackBar = /** @class */ (function () {
966
1017
  */
967
1018
  MatSnackBar.prototype._createInjector = /**
968
1019
  * Creates an injector to be used inside of a snack bar component.
1020
+ * @private
969
1021
  * @template T
970
1022
  * @param {?} config Config that was used to create the snack bar.
971
1023
  * @param {?} snackBarRef Reference to the snack bar.