@angular/material 7.0.3 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/_theming.scss +57 -49
  2. package/autocomplete/typings/index.d.ts +1 -1
  3. package/autocomplete/typings/index.metadata.json +1 -1
  4. package/badge/typings/index.metadata.json +1 -1
  5. package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
  6. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  7. package/bottom-sheet/typings/index.metadata.json +1 -1
  8. package/bundles/material-autocomplete.umd.js +124 -30
  9. package/bundles/material-autocomplete.umd.js.map +1 -1
  10. package/bundles/material-autocomplete.umd.min.js +1 -1
  11. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  12. package/bundles/material-badge.umd.js +38 -5
  13. package/bundles/material-badge.umd.js.map +1 -1
  14. package/bundles/material-badge.umd.min.js +1 -1
  15. package/bundles/material-badge.umd.min.js.map +1 -1
  16. package/bundles/material-bottom-sheet.umd.js +68 -25
  17. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  18. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  20. package/bundles/material-button-toggle.umd.js +40 -15
  21. package/bundles/material-button-toggle.umd.js.map +1 -1
  22. package/bundles/material-button-toggle.umd.min.js +1 -1
  23. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  24. package/bundles/material-button.umd.js +19 -12
  25. package/bundles/material-button.umd.js.map +1 -1
  26. package/bundles/material-button.umd.min.js +1 -1
  27. package/bundles/material-button.umd.min.js.map +1 -1
  28. package/bundles/material-card.umd.js +2 -2
  29. package/bundles/material-card.umd.js.map +1 -1
  30. package/bundles/material-card.umd.min.js.map +1 -1
  31. package/bundles/material-checkbox.umd.js +56 -15
  32. package/bundles/material-checkbox.umd.js.map +1 -1
  33. package/bundles/material-checkbox.umd.min.js +1 -1
  34. package/bundles/material-checkbox.umd.min.js.map +1 -1
  35. package/bundles/material-chips.umd.js +124 -34
  36. package/bundles/material-chips.umd.js.map +1 -1
  37. package/bundles/material-chips.umd.min.js +1 -1
  38. package/bundles/material-chips.umd.min.js.map +1 -1
  39. package/bundles/material-core.umd.js +186 -123
  40. package/bundles/material-core.umd.js.map +1 -1
  41. package/bundles/material-core.umd.min.js +2 -1
  42. package/bundles/material-core.umd.min.js.map +1 -1
  43. package/bundles/material-datepicker.umd.js +241 -59
  44. package/bundles/material-datepicker.umd.js.map +1 -1
  45. package/bundles/material-datepicker.umd.min.js +2 -2
  46. package/bundles/material-datepicker.umd.min.js.map +1 -1
  47. package/bundles/material-dialog.umd.js +136 -44
  48. package/bundles/material-dialog.umd.js.map +1 -1
  49. package/bundles/material-dialog.umd.min.js +1 -1
  50. package/bundles/material-dialog.umd.min.js.map +1 -1
  51. package/bundles/material-divider.umd.js +2 -2
  52. package/bundles/material-divider.umd.js.map +1 -1
  53. package/bundles/material-divider.umd.min.js.map +1 -1
  54. package/bundles/material-expansion.umd.js +32 -22
  55. package/bundles/material-expansion.umd.js.map +1 -1
  56. package/bundles/material-expansion.umd.min.js +1 -1
  57. package/bundles/material-expansion.umd.min.js.map +1 -1
  58. package/bundles/material-form-field.umd.js +120 -32
  59. package/bundles/material-form-field.umd.js.map +1 -1
  60. package/bundles/material-form-field.umd.min.js +1 -1
  61. package/bundles/material-form-field.umd.min.js.map +1 -1
  62. package/bundles/material-grid-list.umd.js +66 -15
  63. package/bundles/material-grid-list.umd.js.map +1 -1
  64. package/bundles/material-grid-list.umd.min.js +1 -1
  65. package/bundles/material-grid-list.umd.min.js.map +1 -1
  66. package/bundles/material-icon.umd.js +280 -79
  67. package/bundles/material-icon.umd.js.map +1 -1
  68. package/bundles/material-icon.umd.min.js +1 -1
  69. package/bundles/material-icon.umd.min.js.map +1 -1
  70. package/bundles/material-input.umd.js +46 -24
  71. package/bundles/material-input.umd.js.map +1 -1
  72. package/bundles/material-input.umd.min.js +1 -1
  73. package/bundles/material-input.umd.min.js.map +1 -1
  74. package/bundles/material-list.umd.js +71 -22
  75. package/bundles/material-list.umd.js.map +1 -1
  76. package/bundles/material-list.umd.min.js +2 -6
  77. package/bundles/material-list.umd.min.js.map +1 -1
  78. package/bundles/material-menu.umd.js +157 -55
  79. package/bundles/material-menu.umd.js.map +1 -1
  80. package/bundles/material-menu.umd.min.js +1 -1
  81. package/bundles/material-menu.umd.min.js.map +1 -1
  82. package/bundles/material-paginator.umd.js +52 -10
  83. package/bundles/material-paginator.umd.js.map +1 -1
  84. package/bundles/material-paginator.umd.min.js +1 -1
  85. package/bundles/material-paginator.umd.min.js.map +1 -1
  86. package/bundles/material-progress-bar.umd.js +35 -14
  87. package/bundles/material-progress-bar.umd.js.map +1 -1
  88. package/bundles/material-progress-bar.umd.min.js +1 -1
  89. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  90. package/bundles/material-progress-spinner.umd.js +29 -13
  91. package/bundles/material-progress-spinner.umd.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  93. package/bundles/material-radio.umd.js +26 -7
  94. package/bundles/material-radio.umd.js.map +1 -1
  95. package/bundles/material-radio.umd.min.js.map +1 -1
  96. package/bundles/material-select.umd.js +178 -49
  97. package/bundles/material-select.umd.js.map +1 -1
  98. package/bundles/material-select.umd.min.js +1 -1
  99. package/bundles/material-select.umd.min.js.map +1 -1
  100. package/bundles/material-sidenav.umd.js +102 -23
  101. package/bundles/material-sidenav.umd.js.map +1 -1
  102. package/bundles/material-sidenav.umd.min.js +1 -1
  103. package/bundles/material-sidenav.umd.min.js.map +1 -1
  104. package/bundles/material-slide-toggle.umd.js +33 -15
  105. package/bundles/material-slide-toggle.umd.js.map +1 -1
  106. package/bundles/material-slide-toggle.umd.min.js +1 -1
  107. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  108. package/bundles/material-slider.umd.js +89 -19
  109. package/bundles/material-slider.umd.js.map +1 -1
  110. package/bundles/material-slider.umd.min.js +1 -1
  111. package/bundles/material-slider.umd.min.js.map +1 -1
  112. package/bundles/material-snack-bar.umd.js +74 -22
  113. package/bundles/material-snack-bar.umd.js.map +1 -1
  114. package/bundles/material-snack-bar.umd.min.js +1 -1
  115. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  116. package/bundles/material-sort.umd.js +45 -23
  117. package/bundles/material-sort.umd.js.map +1 -1
  118. package/bundles/material-sort.umd.min.js.map +1 -1
  119. package/bundles/material-stepper.umd.js +37 -44
  120. package/bundles/material-stepper.umd.js.map +1 -1
  121. package/bundles/material-stepper.umd.min.js +1 -1
  122. package/bundles/material-stepper.umd.min.js.map +1 -1
  123. package/bundles/material-table.umd.js +29 -19
  124. package/bundles/material-table.umd.js.map +1 -1
  125. package/bundles/material-table.umd.min.js +1 -1
  126. package/bundles/material-table.umd.min.js.map +1 -1
  127. package/bundles/material-tabs.umd.js +156 -56
  128. package/bundles/material-tabs.umd.js.map +1 -1
  129. package/bundles/material-tabs.umd.min.js +2 -2
  130. package/bundles/material-tabs.umd.min.js.map +1 -1
  131. package/bundles/material-toolbar.umd.js +13 -3
  132. package/bundles/material-toolbar.umd.js.map +1 -1
  133. package/bundles/material-toolbar.umd.min.js.map +1 -1
  134. package/bundles/material-tooltip.umd.js +52 -25
  135. package/bundles/material-tooltip.umd.js.map +1 -1
  136. package/bundles/material-tooltip.umd.min.js.map +1 -1
  137. package/bundles/material-tree.umd.js +25 -26
  138. package/bundles/material-tree.umd.js.map +1 -1
  139. package/bundles/material-tree.umd.min.js +1 -1
  140. package/bundles/material-tree.umd.min.js.map +1 -1
  141. package/bundles/material.umd.js +2780 -979
  142. package/bundles/material.umd.js.map +1 -1
  143. package/bundles/material.umd.min.js +19 -21
  144. package/bundles/material.umd.min.js.map +1 -1
  145. package/button/typings/button.d.ts +0 -5
  146. package/button/typings/index.metadata.json +1 -1
  147. package/button-toggle/typings/index.metadata.json +1 -1
  148. package/checkbox/typings/index.metadata.json +1 -1
  149. package/chips/typings/chip-list.d.ts +1 -1
  150. package/chips/typings/chip.d.ts +2 -2
  151. package/chips/typings/index.metadata.json +1 -1
  152. package/core/typings/index.metadata.json +1 -1
  153. package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  154. package/core/typings/public-api.d.ts +1 -1
  155. package/datepicker/typings/calendar-body.d.ts +21 -5
  156. package/datepicker/typings/calendar.d.ts +4 -1
  157. package/datepicker/typings/datepicker-toggle.d.ts +5 -0
  158. package/datepicker/typings/datepicker.d.ts +3 -0
  159. package/datepicker/typings/index.metadata.json +1 -1
  160. package/datepicker/typings/month-view.d.ts +4 -2
  161. package/dialog/typings/index.metadata.json +1 -1
  162. package/esm2015/autocomplete.js +58 -27
  163. package/esm2015/autocomplete.js.map +1 -1
  164. package/esm2015/badge.js +29 -6
  165. package/esm2015/badge.js.map +1 -1
  166. package/esm2015/bottom-sheet.js +46 -27
  167. package/esm2015/bottom-sheet.js.map +1 -1
  168. package/esm2015/button-toggle.js +24 -13
  169. package/esm2015/button-toggle.js.map +1 -1
  170. package/esm2015/button.js +18 -13
  171. package/esm2015/button.js.map +1 -1
  172. package/esm2015/card.js +4 -4
  173. package/esm2015/card.js.map +1 -1
  174. package/esm2015/checkbox.js +30 -12
  175. package/esm2015/checkbox.js.map +1 -1
  176. package/esm2015/chips.js +64 -28
  177. package/esm2015/chips.js.map +1 -1
  178. package/esm2015/core.js +145 -126
  179. package/esm2015/core.js.map +1 -1
  180. package/esm2015/datepicker.js +131 -44
  181. package/esm2015/datepicker.js.map +1 -1
  182. package/esm2015/dialog.js +76 -45
  183. package/esm2015/dialog.js.map +1 -1
  184. package/esm2015/divider.js +4 -4
  185. package/esm2015/divider.js.map +1 -1
  186. package/esm2015/expansion.js +35 -25
  187. package/esm2015/expansion.js.map +1 -1
  188. package/esm2015/form-field.js +93 -34
  189. package/esm2015/form-field.js.map +1 -1
  190. package/esm2015/grid-list.js +45 -17
  191. package/esm2015/grid-list.js.map +1 -1
  192. package/esm2015/icon.js +139 -68
  193. package/esm2015/icon.js.map +1 -1
  194. package/esm2015/input.js +40 -23
  195. package/esm2015/input.js.map +1 -1
  196. package/esm2015/list.js +49 -23
  197. package/esm2015/list.js.map +1 -1
  198. package/esm2015/material.js +10 -9
  199. package/esm2015/material.js.map +1 -1
  200. package/esm2015/menu.js +100 -53
  201. package/esm2015/menu.js.map +1 -1
  202. package/esm2015/paginator.js +35 -12
  203. package/esm2015/paginator.js.map +1 -1
  204. package/esm2015/progress-bar.js +30 -15
  205. package/esm2015/progress-bar.js.map +1 -1
  206. package/esm2015/progress-spinner.js +24 -14
  207. package/esm2015/progress-spinner.js.map +1 -1
  208. package/esm2015/radio.js +17 -7
  209. package/esm2015/radio.js.map +1 -1
  210. package/esm2015/select.js +103 -50
  211. package/esm2015/select.js.map +1 -1
  212. package/esm2015/sidenav.js +73 -26
  213. package/esm2015/sidenav.js.map +1 -1
  214. package/esm2015/slide-toggle.js +26 -16
  215. package/esm2015/slide-toggle.js.map +1 -1
  216. package/esm2015/slider.js +50 -20
  217. package/esm2015/slider.js.map +1 -1
  218. package/esm2015/snack-bar.js +44 -24
  219. package/esm2015/snack-bar.js.map +1 -1
  220. package/esm2015/sort.js +46 -23
  221. package/esm2015/sort.js.map +1 -1
  222. package/esm2015/stepper.js +35 -39
  223. package/esm2015/stepper.js.map +1 -1
  224. package/esm2015/table.js +31 -21
  225. package/esm2015/table.js.map +1 -1
  226. package/esm2015/tabs.js +110 -52
  227. package/esm2015/tabs.js.map +1 -1
  228. package/esm2015/toolbar.js +8 -4
  229. package/esm2015/toolbar.js.map +1 -1
  230. package/esm2015/tooltip.js +42 -27
  231. package/esm2015/tooltip.js.map +1 -1
  232. package/esm2015/tree.js +22 -25
  233. package/esm2015/tree.js.map +1 -1
  234. package/esm5/autocomplete.es5.js +126 -32
  235. package/esm5/autocomplete.es5.js.map +1 -1
  236. package/esm5/badge.es5.js +40 -7
  237. package/esm5/badge.es5.js.map +1 -1
  238. package/esm5/bottom-sheet.es5.js +71 -28
  239. package/esm5/bottom-sheet.es5.js.map +1 -1
  240. package/esm5/button-toggle.es5.js +42 -17
  241. package/esm5/button-toggle.es5.js.map +1 -1
  242. package/esm5/button.es5.js +21 -14
  243. package/esm5/button.es5.js.map +1 -1
  244. package/esm5/card.es5.js +4 -4
  245. package/esm5/card.es5.js.map +1 -1
  246. package/esm5/checkbox.es5.js +58 -17
  247. package/esm5/checkbox.es5.js.map +1 -1
  248. package/esm5/chips.es5.js +127 -37
  249. package/esm5/chips.es5.js.map +1 -1
  250. package/esm5/core.es5.js +189 -126
  251. package/esm5/core.es5.js.map +1 -1
  252. package/esm5/datepicker.es5.js +240 -58
  253. package/esm5/datepicker.es5.js.map +1 -1
  254. package/esm5/dialog.es5.js +139 -47
  255. package/esm5/dialog.es5.js.map +1 -1
  256. package/esm5/divider.es5.js +4 -4
  257. package/esm5/divider.es5.js.map +1 -1
  258. package/esm5/expansion.es5.js +35 -25
  259. package/esm5/expansion.es5.js.map +1 -1
  260. package/esm5/form-field.es5.js +124 -36
  261. package/esm5/form-field.es5.js.map +1 -1
  262. package/esm5/grid-list.es5.js +68 -17
  263. package/esm5/grid-list.es5.js.map +1 -1
  264. package/esm5/icon.es5.js +282 -81
  265. package/esm5/icon.es5.js.map +1 -1
  266. package/esm5/input.es5.js +48 -26
  267. package/esm5/input.es5.js.map +1 -1
  268. package/esm5/list.es5.js +74 -25
  269. package/esm5/list.es5.js.map +1 -1
  270. package/esm5/material.es5.js +10 -9
  271. package/esm5/material.es5.js.map +1 -1
  272. package/esm5/menu.es5.js +158 -55
  273. package/esm5/menu.es5.js.map +1 -1
  274. package/esm5/paginator.es5.js +55 -13
  275. package/esm5/paginator.es5.js.map +1 -1
  276. package/esm5/progress-bar.es5.js +37 -16
  277. package/esm5/progress-bar.es5.js.map +1 -1
  278. package/esm5/progress-spinner.es5.js +31 -15
  279. package/esm5/progress-spinner.es5.js.map +1 -1
  280. package/esm5/radio.es5.js +28 -9
  281. package/esm5/radio.es5.js.map +1 -1
  282. package/esm5/select.es5.js +181 -52
  283. package/esm5/select.es5.js.map +1 -1
  284. package/esm5/sidenav.es5.js +105 -26
  285. package/esm5/sidenav.es5.js.map +1 -1
  286. package/esm5/slide-toggle.es5.js +35 -17
  287. package/esm5/slide-toggle.es5.js.map +1 -1
  288. package/esm5/slider.es5.js +91 -21
  289. package/esm5/slider.es5.js.map +1 -1
  290. package/esm5/snack-bar.es5.js +76 -24
  291. package/esm5/snack-bar.es5.js.map +1 -1
  292. package/esm5/sort.es5.js +52 -25
  293. package/esm5/sort.es5.js.map +1 -1
  294. package/esm5/stepper.es5.js +40 -47
  295. package/esm5/stepper.es5.js.map +1 -1
  296. package/esm5/table.es5.js +31 -21
  297. package/esm5/table.es5.js.map +1 -1
  298. package/esm5/tabs.es5.js +159 -60
  299. package/esm5/tabs.es5.js.map +1 -1
  300. package/esm5/toolbar.es5.js +15 -5
  301. package/esm5/toolbar.es5.js.map +1 -1
  302. package/esm5/tooltip.es5.js +54 -27
  303. package/esm5/tooltip.es5.js.map +1 -1
  304. package/esm5/tree.es5.js +27 -28
  305. package/esm5/tree.es5.js.map +1 -1
  306. package/form-field/typings/form-field.d.ts +15 -4
  307. package/form-field/typings/index.metadata.json +1 -1
  308. package/grid-list/typings/index.d.ts +1 -1
  309. package/grid-list/typings/index.metadata.json +1 -1
  310. package/icon/typings/index.metadata.json +1 -1
  311. package/list/typings/index.metadata.json +1 -1
  312. package/material.d.ts +1 -1
  313. package/material.metadata.json +3 -3
  314. package/menu/typings/index.metadata.json +1 -1
  315. package/menu/typings/menu-item.d.ts +2 -0
  316. package/menu/typings/menu-trigger.d.ts +5 -0
  317. package/package.json +5 -5
  318. package/paginator/typings/index.metadata.json +1 -1
  319. package/paginator/typings/paginator.d.ts +7 -3
  320. package/prebuilt-themes/deeppurple-amber.css +1 -1
  321. package/prebuilt-themes/indigo-pink.css +1 -1
  322. package/prebuilt-themes/pink-bluegrey.css +1 -1
  323. package/prebuilt-themes/purple-green.css +1 -1
  324. package/progress-bar/typings/index.metadata.json +1 -1
  325. package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  326. package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
  327. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  328. package/schematics/ng-add/theming/theming.js +35 -19
  329. package/schematics/ng-add/theming/theming.js.map +1 -1
  330. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  331. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  332. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  333. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  334. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  335. package/select/typings/index.metadata.json +1 -1
  336. package/sidenav/typings/drawer.d.ts +9 -2
  337. package/sidenav/typings/index.metadata.json +1 -1
  338. package/slide-toggle/typings/index.metadata.json +1 -1
  339. package/stepper/typings/index.metadata.json +1 -1
  340. package/stepper/typings/step-header.d.ts +3 -5
  341. package/table/typings/index.metadata.json +1 -1
  342. package/tabs/typings/index.metadata.json +1 -1
  343. package/tabs/typings/tab-body.d.ts +2 -0
  344. package/tabs/typings/tab-group.d.ts +11 -2
  345. package/tabs/typings/tab-header.d.ts +9 -3
  346. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  347. package/tree/typings/index.metadata.json +1 -1
  348. package/typings/autocomplete/index.d.ts +1 -1
  349. package/typings/autocomplete/index.metadata.json +1 -1
  350. package/typings/badge/index.metadata.json +1 -1
  351. package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  352. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  353. package/typings/bottom-sheet/index.metadata.json +1 -1
  354. package/typings/button/button.d.ts +0 -5
  355. package/typings/button/index.metadata.json +1 -1
  356. package/typings/button-toggle/index.metadata.json +1 -1
  357. package/typings/checkbox/index.metadata.json +1 -1
  358. package/typings/chips/chip-list.d.ts +1 -1
  359. package/typings/chips/chip.d.ts +2 -2
  360. package/typings/chips/index.metadata.json +1 -1
  361. package/typings/core/index.metadata.json +1 -1
  362. package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  363. package/typings/core/public-api.d.ts +1 -1
  364. package/typings/datepicker/calendar-body.d.ts +21 -5
  365. package/typings/datepicker/calendar.d.ts +4 -1
  366. package/typings/datepicker/datepicker-toggle.d.ts +5 -0
  367. package/typings/datepicker/datepicker.d.ts +3 -0
  368. package/typings/datepicker/index.metadata.json +1 -1
  369. package/typings/datepicker/month-view.d.ts +4 -2
  370. package/typings/dialog/index.metadata.json +1 -1
  371. package/typings/esm5/autocomplete/index.d.ts +1 -1
  372. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  373. package/typings/esm5/badge/index.metadata.json +1 -1
  374. package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  375. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  376. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  377. package/typings/esm5/button/button.d.ts +0 -5
  378. package/typings/esm5/button/index.metadata.json +1 -1
  379. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  380. package/typings/esm5/checkbox/index.metadata.json +1 -1
  381. package/typings/esm5/chips/chip-list.d.ts +1 -1
  382. package/typings/esm5/chips/chip.d.ts +2 -2
  383. package/typings/esm5/chips/index.metadata.json +1 -1
  384. package/typings/esm5/core/index.metadata.json +1 -1
  385. package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  386. package/typings/esm5/core/public-api.d.ts +1 -1
  387. package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
  388. package/typings/esm5/datepicker/calendar.d.ts +4 -1
  389. package/typings/esm5/datepicker/datepicker-toggle.d.ts +5 -0
  390. package/typings/esm5/datepicker/datepicker.d.ts +3 -0
  391. package/typings/esm5/datepicker/index.metadata.json +1 -1
  392. package/typings/esm5/datepicker/month-view.d.ts +4 -2
  393. package/typings/esm5/dialog/index.metadata.json +1 -1
  394. package/typings/esm5/form-field/form-field.d.ts +15 -4
  395. package/typings/esm5/form-field/index.metadata.json +1 -1
  396. package/typings/esm5/grid-list/index.d.ts +1 -1
  397. package/typings/esm5/grid-list/index.metadata.json +1 -1
  398. package/typings/esm5/icon/index.metadata.json +1 -1
  399. package/typings/esm5/index.metadata.json +1 -1
  400. package/typings/esm5/list/index.metadata.json +1 -1
  401. package/typings/esm5/menu/index.metadata.json +1 -1
  402. package/typings/esm5/menu/menu-item.d.ts +2 -0
  403. package/typings/esm5/menu/menu-trigger.d.ts +5 -0
  404. package/typings/esm5/paginator/index.metadata.json +1 -1
  405. package/typings/esm5/paginator/paginator.d.ts +7 -3
  406. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  407. package/typings/esm5/select/index.metadata.json +1 -1
  408. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  409. package/typings/esm5/sidenav/index.metadata.json +1 -1
  410. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  411. package/typings/esm5/stepper/index.metadata.json +1 -1
  412. package/typings/esm5/stepper/step-header.d.ts +3 -5
  413. package/typings/esm5/table/index.metadata.json +1 -1
  414. package/typings/esm5/tabs/index.metadata.json +1 -1
  415. package/typings/esm5/tabs/tab-body.d.ts +2 -0
  416. package/typings/esm5/tabs/tab-group.d.ts +11 -2
  417. package/typings/esm5/tabs/tab-header.d.ts +9 -3
  418. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  419. package/typings/esm5/tree/index.metadata.json +1 -1
  420. package/typings/form-field/form-field.d.ts +15 -4
  421. package/typings/form-field/index.metadata.json +1 -1
  422. package/typings/grid-list/index.d.ts +1 -1
  423. package/typings/grid-list/index.metadata.json +1 -1
  424. package/typings/icon/index.metadata.json +1 -1
  425. package/typings/index.metadata.json +1 -1
  426. package/typings/list/index.metadata.json +1 -1
  427. package/typings/menu/index.metadata.json +1 -1
  428. package/typings/menu/menu-item.d.ts +2 -0
  429. package/typings/menu/menu-trigger.d.ts +5 -0
  430. package/typings/paginator/index.metadata.json +1 -1
  431. package/typings/paginator/paginator.d.ts +7 -3
  432. package/typings/progress-bar/index.metadata.json +1 -1
  433. package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  434. package/typings/select/index.metadata.json +1 -1
  435. package/typings/sidenav/drawer.d.ts +9 -2
  436. package/typings/sidenav/index.metadata.json +1 -1
  437. package/typings/slide-toggle/index.metadata.json +1 -1
  438. package/typings/stepper/index.metadata.json +1 -1
  439. package/typings/stepper/step-header.d.ts +3 -5
  440. package/typings/table/index.metadata.json +1 -1
  441. package/typings/tabs/index.metadata.json +1 -1
  442. package/typings/tabs/tab-body.d.ts +2 -0
  443. package/typings/tabs/tab-group.d.ts +11 -2
  444. package/typings/tabs/tab-header.d.ts +9 -3
  445. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  446. package/typings/tree/index.metadata.json +1 -1
  447. package/schematics/ng-add/theming/custom-theme.js.map +0 -1
package/esm5/sort.es5.js CHANGED
@@ -15,7 +15,7 @@ import { CommonModule } from '@angular/common';
15
15
 
16
16
  /**
17
17
  * @fileoverview added by tsickle
18
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
18
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
19
19
  */
20
20
 
21
21
  /**
@@ -51,12 +51,15 @@ function getSortInvalidDirectionError(direction) {
51
51
 
52
52
  /**
53
53
  * @fileoverview added by tsickle
54
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
54
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
55
55
  */
56
+ // Boilerplate for applying mixins to MatSort.
56
57
  /**
57
58
  * \@docs-private
58
59
  */
59
- var /**
60
+ var
61
+ // Boilerplate for applying mixins to MatSort.
62
+ /**
60
63
  * \@docs-private
61
64
  */
62
65
  MatSortBase = /** @class */ (function () {
@@ -212,10 +215,12 @@ var MatSort = /** @class */ (function (_super) {
212
215
  if (!sortable) {
213
216
  return '';
214
217
  }
218
+ // Get the sort direction cycle with the potential sortable overrides.
215
219
  /** @type {?} */
216
220
  var disableClear = sortable.disableClear != null ? sortable.disableClear : this.disableClear;
217
221
  /** @type {?} */
218
222
  var sortDirectionCycle = getSortDirectionCycle(sortable.start || this.start, disableClear);
223
+ // Get and return the next direction in the cycle
219
224
  /** @type {?} */
220
225
  var nextDirectionIndex = sortDirectionCycle.indexOf(this.direction) + 1;
221
226
  if (nextDirectionIndex >= sortDirectionCycle.length) {
@@ -286,36 +291,45 @@ function getSortDirectionCycle(start, disableClear) {
286
291
 
287
292
  /**
288
293
  * @fileoverview added by tsickle
289
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
294
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
290
295
  */
291
296
  /** @type {?} */
292
297
  var SORT_ANIMATION_TRANSITION = AnimationDurations.ENTERING + ' ' +
293
298
  AnimationCurves.STANDARD_CURVE;
294
- /** *
299
+ /**
295
300
  * Animations used by MatSort.
296
301
  * \@docs-private
297
- @type {?} */
302
+ * @type {?}
303
+ */
298
304
  var matSortAnimations = {
299
- /** Animation that moves the sort indicator. */
305
+ /**
306
+ * Animation that moves the sort indicator.
307
+ */
300
308
  indicator: trigger('indicator', [
301
309
  state('active-asc, asc', style({ transform: 'translateY(0px)' })),
302
310
  // 10px is the height of the sort indicator, minus the width of the pointers
303
311
  state('active-desc, desc', style({ transform: 'translateY(10px)' })),
304
312
  transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION))
305
313
  ]),
306
- /** Animation that rotates the left pointer of the indicator based on the sorting direction. */
314
+ /**
315
+ * Animation that rotates the left pointer of the indicator based on the sorting direction.
316
+ */
307
317
  leftPointer: trigger('leftPointer', [
308
318
  state('active-asc, asc', style({ transform: 'rotate(-45deg)' })),
309
319
  state('active-desc, desc', style({ transform: 'rotate(45deg)' })),
310
320
  transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION))
311
321
  ]),
312
- /** Animation that rotates the right pointer of the indicator based on the sorting direction. */
322
+ /**
323
+ * Animation that rotates the right pointer of the indicator based on the sorting direction.
324
+ */
313
325
  rightPointer: trigger('rightPointer', [
314
326
  state('active-asc, asc', style({ transform: 'rotate(45deg)' })),
315
327
  state('active-desc, desc', style({ transform: 'rotate(-45deg)' })),
316
328
  transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION))
317
329
  ]),
318
- /** Animation that controls the arrow opacity. */
330
+ /**
331
+ * Animation that controls the arrow opacity.
332
+ */
319
333
  arrowOpacity: trigger('arrowOpacity', [
320
334
  state('desc-to-active, asc-to-active, active', style({ opacity: 1 })),
321
335
  state('desc-to-hint, asc-to-hint, hint', style({ opacity: .54 })),
@@ -325,12 +339,12 @@ var matSortAnimations = {
325
339
  transition('* <=> *', animate(SORT_ANIMATION_TRANSITION)),
326
340
  ]),
327
341
  /**
328
- * Animation for the translation of the arrow as a whole. States are separated into two
329
- * groups: ones with animations and others that are immediate. Immediate states are asc, desc,
330
- * peek, and active. The other states define a specific animation (source-to-destination)
331
- * and are determined as a function of their prev user-perceived state and what the next state
332
- * should be.
333
- */
342
+ * Animation for the translation of the arrow as a whole. States are separated into two
343
+ * groups: ones with animations and others that are immediate. Immediate states are asc, desc,
344
+ * peek, and active. The other states define a specific animation (source-to-destination)
345
+ * and are determined as a function of their prev user-perceived state and what the next state
346
+ * should be.
347
+ */
334
348
  arrowPosition: trigger('arrowPosition', [
335
349
  // Hidden Above => Hint Center
336
350
  transition('* => desc-to-hint, * => desc-to-active', animate(SORT_ANIMATION_TRANSITION, keyframes([
@@ -356,7 +370,9 @@ var matSortAnimations = {
356
370
  state('hint-to-desc, active-to-desc, desc', style({ transform: 'translateY(-25%)' })),
357
371
  state('hint-to-asc, active-to-asc, asc', style({ transform: 'translateY(25%)' })),
358
372
  ]),
359
- /** Necessary trigger that calls animate on children animations. */
373
+ /**
374
+ * Necessary trigger that calls animate on children animations.
375
+ */
360
376
  allowChildren: trigger('allowChildren', [
361
377
  transition('* <=> *', [
362
378
  query('@*', animateChild(), { optional: true })
@@ -366,7 +382,7 @@ var matSortAnimations = {
366
382
 
367
383
  /**
368
384
  * @fileoverview added by tsickle
369
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
385
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
370
386
  */
371
387
  /**
372
388
  * To modify the labels and text displayed, create a new instance of MatSortHeaderIntl and
@@ -400,9 +416,10 @@ var MatSortHeaderIntl = /** @class */ (function () {
400
416
  function MAT_SORT_HEADER_INTL_PROVIDER_FACTORY(parentIntl) {
401
417
  return parentIntl || new MatSortHeaderIntl();
402
418
  }
403
- /** *
419
+ /**
404
420
  * \@docs-private
405
- @type {?} */
421
+ * @type {?}
422
+ */
406
423
  var MAT_SORT_HEADER_INTL_PROVIDER = {
407
424
  // If there is already an MatSortHeaderIntl available, use that. Otherwise, provide a new one.
408
425
  provide: MatSortHeaderIntl,
@@ -412,12 +429,15 @@ var MAT_SORT_HEADER_INTL_PROVIDER = {
412
429
 
413
430
  /**
414
431
  * @fileoverview added by tsickle
415
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
432
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
416
433
  */
434
+ // Boilerplate for applying mixins to the sort header.
417
435
  /**
418
436
  * \@docs-private
419
437
  */
420
- var /**
438
+ var
439
+ // Boilerplate for applying mixins to the sort header.
440
+ /**
421
441
  * \@docs-private
422
442
  */
423
443
  MatSortHeaderBase = /** @class */ (function () {
@@ -599,6 +619,8 @@ var MatSortHeader = /** @class */ (function (_super) {
599
619
  if (this._viewState.toState === 'hint' || this._viewState.toState === 'active') {
600
620
  this._disableViewStateAnimation = true;
601
621
  }
622
+ // If the arrow is now sorted, animate the arrow into place. Otherwise, animate it away into
623
+ // the direction it is facing.
602
624
  /** @type {?} */
603
625
  var viewState = this._isSorted() ?
604
626
  { fromState: this._arrowDirection, toState: 'active' } :
@@ -761,7 +783,7 @@ var MatSortHeader = /** @class */ (function (_super) {
761
783
 
762
784
  /**
763
785
  * @fileoverview added by tsickle
764
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
786
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
765
787
  */
766
788
  var MatSortModule = /** @class */ (function () {
767
789
  function MatSortModule() {
@@ -779,12 +801,17 @@ var MatSortModule = /** @class */ (function () {
779
801
 
780
802
  /**
781
803
  * @fileoverview added by tsickle
782
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
804
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
805
+ */
806
+
807
+ /**
808
+ * @fileoverview added by tsickle
809
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
783
810
  */
784
811
 
785
812
  /**
786
813
  * @fileoverview added by tsickle
787
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
814
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
788
815
  */
789
816
 
790
817
  export { MatSortModule, MatSortHeaderBase, _MatSortHeaderMixinBase, MatSortHeader, MAT_SORT_HEADER_INTL_PROVIDER_FACTORY, MatSortHeaderIntl, MAT_SORT_HEADER_INTL_PROVIDER, MatSortBase, _MatSortMixinBase, MatSort, matSortAnimations };
@@ -1 +1 @@
1
- {"version":3,"file":"sort.es5.js","sources":["../../../src/lib/sort/sort-module.ts","../../../src/lib/sort/sort-header.ts","../../../src/lib/sort/sort-header-intl.ts","../../../src/lib/sort/sort-animations.ts","../../../src/lib/sort/sort.ts","../../../src/lib/sort/sort-errors.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatSortHeader} from './sort-header';\nimport {MatSort} from './sort';\nimport {MAT_SORT_HEADER_INTL_PROVIDER} from './sort-header-intl';\nimport {CommonModule} from '@angular/common';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [MatSort, MatSortHeader],\n declarations: [MatSort, MatSortHeader],\n providers: [MAT_SORT_HEADER_INTL_PROVIDER]\n})\nexport class MatSortModule {}\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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation,\n Inject,\n} from '@angular/core';\nimport {CanDisable, CanDisableCtor, mixinDisabled} from '@angular/material/core';\nimport {merge, Subscription} from 'rxjs';\nimport {MatSort, MatSortable} from './sort';\nimport {matSortAnimations} from './sort-animations';\nimport {SortDirection} from './sort-direction';\nimport {getSortHeaderNotContainedWithinSortError} from './sort-errors';\nimport {MatSortHeaderIntl} from './sort-header-intl';\n\n\n// Boilerplate for applying mixins to the sort header.\n/** @docs-private */\nexport class MatSortHeaderBase {}\nexport const _MatSortHeaderMixinBase: CanDisableCtor & typeof MatSortHeaderBase =\n mixinDisabled(MatSortHeaderBase);\n\n/**\n * Valid positions for the arrow to be in for its opacity and translation. If the state is a\n * sort direction, the position of the arrow will be above/below and opacity 0. If the state is\n * hint, the arrow will be in the center with a slight opacity. Active state means the arrow will\n * be fully opaque in the center.\n *\n * @docs-private\n */\nexport type ArrowViewState = SortDirection | 'hint' | 'active';\n\n/**\n * States describing the arrow's animated position (animating fromState to toState).\n * If the fromState is not defined, there will be no animated transition to the toState.\n * @docs-private\n */\nexport interface ArrowViewStateTransition {\n fromState?: ArrowViewState;\n toState: ArrowViewState;\n}\n\n/** Column definition associated with a `MatSortHeader`. */\ninterface MatSortHeaderColumnDef {\n name: string;\n}\n\n/**\n * Applies sorting behavior (click to change sort) and styles to an element, including an\n * arrow to display the current sort direction.\n *\n * Must be provided with an id and contained within a parent MatSort directive.\n *\n * If used on header cells in a CdkTable, it will automatically default its id from its containing\n * column definition.\n */\n@Component({\n moduleId: module.id,\n selector: '[mat-sort-header]',\n exportAs: 'matSortHeader',\n templateUrl: 'sort-header.html',\n styleUrls: ['sort-header.css'],\n host: {\n '(click)': '_handleClick()',\n '(mouseenter)': '_setIndicatorHintVisible(true)',\n '(longpress)': '_setIndicatorHintVisible(true)',\n '(mouseleave)': '_setIndicatorHintVisible(false)',\n '[attr.aria-sort]': '_getAriaSortAttribute()',\n '[class.mat-sort-header-disabled]': '_isDisabled()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled'],\n animations: [\n matSortAnimations.indicator,\n matSortAnimations.leftPointer,\n matSortAnimations.rightPointer,\n matSortAnimations.arrowOpacity,\n matSortAnimations.arrowPosition,\n matSortAnimations.allowChildren,\n ]\n})\nexport class MatSortHeader extends _MatSortHeaderMixinBase\n implements CanDisable, MatSortable, OnDestroy, OnInit {\n private _rerenderSubscription: Subscription;\n\n /**\n * Flag set to true when the indicator should be displayed while the sort is not active. Used to\n * provide an affordance that the header is sortable by showing on focus and hover.\n */\n _showIndicatorHint: boolean = false;\n\n /**\n * The view transition state of the arrow (translation/ opacity) - indicates its `from` and `to`\n * position through the animation. If animations are currently disabled, the fromState is removed\n * so that there is no animation displayed.\n */\n _viewState: ArrowViewStateTransition;\n\n /** The direction the arrow should be facing according to the current state. */\n _arrowDirection: SortDirection = '';\n\n /**\n * Whether the view state animation should show the transition between the `from` and `to` states.\n */\n _disableViewStateAnimation = false;\n\n /**\n * ID of this sort header. If used within the context of a CdkColumnDef, this will default to\n * the column's name.\n */\n @Input('mat-sort-header') id: string;\n\n /** Sets the position of the arrow that displays when sorted. */\n @Input() arrowPosition: 'before' | 'after' = 'after';\n\n /** Overrides the sort start value of the containing MatSort for this MatSortable. */\n @Input() start: 'asc' | 'desc';\n\n /** Overrides the disable clear value of the containing MatSort for this MatSortable. */\n @Input()\n get disableClear(): boolean { return this._disableClear; }\n set disableClear(v) { this._disableClear = coerceBooleanProperty(v); }\n private _disableClear: boolean;\n\n constructor(public _intl: MatSortHeaderIntl,\n changeDetectorRef: ChangeDetectorRef,\n @Optional() public _sort: MatSort,\n @Inject('MAT_SORT_HEADER_COLUMN_DEF') @Optional()\n public _columnDef: MatSortHeaderColumnDef) {\n // Note that we use a string token for the `_columnDef`, because the value is provided both by\n // `material/table` and `cdk/table` and we can't have the CDK depending on Material,\n // and we want to avoid having the sort header depending on the CDK table because\n // of this single reference.\n super();\n\n if (!_sort) {\n throw getSortHeaderNotContainedWithinSortError();\n }\n\n this._rerenderSubscription = merge(_sort.sortChange, _sort._stateChanges, _intl.changes)\n .subscribe(() => {\n if (this._isSorted()) {\n this._updateArrowDirection();\n }\n\n // If this header was recently active and now no longer sorted, animate away the arrow.\n if (!this._isSorted() && this._viewState && this._viewState.toState === 'active') {\n this._disableViewStateAnimation = false;\n this._setAnimationTransitionState({fromState: 'active', toState: this._arrowDirection});\n }\n\n changeDetectorRef.markForCheck();\n });\n }\n\n ngOnInit() {\n if (!this.id && this._columnDef) {\n this.id = this._columnDef.name;\n }\n\n // Initialize the direction of the arrow and set the view state to be immediately that state.\n this._updateArrowDirection();\n this._setAnimationTransitionState(\n {toState: this._isSorted() ? 'active' : this._arrowDirection});\n\n this._sort.register(this);\n }\n\n ngOnDestroy() {\n this._sort.deregister(this);\n this._rerenderSubscription.unsubscribe();\n }\n\n /**\n * Sets the \"hint\" state such that the arrow will be semi-transparently displayed as a hint to the\n * user showing what the active sort will become. If set to false, the arrow will fade away.\n */\n _setIndicatorHintVisible(visible: boolean) {\n // No-op if the sort header is disabled - should not make the hint visible.\n if (this._isDisabled() && visible) { return; }\n\n this._showIndicatorHint = visible;\n\n if (!this._isSorted()) {\n this._updateArrowDirection();\n if (this._showIndicatorHint) {\n this._setAnimationTransitionState({fromState: this._arrowDirection, toState: 'hint'});\n } else {\n this._setAnimationTransitionState({fromState: 'hint', toState: this._arrowDirection});\n }\n }\n }\n\n /**\n * Sets the animation transition view state for the arrow's position and opacity. If the\n * `disableViewStateAnimation` flag is set to true, the `fromState` will be ignored so that\n * no animation appears.\n */\n _setAnimationTransitionState(viewState: ArrowViewStateTransition) {\n this._viewState = viewState;\n\n // If the animation for arrow position state (opacity/translation) should be disabled,\n // remove the fromState so that it jumps right to the toState.\n if (this._disableViewStateAnimation) {\n this._viewState = {toState: viewState.toState};\n }\n }\n\n /** Triggers the sort on this sort header and removes the indicator hint. */\n _handleClick() {\n if (this._isDisabled()) { return; }\n\n this._sort.sort(this);\n\n // Do not show the animation if the header was already shown in the right position.\n if (this._viewState.toState === 'hint' || this._viewState.toState === 'active') {\n this._disableViewStateAnimation = true;\n }\n\n // If the arrow is now sorted, animate the arrow into place. Otherwise, animate it away into\n // the direction it is facing.\n const viewState: ArrowViewStateTransition = this._isSorted() ?\n {fromState: this._arrowDirection, toState: 'active'} :\n {fromState: 'active', toState: this._arrowDirection};\n this._setAnimationTransitionState(viewState);\n\n this._showIndicatorHint = false;\n }\n\n /** Whether this MatSortHeader is currently sorted in either ascending or descending order. */\n _isSorted() {\n return this._sort.active == this.id &&\n (this._sort.direction === 'asc' || this._sort.direction === 'desc');\n }\n\n /** Returns the animation state for the arrow direction (indicator and pointers). */\n _getArrowDirectionState() {\n return `${this._isSorted() ? 'active-' : ''}${this._arrowDirection}`;\n }\n\n /** Returns the arrow position state (opacity, translation). */\n _getArrowViewState() {\n const fromState = this._viewState.fromState;\n return (fromState ? `${fromState}-to-` : '') + this._viewState.toState;\n }\n\n /**\n * Updates the direction the arrow should be pointing. If it is not sorted, the arrow should be\n * facing the start direction. Otherwise if it is sorted, the arrow should point in the currently\n * active sorted direction. The reason this is updated through a function is because the direction\n * should only be changed at specific times - when deactivated but the hint is displayed and when\n * the sort is active and the direction changes. Otherwise the arrow's direction should linger\n * in cases such as the sort becoming deactivated but we want to animate the arrow away while\n * preserving its direction, even though the next sort direction is actually different and should\n * only be changed once the arrow displays again (hint or activation).\n */\n _updateArrowDirection() {\n this._arrowDirection = this._isSorted() ?\n this._sort.direction :\n (this.start || this._sort.start);\n }\n\n _isDisabled() {\n return this._sort.disabled || this.disabled;\n }\n\n /**\n * Gets the aria-sort attribute that should be applied to this sort header. If this header\n * is not sorted, returns null so that the attribute is removed from the host element. Aria spec\n * says that the aria-sort property should only be present on one header at a time, so removing\n * ensures this is true.\n */\n _getAriaSortAttribute() {\n if (!this._isSorted()) { return null; }\n\n return this._sort.direction == 'asc' ? 'ascending' : 'descending';\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, SkipSelf, Optional} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * To modify the labels and text displayed, create a new instance of MatSortHeaderIntl and\n * include it in a custom provider.\n */\n@Injectable({providedIn: 'root'})\nexport class MatSortHeaderIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n\n /** ARIA label for the sorting button. */\n sortButtonLabel = (id: string) => {\n return `Change sorting for ${id}`;\n }\n}\n/** @docs-private */\nexport function MAT_SORT_HEADER_INTL_PROVIDER_FACTORY(parentIntl: MatSortHeaderIntl) {\n return parentIntl || new MatSortHeaderIntl();\n}\n\n/** @docs-private */\nexport const MAT_SORT_HEADER_INTL_PROVIDER = {\n // If there is already an MatSortHeaderIntl available, use that. Otherwise, provide a new one.\n provide: MatSortHeaderIntl,\n deps: [[new Optional(), new SkipSelf(), MatSortHeaderIntl]],\n useFactory: MAT_SORT_HEADER_INTL_PROVIDER_FACTORY\n};\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n keyframes,\n AnimationTriggerMetadata, query, animateChild,\n} from '@angular/animations';\nimport {AnimationCurves, AnimationDurations} from '@angular/material/core';\n\nconst SORT_ANIMATION_TRANSITION = AnimationDurations.ENTERING + ' ' +\n AnimationCurves.STANDARD_CURVE;\n\n/**\n * Animations used by MatSort.\n * @docs-private\n */\nexport const matSortAnimations: {\n readonly indicator: AnimationTriggerMetadata;\n readonly leftPointer: AnimationTriggerMetadata;\n readonly rightPointer: AnimationTriggerMetadata;\n readonly arrowOpacity: AnimationTriggerMetadata;\n readonly arrowPosition: AnimationTriggerMetadata;\n readonly allowChildren: AnimationTriggerMetadata;\n} = {\n /** Animation that moves the sort indicator. */\n indicator: trigger('indicator', [\n state('active-asc, asc', style({transform: 'translateY(0px)'})),\n // 10px is the height of the sort indicator, minus the width of the pointers\n state('active-desc, desc', style({transform: 'translateY(10px)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION))\n ]),\n\n /** Animation that rotates the left pointer of the indicator based on the sorting direction. */\n leftPointer: trigger('leftPointer', [\n state('active-asc, asc', style({transform: 'rotate(-45deg)'})),\n state('active-desc, desc', style({transform: 'rotate(45deg)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION))\n ]),\n\n /** Animation that rotates the right pointer of the indicator based on the sorting direction. */\n rightPointer: trigger('rightPointer', [\n state('active-asc, asc', style({transform: 'rotate(45deg)'})),\n state('active-desc, desc', style({transform: 'rotate(-45deg)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION))\n ]),\n\n /** Animation that controls the arrow opacity. */\n arrowOpacity: trigger('arrowOpacity', [\n state('desc-to-active, asc-to-active, active', style({opacity: 1})),\n state('desc-to-hint, asc-to-hint, hint', style({opacity: .54})),\n state('hint-to-desc, active-to-desc, desc, hint-to-asc, active-to-asc, asc, void',\n style({opacity: 0})),\n // Transition between all states except for immediate transitions\n transition('* => asc, * => desc, * => active, * => hint, * => void', animate('0ms')),\n transition('* <=> *', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /**\n * Animation for the translation of the arrow as a whole. States are separated into two\n * groups: ones with animations and others that are immediate. Immediate states are asc, desc,\n * peek, and active. The other states define a specific animation (source-to-destination)\n * and are determined as a function of their prev user-perceived state and what the next state\n * should be.\n */\n arrowPosition: trigger('arrowPosition', [\n // Hidden Above => Hint Center\n transition('* => desc-to-hint, * => desc-to-active',\n animate(SORT_ANIMATION_TRANSITION, keyframes([\n style({transform: 'translateY(-25%)'}),\n style({transform: 'translateY(0)'})\n ]))),\n // Hint Center => Hidden Below\n transition('* => hint-to-desc, * => active-to-desc',\n animate(SORT_ANIMATION_TRANSITION, keyframes([\n style({transform: 'translateY(0)'}),\n style({transform: 'translateY(25%)'})\n ]))),\n // Hidden Below => Hint Center\n transition('* => asc-to-hint, * => asc-to-active',\n animate(SORT_ANIMATION_TRANSITION, keyframes([\n style({transform: 'translateY(25%)'}),\n style({transform: 'translateY(0)'})\n ]))),\n // Hint Center => Hidden Above\n transition('* => hint-to-asc, * => active-to-asc',\n animate(SORT_ANIMATION_TRANSITION, keyframes([\n style({transform: 'translateY(0)'}),\n style({transform: 'translateY(-25%)'})\n ]))),\n state('desc-to-hint, asc-to-hint, hint, desc-to-active, asc-to-active, active',\n style({transform: 'translateY(0)'})),\n state('hint-to-desc, active-to-desc, desc',\n style({transform: 'translateY(-25%)'})),\n state('hint-to-asc, active-to-asc, asc',\n style({transform: 'translateY(25%)'})),\n ]),\n\n /** Necessary trigger that calls animate on children animations. */\n allowChildren: trigger('allowChildren', [\n transition('* <=> *', [\n query('@*', animateChild(), {optional: true})\n ])\n ]),\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n Directive,\n EventEmitter,\n Input,\n isDevMode,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableCtor,\n HasInitialized,\n HasInitializedCtor,\n mixinDisabled,\n mixinInitialized,\n} from '@angular/material/core';\nimport {Subject} from 'rxjs';\nimport {SortDirection} from './sort-direction';\nimport {\n getSortDuplicateSortableIdError,\n getSortHeaderMissingIdError,\n getSortInvalidDirectionError,\n} from './sort-errors';\n\n/** Interface for a directive that holds sorting state consumed by `MatSortHeader`. */\nexport interface MatSortable {\n /** The id of the column being sorted. */\n id: string;\n\n /** Starting sort direction. */\n start: 'asc' | 'desc';\n\n /** Whether to disable clearing the sorting state. */\n disableClear: boolean;\n}\n\n/** The current sort state. */\nexport interface Sort {\n /** The id of the column being sorted. */\n active: string;\n\n /** The sort direction. */\n direction: SortDirection;\n}\n\n// Boilerplate for applying mixins to MatSort.\n/** @docs-private */\nexport class MatSortBase {}\nexport const _MatSortMixinBase: HasInitializedCtor & CanDisableCtor & typeof MatSortBase =\n mixinInitialized(mixinDisabled(MatSortBase));\n\n/** Container for MatSortables to manage the sort state and provide default sort parameters. */\n@Directive({\n selector: '[matSort]',\n exportAs: 'matSort',\n inputs: ['disabled: matSortDisabled']\n})\nexport class MatSort extends _MatSortMixinBase\n implements CanDisable, HasInitialized, OnChanges, OnDestroy, OnInit {\n /** Collection of all registered sortables that this directive manages. */\n sortables = new Map<string, MatSortable>();\n\n /** Used to notify any child components listening to state changes. */\n readonly _stateChanges = new Subject<void>();\n\n /** The id of the most recently sorted MatSortable. */\n @Input('matSortActive') active: string;\n\n /**\n * The direction to set when an MatSortable is initially sorted.\n * May be overriden by the MatSortable's sort start.\n */\n @Input('matSortStart') start: 'asc' | 'desc' = 'asc';\n\n /** The sort direction of the currently active MatSortable. */\n @Input('matSortDirection')\n get direction(): SortDirection { return this._direction; }\n set direction(direction: SortDirection) {\n if (isDevMode() && direction && direction !== 'asc' && direction !== 'desc') {\n throw getSortInvalidDirectionError(direction);\n }\n this._direction = direction;\n }\n private _direction: SortDirection = '';\n\n /**\n * Whether to disable the user from clearing the sort by finishing the sort direction cycle.\n * May be overriden by the MatSortable's disable clear input.\n */\n @Input('matSortDisableClear')\n get disableClear(): boolean { return this._disableClear; }\n set disableClear(v: boolean) { this._disableClear = coerceBooleanProperty(v); }\n private _disableClear: boolean;\n\n /** Event emitted when the user changes either the active sort or sort direction. */\n @Output('matSortChange') readonly sortChange: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n /**\n * Register function to be used by the contained MatSortables. Adds the MatSortable to the\n * collection of MatSortables.\n */\n register(sortable: MatSortable): void {\n if (!sortable.id) {\n throw getSortHeaderMissingIdError();\n }\n\n if (this.sortables.has(sortable.id)) {\n throw getSortDuplicateSortableIdError(sortable.id);\n }\n this.sortables.set(sortable.id, sortable);\n }\n\n /**\n * Unregister function to be used by the contained MatSortables. Removes the MatSortable from the\n * collection of contained MatSortables.\n */\n deregister(sortable: MatSortable): void {\n this.sortables.delete(sortable.id);\n }\n\n /** Sets the active sort id and determines the new sort direction. */\n sort(sortable: MatSortable): void {\n if (this.active != sortable.id) {\n this.active = sortable.id;\n this.direction = sortable.start ? sortable.start : this.start;\n } else {\n this.direction = this.getNextSortDirection(sortable);\n }\n\n this.sortChange.emit({active: this.active, direction: this.direction});\n }\n\n /** Returns the next sort direction of the active sortable, checking for potential overrides. */\n getNextSortDirection(sortable: MatSortable): SortDirection {\n if (!sortable) { return ''; }\n\n // Get the sort direction cycle with the potential sortable overrides.\n const disableClear = sortable.disableClear != null ? sortable.disableClear : this.disableClear;\n let sortDirectionCycle = getSortDirectionCycle(sortable.start || this.start, disableClear);\n\n // Get and return the next direction in the cycle\n let nextDirectionIndex = sortDirectionCycle.indexOf(this.direction) + 1;\n if (nextDirectionIndex >= sortDirectionCycle.length) { nextDirectionIndex = 0; }\n return sortDirectionCycle[nextDirectionIndex];\n }\n\n ngOnInit() {\n this._markInitialized();\n }\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\n\n/** Returns the sort direction cycle to use given the provided parameters of order and clear. */\nfunction getSortDirectionCycle(start: 'asc' | 'desc',\n disableClear: boolean): SortDirection[] {\n let sortOrder: SortDirection[] = ['asc', 'desc'];\n if (start == 'desc') { sortOrder.reverse(); }\n if (!disableClear) { sortOrder.push(''); }\n\n return sortOrder;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** @docs-private */\nexport function getSortDuplicateSortableIdError(id: string): Error {\n return Error(`Cannot have two MatSortables with the same id (${id}).`);\n}\n\n/** @docs-private */\nexport function getSortHeaderNotContainedWithinSortError(): Error {\n return Error(`MatSortHeader must be placed within a parent element with the MatSort directive.`);\n}\n\n/** @docs-private */\nexport function getSortHeaderMissingIdError(): Error {\n return Error(`MatSortHeader must be provided with a unique id.`);\n}\n\n/** @docs-private */\nexport function getSortInvalidDirectionError(direction: string): Error {\n return Error(`${direction} is not a valid sort direction ('asc' or 'desc').`);\n}\n"],"names":["tslib_1.__extends"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AKSA,AAAA,SAAgB,+BAA+B,CAAC,EAAU,EAA1D;IACE,OAAO,KAAK,CAAC,iDAAf,GAAiE,EAAE,GAAnE,IAAuE,CAAC,CAAC;CACxE;;;;;AAGD,AAAA,SAAgB,wCAAwC,GAAxD;IACE,OAAO,KAAK,CAAC,kFAAkF,CAAC,CAAC;CAClG;;;;;AAGD,AAAA,SAAgB,2BAA2B,GAA3C;IACE,OAAO,KAAK,CAAC,kDAAkD,CAAC,CAAC;CAClE;;;;;;AAGD,AAAA,SAAgB,4BAA4B,CAAC,SAAiB,EAA9D;IACE,OAAO,KAAK,CAAI,SAAS,GAA3B,mDAA8E,CAAC,CAAC;CAC/E;;;;;;;;;ADgCD,AAAA,IAAA;;;AAAA,WAAA,kBAAA,YAAA;;;IA1DA,OAAA,WAAA,CAAA;CA0DA,EAAA,CAA2B,CAAA;;AAC3B,AAAA,IAAa,iBAAiB,GAC1B,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;;;;;IAQpBA,SAA7B,CAAA,OAAA,EAAA,MAAA,CAAA,CAA8C;;;;;;QAG5C,KAAF,CAAA,SAAA,GAAc,IAAI,GAAG,EAAuB,CAAC;;;;QAG3C,KAAF,CAAA,aAAA,GAA2B,IAAI,OAAO,EAAQ,CAAC;;;;;QAS7C,KAAF,CAAA,KAAA,GAAiD,KAAK,CAAC;QAWvD,KAAA,CAAA,UAAA,GAAsC,EAAE,CAAxC;;;;QAYE,KAAF,CAAA,UAAA,GAAqE,IAAI,YAAY,EAAQ,CAAC;;;IApB5F,MAAF,CAAA,cAAA,CACM,OADN,CAAA,SAAA,EAAA,WACe,EADf;;;;;;QAAE,YAAF,EACmC,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;;;;;QAC1D,UAAc,SAAwB,EAAxC;YACI,IAAI,SAAS,EAAE,IAAI,SAAS,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,EAAE;gBAC3E,MAAM,4BAA4B,CAAC,SAAS,CAAC,CAAC;aAC/C;YACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;SAC7B;;;KANH,CAAA,CAA4D;IAa1D,MAAF,CAAA,cAAA,CACM,OADN,CAAA,SAAA,EAAA,cACkB,EADlB;;;;;;;;;;QAAE,YAAF,EACgC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE;;;;;QAC1D,UAAiB,CAAU,EAA7B,EAAiC,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE;;;KADjF,CAAA,CAA4D;;;;;;;;;;;IAW1D,OAAF,CAAA,SAAA,CAAA,QAAU;;;;;;IAAR,UAAS,QAAqB,EAAhC;QACI,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,2BAA2B,EAAE,CAAC;SACrC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YACnC,MAAM,+BAA+B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACpD;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;KAC3C,CAAH;;;;;;;;;;;IAME,OAAF,CAAA,SAAA,CAAA,UAAY;;;;;;IAAV,UAAW,QAAqB,EAAlC;QACI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACpC,CAAH;;;;;;;IAGE,OAAF,CAAA,SAAA,CAAA,IAAM;;;;;IAAJ,UAAK,QAAqB,EAA5B;QACI,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;SACtD;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;KACxE,CAAH;;;;;;;IAGE,OAAF,CAAA,SAAA,CAAA,oBAAsB;;;;;IAApB,UAAqB,QAAqB,EAA5C;QACI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE;;QAG7B,IAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,GAAG,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;;QAC/F,IAAI,kBAAkB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;;QAG3F,IAAI,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxE,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAAE,kBAAkB,GAAG,CAAC,CAAC;SAAE;QAChF,OAAO,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;KAC/C,CAAH;;;;IAEE,OAAF,CAAA,SAAA,CAAA,QAAU;;;IAAR,YAAF;QACI,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB,CAAH;;;;IAEE,OAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;QACI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B,CAAH;;;;IAEE,OAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;QACI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;KAC/B,CAAH;;QAxGA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,CAAC,2BAA2B,CAAC;iBACtC,EAAD,EAAA;;;QAUA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,IAAA,EAAA,CAAS,eAAe,EAAxB,EAAA,CAAA;QAMA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,IAAA,EAAA,CAAS,cAAc,EAAvB,EAAA,CAAA;QAGA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,IAAA,EAAA,CAAS,kBAAkB,EAA3B,EAAA,CAAA;QAcA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,IAAA,EAAA,CAAS,qBAAqB,EAA9B,EAAA,CAAA;QAMA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAG,MAAM,EAAT,IAAA,EAAA,CAAU,eAAe,EAAzB,EAAA,CAAA;;IA1GA,OAAA,OAAA,CAAA;CAoEA,CAA6B,iBAAiB,CAA9C,CAAA,CAAA;AAAA;;;;;;AAuGA,SAAS,qBAAqB,CAAC,KAAqB,EACrB,YAAqB,EADpD;;IAEE,IAAI,SAAS,GAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,KAAK,IAAI,MAAM,EAAE;QAAE,SAAS,CAAC,OAAO,EAAE,CAAC;KAAE;IAC7C,IAAI,CAAC,YAAY,EAAE;QAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAAE;IAE1C,OAAO,SAAS,CAAC;CAClB;;;;;;AD3KD;AAWA,IAAM,yBAAyB,GAAG,kBAAkB,CAAC,QAAQ,GAAG,GAAG;IACjC,eAAe,CAAC,cAAc,CAAC;;;;;AAMjE,AAAA,IAAa,iBAAiB,GAO1B;;IAEF,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE;QAC9B,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,iBAAiB,EAAC,CAAC,CAAC;;QAE/D,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAClE,UAAU,CAAC,4BAA4B,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;KAC7E,CAAC;;IAGF,WAAW,EAAE,OAAO,CAAC,aAAa,EAAE;QAClC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC,CAAC;QAC/D,UAAU,CAAC,4BAA4B,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;KAC7E,CAAC;;IAGF,YAAY,EAAE,OAAO,CAAC,cAAc,EAAE;QACpC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC,CAAC;QAC7D,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC,CAAC,CAAC;QAChE,UAAU,CAAC,4BAA4B,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;KAC7E,CAAC;;IAGF,YAAY,EAAE,OAAO,CAAC,cAAc,EAAE;QACpC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;QACnE,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;QAC/D,KAAK,CAAC,2EAA2E,EAC7E,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;;QAExB,UAAU,CAAC,wDAAwD,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACpF,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;KAC1D,CAAC;;;;;;;;IASF,aAAa,EAAE,OAAO,CAAC,eAAe,EAAE;;QAEtC,UAAU,CAAC,wCAAwC,EAC/C,OAAO,CAAC,yBAAyB,EAAE,SAAS,CAAC;YAC3C,KAAK,CAAC,EAAC,SAAS,EAAE,kBAAkB,EAAC,CAAC;YACtC,KAAK,CAAC,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;SACpC,CAAC,CAAC,CAAC;;QAER,UAAU,CAAC,wCAAwC,EAC/C,OAAO,CAAC,yBAAyB,EAAE,SAAS,CAAC;YAC3C,KAAK,CAAC,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;YACnC,KAAK,CAAC,EAAC,SAAS,EAAE,iBAAiB,EAAC,CAAC;SACtC,CAAC,CAAC,CAAC;;QAER,UAAU,CAAC,sCAAsC,EAC7C,OAAO,CAAC,yBAAyB,EAAE,SAAS,CAAC;YAC3C,KAAK,CAAC,EAAC,SAAS,EAAE,iBAAiB,EAAC,CAAC;YACrC,KAAK,CAAC,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;SACpC,CAAC,CAAC,CAAC;;QAER,UAAU,CAAC,sCAAsC,EAC7C,OAAO,CAAC,yBAAyB,EAAE,SAAS,CAAC;YAC3C,KAAK,CAAC,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC;YACnC,KAAK,CAAC,EAAC,SAAS,EAAE,kBAAkB,EAAC,CAAC;SACvC,CAAC,CAAC,CAAC;QACR,KAAK,CAAC,wEAAwE,EAC1E,KAAK,CAAC,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC,CAAC;QACxC,KAAK,CAAC,oCAAoC,EACtC,KAAK,CAAC,EAAC,SAAS,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,iCAAiC,EACnC,KAAK,CAAC,EAAC,SAAS,EAAE,iBAAiB,EAAC,CAAC,CAAC;KAC3C,CAAC;;IAGF,aAAa,EAAE,OAAO,CAAC,eAAe,EAAE;QACtC,UAAU,CAAC,SAAS,EAAE;YACpB,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;SAC9C,CAAC;KACH,CAAC;CACH;;;;;;;;;;;;;;;;QD3FC,IAAF,CAAA,OAAA,GAAoC,IAAI,OAAO,EAAQ,CAAC;;;;QAGtD,IAAF,CAAA,eAAA,GAAoB,UAAC,EAAU,EAA/B;YACI,OAAO,qBAAX,GAAiC,EAAI,CAAC;SACnC,CAAA;;;QAXH,EAAA,IAAA,EAAC,UAAU,EAAX,IAAA,EAAA,CAAY,EAAC,UAAU,EAAE,MAAM,EAAC,EAAhC,EAAA;;;IAfA,OAAA,iBAAA,CAAA;;AAgBA;;;;;AAaA,AAAA,SAAgB,qCAAqC,CAAC,UAA6B,EAAnF;IACE,OAAO,UAAU,IAAI,IAAI,iBAAiB,EAAE,CAAC;CAC9C;;;;AAGD,AAAA,IAAa,6BAA6B,GAAG;;IAE3C,OAAO,EAAE,iBAAiB;IAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC3D,UAAU,EAAE,qCAAqC;CAClD;;;;;;;;;ADRD,AAAA,IAAA;;;AAAA,iBAAA,kBAAA,YAAA;;;IA/BA,OAAA,iBAAA,CAAA;CA+BA,EAAA,CAAiC,CAAA;;AACjC,AAAA,IAAa,uBAAuB,GAChC,aAAa,CAAC,iBAAiB,CAAC,CAAC;;;;;;;;;;;IA8DFA,SAAnC,CAAA,aAAA,EAAA,MAAA,CAAA,CAA0D;IA2CxD,SAAF,aAAA,CAAqB,KAAwB,EAC/B,iBAAoC,EACjB,KAAc,EAEtB,UAAkC,EAJ3D;QAAE,IAAF,KAAA;;;;;QASI,MAAJ,CAAA,IAAA,CAAA,IAAA,CAAW,IAAX,IAAA,CAoBG;QA7BkB,KAArB,CAAA,KAA0B,GAAL,KAAK,CAAmB;QAEZ,KAAjC,CAAA,KAAsC,GAAL,KAAK,CAAS;QAEtB,KAAzB,CAAA,UAAmC,GAAV,UAAU,CAAwB;;;;;QAvCzD,KAAF,CAAA,kBAAA,GAAgC,KAAK,CAAC;;;;QAUpC,KAAF,CAAA,eAAA,GAAmC,EAAE,CAAC;;;;QAKpC,KAAF,CAAA,0BAAA,GAA+B,KAAK,CAAC;;;;QASnC,KAAF,CAAA,aAAA,GAA+C,OAAO,CAAC;QAsBnD,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,wCAAwC,EAAE,CAAC;SAClD;QAED,KAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;aACnF,SAAS,CAAC,YAAnB;YACU,IAAI,KAAI,CAAC,SAAS,EAAE,EAAE;gBACpB,KAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;;YAGD,IAAI,CAAC,KAAI,CAAC,SAAS,EAAE,IAAI,KAAI,CAAC,UAAU,IAAI,KAAI,CAAC,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE;gBAChF,KAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;gBACxC,KAAI,CAAC,4BAA4B,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAI,CAAC,eAAe,EAAC,CAAC,CAAC;aACzF;YAED,iBAAiB,CAAC,YAAY,EAAE,CAAC;SAClC,CAAC,CAAC;;KACR;IAlCD,MAAF,CAAA,cAAA,CACM,aADN,CAAA,SAAA,EAAA,cACkB,EADlB;;;;;;QAAE,YAAF,EACgC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE;;;;;QAC1D,UAAiB,CAAC,EAApB,EAAwB,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE;;;KADxE,CAAA,CAA4D;;;;IAmC1D,aAAF,CAAA,SAAA,CAAA,QAAU;;;IAAR,YAAF;QACI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;YAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;SAChC;;QAGD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,4BAA4B,CAC7B,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC3B,CAAH;;;;IAEE,aAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;QACI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;KAC1C,CAAH;;;;;;;;;;;IAME,aAAF,CAAA,SAAA,CAAA,wBAA0B;;;;;;IAAxB,UAAyB,OAAgB,EAA3C;;QAEI,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE;YAAE,OAAO;SAAE;QAE9C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACrB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,CAAC,4BAA4B,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;aACvF;iBAAM;gBACL,IAAI,CAAC,4BAA4B,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAC,CAAC,CAAC;aACvF;SACF;KACF,CAAH;;;;;;;;;;;;;IAOE,aAAF,CAAA,SAAA,CAAA,4BAA8B;;;;;;;IAA5B,UAA6B,SAAmC,EAAlE;QACI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;;;QAI5B,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACnC,IAAI,CAAC,UAAU,GAAG,EAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAC,CAAC;SAChD;KACF,CAAH;;;;;;IAGE,aAAF,CAAA,SAAA,CAAA,YAAc;;;;IAAZ,YAAF;QACI,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YAAE,OAAO;SAAE;QAEnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QAGtB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC9E,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;SACxC;;QAID,IAAM,SAAS,GAA6B,IAAI,CAAC,SAAS,EAAE;YACxD,EAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAC;YACpD,EAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAC,CAAC;QACzD,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;KACjC,CAAH;;;;;;IAGE,aAAF,CAAA,SAAA,CAAA,SAAW;;;;IAAT,YAAF;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;aAC9B,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC;KACzE,CAAH;;;;;;IAGE,aAAF,CAAA,SAAA,CAAA,uBAAyB;;;;IAAvB,YAAF;QACI,OAAO,EAAX,IAAc,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,GAAG,EAAE,CAA/C,GAAkD,IAAI,CAAC,eAAiB,CAAC;KACtE,CAAH;;;;;;IAGE,aAAF,CAAA,SAAA,CAAA,kBAAoB;;;;IAAlB,YAAF;;QACI,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5C,OAAO,CAAC,SAAS,GAAM,SAAS,GAApC,MAA0C,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;KACxE,CAAH;;;;;;;;;;;;;;;;;;;;;;IAYE,aAAF,CAAA,SAAA,CAAA,qBAAuB;;;;;;;;;;;IAArB,YAAF;QACI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,SAAS;aACnB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACtC,CAAH;;;;IAEE,aAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;KAC7C,CAAH;;;;;;;;;;;;;;IAQE,aAAF,CAAA,SAAA,CAAA,qBAAuB;;;;;;;IAArB,YAAF;QACI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YAAE,OAAO,IAAI,CAAC;SAAE;QAEvC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,GAAG,WAAW,GAAG,YAAY,CAAC;KACnE,CAAH;;QA7NA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,mBAAA;oBACE,QAAQ,EAAE,eAAZ;oBACE,QAAQ,EAAE,glCAAZ;oBACE,MAAF,EAAU,CAAV,2nDAAA,CAAA;oBACE,IAAF,EAAA;wBACA,SAAA,EAAA,gBAAA;wBACM,cAAN,EAAA,gCAAA;wBACI,aAAJ,EAAA,gCAAA;wBACI,cAAc,EAAE,iCAApB;wBACI,kBAAJ,EAAA,yBAAA;wBACI,kCAAJ,EAAA,eAAA;qBACA;oBACA,aAAA,EAAA,iBAAA,CAAA,IAAA;oBACA,eAAA,EAAA,uBAAA,CAAA,MAAA;oBACE,MAAF,EAAA,CAAA,UAAA,CAAA;oBACE,UAAF,EAAA;wBACA,iBAAA,CAAA,SAAA;wBACA,iBAAA,CAAA,WAAA;wBACI,iBAAiB,CAAC,YAAtB;wBACI,iBAAiB,CAAC,YAAtB;wBACI,iBAAiB,CAAC,aAAtB;wBACI,iBAAiB,CAAC,aAAtB;qBACA;iBACA,EAAA,EAAA;KACA,CAAA;;;;;QAnEA,EAAA,IAAA,EAAQ,OAAR,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA;QAfA,EAAA,IAAA,EAAE,SAAF,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,4BAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA;KAWA,CAAA,EAAA,CAAA;IAuHA,aAAA,CAAA,cAAA,GAAA;;;QAjBA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;QAGA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;KAGA,CAAA;IAGA,OAAA,aAAA,CAAA;;;;;;;;;;;QDtHA,EAAA,IAAA,EAAC,QAAQ,EAAT,IAAA,EAAA,CAAU;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;oBACjC,YAAY,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;oBACtC,SAAS,EAAE,CAAC,6BAA6B,CAAC;iBAC3C,EAAD,EAAA;;IApBA,OAAA,aAAA,CAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"sort.es5.js","sources":["../../../src/lib/sort/sort-module.ts","../../../src/lib/sort/sort-header.ts","../../../src/lib/sort/sort-header-intl.ts","../../../src/lib/sort/sort-animations.ts","../../../src/lib/sort/sort.ts","../../../src/lib/sort/sort-errors.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatSortHeader} from './sort-header';\nimport {MatSort} from './sort';\nimport {MAT_SORT_HEADER_INTL_PROVIDER} from './sort-header-intl';\nimport {CommonModule} from '@angular/common';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [MatSort, MatSortHeader],\n declarations: [MatSort, MatSortHeader],\n providers: [MAT_SORT_HEADER_INTL_PROVIDER]\n})\nexport class MatSortModule {}\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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation,\n Inject,\n} from '@angular/core';\nimport {CanDisable, CanDisableCtor, mixinDisabled} from '@angular/material/core';\nimport {merge, Subscription} from 'rxjs';\nimport {MatSort, MatSortable} from './sort';\nimport {matSortAnimations} from './sort-animations';\nimport {SortDirection} from './sort-direction';\nimport {getSortHeaderNotContainedWithinSortError} from './sort-errors';\nimport {MatSortHeaderIntl} from './sort-header-intl';\n\n\n// Boilerplate for applying mixins to the sort header.\n/** @docs-private */\nexport class MatSortHeaderBase {}\nexport const _MatSortHeaderMixinBase: CanDisableCtor & typeof MatSortHeaderBase =\n mixinDisabled(MatSortHeaderBase);\n\n/**\n * Valid positions for the arrow to be in for its opacity and translation. If the state is a\n * sort direction, the position of the arrow will be above/below and opacity 0. If the state is\n * hint, the arrow will be in the center with a slight opacity. Active state means the arrow will\n * be fully opaque in the center.\n *\n * @docs-private\n */\nexport type ArrowViewState = SortDirection | 'hint' | 'active';\n\n/**\n * States describing the arrow's animated position (animating fromState to toState).\n * If the fromState is not defined, there will be no animated transition to the toState.\n * @docs-private\n */\nexport interface ArrowViewStateTransition {\n fromState?: ArrowViewState;\n toState: ArrowViewState;\n}\n\n/** Column definition associated with a `MatSortHeader`. */\ninterface MatSortHeaderColumnDef {\n name: string;\n}\n\n/**\n * Applies sorting behavior (click to change sort) and styles to an element, including an\n * arrow to display the current sort direction.\n *\n * Must be provided with an id and contained within a parent MatSort directive.\n *\n * If used on header cells in a CdkTable, it will automatically default its id from its containing\n * column definition.\n */\n@Component({\n moduleId: module.id,\n selector: '[mat-sort-header]',\n exportAs: 'matSortHeader',\n templateUrl: 'sort-header.html',\n styleUrls: ['sort-header.css'],\n host: {\n '(click)': '_handleClick()',\n '(mouseenter)': '_setIndicatorHintVisible(true)',\n '(longpress)': '_setIndicatorHintVisible(true)',\n '(mouseleave)': '_setIndicatorHintVisible(false)',\n '[attr.aria-sort]': '_getAriaSortAttribute()',\n '[class.mat-sort-header-disabled]': '_isDisabled()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled'],\n animations: [\n matSortAnimations.indicator,\n matSortAnimations.leftPointer,\n matSortAnimations.rightPointer,\n matSortAnimations.arrowOpacity,\n matSortAnimations.arrowPosition,\n matSortAnimations.allowChildren,\n ]\n})\nexport class MatSortHeader extends _MatSortHeaderMixinBase\n implements CanDisable, MatSortable, OnDestroy, OnInit {\n private _rerenderSubscription: Subscription;\n\n /**\n * Flag set to true when the indicator should be displayed while the sort is not active. Used to\n * provide an affordance that the header is sortable by showing on focus and hover.\n */\n _showIndicatorHint: boolean = false;\n\n /**\n * The view transition state of the arrow (translation/ opacity) - indicates its `from` and `to`\n * position through the animation. If animations are currently disabled, the fromState is removed\n * so that there is no animation displayed.\n */\n _viewState: ArrowViewStateTransition;\n\n /** The direction the arrow should be facing according to the current state. */\n _arrowDirection: SortDirection = '';\n\n /**\n * Whether the view state animation should show the transition between the `from` and `to` states.\n */\n _disableViewStateAnimation = false;\n\n /**\n * ID of this sort header. If used within the context of a CdkColumnDef, this will default to\n * the column's name.\n */\n @Input('mat-sort-header') id: string;\n\n /** Sets the position of the arrow that displays when sorted. */\n @Input() arrowPosition: 'before' | 'after' = 'after';\n\n /** Overrides the sort start value of the containing MatSort for this MatSortable. */\n @Input() start: 'asc' | 'desc';\n\n /** Overrides the disable clear value of the containing MatSort for this MatSortable. */\n @Input()\n get disableClear(): boolean { return this._disableClear; }\n set disableClear(v) { this._disableClear = coerceBooleanProperty(v); }\n private _disableClear: boolean;\n\n constructor(public _intl: MatSortHeaderIntl,\n changeDetectorRef: ChangeDetectorRef,\n @Optional() public _sort: MatSort,\n @Inject('MAT_SORT_HEADER_COLUMN_DEF') @Optional()\n public _columnDef: MatSortHeaderColumnDef) {\n // Note that we use a string token for the `_columnDef`, because the value is provided both by\n // `material/table` and `cdk/table` and we can't have the CDK depending on Material,\n // and we want to avoid having the sort header depending on the CDK table because\n // of this single reference.\n super();\n\n if (!_sort) {\n throw getSortHeaderNotContainedWithinSortError();\n }\n\n this._rerenderSubscription = merge(_sort.sortChange, _sort._stateChanges, _intl.changes)\n .subscribe(() => {\n if (this._isSorted()) {\n this._updateArrowDirection();\n }\n\n // If this header was recently active and now no longer sorted, animate away the arrow.\n if (!this._isSorted() && this._viewState && this._viewState.toState === 'active') {\n this._disableViewStateAnimation = false;\n this._setAnimationTransitionState({fromState: 'active', toState: this._arrowDirection});\n }\n\n changeDetectorRef.markForCheck();\n });\n }\n\n ngOnInit() {\n if (!this.id && this._columnDef) {\n this.id = this._columnDef.name;\n }\n\n // Initialize the direction of the arrow and set the view state to be immediately that state.\n this._updateArrowDirection();\n this._setAnimationTransitionState(\n {toState: this._isSorted() ? 'active' : this._arrowDirection});\n\n this._sort.register(this);\n }\n\n ngOnDestroy() {\n this._sort.deregister(this);\n this._rerenderSubscription.unsubscribe();\n }\n\n /**\n * Sets the \"hint\" state such that the arrow will be semi-transparently displayed as a hint to the\n * user showing what the active sort will become. If set to false, the arrow will fade away.\n */\n _setIndicatorHintVisible(visible: boolean) {\n // No-op if the sort header is disabled - should not make the hint visible.\n if (this._isDisabled() && visible) { return; }\n\n this._showIndicatorHint = visible;\n\n if (!this._isSorted()) {\n this._updateArrowDirection();\n if (this._showIndicatorHint) {\n this._setAnimationTransitionState({fromState: this._arrowDirection, toState: 'hint'});\n } else {\n this._setAnimationTransitionState({fromState: 'hint', toState: this._arrowDirection});\n }\n }\n }\n\n /**\n * Sets the animation transition view state for the arrow's position and opacity. If the\n * `disableViewStateAnimation` flag is set to true, the `fromState` will be ignored so that\n * no animation appears.\n */\n _setAnimationTransitionState(viewState: ArrowViewStateTransition) {\n this._viewState = viewState;\n\n // If the animation for arrow position state (opacity/translation) should be disabled,\n // remove the fromState so that it jumps right to the toState.\n if (this._disableViewStateAnimation) {\n this._viewState = {toState: viewState.toState};\n }\n }\n\n /** Triggers the sort on this sort header and removes the indicator hint. */\n _handleClick() {\n if (this._isDisabled()) { return; }\n\n this._sort.sort(this);\n\n // Do not show the animation if the header was already shown in the right position.\n if (this._viewState.toState === 'hint' || this._viewState.toState === 'active') {\n this._disableViewStateAnimation = true;\n }\n\n // If the arrow is now sorted, animate the arrow into place. Otherwise, animate it away into\n // the direction it is facing.\n const viewState: ArrowViewStateTransition = this._isSorted() ?\n {fromState: this._arrowDirection, toState: 'active'} :\n {fromState: 'active', toState: this._arrowDirection};\n this._setAnimationTransitionState(viewState);\n\n this._showIndicatorHint = false;\n }\n\n /** Whether this MatSortHeader is currently sorted in either ascending or descending order. */\n _isSorted() {\n return this._sort.active == this.id &&\n (this._sort.direction === 'asc' || this._sort.direction === 'desc');\n }\n\n /** Returns the animation state for the arrow direction (indicator and pointers). */\n _getArrowDirectionState() {\n return `${this._isSorted() ? 'active-' : ''}${this._arrowDirection}`;\n }\n\n /** Returns the arrow position state (opacity, translation). */\n _getArrowViewState() {\n const fromState = this._viewState.fromState;\n return (fromState ? `${fromState}-to-` : '') + this._viewState.toState;\n }\n\n /**\n * Updates the direction the arrow should be pointing. If it is not sorted, the arrow should be\n * facing the start direction. Otherwise if it is sorted, the arrow should point in the currently\n * active sorted direction. The reason this is updated through a function is because the direction\n * should only be changed at specific times - when deactivated but the hint is displayed and when\n * the sort is active and the direction changes. Otherwise the arrow's direction should linger\n * in cases such as the sort becoming deactivated but we want to animate the arrow away while\n * preserving its direction, even though the next sort direction is actually different and should\n * only be changed once the arrow displays again (hint or activation).\n */\n _updateArrowDirection() {\n this._arrowDirection = this._isSorted() ?\n this._sort.direction :\n (this.start || this._sort.start);\n }\n\n _isDisabled() {\n return this._sort.disabled || this.disabled;\n }\n\n /**\n * Gets the aria-sort attribute that should be applied to this sort header. If this header\n * is not sorted, returns null so that the attribute is removed from the host element. Aria spec\n * says that the aria-sort property should only be present on one header at a time, so removing\n * ensures this is true.\n */\n _getAriaSortAttribute() {\n if (!this._isSorted()) { return null; }\n\n return this._sort.direction == 'asc' ? 'ascending' : 'descending';\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, SkipSelf, Optional} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * To modify the labels and text displayed, create a new instance of MatSortHeaderIntl and\n * include it in a custom provider.\n */\n@Injectable({providedIn: 'root'})\nexport class MatSortHeaderIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n\n /** ARIA label for the sorting button. */\n sortButtonLabel = (id: string) => {\n return `Change sorting for ${id}`;\n }\n}\n/** @docs-private */\nexport function MAT_SORT_HEADER_INTL_PROVIDER_FACTORY(parentIntl: MatSortHeaderIntl) {\n return parentIntl || new MatSortHeaderIntl();\n}\n\n/** @docs-private */\nexport const MAT_SORT_HEADER_INTL_PROVIDER = {\n // If there is already an MatSortHeaderIntl available, use that. Otherwise, provide a new one.\n provide: MatSortHeaderIntl,\n deps: [[new Optional(), new SkipSelf(), MatSortHeaderIntl]],\n useFactory: MAT_SORT_HEADER_INTL_PROVIDER_FACTORY\n};\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n keyframes,\n AnimationTriggerMetadata, query, animateChild,\n} from '@angular/animations';\nimport {AnimationCurves, AnimationDurations} from '@angular/material/core';\n\nconst SORT_ANIMATION_TRANSITION = AnimationDurations.ENTERING + ' ' +\n AnimationCurves.STANDARD_CURVE;\n\n/**\n * Animations used by MatSort.\n * @docs-private\n */\nexport const matSortAnimations: {\n readonly indicator: AnimationTriggerMetadata;\n readonly leftPointer: AnimationTriggerMetadata;\n readonly rightPointer: AnimationTriggerMetadata;\n readonly arrowOpacity: AnimationTriggerMetadata;\n readonly arrowPosition: AnimationTriggerMetadata;\n readonly allowChildren: AnimationTriggerMetadata;\n} = {\n /** Animation that moves the sort indicator. */\n indicator: trigger('indicator', [\n state('active-asc, asc', style({transform: 'translateY(0px)'})),\n // 10px is the height of the sort indicator, minus the width of the pointers\n state('active-desc, desc', style({transform: 'translateY(10px)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION))\n ]),\n\n /** Animation that rotates the left pointer of the indicator based on the sorting direction. */\n leftPointer: trigger('leftPointer', [\n state('active-asc, asc', style({transform: 'rotate(-45deg)'})),\n state('active-desc, desc', style({transform: 'rotate(45deg)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION))\n ]),\n\n /** Animation that rotates the right pointer of the indicator based on the sorting direction. */\n rightPointer: trigger('rightPointer', [\n state('active-asc, asc', style({transform: 'rotate(45deg)'})),\n state('active-desc, desc', style({transform: 'rotate(-45deg)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION))\n ]),\n\n /** Animation that controls the arrow opacity. */\n arrowOpacity: trigger('arrowOpacity', [\n state('desc-to-active, asc-to-active, active', style({opacity: 1})),\n state('desc-to-hint, asc-to-hint, hint', style({opacity: .54})),\n state('hint-to-desc, active-to-desc, desc, hint-to-asc, active-to-asc, asc, void',\n style({opacity: 0})),\n // Transition between all states except for immediate transitions\n transition('* => asc, * => desc, * => active, * => hint, * => void', animate('0ms')),\n transition('* <=> *', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /**\n * Animation for the translation of the arrow as a whole. States are separated into two\n * groups: ones with animations and others that are immediate. Immediate states are asc, desc,\n * peek, and active. The other states define a specific animation (source-to-destination)\n * and are determined as a function of their prev user-perceived state and what the next state\n * should be.\n */\n arrowPosition: trigger('arrowPosition', [\n // Hidden Above => Hint Center\n transition('* => desc-to-hint, * => desc-to-active',\n animate(SORT_ANIMATION_TRANSITION, keyframes([\n style({transform: 'translateY(-25%)'}),\n style({transform: 'translateY(0)'})\n ]))),\n // Hint Center => Hidden Below\n transition('* => hint-to-desc, * => active-to-desc',\n animate(SORT_ANIMATION_TRANSITION, keyframes([\n style({transform: 'translateY(0)'}),\n style({transform: 'translateY(25%)'})\n ]))),\n // Hidden Below => Hint Center\n transition('* => asc-to-hint, * => asc-to-active',\n animate(SORT_ANIMATION_TRANSITION, keyframes([\n style({transform: 'translateY(25%)'}),\n style({transform: 'translateY(0)'})\n ]))),\n // Hint Center => Hidden Above\n transition('* => hint-to-asc, * => active-to-asc',\n animate(SORT_ANIMATION_TRANSITION, keyframes([\n style({transform: 'translateY(0)'}),\n style({transform: 'translateY(-25%)'})\n ]))),\n state('desc-to-hint, asc-to-hint, hint, desc-to-active, asc-to-active, active',\n style({transform: 'translateY(0)'})),\n state('hint-to-desc, active-to-desc, desc',\n style({transform: 'translateY(-25%)'})),\n state('hint-to-asc, active-to-asc, asc',\n style({transform: 'translateY(25%)'})),\n ]),\n\n /** Necessary trigger that calls animate on children animations. */\n allowChildren: trigger('allowChildren', [\n transition('* <=> *', [\n query('@*', animateChild(), {optional: true})\n ])\n ]),\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n Directive,\n EventEmitter,\n Input,\n isDevMode,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableCtor,\n HasInitialized,\n HasInitializedCtor,\n mixinDisabled,\n mixinInitialized,\n} from '@angular/material/core';\nimport {Subject} from 'rxjs';\nimport {SortDirection} from './sort-direction';\nimport {\n getSortDuplicateSortableIdError,\n getSortHeaderMissingIdError,\n getSortInvalidDirectionError,\n} from './sort-errors';\n\n/** Interface for a directive that holds sorting state consumed by `MatSortHeader`. */\nexport interface MatSortable {\n /** The id of the column being sorted. */\n id: string;\n\n /** Starting sort direction. */\n start: 'asc' | 'desc';\n\n /** Whether to disable clearing the sorting state. */\n disableClear: boolean;\n}\n\n/** The current sort state. */\nexport interface Sort {\n /** The id of the column being sorted. */\n active: string;\n\n /** The sort direction. */\n direction: SortDirection;\n}\n\n// Boilerplate for applying mixins to MatSort.\n/** @docs-private */\nexport class MatSortBase {}\nexport const _MatSortMixinBase: HasInitializedCtor & CanDisableCtor & typeof MatSortBase =\n mixinInitialized(mixinDisabled(MatSortBase));\n\n/** Container for MatSortables to manage the sort state and provide default sort parameters. */\n@Directive({\n selector: '[matSort]',\n exportAs: 'matSort',\n inputs: ['disabled: matSortDisabled']\n})\nexport class MatSort extends _MatSortMixinBase\n implements CanDisable, HasInitialized, OnChanges, OnDestroy, OnInit {\n /** Collection of all registered sortables that this directive manages. */\n sortables = new Map<string, MatSortable>();\n\n /** Used to notify any child components listening to state changes. */\n readonly _stateChanges = new Subject<void>();\n\n /** The id of the most recently sorted MatSortable. */\n @Input('matSortActive') active: string;\n\n /**\n * The direction to set when an MatSortable is initially sorted.\n * May be overriden by the MatSortable's sort start.\n */\n @Input('matSortStart') start: 'asc' | 'desc' = 'asc';\n\n /** The sort direction of the currently active MatSortable. */\n @Input('matSortDirection')\n get direction(): SortDirection { return this._direction; }\n set direction(direction: SortDirection) {\n if (isDevMode() && direction && direction !== 'asc' && direction !== 'desc') {\n throw getSortInvalidDirectionError(direction);\n }\n this._direction = direction;\n }\n private _direction: SortDirection = '';\n\n /**\n * Whether to disable the user from clearing the sort by finishing the sort direction cycle.\n * May be overriden by the MatSortable's disable clear input.\n */\n @Input('matSortDisableClear')\n get disableClear(): boolean { return this._disableClear; }\n set disableClear(v: boolean) { this._disableClear = coerceBooleanProperty(v); }\n private _disableClear: boolean;\n\n /** Event emitted when the user changes either the active sort or sort direction. */\n @Output('matSortChange') readonly sortChange: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n /**\n * Register function to be used by the contained MatSortables. Adds the MatSortable to the\n * collection of MatSortables.\n */\n register(sortable: MatSortable): void {\n if (!sortable.id) {\n throw getSortHeaderMissingIdError();\n }\n\n if (this.sortables.has(sortable.id)) {\n throw getSortDuplicateSortableIdError(sortable.id);\n }\n this.sortables.set(sortable.id, sortable);\n }\n\n /**\n * Unregister function to be used by the contained MatSortables. Removes the MatSortable from the\n * collection of contained MatSortables.\n */\n deregister(sortable: MatSortable): void {\n this.sortables.delete(sortable.id);\n }\n\n /** Sets the active sort id and determines the new sort direction. */\n sort(sortable: MatSortable): void {\n if (this.active != sortable.id) {\n this.active = sortable.id;\n this.direction = sortable.start ? sortable.start : this.start;\n } else {\n this.direction = this.getNextSortDirection(sortable);\n }\n\n this.sortChange.emit({active: this.active, direction: this.direction});\n }\n\n /** Returns the next sort direction of the active sortable, checking for potential overrides. */\n getNextSortDirection(sortable: MatSortable): SortDirection {\n if (!sortable) { return ''; }\n\n // Get the sort direction cycle with the potential sortable overrides.\n const disableClear = sortable.disableClear != null ? sortable.disableClear : this.disableClear;\n let sortDirectionCycle = getSortDirectionCycle(sortable.start || this.start, disableClear);\n\n // Get and return the next direction in the cycle\n let nextDirectionIndex = sortDirectionCycle.indexOf(this.direction) + 1;\n if (nextDirectionIndex >= sortDirectionCycle.length) { nextDirectionIndex = 0; }\n return sortDirectionCycle[nextDirectionIndex];\n }\n\n ngOnInit() {\n this._markInitialized();\n }\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\n\n/** Returns the sort direction cycle to use given the provided parameters of order and clear. */\nfunction getSortDirectionCycle(start: 'asc' | 'desc',\n disableClear: boolean): SortDirection[] {\n let sortOrder: SortDirection[] = ['asc', 'desc'];\n if (start == 'desc') { sortOrder.reverse(); }\n if (!disableClear) { sortOrder.push(''); }\n\n return sortOrder;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** @docs-private */\nexport function getSortDuplicateSortableIdError(id: string): Error {\n return Error(`Cannot have two MatSortables with the same id (${id}).`);\n}\n\n/** @docs-private */\nexport function getSortHeaderNotContainedWithinSortError(): Error {\n return Error(`MatSortHeader must be placed within a parent element with the MatSort directive.`);\n}\n\n/** @docs-private */\nexport function getSortHeaderMissingIdError(): Error {\n return Error(`MatSortHeader must be provided with a unique id.`);\n}\n\n/** @docs-private */\nexport function getSortInvalidDirectionError(direction: string): Error {\n return Error(`${direction} is not a valid sort direction ('asc' or 'desc').`);\n}\n"],"names":["tslib_1.__extends"],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { __extends } from 'tslib';
9
9
  import { Directive, Injectable, Optional, SkipSelf, NgModule, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewEncapsulation, ContentChild, ContentChildren, EventEmitter, forwardRef, Inject, Output, ViewChildren, TemplateRef, defineInjectable } from '@angular/core';
10
- import { CdkStepLabel, CdkStep, CdkStepper, MAT_STEPPER_GLOBAL_OPTIONS, CdkStepperNext, CdkStepperPrevious, CdkStepperModule } from '@angular/cdk/stepper';
10
+ import { CdkStepLabel, CdkStepHeader, CdkStep, CdkStepper, STEPPER_GLOBAL_OPTIONS, CdkStepperNext, CdkStepperPrevious, CdkStepperModule } from '@angular/cdk/stepper';
11
11
  import { Subject } from 'rxjs';
12
12
  import { FocusMonitor } from '@angular/cdk/a11y';
13
13
  import { animate, state, style, transition, trigger } from '@angular/animations';
@@ -21,7 +21,7 @@ import { MatIconModule } from '@angular/material/icon';
21
21
 
22
22
  /**
23
23
  * @fileoverview added by tsickle
24
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
24
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
25
25
  */
26
26
  var MatStepLabel = /** @class */ (function (_super) {
27
27
  __extends(MatStepLabel, _super);
@@ -35,12 +35,10 @@ var MatStepLabel = /** @class */ (function (_super) {
35
35
  ];
36
36
  return MatStepLabel;
37
37
  }(CdkStepLabel));
38
- // TODO(devversion): workaround for https://github.com/angular/material2/issues/12760
39
- (/** @type {?} */ (MatStepLabel))['ctorParameters'] = function () { return (/** @type {?} */ (CdkStepLabel))['ctorParameters']; };
40
38
 
41
39
  /**
42
40
  * @fileoverview added by tsickle
43
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
41
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
44
42
  */
45
43
  /**
46
44
  * Stepper data that is required for internationalization.
@@ -71,9 +69,10 @@ var MatStepperIntl = /** @class */ (function () {
71
69
  function MAT_STEPPER_INTL_PROVIDER_FACTORY(parentIntl) {
72
70
  return parentIntl || new MatStepperIntl();
73
71
  }
74
- /** *
72
+ /**
75
73
  * \@docs-private
76
- @type {?} */
74
+ * @type {?}
75
+ */
77
76
  var MAT_STEPPER_INTL_PROVIDER = {
78
77
  provide: MatStepperIntl,
79
78
  deps: [[new Optional(), new SkipSelf(), MatStepperIntl]],
@@ -82,15 +81,17 @@ var MAT_STEPPER_INTL_PROVIDER = {
82
81
 
83
82
  /**
84
83
  * @fileoverview added by tsickle
85
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
84
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
86
85
  */
87
- var MatStepHeader = /** @class */ (function () {
88
- function MatStepHeader(_intl, _focusMonitor, _element, changeDetectorRef) {
89
- this._intl = _intl;
90
- this._focusMonitor = _focusMonitor;
91
- this._element = _element;
92
- _focusMonitor.monitor(_element, true);
93
- this._intlSubscription = _intl.changes.subscribe(function () { return changeDetectorRef.markForCheck(); });
86
+ var MatStepHeader = /** @class */ (function (_super) {
87
+ __extends(MatStepHeader, _super);
88
+ function MatStepHeader(_intl, _focusMonitor, _elementRef, changeDetectorRef) {
89
+ var _this = _super.call(this, _elementRef) || this;
90
+ _this._intl = _intl;
91
+ _this._focusMonitor = _focusMonitor;
92
+ _focusMonitor.monitor(_elementRef, true);
93
+ _this._intlSubscription = _intl.changes.subscribe(function () { return changeDetectorRef.markForCheck(); });
94
+ return _this;
94
95
  }
95
96
  /**
96
97
  * @return {?}
@@ -100,7 +101,7 @@ var MatStepHeader = /** @class */ (function () {
100
101
  */
101
102
  function () {
102
103
  this._intlSubscription.unsubscribe();
103
- this._focusMonitor.stopMonitoring(this._element);
104
+ this._focusMonitor.stopMonitoring(this._elementRef);
104
105
  };
105
106
  /** Returns string label of given step if it is a text label. */
106
107
  /**
@@ -136,7 +137,7 @@ var MatStepHeader = /** @class */ (function () {
136
137
  * @return {?}
137
138
  */
138
139
  function () {
139
- return this._element.nativeElement;
140
+ return this._elementRef.nativeElement;
140
141
  };
141
142
  /** Template context variables that are exposed to the `matStepperIcon` instances. */
142
143
  /**
@@ -154,15 +155,6 @@ var MatStepHeader = /** @class */ (function () {
154
155
  optional: this.optional
155
156
  };
156
157
  };
157
- /**
158
- * @return {?}
159
- */
160
- MatStepHeader.prototype.focus = /**
161
- * @return {?}
162
- */
163
- function () {
164
- this._getHostElement().focus();
165
- };
166
158
  MatStepHeader.decorators = [
167
159
  { type: Component, args: [{selector: 'mat-step-header',
168
160
  template: "<div class=\"mat-step-header-ripple\" mat-ripple [matRippleTrigger]=\"_getHostElement()\"></div><div class=\"mat-step-icon-state-{{state}} mat-step-icon\" [class.mat-step-icon-selected]=\"selected\" [ngSwitch]=\"state\"><div class=\"mat-step-icon-content\"><ng-container *ngSwitchCase=\"'number'\" [ngSwitch]=\"!!(iconOverrides && iconOverrides.number)\"><ng-container *ngSwitchCase=\"true\" [ngTemplateOutlet]=\"iconOverrides.number\" [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container><span *ngSwitchDefault>{{index + 1}}</span></ng-container><ng-container *ngSwitchCase=\"'edit'\" [ngSwitch]=\"!!(iconOverrides && iconOverrides.edit)\"><ng-container *ngSwitchCase=\"true\" [ngTemplateOutlet]=\"iconOverrides.edit\" [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container><mat-icon *ngSwitchDefault>create</mat-icon></ng-container><ng-container *ngSwitchCase=\"'done'\" [ngSwitch]=\"!!(iconOverrides && iconOverrides.done)\"><ng-container *ngSwitchCase=\"true\" [ngTemplateOutlet]=\"iconOverrides.done\" [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container><mat-icon *ngSwitchDefault>done</mat-icon></ng-container><ng-container *ngSwitchCase=\"'error'\" [ngSwitch]=\"!!(iconOverrides && iconOverrides.error)\"><ng-container *ngSwitchCase=\"true\" [ngTemplateOutlet]=\"iconOverrides.error\" [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container><mat-icon *ngSwitchDefault>warning</mat-icon></ng-container><ng-container *ngSwitchDefault [ngSwitch]=\"!!(iconOverrides && iconOverrides[state])\"><ng-container *ngSwitchCase=\"true\" [ngTemplateOutlet]=\"iconOverrides[state]\" [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container><mat-icon *ngSwitchDefault>{{state}}</mat-icon></ng-container></div></div><div class=\"mat-step-label\" [class.mat-step-label-active]=\"active\" [class.mat-step-label-selected]=\"selected\" [class.mat-step-label-error]=\"state == 'error'\"><ng-container *ngIf=\"_templateLabel()\" [ngTemplateOutlet]=\"_templateLabel()!.template\"></ng-container><div class=\"mat-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div><div class=\"mat-step-optional\" *ngIf=\"optional && state != 'error'\">{{_intl.optionalLabel}}</div><div class=\"mat-step-sub-label-error\" *ngIf=\"state == 'error'\">{{errorMessage}}</div></div>",
@@ -193,25 +185,30 @@ var MatStepHeader = /** @class */ (function () {
193
185
  optional: [{ type: Input }]
194
186
  };
195
187
  return MatStepHeader;
196
- }());
188
+ }(CdkStepHeader));
197
189
 
198
190
  /**
199
191
  * @fileoverview added by tsickle
200
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
192
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
201
193
  */
202
- /** *
194
+ /**
203
195
  * Animations used by the Material steppers.
204
196
  * \@docs-private
205
- @type {?} */
197
+ * @type {?}
198
+ */
206
199
  var matStepperAnimations = {
207
- /** Animation that transitions the step along the X axis in a horizontal stepper. */
200
+ /**
201
+ * Animation that transitions the step along the X axis in a horizontal stepper.
202
+ */
208
203
  horizontalStepTransition: trigger('stepTransition', [
209
204
  state('previous', style({ transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden' })),
210
205
  state('current', style({ transform: 'none', visibility: 'visible' })),
211
206
  state('next', style({ transform: 'translate3d(100%, 0, 0)', visibility: 'hidden' })),
212
207
  transition('* => *', animate('500ms cubic-bezier(0.35, 0, 0.25, 1)'))
213
208
  ]),
214
- /** Animation that transitions the step along the Y axis in a vertical stepper. */
209
+ /**
210
+ * Animation that transitions the step along the Y axis in a vertical stepper.
211
+ */
215
212
  verticalStepTransition: trigger('stepTransition', [
216
213
  state('previous', style({ height: '0px', visibility: 'hidden' })),
217
214
  state('next', style({ height: '0px', visibility: 'hidden' })),
@@ -222,7 +219,7 @@ var matStepperAnimations = {
222
219
 
223
220
  /**
224
221
  * @fileoverview added by tsickle
225
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
222
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
226
223
  */
227
224
  /**
228
225
  * Template to be used to override the icons inside the step header.
@@ -248,7 +245,7 @@ var MatStepperIcon = /** @class */ (function () {
248
245
 
249
246
  /**
250
247
  * @fileoverview added by tsickle
251
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
248
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
252
249
  */
253
250
  var MatStep = /** @class */ (function (_super) {
254
251
  __extends(MatStep, _super);
@@ -274,6 +271,9 @@ var MatStep = /** @class */ (function (_super) {
274
271
  function (control, form) {
275
272
  /** @type {?} */
276
273
  var originalErrorState = this._errorStateMatcher.isErrorState(control, form);
274
+ // Custom error state checks for the validity of form that is not submitted or touched
275
+ // since user can trigger a form change by calling for another step without directly
276
+ // interacting with the current form.
277
277
  /** @type {?} */
278
278
  var customErrorState = !!(control && control.invalid && this.interacted);
279
279
  return originalErrorState || customErrorState;
@@ -291,7 +291,7 @@ var MatStep = /** @class */ (function (_super) {
291
291
  MatStep.ctorParameters = function () { return [
292
292
  { type: MatStepper, decorators: [{ type: Inject, args: [forwardRef(function () { return MatStepper; }),] }] },
293
293
  { type: ErrorStateMatcher, decorators: [{ type: SkipSelf }] },
294
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_STEPPER_GLOBAL_OPTIONS,] }] }
294
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [STEPPER_GLOBAL_OPTIONS,] }] }
295
295
  ]; };
296
296
  MatStep.propDecorators = {
297
297
  stepLabel: [{ type: ContentChild, args: [MatStepLabel,] }]
@@ -335,7 +335,7 @@ var MatStepper = /** @class */ (function (_super) {
335
335
  // to a bug in animations where the `.done` callback gets invoked twice on some browsers.
336
336
  // See https://github.com/angular/angular/issues/24084
337
337
  distinctUntilChanged(function (x, y) { return x.fromState === y.fromState && x.toState === y.toState; }), takeUntil(this._destroyed)).subscribe(function (event) {
338
- if ((/** @type {?} */ (event.toState)) === 'current') {
338
+ if (((/** @type {?} */ (event.toState))) === 'current') {
339
339
  _this.animationDone.emit();
340
340
  }
341
341
  });
@@ -353,8 +353,6 @@ var MatStepper = /** @class */ (function (_super) {
353
353
  };
354
354
  return MatStepper;
355
355
  }(CdkStepper));
356
- // TODO(devversion): workaround for https://github.com/angular/material2/issues/12760
357
- (/** @type {?} */ (MatStepper))['ctorParameters'] = function () { return (/** @type {?} */ (CdkStepper))['ctorParameters']; };
358
356
  var MatHorizontalStepper = /** @class */ (function (_super) {
359
357
  __extends(MatHorizontalStepper, _super);
360
358
  function MatHorizontalStepper() {
@@ -427,7 +425,7 @@ var MatVerticalStepper = /** @class */ (function (_super) {
427
425
 
428
426
  /**
429
427
  * @fileoverview added by tsickle
430
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
428
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
431
429
  */
432
430
  /**
433
431
  * Button that moves to the next step in a stepper workflow.
@@ -471,15 +469,10 @@ var MatStepperPrevious = /** @class */ (function (_super) {
471
469
  ];
472
470
  return MatStepperPrevious;
473
471
  }(CdkStepperPrevious));
474
- // TODO(devversion): workaround for https://github.com/angular/material2/issues/12760
475
- (/** @type {?} */ (MatStepperNext))['ctorParameters'] = function () { return (/** @type {?} */ (CdkStepperNext))['ctorParameters']; };
476
- (/** @type {?} */ (MatStepperPrevious))['ctorParameters'] = function () {
477
- return (/** @type {?} */ (CdkStepperPrevious))['ctorParameters'];
478
- };
479
472
 
480
473
  /**
481
474
  * @fileoverview added by tsickle
482
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
475
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
483
476
  */
484
477
  var MatStepperModule = /** @class */ (function () {
485
478
  function MatStepperModule() {
@@ -526,12 +519,12 @@ var MatStepperModule = /** @class */ (function () {
526
519
 
527
520
  /**
528
521
  * @fileoverview added by tsickle
529
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
522
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
530
523
  */
531
524
 
532
525
  /**
533
526
  * @fileoverview added by tsickle
534
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
527
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
535
528
  */
536
529
 
537
530
  export { MatStepperModule, MatStepLabel, MatStep, MatStepper, MatHorizontalStepper, MatVerticalStepper, MatStepperNext, MatStepperPrevious, MatStepHeader, MAT_STEPPER_INTL_PROVIDER_FACTORY, MatStepperIntl, MAT_STEPPER_INTL_PROVIDER, matStepperAnimations, MatStepperIcon };