@angular/material 7.0.4 → 7.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/LICENSE +1 -1
  2. package/_theming.scss +61 -44
  3. package/autocomplete/typings/index.d.ts +1 -1
  4. package/autocomplete/typings/index.metadata.json +1 -1
  5. package/badge/typings/index.metadata.json +1 -1
  6. package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
  7. package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
  8. package/bottom-sheet/typings/index.metadata.json +1 -1
  9. package/bundles/material-autocomplete.umd.js +126 -32
  10. package/bundles/material-autocomplete.umd.js.map +1 -1
  11. package/bundles/material-autocomplete.umd.min.js +1 -1
  12. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  13. package/bundles/material-badge.umd.js +38 -5
  14. package/bundles/material-badge.umd.js.map +1 -1
  15. package/bundles/material-badge.umd.min.js +1 -1
  16. package/bundles/material-badge.umd.min.js.map +1 -1
  17. package/bundles/material-bottom-sheet.umd.js +68 -21
  18. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  19. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  20. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  21. package/bundles/material-button-toggle.umd.js +36 -13
  22. package/bundles/material-button-toggle.umd.js.map +1 -1
  23. package/bundles/material-button-toggle.umd.min.js +1 -1
  24. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  25. package/bundles/material-button.umd.js +21 -14
  26. package/bundles/material-button.umd.js.map +1 -1
  27. package/bundles/material-button.umd.min.js +1 -1
  28. package/bundles/material-button.umd.min.js.map +1 -1
  29. package/bundles/material-card.umd.js +3 -3
  30. package/bundles/material-card.umd.js.map +1 -1
  31. package/bundles/material-card.umd.min.js +1 -1
  32. package/bundles/material-card.umd.min.js.map +1 -1
  33. package/bundles/material-checkbox.umd.js +56 -15
  34. package/bundles/material-checkbox.umd.js.map +1 -1
  35. package/bundles/material-checkbox.umd.min.js +1 -1
  36. package/bundles/material-checkbox.umd.min.js.map +1 -1
  37. package/bundles/material-chips.umd.js +124 -34
  38. package/bundles/material-chips.umd.js.map +1 -1
  39. package/bundles/material-chips.umd.min.js +1 -1
  40. package/bundles/material-chips.umd.min.js.map +1 -1
  41. package/bundles/material-core.umd.js +189 -126
  42. package/bundles/material-core.umd.js.map +1 -1
  43. package/bundles/material-core.umd.min.js +1 -1
  44. package/bundles/material-core.umd.min.js.map +1 -1
  45. package/bundles/material-datepicker.umd.js +231 -53
  46. package/bundles/material-datepicker.umd.js.map +1 -1
  47. package/bundles/material-datepicker.umd.min.js +2 -2
  48. package/bundles/material-datepicker.umd.min.js.map +1 -1
  49. package/bundles/material-dialog.umd.js +138 -40
  50. package/bundles/material-dialog.umd.js.map +1 -1
  51. package/bundles/material-dialog.umd.min.js +1 -1
  52. package/bundles/material-dialog.umd.min.js.map +1 -1
  53. package/bundles/material-divider.umd.js +2 -2
  54. package/bundles/material-divider.umd.js.map +1 -1
  55. package/bundles/material-divider.umd.min.js.map +1 -1
  56. package/bundles/material-expansion.umd.js +53 -27
  57. package/bundles/material-expansion.umd.js.map +1 -1
  58. package/bundles/material-expansion.umd.min.js +1 -1
  59. package/bundles/material-expansion.umd.min.js.map +1 -1
  60. package/bundles/material-form-field.umd.js +121 -32
  61. package/bundles/material-form-field.umd.js.map +1 -1
  62. package/bundles/material-form-field.umd.min.js +1 -1
  63. package/bundles/material-form-field.umd.min.js.map +1 -1
  64. package/bundles/material-grid-list.umd.js +66 -15
  65. package/bundles/material-grid-list.umd.js.map +1 -1
  66. package/bundles/material-grid-list.umd.min.js +1 -1
  67. package/bundles/material-grid-list.umd.min.js.map +1 -1
  68. package/bundles/material-icon.umd.js +277 -78
  69. package/bundles/material-icon.umd.js.map +1 -1
  70. package/bundles/material-icon.umd.min.js +1 -1
  71. package/bundles/material-icon.umd.min.js.map +1 -1
  72. package/bundles/material-input.umd.js +50 -22
  73. package/bundles/material-input.umd.js.map +1 -1
  74. package/bundles/material-input.umd.min.js +1 -1
  75. package/bundles/material-input.umd.min.js.map +1 -1
  76. package/bundles/material-list.umd.js +69 -21
  77. package/bundles/material-list.umd.js.map +1 -1
  78. package/bundles/material-list.umd.min.js +2 -6
  79. package/bundles/material-list.umd.min.js.map +1 -1
  80. package/bundles/material-menu.umd.js +171 -66
  81. package/bundles/material-menu.umd.js.map +1 -1
  82. package/bundles/material-menu.umd.min.js +1 -1
  83. package/bundles/material-menu.umd.min.js.map +1 -1
  84. package/bundles/material-paginator.umd.js +52 -10
  85. package/bundles/material-paginator.umd.js.map +1 -1
  86. package/bundles/material-paginator.umd.min.js +1 -1
  87. package/bundles/material-paginator.umd.min.js.map +1 -1
  88. package/bundles/material-progress-bar.umd.js +31 -12
  89. package/bundles/material-progress-bar.umd.js.map +1 -1
  90. package/bundles/material-progress-bar.umd.min.js +1 -1
  91. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  92. package/bundles/material-progress-spinner.umd.js +29 -13
  93. package/bundles/material-progress-spinner.umd.js.map +1 -1
  94. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  95. package/bundles/material-radio.umd.js +38 -40
  96. package/bundles/material-radio.umd.js.map +1 -1
  97. package/bundles/material-radio.umd.min.js +1 -1
  98. package/bundles/material-radio.umd.min.js.map +1 -1
  99. package/bundles/material-select.umd.js +189 -51
  100. package/bundles/material-select.umd.js.map +1 -1
  101. package/bundles/material-select.umd.min.js +1 -1
  102. package/bundles/material-select.umd.min.js.map +1 -1
  103. package/bundles/material-sidenav.umd.js +104 -25
  104. package/bundles/material-sidenav.umd.js.map +1 -1
  105. package/bundles/material-sidenav.umd.min.js +1 -1
  106. package/bundles/material-sidenav.umd.min.js.map +1 -1
  107. package/bundles/material-slide-toggle.umd.js +30 -14
  108. package/bundles/material-slide-toggle.umd.js.map +1 -1
  109. package/bundles/material-slide-toggle.umd.min.js +1 -1
  110. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  111. package/bundles/material-slider.umd.js +91 -21
  112. package/bundles/material-slider.umd.js.map +1 -1
  113. package/bundles/material-slider.umd.min.js +1 -1
  114. package/bundles/material-slider.umd.min.js.map +1 -1
  115. package/bundles/material-snack-bar.umd.js +71 -19
  116. package/bundles/material-snack-bar.umd.js.map +1 -1
  117. package/bundles/material-snack-bar.umd.min.js +1 -1
  118. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  119. package/bundles/material-sort.umd.js +46 -24
  120. package/bundles/material-sort.umd.js.map +1 -1
  121. package/bundles/material-sort.umd.min.js +1 -1
  122. package/bundles/material-sort.umd.min.js.map +1 -1
  123. package/bundles/material-stepper.umd.js +37 -35
  124. package/bundles/material-stepper.umd.js.map +1 -1
  125. package/bundles/material-stepper.umd.min.js +1 -1
  126. package/bundles/material-stepper.umd.min.js.map +1 -1
  127. package/bundles/material-table.umd.js +29 -9
  128. package/bundles/material-table.umd.js.map +1 -1
  129. package/bundles/material-table.umd.min.js.map +1 -1
  130. package/bundles/material-tabs.umd.js +170 -68
  131. package/bundles/material-tabs.umd.js.map +1 -1
  132. package/bundles/material-tabs.umd.min.js +2 -2
  133. package/bundles/material-tabs.umd.min.js.map +1 -1
  134. package/bundles/material-toolbar.umd.js +14 -4
  135. package/bundles/material-toolbar.umd.js.map +1 -1
  136. package/bundles/material-toolbar.umd.min.js +1 -1
  137. package/bundles/material-toolbar.umd.min.js.map +1 -1
  138. package/bundles/material-tooltip.umd.js +53 -26
  139. package/bundles/material-tooltip.umd.js.map +1 -1
  140. package/bundles/material-tooltip.umd.min.js +1 -1
  141. package/bundles/material-tooltip.umd.min.js.map +1 -1
  142. package/bundles/material-tree.umd.js +25 -16
  143. package/bundles/material-tree.umd.js.map +1 -1
  144. package/bundles/material-tree.umd.min.js +1 -1
  145. package/bundles/material-tree.umd.min.js.map +1 -1
  146. package/bundles/material.umd.js +2853 -1010
  147. package/bundles/material.umd.js.map +1 -1
  148. package/bundles/material.umd.min.js +19 -21
  149. package/bundles/material.umd.min.js.map +1 -1
  150. package/button/typings/button.d.ts +0 -5
  151. package/button/typings/index.metadata.json +1 -1
  152. package/button-toggle/typings/index.metadata.json +1 -1
  153. package/card/typings/index.metadata.json +1 -1
  154. package/checkbox/typings/index.metadata.json +1 -1
  155. package/chips/typings/chip-list.d.ts +1 -1
  156. package/chips/typings/chip.d.ts +2 -2
  157. package/chips/typings/index.metadata.json +1 -1
  158. package/core/typings/index.metadata.json +1 -1
  159. package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  160. package/core/typings/public-api.d.ts +1 -1
  161. package/datepicker/typings/calendar-body.d.ts +21 -5
  162. package/datepicker/typings/calendar.d.ts +4 -1
  163. package/datepicker/typings/datepicker.d.ts +3 -0
  164. package/datepicker/typings/index.metadata.json +1 -1
  165. package/datepicker/typings/month-view.d.ts +4 -2
  166. package/dialog/typings/index.metadata.json +1 -1
  167. package/esm2015/autocomplete.js +60 -29
  168. package/esm2015/autocomplete.js.map +1 -1
  169. package/esm2015/badge.js +29 -6
  170. package/esm2015/badge.js.map +1 -1
  171. package/esm2015/bottom-sheet.js +45 -22
  172. package/esm2015/bottom-sheet.js.map +1 -1
  173. package/esm2015/button-toggle.js +20 -11
  174. package/esm2015/button-toggle.js.map +1 -1
  175. package/esm2015/button.js +20 -15
  176. package/esm2015/button.js.map +1 -1
  177. package/esm2015/card.js +5 -5
  178. package/esm2015/card.js.map +1 -1
  179. package/esm2015/checkbox.js +30 -12
  180. package/esm2015/checkbox.js.map +1 -1
  181. package/esm2015/chips.js +64 -28
  182. package/esm2015/chips.js.map +1 -1
  183. package/esm2015/core.js +148 -129
  184. package/esm2015/core.js.map +1 -1
  185. package/esm2015/datepicker.js +124 -41
  186. package/esm2015/datepicker.js.map +1 -1
  187. package/esm2015/dialog.js +77 -40
  188. package/esm2015/dialog.js.map +1 -1
  189. package/esm2015/divider.js +4 -4
  190. package/esm2015/divider.js.map +1 -1
  191. package/esm2015/expansion.js +58 -31
  192. package/esm2015/expansion.js.map +1 -1
  193. package/esm2015/form-field.js +94 -34
  194. package/esm2015/form-field.js.map +1 -1
  195. package/esm2015/grid-list.js +45 -17
  196. package/esm2015/grid-list.js.map +1 -1
  197. package/esm2015/icon.js +136 -67
  198. package/esm2015/icon.js.map +1 -1
  199. package/esm2015/input.js +44 -23
  200. package/esm2015/input.js.map +1 -1
  201. package/esm2015/list.js +47 -22
  202. package/esm2015/list.js.map +1 -1
  203. package/esm2015/material.js +13 -12
  204. package/esm2015/material.js.map +1 -1
  205. package/esm2015/menu.js +109 -63
  206. package/esm2015/menu.js.map +1 -1
  207. package/esm2015/paginator.js +35 -12
  208. package/esm2015/paginator.js.map +1 -1
  209. package/esm2015/progress-bar.js +26 -13
  210. package/esm2015/progress-bar.js.map +1 -1
  211. package/esm2015/progress-spinner.js +24 -14
  212. package/esm2015/progress-spinner.js.map +1 -1
  213. package/esm2015/radio.js +22 -21
  214. package/esm2015/radio.js.map +1 -1
  215. package/esm2015/select.js +116 -53
  216. package/esm2015/select.js.map +1 -1
  217. package/esm2015/sidenav.js +75 -28
  218. package/esm2015/sidenav.js.map +1 -1
  219. package/esm2015/slide-toggle.js +23 -15
  220. package/esm2015/slide-toggle.js.map +1 -1
  221. package/esm2015/slider.js +54 -24
  222. package/esm2015/slider.js.map +1 -1
  223. package/esm2015/snack-bar.js +41 -21
  224. package/esm2015/snack-bar.js.map +1 -1
  225. package/esm2015/sort.js +47 -24
  226. package/esm2015/sort.js.map +1 -1
  227. package/esm2015/stepper.js +35 -32
  228. package/esm2015/stepper.js.map +1 -1
  229. package/esm2015/table.js +31 -11
  230. package/esm2015/table.js.map +1 -1
  231. package/esm2015/tabs.js +113 -53
  232. package/esm2015/tabs.js.map +1 -1
  233. package/esm2015/toolbar.js +9 -5
  234. package/esm2015/toolbar.js.map +1 -1
  235. package/esm2015/tooltip.js +43 -28
  236. package/esm2015/tooltip.js.map +1 -1
  237. package/esm2015/tree.js +22 -17
  238. package/esm2015/tree.js.map +1 -1
  239. package/esm5/autocomplete.es5.js +128 -34
  240. package/esm5/autocomplete.es5.js.map +1 -1
  241. package/esm5/badge.es5.js +40 -7
  242. package/esm5/badge.es5.js.map +1 -1
  243. package/esm5/bottom-sheet.es5.js +70 -23
  244. package/esm5/bottom-sheet.es5.js.map +1 -1
  245. package/esm5/button-toggle.es5.js +38 -15
  246. package/esm5/button-toggle.es5.js.map +1 -1
  247. package/esm5/button.es5.js +23 -16
  248. package/esm5/button.es5.js.map +1 -1
  249. package/esm5/card.es5.js +5 -5
  250. package/esm5/card.es5.js.map +1 -1
  251. package/esm5/checkbox.es5.js +58 -17
  252. package/esm5/checkbox.es5.js.map +1 -1
  253. package/esm5/chips.es5.js +127 -37
  254. package/esm5/chips.es5.js.map +1 -1
  255. package/esm5/core.es5.js +192 -129
  256. package/esm5/core.es5.js.map +1 -1
  257. package/esm5/datepicker.es5.js +233 -55
  258. package/esm5/datepicker.es5.js.map +1 -1
  259. package/esm5/dialog.es5.js +140 -42
  260. package/esm5/dialog.es5.js.map +1 -1
  261. package/esm5/divider.es5.js +4 -4
  262. package/esm5/divider.es5.js.map +1 -1
  263. package/esm5/expansion.es5.js +56 -31
  264. package/esm5/expansion.es5.js.map +1 -1
  265. package/esm5/form-field.es5.js +125 -36
  266. package/esm5/form-field.es5.js.map +1 -1
  267. package/esm5/grid-list.es5.js +68 -17
  268. package/esm5/grid-list.es5.js.map +1 -1
  269. package/esm5/icon.es5.js +279 -80
  270. package/esm5/icon.es5.js.map +1 -1
  271. package/esm5/input.es5.js +52 -24
  272. package/esm5/input.es5.js.map +1 -1
  273. package/esm5/list.es5.js +72 -24
  274. package/esm5/list.es5.js.map +1 -1
  275. package/esm5/material.es5.js +13 -12
  276. package/esm5/material.es5.js.map +1 -1
  277. package/esm5/menu.es5.js +170 -65
  278. package/esm5/menu.es5.js.map +1 -1
  279. package/esm5/paginator.es5.js +55 -13
  280. package/esm5/paginator.es5.js.map +1 -1
  281. package/esm5/progress-bar.es5.js +33 -14
  282. package/esm5/progress-bar.es5.js.map +1 -1
  283. package/esm5/progress-spinner.es5.js +31 -15
  284. package/esm5/progress-spinner.es5.js.map +1 -1
  285. package/esm5/radio.es5.js +42 -42
  286. package/esm5/radio.es5.js.map +1 -1
  287. package/esm5/select.es5.js +193 -55
  288. package/esm5/select.es5.js.map +1 -1
  289. package/esm5/sidenav.es5.js +107 -28
  290. package/esm5/sidenav.es5.js.map +1 -1
  291. package/esm5/slide-toggle.es5.js +32 -16
  292. package/esm5/slide-toggle.es5.js.map +1 -1
  293. package/esm5/slider.es5.js +94 -24
  294. package/esm5/slider.es5.js.map +1 -1
  295. package/esm5/snack-bar.es5.js +73 -21
  296. package/esm5/snack-bar.es5.js.map +1 -1
  297. package/esm5/sort.es5.js +53 -26
  298. package/esm5/sort.es5.js.map +1 -1
  299. package/esm5/stepper.es5.js +40 -38
  300. package/esm5/stepper.es5.js.map +1 -1
  301. package/esm5/table.es5.js +31 -11
  302. package/esm5/table.es5.js.map +1 -1
  303. package/esm5/tabs.es5.js +162 -61
  304. package/esm5/tabs.es5.js.map +1 -1
  305. package/esm5/toolbar.es5.js +16 -6
  306. package/esm5/toolbar.es5.js.map +1 -1
  307. package/esm5/tooltip.es5.js +55 -28
  308. package/esm5/tooltip.es5.js.map +1 -1
  309. package/esm5/tree.es5.js +27 -18
  310. package/esm5/tree.es5.js.map +1 -1
  311. package/expansion/typings/expansion-panel-header.d.ts +2 -2
  312. package/expansion/typings/expansion-panel.d.ts +19 -2
  313. package/expansion/typings/index.metadata.json +1 -1
  314. package/form-field/typings/form-field.d.ts +15 -4
  315. package/form-field/typings/index.metadata.json +1 -1
  316. package/grid-list/typings/index.d.ts +1 -1
  317. package/grid-list/typings/index.metadata.json +1 -1
  318. package/icon/typings/index.metadata.json +1 -1
  319. package/list/typings/index.metadata.json +1 -1
  320. package/material.d.ts +1 -1
  321. package/material.metadata.json +3 -3
  322. package/menu/typings/index.d.ts +4 -4
  323. package/menu/typings/index.metadata.json +1 -1
  324. package/menu/typings/menu-directive.d.ts +1 -0
  325. package/menu/typings/menu-item.d.ts +2 -0
  326. package/package.json +5 -5
  327. package/paginator/typings/index.metadata.json +1 -1
  328. package/paginator/typings/paginator.d.ts +7 -3
  329. package/prebuilt-themes/deeppurple-amber.css +1 -1
  330. package/prebuilt-themes/indigo-pink.css +1 -1
  331. package/prebuilt-themes/pink-bluegrey.css +1 -1
  332. package/prebuilt-themes/purple-green.css +1 -1
  333. package/progress-bar/typings/index.metadata.json +1 -1
  334. package/radio/typings/index.metadata.json +1 -1
  335. package/radio/typings/radio.d.ts +2 -6
  336. package/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  337. package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
  338. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  339. package/schematics/ng-add/theming/theming.js +35 -19
  340. package/schematics/ng-add/theming/theming.js.map +1 -1
  341. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  342. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  343. package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  344. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  345. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
  346. package/select/typings/index.metadata.json +1 -1
  347. package/select/typings/select.d.ts +12 -2
  348. package/sidenav/typings/drawer.d.ts +9 -2
  349. package/sidenav/typings/index.metadata.json +1 -1
  350. package/slide-toggle/typings/index.metadata.json +1 -1
  351. package/slider/typings/index.metadata.json +1 -1
  352. package/snack-bar/typings/index.metadata.json +1 -1
  353. package/sort/typings/index.metadata.json +1 -1
  354. package/stepper/typings/index.metadata.json +1 -1
  355. package/stepper/typings/step-header.d.ts +3 -5
  356. package/tabs/typings/index.d.ts +5 -5
  357. package/tabs/typings/index.metadata.json +1 -1
  358. package/tabs/typings/tab-body.d.ts +2 -0
  359. package/tabs/typings/tab-group.d.ts +11 -2
  360. package/tabs/typings/tab-header.d.ts +9 -3
  361. package/toolbar/typings/index.metadata.json +1 -1
  362. package/tooltip/typings/index.metadata.json +1 -1
  363. package/tree/typings/data-source/flat-data-source.d.ts +2 -2
  364. package/tree/typings/index.metadata.json +1 -1
  365. package/typings/autocomplete/index.d.ts +1 -1
  366. package/typings/autocomplete/index.metadata.json +1 -1
  367. package/typings/badge/index.metadata.json +1 -1
  368. package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  369. package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  370. package/typings/bottom-sheet/index.metadata.json +1 -1
  371. package/typings/button/button.d.ts +0 -5
  372. package/typings/button/index.metadata.json +1 -1
  373. package/typings/button-toggle/index.metadata.json +1 -1
  374. package/typings/card/index.metadata.json +1 -1
  375. package/typings/checkbox/index.metadata.json +1 -1
  376. package/typings/chips/chip-list.d.ts +1 -1
  377. package/typings/chips/chip.d.ts +2 -2
  378. package/typings/chips/index.metadata.json +1 -1
  379. package/typings/core/index.metadata.json +1 -1
  380. package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  381. package/typings/core/public-api.d.ts +1 -1
  382. package/typings/datepicker/calendar-body.d.ts +21 -5
  383. package/typings/datepicker/calendar.d.ts +4 -1
  384. package/typings/datepicker/datepicker.d.ts +3 -0
  385. package/typings/datepicker/index.metadata.json +1 -1
  386. package/typings/datepicker/month-view.d.ts +4 -2
  387. package/typings/dialog/index.metadata.json +1 -1
  388. package/typings/esm5/autocomplete/index.d.ts +1 -1
  389. package/typings/esm5/autocomplete/index.metadata.json +1 -1
  390. package/typings/esm5/badge/index.metadata.json +1 -1
  391. package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
  392. package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
  393. package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
  394. package/typings/esm5/button/button.d.ts +0 -5
  395. package/typings/esm5/button/index.metadata.json +1 -1
  396. package/typings/esm5/button-toggle/index.metadata.json +1 -1
  397. package/typings/esm5/card/index.metadata.json +1 -1
  398. package/typings/esm5/checkbox/index.metadata.json +1 -1
  399. package/typings/esm5/chips/chip-list.d.ts +1 -1
  400. package/typings/esm5/chips/chip.d.ts +2 -2
  401. package/typings/esm5/chips/index.metadata.json +1 -1
  402. package/typings/esm5/core/index.metadata.json +1 -1
  403. package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
  404. package/typings/esm5/core/public-api.d.ts +1 -1
  405. package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
  406. package/typings/esm5/datepicker/calendar.d.ts +4 -1
  407. package/typings/esm5/datepicker/datepicker.d.ts +3 -0
  408. package/typings/esm5/datepicker/index.metadata.json +1 -1
  409. package/typings/esm5/datepicker/month-view.d.ts +4 -2
  410. package/typings/esm5/dialog/index.metadata.json +1 -1
  411. package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
  412. package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
  413. package/typings/esm5/expansion/index.metadata.json +1 -1
  414. package/typings/esm5/form-field/form-field.d.ts +15 -4
  415. package/typings/esm5/form-field/index.metadata.json +1 -1
  416. package/typings/esm5/grid-list/index.d.ts +1 -1
  417. package/typings/esm5/grid-list/index.metadata.json +1 -1
  418. package/typings/esm5/icon/index.metadata.json +1 -1
  419. package/typings/esm5/index.metadata.json +1 -1
  420. package/typings/esm5/list/index.metadata.json +1 -1
  421. package/typings/esm5/menu/index.d.ts +4 -4
  422. package/typings/esm5/menu/index.metadata.json +1 -1
  423. package/typings/esm5/menu/menu-directive.d.ts +1 -0
  424. package/typings/esm5/menu/menu-item.d.ts +2 -0
  425. package/typings/esm5/paginator/index.metadata.json +1 -1
  426. package/typings/esm5/paginator/paginator.d.ts +7 -3
  427. package/typings/esm5/progress-bar/index.metadata.json +1 -1
  428. package/typings/esm5/radio/index.metadata.json +1 -1
  429. package/typings/esm5/radio/radio.d.ts +2 -6
  430. package/typings/esm5/select/index.metadata.json +1 -1
  431. package/typings/esm5/select/select.d.ts +12 -2
  432. package/typings/esm5/sidenav/drawer.d.ts +9 -2
  433. package/typings/esm5/sidenav/index.metadata.json +1 -1
  434. package/typings/esm5/slide-toggle/index.metadata.json +1 -1
  435. package/typings/esm5/slider/index.metadata.json +1 -1
  436. package/typings/esm5/snack-bar/index.metadata.json +1 -1
  437. package/typings/esm5/sort/index.metadata.json +1 -1
  438. package/typings/esm5/stepper/index.metadata.json +1 -1
  439. package/typings/esm5/stepper/step-header.d.ts +3 -5
  440. package/typings/esm5/tabs/index.d.ts +5 -5
  441. package/typings/esm5/tabs/index.metadata.json +1 -1
  442. package/typings/esm5/tabs/tab-body.d.ts +2 -0
  443. package/typings/esm5/tabs/tab-group.d.ts +11 -2
  444. package/typings/esm5/tabs/tab-header.d.ts +9 -3
  445. package/typings/esm5/toolbar/index.metadata.json +1 -1
  446. package/typings/esm5/tooltip/index.metadata.json +1 -1
  447. package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
  448. package/typings/esm5/tree/index.metadata.json +1 -1
  449. package/typings/expansion/expansion-panel-header.d.ts +2 -2
  450. package/typings/expansion/expansion-panel.d.ts +19 -2
  451. package/typings/expansion/index.metadata.json +1 -1
  452. package/typings/form-field/form-field.d.ts +15 -4
  453. package/typings/form-field/index.metadata.json +1 -1
  454. package/typings/grid-list/index.d.ts +1 -1
  455. package/typings/grid-list/index.metadata.json +1 -1
  456. package/typings/icon/index.metadata.json +1 -1
  457. package/typings/index.metadata.json +1 -1
  458. package/typings/list/index.metadata.json +1 -1
  459. package/typings/menu/index.d.ts +4 -4
  460. package/typings/menu/index.metadata.json +1 -1
  461. package/typings/menu/menu-directive.d.ts +1 -0
  462. package/typings/menu/menu-item.d.ts +2 -0
  463. package/typings/paginator/index.metadata.json +1 -1
  464. package/typings/paginator/paginator.d.ts +7 -3
  465. package/typings/progress-bar/index.metadata.json +1 -1
  466. package/typings/radio/index.metadata.json +1 -1
  467. package/typings/radio/radio.d.ts +2 -6
  468. package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
  469. package/typings/select/index.metadata.json +1 -1
  470. package/typings/select/select.d.ts +12 -2
  471. package/typings/sidenav/drawer.d.ts +9 -2
  472. package/typings/sidenav/index.metadata.json +1 -1
  473. package/typings/slide-toggle/index.metadata.json +1 -1
  474. package/typings/slider/index.metadata.json +1 -1
  475. package/typings/snack-bar/index.metadata.json +1 -1
  476. package/typings/sort/index.metadata.json +1 -1
  477. package/typings/stepper/index.metadata.json +1 -1
  478. package/typings/stepper/step-header.d.ts +3 -5
  479. package/typings/tabs/index.d.ts +5 -5
  480. package/typings/tabs/index.metadata.json +1 -1
  481. package/typings/tabs/tab-body.d.ts +2 -0
  482. package/typings/tabs/tab-group.d.ts +11 -2
  483. package/typings/tabs/tab-header.d.ts +9 -3
  484. package/typings/toolbar/index.metadata.json +1 -1
  485. package/typings/tooltip/index.metadata.json +1 -1
  486. package/typings/tree/data-source/flat-data-source.d.ts +2 -2
  487. package/typings/tree/index.metadata.json +1 -1
  488. package/schematics/ng-add/theming/custom-theme.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"material-form-field.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/form-field/form-field-errors.ts","../../src/lib/form-field/error.ts","../../src/lib/form-field/form-field-animations.ts","../../src/lib/form-field/form-field-control.ts","../../src/lib/form-field/hint.ts","../../src/lib/form-field/label.ts","../../src/lib/form-field/placeholder.ts","../../src/lib/form-field/prefix.ts","../../src/lib/form-field/suffix.ts","../../src/lib/form-field/form-field.ts","../../src/lib/form-field/form-field-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\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 {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","/**\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/**\n * Animations used by the MatFormField.\n * @docs-private\n */\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 {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 */\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\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} 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/** 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/** 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 {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, CanColorCtor,\n FloatLabelType,\n LabelOptions,\n MAT_LABEL_GLOBAL_OPTIONS,\n mixinColor,\n} from '@angular/material/core';\nimport {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 {NgControl} from '@angular/forms';\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: CanColorCtor & typeof MatFormFieldBase =\n 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 // in form-field-input.css. The MatInput styles are fairly minimal so it shouldn't be a\n // big deal for people who aren't using MatInput.\n styleUrls: [\n 'form-field.css',\n 'form-field-fill.css',\n 'form-field-input.css',\n 'form-field-legacy.css',\n 'form-field-outline.css',\n 'form-field-standard.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 this._updateOutlineGapOnStable();\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 8.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 8.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\n const control = this._control;\n\n if (control.controlType) {\n this._elementRef.nativeElement.classList.add(`mat-form-field-type-${control.controlType}`);\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n control.stateChanges.pipe(startWith<void>(null!)).subscribe(() => {\n this._validatePlaceholders();\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n\n // Run change detection if the value changes.\n if (control.ngControl && control.ngControl.valueChanges) {\n control.ngControl.valueChanges.subscribe(() => this._changeDetectorRef.markForCheck());\n }\n\n // Run change detection and update the outline if the suffix or prefix changes.\n merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(() => {\n this._updateOutlineGapOnStable();\n this._changeDetectorRef.markForCheck();\n });\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: keyof NgControl): 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 /** Updates the outline gap the new time the zone stabilizes. */\n private _updateOutlineGapOnStable() {\n // @breaking-change 8.0.0 Remove this check and else block once _ngZone is required.\n if (this._ngZone) {\n this._ngZone.onStable.pipe(take(1)).subscribe(() => this.updateOutlineGap());\n } else {\n Promise.resolve().then(() => this.updateOutlineGap());\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 {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"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","getMatFormFieldPlaceholderConflictError","Error","getMatFormFieldDuplicatedHintError","align","getMatFormFieldMissingControlError","setPrototypeOf","__proto__","Array","p","hasOwnProperty","nextUniqueId","id","type","Directive","args","selector","host","class","role","[attr.id]","Input","MatError","matFormFieldAnimations","transitionMessages","trigger","state","style","opacity","transform","transition","animate","MatFormFieldControl","[class.mat-right]","[attr.align]","MatHint","MatLabel","MatPlaceholder","MatPrefix","MatSuffix","MatFormFieldBase","_elementRef","_MatFormFieldMixinBase","mixinColor","MAT_FORM_FIELD_DEFAULT_OPTIONS","InjectionToken","MatFormField","_changeDetectorRef","labelOptions","_dir","_defaults","_platform","_ngZone","_animationMode","_this","_super","call","_outlineGapCalculationNeeded","_showAlwaysAnimate","_subscriptAnimationState","_hintLabel","_hintLabelId","_labelId","_labelOptions","floatLabel","float","_animationsEnabled","appearance","tslib_1.__extends","defineProperty","_appearance","value","oldValue","_updateOutlineGapOnStable","_hideRequiredMarker","coerceBooleanProperty","_processHints","_floatLabel","markForCheck","getConnectedOverlayOrigin","_connectionContainerRef","ngAfterContentInit","_validateControlChild","control","_control","controlType","nativeElement","classList","add","stateChanges","pipe","startWith","subscribe","_validatePlaceholders","_syncDescribedByIds","ngControl","valueChanges","merge","_prefixChildren","changes","_suffixChildren","_hintChildren","_errorChildren","ngAfterContentChecked","updateOutlineGap","ngAfterViewInit","detectChanges","_shouldForward","prop","_hasPlaceholder","placeholder","_placeholderChild","_hasLabel","_labelChild","_shouldLabelFloat","_canLabelFloat","shouldLabelFloat","_shouldAlwaysFloat","_hideControlPlaceholder","_hasFloatingLabel","_getDisplayedMessages","length","errorState","_animateAndLockLabel","fromEvent","_label","take","_validateHints","startHint_1","endHint_1","forEach","hint","hintLabel","ids","startHint","find","endHint","push","map","error","setDescribedByIds","labelEl","children","textContent","trim","isBrowser","document","contains","startWidth","gapWidth","startEls","querySelectorAll","gapEls","containerStart","_getStartEnd","getBoundingClientRect","labelStart","labelWidth","_i","_a","offsetWidth","outlineGapPadding","i","item","width","rect","right","left","onStable","Promise","resolve","then","Component","exportAs","template","[class.mat-form-field-appearance-standard]","[class.mat-form-field-appearance-fill]","[class.mat-form-field-appearance-outline]","[class.mat-form-field-appearance-legacy]","[class.mat-form-field-invalid]","[class.mat-form-field-can-float]","[class.mat-form-field-should-float]","[class.mat-form-field-hide-placeholder]","[class.mat-form-field-disabled]","[class.mat-form-field-autofilled]","[class.mat-focused]","[class.mat-accent]","[class.mat-warn]","[class.ng-untouched]","[class.ng-touched]","[class.ng-pristine]","[class.ng-dirty]","[class.ng-valid]","[class.ng-invalid]","[class.ng-pending]","[class._mat-animation-noopable]","inputs","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","ctorParameters","ElementRef","ChangeDetectorRef","undefined","decorators","Optional","Inject","MAT_LABEL_GLOBAL_OPTIONS","Directionality","Platform","propDecorators","hideRequiredMarker","underlineRef","ViewChild","_inputContainerRef","ContentChild","ContentChildren","NgModule","declarations","imports","CommonModule","ObserversModule","exports","MatFormFieldModule"],"mappings":"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"}
1
+ {"version":3,"file":"material-form-field.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/lib/form-field/form-field-errors.ts","../../src/lib/form-field/error.ts","../../src/lib/form-field/form-field-animations.ts","../../src/lib/form-field/form-field-control.ts","../../src/lib/form-field/hint.ts","../../src/lib/form-field/label.ts","../../src/lib/form-field/placeholder.ts","../../src/lib/form-field/prefix.ts","../../src/lib/form-field/suffix.ts","../../src/lib/form-field/form-field.ts","../../src/lib/form-field/form-field-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\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 {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","/**\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/**\n * Animations used by the MatFormField.\n * @docs-private\n */\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 {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 */\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\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} 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/** 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/** 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 {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 OnDestroy,\n} from '@angular/core';\nimport {\n CanColor, CanColorCtor,\n FloatLabelType,\n LabelOptions,\n MAT_LABEL_GLOBAL_OPTIONS,\n mixinColor,\n} from '@angular/material/core';\nimport {fromEvent, merge, Subject} from 'rxjs';\nimport {startWith, take, takeUntil} 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 {NgControl} from '@angular/forms';\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: CanColorCtor & typeof MatFormFieldBase =\n 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 // in form-field-input.css. The MatInput styles are fairly minimal so it shouldn't be a\n // big deal for people who aren't using MatInput.\n styleUrls: [\n 'form-field.css',\n 'form-field-fill.css',\n 'form-field-input.css',\n 'form-field-legacy.css',\n 'form-field-outline.css',\n 'form-field-standard.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-has-label]': '_hasFloatingLabel()',\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, OnDestroy, CanColor {\n private _labelOptions: LabelOptions;\n\n /**\n * Whether the outline gap needs to be calculated\n * immediately on the next change detection run.\n */\n private _outlineGapCalculationNeededImmediately = false;\n\n /** Whether the outline gap needs to be calculated next time the zone has stabilized. */\n private _outlineGapCalculationNeededOnStable = false;\n\n private _destroyed = new Subject<void>();\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 this._updateOutlineGapOnStable();\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 8.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 8.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\n const control = this._control;\n\n if (control.controlType) {\n this._elementRef.nativeElement.classList.add(`mat-form-field-type-${control.controlType}`);\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n control.stateChanges.pipe(startWith<void>(null!)).subscribe(() => {\n this._validatePlaceholders();\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n\n // Run change detection if the value changes.\n if (control.ngControl && control.ngControl.valueChanges) {\n control.ngControl.valueChanges\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => this._changeDetectorRef.markForCheck());\n }\n\n // @breaking-change 7.0.0 Remove this check once _ngZone is required. Also reconsider\n // whether the `ngAfterContentChecked` below is still necessary.\n if (this._ngZone) {\n this._ngZone.onStable.asObservable().pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (this._outlineGapCalculationNeededOnStable) {\n this.updateOutlineGap();\n }\n });\n }\n\n // Run change detection and update the outline if the suffix or prefix changes.\n merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(() => {\n this._updateOutlineGapOnStable();\n this._changeDetectorRef.markForCheck();\n });\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 if (this._dir) {\n this._dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => this.updateOutlineGap());\n }\n }\n\n ngAfterContentChecked() {\n this._validateControlChild();\n if (this._outlineGapCalculationNeededImmediately) {\n this.updateOutlineGap();\n }\n }\n\n ngAfterViewInit() {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n _shouldForward(prop: keyof NgControl): 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._outlineGapCalculationNeededImmediately = true;\n return;\n }\n\n let startWidth = 0;\n let gapWidth = 0;\n\n const container = this._connectionContainerRef.nativeElement;\n const startEls = container.querySelectorAll('.mat-form-field-outline-start');\n const gapEls = container.querySelectorAll('.mat-form-field-outline-gap');\n\n if (this._label && this._label.nativeElement.children.length) {\n const containerRect = container.getBoundingClientRect();\n\n // If the container's width and height are zero, it means that the element is\n // invisible and we can't calculate the outline gap. Mark the element as needing\n // to be checked the next time the zone stabilizes. We can't do this immediately\n // on the next change detection, because even if the element becomes visible,\n // the `ClientRect` won't be reclaculated immediately. We reset the\n // `_outlineGapCalculationNeededImmediately` flag some we don't run the checks twice.\n if (containerRect.width === 0 && containerRect.height === 0) {\n this._outlineGapCalculationNeededOnStable = true;\n this._outlineGapCalculationNeededImmediately = false;\n return;\n }\n\n const containerStart = this._getStartEnd(containerRect);\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._outlineGapCalculationNeededOnStable =\n this._outlineGapCalculationNeededImmediately = 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 * Updates the outline gap the new time the zone stabilizes.\n * @breaking-change 7.0.0 Remove this method and only set the property once `_ngZone` is required.\n */\n private _updateOutlineGapOnStable() {\n // @breaking-change 8.0.0 Remove this check and else block once _ngZone is required.\n if (this._ngZone) {\n this._outlineGapCalculationNeededOnStable = true;\n } else {\n Promise.resolve().then(() => this.updateOutlineGap());\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 {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"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","getMatFormFieldPlaceholderConflictError","Error","getMatFormFieldDuplicatedHintError","align","getMatFormFieldMissingControlError","setPrototypeOf","__proto__","Array","p","hasOwnProperty","nextUniqueId","MatError","id","type","Directive","args","selector","host","class","role","[attr.id]","Input","matFormFieldAnimations","transitionMessages","trigger","state","style","opacity","transform","transition","animate","MatFormFieldControl","MatHint","[class.mat-right]","[attr.align]","MatLabel","MatPlaceholder","MatPrefix","MatSuffix","MatFormFieldBase","_elementRef","_MatFormFieldMixinBase","mixinColor","MAT_FORM_FIELD_DEFAULT_OPTIONS","InjectionToken","MatFormField","_super","_changeDetectorRef","labelOptions","_dir","_defaults","_platform","_ngZone","_animationMode","_this","call","_outlineGapCalculationNeededImmediately","_outlineGapCalculationNeededOnStable","_destroyed","Subject","_showAlwaysAnimate","_subscriptAnimationState","_hintLabel","_hintLabelId","_labelId","_labelOptions","floatLabel","float","_animationsEnabled","appearance","tslib_1.__extends","defineProperty","_appearance","value","oldValue","_updateOutlineGapOnStable","_hideRequiredMarker","coerceBooleanProperty","_processHints","_floatLabel","markForCheck","getConnectedOverlayOrigin","_connectionContainerRef","ngAfterContentInit","_validateControlChild","control","_control","controlType","nativeElement","classList","add","stateChanges","pipe","startWith","subscribe","_validatePlaceholders","_syncDescribedByIds","ngControl","valueChanges","takeUntil","onStable","asObservable","updateOutlineGap","merge","_prefixChildren","changes","_suffixChildren","_hintChildren","_errorChildren","change","ngAfterContentChecked","ngAfterViewInit","detectChanges","ngOnDestroy","next","complete","_shouldForward","prop","_hasPlaceholder","placeholder","_placeholderChild","_hasLabel","_labelChild","_shouldLabelFloat","_canLabelFloat","shouldLabelFloat","_shouldAlwaysFloat","_hideControlPlaceholder","_hasFloatingLabel","_getDisplayedMessages","length","errorState","_animateAndLockLabel","fromEvent","_label","take","_validateHints","startHint_1","endHint_1","forEach","hint","hintLabel","ids","startHint","find","endHint","push","map","error","setDescribedByIds","labelEl","children","textContent","trim","isBrowser","document","contains","startWidth","gapWidth","container","startEls","querySelectorAll","gapEls","containerRect","getBoundingClientRect","width","height","containerStart","_getStartEnd","labelStart","labelWidth","_i","_a","offsetWidth","outlineGapPadding","i","item","rect","right","left","Promise","resolve","then","Component","exportAs","template","[class.mat-form-field-appearance-standard]","[class.mat-form-field-appearance-fill]","[class.mat-form-field-appearance-outline]","[class.mat-form-field-appearance-legacy]","[class.mat-form-field-invalid]","[class.mat-form-field-can-float]","[class.mat-form-field-should-float]","[class.mat-form-field-has-label]","[class.mat-form-field-hide-placeholder]","[class.mat-form-field-disabled]","[class.mat-form-field-autofilled]","[class.mat-focused]","[class.mat-accent]","[class.mat-warn]","[class.ng-untouched]","[class.ng-touched]","[class.ng-pristine]","[class.ng-dirty]","[class.ng-valid]","[class.ng-invalid]","[class.ng-pending]","[class._mat-animation-noopable]","inputs","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","ctorParameters","ElementRef","ChangeDetectorRef","undefined","decorators","Optional","Inject","MAT_LABEL_GLOBAL_OPTIONS","Directionality","Platform","propDecorators","hideRequiredMarker","underlineRef","ViewChild","_inputContainerRef","ContentChild","ContentChildren","MatFormFieldModule","NgModule","declarations","imports","CommonModule","ObserversModule","exports"],"mappings":"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"}
@@ -42,17 +42,18 @@ function __extends(d, b) {
42
42
 
43
43
  /**
44
44
  * @fileoverview added by tsickle
45
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
45
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
46
46
  */
47
- /** *
47
+ /**
48
48
  * Injection token used to provide a grid list to a tile and to avoid circular imports.
49
49
  * \@docs-private
50
- @type {?} */
50
+ * @type {?}
51
+ */
51
52
  var MAT_GRID_LIST = new core.InjectionToken('MAT_GRID_LIST');
52
53
 
53
54
  /**
54
55
  * @fileoverview added by tsickle
55
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
56
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
56
57
  */
57
58
  var MatGridTile = /** @class */ (function () {
58
59
  function MatGridTile(_element, _gridList) {
@@ -110,7 +111,7 @@ var MatGridTile = /** @class */ (function () {
110
111
  * @return {?}
111
112
  */
112
113
  function (property, value) {
113
- (/** @type {?} */ (this._element.nativeElement.style))[property] = value;
114
+ ((/** @type {?} */ (this._element.nativeElement.style)))[property] = value;
114
115
  };
115
116
  MatGridTile.decorators = [
116
117
  { type: core.Component, args: [{selector: 'mat-grid-tile',
@@ -212,7 +213,7 @@ var MatGridTileFooterCssMatStyler = /** @class */ (function () {
212
213
 
213
214
  /**
214
215
  * @fileoverview added by tsickle
215
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
216
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
216
217
  */
217
218
 
218
219
  /**
@@ -314,17 +315,21 @@ TileCoordinator = /** @class */ (function () {
314
315
  this.tracker.fill(0, 0, this.tracker.length);
315
316
  this.positions = tiles.map(function (tile) { return _this._trackTile(tile); });
316
317
  };
318
+ /** Calculates the row and col position of a tile. */
317
319
  /**
318
320
  * Calculates the row and col position of a tile.
321
+ * @private
319
322
  * @param {?} tile
320
323
  * @return {?}
321
324
  */
322
325
  TileCoordinator.prototype._trackTile = /**
323
326
  * Calculates the row and col position of a tile.
327
+ * @private
324
328
  * @param {?} tile
325
329
  * @return {?}
326
330
  */
327
331
  function (tile) {
332
+ // Find a gap large enough for this tile.
328
333
  /** @type {?} */
329
334
  var gapStartIndex = this._findMatchingGap(tile.colspan);
330
335
  // Place tile in the resulting gap.
@@ -334,13 +339,16 @@ TileCoordinator = /** @class */ (function () {
334
339
  this.columnIndex = gapStartIndex + tile.colspan;
335
340
  return new TilePosition(this.rowIndex, gapStartIndex);
336
341
  };
342
+ /** Finds the next available space large enough to fit the tile. */
337
343
  /**
338
344
  * Finds the next available space large enough to fit the tile.
345
+ * @private
339
346
  * @param {?} tileCols
340
347
  * @return {?}
341
348
  */
342
349
  TileCoordinator.prototype._findMatchingGap = /**
343
350
  * Finds the next available space large enough to fit the tile.
351
+ * @private
344
352
  * @param {?} tileCols
345
353
  * @return {?}
346
354
  */
@@ -349,6 +357,7 @@ TileCoordinator = /** @class */ (function () {
349
357
  throw Error("mat-grid-list: tile with colspan " + tileCols + " is wider than " +
350
358
  ("grid with cols=\"" + this.tracker.length + "\"."));
351
359
  }
360
+ // Start index is inclusive, end index is exclusive.
352
361
  /** @type {?} */
353
362
  var gapStartIndex = -1;
354
363
  /** @type {?} */
@@ -381,12 +390,15 @@ TileCoordinator = /** @class */ (function () {
381
390
  // at least zero so the tile doesn't get pulled out of the grid.
382
391
  return Math.max(gapStartIndex, 0);
383
392
  };
393
+ /** Move "down" to the next row. */
384
394
  /**
385
395
  * Move "down" to the next row.
396
+ * @private
386
397
  * @return {?}
387
398
  */
388
399
  TileCoordinator.prototype._nextRow = /**
389
400
  * Move "down" to the next row.
401
+ * @private
390
402
  * @return {?}
391
403
  */
392
404
  function () {
@@ -400,12 +412,18 @@ TileCoordinator = /** @class */ (function () {
400
412
  /**
401
413
  * Finds the end index (exclusive) of a gap given the index from which to start looking.
402
414
  * The gap ends when a non-zero value is found.
415
+ */
416
+ /**
417
+ * Finds the end index (exclusive) of a gap given the index from which to start looking.
418
+ * The gap ends when a non-zero value is found.
419
+ * @private
403
420
  * @param {?} gapStartIndex
404
421
  * @return {?}
405
422
  */
406
423
  TileCoordinator.prototype._findGapEndIndex = /**
407
424
  * Finds the end index (exclusive) of a gap given the index from which to start looking.
408
425
  * The gap ends when a non-zero value is found.
426
+ * @private
409
427
  * @param {?} gapStartIndex
410
428
  * @return {?}
411
429
  */
@@ -418,14 +436,17 @@ TileCoordinator = /** @class */ (function () {
418
436
  // The gap ends with the end of the row.
419
437
  return this.tracker.length;
420
438
  };
439
+ /** Update the tile tracker to account for the given tile in the given space. */
421
440
  /**
422
441
  * Update the tile tracker to account for the given tile in the given space.
442
+ * @private
423
443
  * @param {?} start
424
444
  * @param {?} tile
425
445
  * @return {?}
426
446
  */
427
447
  TileCoordinator.prototype._markTilePosition = /**
428
448
  * Update the tile tracker to account for the given tile in the given space.
449
+ * @private
429
450
  * @param {?} start
430
451
  * @param {?} tile
431
452
  * @return {?}
@@ -455,12 +476,14 @@ TilePosition = /** @class */ (function () {
455
476
 
456
477
  /**
457
478
  * @fileoverview added by tsickle
458
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
479
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
459
480
  */
460
- /** *
481
+
482
+ /**
461
483
  * RegExp that can be used to check whether a value will
462
484
  * be allowed inside a CSS `calc()` expression.
463
- @type {?} */
485
+ * @type {?}
486
+ */
464
487
  var cssCalcAllowedValue = /^-?\d+((\.\d+)?[A-Za-z%$]?)+$/;
465
488
  /**
466
489
  * Sets the style properties for an individual tile, given the position calculated by the
@@ -609,8 +632,11 @@ TileStyler = /** @class */ (function () {
609
632
  * @return {?}
610
633
  */
611
634
  function (tile, rowIndex, colIndex) {
635
+ // Percent of the available horizontal space that one column takes up.
612
636
  /** @type {?} */
613
637
  var percentWidthPerTile = 100 / this._cols;
638
+ // Fraction of the vertical gutter size that each column takes up.
639
+ // For example, if there are 5 columns, each column uses 4/5 = 0.8 times the gutter width.
614
640
  /** @type {?} */
615
641
  var gutterWidthFractionPerTile = (this._cols - 1) / this._cols;
616
642
  this.setColStyles(tile, colIndex, percentWidthPerTile, gutterWidthFractionPerTile);
@@ -634,8 +660,11 @@ TileStyler = /** @class */ (function () {
634
660
  * @return {?}
635
661
  */
636
662
  function (tile, colIndex, percentWidth, gutterWidth) {
663
+ // Base horizontal size of a column.
637
664
  /** @type {?} */
638
665
  var baseTileWidth = this.getBaseTileSize(percentWidth, gutterWidth);
666
+ // The width and horizontal position of each tile is always calculated the same way, but the
667
+ // height and vertical position depends on the rowMode.
639
668
  /** @type {?} */
640
669
  var side = this._direction === 'rtl' ? 'right' : 'left';
641
670
  tile._setStyle(side, this.getTilePosition(baseTileWidth, colIndex));
@@ -842,10 +871,12 @@ RatioTileStyler = /** @class */ (function (_super) {
842
871
  });
843
872
  };
844
873
  /**
874
+ * @private
845
875
  * @param {?} value
846
876
  * @return {?}
847
877
  */
848
878
  RatioTileStyler.prototype._parseRatio = /**
879
+ * @private
849
880
  * @param {?} value
850
881
  * @return {?}
851
882
  */
@@ -889,10 +920,13 @@ FitTileStyler = /** @class */ (function (_super) {
889
920
  * @return {?}
890
921
  */
891
922
  function (tile, rowIndex) {
923
+ // Percent of the available vertical space that one row takes up.
892
924
  /** @type {?} */
893
925
  var percentHeightPerTile = 100 / this._rowspan;
926
+ // Fraction of the horizontal gutter size that each column takes up.
894
927
  /** @type {?} */
895
928
  var gutterHeightPerTile = (this._rows - 1) / this._rows;
929
+ // Base vertical size of a column.
896
930
  /** @type {?} */
897
931
  var baseTileHeight = this.getBaseTileSize(percentHeightPerTile, gutterHeightPerTile);
898
932
  tile._setStyle('top', this.getTilePosition(baseTileHeight, rowIndex));
@@ -921,20 +955,25 @@ FitTileStyler = /** @class */ (function (_super) {
921
955
  * @param {?} exp
922
956
  * @return {?}
923
957
  */
924
- function calc(exp) { return "calc(" + exp + ")"; }
958
+ function calc(exp) {
959
+ return "calc(" + exp + ")";
960
+ }
925
961
  /**
926
962
  * Appends pixels to a CSS string if no units are given.
927
963
  * @param {?} value
928
964
  * @return {?}
929
965
  */
930
966
  function normalizeUnits(value) {
931
- return (value.match(/px|em|rem/)) ? value : value + 'px';
967
+ return value.match(/([A-Za-z%]+)$/) ? value : value + "px";
932
968
  }
933
969
 
934
970
  /**
935
971
  * @fileoverview added by tsickle
936
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
972
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
937
973
  */
974
+ // TODO(kara): Conditional (responsive) column count / row size.
975
+ // TODO(kara): Re-layout on window resize / media change (debounced).
976
+ // TODO(kara): gridTileHeader and gridTileFooter.
938
977
  /** @type {?} */
939
978
  var MAT_FIT_MODE = 'fit';
940
979
  var MatGridList = /** @class */ (function () {
@@ -1027,12 +1066,15 @@ var MatGridList = /** @class */ (function () {
1027
1066
  function () {
1028
1067
  this._layoutTiles();
1029
1068
  };
1069
+ /** Throw a friendly error if cols property is missing */
1030
1070
  /**
1031
1071
  * Throw a friendly error if cols property is missing
1072
+ * @private
1032
1073
  * @return {?}
1033
1074
  */
1034
1075
  MatGridList.prototype._checkCols = /**
1035
1076
  * Throw a friendly error if cols property is missing
1077
+ * @private
1036
1078
  * @return {?}
1037
1079
  */
1038
1080
  function () {
@@ -1041,12 +1083,15 @@ var MatGridList = /** @class */ (function () {
1041
1083
  "Example: <mat-grid-list cols=\"3\">");
1042
1084
  }
1043
1085
  };
1086
+ /** Default to equal width:height if rowHeight property is missing */
1044
1087
  /**
1045
1088
  * Default to equal width:height if rowHeight property is missing
1089
+ * @private
1046
1090
  * @return {?}
1047
1091
  */
1048
1092
  MatGridList.prototype._checkRowHeight = /**
1049
1093
  * Default to equal width:height if rowHeight property is missing
1094
+ * @private
1050
1095
  * @return {?}
1051
1096
  */
1052
1097
  function () {
@@ -1054,13 +1099,16 @@ var MatGridList = /** @class */ (function () {
1054
1099
  this._setTileStyler('1:1');
1055
1100
  }
1056
1101
  };
1102
+ /** Creates correct Tile Styler subtype based on rowHeight passed in by user */
1057
1103
  /**
1058
1104
  * Creates correct Tile Styler subtype based on rowHeight passed in by user
1105
+ * @private
1059
1106
  * @param {?} rowHeight
1060
1107
  * @return {?}
1061
1108
  */
1062
1109
  MatGridList.prototype._setTileStyler = /**
1063
1110
  * Creates correct Tile Styler subtype based on rowHeight passed in by user
1111
+ * @private
1064
1112
  * @param {?} rowHeight
1065
1113
  * @return {?}
1066
1114
  */
@@ -1078,12 +1126,15 @@ var MatGridList = /** @class */ (function () {
1078
1126
  this._tileStyler = new FixedTileStyler(rowHeight);
1079
1127
  }
1080
1128
  };
1129
+ /** Computes and applies the size and position for all children grid tiles. */
1081
1130
  /**
1082
1131
  * Computes and applies the size and position for all children grid tiles.
1132
+ * @private
1083
1133
  * @return {?}
1084
1134
  */
1085
1135
  MatGridList.prototype._layoutTiles = /**
1086
1136
  * Computes and applies the size and position for all children grid tiles.
1137
+ * @private
1087
1138
  * @return {?}
1088
1139
  */
1089
1140
  function () {
@@ -1119,7 +1170,7 @@ var MatGridList = /** @class */ (function () {
1119
1170
  */
1120
1171
  function (style) {
1121
1172
  if (style) {
1122
- (/** @type {?} */ (this._element.nativeElement.style))[style[0]] = style[1];
1173
+ ((/** @type {?} */ (this._element.nativeElement.style)))[style[0]] = style[1];
1123
1174
  }
1124
1175
  };
1125
1176
  MatGridList.decorators = [
@@ -1154,7 +1205,7 @@ var MatGridList = /** @class */ (function () {
1154
1205
 
1155
1206
  /**
1156
1207
  * @fileoverview added by tsickle
1157
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
1208
+ * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1158
1209
  */
1159
1210
  var MatGridListModule = /** @class */ (function () {
1160
1211
  function MatGridListModule() {
@@ -1192,7 +1243,7 @@ exports.MatGridTileText = MatGridTileText;
1192
1243
  exports.MatGridAvatarCssMatStyler = MatGridAvatarCssMatStyler;
1193
1244
  exports.MatGridTileHeaderCssMatStyler = MatGridTileHeaderCssMatStyler;
1194
1245
  exports.MatGridTileFooterCssMatStyler = MatGridTileFooterCssMatStyler;
1195
- exports.ɵa6 = MAT_GRID_LIST;
1246
+ exports.ɵa15 = MAT_GRID_LIST;
1196
1247
 
1197
1248
  Object.defineProperty(exports, '__esModule', { value: true });
1198
1249