@angular/material 8.0.0-beta.2 → 8.0.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 (599) hide show
  1. package/README.md +2 -2
  2. package/_theming.scss +18 -11
  3. package/autocomplete/typings/autocomplete-trigger.d.ts +13 -2
  4. package/autocomplete/typings/autocomplete.d.ts +3 -2
  5. package/autocomplete/typings/index.metadata.json +1 -1
  6. package/badge/typings/badge.d.ts +8 -2
  7. package/badge/typings/index.metadata.json +1 -1
  8. package/bundles/material-autocomplete.umd.js +196 -68
  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 +37 -9
  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 +72 -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 +97 -28
  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 +11 -9
  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 +69 -25
  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 +229 -82
  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 +159 -75
  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 +157 -62
  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 +98 -33
  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 +63 -23
  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 +114 -42
  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 +42 -17
  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 +101 -31
  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 +29 -16
  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 +97 -38
  75. package/bundles/material-list.umd.js.map +1 -1
  76. package/bundles/material-list.umd.min.js +2 -2
  77. package/bundles/material-list.umd.min.js.map +1 -1
  78. package/bundles/material-menu.umd.js +308 -167
  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 +28 -12
  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 +26 -16
  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 +10 -12
  91. package/bundles/material-progress-spinner.umd.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.min.js +1 -1
  93. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  94. package/bundles/material-radio.umd.js +77 -21
  95. package/bundles/material-radio.umd.js.map +1 -1
  96. package/bundles/material-radio.umd.min.js +1 -1
  97. package/bundles/material-radio.umd.min.js.map +1 -1
  98. package/bundles/material-select.umd.js +186 -57
  99. package/bundles/material-select.umd.js.map +1 -1
  100. package/bundles/material-select.umd.min.js +1 -1
  101. package/bundles/material-select.umd.min.js.map +1 -1
  102. package/bundles/material-sidenav.umd.js +323 -145
  103. package/bundles/material-sidenav.umd.js.map +1 -1
  104. package/bundles/material-sidenav.umd.min.js +1 -1
  105. package/bundles/material-sidenav.umd.min.js.map +1 -1
  106. package/bundles/material-slide-toggle.umd.js +49 -31
  107. package/bundles/material-slide-toggle.umd.js.map +1 -1
  108. package/bundles/material-slide-toggle.umd.min.js +1 -1
  109. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  110. package/bundles/material-slider.umd.js +26 -12
  111. package/bundles/material-slider.umd.js.map +1 -1
  112. package/bundles/material-slider.umd.min.js +1 -1
  113. package/bundles/material-slider.umd.min.js.map +1 -1
  114. package/bundles/material-snack-bar.umd.js +55 -23
  115. package/bundles/material-snack-bar.umd.js.map +1 -1
  116. package/bundles/material-snack-bar.umd.min.js +1 -1
  117. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  118. package/bundles/material-sort.umd.js +20 -17
  119. package/bundles/material-sort.umd.js.map +1 -1
  120. package/bundles/material-sort.umd.min.js +1 -1
  121. package/bundles/material-sort.umd.min.js.map +1 -1
  122. package/bundles/material-stepper.umd.js +50 -16
  123. package/bundles/material-stepper.umd.js.map +1 -1
  124. package/bundles/material-stepper.umd.min.js +1 -1
  125. package/bundles/material-stepper.umd.min.js.map +1 -1
  126. package/bundles/material-table.umd.js +116 -26
  127. package/bundles/material-table.umd.js.map +1 -1
  128. package/bundles/material-table.umd.min.js +1 -1
  129. package/bundles/material-table.umd.min.js.map +1 -1
  130. package/bundles/material-tabs.umd.js +162 -77
  131. package/bundles/material-tabs.umd.js.map +1 -1
  132. package/bundles/material-tabs.umd.min.js +2 -2
  133. package/bundles/material-tabs.umd.min.js.map +1 -1
  134. package/bundles/material-toolbar.umd.js +22 -9
  135. package/bundles/material-toolbar.umd.js.map +1 -1
  136. package/bundles/material-toolbar.umd.min.js +1 -1
  137. package/bundles/material-toolbar.umd.min.js.map +1 -1
  138. package/bundles/material-tooltip.umd.js +79 -25
  139. package/bundles/material-tooltip.umd.js.map +1 -1
  140. package/bundles/material-tooltip.umd.min.js.map +1 -1
  141. package/bundles/material-tree.umd.js +49 -28
  142. package/bundles/material-tree.umd.js.map +1 -1
  143. package/bundles/material-tree.umd.min.js +1 -1
  144. package/bundles/material-tree.umd.min.js.map +1 -1
  145. package/bundles/material.umd.js +3157 -1278
  146. package/bundles/material.umd.js.map +1 -1
  147. package/bundles/material.umd.min.js +19 -19
  148. package/bundles/material.umd.min.js.map +1 -1
  149. package/button/typings/button.d.ts +4 -3
  150. package/button/typings/index.metadata.json +1 -1
  151. package/button-toggle/typings/button-toggle.d.ts +7 -3
  152. package/button-toggle/typings/index.metadata.json +1 -1
  153. package/checkbox/typings/checkbox-module.d.ts +3 -0
  154. package/checkbox/typings/checkbox.d.ts +3 -2
  155. package/checkbox/typings/index.metadata.json +1 -1
  156. package/chips/typings/chip-list.d.ts +9 -2
  157. package/chips/typings/chip.d.ts +3 -2
  158. package/chips/typings/index.metadata.json +1 -1
  159. package/core/typings/index.metadata.json +1 -1
  160. package/core/typings/option/optgroup.d.ts +3 -2
  161. package/core/typings/public-api.d.ts +1 -0
  162. package/core/typings/ripple/ripple-renderer.d.ts +4 -4
  163. package/{typings/esm5 → core/typings}/version.d.ts +0 -0
  164. package/datepicker/typings/datepicker.d.ts +3 -2
  165. package/datepicker/typings/index.d.ts +0 -1
  166. package/datepicker/typings/index.metadata.json +1 -1
  167. package/datepicker/typings/public-api.d.ts +1 -0
  168. package/esm2015/autocomplete.js +187 -68
  169. package/esm2015/autocomplete.js.map +1 -1
  170. package/esm2015/badge.js +31 -10
  171. package/esm2015/badge.js.map +1 -1
  172. package/esm2015/bottom-sheet.js +75 -28
  173. package/esm2015/bottom-sheet.js.map +1 -1
  174. package/esm2015/button-toggle.js +89 -27
  175. package/esm2015/button-toggle.js.map +1 -1
  176. package/esm2015/button.js +13 -9
  177. package/esm2015/button.js.map +1 -1
  178. package/esm2015/card.js +4 -4
  179. package/esm2015/card.js.map +1 -1
  180. package/esm2015/checkbox.js +68 -25
  181. package/esm2015/checkbox.js.map +1 -1
  182. package/esm2015/chips.js +219 -79
  183. package/esm2015/chips.js.map +1 -1
  184. package/esm2015/core.js +160 -75
  185. package/esm2015/core.js.map +1 -1
  186. package/esm2015/datepicker.js +157 -62
  187. package/esm2015/datepicker.js.map +1 -1
  188. package/esm2015/dialog.js +99 -34
  189. package/esm2015/dialog.js.map +1 -1
  190. package/esm2015/divider.js +4 -4
  191. package/esm2015/divider.js.map +1 -1
  192. package/esm2015/expansion.js +65 -25
  193. package/esm2015/expansion.js.map +1 -1
  194. package/esm2015/form-field.js +108 -42
  195. package/esm2015/form-field.js.map +1 -1
  196. package/esm2015/grid-list.js +44 -19
  197. package/esm2015/grid-list.js.map +1 -1
  198. package/esm2015/icon.js +104 -32
  199. package/esm2015/icon.js.map +1 -1
  200. package/esm2015/input.js +31 -16
  201. package/esm2015/input.js.map +1 -1
  202. package/esm2015/list.js +96 -29
  203. package/esm2015/list.js.map +1 -1
  204. package/esm2015/material.js +28 -41
  205. package/esm2015/material.js.map +1 -1
  206. package/esm2015/menu.js +254 -131
  207. package/esm2015/menu.js.map +1 -1
  208. package/esm2015/paginator.js +31 -13
  209. package/esm2015/paginator.js.map +1 -1
  210. package/esm2015/progress-bar.js +28 -14
  211. package/esm2015/progress-bar.js.map +1 -1
  212. package/esm2015/progress-spinner.js +12 -12
  213. package/esm2015/progress-spinner.js.map +1 -1
  214. package/esm2015/radio.js +75 -22
  215. package/esm2015/radio.js.map +1 -1
  216. package/esm2015/select.js +188 -57
  217. package/esm2015/select.js.map +1 -1
  218. package/esm2015/sidenav.js +285 -136
  219. package/esm2015/sidenav.js.map +1 -1
  220. package/esm2015/slide-toggle.js +47 -29
  221. package/esm2015/slide-toggle.js.map +1 -1
  222. package/esm2015/slider.js +28 -12
  223. package/esm2015/slider.js.map +1 -1
  224. package/esm2015/snack-bar.js +58 -26
  225. package/esm2015/snack-bar.js.map +1 -1
  226. package/esm2015/sort.js +23 -16
  227. package/esm2015/sort.js.map +1 -1
  228. package/esm2015/stepper.js +47 -18
  229. package/esm2015/stepper.js.map +1 -1
  230. package/esm2015/table.js +120 -27
  231. package/esm2015/table.js.map +1 -1
  232. package/esm2015/tabs.js +160 -63
  233. package/esm2015/tabs.js.map +1 -1
  234. package/esm2015/toolbar.js +24 -9
  235. package/esm2015/toolbar.js.map +1 -1
  236. package/esm2015/tooltip.js +82 -28
  237. package/esm2015/tooltip.js.map +1 -1
  238. package/esm2015/tree.js +54 -31
  239. package/esm2015/tree.js.map +1 -1
  240. package/esm5/autocomplete.es5.js +199 -69
  241. package/esm5/autocomplete.es5.js.map +1 -1
  242. package/esm5/badge.es5.js +41 -11
  243. package/esm5/badge.es5.js.map +1 -1
  244. package/esm5/bottom-sheet.es5.js +75 -28
  245. package/esm5/bottom-sheet.es5.js.map +1 -1
  246. package/esm5/button-toggle.es5.js +100 -29
  247. package/esm5/button-toggle.es5.js.map +1 -1
  248. package/esm5/button.es5.js +14 -10
  249. package/esm5/button.es5.js.map +1 -1
  250. package/esm5/card.es5.js +4 -4
  251. package/esm5/card.es5.js.map +1 -1
  252. package/esm5/checkbox.es5.js +71 -26
  253. package/esm5/checkbox.es5.js.map +1 -1
  254. package/esm5/chips.es5.js +233 -82
  255. package/esm5/chips.es5.js.map +1 -1
  256. package/esm5/core.es5.js +162 -77
  257. package/esm5/core.es5.js.map +1 -1
  258. package/esm5/datepicker.es5.js +158 -63
  259. package/esm5/datepicker.es5.js.map +1 -1
  260. package/esm5/dialog.es5.js +100 -35
  261. package/esm5/dialog.es5.js.map +1 -1
  262. package/esm5/divider.es5.js +4 -4
  263. package/esm5/divider.es5.js.map +1 -1
  264. package/esm5/expansion.es5.js +65 -25
  265. package/esm5/expansion.es5.js.map +1 -1
  266. package/esm5/form-field.es5.js +117 -43
  267. package/esm5/form-field.es5.js.map +1 -1
  268. package/esm5/grid-list.es5.js +44 -19
  269. package/esm5/grid-list.es5.js.map +1 -1
  270. package/esm5/icon.es5.js +105 -33
  271. package/esm5/icon.es5.js.map +1 -1
  272. package/esm5/input.es5.js +32 -17
  273. package/esm5/input.es5.js.map +1 -1
  274. package/esm5/list.es5.js +100 -33
  275. package/esm5/list.es5.js.map +1 -1
  276. package/esm5/material.es5.js +28 -41
  277. package/esm5/material.es5.js.map +1 -1
  278. package/esm5/menu.es5.js +301 -161
  279. package/esm5/menu.es5.js.map +1 -1
  280. package/esm5/paginator.es5.js +32 -14
  281. package/esm5/paginator.es5.js.map +1 -1
  282. package/esm5/progress-bar.es5.js +29 -17
  283. package/esm5/progress-bar.es5.js.map +1 -1
  284. package/esm5/progress-spinner.es5.js +13 -13
  285. package/esm5/progress-spinner.es5.js.map +1 -1
  286. package/esm5/radio.es5.js +81 -23
  287. package/esm5/radio.es5.js.map +1 -1
  288. package/esm5/select.es5.js +189 -58
  289. package/esm5/select.es5.js.map +1 -1
  290. package/esm5/sidenav.es5.js +326 -148
  291. package/esm5/sidenav.es5.js.map +1 -1
  292. package/esm5/slide-toggle.es5.js +48 -29
  293. package/esm5/slide-toggle.es5.js.map +1 -1
  294. package/esm5/slider.es5.js +29 -13
  295. package/esm5/slider.es5.js.map +1 -1
  296. package/esm5/snack-bar.es5.js +58 -26
  297. package/esm5/snack-bar.es5.js.map +1 -1
  298. package/esm5/sort.es5.js +25 -18
  299. package/esm5/sort.es5.js.map +1 -1
  300. package/esm5/stepper.es5.js +53 -19
  301. package/esm5/stepper.es5.js.map +1 -1
  302. package/esm5/table.es5.js +119 -30
  303. package/esm5/table.es5.js.map +1 -1
  304. package/esm5/tabs.es5.js +165 -68
  305. package/esm5/tabs.es5.js.map +1 -1
  306. package/esm5/toolbar.es5.js +25 -10
  307. package/esm5/toolbar.es5.js.map +1 -1
  308. package/esm5/tooltip.es5.js +81 -27
  309. package/esm5/tooltip.es5.js.map +1 -1
  310. package/esm5/tree.es5.js +52 -29
  311. package/esm5/tree.es5.js.map +1 -1
  312. package/form-field/typings/form-field.d.ts +9 -3
  313. package/form-field/typings/index.metadata.json +1 -1
  314. package/grid-list/typings/index.d.ts +1 -1
  315. package/grid-list/typings/index.metadata.json +1 -1
  316. package/icon/typings/icon.d.ts +3 -2
  317. package/icon/typings/index.metadata.json +1 -1
  318. package/input/typings/index.metadata.json +1 -1
  319. package/input/typings/input.d.ts +3 -2
  320. package/list/typings/index.metadata.json +1 -1
  321. package/list/typings/list.d.ts +5 -4
  322. package/list/typings/selection-list.d.ts +7 -4
  323. package/material.d.ts +1 -1
  324. package/material.metadata.json +3 -3
  325. package/menu/typings/index.d.ts +2 -4
  326. package/menu/typings/index.metadata.json +1 -1
  327. package/menu/typings/menu-item.d.ts +3 -2
  328. package/menu/typings/menu-module.d.ts +6 -0
  329. package/menu/typings/menu-trigger.d.ts +1 -3
  330. package/menu/typings/menu.d.ts +158 -5
  331. package/menu/typings/public-api.d.ts +5 -2
  332. package/package.json +11 -11
  333. package/paginator/typings/index.metadata.json +1 -1
  334. package/paginator/typings/paginator.d.ts +3 -2
  335. package/prebuilt-themes/deeppurple-amber.css +1 -1
  336. package/prebuilt-themes/indigo-pink.css +1 -1
  337. package/prebuilt-themes/pink-bluegrey.css +1 -1
  338. package/prebuilt-themes/purple-green.css +1 -1
  339. package/progress-bar/typings/index.metadata.json +1 -1
  340. package/progress-bar/typings/progress-bar.d.ts +8 -7
  341. package/progress-spinner/typings/index.metadata.json +1 -1
  342. package/progress-spinner/typings/progress-spinner.d.ts +5 -4
  343. package/radio/typings/index.metadata.json +1 -1
  344. package/radio/typings/radio.d.ts +10 -4
  345. package/schematics/ng-add/fonts/material-fonts.js.map +1 -1
  346. package/schematics/ng-add/fonts/project-index-html.d.ts +1 -1
  347. package/schematics/ng-add/fonts/project-index-html.js.map +1 -1
  348. package/schematics/ng-add/gestures/hammerjs-import.js.map +1 -1
  349. package/schematics/ng-add/index.js.map +1 -1
  350. package/schematics/ng-add/package-config.js.map +1 -1
  351. package/schematics/ng-add/schema.js.map +1 -1
  352. package/schematics/ng-add/setup-project.js.map +1 -1
  353. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -1
  354. package/schematics/ng-add/theming/theming.js +1 -1
  355. package/schematics/ng-add/theming/theming.js.map +1 -1
  356. package/schematics/ng-add/version-names.d.ts +1 -1
  357. package/schematics/ng-add/version-names.js +1 -1
  358. package/schematics/ng-add/version-names.js.map +1 -1
  359. package/schematics/ng-generate/address-form/index.js.map +1 -1
  360. package/schematics/ng-generate/address-form/schema.js.map +1 -1
  361. package/schematics/ng-generate/dashboard/index.js.map +1 -1
  362. package/schematics/ng-generate/dashboard/schema.js.map +1 -1
  363. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +2 -2
  364. package/schematics/ng-generate/nav/index.js.map +1 -1
  365. package/schematics/ng-generate/nav/schema.js.map +1 -1
  366. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts +3 -4
  367. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +2 -2
  368. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +11 -4
  369. package/schematics/ng-generate/table/index.js.map +1 -1
  370. package/schematics/ng-generate/table/schema.js.map +1 -1
  371. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/example-data.ts +1 -1
  372. package/schematics/ng-generate/tree/index.js.map +1 -1
  373. package/schematics/ng-generate/tree/schema.js.map +1 -1
  374. package/schematics/ng-update/data/attribute-selectors.js.map +1 -1
  375. package/schematics/ng-update/data/class-names.js +1 -1
  376. package/schematics/ng-update/data/class-names.js.map +1 -1
  377. package/schematics/ng-update/data/constructor-checks.js +22 -14
  378. package/schematics/ng-update/data/constructor-checks.js.map +1 -1
  379. package/schematics/ng-update/data/css-selectors.js +2 -2
  380. package/schematics/ng-update/data/css-selectors.js.map +1 -1
  381. package/schematics/ng-update/data/element-selectors.js +1 -1
  382. package/schematics/ng-update/data/element-selectors.js.map +1 -1
  383. package/schematics/ng-update/data/index.js.map +1 -1
  384. package/schematics/ng-update/data/input-names.js +7 -7
  385. package/schematics/ng-update/data/input-names.js.map +1 -1
  386. package/schematics/ng-update/data/method-call-checks.js.map +1 -1
  387. package/schematics/ng-update/data/output-names.js +4 -4
  388. package/schematics/ng-update/data/output-names.js.map +1 -1
  389. package/schematics/ng-update/data/property-names.js +11 -11
  390. package/schematics/ng-update/data/property-names.js.map +1 -1
  391. package/schematics/ng-update/index.js.map +1 -1
  392. package/schematics/ng-update/typescript/module-specifiers.js.map +1 -1
  393. package/schematics/ng-update/upgrade-data.js.map +1 -1
  394. package/schematics/ng-update/upgrade-rules/misc-checks/checkClassInheritanceMiscRule.js.map +1 -1
  395. package/schematics/ng-update/upgrade-rules/misc-checks/checkClassNamesMiscRule.js.map +1 -1
  396. package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.d.ts +1 -1
  397. package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.js +1 -1
  398. package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.js.map +1 -1
  399. package/schematics/ng-update/upgrade-rules/misc-checks/checkPropertyNamesMiscRule.js.map +1 -1
  400. package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.js.map +1 -1
  401. package/schematics/ng-update/upgrade-rules/misc-ripples-v7/ripple-speed-factor.js.map +1 -1
  402. package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorAssignmentRule.js.map +1 -1
  403. package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorTemplateRule.js.map +1 -1
  404. package/schematics/ng-update/upgrade-rules/package-imports-v8/updateAngularMaterialImportsRule.js +21 -10
  405. package/schematics/ng-update/upgrade-rules/package-imports-v8/updateAngularMaterialImportsRule.js.map +1 -1
  406. package/select/typings/index.metadata.json +1 -1
  407. package/select/typings/select.d.ts +3 -2
  408. package/sidenav/typings/drawer.d.ts +8 -11
  409. package/sidenav/typings/index.metadata.json +1 -1
  410. package/slide-toggle/typings/index.metadata.json +1 -1
  411. package/slide-toggle/typings/slide-toggle.d.ts +6 -11
  412. package/slider/typings/index.metadata.json +1 -1
  413. package/slider/typings/slider.d.ts +3 -2
  414. package/sort/typings/index.metadata.json +1 -1
  415. package/sort/typings/sort-header.d.ts +2 -2
  416. package/sort/typings/sort.d.ts +3 -2
  417. package/stepper/typings/index.metadata.json +1 -1
  418. package/stepper/typings/step-header.d.ts +2 -0
  419. package/table/typings/index.metadata.json +1 -1
  420. package/table/typings/public-api.d.ts +1 -0
  421. package/table/typings/text-column.d.ts +19 -0
  422. package/tabs/typings/index.d.ts +1 -5
  423. package/tabs/typings/index.metadata.json +1 -1
  424. package/tabs/typings/tab-group.d.ts +3 -2
  425. package/tabs/typings/tab-header.d.ts +3 -2
  426. package/tabs/typings/tab-label-wrapper.d.ts +3 -2
  427. package/tabs/typings/tab-nav-bar/tab-nav-bar.d.ts +5 -4
  428. package/tabs/typings/tab.d.ts +3 -2
  429. package/toolbar/typings/index.metadata.json +1 -1
  430. package/toolbar/typings/toolbar.d.ts +3 -2
  431. package/tree/typings/data-source/flat-data-source.d.ts +3 -3
  432. package/tree/typings/index.metadata.json +1 -1
  433. package/tree/typings/node.d.ts +3 -2
  434. package/typings/autocomplete/autocomplete-trigger.d.ts +13 -2
  435. package/typings/autocomplete/autocomplete.d.ts +3 -2
  436. package/typings/autocomplete/index.metadata.json +1 -1
  437. package/typings/badge/badge.d.ts +8 -2
  438. package/typings/badge/index.metadata.json +1 -1
  439. package/typings/button/button.d.ts +4 -3
  440. package/typings/button/index.metadata.json +1 -1
  441. package/typings/button-toggle/button-toggle.d.ts +7 -3
  442. package/typings/button-toggle/index.metadata.json +1 -1
  443. package/typings/checkbox/checkbox-module.d.ts +3 -0
  444. package/typings/checkbox/checkbox.d.ts +3 -2
  445. package/typings/checkbox/index.metadata.json +1 -1
  446. package/typings/chips/chip-list.d.ts +9 -2
  447. package/typings/chips/chip.d.ts +3 -2
  448. package/typings/chips/index.metadata.json +1 -1
  449. package/typings/core/index.metadata.json +1 -1
  450. package/typings/core/option/optgroup.d.ts +3 -2
  451. package/typings/core/public-api.d.ts +1 -0
  452. package/typings/core/ripple/ripple-renderer.d.ts +4 -4
  453. package/typings/{version.d.ts → core/version.d.ts} +0 -0
  454. package/typings/datepicker/datepicker.d.ts +3 -2
  455. package/typings/datepicker/index.d.ts +0 -1
  456. package/typings/datepicker/index.metadata.json +1 -1
  457. package/typings/datepicker/public-api.d.ts +1 -0
  458. package/typings/esm5/autocomplete/autocomplete-trigger.d.ts +13 -2
  459. package/typings/esm5/autocomplete/autocomplete.d.ts +3 -2
  460. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  461. package/typings/esm5/badge/badge.d.ts +8 -2
  462. package/typings/esm5/badge/index.metadata.json +1 -1
  463. package/typings/esm5/button/button.d.ts +4 -3
  464. package/typings/esm5/button/index.metadata.json +1 -1
  465. package/typings/esm5/button-toggle/button-toggle.d.ts +7 -3
  466. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  467. package/typings/esm5/checkbox/checkbox-module.d.ts +3 -0
  468. package/typings/esm5/checkbox/checkbox.d.ts +3 -2
  469. package/typings/esm5/checkbox/index.metadata.json +1 -1
  470. package/typings/esm5/chips/chip-list.d.ts +9 -2
  471. package/typings/esm5/chips/chip.d.ts +3 -2
  472. package/typings/esm5/chips/index.metadata.json +1 -1
  473. package/typings/esm5/core/index.metadata.json +1 -1
  474. package/typings/esm5/core/option/optgroup.d.ts +3 -2
  475. package/typings/esm5/core/public-api.d.ts +1 -0
  476. package/typings/esm5/core/ripple/ripple-renderer.d.ts +4 -4
  477. package/typings/esm5/core/version.d.ts +10 -0
  478. package/typings/esm5/datepicker/datepicker.d.ts +3 -2
  479. package/typings/esm5/datepicker/index.d.ts +0 -1
  480. package/typings/esm5/datepicker/index.metadata.json +1 -1
  481. package/typings/esm5/datepicker/public-api.d.ts +1 -0
  482. package/typings/esm5/form-field/form-field.d.ts +9 -3
  483. package/typings/esm5/form-field/index.metadata.json +1 -1
  484. package/typings/esm5/grid-list/index.d.ts +1 -1
  485. package/typings/esm5/grid-list/index.metadata.json +1 -1
  486. package/typings/esm5/icon/icon.d.ts +3 -2
  487. package/typings/esm5/icon/index.metadata.json +1 -1
  488. package/typings/esm5/index.metadata.json +1 -1
  489. package/typings/esm5/input/index.metadata.json +1 -1
  490. package/typings/esm5/input/input.d.ts +3 -2
  491. package/typings/esm5/list/index.metadata.json +1 -1
  492. package/typings/esm5/list/list.d.ts +5 -4
  493. package/typings/esm5/list/selection-list.d.ts +7 -4
  494. package/typings/esm5/menu/index.d.ts +2 -4
  495. package/typings/esm5/menu/index.metadata.json +1 -1
  496. package/typings/esm5/menu/menu-item.d.ts +3 -2
  497. package/typings/esm5/menu/menu-module.d.ts +6 -0
  498. package/typings/esm5/menu/menu-trigger.d.ts +1 -3
  499. package/typings/esm5/menu/menu.d.ts +158 -5
  500. package/typings/esm5/menu/public-api.d.ts +5 -2
  501. package/typings/esm5/paginator/index.metadata.json +1 -1
  502. package/typings/esm5/paginator/paginator.d.ts +3 -2
  503. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  504. package/typings/esm5/progress-bar/progress-bar.d.ts +8 -7
  505. package/typings/esm5/progress-spinner/index.metadata.json +1 -1
  506. package/typings/esm5/progress-spinner/progress-spinner.d.ts +5 -4
  507. package/typings/esm5/public-api.d.ts +0 -1
  508. package/typings/esm5/radio/index.metadata.json +1 -1
  509. package/typings/esm5/radio/radio.d.ts +10 -4
  510. package/typings/esm5/select/index.metadata.json +1 -1
  511. package/typings/esm5/select/select.d.ts +3 -2
  512. package/typings/esm5/sidenav/drawer.d.ts +8 -11
  513. package/typings/esm5/sidenav/index.metadata.json +1 -1
  514. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  515. package/typings/esm5/slide-toggle/slide-toggle.d.ts +6 -11
  516. package/typings/esm5/slider/index.metadata.json +1 -1
  517. package/typings/esm5/slider/slider.d.ts +3 -2
  518. package/typings/esm5/sort/index.metadata.json +1 -1
  519. package/typings/esm5/sort/sort-header.d.ts +2 -2
  520. package/typings/esm5/sort/sort.d.ts +3 -2
  521. package/typings/esm5/stepper/index.metadata.json +1 -1
  522. package/typings/esm5/stepper/step-header.d.ts +2 -0
  523. package/typings/esm5/table/index.metadata.json +1 -1
  524. package/typings/esm5/table/public-api.d.ts +1 -0
  525. package/typings/esm5/table/text-column.d.ts +19 -0
  526. package/typings/esm5/tabs/index.d.ts +1 -5
  527. package/typings/esm5/tabs/index.metadata.json +1 -1
  528. package/typings/esm5/tabs/tab-group.d.ts +3 -2
  529. package/typings/esm5/tabs/tab-header.d.ts +3 -2
  530. package/typings/esm5/tabs/tab-label-wrapper.d.ts +3 -2
  531. package/typings/esm5/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -4
  532. package/typings/esm5/tabs/tab.d.ts +3 -2
  533. package/typings/esm5/toolbar/index.metadata.json +1 -1
  534. package/typings/esm5/toolbar/toolbar.d.ts +3 -2
  535. package/typings/esm5/tree/data-source/flat-data-source.d.ts +3 -3
  536. package/typings/esm5/tree/index.metadata.json +1 -1
  537. package/typings/esm5/tree/node.d.ts +3 -2
  538. package/typings/form-field/form-field.d.ts +9 -3
  539. package/typings/form-field/index.metadata.json +1 -1
  540. package/typings/grid-list/index.d.ts +1 -1
  541. package/typings/grid-list/index.metadata.json +1 -1
  542. package/typings/icon/icon.d.ts +3 -2
  543. package/typings/icon/index.metadata.json +1 -1
  544. package/typings/index.metadata.json +1 -1
  545. package/typings/input/index.metadata.json +1 -1
  546. package/typings/input/input.d.ts +3 -2
  547. package/typings/list/index.metadata.json +1 -1
  548. package/typings/list/list.d.ts +5 -4
  549. package/typings/list/selection-list.d.ts +7 -4
  550. package/typings/menu/index.d.ts +2 -4
  551. package/typings/menu/index.metadata.json +1 -1
  552. package/typings/menu/menu-item.d.ts +3 -2
  553. package/typings/menu/menu-module.d.ts +6 -0
  554. package/typings/menu/menu-trigger.d.ts +1 -3
  555. package/typings/menu/menu.d.ts +158 -5
  556. package/typings/menu/public-api.d.ts +5 -2
  557. package/typings/paginator/index.metadata.json +1 -1
  558. package/typings/paginator/paginator.d.ts +3 -2
  559. package/typings/progress-bar/index.metadata.json +1 -1
  560. package/typings/progress-bar/progress-bar.d.ts +8 -7
  561. package/typings/progress-spinner/index.metadata.json +1 -1
  562. package/typings/progress-spinner/progress-spinner.d.ts +5 -4
  563. package/typings/public-api.d.ts +0 -1
  564. package/typings/radio/index.metadata.json +1 -1
  565. package/typings/radio/radio.d.ts +10 -4
  566. package/typings/schematics/ng-add/fonts/project-index-html.d.ts +1 -1
  567. package/typings/schematics/ng-add/version-names.d.ts +1 -1
  568. package/typings/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.d.ts +1 -1
  569. package/typings/select/index.metadata.json +1 -1
  570. package/typings/select/select.d.ts +3 -2
  571. package/typings/sidenav/drawer.d.ts +8 -11
  572. package/typings/sidenav/index.metadata.json +1 -1
  573. package/typings/slide-toggle/index.metadata.json +1 -1
  574. package/typings/slide-toggle/slide-toggle.d.ts +6 -11
  575. package/typings/slider/index.metadata.json +1 -1
  576. package/typings/slider/slider.d.ts +3 -2
  577. package/typings/sort/index.metadata.json +1 -1
  578. package/typings/sort/sort-header.d.ts +2 -2
  579. package/typings/sort/sort.d.ts +3 -2
  580. package/typings/stepper/index.metadata.json +1 -1
  581. package/typings/stepper/step-header.d.ts +2 -0
  582. package/typings/table/index.metadata.json +1 -1
  583. package/typings/table/public-api.d.ts +1 -0
  584. package/typings/table/text-column.d.ts +19 -0
  585. package/typings/tabs/index.d.ts +1 -5
  586. package/typings/tabs/index.metadata.json +1 -1
  587. package/typings/tabs/tab-group.d.ts +3 -2
  588. package/typings/tabs/tab-header.d.ts +3 -2
  589. package/typings/tabs/tab-label-wrapper.d.ts +3 -2
  590. package/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -4
  591. package/typings/tabs/tab.d.ts +3 -2
  592. package/typings/toolbar/index.metadata.json +1 -1
  593. package/typings/toolbar/toolbar.d.ts +3 -2
  594. package/typings/tree/data-source/flat-data-source.d.ts +3 -3
  595. package/typings/tree/index.metadata.json +1 -1
  596. package/typings/tree/node.d.ts +3 -2
  597. package/menu/typings/menu-directive.d.ts +0 -159
  598. package/typings/esm5/menu/menu-directive.d.ts +0 -159
  599. package/typings/menu/menu-directive.d.ts +0 -159
package/esm2015/chips.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
9
- import { BACKSPACE, DELETE, SPACE, END, HOME, hasModifierKey, ENTER } from '@angular/cdk/keycodes';
9
+ import { BACKSPACE, DELETE, SPACE, END, HOME, hasModifierKey, TAB, ENTER } from '@angular/cdk/keycodes';
10
10
  import { Platform } from '@angular/cdk/platform';
11
11
  import { ContentChild, Directive, ElementRef, EventEmitter, forwardRef, Inject, Input, NgZone, Optional, Output, InjectionToken, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Self, ViewEncapsulation, NgModule } from '@angular/core';
12
12
  import { MAT_RIPPLE_GLOBAL_OPTIONS, mixinColor, mixinDisabled, mixinDisableRipple, RippleRenderer, ErrorStateMatcher, mixinErrorState } from '@angular/material/core';
@@ -20,7 +20,7 @@ import { MatFormFieldControl } from '@angular/material/form-field';
20
20
 
21
21
  /**
22
22
  * @fileoverview added by tsickle
23
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
23
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
24
24
  */
25
25
  /**
26
26
  * Event object emitted by MatChip when selected or deselected.
@@ -51,8 +51,6 @@ class MatChipBase {
51
51
  }
52
52
  /** @type {?} */
53
53
  const _MatChipMixinBase = mixinColor(mixinDisableRipple(mixinDisabled(MatChipBase)), 'primary');
54
- /** @type {?} */
55
- const CHIP_ATTRIBUTE_NAMES = ['mat-basic-chip'];
56
54
  /**
57
55
  * Dummy directive to add CSS class to chip avatar.
58
56
  * \@docs-private
@@ -211,15 +209,18 @@ class MatChip extends _MatChipMixinBase {
211
209
  * @return {?}
212
210
  */
213
211
  _addHostClassName() {
214
- // Add class for the different chips
215
- for (const attr of CHIP_ATTRIBUTE_NAMES) {
216
- if (this._elementRef.nativeElement.hasAttribute(attr) ||
217
- this._elementRef.nativeElement.tagName.toLowerCase() === attr) {
218
- ((/** @type {?} */ (this._elementRef.nativeElement))).classList.add(attr);
219
- return;
220
- }
212
+ /** @type {?} */
213
+ const basicChipAttrName = 'mat-basic-chip';
214
+ /** @type {?} */
215
+ const element = (/** @type {?} */ (this._elementRef.nativeElement));
216
+ if (element.hasAttribute(basicChipAttrName) ||
217
+ element.tagName.toLowerCase() === basicChipAttrName) {
218
+ element.classList.add(basicChipAttrName);
219
+ return;
220
+ }
221
+ else {
222
+ element.classList.add('mat-standard-chip');
221
223
  }
222
- ((/** @type {?} */ (this._elementRef.nativeElement))).classList.add('mat-standard-chip');
223
224
  }
224
225
  /**
225
226
  * @return {?}
@@ -342,12 +343,18 @@ class MatChip extends _MatChipMixinBase {
342
343
  this._ngZone.onStable
343
344
  .asObservable()
344
345
  .pipe(take(1))
345
- .subscribe(() => {
346
- this._ngZone.run(() => {
346
+ .subscribe((/**
347
+ * @return {?}
348
+ */
349
+ () => {
350
+ this._ngZone.run((/**
351
+ * @return {?}
352
+ */
353
+ () => {
347
354
  this._hasFocus = false;
348
355
  this._onBlur.next({ chip: this });
349
- });
350
- });
356
+ }));
357
+ }));
351
358
  }
352
359
  /**
353
360
  * @private
@@ -395,7 +402,10 @@ MatChip.ctorParameters = () => [
395
402
  MatChip.propDecorators = {
396
403
  avatar: [{ type: ContentChild, args: [MatChipAvatar, { static: false },] }],
397
404
  trailingIcon: [{ type: ContentChild, args: [MatChipTrailingIcon, { static: false },] }],
398
- removeIcon: [{ type: ContentChild, args: [forwardRef(() => MatChipRemove), { static: false },] }],
405
+ removeIcon: [{ type: ContentChild, args: [forwardRef((/**
406
+ * @return {?}
407
+ */
408
+ () => MatChipRemove)), { static: false },] }],
399
409
  selected: [{ type: Input }],
400
410
  value: [{ type: Input }],
401
411
  selectable: [{ type: Input }],
@@ -430,8 +440,10 @@ class MatChipRemove {
430
440
  * @return {?}
431
441
  */
432
442
  _handleClick(event) {
433
- if (this._parentChip.removable) {
434
- this._parentChip.remove();
443
+ /** @type {?} */
444
+ const parentChip = this._parentChip;
445
+ if (parentChip.removable && !parentChip.disabled) {
446
+ parentChip.remove();
435
447
  }
436
448
  // We need to stop event propagation because otherwise the event will bubble up to the
437
449
  // form field and cause the `onContainerClick` method to be invoked. This method would then
@@ -457,7 +469,7 @@ MatChipRemove.ctorParameters = () => [
457
469
 
458
470
  /**
459
471
  * @fileoverview added by tsickle
460
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
472
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
461
473
  */
462
474
  /**
463
475
  * Injection token to be used to override the default options for the chips module.
@@ -467,7 +479,7 @@ const MAT_CHIPS_DEFAULT_OPTIONS = new InjectionToken('mat-chips-default-options'
467
479
 
468
480
  /**
469
481
  * @fileoverview added by tsickle
470
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
482
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
471
483
  */
472
484
  // Boilerplate for applying mixins to MatChipList.
473
485
  /**
@@ -555,13 +567,24 @@ class MatChipList extends _MatChipListMixinBase {
555
567
  /**
556
568
  * Function when touched
557
569
  */
558
- this._onTouched = () => { };
570
+ this._onTouched = (/**
571
+ * @return {?}
572
+ */
573
+ () => { });
559
574
  /**
560
575
  * Function when changed
561
576
  */
562
- this._onChange = () => { };
577
+ this._onChange = (/**
578
+ * @return {?}
579
+ */
580
+ () => { });
563
581
  this._multiple = false;
564
- this._compareWith = (o1, o2) => o1 === o2;
582
+ this._compareWith = (/**
583
+ * @param {?} o1
584
+ * @param {?} o2
585
+ * @return {?}
586
+ */
587
+ (o1, o2) => o1 === o2);
565
588
  this._required = false;
566
589
  this._disabled = false;
567
590
  /**
@@ -726,7 +749,11 @@ class MatChipList extends _MatChipListMixinBase {
726
749
  set selectable(value) {
727
750
  this._selectable = coerceBooleanProperty(value);
728
751
  if (this.chips) {
729
- this.chips.forEach(chip => chip.chipListSelectable = this._selectable);
752
+ this.chips.forEach((/**
753
+ * @param {?} chip
754
+ * @return {?}
755
+ */
756
+ chip => chip.chipListSelectable = this._selectable));
730
757
  }
731
758
  }
732
759
  /**
@@ -742,28 +769,44 @@ class MatChipList extends _MatChipListMixinBase {
742
769
  * @return {?}
743
770
  */
744
771
  get chipSelectionChanges() {
745
- return merge(...this.chips.map(chip => chip.selectionChange));
772
+ return merge(...this.chips.map((/**
773
+ * @param {?} chip
774
+ * @return {?}
775
+ */
776
+ chip => chip.selectionChange)));
746
777
  }
747
778
  /**
748
779
  * Combined stream of all of the child chips' focus change events.
749
780
  * @return {?}
750
781
  */
751
782
  get chipFocusChanges() {
752
- return merge(...this.chips.map(chip => chip._onFocus));
783
+ return merge(...this.chips.map((/**
784
+ * @param {?} chip
785
+ * @return {?}
786
+ */
787
+ chip => chip._onFocus)));
753
788
  }
754
789
  /**
755
790
  * Combined stream of all of the child chips' blur change events.
756
791
  * @return {?}
757
792
  */
758
793
  get chipBlurChanges() {
759
- return merge(...this.chips.map(chip => chip._onBlur));
794
+ return merge(...this.chips.map((/**
795
+ * @param {?} chip
796
+ * @return {?}
797
+ */
798
+ chip => chip._onBlur)));
760
799
  }
761
800
  /**
762
801
  * Combined stream of all of the child chips' remove change events.
763
802
  * @return {?}
764
803
  */
765
804
  get chipRemoveChanges() {
766
- return merge(...this.chips.map(chip => chip.destroyed));
805
+ return merge(...this.chips.map((/**
806
+ * @param {?} chip
807
+ * @return {?}
808
+ */
809
+ chip => chip.destroyed)));
767
810
  }
768
811
  /**
769
812
  * @return {?}
@@ -776,25 +819,32 @@ class MatChipList extends _MatChipListMixinBase {
776
819
  if (this._dir) {
777
820
  this._dir.change
778
821
  .pipe(takeUntil(this._destroyed))
779
- .subscribe(dir => this._keyManager.withHorizontalOrientation(dir));
822
+ .subscribe((/**
823
+ * @param {?} dir
824
+ * @return {?}
825
+ */
826
+ dir => this._keyManager.withHorizontalOrientation(dir)));
780
827
  }
781
- // Prevents the chip list from capturing focus and redirecting
782
- // it back to the first chip when the user tabs out.
783
- this._keyManager.tabOut.pipe(takeUntil(this._destroyed)).subscribe(() => {
784
- this._tabIndex = -1;
785
- setTimeout(() => {
786
- this._tabIndex = this._userTabIndex || 0;
787
- this._changeDetectorRef.markForCheck();
788
- });
789
- });
828
+ this._keyManager.tabOut.pipe(takeUntil(this._destroyed)).subscribe((/**
829
+ * @return {?}
830
+ */
831
+ () => {
832
+ this._allowFocusEscape();
833
+ }));
790
834
  // When the list changes, re-subscribe
791
- this.chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {
835
+ this.chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe((/**
836
+ * @return {?}
837
+ */
838
+ () => {
792
839
  if (this.disabled) {
793
840
  // Since this happens after the content has been
794
841
  // checked, we need to defer it to the next tick.
795
- Promise.resolve().then(() => {
842
+ Promise.resolve().then((/**
843
+ * @return {?}
844
+ */
845
+ () => {
796
846
  this._syncChipsState();
797
- });
847
+ }));
798
848
  }
799
849
  this._resetChips();
800
850
  // Reset chips selected/deselected status
@@ -804,7 +854,7 @@ class MatChipList extends _MatChipListMixinBase {
804
854
  // Check to see if we have a destroyed chip and need to refocus
805
855
  this._updateFocusForDestroyedChips();
806
856
  this.stateChanges.next();
807
- });
857
+ }));
808
858
  }
809
859
  /**
810
860
  * @return {?}
@@ -970,10 +1020,16 @@ class MatChipList extends _MatChipListMixinBase {
970
1020
  * @return {?}
971
1021
  */
972
1022
  _updateFocusForDestroyedChips() {
973
- if (this._lastDestroyedChipIndex != null && this.chips.length) {
974
- /** @type {?} */
975
- const newChipIndex = Math.min(this._lastDestroyedChipIndex, this.chips.length - 1);
976
- this._keyManager.setActiveItem(newChipIndex);
1023
+ // Move focus to the closest chip. If no other chips remain, focus the chip-list itself.
1024
+ if (this._lastDestroyedChipIndex != null) {
1025
+ if (this.chips.length) {
1026
+ /** @type {?} */
1027
+ const newChipIndex = Math.min(this._lastDestroyedChipIndex, this.chips.length - 1);
1028
+ this._keyManager.setActiveItem(newChipIndex);
1029
+ }
1030
+ else {
1031
+ this.focus();
1032
+ }
977
1033
  }
978
1034
  this._lastDestroyedChipIndex = null;
979
1035
  }
@@ -1007,9 +1063,17 @@ class MatChipList extends _MatChipListMixinBase {
1007
1063
  */
1008
1064
  _setSelectionByValue(value, isUserInput = true) {
1009
1065
  this._clearSelection();
1010
- this.chips.forEach(chip => chip.deselect());
1066
+ this.chips.forEach((/**
1067
+ * @param {?} chip
1068
+ * @return {?}
1069
+ */
1070
+ chip => chip.deselect()));
1011
1071
  if (Array.isArray(value)) {
1012
- value.forEach(currentValue => this._selectValue(currentValue, isUserInput));
1072
+ value.forEach((/**
1073
+ * @param {?} currentValue
1074
+ * @return {?}
1075
+ */
1076
+ currentValue => this._selectValue(currentValue, isUserInput)));
1013
1077
  this._sortValues();
1014
1078
  }
1015
1079
  else {
@@ -1033,9 +1097,13 @@ class MatChipList extends _MatChipListMixinBase {
1033
1097
  */
1034
1098
  _selectValue(value, isUserInput = true) {
1035
1099
  /** @type {?} */
1036
- const correspondingChip = this.chips.find(chip => {
1100
+ const correspondingChip = this.chips.find((/**
1101
+ * @param {?} chip
1102
+ * @return {?}
1103
+ */
1104
+ chip => {
1037
1105
  return chip.value != null && this._compareWith(chip.value, value);
1038
- });
1106
+ }));
1039
1107
  if (correspondingChip) {
1040
1108
  isUserInput ? correspondingChip.selectViaInteraction() : correspondingChip.select();
1041
1109
  this._selectionModel.select(correspondingChip);
@@ -1049,12 +1117,15 @@ class MatChipList extends _MatChipListMixinBase {
1049
1117
  _initializeSelection() {
1050
1118
  // Defer setting the value in order to avoid the "Expression
1051
1119
  // has changed after it was checked" errors from Angular.
1052
- Promise.resolve().then(() => {
1120
+ Promise.resolve().then((/**
1121
+ * @return {?}
1122
+ */
1123
+ () => {
1053
1124
  if (this.ngControl || this._value) {
1054
1125
  this._setSelectionByValue(this.ngControl ? this.ngControl.value : this._value, false);
1055
1126
  this.stateChanges.next();
1056
1127
  }
1057
- });
1128
+ }));
1058
1129
  }
1059
1130
  /**
1060
1131
  * Deselects every chip in the list.
@@ -1064,11 +1135,15 @@ class MatChipList extends _MatChipListMixinBase {
1064
1135
  */
1065
1136
  _clearSelection(skip) {
1066
1137
  this._selectionModel.clear();
1067
- this.chips.forEach(chip => {
1138
+ this.chips.forEach((/**
1139
+ * @param {?} chip
1140
+ * @return {?}
1141
+ */
1142
+ chip => {
1068
1143
  if (chip !== skip) {
1069
1144
  chip.deselect();
1070
1145
  }
1071
- });
1146
+ }));
1072
1147
  this.stateChanges.next();
1073
1148
  }
1074
1149
  /**
@@ -1080,11 +1155,15 @@ class MatChipList extends _MatChipListMixinBase {
1080
1155
  _sortValues() {
1081
1156
  if (this._multiple) {
1082
1157
  this._selectionModel.clear();
1083
- this.chips.forEach(chip => {
1158
+ this.chips.forEach((/**
1159
+ * @param {?} chip
1160
+ * @return {?}
1161
+ */
1162
+ chip => {
1084
1163
  if (chip.selected) {
1085
1164
  this._selectionModel.select(chip);
1086
1165
  }
1087
- });
1166
+ }));
1088
1167
  this.stateChanges.next();
1089
1168
  }
1090
1169
  }
@@ -1098,7 +1177,11 @@ class MatChipList extends _MatChipListMixinBase {
1098
1177
  /** @type {?} */
1099
1178
  let valueToEmit = null;
1100
1179
  if (Array.isArray(this.selected)) {
1101
- valueToEmit = this.selected.map(chip => chip.value);
1180
+ valueToEmit = this.selected.map((/**
1181
+ * @param {?} chip
1182
+ * @return {?}
1183
+ */
1184
+ chip => chip.value));
1102
1185
  }
1103
1186
  else {
1104
1187
  valueToEmit = this.selected ? this.selected.value : fallbackValue;
@@ -1123,11 +1206,14 @@ class MatChipList extends _MatChipListMixinBase {
1123
1206
  // If the focus is not moved to chip input, mark the field as touched. If the focus moved
1124
1207
  // to chip input, do nothing.
1125
1208
  // Timeout is needed to wait for the focus() event trigger on chip input.
1126
- setTimeout(() => {
1209
+ setTimeout((/**
1210
+ * @return {?}
1211
+ */
1212
+ () => {
1127
1213
  if (!this.focused) {
1128
1214
  this._markAsTouched();
1129
1215
  }
1130
- });
1216
+ }));
1131
1217
  }
1132
1218
  else {
1133
1219
  // If there's no chip input, then mark the field as touched.
@@ -1144,6 +1230,24 @@ class MatChipList extends _MatChipListMixinBase {
1144
1230
  this._changeDetectorRef.markForCheck();
1145
1231
  this.stateChanges.next();
1146
1232
  }
1233
+ /**
1234
+ * Removes the `tabindex` from the chip list and resets it back afterwards, allowing the
1235
+ * user to tab out of it. This prevents the list from capturing focus and redirecting
1236
+ * it back to the first chip, creating a focus trap, if it user tries to tab away.
1237
+ * @return {?}
1238
+ */
1239
+ _allowFocusEscape() {
1240
+ if (this._tabIndex !== -1) {
1241
+ this._tabIndex = -1;
1242
+ setTimeout((/**
1243
+ * @return {?}
1244
+ */
1245
+ () => {
1246
+ this._tabIndex = this._userTabIndex || 0;
1247
+ this._changeDetectorRef.markForCheck();
1248
+ }));
1249
+ }
1250
+ }
1147
1251
  /**
1148
1252
  * @private
1149
1253
  * @return {?}
@@ -1182,22 +1286,30 @@ class MatChipList extends _MatChipListMixinBase {
1182
1286
  * @return {?}
1183
1287
  */
1184
1288
  _listenToChipsSelection() {
1185
- this._chipSelectionSubscription = this.chipSelectionChanges.subscribe(event => {
1289
+ this._chipSelectionSubscription = this.chipSelectionChanges.subscribe((/**
1290
+ * @param {?} event
1291
+ * @return {?}
1292
+ */
1293
+ event => {
1186
1294
  event.source.selected
1187
1295
  ? this._selectionModel.select(event.source)
1188
1296
  : this._selectionModel.deselect(event.source);
1189
1297
  // For single selection chip list, make sure the deselected value is unselected.
1190
1298
  if (!this.multiple) {
1191
- this.chips.forEach(chip => {
1299
+ this.chips.forEach((/**
1300
+ * @param {?} chip
1301
+ * @return {?}
1302
+ */
1303
+ chip => {
1192
1304
  if (!this._selectionModel.isSelected(chip) && chip.selected) {
1193
1305
  chip.deselect();
1194
1306
  }
1195
- });
1307
+ }));
1196
1308
  }
1197
1309
  if (event.isUserInput) {
1198
1310
  this._propagateChanges();
1199
1311
  }
1200
- });
1312
+ }));
1201
1313
  }
1202
1314
  /**
1203
1315
  * Listens to user-generated selection events on each chip.
@@ -1205,25 +1317,36 @@ class MatChipList extends _MatChipListMixinBase {
1205
1317
  * @return {?}
1206
1318
  */
1207
1319
  _listenToChipsFocus() {
1208
- this._chipFocusSubscription = this.chipFocusChanges.subscribe(event => {
1320
+ this._chipFocusSubscription = this.chipFocusChanges.subscribe((/**
1321
+ * @param {?} event
1322
+ * @return {?}
1323
+ */
1324
+ event => {
1209
1325
  /** @type {?} */
1210
1326
  let chipIndex = this.chips.toArray().indexOf(event.chip);
1211
1327
  if (this._isValidIndex(chipIndex)) {
1212
1328
  this._keyManager.updateActiveItemIndex(chipIndex);
1213
1329
  }
1214
1330
  this.stateChanges.next();
1215
- });
1216
- this._chipBlurSubscription = this.chipBlurChanges.subscribe(() => {
1331
+ }));
1332
+ this._chipBlurSubscription = this.chipBlurChanges.subscribe((/**
1333
+ * @return {?}
1334
+ */
1335
+ () => {
1217
1336
  this._blur();
1218
1337
  this.stateChanges.next();
1219
- });
1338
+ }));
1220
1339
  }
1221
1340
  /**
1222
1341
  * @private
1223
1342
  * @return {?}
1224
1343
  */
1225
1344
  _listenToChipsRemoved() {
1226
- this._chipRemoveSubscription = this.chipRemoveChanges.subscribe(event => {
1345
+ this._chipRemoveSubscription = this.chipRemoveChanges.subscribe((/**
1346
+ * @param {?} event
1347
+ * @return {?}
1348
+ */
1349
+ event => {
1227
1350
  /** @type {?} */
1228
1351
  const chip = event.chip;
1229
1352
  /** @type {?} */
@@ -1234,7 +1357,7 @@ class MatChipList extends _MatChipListMixinBase {
1234
1357
  if (this._isValidIndex(chipIndex) && chip._hasFocus) {
1235
1358
  this._lastDestroyedChipIndex = chipIndex;
1236
1359
  }
1237
- });
1360
+ }));
1238
1361
  }
1239
1362
  /**
1240
1363
  * Checks whether an event comes from inside a chip element.
@@ -1259,7 +1382,11 @@ class MatChipList extends _MatChipListMixinBase {
1259
1382
  * @return {?}
1260
1383
  */
1261
1384
  _hasFocusedChip() {
1262
- return this.chips.some(chip => chip._hasFocus);
1385
+ return this.chips.some((/**
1386
+ * @param {?} chip
1387
+ * @return {?}
1388
+ */
1389
+ chip => chip._hasFocus));
1263
1390
  }
1264
1391
  /**
1265
1392
  * Syncs the list's state with the individual chips.
@@ -1268,10 +1395,14 @@ class MatChipList extends _MatChipListMixinBase {
1268
1395
  */
1269
1396
  _syncChipsState() {
1270
1397
  if (this.chips) {
1271
- this.chips.forEach(chip => {
1398
+ this.chips.forEach((/**
1399
+ * @param {?} chip
1400
+ * @return {?}
1401
+ */
1402
+ chip => {
1272
1403
  chip.disabled = this._disabled;
1273
1404
  chip._chipListMultiple = this.multiple;
1274
- });
1405
+ }));
1275
1406
  }
1276
1407
  }
1277
1408
  }
@@ -1326,12 +1457,16 @@ MatChipList.propDecorators = {
1326
1457
  tabIndex: [{ type: Input }],
1327
1458
  change: [{ type: Output }],
1328
1459
  valueChange: [{ type: Output }],
1329
- chips: [{ type: ContentChildren, args: [MatChip,] }]
1460
+ chips: [{ type: ContentChildren, args: [MatChip, {
1461
+ // We need to use `descendants: true`, because Ivy will no longer match
1462
+ // indirect descendants if it's left as false.
1463
+ descendants: true
1464
+ },] }]
1330
1465
  };
1331
1466
 
1332
1467
  /**
1333
1468
  * @fileoverview added by tsickle
1334
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1469
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1335
1470
  */
1336
1471
  // Increasing integer for generating unique ids.
1337
1472
  /** @type {?} */
@@ -1422,6 +1557,11 @@ class MatChipInput {
1422
1557
  * @return {?}
1423
1558
  */
1424
1559
  _keydown(event) {
1560
+ // Allow the user's focus to escape when they're tabbing forward. Note that we don't
1561
+ // want to do this when going backwards, because focus should go back to the first chip.
1562
+ if (event && event.keyCode === TAB && !hasModifierKey(event, 'shiftKey')) {
1563
+ this._chipList._allowFocusEscape();
1564
+ }
1425
1565
  this._emitChipEnd(event);
1426
1566
  }
1427
1567
  /**
@@ -1527,7 +1667,7 @@ MatChipInput.propDecorators = {
1527
1667
 
1528
1668
  /**
1529
1669
  * @fileoverview added by tsickle
1530
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1670
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1531
1671
  */
1532
1672
  /** @type {?} */
1533
1673
  const CHIP_DECLARATIONS = [
@@ -1559,13 +1699,13 @@ MatChipsModule.decorators = [
1559
1699
 
1560
1700
  /**
1561
1701
  * @fileoverview added by tsickle
1562
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1702
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1563
1703
  */
1564
1704
 
1565
1705
  /**
1566
1706
  * @fileoverview added by tsickle
1567
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1707
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1568
1708
  */
1569
1709
 
1570
- export { MatChipsModule, MatChipListBase, _MatChipListMixinBase, MatChipListChange, MatChipList, MatChipSelectionChange, MatChipBase, _MatChipMixinBase, MatChipAvatar, MatChipTrailingIcon, MatChip, MatChipRemove, MatChipInput, MAT_CHIPS_DEFAULT_OPTIONS };
1710
+ export { MatChipsModule, MatChipListChange, MatChipList, MatChipSelectionChange, MatChipAvatar, MatChipTrailingIcon, MatChip, MatChipRemove, MatChipInput, MAT_CHIPS_DEFAULT_OPTIONS };
1571
1711
  //# sourceMappingURL=chips.js.map