@angular/material 6.4.6 → 6.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/_theming.scss +5 -2
  2. package/autocomplete/typings/autocomplete-trigger.d.ts +12 -1
  3. package/autocomplete/typings/autocomplete.d.ts +1 -1
  4. package/autocomplete/typings/index.metadata.json +1 -1
  5. package/badge/typings/badge.d.ts +6 -2
  6. package/badge/typings/index.metadata.json +1 -1
  7. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  8. package/bottom-sheet/typings/index.metadata.json +1 -1
  9. package/bundles/material-autocomplete.umd.js +32 -1
  10. package/bundles/material-autocomplete.umd.js.map +1 -1
  11. package/bundles/material-autocomplete.umd.min.js +1 -1
  12. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  13. package/bundles/material-badge.umd.js +6 -2
  14. package/bundles/material-badge.umd.js.map +1 -1
  15. package/bundles/material-badge.umd.min.js +1 -1
  16. package/bundles/material-badge.umd.min.js.map +1 -1
  17. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  18. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  19. package/bundles/material-button-toggle.umd.js +2 -1
  20. package/bundles/material-button-toggle.umd.js.map +1 -1
  21. package/bundles/material-button-toggle.umd.min.js +1 -1
  22. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  23. package/bundles/material-card.umd.js +1 -1
  24. package/bundles/material-card.umd.js.map +1 -1
  25. package/bundles/material-card.umd.min.js +1 -1
  26. package/bundles/material-card.umd.min.js.map +1 -1
  27. package/bundles/material-checkbox.umd.js.map +1 -1
  28. package/bundles/material-checkbox.umd.min.js.map +1 -1
  29. package/bundles/material-chips.umd.js +104 -92
  30. package/bundles/material-chips.umd.js.map +1 -1
  31. package/bundles/material-chips.umd.min.js +1 -1
  32. package/bundles/material-chips.umd.min.js.map +1 -1
  33. package/bundles/material-core.umd.js +13 -16
  34. package/bundles/material-core.umd.js.map +1 -1
  35. package/bundles/material-core.umd.min.js +2 -2
  36. package/bundles/material-core.umd.min.js.map +1 -1
  37. package/bundles/material-datepicker.umd.js +20 -4
  38. package/bundles/material-datepicker.umd.js.map +1 -1
  39. package/bundles/material-datepicker.umd.min.js +2 -2
  40. package/bundles/material-datepicker.umd.min.js.map +1 -1
  41. package/bundles/material-dialog.umd.js.map +1 -1
  42. package/bundles/material-dialog.umd.min.js.map +1 -1
  43. package/bundles/material-expansion.umd.js +200 -74
  44. package/bundles/material-expansion.umd.js.map +1 -1
  45. package/bundles/material-expansion.umd.min.js +1 -1
  46. package/bundles/material-expansion.umd.min.js.map +1 -1
  47. package/bundles/material-form-field.umd.js +29 -18
  48. package/bundles/material-form-field.umd.js.map +1 -1
  49. package/bundles/material-form-field.umd.min.js +1 -1
  50. package/bundles/material-form-field.umd.min.js.map +1 -1
  51. package/bundles/material-grid-list.umd.js +10 -34
  52. package/bundles/material-grid-list.umd.js.map +1 -1
  53. package/bundles/material-grid-list.umd.min.js +1 -1
  54. package/bundles/material-grid-list.umd.min.js.map +1 -1
  55. package/bundles/material-icon.umd.js.map +1 -1
  56. package/bundles/material-icon.umd.min.js.map +1 -1
  57. package/bundles/material-input.umd.js +13 -6
  58. package/bundles/material-input.umd.js.map +1 -1
  59. package/bundles/material-input.umd.min.js +1 -1
  60. package/bundles/material-input.umd.min.js.map +1 -1
  61. package/bundles/material-list.umd.js +4 -4
  62. package/bundles/material-list.umd.js.map +1 -1
  63. package/bundles/material-list.umd.min.js +5 -5
  64. package/bundles/material-list.umd.min.js.map +1 -1
  65. package/bundles/material-menu.umd.js +10 -9
  66. package/bundles/material-menu.umd.js.map +1 -1
  67. package/bundles/material-menu.umd.min.js +1 -1
  68. package/bundles/material-menu.umd.min.js.map +1 -1
  69. package/bundles/material-progress-bar.umd.js +28 -10
  70. package/bundles/material-progress-bar.umd.js.map +1 -1
  71. package/bundles/material-progress-bar.umd.min.js +1 -1
  72. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  73. package/bundles/material-radio.umd.js.map +1 -1
  74. package/bundles/material-radio.umd.min.js.map +1 -1
  75. package/bundles/material-select.umd.js +8 -3
  76. package/bundles/material-select.umd.js.map +1 -1
  77. package/bundles/material-select.umd.min.js +1 -1
  78. package/bundles/material-select.umd.min.js.map +1 -1
  79. package/bundles/material-sidenav.umd.js +5 -1
  80. package/bundles/material-sidenav.umd.js.map +1 -1
  81. package/bundles/material-sidenav.umd.min.js +1 -1
  82. package/bundles/material-sidenav.umd.min.js.map +1 -1
  83. package/bundles/material-slide-toggle.umd.js +1 -1
  84. package/bundles/material-slide-toggle.umd.js.map +1 -1
  85. package/bundles/material-slide-toggle.umd.min.js +1 -1
  86. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  87. package/bundles/material-slider.umd.js +1 -1
  88. package/bundles/material-slider.umd.js.map +1 -1
  89. package/bundles/material-slider.umd.min.js +1 -1
  90. package/bundles/material-slider.umd.min.js.map +1 -1
  91. package/bundles/material-snack-bar.umd.js.map +1 -1
  92. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  93. package/bundles/material-stepper.umd.js +30 -18
  94. package/bundles/material-stepper.umd.js.map +1 -1
  95. package/bundles/material-stepper.umd.min.js +1 -1
  96. package/bundles/material-stepper.umd.min.js.map +1 -1
  97. package/bundles/material-table.umd.js +31 -31
  98. package/bundles/material-table.umd.js.map +1 -1
  99. package/bundles/material-table.umd.min.js +1 -1
  100. package/bundles/material-table.umd.min.js.map +1 -1
  101. package/bundles/material-tabs.umd.js +18 -21
  102. package/bundles/material-tabs.umd.js.map +1 -1
  103. package/bundles/material-tabs.umd.min.js +2 -2
  104. package/bundles/material-tabs.umd.min.js.map +1 -1
  105. package/bundles/material-tooltip.umd.js +11 -11
  106. package/bundles/material-tooltip.umd.js.map +1 -1
  107. package/bundles/material-tooltip.umd.min.js +1 -1
  108. package/bundles/material-tooltip.umd.min.js.map +1 -1
  109. package/bundles/material-tree.umd.js +28 -54
  110. package/bundles/material-tree.umd.js.map +1 -1
  111. package/bundles/material-tree.umd.min.js +1 -1
  112. package/bundles/material-tree.umd.min.js.map +1 -1
  113. package/bundles/material.umd.js +578 -386
  114. package/bundles/material.umd.js.map +1 -1
  115. package/bundles/material.umd.min.js +21 -21
  116. package/bundles/material.umd.min.js.map +1 -1
  117. package/button-toggle/typings/button-toggle.d.ts +1 -1
  118. package/button-toggle/typings/index.metadata.json +1 -1
  119. package/card/typings/index.metadata.json +1 -1
  120. package/checkbox/typings/checkbox.d.ts +2 -2
  121. package/checkbox/typings/index.metadata.json +1 -1
  122. package/chips/typings/chip-input.d.ts +5 -2
  123. package/chips/typings/chip-list.d.ts +12 -19
  124. package/chips/typings/chip.d.ts +3 -2
  125. package/chips/typings/index.metadata.json +1 -1
  126. package/core/typings/index.metadata.json +1 -1
  127. package/core/typings/line/line.d.ts +1 -1
  128. package/core/typings/option/option.d.ts +3 -4
  129. package/core/typings/ripple/ripple-renderer.d.ts +1 -1
  130. package/core/typings/ripple/ripple.d.ts +1 -1
  131. package/datepicker/typings/calendar-body.d.ts +1 -1
  132. package/datepicker/typings/datepicker-input.d.ts +1 -1
  133. package/datepicker/typings/datepicker-toggle.d.ts +3 -1
  134. package/datepicker/typings/datepicker.d.ts +1 -1
  135. package/datepicker/typings/index.metadata.json +1 -1
  136. package/dialog/typings/dialog-container.d.ts +1 -1
  137. package/dialog/typings/dialog-content-directives.d.ts +2 -2
  138. package/dialog/typings/index.metadata.json +1 -1
  139. package/esm2015/autocomplete.js +29 -1
  140. package/esm2015/autocomplete.js.map +1 -1
  141. package/esm2015/badge.js +8 -3
  142. package/esm2015/badge.js.map +1 -1
  143. package/esm2015/bottom-sheet.js.map +1 -1
  144. package/esm2015/button-toggle.js +2 -1
  145. package/esm2015/button-toggle.js.map +1 -1
  146. package/esm2015/card.js +1 -1
  147. package/esm2015/card.js.map +1 -1
  148. package/esm2015/checkbox.js.map +1 -1
  149. package/esm2015/chips.js +93 -74
  150. package/esm2015/chips.js.map +1 -1
  151. package/esm2015/core.js +10 -7
  152. package/esm2015/core.js.map +1 -1
  153. package/esm2015/datepicker.js +22 -5
  154. package/esm2015/datepicker.js.map +1 -1
  155. package/esm2015/dialog.js.map +1 -1
  156. package/esm2015/expansion.js +158 -66
  157. package/esm2015/expansion.js.map +1 -1
  158. package/esm2015/form-field.js +29 -19
  159. package/esm2015/form-field.js.map +1 -1
  160. package/esm2015/grid-list.js +7 -30
  161. package/esm2015/grid-list.js.map +1 -1
  162. package/esm2015/icon.js.map +1 -1
  163. package/esm2015/input.js +13 -7
  164. package/esm2015/input.js.map +1 -1
  165. package/esm2015/list.js +4 -4
  166. package/esm2015/list.js.map +1 -1
  167. package/esm2015/material.js +9 -9
  168. package/esm2015/material.js.map +1 -1
  169. package/esm2015/menu.js +7 -6
  170. package/esm2015/menu.js.map +1 -1
  171. package/esm2015/progress-bar.js +25 -6
  172. package/esm2015/progress-bar.js.map +1 -1
  173. package/esm2015/radio.js.map +1 -1
  174. package/esm2015/select.js +8 -3
  175. package/esm2015/select.js.map +1 -1
  176. package/esm2015/sidenav.js +5 -1
  177. package/esm2015/sidenav.js.map +1 -1
  178. package/esm2015/slide-toggle.js +1 -1
  179. package/esm2015/slide-toggle.js.map +1 -1
  180. package/esm2015/slider.js +1 -1
  181. package/esm2015/slider.js.map +1 -1
  182. package/esm2015/snack-bar.js.map +1 -1
  183. package/esm2015/stepper.js +25 -21
  184. package/esm2015/stepper.js.map +1 -1
  185. package/esm2015/table.js +22 -32
  186. package/esm2015/table.js.map +1 -1
  187. package/esm2015/tabs.js +7 -17
  188. package/esm2015/tabs.js.map +1 -1
  189. package/esm2015/tooltip.js +9 -9
  190. package/esm2015/tooltip.js.map +1 -1
  191. package/esm2015/tree.js +16 -54
  192. package/esm2015/tree.js.map +1 -1
  193. package/esm5/autocomplete.es5.js +32 -1
  194. package/esm5/autocomplete.es5.js.map +1 -1
  195. package/esm5/badge.es5.js +7 -3
  196. package/esm5/badge.es5.js.map +1 -1
  197. package/esm5/bottom-sheet.es5.js.map +1 -1
  198. package/esm5/button-toggle.es5.js +2 -1
  199. package/esm5/button-toggle.es5.js.map +1 -1
  200. package/esm5/card.es5.js +1 -1
  201. package/esm5/card.es5.js.map +1 -1
  202. package/esm5/checkbox.es5.js.map +1 -1
  203. package/esm5/chips.es5.js +103 -91
  204. package/esm5/chips.es5.js.map +1 -1
  205. package/esm5/core.es5.js +10 -12
  206. package/esm5/core.es5.js.map +1 -1
  207. package/esm5/datepicker.es5.js +21 -5
  208. package/esm5/datepicker.es5.js.map +1 -1
  209. package/esm5/dialog.es5.js.map +1 -1
  210. package/esm5/expansion.es5.js +202 -78
  211. package/esm5/expansion.es5.js.map +1 -1
  212. package/esm5/form-field.es5.js +29 -18
  213. package/esm5/form-field.es5.js.map +1 -1
  214. package/esm5/grid-list.es5.js +7 -30
  215. package/esm5/grid-list.es5.js.map +1 -1
  216. package/esm5/icon.es5.js.map +1 -1
  217. package/esm5/input.es5.js +13 -7
  218. package/esm5/input.es5.js.map +1 -1
  219. package/esm5/list.es5.js +4 -4
  220. package/esm5/list.es5.js.map +1 -1
  221. package/esm5/material.es5.js +9 -9
  222. package/esm5/material.es5.js.map +1 -1
  223. package/esm5/menu.es5.js +5 -4
  224. package/esm5/menu.es5.js.map +1 -1
  225. package/esm5/progress-bar.es5.js +25 -9
  226. package/esm5/progress-bar.es5.js.map +1 -1
  227. package/esm5/radio.es5.js.map +1 -1
  228. package/esm5/select.es5.js +8 -3
  229. package/esm5/select.es5.js.map +1 -1
  230. package/esm5/sidenav.es5.js +5 -1
  231. package/esm5/sidenav.es5.js.map +1 -1
  232. package/esm5/slide-toggle.es5.js +1 -1
  233. package/esm5/slide-toggle.es5.js.map +1 -1
  234. package/esm5/slider.es5.js +1 -1
  235. package/esm5/slider.es5.js.map +1 -1
  236. package/esm5/snack-bar.es5.js.map +1 -1
  237. package/esm5/stepper.es5.js +25 -17
  238. package/esm5/stepper.es5.js.map +1 -1
  239. package/esm5/table.es5.js +22 -30
  240. package/esm5/table.es5.js.map +1 -1
  241. package/esm5/tabs.es5.js +9 -12
  242. package/esm5/tabs.es5.js.map +1 -1
  243. package/esm5/tooltip.es5.js +11 -11
  244. package/esm5/tooltip.es5.js.map +1 -1
  245. package/esm5/tree.es5.js +22 -53
  246. package/esm5/tree.es5.js.map +1 -1
  247. package/expansion/typings/accordion-base.d.ts +30 -0
  248. package/expansion/typings/accordion.d.ts +18 -4
  249. package/expansion/typings/expansion-panel-header.d.ts +13 -2
  250. package/expansion/typings/expansion-panel.d.ts +10 -6
  251. package/expansion/typings/index.metadata.json +1 -1
  252. package/expansion/typings/public-api.d.ts +1 -0
  253. package/form-field/typings/form-field.d.ts +4 -3
  254. package/form-field/typings/index.metadata.json +1 -1
  255. package/grid-list/typings/grid-list.d.ts +1 -1
  256. package/grid-list/typings/grid-tile.d.ts +2 -2
  257. package/grid-list/typings/index.metadata.json +1 -1
  258. package/icon/typings/icon.d.ts +1 -1
  259. package/icon/typings/index.metadata.json +1 -1
  260. package/input/typings/autosize.d.ts +2 -1
  261. package/input/typings/index.metadata.json +1 -1
  262. package/input/typings/input.d.ts +2 -2
  263. package/list/typings/index.metadata.json +1 -1
  264. package/list/typings/list.d.ts +1 -1
  265. package/list/typings/selection-list.d.ts +2 -2
  266. package/menu/typings/index.d.ts +4 -4
  267. package/menu/typings/index.metadata.json +1 -1
  268. package/menu/typings/menu-directive.d.ts +1 -1
  269. package/menu/typings/menu-item.d.ts +1 -1
  270. package/menu/typings/menu-trigger.d.ts +1 -1
  271. package/package.json +4 -4
  272. package/prebuilt-themes/deeppurple-amber.css +1 -1
  273. package/prebuilt-themes/indigo-pink.css +1 -1
  274. package/prebuilt-themes/pink-bluegrey.css +1 -1
  275. package/prebuilt-themes/purple-green.css +1 -1
  276. package/progress-bar/typings/index.metadata.json +1 -1
  277. package/progress-bar/typings/progress-bar.d.ts +17 -3
  278. package/radio/typings/radio.d.ts +1 -1
  279. package/sidenav/typings/drawer.d.ts +2 -2
  280. package/sidenav/typings/index.metadata.json +1 -1
  281. package/slide-toggle/typings/index.metadata.json +1 -1
  282. package/slide-toggle/typings/slide-toggle.d.ts +3 -3
  283. package/slider/typings/index.metadata.json +1 -1
  284. package/snack-bar/typings/index.metadata.json +1 -1
  285. package/snack-bar/typings/snack-bar-container.d.ts +1 -1
  286. package/stepper/typings/index.metadata.json +1 -1
  287. package/stepper/typings/step-header.d.ts +2 -2
  288. package/stepper/typings/step-label.d.ts +2 -10
  289. package/stepper/typings/stepper-button.d.ts +4 -2
  290. package/stepper/typings/stepper.d.ts +4 -3
  291. package/table/typings/cell.d.ts +8 -5
  292. package/table/typings/index.metadata.json +1 -1
  293. package/table/typings/row.d.ts +6 -3
  294. package/table/typings/table.d.ts +2 -8
  295. package/tabs/typings/index.d.ts +5 -5
  296. package/tabs/typings/index.metadata.json +1 -1
  297. package/tabs/typings/ink-bar.d.ts +1 -1
  298. package/tabs/typings/tab-body.d.ts +1 -1
  299. package/tabs/typings/tab-label.d.ts +2 -10
  300. package/tooltip/typings/index.metadata.json +1 -1
  301. package/tooltip/typings/tooltip.d.ts +3 -3
  302. package/tree/typings/index.metadata.json +1 -1
  303. package/tree/typings/node.d.ts +7 -7
  304. package/tree/typings/padding.d.ts +3 -5
  305. package/tree/typings/toggle.d.ts +10 -3
  306. package/tree/typings/tree.d.ts +2 -3
  307. package/typings/autocomplete/autocomplete-trigger.d.ts +12 -1
  308. package/typings/autocomplete/autocomplete.d.ts +1 -1
  309. package/typings/autocomplete/index.metadata.json +1 -1
  310. package/typings/badge/badge.d.ts +6 -2
  311. package/typings/badge/index.metadata.json +1 -1
  312. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  313. package/typings/bottom-sheet/index.metadata.json +1 -1
  314. package/typings/button-toggle/button-toggle.d.ts +1 -1
  315. package/typings/button-toggle/index.metadata.json +1 -1
  316. package/typings/card/index.metadata.json +1 -1
  317. package/typings/checkbox/checkbox.d.ts +2 -2
  318. package/typings/checkbox/index.metadata.json +1 -1
  319. package/typings/chips/chip-input.d.ts +5 -2
  320. package/typings/chips/chip-list.d.ts +12 -19
  321. package/typings/chips/chip.d.ts +3 -2
  322. package/typings/chips/index.metadata.json +1 -1
  323. package/typings/core/index.metadata.json +1 -1
  324. package/typings/core/line/line.d.ts +1 -1
  325. package/typings/core/option/option.d.ts +3 -4
  326. package/typings/core/ripple/ripple-renderer.d.ts +1 -1
  327. package/typings/core/ripple/ripple.d.ts +1 -1
  328. package/typings/datepicker/calendar-body.d.ts +1 -1
  329. package/typings/datepicker/datepicker-input.d.ts +1 -1
  330. package/typings/datepicker/datepicker-toggle.d.ts +3 -1
  331. package/typings/datepicker/datepicker.d.ts +1 -1
  332. package/typings/datepicker/index.metadata.json +1 -1
  333. package/typings/dialog/dialog-container.d.ts +1 -1
  334. package/typings/dialog/dialog-content-directives.d.ts +2 -2
  335. package/typings/dialog/index.metadata.json +1 -1
  336. package/typings/esm5/autocomplete/autocomplete-trigger.d.ts +12 -1
  337. package/typings/esm5/autocomplete/autocomplete.d.ts +1 -1
  338. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  339. package/typings/esm5/badge/badge.d.ts +6 -2
  340. package/typings/esm5/badge/index.metadata.json +1 -1
  341. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  342. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  343. package/typings/esm5/button-toggle/button-toggle.d.ts +1 -1
  344. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  345. package/typings/esm5/card/index.metadata.json +1 -1
  346. package/typings/esm5/checkbox/checkbox.d.ts +2 -2
  347. package/typings/esm5/checkbox/index.metadata.json +1 -1
  348. package/typings/esm5/chips/chip-input.d.ts +5 -2
  349. package/typings/esm5/chips/chip-list.d.ts +12 -19
  350. package/typings/esm5/chips/chip.d.ts +3 -2
  351. package/typings/esm5/chips/index.metadata.json +1 -1
  352. package/typings/esm5/core/index.metadata.json +1 -1
  353. package/typings/esm5/core/line/line.d.ts +1 -1
  354. package/typings/esm5/core/option/option.d.ts +3 -4
  355. package/typings/esm5/core/ripple/ripple-renderer.d.ts +1 -1
  356. package/typings/esm5/core/ripple/ripple.d.ts +1 -1
  357. package/typings/esm5/datepicker/calendar-body.d.ts +1 -1
  358. package/typings/esm5/datepicker/datepicker-input.d.ts +1 -1
  359. package/typings/esm5/datepicker/datepicker-toggle.d.ts +3 -1
  360. package/typings/esm5/datepicker/datepicker.d.ts +1 -1
  361. package/typings/esm5/datepicker/index.metadata.json +1 -1
  362. package/typings/esm5/dialog/dialog-container.d.ts +1 -1
  363. package/typings/esm5/dialog/dialog-content-directives.d.ts +2 -2
  364. package/typings/esm5/dialog/index.metadata.json +1 -1
  365. package/typings/esm5/expansion/accordion-base.d.ts +30 -0
  366. package/typings/esm5/expansion/accordion.d.ts +18 -4
  367. package/typings/esm5/expansion/expansion-panel-header.d.ts +13 -2
  368. package/typings/esm5/expansion/expansion-panel.d.ts +10 -6
  369. package/typings/esm5/expansion/index.metadata.json +1 -1
  370. package/typings/esm5/expansion/public-api.d.ts +1 -0
  371. package/typings/esm5/form-field/form-field.d.ts +4 -3
  372. package/typings/esm5/form-field/index.metadata.json +1 -1
  373. package/typings/esm5/grid-list/grid-list.d.ts +1 -1
  374. package/typings/esm5/grid-list/grid-tile.d.ts +2 -2
  375. package/typings/esm5/grid-list/index.metadata.json +1 -1
  376. package/typings/esm5/icon/icon.d.ts +1 -1
  377. package/typings/esm5/icon/index.metadata.json +1 -1
  378. package/typings/esm5/index.metadata.json +1 -1
  379. package/typings/esm5/input/autosize.d.ts +2 -1
  380. package/typings/esm5/input/index.metadata.json +1 -1
  381. package/typings/esm5/input/input.d.ts +2 -2
  382. package/typings/esm5/list/index.metadata.json +1 -1
  383. package/typings/esm5/list/list.d.ts +1 -1
  384. package/typings/esm5/list/selection-list.d.ts +2 -2
  385. package/typings/esm5/menu/index.d.ts +4 -4
  386. package/typings/esm5/menu/index.metadata.json +1 -1
  387. package/typings/esm5/menu/menu-directive.d.ts +1 -1
  388. package/typings/esm5/menu/menu-item.d.ts +1 -1
  389. package/typings/esm5/menu/menu-trigger.d.ts +1 -1
  390. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  391. package/typings/esm5/progress-bar/progress-bar.d.ts +17 -3
  392. package/typings/esm5/radio/radio.d.ts +1 -1
  393. package/typings/esm5/sidenav/drawer.d.ts +2 -2
  394. package/typings/esm5/sidenav/index.metadata.json +1 -1
  395. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  396. package/typings/esm5/slide-toggle/slide-toggle.d.ts +3 -3
  397. package/typings/esm5/slider/index.metadata.json +1 -1
  398. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  399. package/typings/esm5/snack-bar/snack-bar-container.d.ts +1 -1
  400. package/typings/esm5/stepper/index.metadata.json +1 -1
  401. package/typings/esm5/stepper/step-header.d.ts +2 -2
  402. package/typings/esm5/stepper/step-label.d.ts +2 -10
  403. package/typings/esm5/stepper/stepper-button.d.ts +4 -2
  404. package/typings/esm5/stepper/stepper.d.ts +4 -3
  405. package/typings/esm5/table/cell.d.ts +8 -5
  406. package/typings/esm5/table/index.metadata.json +1 -1
  407. package/typings/esm5/table/row.d.ts +6 -3
  408. package/typings/esm5/table/table.d.ts +2 -8
  409. package/typings/esm5/tabs/index.d.ts +5 -5
  410. package/typings/esm5/tabs/index.metadata.json +1 -1
  411. package/typings/esm5/tabs/ink-bar.d.ts +1 -1
  412. package/typings/esm5/tabs/tab-body.d.ts +1 -1
  413. package/typings/esm5/tabs/tab-label.d.ts +2 -10
  414. package/typings/esm5/tooltip/index.metadata.json +1 -1
  415. package/typings/esm5/tooltip/tooltip.d.ts +3 -3
  416. package/typings/esm5/tree/index.metadata.json +1 -1
  417. package/typings/esm5/tree/node.d.ts +7 -7
  418. package/typings/esm5/tree/padding.d.ts +3 -5
  419. package/typings/esm5/tree/toggle.d.ts +10 -3
  420. package/typings/esm5/tree/tree.d.ts +2 -3
  421. package/typings/expansion/accordion-base.d.ts +30 -0
  422. package/typings/expansion/accordion.d.ts +18 -4
  423. package/typings/expansion/expansion-panel-header.d.ts +13 -2
  424. package/typings/expansion/expansion-panel.d.ts +10 -6
  425. package/typings/expansion/index.metadata.json +1 -1
  426. package/typings/expansion/public-api.d.ts +1 -0
  427. package/typings/form-field/form-field.d.ts +4 -3
  428. package/typings/form-field/index.metadata.json +1 -1
  429. package/typings/grid-list/grid-list.d.ts +1 -1
  430. package/typings/grid-list/grid-tile.d.ts +2 -2
  431. package/typings/grid-list/index.metadata.json +1 -1
  432. package/typings/icon/icon.d.ts +1 -1
  433. package/typings/icon/index.metadata.json +1 -1
  434. package/typings/index.metadata.json +1 -1
  435. package/typings/input/autosize.d.ts +2 -1
  436. package/typings/input/index.metadata.json +1 -1
  437. package/typings/input/input.d.ts +2 -2
  438. package/typings/list/index.metadata.json +1 -1
  439. package/typings/list/list.d.ts +1 -1
  440. package/typings/list/selection-list.d.ts +2 -2
  441. package/typings/menu/index.d.ts +4 -4
  442. package/typings/menu/index.metadata.json +1 -1
  443. package/typings/menu/menu-directive.d.ts +1 -1
  444. package/typings/menu/menu-item.d.ts +1 -1
  445. package/typings/menu/menu-trigger.d.ts +1 -1
  446. package/typings/progress-bar/index.metadata.json +1 -1
  447. package/typings/progress-bar/progress-bar.d.ts +17 -3
  448. package/typings/radio/radio.d.ts +1 -1
  449. package/typings/sidenav/drawer.d.ts +2 -2
  450. package/typings/sidenav/index.metadata.json +1 -1
  451. package/typings/slide-toggle/index.metadata.json +1 -1
  452. package/typings/slide-toggle/slide-toggle.d.ts +3 -3
  453. package/typings/slider/index.metadata.json +1 -1
  454. package/typings/snack-bar/index.metadata.json +1 -1
  455. package/typings/snack-bar/snack-bar-container.d.ts +1 -1
  456. package/typings/stepper/index.metadata.json +1 -1
  457. package/typings/stepper/step-header.d.ts +2 -2
  458. package/typings/stepper/step-label.d.ts +2 -10
  459. package/typings/stepper/stepper-button.d.ts +4 -2
  460. package/typings/stepper/stepper.d.ts +4 -3
  461. package/typings/table/cell.d.ts +8 -5
  462. package/typings/table/index.metadata.json +1 -1
  463. package/typings/table/row.d.ts +6 -3
  464. package/typings/table/table.d.ts +2 -8
  465. package/typings/tabs/index.d.ts +5 -5
  466. package/typings/tabs/index.metadata.json +1 -1
  467. package/typings/tabs/ink-bar.d.ts +1 -1
  468. package/typings/tabs/tab-body.d.ts +1 -1
  469. package/typings/tabs/tab-label.d.ts +2 -10
  470. package/typings/tooltip/index.metadata.json +1 -1
  471. package/typings/tooltip/tooltip.d.ts +3 -3
  472. package/typings/tree/index.metadata.json +1 -1
  473. package/typings/tree/node.d.ts +7 -7
  474. package/typings/tree/padding.d.ts +3 -5
  475. package/typings/tree/toggle.d.ts +10 -3
  476. package/typings/tree/tree.d.ts +2 -3
  477. package/grid-list/typings/grid-list-measure.d.ts +0 -17
  478. package/typings/esm5/grid-list/grid-list-measure.d.ts +0 -17
  479. package/typings/grid-list/grid-list-measure.d.ts +0 -17
@@ -265,14 +265,15 @@ var /** @type {?} */ MAT_FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken('MAT_FO
265
265
  */
266
266
  var MatFormField = /** @class */ (function (_super) {
267
267
  __extends(MatFormField, _super);
268
- function MatFormField(_elementRef, _changeDetectorRef, labelOptions, _dir, _defaultOptions, _platform, _ngZone, _animationMode) {
268
+ function MatFormField(_elementRef, _changeDetectorRef, labelOptions, _dir, _defaults, _platform, _ngZone, _animationMode) {
269
269
  var _this = _super.call(this, _elementRef) || this;
270
270
  _this._elementRef = _elementRef;
271
271
  _this._changeDetectorRef = _changeDetectorRef;
272
272
  _this._dir = _dir;
273
- _this._defaultOptions = _defaultOptions;
273
+ _this._defaults = _defaults;
274
274
  _this._platform = _platform;
275
275
  _this._ngZone = _ngZone;
276
+ _this._outlineGapCalculationNeeded = false;
276
277
  /**
277
278
  * Override for the logic that disables the label animation in certain cases.
278
279
  */
@@ -289,6 +290,9 @@ var MatFormField = /** @class */ (function (_super) {
289
290
  _this._labelOptions = labelOptions ? labelOptions : {};
290
291
  _this.floatLabel = _this._labelOptions.float || 'auto';
291
292
  _this._animationsEnabled = _animationMode !== 'NoopAnimations';
293
+ // Set the default through here so we invoke the setter on the first run.
294
+ // Set the default through here so we invoke the setter on the first run.
295
+ _this.appearance = (_defaults && _defaults.appearance) ? _defaults.appearance : 'legacy';
292
296
  return _this;
293
297
  }
294
298
  Object.defineProperty(MatFormField.prototype, "appearance", {
@@ -296,9 +300,7 @@ var MatFormField = /** @class */ (function (_super) {
296
300
  * The form-field appearance style.
297
301
  * @return {?}
298
302
  */
299
- function () {
300
- return this._appearance || this._defaultOptions && this._defaultOptions.appearance || 'legacy';
301
- },
303
+ function () { return this._appearance; },
302
304
  set: /**
303
305
  * @param {?} value
304
306
  * @return {?}
@@ -306,7 +308,7 @@ var MatFormField = /** @class */ (function (_super) {
306
308
  function (value) {
307
309
  var _this = this;
308
310
  var /** @type {?} */ oldValue = this._appearance;
309
- this._appearance = value;
311
+ this._appearance = value || (this._defaults && this._defaults.appearance) || 'legacy';
310
312
  if (this._appearance === 'outline' && oldValue !== value) {
311
313
  // @breaking-change 7.0.0 Remove this check and else block once _ngZone is required.
312
314
  if (this._ngZone) {
@@ -462,6 +464,9 @@ var MatFormField = /** @class */ (function (_super) {
462
464
  */
463
465
  function () {
464
466
  this._validateControlChild();
467
+ if (this._outlineGapCalculationNeeded) {
468
+ this.updateOutlineGap();
469
+ }
465
470
  };
466
471
  /**
467
472
  * @return {?}
@@ -695,7 +700,19 @@ var MatFormField = /** @class */ (function (_super) {
695
700
  * @return {?}
696
701
  */
697
702
  function () {
698
- if (this.appearance !== 'outline') {
703
+ var /** @type {?} */ labelEl = this._label ? this._label.nativeElement : null;
704
+ if (this.appearance !== 'outline' || !labelEl || !labelEl.children.length ||
705
+ !labelEl.textContent.trim()) {
706
+ return;
707
+ }
708
+ if (this._platform && !this._platform.isBrowser) {
709
+ // getBoundingClientRect isn't available on the server.
710
+ return;
711
+ }
712
+ // If the element is not present in the DOM, the outline gap will need to be calculated
713
+ // the next time it is checked and in the DOM.
714
+ if (!document.documentElement.contains(this._elementRef.nativeElement)) {
715
+ this._outlineGapCalculationNeeded = true;
699
716
  return;
700
717
  }
701
718
  var /** @type {?} */ startWidth = 0;
@@ -703,22 +720,15 @@ var MatFormField = /** @class */ (function (_super) {
703
720
  var /** @type {?} */ startEls = this._connectionContainerRef.nativeElement.querySelectorAll('.mat-form-field-outline-start');
704
721
  var /** @type {?} */ gapEls = this._connectionContainerRef.nativeElement.querySelectorAll('.mat-form-field-outline-gap');
705
722
  if (this._label && this._label.nativeElement.children.length) {
706
- if (this._platform && !this._platform.isBrowser) {
707
- // getBoundingClientRect isn't available on the server.
708
- return;
709
- }
710
- if (!document.documentElement.contains(this._elementRef.nativeElement)) {
711
- return;
712
- }
713
723
  var /** @type {?} */ containerStart = this._getStartEnd(this._connectionContainerRef.nativeElement.getBoundingClientRect());
714
- var /** @type {?} */ labelStart = this._getStartEnd(this._label.nativeElement.children[0].getBoundingClientRect());
724
+ var /** @type {?} */ labelStart = this._getStartEnd(labelEl.children[0].getBoundingClientRect());
715
725
  var /** @type {?} */ labelWidth = 0;
716
- for (var _i = 0, _a = this._label.nativeElement.children; _i < _a.length; _i++) {
726
+ for (var _i = 0, _a = labelEl.children; _i < _a.length; _i++) {
717
727
  var child = _a[_i];
718
728
  labelWidth += child.offsetWidth;
719
729
  }
720
730
  startWidth = labelStart - containerStart - outlineGapPadding;
721
- gapWidth = labelWidth * floatingLabelScale + outlineGapPadding * 2;
731
+ gapWidth = labelWidth > 0 ? labelWidth * floatingLabelScale + outlineGapPadding * 2 : 0;
722
732
  }
723
733
  for (var /** @type {?} */ i = 0; i < startEls.length; i++) {
724
734
  startEls.item(i).style.width = startWidth + "px";
@@ -726,6 +736,7 @@ var MatFormField = /** @class */ (function (_super) {
726
736
  for (var /** @type {?} */ i = 0; i < gapEls.length; i++) {
727
737
  gapEls.item(i).style.width = gapWidth + "px";
728
738
  }
739
+ this._outlineGapCalculationNeeded = false;
729
740
  };
730
741
  /**
731
742
  * Gets the start end of the rect considering the current directionality.
@@ -747,7 +758,7 @@ var MatFormField = /** @class */ (function (_super) {
747
758
  // MatInput is a directive and can't have styles, so we need to include its styles here.
748
759
  // The MatInput styles are fairly minimal so it shouldn't be a big deal for people who
749
760
  // aren't using MatInput.
750
- styles: [".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media screen and (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none} .mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em} .mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px} .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none} .mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none} .mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}"],
761
+ styles: [".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}@media screen and (-ms-high-contrast:active){.mat-form-field-infix{border-image:linear-gradient(transparent,transparent)}}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-empty.mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scaleY(1.0001)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(.5);opacity:0;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-label-wrapper .mat-icon,.mat-form-field-subscript-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none} .mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:'';display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em} .mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px} .mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-start{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start{border-width:2px;transition:border-color .3s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity .1s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline{transition:none} .mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:2px}}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}@media screen and (-ms-high-contrast:active){.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.25,.8,.25,1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none} .mat-input-element{font:inherit;background:0 0;color:currentColor;border:none;outline:0;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=month]::after,.mat-input-element[type=time]::after,.mat-input-element[type=week]::after{content:' ';white-space:pre;width:1px}.mat-input-element::placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-moz-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element::-webkit-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-input-element:-ms-input-placeholder{transition:color .4s .133s cubic-bezier(.25,.8,.25,1)}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent!important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}"],
751
762
  animations: [matFormFieldAnimations.transitionMessages],
752
763
  host: {
753
764
  'class': 'mat-form-field',
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.es5.js","sources":["../../../src/lib/form-field/form-field-module.ts","../../../src/lib/form-field/form-field.ts","../../../src/lib/form-field/suffix.ts","../../../src/lib/form-field/prefix.ts","../../../src/lib/form-field/placeholder.ts","../../../src/lib/form-field/label.ts","../../../src/lib/form-field/hint.ts","../../../src/lib/form-field/form-field-errors.ts","../../../src/lib/form-field/form-field-control.ts","../../../src/lib/form-field/form-field-animations.ts","../../../src/lib/form-field/error.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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {MatError} from './error';\nimport {MatFormField} from './form-field';\nimport {MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MatPrefix} from './prefix';\nimport {MatSuffix} from './suffix';\n\n\n@NgModule({\n declarations: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n imports: [\n CommonModule,\n ObserversModule,\n ],\n exports: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n})\nexport class MatFormFieldModule {}\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 {Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n CanColor,\n FloatLabelType,\n LabelOptions,\n MAT_LABEL_GLOBAL_OPTIONS,\n mixinColor,\n} from '@angular/material/core';\nimport {EMPTY, fromEvent, merge} from 'rxjs';\nimport {startWith, take} from 'rxjs/operators';\nimport {MatError} from './error';\nimport {matFormFieldAnimations} from './form-field-animations';\nimport {MatFormFieldControl} from './form-field-control';\nimport {\n getMatFormFieldDuplicatedHintError,\n getMatFormFieldMissingControlError,\n getMatFormFieldPlaceholderConflictError,\n} from './form-field-errors';\nimport {MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MatPrefix} from './prefix';\nimport {MatSuffix} from './suffix';\nimport {Platform} from '@angular/cdk/platform';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\nlet nextUniqueId = 0;\nconst floatingLabelScale = 0.75;\nconst outlineGapPadding = 5;\n\n\n/**\n * Boilerplate for applying mixins to MatFormField.\n * @docs-private\n */\nexport class MatFormFieldBase {\n constructor(public _elementRef: ElementRef) { }\n}\n\n/**\n * Base class to which we're applying the form field mixins.\n * @docs-private\n */\nexport const _MatFormFieldMixinBase = mixinColor(MatFormFieldBase, 'primary');\n\n/** Possible appearance styles for the form field. */\nexport type MatFormFieldAppearance = 'legacy' | 'standard' | 'fill' | 'outline';\n\n/**\n * Represents the default options form the form field that can be configured\n * using the `MAT_FORM_FIELD_DEFAULT_OPTIONS` injection token.\n */\nexport interface MatFormFieldDefaultOptions {\n appearance?: MatFormFieldAppearance;\n}\n\n/**\n * Injection token that can be used to configure the\n * default options for all form field within an app.\n */\nexport const MAT_FORM_FIELD_DEFAULT_OPTIONS =\n new InjectionToken<MatFormFieldDefaultOptions>('MAT_FORM_FIELD_DEFAULT_OPTIONS');\n\n\n/** Container for form controls that applies Material Design styling and behavior. */\n@Component({\n moduleId: module.id,\n selector: 'mat-form-field',\n exportAs: 'matFormField',\n templateUrl: 'form-field.html',\n // MatInput is a directive and can't have styles, so we need to include its styles here.\n // The MatInput styles are fairly minimal so it shouldn't be a big deal for people who\n // aren't using MatInput.\n styleUrls: [\n 'form-field.css',\n 'form-field-fill.css',\n 'form-field-legacy.css',\n 'form-field-outline.css',\n 'form-field-standard.css',\n '../input/input.css',\n ],\n animations: [matFormFieldAnimations.transitionMessages],\n host: {\n 'class': 'mat-form-field',\n '[class.mat-form-field-appearance-standard]': 'appearance == \"standard\"',\n '[class.mat-form-field-appearance-fill]': 'appearance == \"fill\"',\n '[class.mat-form-field-appearance-outline]': 'appearance == \"outline\"',\n '[class.mat-form-field-appearance-legacy]': 'appearance == \"legacy\"',\n '[class.mat-form-field-invalid]': '_control.errorState',\n '[class.mat-form-field-can-float]': '_canLabelFloat',\n '[class.mat-form-field-should-float]': '_shouldLabelFloat()',\n '[class.mat-form-field-hide-placeholder]': '_hideControlPlaceholder()',\n '[class.mat-form-field-disabled]': '_control.disabled',\n '[class.mat-form-field-autofilled]': '_control.autofilled',\n '[class.mat-focused]': '_control.focused',\n '[class.mat-accent]': 'color == \"accent\"',\n '[class.mat-warn]': 'color == \"warn\"',\n '[class.ng-untouched]': '_shouldForward(\"untouched\")',\n '[class.ng-touched]': '_shouldForward(\"touched\")',\n '[class.ng-pristine]': '_shouldForward(\"pristine\")',\n '[class.ng-dirty]': '_shouldForward(\"dirty\")',\n '[class.ng-valid]': '_shouldForward(\"valid\")',\n '[class.ng-invalid]': '_shouldForward(\"invalid\")',\n '[class.ng-pending]': '_shouldForward(\"pending\")',\n '[class._mat-animation-noopable]': '!_animationsEnabled',\n },\n inputs: ['color'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class MatFormField extends _MatFormFieldMixinBase\n implements AfterContentInit, AfterContentChecked, AfterViewInit, CanColor {\n private _labelOptions: LabelOptions;\n\n /** The form-field appearance style. */\n @Input()\n get appearance(): MatFormFieldAppearance {\n return this._appearance || this._defaultOptions && this._defaultOptions.appearance || 'legacy';\n }\n set appearance(value: MatFormFieldAppearance) {\n const oldValue = this._appearance;\n this._appearance = value;\n if (this._appearance === 'outline' && oldValue !== value) {\n // @breaking-change 7.0.0 Remove this check and else block once _ngZone is required.\n if (this._ngZone) {\n this._ngZone!.onStable.pipe(take(1)).subscribe(() => {\n this._ngZone!.runOutsideAngular(() => this.updateOutlineGap());\n });\n } else {\n Promise.resolve().then(() => this.updateOutlineGap());\n }\n }\n }\n _appearance: MatFormFieldAppearance;\n\n /** Whether the required marker should be hidden. */\n @Input()\n get hideRequiredMarker(): boolean { return this._hideRequiredMarker; }\n set hideRequiredMarker(value: boolean) {\n this._hideRequiredMarker = coerceBooleanProperty(value);\n }\n private _hideRequiredMarker: boolean;\n\n /** Override for the logic that disables the label animation in certain cases. */\n private _showAlwaysAnimate = false;\n\n /** Whether the floating label should always float or not. */\n get _shouldAlwaysFloat(): boolean {\n return this.floatLabel === 'always' && !this._showAlwaysAnimate;\n }\n\n /** Whether the label can float or not. */\n get _canLabelFloat(): boolean { return this.floatLabel !== 'never'; }\n\n /** State of the mat-hint and mat-error animations. */\n _subscriptAnimationState: string = '';\n\n /** Text for the form field hint. */\n @Input()\n get hintLabel(): string { return this._hintLabel; }\n set hintLabel(value: string) {\n this._hintLabel = value;\n this._processHints();\n }\n private _hintLabel = '';\n\n // Unique id for the hint label.\n _hintLabelId: string = `mat-hint-${nextUniqueId++}`;\n\n // Unique id for the internal form field label.\n _labelId = `mat-form-field-label-${nextUniqueId++}`;\n\n /**\n * Whether the label should always float, never float or float as the user types.\n *\n * Note: only the legacy appearance supports the `never` option. `never` was originally added as a\n * way to make the floating label emulate the behavior of a standard input placeholder. However\n * the form field now supports both floating labels and placeholders. Therefore in the non-legacy\n * appearances the `never` option has been disabled in favor of just using the placeholder.\n */\n @Input()\n get floatLabel(): FloatLabelType {\n return this.appearance !== 'legacy' && this._floatLabel === 'never' ? 'auto' : this._floatLabel;\n }\n set floatLabel(value: FloatLabelType) {\n if (value !== this._floatLabel) {\n this._floatLabel = value || this._labelOptions.float || 'auto';\n this._changeDetectorRef.markForCheck();\n }\n }\n private _floatLabel: FloatLabelType;\n\n /** Whether the Angular animations are enabled. */\n _animationsEnabled: boolean;\n\n /**\n * @deprecated\n * @breaking-change 7.0.0\n */\n @ViewChild('underline') underlineRef: ElementRef;\n\n @ViewChild('connectionContainer') _connectionContainerRef: ElementRef<HTMLElement>;\n @ViewChild('inputContainer') _inputContainerRef: ElementRef;\n @ViewChild('label') private _label: ElementRef;\n @ContentChild(MatFormFieldControl) _control: MatFormFieldControl<any>;\n @ContentChild(MatPlaceholder) _placeholderChild: MatPlaceholder;\n @ContentChild(MatLabel) _labelChild: MatLabel;\n @ContentChildren(MatError) _errorChildren: QueryList<MatError>;\n @ContentChildren(MatHint) _hintChildren: QueryList<MatHint>;\n @ContentChildren(MatPrefix) _prefixChildren: QueryList<MatPrefix>;\n @ContentChildren(MatSuffix) _suffixChildren: QueryList<MatSuffix>;\n\n constructor(\n public _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MAT_LABEL_GLOBAL_OPTIONS) labelOptions: LabelOptions,\n @Optional() private _dir: Directionality,\n @Optional() @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS) private _defaultOptions:\n MatFormFieldDefaultOptions,\n // @breaking-change 7.0.0 _platform, _ngZone and _animationMode to be made required.\n private _platform?: Platform,\n private _ngZone?: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) _animationMode?: string) {\n super(_elementRef);\n\n this._labelOptions = labelOptions ? labelOptions : {};\n this.floatLabel = this._labelOptions.float || 'auto';\n this._animationsEnabled = _animationMode !== 'NoopAnimations';\n }\n\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be\n * positioned relative to.\n */\n getConnectedOverlayOrigin(): ElementRef {\n return this._connectionContainerRef || this._elementRef;\n }\n\n ngAfterContentInit() {\n this._validateControlChild();\n if (this._control.controlType) {\n this._elementRef.nativeElement.classList\n .add(`mat-form-field-type-${this._control.controlType}`);\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n this._control.stateChanges.pipe(startWith(null!)).subscribe(() => {\n this._validatePlaceholders();\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n\n // Run change detection if the value, prefix, or suffix changes.\n const valueChanges = this._control.ngControl && this._control.ngControl.valueChanges || EMPTY;\n merge(valueChanges, this._prefixChildren.changes, this._suffixChildren.changes)\n .subscribe(() => this._changeDetectorRef.markForCheck());\n\n // Re-validate when the number of hints changes.\n this._hintChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._processHints();\n this._changeDetectorRef.markForCheck();\n });\n\n // Update the aria-described by when the number of errors changes.\n this._errorChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n ngAfterContentChecked() {\n this._validateControlChild();\n }\n\n ngAfterViewInit() {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n }\n\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n _shouldForward(prop: string): boolean {\n const ngControl = this._control ? this._control.ngControl : null;\n return ngControl && ngControl[prop];\n }\n\n _hasPlaceholder() {\n return !!(this._control && this._control.placeholder || this._placeholderChild);\n }\n\n _hasLabel() {\n return !!this._labelChild;\n }\n\n _shouldLabelFloat() {\n return this._canLabelFloat && (this._control.shouldLabelFloat || this._shouldAlwaysFloat);\n }\n\n _hideControlPlaceholder() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this.appearance === 'legacy' && !this._hasLabel() ||\n this._hasLabel() && !this._shouldLabelFloat();\n }\n\n _hasFloatingLabel() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this._hasLabel() || this.appearance === 'legacy' && this._hasPlaceholder();\n }\n\n /** Determines whether to display hints or errors. */\n _getDisplayedMessages(): 'error' | 'hint' {\n return (this._errorChildren && this._errorChildren.length > 0 &&\n this._control.errorState) ? 'error' : 'hint';\n }\n\n /** Animates the placeholder up and locks it in position. */\n _animateAndLockLabel(): void {\n if (this._hasFloatingLabel() && this._canLabelFloat) {\n // If animations are disabled, we shouldn't go in here,\n // because the `transitionend` will never fire.\n if (this._animationsEnabled) {\n this._showAlwaysAnimate = true;\n\n fromEvent(this._label.nativeElement, 'transitionend').pipe(take(1)).subscribe(() => {\n this._showAlwaysAnimate = false;\n });\n }\n\n this.floatLabel = 'always';\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Ensure that there is only one placeholder (either `placeholder` attribute on the child control\n * or child element with the `mat-placeholder` directive).\n */\n private _validatePlaceholders() {\n if (this._control.placeholder && this._placeholderChild) {\n throw getMatFormFieldPlaceholderConflictError();\n }\n }\n\n /** Does any extra processing that is required when handling the hints. */\n private _processHints() {\n this._validateHints();\n this._syncDescribedByIds();\n }\n\n /**\n * Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the\n * attribute being considered as `align=\"start\"`.\n */\n private _validateHints() {\n if (this._hintChildren) {\n let startHint: MatHint;\n let endHint: MatHint;\n this._hintChildren.forEach((hint: MatHint) => {\n if (hint.align === 'start') {\n if (startHint || this.hintLabel) {\n throw getMatFormFieldDuplicatedHintError('start');\n }\n startHint = hint;\n } else if (hint.align === 'end') {\n if (endHint) {\n throw getMatFormFieldDuplicatedHintError('end');\n }\n endHint = hint;\n }\n });\n }\n }\n\n /**\n * Sets the list of element IDs that describe the child control. This allows the control to update\n * its `aria-describedby` attribute accordingly.\n */\n private _syncDescribedByIds() {\n if (this._control) {\n let ids: string[] = [];\n\n if (this._getDisplayedMessages() === 'hint') {\n const startHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'start') : null;\n const endHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'end') : null;\n\n if (startHint) {\n ids.push(startHint.id);\n } else if (this._hintLabel) {\n ids.push(this._hintLabelId);\n }\n\n if (endHint) {\n ids.push(endHint.id);\n }\n } else if (this._errorChildren) {\n ids = this._errorChildren.map(error => error.id);\n }\n\n this._control.setDescribedByIds(ids);\n }\n }\n\n /** Throws an error if the form field's control is missing. */\n protected _validateControlChild() {\n if (!this._control) {\n throw getMatFormFieldMissingControlError();\n }\n }\n\n /**\n * Updates the width and position of the gap in the outline. Only relevant for the outline\n * appearance.\n */\n updateOutlineGap() {\n if (this.appearance !== 'outline') {\n return;\n }\n\n let startWidth = 0;\n let gapWidth = 0;\n const startEls = this._connectionContainerRef.nativeElement.querySelectorAll<HTMLElement>(\n '.mat-form-field-outline-start');\n const gapEls = this._connectionContainerRef.nativeElement.querySelectorAll<HTMLElement>(\n '.mat-form-field-outline-gap');\n if (this._label && this._label.nativeElement.children.length) {\n if (this._platform && !this._platform.isBrowser) {\n // getBoundingClientRect isn't available on the server.\n return;\n }\n if (!document.documentElement.contains(this._elementRef.nativeElement)) {\n return;\n }\n\n const containerStart = this._getStartEnd(\n this._connectionContainerRef.nativeElement.getBoundingClientRect());\n const labelStart = this._getStartEnd(\n this._label.nativeElement.children[0].getBoundingClientRect());\n let labelWidth = 0;\n for (const child of this._label.nativeElement.children) {\n labelWidth += child.offsetWidth;\n }\n startWidth = labelStart - containerStart - outlineGapPadding;\n gapWidth = labelWidth * floatingLabelScale + outlineGapPadding * 2;\n }\n\n for (let i = 0; i < startEls.length; i++) {\n startEls.item(i).style.width = `${startWidth}px`;\n }\n for (let i = 0; i < gapEls.length; i++) {\n gapEls.item(i).style.width = `${gapWidth}px`;\n }\n }\n\n /** Gets the start end of the rect considering the current directionality. */\n private _getStartEnd(rect: ClientRect): number {\n return this._dir && this._dir.value === 'rtl' ? rect.right : rect.left;\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 {Directive} from '@angular/core';\n\n\n/** Suffix to be placed at the end of the form field. */\n@Directive({\n selector: '[matSuffix]',\n})\nexport class MatSuffix {}\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 {Directive} from '@angular/core';\n\n\n/** Prefix to be placed the the front of the form field. */\n@Directive({\n selector: '[matPrefix]',\n})\nexport class MatPrefix {}\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 {Directive} from '@angular/core';\n\n\n/**\n * The placeholder text for an `MatFormField`.\n * @deprecated Use `<mat-label>` to specify the label and the `placeholder` attribute to specify the\n * placeholder.\n * @breaking-change 8.0.0\n */\n@Directive({\n selector: 'mat-placeholder'\n})\nexport class MatPlaceholder {}\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 {Directive} from '@angular/core';\n\n\n/** The floating label for a `mat-form-field`. */\n@Directive({\n selector: 'mat-label'\n})\nexport class MatLabel {}\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 {Directive, Input} from '@angular/core';\n\n\nlet nextUniqueId = 0;\n\n\n/** Hint text to be shown underneath the form field control. */\n@Directive({\n selector: 'mat-hint',\n host: {\n 'class': 'mat-hint',\n '[class.mat-right]': 'align == \"end\"',\n '[attr.id]': 'id',\n // Remove align attribute to prevent it from interfering with layout.\n '[attr.align]': 'null',\n }\n})\nexport class MatHint {\n /** Whether to align the hint label at the start or end of the line. */\n @Input() align: 'start' | 'end' = 'start';\n\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n @Input() id: string = `mat-hint-${nextUniqueId++}`;\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 getMatFormFieldPlaceholderConflictError(): Error {\n return Error('Placeholder attribute and child element were both specified.');\n}\n\n/** @docs-private */\nexport function getMatFormFieldDuplicatedHintError(align: string): Error {\n return Error(`A hint was already declared for 'align=\"${align}\"'.`);\n}\n\n/** @docs-private */\nexport function getMatFormFieldMissingControlError(): Error {\n return Error('mat-form-field must contain a MatFormFieldControl.');\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 {Observable} from 'rxjs';\nimport {NgControl} from '@angular/forms';\n\n\n/** An interface which allows a control to work inside of a `MatFormField`. */\nexport abstract class MatFormFieldControl<T> {\n /** The value of the control. */\n value: T | null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MatFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable<void>;\n\n /** The element ID for this control. */\n readonly id: string;\n\n /** The placeholder for this control. */\n readonly placeholder: string;\n\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n\n /** Whether the control is focused. */\n readonly focused: boolean;\n\n /** Whether the control is empty. */\n readonly empty: boolean;\n\n /** Whether the `MatFormField` label should try to float. */\n readonly shouldLabelFloat: boolean;\n\n /** Whether the control is required. */\n readonly required: boolean;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n\n /**\n * An optional name for the control type that can be used to distinguish `mat-form-field` elements\n * based on their control type. The form field will add a class,\n * `mat-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /**\n * Whether the input is currently in an autofilled state. If property is not present on the\n * control it is assumed to be false.\n */\n readonly autofilled?: boolean;\n\n /** Sets the list of element IDs that currently describe this control. */\n abstract setDescribedByIds(ids: string[]): void;\n\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/** Animations used by the MatFormField. */\nexport const matFormFieldAnimations: {\n readonly transitionMessages: AnimationTriggerMetadata\n} = {\n /** Animation that transitions the form field's error and hint messages. */\n transitionMessages: trigger('transitionMessages', [\n // TODO(mmalerba): Use angular animations for label animation as well.\n state('enter', style({ opacity: 1, transform: 'translateY(0%)' })),\n transition('void => enter', [\n style({ opacity: 0, transform: 'translateY(-100%)' }),\n animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\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 {Directive, Input} from '@angular/core';\n\n\nlet nextUniqueId = 0;\n\n\n/** Single error message to be shown underneath the form field. */\n@Directive({\n selector: 'mat-error',\n host: {\n 'class': 'mat-error',\n 'role': 'alert',\n '[attr.id]': 'id',\n }\n})\nexport class MatError {\n @Input() id: string = `mat-error-${nextUniqueId++}`;\n}\n"],"names":["nextUniqueId","tslib_1.__extends"],"mappings":"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"}
1
+ {"version":3,"file":"form-field.es5.js","sources":["../../../src/lib/form-field/form-field-module.ts","../../../src/lib/form-field/form-field.ts","../../../src/lib/form-field/suffix.ts","../../../src/lib/form-field/prefix.ts","../../../src/lib/form-field/placeholder.ts","../../../src/lib/form-field/label.ts","../../../src/lib/form-field/hint.ts","../../../src/lib/form-field/form-field-errors.ts","../../../src/lib/form-field/form-field-control.ts","../../../src/lib/form-field/form-field-animations.ts","../../../src/lib/form-field/error.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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {MatError} from './error';\nimport {MatFormField} from './form-field';\nimport {MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MatPrefix} from './prefix';\nimport {MatSuffix} from './suffix';\n\n\n@NgModule({\n declarations: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n imports: [\n CommonModule,\n ObserversModule,\n ],\n exports: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n})\nexport class MatFormFieldModule {}\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 {Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n CanColor,\n FloatLabelType,\n LabelOptions,\n MAT_LABEL_GLOBAL_OPTIONS,\n mixinColor,\n} from '@angular/material/core';\nimport {EMPTY, fromEvent, merge} from 'rxjs';\nimport {startWith, take} from 'rxjs/operators';\nimport {MatError} from './error';\nimport {matFormFieldAnimations} from './form-field-animations';\nimport {MatFormFieldControl} from './form-field-control';\nimport {\n getMatFormFieldDuplicatedHintError,\n getMatFormFieldMissingControlError,\n getMatFormFieldPlaceholderConflictError,\n} from './form-field-errors';\nimport {MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MatPrefix} from './prefix';\nimport {MatSuffix} from './suffix';\nimport {Platform} from '@angular/cdk/platform';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\nlet nextUniqueId = 0;\nconst floatingLabelScale = 0.75;\nconst outlineGapPadding = 5;\n\n\n/**\n * Boilerplate for applying mixins to MatFormField.\n * @docs-private\n */\nexport class MatFormFieldBase {\n constructor(public _elementRef: ElementRef) { }\n}\n\n/**\n * Base class to which we're applying the form field mixins.\n * @docs-private\n */\nexport const _MatFormFieldMixinBase = mixinColor(MatFormFieldBase, 'primary');\n\n/** Possible appearance styles for the form field. */\nexport type MatFormFieldAppearance = 'legacy' | 'standard' | 'fill' | 'outline';\n\n/**\n * Represents the default options form the form field that can be configured\n * using the `MAT_FORM_FIELD_DEFAULT_OPTIONS` injection token.\n */\nexport interface MatFormFieldDefaultOptions {\n appearance?: MatFormFieldAppearance;\n}\n\n/**\n * Injection token that can be used to configure the\n * default options for all form field within an app.\n */\nexport const MAT_FORM_FIELD_DEFAULT_OPTIONS =\n new InjectionToken<MatFormFieldDefaultOptions>('MAT_FORM_FIELD_DEFAULT_OPTIONS');\n\n\n/** Container for form controls that applies Material Design styling and behavior. */\n@Component({\n moduleId: module.id,\n selector: 'mat-form-field',\n exportAs: 'matFormField',\n templateUrl: 'form-field.html',\n // MatInput is a directive and can't have styles, so we need to include its styles here.\n // The MatInput styles are fairly minimal so it shouldn't be a big deal for people who\n // aren't using MatInput.\n styleUrls: [\n 'form-field.css',\n 'form-field-fill.css',\n 'form-field-legacy.css',\n 'form-field-outline.css',\n 'form-field-standard.css',\n '../input/input.css',\n ],\n animations: [matFormFieldAnimations.transitionMessages],\n host: {\n 'class': 'mat-form-field',\n '[class.mat-form-field-appearance-standard]': 'appearance == \"standard\"',\n '[class.mat-form-field-appearance-fill]': 'appearance == \"fill\"',\n '[class.mat-form-field-appearance-outline]': 'appearance == \"outline\"',\n '[class.mat-form-field-appearance-legacy]': 'appearance == \"legacy\"',\n '[class.mat-form-field-invalid]': '_control.errorState',\n '[class.mat-form-field-can-float]': '_canLabelFloat',\n '[class.mat-form-field-should-float]': '_shouldLabelFloat()',\n '[class.mat-form-field-hide-placeholder]': '_hideControlPlaceholder()',\n '[class.mat-form-field-disabled]': '_control.disabled',\n '[class.mat-form-field-autofilled]': '_control.autofilled',\n '[class.mat-focused]': '_control.focused',\n '[class.mat-accent]': 'color == \"accent\"',\n '[class.mat-warn]': 'color == \"warn\"',\n '[class.ng-untouched]': '_shouldForward(\"untouched\")',\n '[class.ng-touched]': '_shouldForward(\"touched\")',\n '[class.ng-pristine]': '_shouldForward(\"pristine\")',\n '[class.ng-dirty]': '_shouldForward(\"dirty\")',\n '[class.ng-valid]': '_shouldForward(\"valid\")',\n '[class.ng-invalid]': '_shouldForward(\"invalid\")',\n '[class.ng-pending]': '_shouldForward(\"pending\")',\n '[class._mat-animation-noopable]': '!_animationsEnabled',\n },\n inputs: ['color'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class MatFormField extends _MatFormFieldMixinBase\n implements AfterContentInit, AfterContentChecked, AfterViewInit, CanColor {\n private _labelOptions: LabelOptions;\n private _outlineGapCalculationNeeded = false;\n\n /** The form-field appearance style. */\n @Input()\n get appearance(): MatFormFieldAppearance { return this._appearance; }\n set appearance(value: MatFormFieldAppearance) {\n const oldValue = this._appearance;\n\n this._appearance = value || (this._defaults && this._defaults.appearance) || 'legacy';\n\n if (this._appearance === 'outline' && oldValue !== value) {\n // @breaking-change 7.0.0 Remove this check and else block once _ngZone is required.\n if (this._ngZone) {\n this._ngZone!.onStable.pipe(take(1)).subscribe(() => {\n this._ngZone!.runOutsideAngular(() => this.updateOutlineGap());\n });\n } else {\n Promise.resolve().then(() => this.updateOutlineGap());\n }\n }\n }\n _appearance: MatFormFieldAppearance;\n\n /** Whether the required marker should be hidden. */\n @Input()\n get hideRequiredMarker(): boolean { return this._hideRequiredMarker; }\n set hideRequiredMarker(value: boolean) {\n this._hideRequiredMarker = coerceBooleanProperty(value);\n }\n private _hideRequiredMarker: boolean;\n\n /** Override for the logic that disables the label animation in certain cases. */\n private _showAlwaysAnimate = false;\n\n /** Whether the floating label should always float or not. */\n get _shouldAlwaysFloat(): boolean {\n return this.floatLabel === 'always' && !this._showAlwaysAnimate;\n }\n\n /** Whether the label can float or not. */\n get _canLabelFloat(): boolean { return this.floatLabel !== 'never'; }\n\n /** State of the mat-hint and mat-error animations. */\n _subscriptAnimationState: string = '';\n\n /** Text for the form field hint. */\n @Input()\n get hintLabel(): string { return this._hintLabel; }\n set hintLabel(value: string) {\n this._hintLabel = value;\n this._processHints();\n }\n private _hintLabel = '';\n\n // Unique id for the hint label.\n _hintLabelId: string = `mat-hint-${nextUniqueId++}`;\n\n // Unique id for the internal form field label.\n _labelId = `mat-form-field-label-${nextUniqueId++}`;\n\n /**\n * Whether the label should always float, never float or float as the user types.\n *\n * Note: only the legacy appearance supports the `never` option. `never` was originally added as a\n * way to make the floating label emulate the behavior of a standard input placeholder. However\n * the form field now supports both floating labels and placeholders. Therefore in the non-legacy\n * appearances the `never` option has been disabled in favor of just using the placeholder.\n */\n @Input()\n get floatLabel(): FloatLabelType {\n return this.appearance !== 'legacy' && this._floatLabel === 'never' ? 'auto' : this._floatLabel;\n }\n set floatLabel(value: FloatLabelType) {\n if (value !== this._floatLabel) {\n this._floatLabel = value || this._labelOptions.float || 'auto';\n this._changeDetectorRef.markForCheck();\n }\n }\n private _floatLabel: FloatLabelType;\n\n /** Whether the Angular animations are enabled. */\n _animationsEnabled: boolean;\n\n /**\n * @deprecated\n * @breaking-change 7.0.0\n */\n @ViewChild('underline') underlineRef: ElementRef;\n\n @ViewChild('connectionContainer') _connectionContainerRef: ElementRef;\n @ViewChild('inputContainer') _inputContainerRef: ElementRef;\n @ViewChild('label') private _label: ElementRef;\n @ContentChild(MatFormFieldControl) _control: MatFormFieldControl<any>;\n @ContentChild(MatPlaceholder) _placeholderChild: MatPlaceholder;\n @ContentChild(MatLabel) _labelChild: MatLabel;\n @ContentChildren(MatError) _errorChildren: QueryList<MatError>;\n @ContentChildren(MatHint) _hintChildren: QueryList<MatHint>;\n @ContentChildren(MatPrefix) _prefixChildren: QueryList<MatPrefix>;\n @ContentChildren(MatSuffix) _suffixChildren: QueryList<MatSuffix>;\n\n constructor(\n public _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MAT_LABEL_GLOBAL_OPTIONS) labelOptions: LabelOptions,\n @Optional() private _dir: Directionality,\n @Optional() @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS)\n private _defaults: MatFormFieldDefaultOptions,\n // @breaking-change 7.0.0 _platform, _ngZone and _animationMode to be made required.\n private _platform?: Platform,\n private _ngZone?: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) _animationMode?: string) {\n super(_elementRef);\n\n this._labelOptions = labelOptions ? labelOptions : {};\n this.floatLabel = this._labelOptions.float || 'auto';\n this._animationsEnabled = _animationMode !== 'NoopAnimations';\n\n // Set the default through here so we invoke the setter on the first run.\n this.appearance = (_defaults && _defaults.appearance) ? _defaults.appearance : 'legacy';\n }\n\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be\n * positioned relative to.\n */\n getConnectedOverlayOrigin(): ElementRef {\n return this._connectionContainerRef || this._elementRef;\n }\n\n ngAfterContentInit() {\n this._validateControlChild();\n if (this._control.controlType) {\n this._elementRef.nativeElement.classList\n .add(`mat-form-field-type-${this._control.controlType}`);\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n this._control.stateChanges.pipe(startWith(null!)).subscribe(() => {\n this._validatePlaceholders();\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n\n // Run change detection if the value, prefix, or suffix changes.\n const valueChanges = this._control.ngControl && this._control.ngControl.valueChanges || EMPTY;\n merge(valueChanges, this._prefixChildren.changes, this._suffixChildren.changes)\n .subscribe(() => this._changeDetectorRef.markForCheck());\n\n // Re-validate when the number of hints changes.\n this._hintChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._processHints();\n this._changeDetectorRef.markForCheck();\n });\n\n // Update the aria-described by when the number of errors changes.\n this._errorChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n ngAfterContentChecked() {\n this._validateControlChild();\n if (this._outlineGapCalculationNeeded) {\n this.updateOutlineGap();\n }\n }\n\n ngAfterViewInit() {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n }\n\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n _shouldForward(prop: string): boolean {\n const ngControl = this._control ? this._control.ngControl : null;\n return ngControl && ngControl[prop];\n }\n\n _hasPlaceholder() {\n return !!(this._control && this._control.placeholder || this._placeholderChild);\n }\n\n _hasLabel() {\n return !!this._labelChild;\n }\n\n _shouldLabelFloat() {\n return this._canLabelFloat && (this._control.shouldLabelFloat || this._shouldAlwaysFloat);\n }\n\n _hideControlPlaceholder() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this.appearance === 'legacy' && !this._hasLabel() ||\n this._hasLabel() && !this._shouldLabelFloat();\n }\n\n _hasFloatingLabel() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this._hasLabel() || this.appearance === 'legacy' && this._hasPlaceholder();\n }\n\n /** Determines whether to display hints or errors. */\n _getDisplayedMessages(): 'error' | 'hint' {\n return (this._errorChildren && this._errorChildren.length > 0 &&\n this._control.errorState) ? 'error' : 'hint';\n }\n\n /** Animates the placeholder up and locks it in position. */\n _animateAndLockLabel(): void {\n if (this._hasFloatingLabel() && this._canLabelFloat) {\n // If animations are disabled, we shouldn't go in here,\n // because the `transitionend` will never fire.\n if (this._animationsEnabled) {\n this._showAlwaysAnimate = true;\n\n fromEvent(this._label.nativeElement, 'transitionend').pipe(take(1)).subscribe(() => {\n this._showAlwaysAnimate = false;\n });\n }\n\n this.floatLabel = 'always';\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Ensure that there is only one placeholder (either `placeholder` attribute on the child control\n * or child element with the `mat-placeholder` directive).\n */\n private _validatePlaceholders() {\n if (this._control.placeholder && this._placeholderChild) {\n throw getMatFormFieldPlaceholderConflictError();\n }\n }\n\n /** Does any extra processing that is required when handling the hints. */\n private _processHints() {\n this._validateHints();\n this._syncDescribedByIds();\n }\n\n /**\n * Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the\n * attribute being considered as `align=\"start\"`.\n */\n private _validateHints() {\n if (this._hintChildren) {\n let startHint: MatHint;\n let endHint: MatHint;\n this._hintChildren.forEach((hint: MatHint) => {\n if (hint.align === 'start') {\n if (startHint || this.hintLabel) {\n throw getMatFormFieldDuplicatedHintError('start');\n }\n startHint = hint;\n } else if (hint.align === 'end') {\n if (endHint) {\n throw getMatFormFieldDuplicatedHintError('end');\n }\n endHint = hint;\n }\n });\n }\n }\n\n /**\n * Sets the list of element IDs that describe the child control. This allows the control to update\n * its `aria-describedby` attribute accordingly.\n */\n private _syncDescribedByIds() {\n if (this._control) {\n let ids: string[] = [];\n\n if (this._getDisplayedMessages() === 'hint') {\n const startHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'start') : null;\n const endHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'end') : null;\n\n if (startHint) {\n ids.push(startHint.id);\n } else if (this._hintLabel) {\n ids.push(this._hintLabelId);\n }\n\n if (endHint) {\n ids.push(endHint.id);\n }\n } else if (this._errorChildren) {\n ids = this._errorChildren.map(error => error.id);\n }\n\n this._control.setDescribedByIds(ids);\n }\n }\n\n /** Throws an error if the form field's control is missing. */\n protected _validateControlChild() {\n if (!this._control) {\n throw getMatFormFieldMissingControlError();\n }\n }\n\n /**\n * Updates the width and position of the gap in the outline. Only relevant for the outline\n * appearance.\n */\n updateOutlineGap() {\n const labelEl = this._label ? this._label.nativeElement : null;\n\n if (this.appearance !== 'outline' || !labelEl || !labelEl.children.length ||\n !labelEl.textContent.trim()) {\n return;\n }\n\n if (this._platform && !this._platform.isBrowser) {\n // getBoundingClientRect isn't available on the server.\n return;\n }\n // If the element is not present in the DOM, the outline gap will need to be calculated\n // the next time it is checked and in the DOM.\n if (!document.documentElement.contains(this._elementRef.nativeElement)) {\n this._outlineGapCalculationNeeded = true;\n return;\n }\n\n let startWidth = 0;\n let gapWidth = 0;\n const startEls = this._connectionContainerRef.nativeElement.querySelectorAll(\n '.mat-form-field-outline-start');\n const gapEls = this._connectionContainerRef.nativeElement.querySelectorAll(\n '.mat-form-field-outline-gap');\n if (this._label && this._label.nativeElement.children.length) {\n const containerStart = this._getStartEnd(\n this._connectionContainerRef.nativeElement.getBoundingClientRect());\n const labelStart = this._getStartEnd(labelEl.children[0].getBoundingClientRect());\n let labelWidth = 0;\n\n for (const child of labelEl.children) {\n labelWidth += child.offsetWidth;\n }\n startWidth = labelStart - containerStart - outlineGapPadding;\n gapWidth = labelWidth > 0 ? labelWidth * floatingLabelScale + outlineGapPadding * 2 : 0;\n }\n\n for (let i = 0; i < startEls.length; i++) {\n startEls.item(i).style.width = `${startWidth}px`;\n }\n for (let i = 0; i < gapEls.length; i++) {\n gapEls.item(i).style.width = `${gapWidth}px`;\n }\n\n this._outlineGapCalculationNeeded = false;\n }\n\n /** Gets the start end of the rect considering the current directionality. */\n private _getStartEnd(rect: ClientRect): number {\n return this._dir && this._dir.value === 'rtl' ? rect.right : rect.left;\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 {Directive} from '@angular/core';\n\n\n/** Suffix to be placed at the end of the form field. */\n@Directive({\n selector: '[matSuffix]',\n})\nexport class MatSuffix {}\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 {Directive} from '@angular/core';\n\n\n/** Prefix to be placed the the front of the form field. */\n@Directive({\n selector: '[matPrefix]',\n})\nexport class MatPrefix {}\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 {Directive} from '@angular/core';\n\n\n/**\n * The placeholder text for an `MatFormField`.\n * @deprecated Use `<mat-label>` to specify the label and the `placeholder` attribute to specify the\n * placeholder.\n * @breaking-change 8.0.0\n */\n@Directive({\n selector: 'mat-placeholder'\n})\nexport class MatPlaceholder {}\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 {Directive} from '@angular/core';\n\n\n/** The floating label for a `mat-form-field`. */\n@Directive({\n selector: 'mat-label'\n})\nexport class MatLabel {}\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 {Directive, Input} from '@angular/core';\n\n\nlet nextUniqueId = 0;\n\n\n/** Hint text to be shown underneath the form field control. */\n@Directive({\n selector: 'mat-hint',\n host: {\n 'class': 'mat-hint',\n '[class.mat-right]': 'align == \"end\"',\n '[attr.id]': 'id',\n // Remove align attribute to prevent it from interfering with layout.\n '[attr.align]': 'null',\n }\n})\nexport class MatHint {\n /** Whether to align the hint label at the start or end of the line. */\n @Input() align: 'start' | 'end' = 'start';\n\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n @Input() id: string = `mat-hint-${nextUniqueId++}`;\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 getMatFormFieldPlaceholderConflictError(): Error {\n return Error('Placeholder attribute and child element were both specified.');\n}\n\n/** @docs-private */\nexport function getMatFormFieldDuplicatedHintError(align: string): Error {\n return Error(`A hint was already declared for 'align=\"${align}\"'.`);\n}\n\n/** @docs-private */\nexport function getMatFormFieldMissingControlError(): Error {\n return Error('mat-form-field must contain a MatFormFieldControl.');\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 {Observable} from 'rxjs';\nimport {NgControl} from '@angular/forms';\n\n\n/** An interface which allows a control to work inside of a `MatFormField`. */\nexport abstract class MatFormFieldControl<T> {\n /** The value of the control. */\n value: T | null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MatFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable<void>;\n\n /** The element ID for this control. */\n readonly id: string;\n\n /** The placeholder for this control. */\n readonly placeholder: string;\n\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n\n /** Whether the control is focused. */\n readonly focused: boolean;\n\n /** Whether the control is empty. */\n readonly empty: boolean;\n\n /** Whether the `MatFormField` label should try to float. */\n readonly shouldLabelFloat: boolean;\n\n /** Whether the control is required. */\n readonly required: boolean;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n\n /**\n * An optional name for the control type that can be used to distinguish `mat-form-field` elements\n * based on their control type. The form field will add a class,\n * `mat-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /**\n * Whether the input is currently in an autofilled state. If property is not present on the\n * control it is assumed to be false.\n */\n readonly autofilled?: boolean;\n\n /** Sets the list of element IDs that currently describe this control. */\n abstract setDescribedByIds(ids: string[]): void;\n\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/** Animations used by the MatFormField. */\nexport const matFormFieldAnimations: {\n readonly transitionMessages: AnimationTriggerMetadata\n} = {\n /** Animation that transitions the form field's error and hint messages. */\n transitionMessages: trigger('transitionMessages', [\n // TODO(mmalerba): Use angular animations for label animation as well.\n state('enter', style({ opacity: 1, transform: 'translateY(0%)' })),\n transition('void => enter', [\n style({ opacity: 0, transform: 'translateY(-100%)' }),\n animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\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 {Directive, Input} from '@angular/core';\n\n\nlet nextUniqueId = 0;\n\n\n/** Single error message to be shown underneath the form field. */\n@Directive({\n selector: 'mat-error',\n host: {\n 'class': 'mat-error',\n 'role': 'alert',\n '[attr.id]': 'id',\n }\n})\nexport class MatError {\n @Input() id: string = `mat-error-${nextUniqueId++}`;\n}\n"],"names":["nextUniqueId","tslib_1.__extends"],"mappings":"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"}
@@ -7,33 +7,10 @@
7
7
  */
8
8
  import { Component, ViewEncapsulation, ElementRef, Input, ContentChildren, Directive, ChangeDetectionStrategy, Optional, NgModule } from '@angular/core';
9
9
  import { MatLine, MatLineSetter, MatLineModule, MatCommonModule } from '@angular/material/core';
10
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
10
11
  import { __extends } from 'tslib';
11
12
  import { Directionality } from '@angular/cdk/bidi';
12
13
 
13
- /**
14
- * @fileoverview added by tsickle
15
- * @suppress {checkTypes} checked by tsc
16
- */
17
-
18
- /**
19
- * Converts values into strings. Falsy values become empty strings.
20
- * \@docs-private
21
- * @param {?} value
22
- * @return {?}
23
- */
24
- function coerceToString(value) {
25
- return "" + (value || '');
26
- }
27
- /**
28
- * Converts a value that might be a string into a number.
29
- * \@docs-private
30
- * @param {?} value
31
- * @return {?}
32
- */
33
- function coerceToNumber(value) {
34
- return typeof value === 'string' ? parseInt(value, 10) : value;
35
- }
36
-
37
14
  /**
38
15
  * @fileoverview added by tsickle
39
16
  * @suppress {checkTypes} checked by tsc
@@ -54,7 +31,7 @@ var MatGridTile = /** @class */ (function () {
54
31
  * @param {?} value
55
32
  * @return {?}
56
33
  */
57
- function (value) { this._rowspan = coerceToNumber(value); },
34
+ function (value) { this._rowspan = Math.round(coerceNumberProperty(value)); },
58
35
  enumerable: true,
59
36
  configurable: true
60
37
  });
@@ -68,7 +45,7 @@ var MatGridTile = /** @class */ (function () {
68
45
  * @param {?} value
69
46
  * @return {?}
70
47
  */
71
- function (value) { this._colspan = coerceToNumber(value); },
48
+ function (value) { this._colspan = Math.round(coerceNumberProperty(value)); },
72
49
  enumerable: true,
73
50
  configurable: true
74
51
  });
@@ -899,7 +876,7 @@ var MatGridList = /** @class */ (function () {
899
876
  * @param {?} value
900
877
  * @return {?}
901
878
  */
902
- function (value) { this._cols = coerceToNumber(value); },
879
+ function (value) { this._cols = Math.round(coerceNumberProperty(value)); },
903
880
  enumerable: true,
904
881
  configurable: true
905
882
  });
@@ -913,7 +890,7 @@ var MatGridList = /** @class */ (function () {
913
890
  * @param {?} value
914
891
  * @return {?}
915
892
  */
916
- function (value) { this._gutter = coerceToString(value); },
893
+ function (value) { this._gutter = "" + (value || ''); },
917
894
  enumerable: true,
918
895
  configurable: true
919
896
  });
@@ -924,7 +901,7 @@ var MatGridList = /** @class */ (function () {
924
901
  * @return {?}
925
902
  */
926
903
  function (value) {
927
- var /** @type {?} */ newValue = coerceToString(value);
904
+ var /** @type {?} */ newValue = "" + (value || '');
928
905
  if (newValue !== this._rowHeight) {
929
906
  this._rowHeight = newValue;
930
907
  this._setTileStyler(this._rowHeight);
@@ -1064,7 +1041,7 @@ var MatGridList = /** @class */ (function () {
1064
1041
  { type: Directionality, decorators: [{ type: Optional },] },
1065
1042
  ]; };
1066
1043
  MatGridList.propDecorators = {
1067
- "_tiles": [{ type: ContentChildren, args: [MatGridTile,] },],
1044
+ "_tiles": [{ type: ContentChildren, args: [MatGridTile, { descendants: true },] },],
1068
1045
  "cols": [{ type: Input },],
1069
1046
  "gutterSize": [{ type: Input },],
1070
1047
  "rowHeight": [{ type: Input },],