@angular/material 7.1.0 → 7.2.2

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 (495) hide show
  1. package/LICENSE +1 -1
  2. package/_theming.scss +50 -19
  3. package/autocomplete/typings/index.d.ts +0 -1
  4. package/autocomplete/typings/index.metadata.json +1 -1
  5. package/autocomplete/typings/public-api.d.ts +1 -0
  6. package/badge/typings/index.metadata.json +1 -1
  7. package/bottom-sheet/typings/bottom-sheet-ref.d.ts +2 -0
  8. package/bottom-sheet/typings/index.metadata.json +1 -1
  9. package/bundles/material-autocomplete.umd.js +139 -39
  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 +67 -22
  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 +45 -14
  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 +126 -38
  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 +190 -127
  42. package/bundles/material-core.umd.js.map +1 -1
  43. package/bundles/material-core.umd.min.js +1 -2
  44. package/bundles/material-core.umd.min.js.map +1 -1
  45. package/bundles/material-datepicker.umd.js +205 -42
  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 +52 -26
  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 +123 -34
  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 +67 -16
  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 +288 -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 +159 -26
  77. package/bundles/material-list.umd.js.map +1 -1
  78. package/bundles/material-list.umd.min.js +2 -2
  79. package/bundles/material-list.umd.min.js.map +1 -1
  80. package/bundles/material-menu.umd.js +176 -70
  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 +25 -8
  85. package/bundles/material-paginator.umd.js.map +1 -1
  86. package/bundles/material-paginator.umd.min.js.map +1 -1
  87. package/bundles/material-progress-bar.umd.js +32 -13
  88. package/bundles/material-progress-bar.umd.js.map +1 -1
  89. package/bundles/material-progress-bar.umd.min.js +1 -1
  90. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  91. package/bundles/material-progress-spinner.umd.js +30 -14
  92. package/bundles/material-progress-spinner.umd.js.map +1 -1
  93. package/bundles/material-progress-spinner.umd.min.js +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 +186 -49
  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 +31 -15
  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 +88 -20
  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 +69 -20
  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 +29 -20
  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 +48 -15
  128. package/bundles/material-table.umd.js.map +1 -1
  129. package/bundles/material-table.umd.min.js +1 -1
  130. package/bundles/material-table.umd.min.js.map +1 -1
  131. package/bundles/material-tabs.umd.js +162 -61
  132. package/bundles/material-tabs.umd.js.map +1 -1
  133. package/bundles/material-tabs.umd.min.js +2 -2
  134. package/bundles/material-tabs.umd.min.js.map +1 -1
  135. package/bundles/material-toolbar.umd.js +14 -4
  136. package/bundles/material-toolbar.umd.js.map +1 -1
  137. package/bundles/material-toolbar.umd.min.js +1 -1
  138. package/bundles/material-toolbar.umd.min.js.map +1 -1
  139. package/bundles/material-tooltip.umd.js +62 -26
  140. package/bundles/material-tooltip.umd.js.map +1 -1
  141. package/bundles/material-tooltip.umd.min.js +1 -1
  142. package/bundles/material-tooltip.umd.min.js.map +1 -1
  143. package/bundles/material-tree.umd.js +25 -16
  144. package/bundles/material-tree.umd.js.map +1 -1
  145. package/bundles/material-tree.umd.min.js +1 -1
  146. package/bundles/material-tree.umd.min.js.map +1 -1
  147. package/bundles/material.umd.js +2927 -995
  148. package/bundles/material.umd.js.map +1 -1
  149. package/bundles/material.umd.min.js +18 -18
  150. package/bundles/material.umd.min.js.map +1 -1
  151. package/button/typings/button.d.ts +0 -5
  152. package/button/typings/index.metadata.json +1 -1
  153. package/button-toggle/typings/index.metadata.json +1 -1
  154. package/card/typings/index.metadata.json +1 -1
  155. package/checkbox/typings/index.metadata.json +1 -1
  156. package/chips/typings/chip-list.d.ts +2 -2
  157. package/chips/typings/chip.d.ts +2 -2
  158. package/chips/typings/index.metadata.json +1 -1
  159. package/core/typings/index.metadata.json +1 -1
  160. package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  161. package/core/typings/public-api.d.ts +1 -1
  162. package/core/typings/ripple/ripple.d.ts +1 -1
  163. package/datepicker/typings/calendar.d.ts +2 -2
  164. package/datepicker/typings/index.metadata.json +1 -1
  165. package/dialog/typings/index.metadata.json +1 -1
  166. package/esm2015/autocomplete.js +73 -36
  167. package/esm2015/autocomplete.js.map +1 -1
  168. package/esm2015/badge.js +29 -6
  169. package/esm2015/badge.js.map +1 -1
  170. package/esm2015/bottom-sheet.js +44 -23
  171. package/esm2015/bottom-sheet.js.map +1 -1
  172. package/esm2015/button-toggle.js +27 -11
  173. package/esm2015/button-toggle.js.map +1 -1
  174. package/esm2015/button.js +20 -15
  175. package/esm2015/button.js.map +1 -1
  176. package/esm2015/card.js +5 -5
  177. package/esm2015/card.js.map +1 -1
  178. package/esm2015/checkbox.js +30 -12
  179. package/esm2015/checkbox.js.map +1 -1
  180. package/esm2015/chips.js +64 -30
  181. package/esm2015/chips.js.map +1 -1
  182. package/esm2015/core.js +147 -128
  183. package/esm2015/core.js.map +1 -1
  184. package/esm2015/datepicker.js +103 -37
  185. package/esm2015/datepicker.js.map +1 -1
  186. package/esm2015/dialog.js +77 -40
  187. package/esm2015/dialog.js.map +1 -1
  188. package/esm2015/divider.js +4 -4
  189. package/esm2015/divider.js.map +1 -1
  190. package/esm2015/expansion.js +56 -29
  191. package/esm2015/expansion.js.map +1 -1
  192. package/esm2015/form-field.js +95 -35
  193. package/esm2015/form-field.js.map +1 -1
  194. package/esm2015/grid-list.js +45 -17
  195. package/esm2015/grid-list.js.map +1 -1
  196. package/esm2015/icon.js +144 -67
  197. package/esm2015/icon.js.map +1 -1
  198. package/esm2015/input.js +44 -23
  199. package/esm2015/input.js.map +1 -1
  200. package/esm2015/list.js +118 -24
  201. package/esm2015/list.js.map +1 -1
  202. package/esm2015/material.js +13 -12
  203. package/esm2015/material.js.map +1 -1
  204. package/esm2015/menu.js +114 -67
  205. package/esm2015/menu.js.map +1 -1
  206. package/esm2015/paginator.js +17 -9
  207. package/esm2015/paginator.js.map +1 -1
  208. package/esm2015/progress-bar.js +26 -13
  209. package/esm2015/progress-bar.js.map +1 -1
  210. package/esm2015/progress-spinner.js +24 -14
  211. package/esm2015/progress-spinner.js.map +1 -1
  212. package/esm2015/radio.js +22 -21
  213. package/esm2015/radio.js.map +1 -1
  214. package/esm2015/select.js +112 -50
  215. package/esm2015/select.js.map +1 -1
  216. package/esm2015/sidenav.js +75 -28
  217. package/esm2015/sidenav.js.map +1 -1
  218. package/esm2015/slide-toggle.js +23 -15
  219. package/esm2015/slide-toggle.js.map +1 -1
  220. package/esm2015/slider.js +51 -23
  221. package/esm2015/slider.js.map +1 -1
  222. package/esm2015/snack-bar.js +38 -21
  223. package/esm2015/snack-bar.js.map +1 -1
  224. package/esm2015/sort.js +47 -24
  225. package/esm2015/sort.js.map +1 -1
  226. package/esm2015/stepper.js +32 -23
  227. package/esm2015/stepper.js.map +1 -1
  228. package/esm2015/table.js +51 -18
  229. package/esm2015/table.js.map +1 -1
  230. package/esm2015/tabs.js +112 -49
  231. package/esm2015/tabs.js.map +1 -1
  232. package/esm2015/toolbar.js +9 -5
  233. package/esm2015/toolbar.js.map +1 -1
  234. package/esm2015/tooltip.js +49 -28
  235. package/esm2015/tooltip.js.map +1 -1
  236. package/esm2015/tree.js +22 -17
  237. package/esm2015/tree.js.map +1 -1
  238. package/esm5/autocomplete.es5.js +141 -41
  239. package/esm5/autocomplete.es5.js.map +1 -1
  240. package/esm5/badge.es5.js +40 -7
  241. package/esm5/badge.es5.js.map +1 -1
  242. package/esm5/bottom-sheet.es5.js +68 -23
  243. package/esm5/bottom-sheet.es5.js.map +1 -1
  244. package/esm5/button-toggle.es5.js +46 -15
  245. package/esm5/button-toggle.es5.js.map +1 -1
  246. package/esm5/button.es5.js +23 -16
  247. package/esm5/button.es5.js.map +1 -1
  248. package/esm5/card.es5.js +5 -5
  249. package/esm5/card.es5.js.map +1 -1
  250. package/esm5/checkbox.es5.js +58 -17
  251. package/esm5/checkbox.es5.js.map +1 -1
  252. package/esm5/chips.es5.js +129 -41
  253. package/esm5/chips.es5.js.map +1 -1
  254. package/esm5/core.es5.js +192 -129
  255. package/esm5/core.es5.js.map +1 -1
  256. package/esm5/datepicker.es5.js +207 -44
  257. package/esm5/datepicker.es5.js.map +1 -1
  258. package/esm5/dialog.es5.js +140 -42
  259. package/esm5/dialog.es5.js.map +1 -1
  260. package/esm5/divider.es5.js +4 -4
  261. package/esm5/divider.es5.js.map +1 -1
  262. package/esm5/expansion.es5.js +54 -29
  263. package/esm5/expansion.es5.js.map +1 -1
  264. package/esm5/form-field.es5.js +126 -37
  265. package/esm5/form-field.es5.js.map +1 -1
  266. package/esm5/grid-list.es5.js +68 -17
  267. package/esm5/grid-list.es5.js.map +1 -1
  268. package/esm5/icon.es5.js +290 -80
  269. package/esm5/icon.es5.js.map +1 -1
  270. package/esm5/input.es5.js +52 -24
  271. package/esm5/input.es5.js.map +1 -1
  272. package/esm5/list.es5.js +161 -27
  273. package/esm5/list.es5.js.map +1 -1
  274. package/esm5/material.es5.js +13 -12
  275. package/esm5/material.es5.js.map +1 -1
  276. package/esm5/menu.es5.js +175 -69
  277. package/esm5/menu.es5.js.map +1 -1
  278. package/esm5/paginator.es5.js +27 -10
  279. package/esm5/paginator.es5.js.map +1 -1
  280. package/esm5/progress-bar.es5.js +33 -14
  281. package/esm5/progress-bar.es5.js.map +1 -1
  282. package/esm5/progress-spinner.es5.js +31 -15
  283. package/esm5/progress-spinner.es5.js.map +1 -1
  284. package/esm5/radio.es5.js +42 -42
  285. package/esm5/radio.es5.js.map +1 -1
  286. package/esm5/select.es5.js +189 -52
  287. package/esm5/select.es5.js.map +1 -1
  288. package/esm5/sidenav.es5.js +107 -28
  289. package/esm5/sidenav.es5.js.map +1 -1
  290. package/esm5/slide-toggle.es5.js +32 -16
  291. package/esm5/slide-toggle.es5.js.map +1 -1
  292. package/esm5/slider.es5.js +91 -23
  293. package/esm5/slider.es5.js.map +1 -1
  294. package/esm5/snack-bar.es5.js +70 -21
  295. package/esm5/snack-bar.es5.js.map +1 -1
  296. package/esm5/sort.es5.js +53 -26
  297. package/esm5/sort.es5.js.map +1 -1
  298. package/esm5/stepper.es5.js +32 -23
  299. package/esm5/stepper.es5.js.map +1 -1
  300. package/esm5/table.es5.js +51 -18
  301. package/esm5/table.es5.js.map +1 -1
  302. package/esm5/tabs.es5.js +156 -55
  303. package/esm5/tabs.es5.js.map +1 -1
  304. package/esm5/toolbar.es5.js +16 -6
  305. package/esm5/toolbar.es5.js.map +1 -1
  306. package/esm5/tooltip.es5.js +64 -28
  307. package/esm5/tooltip.es5.js.map +1 -1
  308. package/esm5/tree.es5.js +27 -18
  309. package/esm5/tree.es5.js.map +1 -1
  310. package/expansion/typings/expansion-panel-header.d.ts +2 -2
  311. package/expansion/typings/expansion-panel.d.ts +19 -2
  312. package/expansion/typings/index.metadata.json +1 -1
  313. package/form-field/typings/form-field.d.ts +15 -4
  314. package/form-field/typings/index.metadata.json +1 -1
  315. package/form-field/typings/prefix.d.ts +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/icon-registry.d.ts +3 -2
  319. package/icon/typings/index.metadata.json +1 -1
  320. package/list/typings/index.metadata.json +1 -1
  321. package/list/typings/list.d.ts +16 -5
  322. package/list/typings/selection-list.d.ts +1 -0
  323. package/material.d.ts +1 -1
  324. package/material.metadata.json +3 -3
  325. package/menu/typings/index.d.ts +4 -4
  326. package/menu/typings/index.metadata.json +1 -1
  327. package/menu/typings/menu-directive.d.ts +1 -0
  328. package/menu/typings/menu-item.d.ts +2 -0
  329. package/menu/typings/menu-trigger.d.ts +1 -1
  330. package/package.json +5 -5
  331. package/prebuilt-themes/deeppurple-amber.css +1 -1
  332. package/prebuilt-themes/indigo-pink.css +1 -1
  333. package/prebuilt-themes/pink-bluegrey.css +1 -1
  334. package/prebuilt-themes/purple-green.css +1 -1
  335. package/progress-bar/typings/index.metadata.json +1 -1
  336. package/radio/typings/index.metadata.json +1 -1
  337. package/radio/typings/radio.d.ts +2 -6
  338. package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  339. package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
  340. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  341. package/schematics/ng-add/theming/theming.js +35 -19
  342. package/schematics/ng-add/theming/theming.js.map +1 -1
  343. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  344. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  345. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  346. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  347. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  348. package/select/typings/index.metadata.json +1 -1
  349. package/select/typings/select.d.ts +12 -2
  350. package/sidenav/typings/drawer.d.ts +9 -2
  351. package/sidenav/typings/index.metadata.json +1 -1
  352. package/slide-toggle/typings/index.metadata.json +1 -1
  353. package/slider/typings/index.metadata.json +1 -1
  354. package/snack-bar/typings/index.metadata.json +1 -1
  355. package/sort/typings/index.metadata.json +1 -1
  356. package/stepper/typings/index.metadata.json +1 -1
  357. package/table/typings/index.metadata.json +1 -1
  358. package/table/typings/table-data-source.d.ts +2 -0
  359. package/tabs/typings/index.d.ts +5 -5
  360. package/tabs/typings/index.metadata.json +1 -1
  361. package/tabs/typings/tab-group.d.ts +2 -1
  362. package/tabs/typings/tab-header.d.ts +8 -4
  363. package/toolbar/typings/index.metadata.json +1 -1
  364. package/tooltip/typings/index.metadata.json +1 -1
  365. package/tooltip/typings/tooltip.d.ts +2 -1
  366. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  367. package/tree/typings/index.metadata.json +1 -1
  368. package/typings/autocomplete/index.d.ts +0 -1
  369. package/typings/autocomplete/index.metadata.json +1 -1
  370. package/typings/autocomplete/public-api.d.ts +1 -0
  371. package/typings/badge/index.metadata.json +1 -1
  372. package/typings/bottom-sheet/bottom-sheet-ref.d.ts +2 -0
  373. package/typings/bottom-sheet/index.metadata.json +1 -1
  374. package/typings/button/button.d.ts +0 -5
  375. package/typings/button/index.metadata.json +1 -1
  376. package/typings/button-toggle/index.metadata.json +1 -1
  377. package/typings/card/index.metadata.json +1 -1
  378. package/typings/checkbox/index.metadata.json +1 -1
  379. package/typings/chips/chip-list.d.ts +2 -2
  380. package/typings/chips/chip.d.ts +2 -2
  381. package/typings/chips/index.metadata.json +1 -1
  382. package/typings/core/index.metadata.json +1 -1
  383. package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  384. package/typings/core/public-api.d.ts +1 -1
  385. package/typings/core/ripple/ripple.d.ts +1 -1
  386. package/typings/datepicker/calendar.d.ts +2 -2
  387. package/typings/datepicker/index.metadata.json +1 -1
  388. package/typings/dialog/index.metadata.json +1 -1
  389. package/typings/esm5/autocomplete/index.d.ts +0 -1
  390. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  391. package/typings/esm5/autocomplete/public-api.d.ts +1 -0
  392. package/typings/esm5/badge/index.metadata.json +1 -1
  393. package/typings/esm5/bottom-sheet/bottom-sheet-ref.d.ts +2 -0
  394. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  395. package/typings/esm5/button/button.d.ts +0 -5
  396. package/typings/esm5/button/index.metadata.json +1 -1
  397. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  398. package/typings/esm5/card/index.metadata.json +1 -1
  399. package/typings/esm5/checkbox/index.metadata.json +1 -1
  400. package/typings/esm5/chips/chip-list.d.ts +2 -2
  401. package/typings/esm5/chips/chip.d.ts +2 -2
  402. package/typings/esm5/chips/index.metadata.json +1 -1
  403. package/typings/esm5/core/index.metadata.json +1 -1
  404. package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  405. package/typings/esm5/core/public-api.d.ts +1 -1
  406. package/typings/esm5/core/ripple/ripple.d.ts +1 -1
  407. package/typings/esm5/datepicker/calendar.d.ts +2 -2
  408. package/typings/esm5/datepicker/index.metadata.json +1 -1
  409. package/typings/esm5/dialog/index.metadata.json +1 -1
  410. package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
  411. package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
  412. package/typings/esm5/expansion/index.metadata.json +1 -1
  413. package/typings/esm5/form-field/form-field.d.ts +15 -4
  414. package/typings/esm5/form-field/index.metadata.json +1 -1
  415. package/typings/esm5/form-field/prefix.d.ts +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/icon-registry.d.ts +3 -2
  419. package/typings/esm5/icon/index.metadata.json +1 -1
  420. package/typings/esm5/index.metadata.json +1 -1
  421. package/typings/esm5/list/index.metadata.json +1 -1
  422. package/typings/esm5/list/list.d.ts +16 -5
  423. package/typings/esm5/list/selection-list.d.ts +1 -0
  424. package/typings/esm5/menu/index.d.ts +4 -4
  425. package/typings/esm5/menu/index.metadata.json +1 -1
  426. package/typings/esm5/menu/menu-directive.d.ts +1 -0
  427. package/typings/esm5/menu/menu-item.d.ts +2 -0
  428. package/typings/esm5/menu/menu-trigger.d.ts +1 -1
  429. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  430. package/typings/esm5/radio/index.metadata.json +1 -1
  431. package/typings/esm5/radio/radio.d.ts +2 -6
  432. package/typings/esm5/select/index.metadata.json +1 -1
  433. package/typings/esm5/select/select.d.ts +12 -2
  434. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  435. package/typings/esm5/sidenav/index.metadata.json +1 -1
  436. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  437. package/typings/esm5/slider/index.metadata.json +1 -1
  438. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  439. package/typings/esm5/sort/index.metadata.json +1 -1
  440. package/typings/esm5/stepper/index.metadata.json +1 -1
  441. package/typings/esm5/table/index.metadata.json +1 -1
  442. package/typings/esm5/table/table-data-source.d.ts +2 -0
  443. package/typings/esm5/tabs/index.d.ts +5 -5
  444. package/typings/esm5/tabs/index.metadata.json +1 -1
  445. package/typings/esm5/tabs/tab-group.d.ts +2 -1
  446. package/typings/esm5/tabs/tab-header.d.ts +8 -4
  447. package/typings/esm5/toolbar/index.metadata.json +1 -1
  448. package/typings/esm5/tooltip/index.metadata.json +1 -1
  449. package/typings/esm5/tooltip/tooltip.d.ts +2 -1
  450. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  451. package/typings/esm5/tree/index.metadata.json +1 -1
  452. package/typings/expansion/expansion-panel-header.d.ts +2 -2
  453. package/typings/expansion/expansion-panel.d.ts +19 -2
  454. package/typings/expansion/index.metadata.json +1 -1
  455. package/typings/form-field/form-field.d.ts +15 -4
  456. package/typings/form-field/index.metadata.json +1 -1
  457. package/typings/form-field/prefix.d.ts +1 -1
  458. package/typings/grid-list/index.d.ts +1 -1
  459. package/typings/grid-list/index.metadata.json +1 -1
  460. package/typings/icon/icon-registry.d.ts +3 -2
  461. package/typings/icon/index.metadata.json +1 -1
  462. package/typings/index.metadata.json +1 -1
  463. package/typings/list/index.metadata.json +1 -1
  464. package/typings/list/list.d.ts +16 -5
  465. package/typings/list/selection-list.d.ts +1 -0
  466. package/typings/menu/index.d.ts +4 -4
  467. package/typings/menu/index.metadata.json +1 -1
  468. package/typings/menu/menu-directive.d.ts +1 -0
  469. package/typings/menu/menu-item.d.ts +2 -0
  470. package/typings/menu/menu-trigger.d.ts +1 -1
  471. package/typings/progress-bar/index.metadata.json +1 -1
  472. package/typings/radio/index.metadata.json +1 -1
  473. package/typings/radio/radio.d.ts +2 -6
  474. package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  475. package/typings/select/index.metadata.json +1 -1
  476. package/typings/select/select.d.ts +12 -2
  477. package/typings/sidenav/drawer.d.ts +9 -2
  478. package/typings/sidenav/index.metadata.json +1 -1
  479. package/typings/slide-toggle/index.metadata.json +1 -1
  480. package/typings/slider/index.metadata.json +1 -1
  481. package/typings/snack-bar/index.metadata.json +1 -1
  482. package/typings/sort/index.metadata.json +1 -1
  483. package/typings/stepper/index.metadata.json +1 -1
  484. package/typings/table/index.metadata.json +1 -1
  485. package/typings/table/table-data-source.d.ts +2 -0
  486. package/typings/tabs/index.d.ts +5 -5
  487. package/typings/tabs/index.metadata.json +1 -1
  488. package/typings/tabs/tab-group.d.ts +2 -1
  489. package/typings/tabs/tab-header.d.ts +8 -4
  490. package/typings/toolbar/index.metadata.json +1 -1
  491. package/typings/tooltip/index.metadata.json +1 -1
  492. package/typings/tooltip/tooltip.d.ts +2 -1
  493. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  494. package/typings/tree/index.metadata.json +1 -1
  495. package/schematics/ng-add/theming/custom-theme.js.map +0 -1
@@ -18,11 +18,12 @@ import { HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
18
18
 
19
19
  /**
20
20
  * @fileoverview added by tsickle
21
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
21
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
22
22
  */
23
- /** *
23
+ /**
24
24
  * Injection token to be used to override the default options for `mat-slide-toggle`.
25
- @type {?} */
25
+ * @type {?}
26
+ */
26
27
  const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS = new InjectionToken('mat-slide-toggle-default-options', {
27
28
  providedIn: 'root',
28
29
  factory: () => ({ disableToggleValue: false, disableDragValue: false })
@@ -30,13 +31,15 @@ const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS = new InjectionToken('mat-slide-toggle-de
30
31
 
31
32
  /**
32
33
  * @fileoverview added by tsickle
33
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
34
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
34
35
  */
36
+ // Increasing integer for generating unique ids for slide-toggle components.
35
37
  /** @type {?} */
36
38
  let nextUniqueId = 0;
37
- /** *
39
+ /**
38
40
  * \@docs-private
39
- @type {?} */
41
+ * @type {?}
42
+ */
40
43
  const MAT_SLIDE_TOGGLE_VALUE_ACCESSOR = {
41
44
  provide: NG_VALUE_ACCESSOR,
42
45
  useExisting: forwardRef(() => MatSlideToggle),
@@ -55,6 +58,7 @@ class MatSlideToggleChange {
55
58
  this.checked = checked;
56
59
  }
57
60
  }
61
+ // Boilerplate for applying mixins to MatSlideToggle.
58
62
  /**
59
63
  * \@docs-private
60
64
  */
@@ -83,10 +87,11 @@ class MatSlideToggle extends _MatSlideToggleMixinBase {
83
87
  * @param {?=} _animationMode
84
88
  * @param {?=} _dir
85
89
  */
86
- constructor(elementRef, /**
87
- * @deprecated The `_platform` parameter to be removed.
88
- * @breaking-change 8.0.0
89
- */
90
+ constructor(elementRef,
91
+ /**
92
+ * @deprecated The `_platform` parameter to be removed.
93
+ * @breaking-change 8.0.0
94
+ */
90
95
  _platform, _focusMonitor, _changeDetectorRef, tabIndex, _ngZone, defaults, _animationMode, _dir) {
91
96
  super(elementRef);
92
97
  this._focusMonitor = _focusMonitor;
@@ -288,6 +293,7 @@ class MatSlideToggle extends _MatSlideToggleMixinBase {
288
293
  }
289
294
  /**
290
295
  * Emits a change event on the `change` output. Also notifies the FormControl about the change.
296
+ * @private
291
297
  * @return {?}
292
298
  */
293
299
  _emitChangeEvent() {
@@ -296,6 +302,7 @@ class MatSlideToggle extends _MatSlideToggleMixinBase {
296
302
  }
297
303
  /**
298
304
  * Retrieves the percentage of thumb from the moved distance. Percentage as fraction of 100.
305
+ * @private
299
306
  * @param {?} distance
300
307
  * @return {?}
301
308
  */
@@ -330,6 +337,7 @@ class MatSlideToggle extends _MatSlideToggleMixinBase {
330
337
  /** @type {?} */
331
338
  const direction = this._dir && this._dir.value === 'rtl' ? -1 : 1;
332
339
  this._dragPercentage = this._getDragPercentage(event.deltaX * direction);
340
+ // Calculate the moved distance based on the thumb bar width.
333
341
  /** @type {?} */
334
342
  const dragX = (this._dragPercentage / 100) * this._thumbBarWidth * direction;
335
343
  this._thumbEl.nativeElement.style.transform = `translate3d(${dragX}px, 0, 0)`;
@@ -389,8 +397,8 @@ MatSlideToggle.decorators = [
389
397
  '[class._mat-animation-noopable]': '_animationMode === "NoopAnimations"',
390
398
  '(focus)': '_inputElement.nativeElement.focus()',
391
399
  },
392
- template: "<label class=\"mat-slide-toggle-label\" #label><div #toggleBar class=\"mat-slide-toggle-bar\" [class.mat-slide-toggle-bar-no-side-margin]=\"!labelContent.textContent || !labelContent.textContent.trim()\"><input #input class=\"mat-slide-toggle-input cdk-visually-hidden\" type=\"checkbox\" [id]=\"inputId\" [required]=\"required\" [tabIndex]=\"tabIndex\" [checked]=\"checked\" [disabled]=\"disabled\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledby\" (change)=\"_onChangeEvent($event)\" (click)=\"_onInputClick($event)\"><div class=\"mat-slide-toggle-thumb-container\" #thumbContainer (slidestart)=\"_onDragStart()\" (slide)=\"_onDrag($event)\" (slideend)=\"_onDragEnd()\"><div class=\"mat-slide-toggle-thumb\"></div><div class=\"mat-slide-toggle-ripple\" mat-ripple [matRippleTrigger]=\"label\" [matRippleDisabled]=\"disableRipple || disabled\" [matRippleCentered]=\"true\" [matRippleRadius]=\"20\" [matRippleAnimation]=\"{enterDuration: 150}\"><div class=\"mat-ripple-element mat-slide-toggle-persistent-ripple\"></div></div></div></div><span class=\"mat-slide-toggle-content\" #labelContent (cdkObserveContent)=\"_onLabelTextChange()\"><ng-content></ng-content></span></label>",
393
- styles: [".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px,0,0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px,0,0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}.mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-right:8px;margin-left:0}.mat-slide-toggle-label-before .mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0,0,0);transition:all 80ms linear;transition-property:transform;cursor:-webkit-grab;cursor:grab}.mat-slide-toggle-thumb-container.mat-dragging,.mat-slide-toggle-thumb-container:active{cursor:-webkit-grabbing;cursor:grabbing;transition-duration:0s}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media (hover:none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}@media screen and (-ms-high-contrast:active){.mat-slide-toggle-thumb{background:#fff;border:1px solid #000}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background:#000;border:1px solid #fff}.mat-slide-toggle-bar{background:#fff}.mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:1px dotted;outline-offset:5px}}@media screen and (-ms-high-contrast:black-on-white){.mat-slide-toggle-bar{border:1px solid #000}}"],
400
+ template: "<label [attr.for]=\"inputId\" class=\"mat-slide-toggle-label\" #label><div #toggleBar class=\"mat-slide-toggle-bar\" [class.mat-slide-toggle-bar-no-side-margin]=\"!labelContent.textContent || !labelContent.textContent.trim()\"><input #input class=\"mat-slide-toggle-input cdk-visually-hidden\" type=\"checkbox\" [id]=\"inputId\" [required]=\"required\" [tabIndex]=\"tabIndex\" [checked]=\"checked\" [disabled]=\"disabled\" [attr.name]=\"name\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledby\" (change)=\"_onChangeEvent($event)\" (click)=\"_onInputClick($event)\"><div class=\"mat-slide-toggle-thumb-container\" #thumbContainer (slidestart)=\"_onDragStart()\" (slide)=\"_onDrag($event)\" (slideend)=\"_onDragEnd()\"><div class=\"mat-slide-toggle-thumb\"></div><div class=\"mat-slide-toggle-ripple\" mat-ripple [matRippleTrigger]=\"label\" [matRippleDisabled]=\"disableRipple || disabled\" [matRippleCentered]=\"true\" [matRippleRadius]=\"20\" [matRippleAnimation]=\"{enterDuration: 150}\"><div class=\"mat-ripple-element mat-slide-toggle-persistent-ripple\"></div></div></div></div><span class=\"mat-slide-toggle-content\" #labelContent (cdkObserveContent)=\"_onLabelTextChange()\"><span style=\"display:none\">&nbsp;</span><ng-content></ng-content></span></label>",
401
+ styles: [".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px,0,0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px,0,0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}.mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-right:8px;margin-left:0}.mat-slide-toggle-label-before .mat-slide-toggle-bar,[dir=rtl] .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0,0,0);transition:all 80ms linear;transition-property:transform;cursor:-webkit-grab;cursor:grab}.mat-slide-toggle-thumb-container.mat-dragging,.mat-slide-toggle-thumb-container:active{cursor:-webkit-grabbing;cursor:grabbing;transition-duration:0s}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media (hover:none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}@media (-ms-high-contrast:active){.mat-slide-toggle-thumb{background:#fff;border:1px solid #000}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background:#000;border:1px solid #fff}.mat-slide-toggle-bar{background:#fff}.mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar{outline:1px dotted;outline-offset:5px}}@media (-ms-high-contrast:black-on-white){.mat-slide-toggle-bar{border:1px solid #000}}"],
394
402
  providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR],
395
403
  inputs: ['disabled', 'disableRipple', 'color', 'tabIndex'],
396
404
  encapsulation: ViewEncapsulation.None,
@@ -427,7 +435,7 @@ MatSlideToggle.propDecorators = {
427
435
 
428
436
  /**
429
437
  * @fileoverview added by tsickle
430
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
438
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
431
439
  */
432
440
  class MatSlideToggleModule {
433
441
  }
@@ -444,12 +452,12 @@ MatSlideToggleModule.decorators = [
444
452
 
445
453
  /**
446
454
  * @fileoverview added by tsickle
447
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
455
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
448
456
  */
449
457
 
450
458
  /**
451
459
  * @fileoverview added by tsickle
452
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
460
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
453
461
  */
454
462
 
455
463
  export { MatSlideToggleModule, MAT_SLIDE_TOGGLE_VALUE_ACCESSOR, MatSlideToggleChange, MatSlideToggleBase, _MatSlideToggleMixinBase, MatSlideToggle, MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS };
@@ -1 +1 @@
1
- {"version":3,"file":"slide-toggle.js","sources":["../../../src/lib/slide-toggle/slide-toggle-module.ts","../../../src/lib/slide-toggle/slide-toggle.ts","../../../src/lib/slide-toggle/slide-toggle-config.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {NgModule} from '@angular/core';\nimport {GestureConfig, MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {HAMMER_GESTURE_CONFIG} from '@angular/platform-browser';\nimport {MatSlideToggle} from './slide-toggle';\n\n\n@NgModule({\n imports: [MatRippleModule, MatCommonModule, ObserversModule],\n exports: [MatSlideToggle, MatCommonModule],\n declarations: [MatSlideToggle],\n providers: [\n {provide: HAMMER_GESTURE_CONFIG, useClass: GestureConfig}\n ],\n})\nexport class MatSlideToggleModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n NgZone,\n Optional,\n Inject,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n CanColor, CanColorCtor,\n CanDisable, CanDisableCtor,\n CanDisableRipple, CanDisableRippleCtor,\n HammerInput,\n HasTabIndex, HasTabIndexCtor,\n mixinColor,\n mixinDisabled,\n mixinDisableRipple,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {\n MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS,\n MatSlideToggleDefaultOptions\n} from './slide-toggle-config';\n\n// Increasing integer for generating unique ids for slide-toggle components.\nlet nextUniqueId = 0;\n\n/** @docs-private */\nexport const MAT_SLIDE_TOGGLE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlideToggle),\n multi: true\n};\n\n/** Change event object emitted by a MatSlideToggle. */\nexport class MatSlideToggleChange {\n constructor(\n /** The source MatSlideToggle of the event. */\n public source: MatSlideToggle,\n /** The new `checked` value of the MatSlideToggle. */\n public checked: boolean) { }\n}\n\n// Boilerplate for applying mixins to MatSlideToggle.\n/** @docs-private */\nexport class MatSlideToggleBase {\n constructor(public _elementRef: ElementRef) {}\n}\nexport const _MatSlideToggleMixinBase:\n HasTabIndexCtor &\n CanColorCtor &\n CanDisableRippleCtor &\n CanDisableCtor &\n typeof MatSlideToggleBase =\n mixinTabIndex(mixinColor(mixinDisableRipple(mixinDisabled(MatSlideToggleBase)), 'accent'));\n\n/** Represents a slidable \"switch\" toggle that can be moved between on and off. */\n@Component({\n moduleId: module.id,\n selector: 'mat-slide-toggle',\n exportAs: 'matSlideToggle',\n host: {\n 'class': 'mat-slide-toggle',\n '[id]': 'id',\n '[attr.tabindex]': '-1', // Needs to be `-1` so it can still receive programmatic focus.\n '[class.mat-checked]': 'checked',\n '[class.mat-disabled]': 'disabled',\n '[class.mat-slide-toggle-label-before]': 'labelPosition == \"before\"',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n '(focus)': '_inputElement.nativeElement.focus()',\n },\n templateUrl: 'slide-toggle.html',\n styleUrls: ['slide-toggle.css'],\n providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR],\n inputs: ['disabled', 'disableRipple', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSlideToggle extends _MatSlideToggleMixinBase implements OnDestroy, AfterContentInit,\n ControlValueAccessor, CanDisable, CanColor, HasTabIndex, CanDisableRipple {\n\n private onChange = (_: any) => {};\n private onTouched = () => {};\n\n private _uniqueId: string = `mat-slide-toggle-${++nextUniqueId}`;\n private _required: boolean = false;\n private _checked: boolean = false;\n\n /** Whether the thumb is currently being dragged. */\n private _dragging = false;\n\n /** Previous checked state before drag started. */\n private _previousChecked: boolean;\n\n /** Width of the thumb bar of the slide-toggle. */\n private _thumbBarWidth: number;\n\n /** Percentage of the thumb while dragging. Percentage as fraction of 100. */\n private _dragPercentage: number;\n\n /** Reference to the thumb HTMLElement. */\n @ViewChild('thumbContainer') _thumbEl: ElementRef;\n\n /** Reference to the thumb bar HTMLElement. */\n @ViewChild('toggleBar') _thumbBarEl: ElementRef;\n\n /** Name value will be applied to the input element if present. */\n @Input() name: string | null = null;\n\n /** A unique id for the slide-toggle input. If none is supplied, it will be auto-generated. */\n @Input() id: string = this._uniqueId;\n\n /** Whether the label should appear after or before the slide-toggle. Defaults to 'after'. */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Used to set the aria-label attribute on the underlying input element. */\n @Input('aria-label') ariaLabel: string | null = null;\n\n /** Used to set the aria-labelledby attribute on the underlying input element. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Whether the slide-toggle is required. */\n @Input()\n get required(): boolean { return this._required; }\n set required(value) { this._required = coerceBooleanProperty(value); }\n\n /** Whether the slide-toggle element is checked or not. */\n @Input()\n get checked(): boolean { return this._checked; }\n set checked(value) {\n this._checked = coerceBooleanProperty(value);\n this._changeDetectorRef.markForCheck();\n }\n /** An event will be dispatched each time the slide-toggle changes its value. */\n @Output() readonly change: EventEmitter<MatSlideToggleChange> =\n new EventEmitter<MatSlideToggleChange>();\n\n /**\n * An event will be dispatched each time the slide-toggle input is toggled.\n * This event is always emitted when the user toggles the slide toggle, but this does not mean\n * the slide toggle's value has changed. The event does not fire when the user drags to change\n * the slide toggle value.\n */\n @Output() readonly toggleChange: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * An event will be dispatched each time the slide-toggle is dragged.\n * This event is always emitted when the user drags the slide toggle to make a change greater\n * than 50%. It does not mean the slide toggle's value is changed. The event is not emitted when\n * the user toggles the slide toggle to change its value.\n */\n @Output() readonly dragChange: EventEmitter<void> = new EventEmitter<void>();\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string { return `${this.id || this._uniqueId}-input`; }\n\n /** Reference to the underlying input element. */\n @ViewChild('input') _inputElement: ElementRef<HTMLInputElement>;\n\n constructor(elementRef: ElementRef,\n /**\n * @deprecated The `_platform` parameter to be removed.\n * @breaking-change 8.0.0\n */\n _platform: Platform,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef,\n @Attribute('tabindex') tabIndex: string,\n private _ngZone: NgZone,\n @Inject(MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS)\n public defaults: MatSlideToggleDefaultOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string,\n @Optional() private _dir?: Directionality) {\n super(elementRef);\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n\n ngAfterContentInit() {\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe(focusOrigin => {\n if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state\n // change (such as a form control's 'ng-touched') will cause a changed-after-checked\n // error. See https://github.com/angular/angular/issues/17793. To work around this,\n // we defer telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => this.onTouched());\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Method being called whenever the underlying input emits a change event. */\n _onChangeEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the component's `change` output.\n event.stopPropagation();\n\n if (!this._dragging) {\n this.toggleChange.emit();\n }\n // Releasing the pointer over the `<label>` element while dragging triggers another\n // click event on the `<label>` element. This means that the checked state of the underlying\n // input changed unintentionally and needs to be changed back. Or when the slide toggle's config\n // disabled toggle change event by setting `disableToggleValue: true`, the slide toggle's value\n // does not change, and the checked state of the underlying input needs to be changed back.\n if (this._dragging || this.defaults.disableToggleValue) {\n this._inputElement.nativeElement.checked = this.checked;\n return;\n }\n\n // Sync the value from the underlying input element with the component instance.\n this.checked = this._inputElement.nativeElement.checked;\n\n // Emit our custom change event only if the underlying input emitted one. This ensures that\n // there is no change event, when the checked state changes programmatically.\n this._emitChangeEvent();\n }\n\n /** Method being called whenever the slide-toggle has been clicked. */\n _onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `slide-toggle` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value: any): void {\n this.checked = !!value;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Focuses the slide-toggle. */\n focus(): void {\n this._focusMonitor.focusVia(this._inputElement, 'keyboard');\n }\n\n /** Toggles the checked state of the slide-toggle. */\n toggle(): void {\n this.checked = !this.checked;\n this.onChange(this.checked);\n }\n\n /**\n * Emits a change event on the `change` output. Also notifies the FormControl about the change.\n */\n private _emitChangeEvent() {\n this.onChange(this.checked);\n this.change.emit(new MatSlideToggleChange(this, this.checked));\n }\n\n /** Retrieves the percentage of thumb from the moved distance. Percentage as fraction of 100. */\n private _getDragPercentage(distance: number) {\n let percentage = (distance / this._thumbBarWidth) * 100;\n\n // When the toggle was initially checked, then we have to start the drag at the end.\n if (this._previousChecked) {\n percentage += 100;\n }\n\n return Math.max(0, Math.min(percentage, 100));\n }\n\n _onDragStart() {\n if (!this.disabled && !this._dragging) {\n const thumbEl = this._thumbEl.nativeElement;\n this._thumbBarWidth = this._thumbBarEl.nativeElement.clientWidth - thumbEl.clientWidth;\n thumbEl.classList.add('mat-dragging');\n\n this._previousChecked = this.checked;\n this._dragging = true;\n }\n }\n\n _onDrag(event: HammerInput) {\n if (this._dragging) {\n const direction = this._dir && this._dir.value === 'rtl' ? -1 : 1;\n this._dragPercentage = this._getDragPercentage(event.deltaX * direction);\n // Calculate the moved distance based on the thumb bar width.\n const dragX = (this._dragPercentage / 100) * this._thumbBarWidth * direction;\n this._thumbEl.nativeElement.style.transform = `translate3d(${dragX}px, 0, 0)`;\n }\n }\n\n _onDragEnd() {\n if (this._dragging) {\n const newCheckedValue = this._dragPercentage > 50;\n\n if (newCheckedValue !== this.checked) {\n this.dragChange.emit();\n if (!this.defaults.disableDragValue) {\n this.checked = newCheckedValue;\n this._emitChangeEvent();\n }\n }\n\n // The drag should be stopped outside of the current event handler, otherwise the\n // click event will be fired before it and will revert the drag change.\n this._ngZone.runOutsideAngular(() => setTimeout(() => {\n if (this._dragging) {\n this._dragging = false;\n this._thumbEl.nativeElement.classList.remove('mat-dragging');\n\n // Reset the transform because the component will take care\n // of the thumb position after drag.\n this._thumbEl.nativeElement.style.transform = '';\n }\n }));\n }\n }\n\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the\n // slide-toggle component will be only marked for check, but no actual change detection runs\n // automatically. Instead of going back into the zone in order to trigger a change detection\n // which causes *all* components to be checked (if explicitly marked or not using OnPush),\n // we only trigger an explicit change detection for the slide-toggle view and it's children.\n this._changeDetectorRef.detectChanges();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {InjectionToken} from '@angular/core';\n\n\n/** Default `mat-slide-toggle` options that can be overridden. */\nexport interface MatSlideToggleDefaultOptions {\n /** Whether toggle action triggers value changes in slide toggle. */\n disableToggleValue?: boolean;\n /** Whether drag action triggers value changes in slide toggle. */\n disableDragValue?: boolean;\n}\n\n/** Injection token to be used to override the default options for `mat-slide-toggle`. */\nexport const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS =\n new InjectionToken<MatSlideToggleDefaultOptions>('mat-slide-toggle-default-options', {\n providedIn: 'root',\n factory: () => ({disableToggleValue: false, disableDragValue: false})\n });\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AEOA;;;AAYA,AAAA,MAAa,gCAAgC,GAC3C,IAAI,cAAc,CAA+B,kCAAkC,EAAE;IACnF,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,OAAO,EAAC,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAC,CAAC;CACtE,CAAC;;;;;;;AD0BJ,IAAI,YAAY,GAAG,CAAC,CAAC;;;;AAGrB,AAAA,MAAa,+BAA+B,GAAQ;IAClD,OAAO,EAAE,iBAAiB;IAC1B,WAAW,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC;IAC7C,KAAK,EAAE,IAAI;CACZ,CAAC;;;;AAGF,AAAA,MAAa,oBAAoB,CAAjC;;;;;IACE,WAAF,CAEW,MAFX,EAIW,OAJX,EAAA;QAEW,IAAX,CAAA,MAAiB,GAAN,MAAM,CAAjB;QAEW,IAAX,CAAA,OAAkB,GAAP,OAAO,CAAlB;KAAgC;CAC/B;;;;AAID,AAAA,MAAa,kBAAkB,CAA/B;;;;IACE,WAAF,CAAqB,WAAuB,EAA5C;QAAqB,IAArB,CAAA,WAAgC,GAAX,WAAW,CAAY;KAAI;CAC/C;;AACD,AAAA,MAAa,wBAAwB,GAM7B,aAAa,CAAC,UAAU,CAAC,kBAAkB,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;;;;AAwBnG,AAAA,MAAa,cAAe,SAAQ,wBAAwB,CAA5D;;;;;;;;;;;;IAiFE,WAAF,CAAc,UAAsB;;;;IAKtB,SAAmB,EACX,aADtB,EAEsB,kBAFtB,EAGqC,QAAgB,EAC/B,OAJtB,EAMyB,QAAsC,EACC,cAAuB,EACrD,IAAqB,EARvD;QASI,KAAK,CAAC,UAAU,CAAC,CAAC;QARA,IAAtB,CAAA,aAAmC,GAAb,aAAa,CAAnC;QACsB,IAAtB,CAAA,kBAAwC,GAAlB,kBAAkB,CAAxC;QAEsB,IAAtB,CAAA,OAA6B,GAAP,OAAO,CAA7B;QAEyB,IAAzB,CAAA,QAAiC,GAAR,QAAQ,CAA8B;QACC,IAAhE,CAAA,cAA8E,GAAd,cAAc,CAAS;QACrD,IAAlC,CAAA,IAAsC,GAAJ,IAAI,CAAiB;QA3FvD,IAAA,CAAA,QAAA,GAAqB,CAAC,CAAM,KAA5B,GAAmC,CAAnC;QACA,IAAA,CAAA,SAAA,GAAsB,MAAtB,GAA8B,CAA9B;QAEA,IAAA,CAAA,SAAA,GAA8B,CAA9B,iBAAA,EAAkD,EAAE,YAAY,CAAhE,CAAkE,CAAlE;QACA,IAAA,CAAA,SAAA,GAA+B,KAAK,CAApC;QACA,IAAA,CAAA,QAAA,GAA8B,KAAK,CAAnC;;;;QAGA,IAAA,CAAA,SAAA,GAAsB,KAAK,CAA3B;;;;QAkBE,IAAF,CAAA,IAAA,GAAiC,IAAI,CAAC;;;;QAGpC,IAAF,CAAA,EAAA,GAAwB,IAAI,CAAC,SAAS,CAAC;;;;QAGrC,IAAF,CAAA,aAAA,GAA+C,OAAO,CAAC;;;;QAGrD,IAAF,CAAA,SAAA,GAAkD,IAAI,CAAC;;;;QAGrD,IAAF,CAAA,cAAA,GAA4D,IAAI,CAAC;;;;QAe/D,IAAF,CAAA,MAAA,GACM,IAAI,YAAY,EAAwB,CAAC;;;;;;;QAQ7C,IAAF,CAAA,YAAA,GAAwD,IAAI,YAAY,EAAQ,CAAC;;;;;;;QAQ/E,IAAF,CAAA,UAAA,GAAsD,IAAI,YAAY,EAAQ,CAAC;QAuB3E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACzC;;;;;IArDD,IACI,QAAQ,GADd,EAC4B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;;;;;IAClD,IAAI,QAAQ,CAAC,KAAK,EAApB,EAAwB,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;;;;;IAGtE,IACI,OAAO,GADb,EAC2B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE;;;;;IAChD,IAAI,OAAO,CAAC,KAAK,EAAnB;QACI,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;;;;;IAsBD,IAAI,OAAO,GAAb,EAA0B,OAAO,CAAjC,EAAoC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAA7D,MAAA,CAAqE,CAAC,EAAE;;;;IAuBtE,kBAAkB,GAApB;QACI,IAAI,CAAC,aAAa;aACf,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;aAC/B,SAAS,CAAC,WAAW,IAA5B;YACQ,IAAI,CAAC,WAAW,EAAE;;;;;;gBAMhB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aAChD;SACF,CAAC,CAAC;KACN;;;;IAED,WAAW,GAAb;QACI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;;;;;;IAGD,cAAc,CAAC,KAAY,EAA7B;;;;QAII,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAC1B;;;;;;QAMD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YACtD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACxD,OAAO;SACR;;QAGD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC;;;QAIxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;;;;;;IAGD,aAAa,CAAC,KAAY,EAA5B;;;;;;;;QAQI,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;;;;;;IAGD,UAAU,CAAC,KAAU,EAAvB;QACI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;KACxB;;;;;;IAGD,gBAAgB,CAAC,EAAO,EAA1B;QACI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;;;;;;IAGD,iBAAiB,CAAC,EAAO,EAA3B;QACI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;;;;;IAGD,gBAAgB,CAAC,UAAmB,EAAtC;QACI,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;;;;;IAGD,KAAK,GAAP;QACI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;KAC7D;;;;;IAGD,MAAM,GAAR;QACI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7B;;;;;IAKO,gBAAgB,GAA1B;QACI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;;;;;;;IAIzD,kBAAkB,CAAC,QAAgB,EAA7C;;QACI,IAAI,UAAU,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC;;QAGxD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,UAAU,IAAI,GAAG,CAAC;SACnB;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;;;;;IAGhD,YAAY,GAAd;QACI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACvF,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAEtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;KACF;;;;;IAED,OAAO,CAAC,KAAkB,EAA5B;QACI,IAAI,IAAI,CAAC,SAAS,EAAE;;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;;YAEzE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,CAApD,YAAA,EAAmE,KAAK,CAAxE,SAAA,CAAmF,CAAC;SAC/E;KACF;;;;IAED,UAAU,GAAZ;QACI,IAAI,IAAI,CAAC,SAAS,EAAE;;YAClB,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAElD,IAAI,eAAe,KAAK,IAAI,CAAC,OAAO,EAAE;gBACpC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;oBACnC,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;oBAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBACzB;aACF;;;YAID,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,UAAU,CAAC,MAAtD;gBACQ,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;;;oBAI7D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;iBAClD;aACF,CAAC,CAAC,CAAC;SACL;KACF;;;;;IAGD,kBAAkB,GAApB;;;;;;QAMI,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;KACzC;;;IA/RH,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,kBAAA;gBACE,QAAQ,EAAE,gBAAZ;gBACE,IAAF,EAAA;oBACA,OAAA,EAAA,kBAAA;oBACM,MAAN,EAAA,IAAA;oBACI,iBAAJ,EAAA,IAAA;;oBAEI,qBAAJ,EAA2B,SAA3B;;oBACI,uCAAJ,EAAA,2BAAA;oBACI,iCAAJ,EAAA,qCAAA;oBACI,SAAJ,EAAA,qCAAA;iBACA;gBACA,QAAA,EAAA,ysCAAA;gBACA,MAAA,EAAA,CAAA,i3GAAA,CAAA;gBACE,SAAF,EAAa,CAAb,+BAAA,CAAA;gBACE,MAAF,EAAA,CAAW,UAAX,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,CAAA;gBACE,aAAF,EAAA,iBAAA,CAAA,IAAA;gBACE,eAAF,EAAA,uBAAA,CAAA,MAAiD;aACjD,EAAA,EAAA;CACA,CAAA;;;;;IAlFA,EAAA,IAAA,EAAE,YAAF,EAAA;IAPA,EAAA,IAAA,EAAQ,iBAAR,EAAA;IAHA,EAAA,IAAA,EAAQ,MAAR,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,UAAA,EAAA,EAAA,CAAA,EAAA;IAQA,EAAA,IAAA,EAAE,MAAF,EAAA;IA+KA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAwB,EAAxB,IAAA,EAAA,CAAyB,gCAAzB,EAAA,EAAA,CAAA,EAAA;IArKA,EAAA,IAAA,EAAE,MAAM,EAAR,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,qBAAA,EAAA,EAAA,CAAA,EAAA;IAuKA,EAAA,IAAA,EAAA,cAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAsB,CAAtB,EAAA;CAEA,CAAA;AA1LA,cAAA,CAAA,cAAA,GAAA;;;IAoHA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;IAGA,EAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;IAGA,aAAA,EAAG,CAAH,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;IAGA,SAAA,EAAA,CAAA,EAAA,IAAQ,EAAR,KAAA,EAAA,IAAA,EAAA,CAAA,YAAA,EAAA,EAAA,CAAA;IAGA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA;IAGA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;IAGA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAG,CAAH;IAGA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA;IAKA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAQ,MAAR,EAAA,CAAA;IAOA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA;IASA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,OAAA,EAAA,EAAA,CAAA;CAQA,CAAA;;;;;;ADxJA,MAAa,oBAAoB,CAAjC;;;IARA,EAAA,IAAA,EAAC,QAAQ,EAAT,IAAA,EAAA,CAAU;gBACR,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC;gBAC5D,OAAO,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;gBAC1C,YAAY,EAAE,CAAC,cAAc,CAAC;gBAC9B,SAAS,EAAE;oBACT,EAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAC;iBAC1D;aACF,EAAD,EAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"slide-toggle.js","sources":["../../../src/lib/slide-toggle/slide-toggle-module.ts","../../../src/lib/slide-toggle/slide-toggle.ts","../../../src/lib/slide-toggle/slide-toggle-config.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {NgModule} from '@angular/core';\nimport {GestureConfig, MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {HAMMER_GESTURE_CONFIG} from '@angular/platform-browser';\nimport {MatSlideToggle} from './slide-toggle';\n\n\n@NgModule({\n imports: [MatRippleModule, MatCommonModule, ObserversModule],\n exports: [MatSlideToggle, MatCommonModule],\n declarations: [MatSlideToggle],\n providers: [\n {provide: HAMMER_GESTURE_CONFIG, useClass: GestureConfig}\n ],\n})\nexport class MatSlideToggleModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n NgZone,\n Optional,\n Inject,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n CanColor, CanColorCtor,\n CanDisable, CanDisableCtor,\n CanDisableRipple, CanDisableRippleCtor,\n HammerInput,\n HasTabIndex, HasTabIndexCtor,\n mixinColor,\n mixinDisabled,\n mixinDisableRipple,\n mixinTabIndex,\n} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {\n MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS,\n MatSlideToggleDefaultOptions\n} from './slide-toggle-config';\n\n// Increasing integer for generating unique ids for slide-toggle components.\nlet nextUniqueId = 0;\n\n/** @docs-private */\nexport const MAT_SLIDE_TOGGLE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlideToggle),\n multi: true\n};\n\n/** Change event object emitted by a MatSlideToggle. */\nexport class MatSlideToggleChange {\n constructor(\n /** The source MatSlideToggle of the event. */\n public source: MatSlideToggle,\n /** The new `checked` value of the MatSlideToggle. */\n public checked: boolean) { }\n}\n\n// Boilerplate for applying mixins to MatSlideToggle.\n/** @docs-private */\nexport class MatSlideToggleBase {\n constructor(public _elementRef: ElementRef) {}\n}\nexport const _MatSlideToggleMixinBase:\n HasTabIndexCtor &\n CanColorCtor &\n CanDisableRippleCtor &\n CanDisableCtor &\n typeof MatSlideToggleBase =\n mixinTabIndex(mixinColor(mixinDisableRipple(mixinDisabled(MatSlideToggleBase)), 'accent'));\n\n/** Represents a slidable \"switch\" toggle that can be moved between on and off. */\n@Component({\n moduleId: module.id,\n selector: 'mat-slide-toggle',\n exportAs: 'matSlideToggle',\n host: {\n 'class': 'mat-slide-toggle',\n '[id]': 'id',\n '[attr.tabindex]': '-1', // Needs to be `-1` so it can still receive programmatic focus.\n '[class.mat-checked]': 'checked',\n '[class.mat-disabled]': 'disabled',\n '[class.mat-slide-toggle-label-before]': 'labelPosition == \"before\"',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n '(focus)': '_inputElement.nativeElement.focus()',\n },\n templateUrl: 'slide-toggle.html',\n styleUrls: ['slide-toggle.css'],\n providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR],\n inputs: ['disabled', 'disableRipple', 'color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSlideToggle extends _MatSlideToggleMixinBase implements OnDestroy, AfterContentInit,\n ControlValueAccessor, CanDisable, CanColor, HasTabIndex, CanDisableRipple {\n\n private onChange = (_: any) => {};\n private onTouched = () => {};\n\n private _uniqueId: string = `mat-slide-toggle-${++nextUniqueId}`;\n private _required: boolean = false;\n private _checked: boolean = false;\n\n /** Whether the thumb is currently being dragged. */\n private _dragging = false;\n\n /** Previous checked state before drag started. */\n private _previousChecked: boolean;\n\n /** Width of the thumb bar of the slide-toggle. */\n private _thumbBarWidth: number;\n\n /** Percentage of the thumb while dragging. Percentage as fraction of 100. */\n private _dragPercentage: number;\n\n /** Reference to the thumb HTMLElement. */\n @ViewChild('thumbContainer') _thumbEl: ElementRef;\n\n /** Reference to the thumb bar HTMLElement. */\n @ViewChild('toggleBar') _thumbBarEl: ElementRef;\n\n /** Name value will be applied to the input element if present. */\n @Input() name: string | null = null;\n\n /** A unique id for the slide-toggle input. If none is supplied, it will be auto-generated. */\n @Input() id: string = this._uniqueId;\n\n /** Whether the label should appear after or before the slide-toggle. Defaults to 'after'. */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Used to set the aria-label attribute on the underlying input element. */\n @Input('aria-label') ariaLabel: string | null = null;\n\n /** Used to set the aria-labelledby attribute on the underlying input element. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Whether the slide-toggle is required. */\n @Input()\n get required(): boolean { return this._required; }\n set required(value) { this._required = coerceBooleanProperty(value); }\n\n /** Whether the slide-toggle element is checked or not. */\n @Input()\n get checked(): boolean { return this._checked; }\n set checked(value) {\n this._checked = coerceBooleanProperty(value);\n this._changeDetectorRef.markForCheck();\n }\n /** An event will be dispatched each time the slide-toggle changes its value. */\n @Output() readonly change: EventEmitter<MatSlideToggleChange> =\n new EventEmitter<MatSlideToggleChange>();\n\n /**\n * An event will be dispatched each time the slide-toggle input is toggled.\n * This event is always emitted when the user toggles the slide toggle, but this does not mean\n * the slide toggle's value has changed. The event does not fire when the user drags to change\n * the slide toggle value.\n */\n @Output() readonly toggleChange: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * An event will be dispatched each time the slide-toggle is dragged.\n * This event is always emitted when the user drags the slide toggle to make a change greater\n * than 50%. It does not mean the slide toggle's value is changed. The event is not emitted when\n * the user toggles the slide toggle to change its value.\n */\n @Output() readonly dragChange: EventEmitter<void> = new EventEmitter<void>();\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string { return `${this.id || this._uniqueId}-input`; }\n\n /** Reference to the underlying input element. */\n @ViewChild('input') _inputElement: ElementRef<HTMLInputElement>;\n\n constructor(elementRef: ElementRef,\n /**\n * @deprecated The `_platform` parameter to be removed.\n * @breaking-change 8.0.0\n */\n _platform: Platform,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef,\n @Attribute('tabindex') tabIndex: string,\n private _ngZone: NgZone,\n @Inject(MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS)\n public defaults: MatSlideToggleDefaultOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string,\n @Optional() private _dir?: Directionality) {\n super(elementRef);\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n\n ngAfterContentInit() {\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe(focusOrigin => {\n if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state\n // change (such as a form control's 'ng-touched') will cause a changed-after-checked\n // error. See https://github.com/angular/angular/issues/17793. To work around this,\n // we defer telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => this.onTouched());\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Method being called whenever the underlying input emits a change event. */\n _onChangeEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the component's `change` output.\n event.stopPropagation();\n\n if (!this._dragging) {\n this.toggleChange.emit();\n }\n // Releasing the pointer over the `<label>` element while dragging triggers another\n // click event on the `<label>` element. This means that the checked state of the underlying\n // input changed unintentionally and needs to be changed back. Or when the slide toggle's config\n // disabled toggle change event by setting `disableToggleValue: true`, the slide toggle's value\n // does not change, and the checked state of the underlying input needs to be changed back.\n if (this._dragging || this.defaults.disableToggleValue) {\n this._inputElement.nativeElement.checked = this.checked;\n return;\n }\n\n // Sync the value from the underlying input element with the component instance.\n this.checked = this._inputElement.nativeElement.checked;\n\n // Emit our custom change event only if the underlying input emitted one. This ensures that\n // there is no change event, when the checked state changes programmatically.\n this._emitChangeEvent();\n }\n\n /** Method being called whenever the slide-toggle has been clicked. */\n _onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `slide-toggle` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value: any): void {\n this.checked = !!value;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Focuses the slide-toggle. */\n focus(): void {\n this._focusMonitor.focusVia(this._inputElement, 'keyboard');\n }\n\n /** Toggles the checked state of the slide-toggle. */\n toggle(): void {\n this.checked = !this.checked;\n this.onChange(this.checked);\n }\n\n /**\n * Emits a change event on the `change` output. Also notifies the FormControl about the change.\n */\n private _emitChangeEvent() {\n this.onChange(this.checked);\n this.change.emit(new MatSlideToggleChange(this, this.checked));\n }\n\n /** Retrieves the percentage of thumb from the moved distance. Percentage as fraction of 100. */\n private _getDragPercentage(distance: number) {\n let percentage = (distance / this._thumbBarWidth) * 100;\n\n // When the toggle was initially checked, then we have to start the drag at the end.\n if (this._previousChecked) {\n percentage += 100;\n }\n\n return Math.max(0, Math.min(percentage, 100));\n }\n\n _onDragStart() {\n if (!this.disabled && !this._dragging) {\n const thumbEl = this._thumbEl.nativeElement;\n this._thumbBarWidth = this._thumbBarEl.nativeElement.clientWidth - thumbEl.clientWidth;\n thumbEl.classList.add('mat-dragging');\n\n this._previousChecked = this.checked;\n this._dragging = true;\n }\n }\n\n _onDrag(event: HammerInput) {\n if (this._dragging) {\n const direction = this._dir && this._dir.value === 'rtl' ? -1 : 1;\n this._dragPercentage = this._getDragPercentage(event.deltaX * direction);\n // Calculate the moved distance based on the thumb bar width.\n const dragX = (this._dragPercentage / 100) * this._thumbBarWidth * direction;\n this._thumbEl.nativeElement.style.transform = `translate3d(${dragX}px, 0, 0)`;\n }\n }\n\n _onDragEnd() {\n if (this._dragging) {\n const newCheckedValue = this._dragPercentage > 50;\n\n if (newCheckedValue !== this.checked) {\n this.dragChange.emit();\n if (!this.defaults.disableDragValue) {\n this.checked = newCheckedValue;\n this._emitChangeEvent();\n }\n }\n\n // The drag should be stopped outside of the current event handler, otherwise the\n // click event will be fired before it and will revert the drag change.\n this._ngZone.runOutsideAngular(() => setTimeout(() => {\n if (this._dragging) {\n this._dragging = false;\n this._thumbEl.nativeElement.classList.remove('mat-dragging');\n\n // Reset the transform because the component will take care\n // of the thumb position after drag.\n this._thumbEl.nativeElement.style.transform = '';\n }\n }));\n }\n }\n\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the\n // slide-toggle component will be only marked for check, but no actual change detection runs\n // automatically. Instead of going back into the zone in order to trigger a change detection\n // which causes *all* components to be checked (if explicitly marked or not using OnPush),\n // we only trigger an explicit change detection for the slide-toggle view and it's children.\n this._changeDetectorRef.detectChanges();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {InjectionToken} from '@angular/core';\n\n\n/** Default `mat-slide-toggle` options that can be overridden. */\nexport interface MatSlideToggleDefaultOptions {\n /** Whether toggle action triggers value changes in slide toggle. */\n disableToggleValue?: boolean;\n /** Whether drag action triggers value changes in slide toggle. */\n disableDragValue?: boolean;\n}\n\n/** Injection token to be used to override the default options for `mat-slide-toggle`. */\nexport const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS =\n new InjectionToken<MatSlideToggleDefaultOptions>('mat-slide-toggle-default-options', {\n providedIn: 'root',\n factory: () => ({disableToggleValue: false, disableDragValue: false})\n });\n"],"names":[],"mappings":"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"}
package/esm2015/slider.js CHANGED
@@ -8,7 +8,7 @@
8
8
  import { FocusMonitor } from '@angular/cdk/a11y';
9
9
  import { Directionality } from '@angular/cdk/bidi';
10
10
  import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
11
- import { DOWN_ARROW, END, HOME, LEFT_ARROW, PAGE_DOWN, PAGE_UP, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';
11
+ import { DOWN_ARROW, END, HOME, LEFT_ARROW, PAGE_DOWN, PAGE_UP, RIGHT_ARROW, UP_ARROW, hasModifierKey } from '@angular/cdk/keycodes';
12
12
  import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Inject, Input, Optional, Output, ViewChild, ViewEncapsulation, NgModule } from '@angular/core';
13
13
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
14
14
  import { mixinColor, mixinDisabled, mixinTabIndex, GestureConfig, MatCommonModule } from '@angular/material/core';
@@ -19,30 +19,35 @@ import { HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
19
19
 
20
20
  /**
21
21
  * @fileoverview added by tsickle
22
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
22
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
23
23
  */
24
- /** *
24
+ /**
25
25
  * Visually, a 30px separation between tick marks looks best. This is very subjective but it is
26
26
  * the default separation we chose.
27
- @type {?} */
27
+ * @type {?}
28
+ */
28
29
  const MIN_AUTO_TICK_SEPARATION = 30;
29
- /** *
30
+ /**
30
31
  * The thumb gap size for a disabled slider.
31
- @type {?} */
32
+ * @type {?}
33
+ */
32
34
  const DISABLED_THUMB_GAP = 7;
33
- /** *
35
+ /**
34
36
  * The thumb gap size for a non-active slider at its minimum value.
35
- @type {?} */
37
+ * @type {?}
38
+ */
36
39
  const MIN_VALUE_NONACTIVE_THUMB_GAP = 7;
37
- /** *
40
+ /**
38
41
  * The thumb gap size for an active slider at its minimum value.
39
- @type {?} */
42
+ * @type {?}
43
+ */
40
44
  const MIN_VALUE_ACTIVE_THUMB_GAP = 10;
41
- /** *
45
+ /**
42
46
  * Provider Expression that allows mat-slider to register as a ControlValueAccessor.
43
47
  * This allows it to support [(ngModel)] and [formControl].
44
48
  * \@docs-private
45
- @type {?} */
49
+ * @type {?}
50
+ */
46
51
  const MAT_SLIDER_VALUE_ACCESSOR = {
47
52
  provide: NG_VALUE_ACCESSOR,
48
53
  useExisting: forwardRef(() => MatSlider),
@@ -53,6 +58,7 @@ const MAT_SLIDER_VALUE_ACCESSOR = {
53
58
  */
54
59
  class MatSliderChange {
55
60
  }
61
+ // Boilerplate for applying mixins to MatSlider.
56
62
  /**
57
63
  * \@docs-private
58
64
  */
@@ -79,9 +85,7 @@ class MatSlider extends _MatSliderMixinBase {
79
85
  * @param {?} tabIndex
80
86
  * @param {?=} _animationMode
81
87
  */
82
- constructor(elementRef, _focusMonitor, _changeDetectorRef, _dir, tabIndex,
83
- // @breaking-change 8.0.0 `_animationMode` parameter to be made required.
84
- _animationMode) {
88
+ constructor(elementRef, _focusMonitor, _changeDetectorRef, _dir, tabIndex, _animationMode) {
85
89
  super(elementRef);
86
90
  this._focusMonitor = _focusMonitor;
87
91
  this._changeDetectorRef = _changeDetectorRef;
@@ -197,7 +201,7 @@ class MatSlider extends _MatSliderMixinBase {
197
201
  set step(v) {
198
202
  this._step = coerceNumberProperty(v, this._step);
199
203
  if (this._step % 1 !== 0) {
200
- this._roundToDecimal = /** @type {?} */ ((this._step.toString().split('.').pop())).length;
204
+ this._roundToDecimal = (/** @type {?} */ (this._step.toString().split('.').pop())).length;
201
205
  }
202
206
  // Since this could modify the label, we need to notify the change detection.
203
207
  this._changeDetectorRef.markForCheck();
@@ -227,7 +231,7 @@ class MatSlider extends _MatSliderMixinBase {
227
231
  this._tickInterval = 'auto';
228
232
  }
229
233
  else if (typeof value === 'number' || typeof value === 'string') {
230
- this._tickInterval = coerceNumberProperty(value, /** @type {?} */ (this._tickInterval));
234
+ this._tickInterval = coerceNumberProperty(value, (/** @type {?} */ (this._tickInterval)));
231
235
  }
232
236
  else {
233
237
  this._tickInterval = 0;
@@ -380,6 +384,8 @@ class MatSlider extends _MatSliderMixinBase {
380
384
  get _ticksContainerStyles() {
381
385
  /** @type {?} */
382
386
  let axis = this.vertical ? 'Y' : 'X';
387
+ // For a horizontal slider in RTL languages we push the ticks container off the left edge
388
+ // instead of the right edge to avoid causing a horizontal scrollbar to appear.
383
389
  /** @type {?} */
384
390
  let sign = !this.vertical && this._getDirection() == 'rtl' ? '' : '-';
385
391
  /** @type {?} */
@@ -399,6 +405,9 @@ class MatSlider extends _MatSliderMixinBase {
399
405
  let backgroundSize = this.vertical ? `2px ${tickSize}%` : `${tickSize}% 2px`;
400
406
  /** @type {?} */
401
407
  let axis = this.vertical ? 'Y' : 'X';
408
+ // Depending on the direction we pushed the ticks container, push the ticks the opposite
409
+ // direction to re-center them but clip off the end edge. In RTL languages we need to flip the
410
+ // ticks 180 degrees so we're really cutting off the end edge abd not the start.
402
411
  /** @type {?} */
403
412
  let sign = !this.vertical && this._getDirection() == 'rtl' ? '-' : '';
404
413
  /** @type {?} */
@@ -424,6 +433,8 @@ class MatSlider extends _MatSliderMixinBase {
424
433
  get _thumbContainerStyles() {
425
434
  /** @type {?} */
426
435
  let axis = this.vertical ? 'Y' : 'X';
436
+ // For a horizontal slider in RTL languages we push the thumb container off the left edge
437
+ // instead of the right edge to avoid causing a horizontal scrollbar to appear.
427
438
  /** @type {?} */
428
439
  let invertOffset = (this._getDirection() == 'rtl' && !this.vertical) ? !this._invertAxis : this._invertAxis;
429
440
  /** @type {?} */
@@ -435,6 +446,7 @@ class MatSlider extends _MatSliderMixinBase {
435
446
  /**
436
447
  * Whether mouse events should be converted to a slider position by calculating their distance
437
448
  * from the right or bottom edge of the slider as opposed to the top or left.
449
+ * @private
438
450
  * @return {?}
439
451
  */
440
452
  _shouldInvertMouseCoords() {
@@ -442,6 +454,7 @@ class MatSlider extends _MatSliderMixinBase {
442
454
  }
443
455
  /**
444
456
  * The language direction for this slider element.
457
+ * @private
445
458
  * @return {?}
446
459
  */
447
460
  _getDirection() {
@@ -574,11 +587,11 @@ class MatSlider extends _MatSliderMixinBase {
574
587
  * @return {?}
575
588
  */
576
589
  _onKeydown(event) {
577
- if (this.disabled) {
590
+ if (this.disabled || hasModifierKey(event)) {
578
591
  return;
579
592
  }
580
593
  /** @type {?} */
581
- let oldValue = this.value;
594
+ const oldValue = this.value;
582
595
  switch (event.keyCode) {
583
596
  case PAGE_UP:
584
597
  this._increment(10);
@@ -632,6 +645,7 @@ class MatSlider extends _MatSliderMixinBase {
632
645
  }
633
646
  /**
634
647
  * Increments the slider by the given number of steps (negative number decrements).
648
+ * @private
635
649
  * @param {?} numSteps
636
650
  * @return {?}
637
651
  */
@@ -640,6 +654,7 @@ class MatSlider extends _MatSliderMixinBase {
640
654
  }
641
655
  /**
642
656
  * Calculate the new value from the new physical location. The value will always be snapped.
657
+ * @private
643
658
  * @param {?} pos
644
659
  * @return {?}
645
660
  */
@@ -653,6 +668,7 @@ class MatSlider extends _MatSliderMixinBase {
653
668
  let size = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;
654
669
  /** @type {?} */
655
670
  let posComponent = this.vertical ? pos.y : pos.x;
671
+ // The exact value is calculated from the event and used to find the closest snap value.
656
672
  /** @type {?} */
657
673
  let percent = this._clamp((posComponent - offset) / size);
658
674
  if (this._shouldInvertMouseCoords()) {
@@ -671,6 +687,8 @@ class MatSlider extends _MatSliderMixinBase {
671
687
  else {
672
688
  /** @type {?} */
673
689
  const exactValue = this._calculateValue(percent);
690
+ // This calculation finds the closest step by finding the closest
691
+ // whole number divisible by the step relative to the min.
674
692
  /** @type {?} */
675
693
  const closestValue = Math.round((exactValue - this.min) / this.step) * this.step + this.min;
676
694
  // The value needs to snap to the min and max.
@@ -679,6 +697,7 @@ class MatSlider extends _MatSliderMixinBase {
679
697
  }
680
698
  /**
681
699
  * Emits a change event if the current value is different from the last emitted value.
700
+ * @private
682
701
  * @return {?}
683
702
  */
684
703
  _emitChangeEvent() {
@@ -688,6 +707,7 @@ class MatSlider extends _MatSliderMixinBase {
688
707
  }
689
708
  /**
690
709
  * Emits an input event when the current value is different from the last emitted value.
710
+ * @private
691
711
  * @return {?}
692
712
  */
693
713
  _emitInputEvent() {
@@ -695,6 +715,7 @@ class MatSlider extends _MatSliderMixinBase {
695
715
  }
696
716
  /**
697
717
  * Updates the amount of space between ticks as a percentage of the width of the slider.
718
+ * @private
698
719
  * @return {?}
699
720
  */
700
721
  _updateTickIntervalPercent() {
@@ -718,6 +739,7 @@ class MatSlider extends _MatSliderMixinBase {
718
739
  }
719
740
  /**
720
741
  * Creates a slider change object from the specified value.
742
+ * @private
721
743
  * @param {?=} value
722
744
  * @return {?}
723
745
  */
@@ -730,6 +752,7 @@ class MatSlider extends _MatSliderMixinBase {
730
752
  }
731
753
  /**
732
754
  * Calculates the percentage of the slider that a value is.
755
+ * @private
733
756
  * @param {?} value
734
757
  * @return {?}
735
758
  */
@@ -738,6 +761,7 @@ class MatSlider extends _MatSliderMixinBase {
738
761
  }
739
762
  /**
740
763
  * Calculates the value a percentage of the slider corresponds to.
764
+ * @private
741
765
  * @param {?} percentage
742
766
  * @return {?}
743
767
  */
@@ -746,6 +770,7 @@ class MatSlider extends _MatSliderMixinBase {
746
770
  }
747
771
  /**
748
772
  * Return a number between two numbers.
773
+ * @private
749
774
  * @param {?} value
750
775
  * @param {?=} min
751
776
  * @param {?=} max
@@ -758,6 +783,7 @@ class MatSlider extends _MatSliderMixinBase {
758
783
  * Get the bounding client rect of the slider track element.
759
784
  * The track is used rather than the native element to ignore the extra space that the thumb can
760
785
  * take up.
786
+ * @private
761
787
  * @return {?}
762
788
  */
763
789
  _getSliderDimensions() {
@@ -766,6 +792,7 @@ class MatSlider extends _MatSliderMixinBase {
766
792
  /**
767
793
  * Focuses the native element.
768
794
  * Currently only used to allow a blur event to fire but will be used with keyboard input later.
795
+ * @private
769
796
  * @return {?}
770
797
  */
771
798
  _focusHostElement() {
@@ -773,6 +800,7 @@ class MatSlider extends _MatSliderMixinBase {
773
800
  }
774
801
  /**
775
802
  * Blurs the native element.
803
+ * @private
776
804
  * @return {?}
777
805
  */
778
806
  _blurHostElement() {
@@ -848,7 +876,7 @@ MatSlider.decorators = [
848
876
  '[class._mat-animation-noopable]': '_animationMode === "NoopAnimations"',
849
877
  },
850
878
  template: "<div class=\"mat-slider-wrapper\" #sliderWrapper><div class=\"mat-slider-track-wrapper\"><div class=\"mat-slider-track-background\" [ngStyle]=\"_trackBackgroundStyles\"></div><div class=\"mat-slider-track-fill\" [ngStyle]=\"_trackFillStyles\"></div></div><div class=\"mat-slider-ticks-container\" [ngStyle]=\"_ticksContainerStyles\"><div class=\"mat-slider-ticks\" [ngStyle]=\"_ticksStyles\"></div></div><div class=\"mat-slider-thumb-container\" [ngStyle]=\"_thumbContainerStyles\"><div class=\"mat-slider-focus-ring\"></div><div class=\"mat-slider-thumb\"></div><div class=\"mat-slider-thumb-label\"><span class=\"mat-slider-thumb-label-text\">{{displayValue}}</span></div></div></div>",
851
- styles: [".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:0;vertical-align:middle}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1)}.cdk-keyboard-focused .mat-slider-focus-ring,.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label{cursor:-webkit-grab;cursor:grab}.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label:active,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(.7);transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),border-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform .4s cubic-bezier(.25,.8,.25,1),border-radius .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}@media screen and (-ms-high-contrast:active){.mat-slider-thumb-label{outline:solid 1px}}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-sliding .mat-slider-thumb-container,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-track-fill{transition-duration:0s}.mat-slider-has-ticks .mat-slider-wrapper::after{content:'';position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}@media screen and (-ms-high-contrast:active){.mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}@media screen and (-ms-high-contrast:active){.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}@media screen and (-ms-high-contrast:active){.mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-track-fill{transition:none}"],
879
+ styles: [".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:0;vertical-align:middle}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1)}.cdk-keyboard-focused .mat-slider-focus-ring,.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label{cursor:-webkit-grab;cursor:grab}.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb,.mat-slider-sliding:not(.mat-slider-disabled) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb-label:active,.mat-slider:not(.mat-slider-disabled) .mat-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(.7);transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),border-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform .4s cubic-bezier(.25,.8,.25,1),border-radius .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}@media (-ms-high-contrast:active){.mat-slider-thumb-label{outline:solid 1px}}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-sliding .mat-slider-thumb-container,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-track-fill{transition-duration:0s}.mat-slider-has-ticks .mat-slider-wrapper::after{content:'';position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}@media (-ms-high-contrast:active){.mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}@media (-ms-high-contrast:active){.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}@media (-ms-high-contrast:active){.mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-track-fill{transition:none}"],
852
880
  inputs: ['disabled', 'color', 'tabIndex'],
853
881
  encapsulation: ViewEncapsulation.None,
854
882
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -881,7 +909,7 @@ MatSlider.propDecorators = {
881
909
 
882
910
  /**
883
911
  * @fileoverview added by tsickle
884
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
912
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
885
913
  */
886
914
  class MatSliderModule {
887
915
  }
@@ -896,12 +924,12 @@ MatSliderModule.decorators = [
896
924
 
897
925
  /**
898
926
  * @fileoverview added by tsickle
899
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
927
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
900
928
  */
901
929
 
902
930
  /**
903
931
  * @fileoverview added by tsickle
904
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
932
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
905
933
  */
906
934
 
907
935
  export { MatSliderModule, MAT_SLIDER_VALUE_ACCESSOR, MatSliderChange, MatSliderBase, _MatSliderMixinBase, MatSlider };