@angular/material 10.1.2 → 10.1.3

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 (292) hide show
  1. package/_theming.scss +5 -0
  2. package/bundles/material-autocomplete-testing.umd.js +316 -248
  3. package/bundles/material-autocomplete-testing.umd.js.map +1 -1
  4. package/bundles/material-autocomplete-testing.umd.min.js +2 -9
  5. package/bundles/material-autocomplete-testing.umd.min.js.map +1 -1
  6. package/bundles/material-autocomplete.umd.js +421 -355
  7. package/bundles/material-autocomplete.umd.js.map +1 -1
  8. package/bundles/material-autocomplete.umd.min.js +2 -24
  9. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  10. package/bundles/material-badge-testing.umd.js +301 -235
  11. package/bundles/material-badge-testing.umd.js.map +1 -1
  12. package/bundles/material-badge-testing.umd.min.js +2 -9
  13. package/bundles/material-badge-testing.umd.min.js.map +1 -1
  14. package/bundles/material-badge.umd.js +344 -278
  15. package/bundles/material-badge.umd.js.map +1 -1
  16. package/bundles/material-badge.umd.min.js +3 -3
  17. package/bundles/material-badge.umd.min.js.map +1 -1
  18. package/bundles/material-bottom-sheet-testing.umd.js +302 -236
  19. package/bundles/material-bottom-sheet-testing.umd.js.map +1 -1
  20. package/bundles/material-bottom-sheet-testing.umd.min.js +2 -9
  21. package/bundles/material-bottom-sheet-testing.umd.min.js.map +1 -1
  22. package/bundles/material-bottom-sheet.umd.js +361 -288
  23. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  24. package/bundles/material-bottom-sheet.umd.min.js +17 -2
  25. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  26. package/bundles/material-button-testing.umd.js +310 -244
  27. package/bundles/material-button-testing.umd.js.map +1 -1
  28. package/bundles/material-button-testing.umd.min.js +2 -9
  29. package/bundles/material-button-testing.umd.min.js.map +1 -1
  30. package/bundles/material-button-toggle-testing.umd.js +304 -245
  31. package/bundles/material-button-toggle-testing.umd.js.map +1 -1
  32. package/bundles/material-button-toggle-testing.umd.min.js +3 -17
  33. package/bundles/material-button-toggle-testing.umd.min.js.map +1 -1
  34. package/bundles/material-button-toggle.umd.js +387 -321
  35. package/bundles/material-button-toggle.umd.js.map +1 -1
  36. package/bundles/material-button-toggle.umd.min.js +2 -10
  37. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  38. package/bundles/material-button.umd.js +375 -309
  39. package/bundles/material-button.umd.js.map +1 -1
  40. package/bundles/material-button.umd.min.js +2 -10
  41. package/bundles/material-button.umd.min.js.map +1 -1
  42. package/bundles/material-card-testing.umd.js +306 -242
  43. package/bundles/material-card-testing.umd.js.map +1 -1
  44. package/bundles/material-card-testing.umd.min.js +2 -9
  45. package/bundles/material-card-testing.umd.min.js.map +1 -1
  46. package/bundles/material-card.umd.js +139 -139
  47. package/bundles/material-card.umd.js.map +1 -1
  48. package/bundles/material-card.umd.min.js +2 -2
  49. package/bundles/material-card.umd.min.js.map +1 -1
  50. package/bundles/material-checkbox-testing.umd.js +302 -236
  51. package/bundles/material-checkbox-testing.umd.js.map +1 -1
  52. package/bundles/material-checkbox-testing.umd.min.js +2 -9
  53. package/bundles/material-checkbox-testing.umd.min.js.map +1 -1
  54. package/bundles/material-checkbox.umd.js +370 -311
  55. package/bundles/material-checkbox.umd.js.map +1 -1
  56. package/bundles/material-checkbox.umd.min.js +2 -9
  57. package/bundles/material-checkbox.umd.min.js.map +1 -1
  58. package/bundles/material-chips.umd.js +598 -539
  59. package/bundles/material-chips.umd.js.map +1 -1
  60. package/bundles/material-chips.umd.min.js +18 -3
  61. package/bundles/material-chips.umd.min.js.map +1 -1
  62. package/bundles/material-core-testing.umd.js +304 -245
  63. package/bundles/material-core-testing.umd.js.map +1 -1
  64. package/bundles/material-core-testing.umd.min.js +3 -17
  65. package/bundles/material-core-testing.umd.min.js.map +1 -1
  66. package/bundles/material-core.umd.js +509 -492
  67. package/bundles/material-core.umd.js.map +1 -1
  68. package/bundles/material-core.umd.min.js +37 -12
  69. package/bundles/material-core.umd.min.js.map +1 -1
  70. package/bundles/material-datepicker.umd.js +868 -837
  71. package/bundles/material-datepicker.umd.js.map +1 -1
  72. package/bundles/material-datepicker.umd.min.js +42 -8
  73. package/bundles/material-datepicker.umd.min.js.map +1 -1
  74. package/bundles/material-dialog-testing.umd.js +303 -237
  75. package/bundles/material-dialog-testing.umd.js.map +1 -1
  76. package/bundles/material-dialog-testing.umd.min.js +2 -9
  77. package/bundles/material-dialog-testing.umd.min.js.map +1 -1
  78. package/bundles/material-dialog.umd.js +431 -365
  79. package/bundles/material-dialog.umd.js.map +1 -1
  80. package/bundles/material-dialog.umd.min.js +15 -14
  81. package/bundles/material-dialog.umd.min.js.map +1 -1
  82. package/bundles/material-divider-testing.umd.js +300 -234
  83. package/bundles/material-divider-testing.umd.js.map +1 -1
  84. package/bundles/material-divider-testing.umd.min.js +2 -9
  85. package/bundles/material-divider-testing.umd.min.js.map +1 -1
  86. package/bundles/material-divider.umd.js +28 -28
  87. package/bundles/material-divider.umd.js.map +1 -1
  88. package/bundles/material-divider.umd.min.js +2 -9
  89. package/bundles/material-divider.umd.min.js.map +1 -1
  90. package/bundles/material-expansion-testing.umd.js +303 -246
  91. package/bundles/material-expansion-testing.umd.js.map +1 -1
  92. package/bundles/material-expansion-testing.umd.min.js +2 -10
  93. package/bundles/material-expansion-testing.umd.min.js.map +1 -1
  94. package/bundles/material-expansion.umd.js +459 -400
  95. package/bundles/material-expansion.umd.js.map +1 -1
  96. package/bundles/material-expansion.umd.min.js +11 -3
  97. package/bundles/material-expansion.umd.min.js.map +1 -1
  98. package/bundles/material-form-field-testing-control.umd.js +299 -233
  99. package/bundles/material-form-field-testing-control.umd.js.map +1 -1
  100. package/bundles/material-form-field-testing-control.umd.min.js.map +1 -1
  101. package/bundles/material-form-field-testing.umd.js +301 -235
  102. package/bundles/material-form-field-testing.umd.js.map +1 -1
  103. package/bundles/material-form-field-testing.umd.min.js +3 -10
  104. package/bundles/material-form-field-testing.umd.min.js.map +1 -1
  105. package/bundles/material-form-field.umd.js +452 -386
  106. package/bundles/material-form-field.umd.js.map +1 -1
  107. package/bundles/material-form-field.umd.min.js +34 -3
  108. package/bundles/material-form-field.umd.min.js.map +1 -1
  109. package/bundles/material-grid-list-testing.umd.js +311 -252
  110. package/bundles/material-grid-list-testing.umd.js.map +1 -1
  111. package/bundles/material-grid-list-testing.umd.min.js +2 -17
  112. package/bundles/material-grid-list-testing.umd.min.js.map +1 -1
  113. package/bundles/material-grid-list.umd.js +409 -336
  114. package/bundles/material-grid-list.umd.js.map +1 -1
  115. package/bundles/material-grid-list.umd.min.js +19 -4
  116. package/bundles/material-grid-list.umd.min.js.map +1 -1
  117. package/bundles/material-icon-testing.umd.js +8 -8
  118. package/bundles/material-icon-testing.umd.js.map +1 -1
  119. package/bundles/material-icon-testing.umd.min.js +2 -2
  120. package/bundles/material-icon-testing.umd.min.js.map +1 -1
  121. package/bundles/material-icon.umd.js +349 -283
  122. package/bundles/material-icon.umd.js.map +1 -1
  123. package/bundles/material-icon.umd.min.js +2 -9
  124. package/bundles/material-icon.umd.min.js.map +1 -1
  125. package/bundles/material-input-testing.umd.js +303 -237
  126. package/bundles/material-input-testing.umd.js.map +1 -1
  127. package/bundles/material-input-testing.umd.min.js +2 -9
  128. package/bundles/material-input-testing.umd.min.js.map +1 -1
  129. package/bundles/material-input.umd.js +387 -328
  130. package/bundles/material-input.umd.js.map +1 -1
  131. package/bundles/material-input.umd.min.js +4 -18
  132. package/bundles/material-input.umd.min.js.map +1 -1
  133. package/bundles/material-list-testing.umd.js +333 -303
  134. package/bundles/material-list-testing.umd.js.map +1 -1
  135. package/bundles/material-list-testing.umd.min.js +2 -2
  136. package/bundles/material-list-testing.umd.min.js.map +1 -1
  137. package/bundles/material-list.umd.js +492 -433
  138. package/bundles/material-list.umd.js.map +1 -1
  139. package/bundles/material-list.umd.min.js +2 -10
  140. package/bundles/material-list.umd.min.js.map +1 -1
  141. package/bundles/material-menu-testing.umd.js +305 -239
  142. package/bundles/material-menu-testing.umd.js.map +1 -1
  143. package/bundles/material-menu-testing.umd.min.js +2 -10
  144. package/bundles/material-menu-testing.umd.min.js.map +1 -1
  145. package/bundles/material-menu.umd.js +458 -406
  146. package/bundles/material-menu.umd.js.map +1 -1
  147. package/bundles/material-menu.umd.min.js +5 -4
  148. package/bundles/material-menu.umd.min.js.map +1 -1
  149. package/bundles/material-paginator-testing.umd.js +302 -236
  150. package/bundles/material-paginator-testing.umd.js.map +1 -1
  151. package/bundles/material-paginator-testing.umd.min.js +2 -9
  152. package/bundles/material-paginator-testing.umd.min.js.map +1 -1
  153. package/bundles/material-paginator.umd.js +345 -279
  154. package/bundles/material-paginator.umd.js.map +1 -1
  155. package/bundles/material-paginator.umd.min.js +2 -9
  156. package/bundles/material-paginator.umd.min.js.map +1 -1
  157. package/bundles/material-progress-bar-testing.umd.js +301 -235
  158. package/bundles/material-progress-bar-testing.umd.js.map +1 -1
  159. package/bundles/material-progress-bar-testing.umd.min.js +2 -9
  160. package/bundles/material-progress-bar-testing.umd.min.js.map +1 -1
  161. package/bundles/material-progress-bar.umd.js +339 -266
  162. package/bundles/material-progress-bar.umd.js.map +1 -1
  163. package/bundles/material-progress-bar.umd.min.js +4 -3
  164. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  165. package/bundles/material-progress-spinner-testing.umd.js +301 -235
  166. package/bundles/material-progress-spinner-testing.umd.js.map +1 -1
  167. package/bundles/material-progress-spinner-testing.umd.min.js +2 -9
  168. package/bundles/material-progress-spinner-testing.umd.min.js.map +1 -1
  169. package/bundles/material-progress-spinner.umd.js +380 -314
  170. package/bundles/material-progress-spinner.umd.js.map +1 -1
  171. package/bundles/material-progress-spinner.umd.min.js +2 -10
  172. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  173. package/bundles/material-radio-testing.umd.js +304 -238
  174. package/bundles/material-radio-testing.umd.js.map +1 -1
  175. package/bundles/material-radio-testing.umd.min.js +2 -10
  176. package/bundles/material-radio-testing.umd.min.js.map +1 -1
  177. package/bundles/material-radio.umd.js +405 -339
  178. package/bundles/material-radio.umd.js.map +1 -1
  179. package/bundles/material-radio.umd.min.js +2 -10
  180. package/bundles/material-radio.umd.min.js.map +1 -1
  181. package/bundles/material-select-testing.umd.js +315 -247
  182. package/bundles/material-select-testing.umd.js.map +1 -1
  183. package/bundles/material-select-testing.umd.min.js +2 -9
  184. package/bundles/material-select-testing.umd.min.js.map +1 -1
  185. package/bundles/material-select.umd.js +408 -342
  186. package/bundles/material-select.umd.js.map +1 -1
  187. package/bundles/material-select.umd.min.js +5 -12
  188. package/bundles/material-select.umd.min.js.map +1 -1
  189. package/bundles/material-sidenav-testing.umd.js +303 -244
  190. package/bundles/material-sidenav-testing.umd.js.map +1 -1
  191. package/bundles/material-sidenav-testing.umd.min.js +2 -16
  192. package/bundles/material-sidenav-testing.umd.min.js.map +1 -1
  193. package/bundles/material-sidenav.umd.js +512 -448
  194. package/bundles/material-sidenav.umd.js.map +1 -1
  195. package/bundles/material-sidenav.umd.min.js +3 -3
  196. package/bundles/material-sidenav.umd.min.js.map +1 -1
  197. package/bundles/material-slide-toggle-testing.umd.js +302 -236
  198. package/bundles/material-slide-toggle-testing.umd.js.map +1 -1
  199. package/bundles/material-slide-toggle-testing.umd.min.js +2 -9
  200. package/bundles/material-slide-toggle-testing.umd.min.js.map +1 -1
  201. package/bundles/material-slide-toggle.umd.js +373 -314
  202. package/bundles/material-slide-toggle.umd.js.map +1 -1
  203. package/bundles/material-slide-toggle.umd.min.js +2 -9
  204. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  205. package/bundles/material-slider-testing.umd.js +302 -236
  206. package/bundles/material-slider-testing.umd.js.map +1 -1
  207. package/bundles/material-slider-testing.umd.min.js +2 -9
  208. package/bundles/material-slider-testing.umd.min.js.map +1 -1
  209. package/bundles/material-slider.umd.js +374 -308
  210. package/bundles/material-slider.umd.js.map +1 -1
  211. package/bundles/material-slider.umd.min.js +4 -3
  212. package/bundles/material-slider.umd.min.js.map +1 -1
  213. package/bundles/material-snack-bar-testing.umd.js +304 -238
  214. package/bundles/material-snack-bar-testing.umd.js.map +1 -1
  215. package/bundles/material-snack-bar-testing.umd.min.js +2 -9
  216. package/bundles/material-snack-bar-testing.umd.min.js.map +1 -1
  217. package/bundles/material-snack-bar.umd.js +379 -306
  218. package/bundles/material-snack-bar.umd.js.map +1 -1
  219. package/bundles/material-snack-bar.umd.min.js +26 -2
  220. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  221. package/bundles/material-sort-testing.umd.js +302 -243
  222. package/bundles/material-sort-testing.umd.js.map +1 -1
  223. package/bundles/material-sort-testing.umd.min.js +2 -17
  224. package/bundles/material-sort-testing.umd.min.js.map +1 -1
  225. package/bundles/material-sort.umd.js +369 -310
  226. package/bundles/material-sort.umd.js.map +1 -1
  227. package/bundles/material-sort.umd.min.js +3 -18
  228. package/bundles/material-sort.umd.min.js.map +1 -1
  229. package/bundles/material-stepper.umd.js +490 -445
  230. package/bundles/material-stepper.umd.js.map +1 -1
  231. package/bundles/material-stepper.umd.min.js +5 -12
  232. package/bundles/material-stepper.umd.min.js.map +1 -1
  233. package/bundles/material-table-testing.umd.js +317 -265
  234. package/bundles/material-table-testing.umd.js.map +1 -1
  235. package/bundles/material-table-testing.umd.min.js +2 -24
  236. package/bundles/material-table-testing.umd.min.js.map +1 -1
  237. package/bundles/material-table.umd.js +494 -462
  238. package/bundles/material-table.umd.js.map +1 -1
  239. package/bundles/material-table.umd.min.js +3 -10
  240. package/bundles/material-table.umd.min.js.map +1 -1
  241. package/bundles/material-tabs-testing.umd.js +303 -244
  242. package/bundles/material-tabs-testing.umd.js.map +1 -1
  243. package/bundles/material-tabs-testing.umd.min.js +1 -16
  244. package/bundles/material-tabs-testing.umd.min.js.map +1 -1
  245. package/bundles/material-tabs.umd.js +661 -630
  246. package/bundles/material-tabs.umd.js.map +1 -1
  247. package/bundles/material-tabs.umd.min.js +29 -4
  248. package/bundles/material-tabs.umd.min.js.map +1 -1
  249. package/bundles/material-toolbar-testing.umd.js +301 -235
  250. package/bundles/material-toolbar-testing.umd.js.map +1 -1
  251. package/bundles/material-toolbar-testing.umd.min.js +2 -9
  252. package/bundles/material-toolbar-testing.umd.min.js.map +1 -1
  253. package/bundles/material-toolbar.umd.js +337 -271
  254. package/bundles/material-toolbar.umd.js.map +1 -1
  255. package/bundles/material-toolbar.umd.min.js +4 -3
  256. package/bundles/material-toolbar.umd.min.js.map +1 -1
  257. package/bundles/material-tooltip-testing.umd.js +301 -235
  258. package/bundles/material-tooltip-testing.umd.js.map +1 -1
  259. package/bundles/material-tooltip-testing.umd.min.js +2 -9
  260. package/bundles/material-tooltip-testing.umd.min.js.map +1 -1
  261. package/bundles/material-tooltip.umd.js +367 -294
  262. package/bundles/material-tooltip.umd.js.map +1 -1
  263. package/bundles/material-tooltip.umd.min.js +3 -3
  264. package/bundles/material-tooltip.umd.min.js.map +1 -1
  265. package/bundles/material-tree.umd.js +421 -383
  266. package/bundles/material-tree.umd.js.map +1 -1
  267. package/bundles/material-tree.umd.min.js +3 -3
  268. package/bundles/material-tree.umd.min.js.map +1 -1
  269. package/core/index.metadata.json +1 -1
  270. package/core/style/_vendor-prefixes.scss +5 -0
  271. package/esm2015/bottom-sheet/bottom-sheet.js +1 -1
  272. package/esm2015/core/common-behaviors/common-module.js +1 -1
  273. package/esm2015/core/version.js +1 -1
  274. package/esm2015/stepper/stepper.js +3 -3
  275. package/esm2015/table/cell.js +12 -26
  276. package/esm2015/table/table.js +4 -2
  277. package/esm2015/tree/node.js +2 -2
  278. package/fesm2015/core.js +2 -2
  279. package/fesm2015/core.js.map +1 -1
  280. package/fesm2015/stepper.js +2 -2
  281. package/fesm2015/stepper.js.map +1 -1
  282. package/fesm2015/table.js +14 -26
  283. package/fesm2015/table.js.map +1 -1
  284. package/fesm2015/tree.js +1 -1
  285. package/fesm2015/tree.js.map +1 -1
  286. package/package.json +2 -2
  287. package/schematics/ng-add/index.js +1 -1
  288. package/stepper/index.metadata.json +1 -1
  289. package/table/cell.d.ts +7 -4
  290. package/table/index.metadata.json +1 -1
  291. package/table/table.d.ts +2 -0
  292. package/tree/index.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["src/material/material-input.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","material","input","cdk","textField","core","coercion","platform","forms","formField","rxjs","this","core$1","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","constructor","prototype","create","MatTextareaAutosize","_super","apply","arguments","defineProperty","get","minRows","set","value","enumerable","configurable","maxRows","enabled","decorators","type","Directive","args","selector","exportAs","inputs","host","class","rows","propDecorators","matAutosizeMinRows","Input","matAutosizeMaxRows","matAutosize","matTextareaAutosize","CdkTextareaAutosize","getMatInputUnsupportedTypeError","Error","MAT_INPUT_VALUE_ACCESSOR","InjectionToken","MAT_INPUT_INVALID_TYPES","nextUniqueId","MatInput","_elementRef","_platform","ngControl","_parentForm","_parentFormGroup","_defaultErrorStateMatcher","inputValueAccessor","_autofillMonitor","ngZone","_formField","_this","call","_uid","focused","stateChanges","Subject","controlType","autofilled","_disabled","_required","_type","_readonly","_neverEmptyInputTypes","filter","t","getSupportedInputTypes","has","element","nativeElement","nodeName","toLowerCase","_inputValueAccessor","_previousNativeValue","id","IOS","runOutsideAngular","addEventListener","event","el","target","selectionStart","selectionEnd","setSelectionRange","_isServer","isBrowser","_isNativeSelect","_isTextarea","multiple","disabled","coerceBooleanProperty","next","_id","_validateType","ngAfterViewInit","monitor","subscribe","isAutofilled","ngOnChanges","ngOnDestroy","complete","stopMonitoring","ngDoCheck","updateErrorState","_dirtyCheckNativeValue","_dirtyCheckPlaceholder","focus","options","_focusChanged","isFocused","readonly","_onInput","placeholder","_hideControlPlaceholder","_previousPlaceholder","setAttribute","removeAttribute","newValue","indexOf","_isNeverEmpty","_isBadInput","validity","badInput","selectElement","firstOption","empty","selectedIndex","label","setDescribedByIds","ids","_ariaDescribedby","join","onContainerClick","[class.mat-input-server]","[attr.id]","[attr.data-placeholder]","[disabled]","[required]","[attr.readonly]","[attr.aria-describedby]","[attr.aria-invalid]","[attr.aria-required]","providers","provide","MatFormFieldControl","useExisting","ctorParameters","ElementRef","Platform","NgControl","Optional","Self","NgForm","FormGroupDirective","ErrorStateMatcher","undefined","Inject","AutofillMonitor","NgZone","MatFormField","required","errorStateMatcher","HostListener","mixinErrorState","MatInputBase","MatInputModule","NgModule","declarations","imports","TextFieldModule","MatFormFieldModule"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/text-field'), require('@angular/core'), require('@angular/cdk/coercion'), require('@angular/cdk/platform'), require('@angular/forms'), require('@angular/material/core'), require('@angular/material/form-field'), require('rxjs')) :\n typeof define === 'function' && define.amd ? define('@angular/material/input', ['exports', '@angular/cdk/text-field', '@angular/core', '@angular/cdk/coercion', '@angular/cdk/platform', '@angular/forms', '@angular/material/core', '@angular/material/form-field', 'rxjs'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.input = {}), global.ng.cdk.textField, global.ng.core, global.ng.cdk.coercion, global.ng.cdk.platform, global.ng.forms, global.ng.material.core, global.ng.material.formField, global.rxjs));\n}(this, (function (exports, textField, core, coercion, platform, forms, core$1, formField, rxjs) { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n /* global Reflect, Promise */\r\n\r\n var 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\n 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\n 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\n 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++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n }\r\n\r\n 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\n function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n }\r\n\r\n function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n }\r\n\r\n function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n }\r\n\r\n 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\n var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n }\r\n\r\n function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n }\r\n\r\n 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\n 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\n function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n }\r\n\r\n 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\n 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\n 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\n 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\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n 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)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n }\r\n\r\n function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n }\r\n\r\n function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n }\r\n\r\n function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\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 /**\n * Directive to automatically resize a textarea to fit its content.\n * @deprecated Use `cdkTextareaAutosize` from `@angular/cdk/text-field` instead.\n * @breaking-change 8.0.0\n */\n var MatTextareaAutosize = /** @class */ (function (_super) {\n __extends(MatTextareaAutosize, _super);\n function MatTextareaAutosize() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MatTextareaAutosize.prototype, \"matAutosizeMinRows\", {\n get: function () { return this.minRows; },\n set: function (value) { this.minRows = value; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTextareaAutosize.prototype, \"matAutosizeMaxRows\", {\n get: function () { return this.maxRows; },\n set: function (value) { this.maxRows = value; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTextareaAutosize.prototype, \"matAutosize\", {\n get: function () { return this.enabled; },\n set: function (value) { this.enabled = value; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTextareaAutosize.prototype, \"matTextareaAutosize\", {\n get: function () { return this.enabled; },\n set: function (value) { this.enabled = value; },\n enumerable: false,\n configurable: true\n });\n MatTextareaAutosize.decorators = [\n { type: core.Directive, args: [{\n selector: 'textarea[mat-autosize], textarea[matTextareaAutosize]',\n exportAs: 'matTextareaAutosize',\n inputs: ['cdkAutosizeMinRows', 'cdkAutosizeMaxRows'],\n host: {\n 'class': 'cdk-textarea-autosize mat-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1',\n },\n },] }\n ];\n MatTextareaAutosize.propDecorators = {\n matAutosizeMinRows: [{ type: core.Input }],\n matAutosizeMaxRows: [{ type: core.Input }],\n matAutosize: [{ type: core.Input, args: ['mat-autosize',] }],\n matTextareaAutosize: [{ type: core.Input }]\n };\n return MatTextareaAutosize;\n }(textField.CdkTextareaAutosize));\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 /** @docs-private */\n function getMatInputUnsupportedTypeError(type) {\n return Error(\"Input type \\\"\" + type + \"\\\" isn't supported by matInput.\");\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 /**\n * This token is used to inject the object whose value should be set into `MatInput`. If none is\n * provided, the native `HTMLInputElement` is used. Directives like `MatDatepickerInput` can provide\n * themselves for this token, in order to make `MatInput` delegate the getting and setting of the\n * value to them.\n */\n var MAT_INPUT_VALUE_ACCESSOR = new core.InjectionToken('MAT_INPUT_VALUE_ACCESSOR');\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 // Invalid input type. Using one of these will throw an MatInputUnsupportedTypeError.\n var MAT_INPUT_INVALID_TYPES = [\n 'button',\n 'checkbox',\n 'file',\n 'hidden',\n 'image',\n 'radio',\n 'range',\n 'reset',\n 'submit'\n ];\n var nextUniqueId = 0;\n // Boilerplate for applying mixins to MatInput.\n /** @docs-private */\n var MatInputBase = /** @class */ (function () {\n function MatInputBase(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, \n /** @docs-private */\n ngControl) {\n this._defaultErrorStateMatcher = _defaultErrorStateMatcher;\n this._parentForm = _parentForm;\n this._parentFormGroup = _parentFormGroup;\n this.ngControl = ngControl;\n }\n return MatInputBase;\n }());\n var _MatInputMixinBase = core$1.mixinErrorState(MatInputBase);\n /** Directive that allows a native input to work inside a `MatFormField`. */\n var MatInput = /** @class */ (function (_super) {\n __extends(MatInput, _super);\n function MatInput(_elementRef, _platform, \n /** @docs-private */\n ngControl, _parentForm, _parentFormGroup, _defaultErrorStateMatcher, inputValueAccessor, _autofillMonitor, ngZone, \n // @breaking-change 8.0.0 `_formField` parameter to be made required.\n _formField) {\n var _this = _super.call(this, _defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl) || this;\n _this._elementRef = _elementRef;\n _this._platform = _platform;\n _this.ngControl = ngControl;\n _this._autofillMonitor = _autofillMonitor;\n _this._formField = _formField;\n _this._uid = \"mat-input-\" + nextUniqueId++;\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n _this.focused = false;\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n _this.stateChanges = new rxjs.Subject();\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n _this.controlType = 'mat-input';\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n _this.autofilled = false;\n _this._disabled = false;\n _this._required = false;\n _this._type = 'text';\n _this._readonly = false;\n _this._neverEmptyInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'month',\n 'time',\n 'week'\n ].filter(function (t) { return platform.getSupportedInputTypes().has(t); });\n var element = _this._elementRef.nativeElement;\n var nodeName = element.nodeName.toLowerCase();\n // If no input value accessor was explicitly specified, use the element as the input value\n // accessor.\n _this._inputValueAccessor = inputValueAccessor || element;\n _this._previousNativeValue = _this.value;\n // Force setter to be called in case id was not specified.\n _this.id = _this.id;\n // On some versions of iOS the caret gets stuck in the wrong place when holding down the delete\n // key. In order to get around this we need to \"jiggle\" the caret loose. Since this bug only\n // exists on iOS, we only bother to install the listener on iOS.\n if (_platform.IOS) {\n ngZone.runOutsideAngular(function () {\n _elementRef.nativeElement.addEventListener('keyup', function (event) {\n var el = event.target;\n if (!el.value && !el.selectionStart && !el.selectionEnd) {\n // Note: Just setting `0, 0` doesn't fix the issue. Setting\n // `1, 1` fixes it for the first time that you type text and\n // then hold delete. Toggling to `1, 1` and then back to\n // `0, 0` seems to completely fix it.\n el.setSelectionRange(1, 1);\n el.setSelectionRange(0, 0);\n }\n });\n });\n }\n _this._isServer = !_this._platform.isBrowser;\n _this._isNativeSelect = nodeName === 'select';\n _this._isTextarea = nodeName === 'textarea';\n if (_this._isNativeSelect) {\n _this.controlType = element.multiple ? 'mat-native-select-multiple' :\n 'mat-native-select';\n }\n return _this;\n }\n Object.defineProperty(MatInput.prototype, \"disabled\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled;\n }\n return this._disabled;\n },\n set: function (value) {\n this._disabled = coercion.coerceBooleanProperty(value);\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"id\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () { return this._id; },\n set: function (value) { this._id = value || this._uid; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"required\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () { return this._required; },\n set: function (value) { this._required = coercion.coerceBooleanProperty(value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"type\", {\n /** Input type of the element. */\n get: function () { return this._type; },\n set: function (value) {\n this._type = value || 'text';\n this._validateType();\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if (!this._isTextarea && platform.getSupportedInputTypes().has(this._type)) {\n this._elementRef.nativeElement.type = this._type;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"value\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () { return this._inputValueAccessor.value; },\n set: function (value) {\n if (value !== this.value) {\n this._inputValueAccessor.value = value;\n this.stateChanges.next();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"readonly\", {\n /** Whether the element is readonly. */\n get: function () { return this._readonly; },\n set: function (value) { this._readonly = coercion.coerceBooleanProperty(value); },\n enumerable: false,\n configurable: true\n });\n MatInput.prototype.ngAfterViewInit = function () {\n var _this = this;\n if (this._platform.isBrowser) {\n this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(function (event) {\n _this.autofilled = event.isAutofilled;\n _this.stateChanges.next();\n });\n }\n };\n MatInput.prototype.ngOnChanges = function () {\n this.stateChanges.next();\n };\n MatInput.prototype.ngOnDestroy = function () {\n this.stateChanges.complete();\n if (this._platform.isBrowser) {\n this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement);\n }\n };\n MatInput.prototype.ngDoCheck = function () {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this._dirtyCheckNativeValue();\n // We need to dirty-check and set the placeholder attribute ourselves, because whether it's\n // present or not depends on a query which is prone to \"changed after checked\" errors.\n this._dirtyCheckPlaceholder();\n };\n /** Focuses the input. */\n MatInput.prototype.focus = function (options) {\n this._elementRef.nativeElement.focus(options);\n };\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n /** Callback for the cases where the focused state of the input changes. */\n // tslint:disable:no-host-decorator-in-concrete\n // tslint:enable:no-host-decorator-in-concrete\n MatInput.prototype._focusChanged = function (isFocused) {\n if (isFocused !== this.focused && (!this.readonly || !isFocused)) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n };\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n MatInput.prototype._onInput = function () {\n // This is a noop function and is used to let Angular know whenever the value changes.\n // Angular will run a new change detection each time the `input` event has been dispatched.\n // It's necessary that Angular recognizes the value change, because when floatingLabel\n // is set to false and Angular forms aren't used, the placeholder won't recognize the\n // value changes and will not disappear.\n // Listening to the input event wouldn't be necessary when the input is using the\n // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.\n };\n /** Does some manual dirty checking on the native input `placeholder` attribute. */\n MatInput.prototype._dirtyCheckPlaceholder = function () {\n // If we're hiding the native placeholder, it should also be cleared from the DOM, otherwise\n // screen readers will read it out twice: once from the label and once from the attribute.\n // TODO: can be removed once we get rid of the `legacy` style for the form field, because it's\n // the only one that supports promoting the placeholder to a label.\n var formField = this._formField;\n var placeholder = (!formField || !formField._hideControlPlaceholder()) ? this.placeholder : null;\n if (placeholder !== this._previousPlaceholder) {\n var element = this._elementRef.nativeElement;\n this._previousPlaceholder = placeholder;\n placeholder ?\n element.setAttribute('placeholder', placeholder) : element.removeAttribute('placeholder');\n }\n };\n /** Does some manual dirty checking on the native input `value` property. */\n MatInput.prototype._dirtyCheckNativeValue = function () {\n var newValue = this._elementRef.nativeElement.value;\n if (this._previousNativeValue !== newValue) {\n this._previousNativeValue = newValue;\n this.stateChanges.next();\n }\n };\n /** Make sure the input is a supported type. */\n MatInput.prototype._validateType = function () {\n if (MAT_INPUT_INVALID_TYPES.indexOf(this._type) > -1) {\n throw getMatInputUnsupportedTypeError(this._type);\n }\n };\n /** Checks whether the input type is one of the types that are never empty. */\n MatInput.prototype._isNeverEmpty = function () {\n return this._neverEmptyInputTypes.indexOf(this._type) > -1;\n };\n /** Checks whether the input is invalid based on the native validation. */\n MatInput.prototype._isBadInput = function () {\n // The `validity` property won't be present on platform-server.\n var validity = this._elementRef.nativeElement.validity;\n return validity && validity.badInput;\n };\n Object.defineProperty(MatInput.prototype, \"empty\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () {\n return !this._isNeverEmpty() && !this._elementRef.nativeElement.value && !this._isBadInput() &&\n !this.autofilled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"shouldLabelFloat\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () {\n if (this._isNativeSelect) {\n // For a single-selection `<select>`, the label should float when the selected option has\n // a non-empty display value. For a `<select multiple>`, the label *always* floats to avoid\n // overlapping the label with the options.\n var selectElement = this._elementRef.nativeElement;\n var firstOption = selectElement.options[0];\n // On most browsers the `selectedIndex` will always be 0, however on IE and Edge it'll be\n // -1 if the `value` is set to something, that isn't in the list of options, at a later point.\n return this.focused || selectElement.multiple || !this.empty ||\n !!(selectElement.selectedIndex > -1 && firstOption && firstOption.label);\n }\n else {\n return this.focused || !this.empty;\n }\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n MatInput.prototype.setDescribedByIds = function (ids) {\n this._ariaDescribedby = ids.join(' ');\n };\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n MatInput.prototype.onContainerClick = function () {\n // Do not re-focus the input element if the element is already focused. Otherwise it can happen\n // that someone clicks on a time input and the cursor resets to the \"hours\" field while the\n // \"minutes\" field was actually clicked. See: https://github.com/angular/components/issues/12849\n if (!this.focused) {\n this.focus();\n }\n };\n MatInput.decorators = [\n { type: core.Directive, args: [{\n selector: \"input[matInput], textarea[matInput], select[matNativeControl],\\n input[matNativeControl], textarea[matNativeControl]\",\n exportAs: 'matInput',\n host: {\n /**\n * @breaking-change 8.0.0 remove .mat-form-field-autofill-control in favor of AutofillMonitor.\n */\n 'class': 'mat-input-element mat-form-field-autofill-control',\n '[class.mat-input-server]': '_isServer',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n // At the time of writing, we have a lot of customer tests that look up the input based on its\n // placeholder. Since we sometimes omit the placeholder attribute from the DOM to prevent screen\n // readers from reading it twice, we have to keep it somewhere in the DOM for the lookup.\n '[attr.data-placeholder]': 'placeholder',\n '[disabled]': 'disabled',\n '[required]': 'required',\n '[attr.readonly]': 'readonly && !_isNativeSelect || null',\n '[attr.aria-describedby]': '_ariaDescribedby || null',\n '[attr.aria-invalid]': 'errorState',\n '[attr.aria-required]': 'required.toString()',\n },\n providers: [{ provide: formField.MatFormFieldControl, useExisting: MatInput }],\n },] }\n ];\n MatInput.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: platform.Platform },\n { type: forms.NgControl, decorators: [{ type: core.Optional }, { type: core.Self }] },\n { type: forms.NgForm, decorators: [{ type: core.Optional }] },\n { type: forms.FormGroupDirective, decorators: [{ type: core.Optional }] },\n { type: core$1.ErrorStateMatcher },\n { type: undefined, decorators: [{ type: core.Optional }, { type: core.Self }, { type: core.Inject, args: [MAT_INPUT_VALUE_ACCESSOR,] }] },\n { type: textField.AutofillMonitor },\n { type: core.NgZone },\n { type: formField.MatFormField, decorators: [{ type: core.Optional }] }\n ]; };\n MatInput.propDecorators = {\n disabled: [{ type: core.Input }],\n id: [{ type: core.Input }],\n placeholder: [{ type: core.Input }],\n required: [{ type: core.Input }],\n type: [{ type: core.Input }],\n errorStateMatcher: [{ type: core.Input }],\n value: [{ type: core.Input }],\n readonly: [{ type: core.Input }],\n _focusChanged: [{ type: core.HostListener, args: ['focus', ['true'],] }, { type: core.HostListener, args: ['blur', ['false'],] }],\n _onInput: [{ type: core.HostListener, args: ['input',] }]\n };\n return MatInput;\n }(_MatInputMixinBase));\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 var MatInputModule = /** @class */ (function () {\n function MatInputModule() {\n }\n MatInputModule.decorators = [\n { type: core.NgModule, args: [{\n declarations: [MatInput, MatTextareaAutosize],\n imports: [\n textField.TextFieldModule,\n formField.MatFormFieldModule,\n ],\n exports: [\n textField.TextFieldModule,\n // We re-export the `MatFormFieldModule` since `MatInput` will almost always\n // be used together with `MatFormField`.\n formField.MatFormFieldModule,\n MatInput,\n MatTextareaAutosize,\n ],\n providers: [core$1.ErrorStateMatcher],\n },] }\n ];\n return MatInputModule;\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\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.MAT_INPUT_VALUE_ACCESSOR = MAT_INPUT_VALUE_ACCESSOR;\n exports.MatInput = MatInput;\n exports.MatInputModule = MatInputModule;\n exports.MatTextareaAutosize = MatTextareaAutosize;\n exports.getMatInputUnsupportedTypeError = getMatInputUnsupportedTypeError;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=material-input.umd.js.map\n"]}
1
+ {"version":3,"sources":["src/material/material-input.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","material","input","cdk","textField","core","coercion","platform","forms","formField","rxjs","this","core$1","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","constructor","prototype","create","MatTextareaAutosize","_super","apply","arguments","defineProperty","get","minRows","set","value","enumerable","configurable","maxRows","enabled","CdkTextareaAutosize","getMatInputUnsupportedTypeError","type","Error","decorators","Directive","args","selector","exportAs","inputs","host","class","rows","propDecorators","matAutosizeMinRows","Input","matAutosizeMaxRows","matAutosize","matTextareaAutosize","MatInputModule","MAT_INPUT_VALUE_ACCESSOR","InjectionToken","MAT_INPUT_INVALID_TYPES","nextUniqueId","MatInput","_elementRef","_platform","ngControl","_parentForm","_parentFormGroup","_defaultErrorStateMatcher","inputValueAccessor","_autofillMonitor","ngZone","_formField","_this","call","_uid","focused","stateChanges","Subject","controlType","autofilled","_disabled","_required","_type","_readonly","_neverEmptyInputTypes","filter","t","getSupportedInputTypes","has","element","nativeElement","nodeName","toLowerCase","_inputValueAccessor","_previousNativeValue","id","IOS","runOutsideAngular","addEventListener","event","el","target","selectionStart","selectionEnd","setSelectionRange","_isServer","isBrowser","_isNativeSelect","_isTextarea","multiple","disabled","coerceBooleanProperty","next","_id","_validateType","ngAfterViewInit","monitor","subscribe","isAutofilled","ngOnChanges","ngOnDestroy","complete","stopMonitoring","ngDoCheck","updateErrorState","_dirtyCheckNativeValue","_dirtyCheckPlaceholder","focus","options","_focusChanged","isFocused","readonly","_onInput","placeholder","_hideControlPlaceholder","_previousPlaceholder","setAttribute","removeAttribute","newValue","indexOf","_isNeverEmpty","_isBadInput","validity","badInput","selectElement","firstOption","empty","selectedIndex","label","setDescribedByIds","ids","_ariaDescribedby","join","onContainerClick","mixinErrorState","MatInputBase","[class.mat-input-server]","[attr.id]","[attr.data-placeholder]","[disabled]","[required]","[attr.readonly]","[attr.aria-describedby]","[attr.aria-invalid]","[attr.aria-required]","providers","provide","MatFormFieldControl","useExisting","ctorParameters","ElementRef","Platform","NgControl","Optional","Self","NgForm","FormGroupDirective","ErrorStateMatcher","undefined","Inject","AutofillMonitor","NgZone","MatFormField","required","errorStateMatcher","HostListener","NgModule","declarations","imports","TextFieldModule","MatFormFieldModule"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/text-field'), require('@angular/core'), require('@angular/cdk/coercion'), require('@angular/cdk/platform'), require('@angular/forms'), require('@angular/material/core'), require('@angular/material/form-field'), require('rxjs')) :\n typeof define === 'function' && define.amd ? define('@angular/material/input', ['exports', '@angular/cdk/text-field', '@angular/core', '@angular/cdk/coercion', '@angular/cdk/platform', '@angular/forms', '@angular/material/core', '@angular/material/form-field', 'rxjs'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.input = {}), global.ng.cdk.textField, global.ng.core, global.ng.cdk.coercion, global.ng.cdk.platform, global.ng.forms, global.ng.material.core, global.ng.material.formField, global.rxjs));\n}(this, (function (exports, textField, core, coercion, platform, forms, core$1, formField, rxjs) { 'use strict';\n\n /*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */\n /* global Reflect, Promise */\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b)\n if (b.hasOwnProperty(p))\n d[p] = b[p]; };\n return extendStatics(d, b);\n };\n function __extends(d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n }\n var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n function __rest(s, e) {\n var t = {};\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n }\n function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n }\n function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); };\n }\n function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\")\n return Reflect.metadata(metadataKey, metadataValue);\n }\n function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try {\n step(generator.next(value));\n }\n catch (e) {\n reject(e);\n } }\n function rejected(value) { try {\n step(generator[\"throw\"](value));\n }\n catch (e) {\n reject(e);\n } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n }\n function __generator(thisArg, body) {\n var _ = { label: 0, sent: function () { if (t[0] & 1)\n throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f)\n throw new TypeError(\"Generator is already executing.\");\n while (_)\n try {\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)\n return t;\n if (y = 0, t)\n op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return { value: op[1], done: false };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2])\n _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n }\n catch (e) {\n op = [6, e];\n y = 0;\n }\n finally {\n f = t = 0;\n }\n if (op[0] & 5)\n throw op[1];\n return { value: op[0] ? op[1] : void 0, done: true };\n }\n }\n var __createBinding = Object.create ? (function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });\n }) : (function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n o[k2] = m[k];\n });\n function __exportStar(m, exports) {\n for (var p in m)\n if (p !== \"default\" && !exports.hasOwnProperty(p))\n __createBinding(exports, m, p);\n }\n function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m)\n return m.call(o);\n if (o && typeof o.length === \"number\")\n return {\n next: function () {\n if (o && i >= o.length)\n o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n }\n function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m)\n return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done)\n ar.push(r.value);\n }\n catch (error) {\n e = { error: error };\n }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"]))\n m.call(i);\n }\n finally {\n if (e)\n throw e.error;\n }\n }\n return ar;\n }\n function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n }\n function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++)\n s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n }\n ;\n function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n }\n function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator)\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n])\n i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try {\n step(g[n](v));\n }\n catch (e) {\n settle(q[0][3], e);\n } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length)\n resume(q[0][0], q[0][1]); }\n }\n function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\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; }\n }\n function __asyncValues(o) {\n if (!Symbol.asyncIterator)\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }\n }\n function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", { value: raw });\n }\n else {\n cooked.raw = raw;\n }\n return cooked;\n }\n ;\n var __setModuleDefault = Object.create ? (function (o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n }) : function (o, v) {\n o[\"default\"] = v;\n };\n function __importStar(mod) {\n if (mod && mod.__esModule)\n return mod;\n var result = {};\n if (mod != null)\n for (var k in mod)\n if (Object.hasOwnProperty.call(mod, k))\n __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n }\n function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n }\n function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n }\n function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n }\n\n /**\n * Directive to automatically resize a textarea to fit its content.\n * @deprecated Use `cdkTextareaAutosize` from `@angular/cdk/text-field` instead.\n * @breaking-change 8.0.0\n */\n var MatTextareaAutosize = /** @class */ (function (_super) {\n __extends(MatTextareaAutosize, _super);\n function MatTextareaAutosize() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MatTextareaAutosize.prototype, \"matAutosizeMinRows\", {\n get: function () { return this.minRows; },\n set: function (value) { this.minRows = value; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTextareaAutosize.prototype, \"matAutosizeMaxRows\", {\n get: function () { return this.maxRows; },\n set: function (value) { this.maxRows = value; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTextareaAutosize.prototype, \"matAutosize\", {\n get: function () { return this.enabled; },\n set: function (value) { this.enabled = value; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTextareaAutosize.prototype, \"matTextareaAutosize\", {\n get: function () { return this.enabled; },\n set: function (value) { this.enabled = value; },\n enumerable: false,\n configurable: true\n });\n return MatTextareaAutosize;\n }(textField.CdkTextareaAutosize));\n MatTextareaAutosize.decorators = [\n { type: core.Directive, args: [{\n selector: 'textarea[mat-autosize], textarea[matTextareaAutosize]',\n exportAs: 'matTextareaAutosize',\n inputs: ['cdkAutosizeMinRows', 'cdkAutosizeMaxRows'],\n host: {\n 'class': 'cdk-textarea-autosize mat-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1',\n },\n },] }\n ];\n MatTextareaAutosize.propDecorators = {\n matAutosizeMinRows: [{ type: core.Input }],\n matAutosizeMaxRows: [{ type: core.Input }],\n matAutosize: [{ type: core.Input, args: ['mat-autosize',] }],\n matTextareaAutosize: [{ type: core.Input }]\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 /** @docs-private */\n function getMatInputUnsupportedTypeError(type) {\n return Error(\"Input type \\\"\" + type + \"\\\" isn't supported by matInput.\");\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 /**\n * This token is used to inject the object whose value should be set into `MatInput`. If none is\n * provided, the native `HTMLInputElement` is used. Directives like `MatDatepickerInput` can provide\n * themselves for this token, in order to make `MatInput` delegate the getting and setting of the\n * value to them.\n */\n var MAT_INPUT_VALUE_ACCESSOR = new core.InjectionToken('MAT_INPUT_VALUE_ACCESSOR');\n\n // Invalid input type. Using one of these will throw an MatInputUnsupportedTypeError.\n var MAT_INPUT_INVALID_TYPES = [\n 'button',\n 'checkbox',\n 'file',\n 'hidden',\n 'image',\n 'radio',\n 'range',\n 'reset',\n 'submit'\n ];\n var nextUniqueId = 0;\n // Boilerplate for applying mixins to MatInput.\n /** @docs-private */\n var MatInputBase = /** @class */ (function () {\n function MatInputBase(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, \n /** @docs-private */\n ngControl) {\n this._defaultErrorStateMatcher = _defaultErrorStateMatcher;\n this._parentForm = _parentForm;\n this._parentFormGroup = _parentFormGroup;\n this.ngControl = ngControl;\n }\n return MatInputBase;\n }());\n var _MatInputMixinBase = core$1.mixinErrorState(MatInputBase);\n /** Directive that allows a native input to work inside a `MatFormField`. */\n var MatInput = /** @class */ (function (_super) {\n __extends(MatInput, _super);\n function MatInput(_elementRef, _platform, \n /** @docs-private */\n ngControl, _parentForm, _parentFormGroup, _defaultErrorStateMatcher, inputValueAccessor, _autofillMonitor, ngZone, \n // @breaking-change 8.0.0 `_formField` parameter to be made required.\n _formField) {\n var _this = _super.call(this, _defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl) || this;\n _this._elementRef = _elementRef;\n _this._platform = _platform;\n _this.ngControl = ngControl;\n _this._autofillMonitor = _autofillMonitor;\n _this._formField = _formField;\n _this._uid = \"mat-input-\" + nextUniqueId++;\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n _this.focused = false;\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n _this.stateChanges = new rxjs.Subject();\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n _this.controlType = 'mat-input';\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n _this.autofilled = false;\n _this._disabled = false;\n _this._required = false;\n _this._type = 'text';\n _this._readonly = false;\n _this._neverEmptyInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'month',\n 'time',\n 'week'\n ].filter(function (t) { return platform.getSupportedInputTypes().has(t); });\n var element = _this._elementRef.nativeElement;\n var nodeName = element.nodeName.toLowerCase();\n // If no input value accessor was explicitly specified, use the element as the input value\n // accessor.\n _this._inputValueAccessor = inputValueAccessor || element;\n _this._previousNativeValue = _this.value;\n // Force setter to be called in case id was not specified.\n _this.id = _this.id;\n // On some versions of iOS the caret gets stuck in the wrong place when holding down the delete\n // key. In order to get around this we need to \"jiggle\" the caret loose. Since this bug only\n // exists on iOS, we only bother to install the listener on iOS.\n if (_platform.IOS) {\n ngZone.runOutsideAngular(function () {\n _elementRef.nativeElement.addEventListener('keyup', function (event) {\n var el = event.target;\n if (!el.value && !el.selectionStart && !el.selectionEnd) {\n // Note: Just setting `0, 0` doesn't fix the issue. Setting\n // `1, 1` fixes it for the first time that you type text and\n // then hold delete. Toggling to `1, 1` and then back to\n // `0, 0` seems to completely fix it.\n el.setSelectionRange(1, 1);\n el.setSelectionRange(0, 0);\n }\n });\n });\n }\n _this._isServer = !_this._platform.isBrowser;\n _this._isNativeSelect = nodeName === 'select';\n _this._isTextarea = nodeName === 'textarea';\n if (_this._isNativeSelect) {\n _this.controlType = element.multiple ? 'mat-native-select-multiple' :\n 'mat-native-select';\n }\n return _this;\n }\n Object.defineProperty(MatInput.prototype, \"disabled\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled;\n }\n return this._disabled;\n },\n set: function (value) {\n this._disabled = coercion.coerceBooleanProperty(value);\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"id\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () { return this._id; },\n set: function (value) { this._id = value || this._uid; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"required\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () { return this._required; },\n set: function (value) { this._required = coercion.coerceBooleanProperty(value); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"type\", {\n /** Input type of the element. */\n get: function () { return this._type; },\n set: function (value) {\n this._type = value || 'text';\n this._validateType();\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if (!this._isTextarea && platform.getSupportedInputTypes().has(this._type)) {\n this._elementRef.nativeElement.type = this._type;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"value\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () { return this._inputValueAccessor.value; },\n set: function (value) {\n if (value !== this.value) {\n this._inputValueAccessor.value = value;\n this.stateChanges.next();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"readonly\", {\n /** Whether the element is readonly. */\n get: function () { return this._readonly; },\n set: function (value) { this._readonly = coercion.coerceBooleanProperty(value); },\n enumerable: false,\n configurable: true\n });\n MatInput.prototype.ngAfterViewInit = function () {\n var _this = this;\n if (this._platform.isBrowser) {\n this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(function (event) {\n _this.autofilled = event.isAutofilled;\n _this.stateChanges.next();\n });\n }\n };\n MatInput.prototype.ngOnChanges = function () {\n this.stateChanges.next();\n };\n MatInput.prototype.ngOnDestroy = function () {\n this.stateChanges.complete();\n if (this._platform.isBrowser) {\n this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement);\n }\n };\n MatInput.prototype.ngDoCheck = function () {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this._dirtyCheckNativeValue();\n // We need to dirty-check and set the placeholder attribute ourselves, because whether it's\n // present or not depends on a query which is prone to \"changed after checked\" errors.\n this._dirtyCheckPlaceholder();\n };\n /** Focuses the input. */\n MatInput.prototype.focus = function (options) {\n this._elementRef.nativeElement.focus(options);\n };\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n /** Callback for the cases where the focused state of the input changes. */\n // tslint:disable:no-host-decorator-in-concrete\n // tslint:enable:no-host-decorator-in-concrete\n MatInput.prototype._focusChanged = function (isFocused) {\n if (isFocused !== this.focused && (!this.readonly || !isFocused)) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n };\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n MatInput.prototype._onInput = function () {\n // This is a noop function and is used to let Angular know whenever the value changes.\n // Angular will run a new change detection each time the `input` event has been dispatched.\n // It's necessary that Angular recognizes the value change, because when floatingLabel\n // is set to false and Angular forms aren't used, the placeholder won't recognize the\n // value changes and will not disappear.\n // Listening to the input event wouldn't be necessary when the input is using the\n // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.\n };\n /** Does some manual dirty checking on the native input `placeholder` attribute. */\n MatInput.prototype._dirtyCheckPlaceholder = function () {\n // If we're hiding the native placeholder, it should also be cleared from the DOM, otherwise\n // screen readers will read it out twice: once from the label and once from the attribute.\n // TODO: can be removed once we get rid of the `legacy` style for the form field, because it's\n // the only one that supports promoting the placeholder to a label.\n var formField = this._formField;\n var placeholder = (!formField || !formField._hideControlPlaceholder()) ? this.placeholder : null;\n if (placeholder !== this._previousPlaceholder) {\n var element = this._elementRef.nativeElement;\n this._previousPlaceholder = placeholder;\n placeholder ?\n element.setAttribute('placeholder', placeholder) : element.removeAttribute('placeholder');\n }\n };\n /** Does some manual dirty checking on the native input `value` property. */\n MatInput.prototype._dirtyCheckNativeValue = function () {\n var newValue = this._elementRef.nativeElement.value;\n if (this._previousNativeValue !== newValue) {\n this._previousNativeValue = newValue;\n this.stateChanges.next();\n }\n };\n /** Make sure the input is a supported type. */\n MatInput.prototype._validateType = function () {\n if (MAT_INPUT_INVALID_TYPES.indexOf(this._type) > -1) {\n throw getMatInputUnsupportedTypeError(this._type);\n }\n };\n /** Checks whether the input type is one of the types that are never empty. */\n MatInput.prototype._isNeverEmpty = function () {\n return this._neverEmptyInputTypes.indexOf(this._type) > -1;\n };\n /** Checks whether the input is invalid based on the native validation. */\n MatInput.prototype._isBadInput = function () {\n // The `validity` property won't be present on platform-server.\n var validity = this._elementRef.nativeElement.validity;\n return validity && validity.badInput;\n };\n Object.defineProperty(MatInput.prototype, \"empty\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () {\n return !this._isNeverEmpty() && !this._elementRef.nativeElement.value && !this._isBadInput() &&\n !this.autofilled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatInput.prototype, \"shouldLabelFloat\", {\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get: function () {\n if (this._isNativeSelect) {\n // For a single-selection `<select>`, the label should float when the selected option has\n // a non-empty display value. For a `<select multiple>`, the label *always* floats to avoid\n // overlapping the label with the options.\n var selectElement = this._elementRef.nativeElement;\n var firstOption = selectElement.options[0];\n // On most browsers the `selectedIndex` will always be 0, however on IE and Edge it'll be\n // -1 if the `value` is set to something, that isn't in the list of options, at a later point.\n return this.focused || selectElement.multiple || !this.empty ||\n !!(selectElement.selectedIndex > -1 && firstOption && firstOption.label);\n }\n else {\n return this.focused || !this.empty;\n }\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n MatInput.prototype.setDescribedByIds = function (ids) {\n this._ariaDescribedby = ids.join(' ');\n };\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n MatInput.prototype.onContainerClick = function () {\n // Do not re-focus the input element if the element is already focused. Otherwise it can happen\n // that someone clicks on a time input and the cursor resets to the \"hours\" field while the\n // \"minutes\" field was actually clicked. See: https://github.com/angular/components/issues/12849\n if (!this.focused) {\n this.focus();\n }\n };\n return MatInput;\n }(_MatInputMixinBase));\n MatInput.decorators = [\n { type: core.Directive, args: [{\n selector: \"input[matInput], textarea[matInput], select[matNativeControl],\\n input[matNativeControl], textarea[matNativeControl]\",\n exportAs: 'matInput',\n host: {\n /**\n * @breaking-change 8.0.0 remove .mat-form-field-autofill-control in favor of AutofillMonitor.\n */\n 'class': 'mat-input-element mat-form-field-autofill-control',\n '[class.mat-input-server]': '_isServer',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n // At the time of writing, we have a lot of customer tests that look up the input based on its\n // placeholder. Since we sometimes omit the placeholder attribute from the DOM to prevent screen\n // readers from reading it twice, we have to keep it somewhere in the DOM for the lookup.\n '[attr.data-placeholder]': 'placeholder',\n '[disabled]': 'disabled',\n '[required]': 'required',\n '[attr.readonly]': 'readonly && !_isNativeSelect || null',\n '[attr.aria-describedby]': '_ariaDescribedby || null',\n '[attr.aria-invalid]': 'errorState',\n '[attr.aria-required]': 'required.toString()',\n },\n providers: [{ provide: formField.MatFormFieldControl, useExisting: MatInput }],\n },] }\n ];\n MatInput.ctorParameters = function () { return [\n { type: core.ElementRef },\n { type: platform.Platform },\n { type: forms.NgControl, decorators: [{ type: core.Optional }, { type: core.Self }] },\n { type: forms.NgForm, decorators: [{ type: core.Optional }] },\n { type: forms.FormGroupDirective, decorators: [{ type: core.Optional }] },\n { type: core$1.ErrorStateMatcher },\n { type: undefined, decorators: [{ type: core.Optional }, { type: core.Self }, { type: core.Inject, args: [MAT_INPUT_VALUE_ACCESSOR,] }] },\n { type: textField.AutofillMonitor },\n { type: core.NgZone },\n { type: formField.MatFormField, decorators: [{ type: core.Optional }] }\n ]; };\n MatInput.propDecorators = {\n disabled: [{ type: core.Input }],\n id: [{ type: core.Input }],\n placeholder: [{ type: core.Input }],\n required: [{ type: core.Input }],\n type: [{ type: core.Input }],\n errorStateMatcher: [{ type: core.Input }],\n value: [{ type: core.Input }],\n readonly: [{ type: core.Input }],\n _focusChanged: [{ type: core.HostListener, args: ['focus', ['true'],] }, { type: core.HostListener, args: ['blur', ['false'],] }],\n _onInput: [{ type: core.HostListener, args: ['input',] }]\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 var MatInputModule = /** @class */ (function () {\n function MatInputModule() {\n }\n return MatInputModule;\n }());\n MatInputModule.decorators = [\n { type: core.NgModule, args: [{\n declarations: [MatInput, MatTextareaAutosize],\n imports: [\n textField.TextFieldModule,\n formField.MatFormFieldModule,\n ],\n exports: [\n textField.TextFieldModule,\n // We re-export the `MatFormFieldModule` since `MatInput` will almost always\n // be used together with `MatFormField`.\n formField.MatFormFieldModule,\n MatInput,\n MatTextareaAutosize,\n ],\n providers: [core$1.ErrorStateMatcher],\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\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.MAT_INPUT_VALUE_ACCESSOR = MAT_INPUT_VALUE_ACCESSOR;\n exports.MatInput = MatInput;\n exports.MatInputModule = MatInputModule;\n exports.MatTextareaAutosize = MatTextareaAutosize;\n exports.getMatInputUnsupportedTypeError = getMatInputUnsupportedTypeError;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=material-input.umd.js.map\n"]}