@angular/material 10.0.0-rc.3 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. package/_theming.scss +17 -17
  2. package/autocomplete/index.metadata.json +1 -1
  3. package/autocomplete/testing/autocomplete-harness.d.ts +2 -0
  4. package/bundles/material-autocomplete-testing.umd.js +11 -0
  5. package/bundles/material-autocomplete-testing.umd.js.map +1 -1
  6. package/bundles/material-autocomplete-testing.umd.min.js +2 -2
  7. package/bundles/material-autocomplete-testing.umd.min.js.map +1 -1
  8. package/bundles/material-autocomplete.umd.js +3 -1
  9. package/bundles/material-autocomplete.umd.js.map +1 -1
  10. package/bundles/material-autocomplete.umd.min.js +5 -5
  11. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  12. package/bundles/material-badge-testing.umd.min.js +1 -1
  13. package/bundles/material-badge-testing.umd.min.js.map +1 -1
  14. package/bundles/material-bottom-sheet-testing.umd.min.js +1 -1
  15. package/bundles/material-bottom-sheet-testing.umd.min.js.map +1 -1
  16. package/bundles/material-button-testing.umd.js +11 -0
  17. package/bundles/material-button-testing.umd.js.map +1 -1
  18. package/bundles/material-button-testing.umd.min.js +2 -2
  19. package/bundles/material-button-testing.umd.min.js.map +1 -1
  20. package/bundles/material-button-toggle-testing.umd.js +11 -0
  21. package/bundles/material-button-toggle-testing.umd.js.map +1 -1
  22. package/bundles/material-button-toggle-testing.umd.min.js +3 -3
  23. package/bundles/material-button-toggle-testing.umd.min.js.map +1 -1
  24. package/bundles/material-button-toggle.umd.js +12 -3
  25. package/bundles/material-button-toggle.umd.js.map +1 -1
  26. package/bundles/material-button-toggle.umd.min.js +2 -2
  27. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  28. package/bundles/material-button.umd.js +7 -2
  29. package/bundles/material-button.umd.js.map +1 -1
  30. package/bundles/material-button.umd.min.js +4 -4
  31. package/bundles/material-button.umd.min.js.map +1 -1
  32. package/bundles/material-card-testing.umd.js +335 -0
  33. package/bundles/material-card-testing.umd.js.map +1 -0
  34. package/bundles/material-card-testing.umd.min.js +44 -0
  35. package/bundles/material-card-testing.umd.min.js.map +1 -0
  36. package/bundles/material-checkbox-testing.umd.js +11 -0
  37. package/bundles/material-checkbox-testing.umd.js.map +1 -1
  38. package/bundles/material-checkbox-testing.umd.min.js +3 -3
  39. package/bundles/material-checkbox-testing.umd.min.js.map +1 -1
  40. package/bundles/material-checkbox.umd.js.map +1 -1
  41. package/bundles/material-chips.umd.js +36 -12
  42. package/bundles/material-chips.umd.js.map +1 -1
  43. package/bundles/material-chips.umd.min.js +4 -4
  44. package/bundles/material-chips.umd.min.js.map +1 -1
  45. package/bundles/material-core-testing.umd.min.js +1 -1
  46. package/bundles/material-core-testing.umd.min.js.map +1 -1
  47. package/bundles/material-core.umd.js +11 -3
  48. package/bundles/material-core.umd.js.map +1 -1
  49. package/bundles/material-core.umd.min.js +11 -11
  50. package/bundles/material-core.umd.min.js.map +1 -1
  51. package/bundles/material-datepicker.umd.js +20 -11
  52. package/bundles/material-datepicker.umd.js.map +1 -1
  53. package/bundles/material-datepicker.umd.min.js +5 -5
  54. package/bundles/material-datepicker.umd.min.js.map +1 -1
  55. package/bundles/material-dialog-testing.umd.min.js +1 -1
  56. package/bundles/material-dialog-testing.umd.min.js.map +1 -1
  57. package/bundles/material-dialog.umd.js +45 -8
  58. package/bundles/material-dialog.umd.js.map +1 -1
  59. package/bundles/material-dialog.umd.min.js +14 -7
  60. package/bundles/material-dialog.umd.min.js.map +1 -1
  61. package/bundles/material-divider-testing.umd.min.js +1 -1
  62. package/bundles/material-divider-testing.umd.min.js.map +1 -1
  63. package/bundles/material-expansion-testing.umd.js +11 -0
  64. package/bundles/material-expansion-testing.umd.js.map +1 -1
  65. package/bundles/material-expansion-testing.umd.min.js +3 -3
  66. package/bundles/material-expansion-testing.umd.min.js.map +1 -1
  67. package/bundles/material-form-field-testing.umd.js +32 -0
  68. package/bundles/material-form-field-testing.umd.js.map +1 -1
  69. package/bundles/material-form-field-testing.umd.min.js +4 -4
  70. package/bundles/material-form-field-testing.umd.min.js.map +1 -1
  71. package/bundles/material-form-field.umd.js +47 -21
  72. package/bundles/material-form-field.umd.js.map +1 -1
  73. package/bundles/material-form-field.umd.min.js +5 -5
  74. package/bundles/material-form-field.umd.min.js.map +1 -1
  75. package/bundles/material-grid-list-testing.umd.min.js +1 -1
  76. package/bundles/material-grid-list-testing.umd.min.js.map +1 -1
  77. package/bundles/material-grid-list.umd.js +2 -2
  78. package/bundles/material-grid-list.umd.js.map +1 -1
  79. package/bundles/material-grid-list.umd.min.js +2 -2
  80. package/bundles/material-grid-list.umd.min.js.map +1 -1
  81. package/bundles/material-input-testing.umd.js +23 -6
  82. package/bundles/material-input-testing.umd.js.map +1 -1
  83. package/bundles/material-input-testing.umd.min.js +3 -3
  84. package/bundles/material-input-testing.umd.min.js.map +1 -1
  85. package/bundles/material-input.umd.js +28 -3
  86. package/bundles/material-input.umd.js.map +1 -1
  87. package/bundles/material-input.umd.min.js +3 -3
  88. package/bundles/material-input.umd.min.js.map +1 -1
  89. package/bundles/material-list-testing.umd.js +33 -0
  90. package/bundles/material-list-testing.umd.js.map +1 -1
  91. package/bundles/material-list-testing.umd.min.js +2 -2
  92. package/bundles/material-list-testing.umd.min.js.map +1 -1
  93. package/bundles/material-list.umd.js +3 -3
  94. package/bundles/material-list.umd.min.js +1 -1
  95. package/bundles/material-list.umd.min.js.map +1 -1
  96. package/bundles/material-menu-testing.umd.js +22 -0
  97. package/bundles/material-menu-testing.umd.js.map +1 -1
  98. package/bundles/material-menu-testing.umd.min.js +2 -2
  99. package/bundles/material-menu-testing.umd.min.js.map +1 -1
  100. package/bundles/material-menu.umd.js +13 -2
  101. package/bundles/material-menu.umd.js.map +1 -1
  102. package/bundles/material-menu.umd.min.js +4 -4
  103. package/bundles/material-menu.umd.min.js.map +1 -1
  104. package/bundles/material-paginator-testing.umd.min.js +1 -1
  105. package/bundles/material-paginator-testing.umd.min.js.map +1 -1
  106. package/bundles/material-progress-bar-testing.umd.min.js +1 -1
  107. package/bundles/material-progress-bar-testing.umd.min.js.map +1 -1
  108. package/bundles/material-progress-spinner-testing.umd.js +1 -1
  109. package/bundles/material-progress-spinner-testing.umd.js.map +1 -1
  110. package/bundles/material-progress-spinner-testing.umd.min.js +2 -2
  111. package/bundles/material-progress-spinner-testing.umd.min.js.map +1 -1
  112. package/bundles/material-progress-spinner.umd.js +2 -2
  113. package/bundles/material-progress-spinner.umd.min.js +3 -3
  114. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  115. package/bundles/material-radio-testing.umd.js +11 -0
  116. package/bundles/material-radio-testing.umd.js.map +1 -1
  117. package/bundles/material-radio-testing.umd.min.js +3 -3
  118. package/bundles/material-radio-testing.umd.min.js.map +1 -1
  119. package/bundles/material-radio.umd.js +15 -5
  120. package/bundles/material-radio.umd.js.map +1 -1
  121. package/bundles/material-radio.umd.min.js +2 -2
  122. package/bundles/material-radio.umd.min.js.map +1 -1
  123. package/bundles/material-select-testing.umd.js +11 -0
  124. package/bundles/material-select-testing.umd.js.map +1 -1
  125. package/bundles/material-select-testing.umd.min.js +2 -2
  126. package/bundles/material-select-testing.umd.min.js.map +1 -1
  127. package/bundles/material-select.umd.js +11 -3
  128. package/bundles/material-select.umd.js.map +1 -1
  129. package/bundles/material-select.umd.min.js +4 -4
  130. package/bundles/material-select.umd.min.js.map +1 -1
  131. package/bundles/material-sidenav-testing.umd.min.js +1 -1
  132. package/bundles/material-sidenav-testing.umd.min.js.map +1 -1
  133. package/bundles/material-sidenav.umd.js +41 -17
  134. package/bundles/material-sidenav.umd.js.map +1 -1
  135. package/bundles/material-sidenav.umd.min.js +2 -2
  136. package/bundles/material-sidenav.umd.min.js.map +1 -1
  137. package/bundles/material-slide-toggle-testing.umd.js +11 -0
  138. package/bundles/material-slide-toggle-testing.umd.js.map +1 -1
  139. package/bundles/material-slide-toggle-testing.umd.min.js +2 -2
  140. package/bundles/material-slide-toggle-testing.umd.min.js.map +1 -1
  141. package/bundles/material-slide-toggle.umd.js.map +1 -1
  142. package/bundles/material-slider-testing.umd.js +11 -0
  143. package/bundles/material-slider-testing.umd.js.map +1 -1
  144. package/bundles/material-slider-testing.umd.min.js +2 -2
  145. package/bundles/material-slider-testing.umd.min.js.map +1 -1
  146. package/bundles/material-snack-bar-testing.umd.min.js +1 -1
  147. package/bundles/material-snack-bar-testing.umd.min.js.map +1 -1
  148. package/bundles/material-snack-bar.umd.js +47 -39
  149. package/bundles/material-snack-bar.umd.js.map +1 -1
  150. package/bundles/material-snack-bar.umd.min.js +2 -2
  151. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  152. package/bundles/material-sort-testing.umd.js +10 -10
  153. package/bundles/material-sort-testing.umd.js.map +1 -1
  154. package/bundles/material-sort-testing.umd.min.js +3 -3
  155. package/bundles/material-sort-testing.umd.min.js.map +1 -1
  156. package/bundles/material-sort.umd.js +25 -12
  157. package/bundles/material-sort.umd.js.map +1 -1
  158. package/bundles/material-sort.umd.min.js +5 -5
  159. package/bundles/material-sort.umd.min.js.map +1 -1
  160. package/bundles/material-table-testing.umd.min.js +1 -1
  161. package/bundles/material-table-testing.umd.min.js.map +1 -1
  162. package/bundles/material-table.umd.min.js +2 -2
  163. package/bundles/material-table.umd.min.js.map +1 -1
  164. package/bundles/material-tabs-testing.umd.min.js +1 -1
  165. package/bundles/material-tabs-testing.umd.min.js.map +1 -1
  166. package/bundles/material-tabs.umd.js +23 -4
  167. package/bundles/material-tabs.umd.js.map +1 -1
  168. package/bundles/material-tabs.umd.min.js +5 -12
  169. package/bundles/material-tabs.umd.min.js.map +1 -1
  170. package/bundles/material-toolbar-testing.umd.js +330 -0
  171. package/bundles/material-toolbar-testing.umd.js.map +1 -0
  172. package/bundles/material-toolbar-testing.umd.min.js +44 -0
  173. package/bundles/material-toolbar-testing.umd.min.js.map +1 -0
  174. package/bundles/material-tooltip-testing.umd.min.js +1 -1
  175. package/bundles/material-tooltip-testing.umd.min.js.map +1 -1
  176. package/bundles/material-tooltip.umd.js +14 -1
  177. package/bundles/material-tooltip.umd.js.map +1 -1
  178. package/bundles/material-tooltip.umd.min.js +3 -3
  179. package/bundles/material-tooltip.umd.min.js.map +1 -1
  180. package/bundles/material-tree.umd.js.map +1 -1
  181. package/button/_button-base.scss +1 -1
  182. package/button/_button-theme.scss +8 -8
  183. package/button/index.metadata.json +1 -1
  184. package/button/testing/button-harness.d.ts +2 -0
  185. package/button-toggle/button-toggle.d.ts +10 -3
  186. package/button-toggle/index.metadata.json +1 -1
  187. package/button-toggle/testing/button-toggle-harness.d.ts +2 -0
  188. package/card/testing/card-harness-filters.d.ts +17 -0
  189. package/card/testing/card-harness.d.ts +36 -0
  190. package/card/testing/index.d.ts +8 -0
  191. package/card/testing/package.json +9 -0
  192. package/card/testing/public-api.d.ts +9 -0
  193. package/checkbox/index.metadata.json +1 -1
  194. package/checkbox/testing/checkbox-harness.d.ts +2 -0
  195. package/chips/chip.d.ts +19 -1
  196. package/chips/index.metadata.json +1 -1
  197. package/core/focus-indicators/_focus-indicators.scss +6 -6
  198. package/core/index.metadata.json +1 -1
  199. package/core/option/optgroup.d.ts +7 -0
  200. package/core/ripple/ripple-ref.d.ts +21 -2
  201. package/core/ripple/ripple-renderer.d.ts +1 -19
  202. package/core/ripple/ripple.d.ts +2 -2
  203. package/core/style/_list-common.scss +1 -1
  204. package/datepicker/date-range-input-parts.d.ts +2 -4
  205. package/datepicker/date-range-input.d.ts +4 -4
  206. package/datepicker/date-range-picker.d.ts +10 -3
  207. package/datepicker/datepicker.d.ts +2 -3
  208. package/datepicker/index.metadata.json +1 -1
  209. package/datepicker/public-api.d.ts +1 -1
  210. package/dialog/dialog-container.d.ts +9 -2
  211. package/dialog/dialog-content-directives.d.ts +1 -0
  212. package/dialog/dialog-ref.d.ts +7 -0
  213. package/dialog/index.metadata.json +1 -1
  214. package/esm2015/autocomplete/autocomplete-module.js +18 -22
  215. package/esm2015/autocomplete/autocomplete-origin.js +16 -20
  216. package/esm2015/autocomplete/autocomplete-trigger.js +519 -521
  217. package/esm2015/autocomplete/autocomplete.js +126 -130
  218. package/esm2015/autocomplete/testing/autocomplete-harness.js +99 -97
  219. package/esm2015/badge/badge-module.js +13 -17
  220. package/esm2015/badge/badge.js +184 -188
  221. package/esm2015/badge/testing/badge-harness.js +74 -78
  222. package/esm2015/bottom-sheet/bottom-sheet-container.js +161 -165
  223. package/esm2015/bottom-sheet/bottom-sheet-module.js +15 -19
  224. package/esm2015/bottom-sheet/bottom-sheet.js +124 -128
  225. package/esm2015/bottom-sheet/testing/bottom-sheet-harness.js +29 -33
  226. package/esm2015/button/button-module.js +20 -24
  227. package/esm2015/button/button.js +111 -114
  228. package/esm2015/button/testing/button-harness.js +60 -58
  229. package/esm2015/button-toggle/button-toggle-module.js +10 -14
  230. package/esm2015/button-toggle/button-toggle.js +368 -368
  231. package/esm2015/button-toggle/testing/button-toggle-group-harness.js +42 -46
  232. package/esm2015/button-toggle/testing/button-toggle-harness.js +113 -111
  233. package/esm2015/card/card-module.js +30 -34
  234. package/esm2015/card/card.js +147 -203
  235. package/esm2015/card/testing/card-harness-filters.js +8 -0
  236. package/esm2015/card/testing/card-harness.js +52 -0
  237. package/esm2015/card/testing/index.js +9 -0
  238. package/esm2015/card/testing/public-api.js +10 -0
  239. package/esm2015/card/testing/testing.externs.js +0 -0
  240. package/esm2015/checkbox/checkbox-module.js +21 -29
  241. package/esm2015/checkbox/checkbox-required-validator.js +9 -13
  242. package/esm2015/checkbox/checkbox.js +315 -319
  243. package/esm2015/checkbox/testing/checkbox-harness.js +150 -148
  244. package/esm2015/chips/chip-input.js +119 -123
  245. package/esm2015/chips/chip-list.js +572 -576
  246. package/esm2015/chips/chip.js +333 -328
  247. package/esm2015/chips/chips-module.js +16 -20
  248. package/esm2015/core/animation/animation.js +12 -20
  249. package/esm2015/core/common-behaviors/common-module.js +91 -95
  250. package/esm2015/core/datetime/index.js +19 -27
  251. package/esm2015/core/datetime/native-date-adapter.js +202 -206
  252. package/esm2015/core/error/error-options.js +16 -24
  253. package/esm2015/core/line/line.js +18 -26
  254. package/esm2015/core/option/index.js +10 -14
  255. package/esm2015/core/option/optgroup.js +36 -33
  256. package/esm2015/core/option/option.js +181 -185
  257. package/esm2015/core/ripple/index.js +10 -14
  258. package/esm2015/core/ripple/ripple-ref.js +1 -1
  259. package/esm2015/core/ripple/ripple-renderer.js +1 -1
  260. package/esm2015/core/ripple/ripple.js +102 -106
  261. package/esm2015/core/selection/index.js +9 -13
  262. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +32 -36
  263. package/esm2015/core/testing/optgroup-harness.js +39 -43
  264. package/esm2015/core/testing/option-harness.js +51 -55
  265. package/esm2015/core/version.js +1 -1
  266. package/esm2015/datepicker/calendar-body.js +214 -218
  267. package/esm2015/datepicker/calendar.js +295 -303
  268. package/esm2015/datepicker/date-range-input-parts.js +214 -229
  269. package/esm2015/datepicker/date-range-input.js +244 -242
  270. package/esm2015/datepicker/date-range-picker.js +19 -23
  271. package/esm2015/datepicker/date-range-selection-strategy.js +31 -35
  272. package/esm2015/datepicker/date-selection-model.js +110 -122
  273. package/esm2015/datepicker/datepicker-base.js +418 -426
  274. package/esm2015/datepicker/datepicker-input-base.js +227 -224
  275. package/esm2015/datepicker/datepicker-input.js +111 -115
  276. package/esm2015/datepicker/datepicker-intl.js +37 -41
  277. package/esm2015/datepicker/datepicker-module.js +62 -66
  278. package/esm2015/datepicker/datepicker-toggle.js +81 -89
  279. package/esm2015/datepicker/datepicker.js +13 -17
  280. package/esm2015/datepicker/month-view.js +283 -287
  281. package/esm2015/datepicker/multi-year-view.js +198 -202
  282. package/esm2015/datepicker/public-api.js +2 -2
  283. package/esm2015/datepicker/year-view.js +220 -224
  284. package/esm2015/dialog/dialog-container.js +175 -164
  285. package/esm2015/dialog/dialog-content-directives.js +105 -114
  286. package/esm2015/dialog/dialog-module.js +32 -36
  287. package/esm2015/dialog/dialog-ref.js +17 -3
  288. package/esm2015/dialog/dialog.js +236 -240
  289. package/esm2015/dialog/testing/dialog-harness.js +58 -62
  290. package/esm2015/divider/divider-module.js +10 -14
  291. package/esm2015/divider/divider.js +33 -37
  292. package/esm2015/divider/testing/divider-harness.js +16 -20
  293. package/esm2015/expansion/accordion.js +73 -77
  294. package/esm2015/expansion/expansion-module.js +26 -30
  295. package/esm2015/expansion/expansion-panel-content.js +13 -17
  296. package/esm2015/expansion/expansion-panel-header.js +168 -180
  297. package/esm2015/expansion/expansion-panel.js +144 -152
  298. package/esm2015/expansion/testing/accordion-harness.js +24 -28
  299. package/esm2015/expansion/testing/expansion-harness.js +136 -134
  300. package/esm2015/form-field/error.js +26 -23
  301. package/esm2015/form-field/form-field-control.js +6 -10
  302. package/esm2015/form-field/form-field-module.js +31 -35
  303. package/esm2015/form-field/form-field.js +407 -409
  304. package/esm2015/form-field/hint.js +35 -29
  305. package/esm2015/form-field/label.js +8 -12
  306. package/esm2015/form-field/placeholder.js +8 -12
  307. package/esm2015/form-field/prefix.js +16 -13
  308. package/esm2015/form-field/suffix.js +16 -13
  309. package/esm2015/form-field/testing/form-field-harness.js +220 -206
  310. package/esm2015/grid-list/grid-list-module.js +26 -30
  311. package/esm2015/grid-list/grid-list.js +108 -112
  312. package/esm2015/grid-list/grid-tile.js +91 -111
  313. package/esm2015/grid-list/testing/grid-list-harness.js +62 -66
  314. package/esm2015/grid-list/testing/grid-tile-harness.js +69 -73
  315. package/esm2015/grid-list/tile-styler.js +1 -1
  316. package/esm2015/icon/icon-module.js +10 -14
  317. package/esm2015/icon/icon-registry.js +406 -410
  318. package/esm2015/icon/icon.js +228 -232
  319. package/esm2015/icon/testing/fake-icon-registry.js +66 -74
  320. package/esm2015/input/autosize.js +30 -34
  321. package/esm2015/input/input-module.js +21 -25
  322. package/esm2015/input/input.js +305 -284
  323. package/esm2015/input/testing/input-harness.js +129 -123
  324. package/esm2015/list/list-module.js +32 -36
  325. package/esm2015/list/list.js +165 -189
  326. package/esm2015/list/selection-list.js +503 -511
  327. package/esm2015/list/testing/action-list-harness.js +55 -57
  328. package/esm2015/list/testing/list-harness.js +31 -39
  329. package/esm2015/list/testing/list-item-harness-base.js +13 -17
  330. package/esm2015/list/testing/nav-list-harness.js +62 -64
  331. package/esm2015/list/testing/selection-list-harness.js +136 -138
  332. package/esm2015/menu/menu-content.js +74 -71
  333. package/esm2015/menu/menu-item.js +119 -123
  334. package/esm2015/menu/menu-module.js +29 -37
  335. package/esm2015/menu/menu-panel.js +1 -1
  336. package/esm2015/menu/menu-trigger.js +402 -405
  337. package/esm2015/menu/menu.js +329 -339
  338. package/esm2015/menu/testing/menu-harness.js +193 -189
  339. package/esm2015/paginator/paginator-intl.js +36 -40
  340. package/esm2015/paginator/paginator-module.js +16 -20
  341. package/esm2015/paginator/paginator.js +205 -209
  342. package/esm2015/paginator/testing/paginator-harness.js +91 -95
  343. package/esm2015/progress-bar/progress-bar-module.js +10 -14
  344. package/esm2015/progress-bar/progress-bar.js +114 -118
  345. package/esm2015/progress-bar/testing/progress-bar-harness.js +27 -31
  346. package/esm2015/progress-spinner/progress-spinner-module.js +17 -21
  347. package/esm2015/progress-spinner/progress-spinner.js +181 -189
  348. package/esm2015/progress-spinner/testing/progress-spinner-harness.js +28 -32
  349. package/esm2015/radio/radio-module.js +10 -14
  350. package/esm2015/radio/radio.js +437 -444
  351. package/esm2015/radio/testing/radio-harness.js +241 -243
  352. package/esm2015/select/select-module.js +23 -27
  353. package/esm2015/select/select.js +917 -918
  354. package/esm2015/select/testing/select-harness.js +138 -136
  355. package/esm2015/sidenav/drawer.js +632 -620
  356. package/esm2015/sidenav/sidenav-module.js +31 -35
  357. package/esm2015/sidenav/sidenav.js +104 -116
  358. package/esm2015/sidenav/testing/drawer-harness.js +40 -44
  359. package/esm2015/sidenav/testing/sidenav-harness.js +20 -24
  360. package/esm2015/slide-toggle/slide-toggle-module.js +27 -35
  361. package/esm2015/slide-toggle/slide-toggle-required-validator.js +9 -13
  362. package/esm2015/slide-toggle/slide-toggle.js +184 -188
  363. package/esm2015/slide-toggle/testing/slide-toggle-harness.js +123 -121
  364. package/esm2015/slider/slider-module.js +10 -14
  365. package/esm2015/slider/slider.js +640 -644
  366. package/esm2015/slider/testing/slider-harness.js +129 -127
  367. package/esm2015/snack-bar/simple-snack-bar.js +32 -36
  368. package/esm2015/snack-bar/snack-bar-container.js +144 -148
  369. package/esm2015/snack-bar/snack-bar-module.js +17 -21
  370. package/esm2015/snack-bar/snack-bar-ref.js +1 -1
  371. package/esm2015/snack-bar/snack-bar.js +208 -205
  372. package/esm2015/snack-bar/testing/snack-bar-harness.js +112 -116
  373. package/esm2015/sort/sort-header-intl.js +21 -21
  374. package/esm2015/sort/sort-header.js +200 -194
  375. package/esm2015/sort/sort-module.js +11 -15
  376. package/esm2015/sort/sort.js +92 -96
  377. package/esm2015/sort/testing/sort-harness.js +28 -32
  378. package/esm2015/sort/testing/sort-header-harness.js +66 -67
  379. package/esm2015/stepper/step-header.js +78 -82
  380. package/esm2015/stepper/step-label.js +8 -12
  381. package/esm2015/stepper/stepper-button.js +23 -31
  382. package/esm2015/stepper/stepper-icon.js +16 -20
  383. package/esm2015/stepper/stepper-intl.js +15 -19
  384. package/esm2015/stepper/stepper-module.js +40 -44
  385. package/esm2015/stepper/stepper.js +139 -155
  386. package/esm2015/table/cell.js +94 -122
  387. package/esm2015/table/row.js +90 -118
  388. package/esm2015/table/table-module.js +13 -17
  389. package/esm2015/table/table.js +26 -30
  390. package/esm2015/table/testing/cell-harness.js +56 -68
  391. package/esm2015/table/testing/row-harness.js +90 -102
  392. package/esm2015/table/testing/table-harness.js +65 -69
  393. package/esm2015/table/text-column.js +17 -21
  394. package/esm2015/tabs/index.js +4 -2
  395. package/esm2015/tabs/ink-bar.js +55 -59
  396. package/esm2015/tabs/paginated-tab-header.js +415 -419
  397. package/esm2015/tabs/tab-body.js +179 -191
  398. package/esm2015/tabs/tab-content.js +21 -16
  399. package/esm2015/tabs/tab-group.js +263 -271
  400. package/esm2015/tabs/tab-header.js +69 -77
  401. package/esm2015/tabs/tab-label-wrapper.js +29 -33
  402. package/esm2015/tabs/tab-label.js +16 -13
  403. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +199 -215
  404. package/esm2015/tabs/tab.js +80 -83
  405. package/esm2015/tabs/tabs-module.js +38 -42
  406. package/esm2015/tabs/testing/tab-group-harness.js +52 -56
  407. package/esm2015/tabs/testing/tab-harness.js +78 -82
  408. package/esm2015/toolbar/testing/index.js +9 -0
  409. package/esm2015/toolbar/testing/public-api.js +10 -0
  410. package/esm2015/toolbar/testing/testing.externs.js +0 -0
  411. package/esm2015/toolbar/testing/toolbar-harness-filters.js +8 -0
  412. package/esm2015/toolbar/testing/toolbar-harness.js +47 -0
  413. package/esm2015/toolbar/toolbar-module.js +10 -14
  414. package/esm2015/toolbar/toolbar.js +61 -69
  415. package/esm2015/tooltip/testing/tooltip-harness.js +43 -47
  416. package/esm2015/tooltip/tooltip-module.js +17 -21
  417. package/esm2015/tooltip/tooltip.js +502 -497
  418. package/esm2015/tree/data-source/flat-data-source.js +1 -1
  419. package/esm2015/tree/node.js +99 -111
  420. package/esm2015/tree/outlet.js +19 -23
  421. package/esm2015/tree/padding.js +13 -17
  422. package/esm2015/tree/toggle.js +15 -19
  423. package/esm2015/tree/tree-module.js +10 -14
  424. package/esm2015/tree/tree.js +23 -27
  425. package/expansion/testing/expansion-harness.d.ts +2 -0
  426. package/fesm2015/autocomplete/testing.js +98 -95
  427. package/fesm2015/autocomplete/testing.js.map +1 -1
  428. package/fesm2015/autocomplete.js +677 -687
  429. package/fesm2015/autocomplete.js.map +1 -1
  430. package/fesm2015/badge/testing.js +73 -76
  431. package/fesm2015/badge/testing.js.map +1 -1
  432. package/fesm2015/badge.js +195 -201
  433. package/fesm2015/badge.js.map +1 -1
  434. package/fesm2015/bottom-sheet/testing.js +28 -31
  435. package/fesm2015/bottom-sheet/testing.js.map +1 -1
  436. package/fesm2015/bottom-sheet.js +297 -306
  437. package/fesm2015/bottom-sheet.js.map +1 -1
  438. package/fesm2015/button/testing.js +59 -56
  439. package/fesm2015/button/testing.js.map +1 -1
  440. package/fesm2015/button-toggle/testing.js +155 -155
  441. package/fesm2015/button-toggle/testing.js.map +1 -1
  442. package/fesm2015/button-toggle.js +377 -378
  443. package/fesm2015/button-toggle.js.map +1 -1
  444. package/fesm2015/button.js +129 -133
  445. package/fesm2015/button.js.map +1 -1
  446. package/fesm2015/card/testing.js +79 -0
  447. package/fesm2015/card/testing.js.map +1 -0
  448. package/fesm2015/card.js +175 -220
  449. package/fesm2015/card.js.map +1 -1
  450. package/fesm2015/checkbox/testing.js +149 -146
  451. package/fesm2015/checkbox/testing.js.map +1 -1
  452. package/fesm2015/checkbox.js +342 -354
  453. package/fesm2015/checkbox.js.map +1 -1
  454. package/fesm2015/chips.js +1039 -1039
  455. package/fesm2015/chips.js.map +1 -1
  456. package/fesm2015/core/testing.js +88 -94
  457. package/fesm2015/core/testing.js.map +1 -1
  458. package/fesm2015/core.js +729 -773
  459. package/fesm2015/core.js.map +1 -1
  460. package/fesm2015/datepicker.js +2821 -2884
  461. package/fesm2015/datepicker.js.map +1 -1
  462. package/fesm2015/dialog/testing.js +57 -60
  463. package/fesm2015/dialog/testing.js.map +1 -1
  464. package/fesm2015/dialog.js +564 -549
  465. package/fesm2015/dialog.js.map +1 -1
  466. package/fesm2015/divider/testing.js +15 -18
  467. package/fesm2015/divider/testing.js.map +1 -1
  468. package/fesm2015/divider.js +41 -47
  469. package/fesm2015/divider.js.map +1 -1
  470. package/fesm2015/expansion/testing.js +159 -159
  471. package/fesm2015/expansion/testing.js.map +1 -1
  472. package/fesm2015/expansion.js +422 -446
  473. package/fesm2015/expansion.js.map +1 -1
  474. package/fesm2015/form-field/testing.js +219 -204
  475. package/fesm2015/form-field/testing.js.map +1 -1
  476. package/fesm2015/form-field.js +538 -532
  477. package/fesm2015/form-field.js.map +1 -1
  478. package/fesm2015/grid-list/testing.js +129 -135
  479. package/fesm2015/grid-list/testing.js.map +1 -1
  480. package/fesm2015/grid-list.js +221 -242
  481. package/fesm2015/grid-list.js.map +1 -1
  482. package/fesm2015/icon/testing.js +65 -71
  483. package/fesm2015/icon/testing.js.map +1 -1
  484. package/fesm2015/icon.js +660 -669
  485. package/fesm2015/icon.js.map +1 -1
  486. package/fesm2015/input/testing.js +128 -121
  487. package/fesm2015/input/testing.js.map +1 -1
  488. package/fesm2015/input.js +353 -337
  489. package/fesm2015/input.js.map +1 -1
  490. package/fesm2015/list/testing.js +298 -307
  491. package/fesm2015/list/testing.js.map +1 -1
  492. package/fesm2015/list.js +698 -725
  493. package/fesm2015/list.js.map +1 -1
  494. package/fesm2015/menu/testing.js +192 -186
  495. package/fesm2015/menu/testing.js.map +1 -1
  496. package/fesm2015/menu.js +948 -962
  497. package/fesm2015/menu.js.map +1 -1
  498. package/fesm2015/paginator/testing.js +90 -93
  499. package/fesm2015/paginator/testing.js.map +1 -1
  500. package/fesm2015/paginator.js +247 -256
  501. package/fesm2015/paginator.js.map +1 -1
  502. package/fesm2015/progress-bar/testing.js +26 -29
  503. package/fesm2015/progress-bar/testing.js.map +1 -1
  504. package/fesm2015/progress-bar.js +122 -128
  505. package/fesm2015/progress-bar.js.map +1 -1
  506. package/fesm2015/progress-spinner/testing.js +27 -30
  507. package/fesm2015/progress-spinner/testing.js.map +1 -1
  508. package/fesm2015/progress-spinner.js +196 -205
  509. package/fesm2015/progress-spinner.js.map +1 -1
  510. package/fesm2015/radio/testing.js +240 -240
  511. package/fesm2015/radio/testing.js.map +1 -1
  512. package/fesm2015/radio.js +447 -453
  513. package/fesm2015/radio.js.map +1 -1
  514. package/fesm2015/select/testing.js +137 -134
  515. package/fesm2015/select/testing.js.map +1 -1
  516. package/fesm2015/select.js +939 -941
  517. package/fesm2015/select.js.map +1 -1
  518. package/fesm2015/sidenav/testing.js +58 -64
  519. package/fesm2015/sidenav/testing.js.map +1 -1
  520. package/fesm2015/sidenav.js +765 -762
  521. package/fesm2015/sidenav.js.map +1 -1
  522. package/fesm2015/slide-toggle/testing.js +122 -119
  523. package/fesm2015/slide-toggle/testing.js.map +1 -1
  524. package/fesm2015/slide-toggle.js +217 -229
  525. package/fesm2015/slide-toggle.js.map +1 -1
  526. package/fesm2015/slider/testing.js +128 -125
  527. package/fesm2015/slider/testing.js.map +1 -1
  528. package/fesm2015/slider.js +648 -654
  529. package/fesm2015/slider.js.map +1 -1
  530. package/fesm2015/snack-bar/testing.js +111 -114
  531. package/fesm2015/snack-bar/testing.js.map +1 -1
  532. package/fesm2015/snack-bar.js +426 -431
  533. package/fesm2015/snack-bar.js.map +1 -1
  534. package/fesm2015/sort/testing.js +92 -95
  535. package/fesm2015/sort/testing.js.map +1 -1
  536. package/fesm2015/sort.js +320 -318
  537. package/fesm2015/sort.js.map +1 -1
  538. package/fesm2015/stepper.js +312 -345
  539. package/fesm2015/stepper.js.map +1 -1
  540. package/fesm2015/table/testing.js +208 -229
  541. package/fesm2015/table/testing.js.map +1 -1
  542. package/fesm2015/table.js +235 -286
  543. package/fesm2015/table.js.map +1 -1
  544. package/fesm2015/tabs/testing.js +128 -134
  545. package/fesm2015/tabs/testing.js.map +1 -1
  546. package/fesm2015/tabs.js +1362 -1399
  547. package/fesm2015/tabs.js.map +1 -1
  548. package/fesm2015/toolbar/testing.js +74 -0
  549. package/fesm2015/toolbar/testing.js.map +1 -0
  550. package/fesm2015/toolbar.js +69 -78
  551. package/fesm2015/toolbar.js.map +1 -1
  552. package/fesm2015/tooltip/testing.js +42 -45
  553. package/fesm2015/tooltip/testing.js.map +1 -1
  554. package/fesm2015/tooltip.js +517 -513
  555. package/fesm2015/tooltip.js.map +1 -1
  556. package/fesm2015/tree.js +173 -197
  557. package/fesm2015/tree.js.map +1 -1
  558. package/form-field/error.d.ts +7 -0
  559. package/form-field/hint.d.ts +10 -0
  560. package/form-field/index.metadata.json +1 -1
  561. package/form-field/prefix.d.ts +7 -0
  562. package/form-field/suffix.d.ts +7 -0
  563. package/form-field/testing/form-field-harness.d.ts +8 -0
  564. package/grid-list/grid-list.d.ts +2 -1
  565. package/grid-list/index.metadata.json +1 -1
  566. package/grid-list/tile-styler.d.ts +10 -5
  567. package/input/_input-theme.scss +2 -2
  568. package/input/index.metadata.json +1 -1
  569. package/input/input.d.ts +6 -2
  570. package/input/testing/input-harness.d.ts +2 -0
  571. package/list/index.metadata.json +1 -1
  572. package/list/testing/action-list-harness.d.ts +2 -0
  573. package/list/testing/nav-list-harness.d.ts +2 -0
  574. package/list/testing/selection-list-harness.d.ts +2 -0
  575. package/menu/index.metadata.json +1 -1
  576. package/menu/menu-content.d.ts +7 -1
  577. package/menu/menu-panel.d.ts +1 -0
  578. package/menu/menu.d.ts +4 -0
  579. package/menu/testing/menu-harness.d.ts +4 -0
  580. package/package.json +6 -6
  581. package/prebuilt-themes/deeppurple-amber.css +1 -1
  582. package/prebuilt-themes/indigo-pink.css +1 -1
  583. package/prebuilt-themes/pink-bluegrey.css +1 -1
  584. package/prebuilt-themes/purple-green.css +1 -1
  585. package/progress-spinner/index.metadata.json +1 -1
  586. package/radio/index.metadata.json +1 -1
  587. package/radio/radio.d.ts +6 -0
  588. package/radio/testing/radio-harness.d.ts +2 -0
  589. package/schematics/migration.json +5 -0
  590. package/schematics/ng-add/index.js +2 -2
  591. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +3 -3
  592. package/schematics/ng-generate/navigation/schema.json +5 -0
  593. package/schematics/ng-update/data/index.js +1 -1
  594. package/schematics/ng-update/index.d.ts +2 -0
  595. package/schematics/ng-update/index.js +7 -2
  596. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +639 -639
  597. package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.js +1 -1
  598. package/select/index.metadata.json +1 -1
  599. package/select/select.d.ts +6 -0
  600. package/select/testing/select-harness.d.ts +2 -0
  601. package/sidenav/drawer.d.ts +15 -3
  602. package/sidenav/index.metadata.json +1 -1
  603. package/slide-toggle/index.metadata.json +1 -1
  604. package/slide-toggle/testing/slide-toggle-harness.d.ts +2 -0
  605. package/slider/testing/slider-harness.d.ts +2 -0
  606. package/snack-bar/index.metadata.json +1 -1
  607. package/snack-bar/simple-snack-bar.d.ts +13 -1
  608. package/snack-bar/snack-bar-container.d.ts +16 -3
  609. package/snack-bar/snack-bar-ref.d.ts +3 -3
  610. package/snack-bar/snack-bar.d.ts +10 -3
  611. package/sort/index.metadata.json +1 -1
  612. package/sort/sort-header-intl.d.ts +5 -1
  613. package/sort/sort-header.d.ts +3 -1
  614. package/sort/testing/sort-header-harness.d.ts +6 -2
  615. package/tabs/index.d.ts +3 -1
  616. package/tabs/index.metadata.json +1 -1
  617. package/tabs/tab-content.d.ts +7 -1
  618. package/tabs/tab-label.d.ts +7 -0
  619. package/toolbar/testing/index.d.ts +8 -0
  620. package/toolbar/testing/package.json +9 -0
  621. package/toolbar/testing/public-api.d.ts +9 -0
  622. package/toolbar/testing/toolbar-harness-filters.d.ts +13 -0
  623. package/toolbar/testing/toolbar-harness.d.ts +31 -0
  624. package/tooltip/index.metadata.json +1 -1
  625. package/tooltip/tooltip.d.ts +1 -0
  626. package/tree/data-source/flat-data-source.d.ts +4 -4
  627. package/tree/index.metadata.json +1 -1
@@ -41,28 +41,28 @@
41
41
  * Use of this source code is governed by an MIT-style license that can be
42
42
  * found in the LICENSE file at https://angular.io/license
43
43
  */
44
- var S=function S(e,t){this.start=e,this.end=t},M=function(){function e(e,t){this.selection=e,this._adapter=t,this._selectionChanged=new c.Subject,this.selectionChanged=this._selectionChanged.asObservable(),this.selection=e}return e.prototype.updateSelection=function(e,t){this.selection=e,this._selectionChanged.next({selection:e,source:t})},e.prototype.ngOnDestroy=function(){this._selectionChanged.complete()},e.prototype._isValidDateInstance=function(e){return this._adapter.isDateInstance(e)&&this._adapter.isValid(e)},e.decorators=[{type:i.Directive}],e.ctorParameters=function(){return[{type:void 0},{type:l.DateAdapter}]},e}(),R=function(e){function t(t){return e.call(this,null,t)||this}return E(t,e),t.prototype.add=function(t){e.prototype.updateSelection.call(this,t,this)},t.prototype.isValid=function(){return null!=this.selection&&this._isValidDateInstance(this.selection)},t.prototype.isComplete=function(){return null!=this.selection},t.decorators=[{type:i.Injectable}],t.ctorParameters=function(){return[{type:l.DateAdapter}]},t}(M),P=function(e){function t(t){return e.call(this,new S(null,null),t)||this}return E(t,e),t.prototype.add=function(t){var a=this.selection,n=a.start,r=a.end;null==n?n=t:null==r?r=t:(n=t,r=null),e.prototype.updateSelection.call(this,new S(n,r),this)},t.prototype.isValid=function(){var e=this.selection,t=e.start,a=e.end;return null==t&&null==a||(null!=t&&null!=a?this._isValidDateInstance(t)&&this._isValidDateInstance(a)&&this._adapter.compareDate(t,a)<=0:(null==t||this._isValidDateInstance(t))&&(null==a||this._isValidDateInstance(a)))},t.prototype.isComplete=function(){return null!=this.selection.start&&null!=this.selection.end},t.decorators=[{type:i.Injectable}],t.ctorParameters=function(){return[{type:l.DateAdapter}]},t}(M);function T(e,t){return e||new R(t)}var F={provide:M,deps:[[new i.Optional,new i.SkipSelf,M],l.DateAdapter],useFactory:T};function Y(e,t){return e||new P(t)}var N={provide:M,deps:[[new i.Optional,new i.SkipSelf,M],l.DateAdapter],useFactory:Y},j=new i.InjectionToken("MAT_DATE_RANGE_SELECTION_STRATEGY"),L=function(){function e(e){this._dateAdapter=e}return e.prototype.selectionFinished=function(e,t){var a=t.start,n=t.end;return null==a?a=e:null==n&&e&&this._dateAdapter.compareDate(e,a)>=0?n=e:(a=e,n=null),new S(a,n)},e.prototype.createPreview=function(e,t){var a=null,n=null;return t.start&&!t.end&&e&&(a=t.start,n=e),new S(a,n)},e.decorators=[{type:i.Injectable}],e.ctorParameters=function(){return[{type:l.DateAdapter}]},e}(),B=function(){function e(e,t,a,n,r){if(this._changeDetectorRef=e,this._dateFormats=t,this._dateAdapter=a,this._dir=n,this._rangeStrategy=r,this._rerenderSubscription=c.Subscription.EMPTY,this.selectedChange=new i.EventEmitter,this._userSelection=new i.EventEmitter,this.activeDateChange=new i.EventEmitter,!this._dateAdapter)throw b("DateAdapter");if(!this._dateFormats)throw b("MAT_DATE_FORMATS");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate},set:function(e){var t=this._activeDate,a=this._getValidDateOrNull(this._dateAdapter.deserialize(e))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(a,this.minDate,this.maxDate),this._hasSameMonthAndYear(t,this._activeDate)||this._init()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e instanceof S?e:this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._setRanges(this._selected)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{get:function(){return this._minDate},set:function(e){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{get:function(){return this._maxDate},set:function(e){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;this._rerenderSubscription=this._dateAdapter.localeChanges.pipe(h.startWith(null)).subscribe((function(){return e._init()}))},e.prototype.ngOnDestroy=function(){this._rerenderSubscription.unsubscribe()},e.prototype._dateSelected=function(e){var t,a,n=e.value,r=this._dateAdapter.getYear(this.activeDate),i=this._dateAdapter.getMonth(this.activeDate),o=this._dateAdapter.createDate(r,i,n);this._selected instanceof S?(t=this._getDateInCurrentMonth(this._selected.start),a=this._getDateInCurrentMonth(this._selected.end)):t=a=this._getDateInCurrentMonth(this._selected),t===n&&a===n||this.selectedChange.emit(o),this._userSelection.emit({value:o,event:e.event})},e.prototype._handleCalendarBodyKeydown=function(e){var t=this._activeDate,a=this._isRtl();switch(e.keyCode){case p.LEFT_ARROW:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,a?1:-1);break;case p.RIGHT_ARROW:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,a?-1:1);break;case p.UP_ARROW:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case p.DOWN_ARROW:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case p.HOME:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case p.END:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case p.PAGE_UP:this.activeDate=e.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case p.PAGE_DOWN:this.activeDate=e.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case p.ENTER:case p.SPACE:return void(this.dateFilter&&!this.dateFilter(this._activeDate)||(this._dateSelected({value:this._dateAdapter.getDate(this._activeDate),event:e}),e.preventDefault()));case p.ESCAPE:return void(null!=this._previewEnd&&(this._previewStart=this._previewEnd=null,this.selectedChange.emit(null),this._userSelection.emit({value:null,event:e}),e.preventDefault(),e.stopPropagation()));default:return}this._dateAdapter.compareDate(t,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),e.preventDefault()},e.prototype._init=function(){this._setRanges(this.selected),this._todayDate=this._getCellCompareValue(this._dateAdapter.today()),this._monthLabel=this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();var e=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset=(7+this._dateAdapter.getDayOfWeek(e)-this._dateAdapter.getFirstDayOfWeek())%7,this._initWeekdays(),this._createWeekCells(),this._changeDetectorRef.markForCheck()},e.prototype._focusActiveCell=function(e){this._matCalendarBody._focusActiveCell(e)},e.prototype._previewChanged=function(e){var t=e.value;if(this._rangeStrategy){var a=this._rangeStrategy.createPreview(t?t.rawValue:null,this.selected,e.event);this._previewStart=this._getCellCompareValue(a.start),this._previewEnd=this._getCellCompareValue(a.end),this._changeDetectorRef.detectChanges()}},e.prototype._initWeekdays=function(){var e=this._dateAdapter.getFirstDayOfWeek(),t=this._dateAdapter.getDayOfWeekNames("narrow"),a=this._dateAdapter.getDayOfWeekNames("long").map((function(e,a){return{long:e,narrow:t[a]}}));this._weekdays=a.slice(e).concat(a.slice(0,e))},e.prototype._createWeekCells=function(){var e=this._dateAdapter.getNumDaysInMonth(this.activeDate),t=this._dateAdapter.getDateNames();this._weeks=[[]];for(var a=0,n=this._firstWeekOffset;a<e;a++,n++){7==n&&(this._weeks.push([]),n=0);var r=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),a+1),i=this._shouldEnableDate(r),o=this._dateAdapter.format(r,this._dateFormats.display.dateA11yLabel),s=this.dateClass?this.dateClass(r):void 0;this._weeks[this._weeks.length-1].push(new D(a+1,t[a],o,i,s,this._getCellCompareValue(r),r))}},e.prototype._shouldEnableDate=function(e){return!!e&&(!this.minDate||this._dateAdapter.compareDate(e,this.minDate)>=0)&&(!this.maxDate||this._dateAdapter.compareDate(e,this.maxDate)<=0)&&(!this.dateFilter||this.dateFilter(e))},e.prototype._getDateInCurrentMonth=function(e){return e&&this._hasSameMonthAndYear(e,this.activeDate)?this._dateAdapter.getDate(e):null},e.prototype._hasSameMonthAndYear=function(e,t){return!(!e||!t||this._dateAdapter.getMonth(e)!=this._dateAdapter.getMonth(t)||this._dateAdapter.getYear(e)!=this._dateAdapter.getYear(t))},e.prototype._getCellCompareValue=function(e){if(e){var t=this._dateAdapter.getYear(e),a=this._dateAdapter.getMonth(e),n=this._dateAdapter.getDate(e);return new Date(t,a,n).getTime()}return null},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._isRtl=function(){return this._dir&&"rtl"===this._dir.value},e.prototype._setRanges=function(e){e instanceof S?(this._rangeStart=this._getCellCompareValue(e.start),this._rangeEnd=this._getCellCompareValue(e.end),this._isRange=!0):(this._rangeStart=this._rangeEnd=this._getCellCompareValue(e),this._isRange=!1),this._comparisonRangeStart=this._getCellCompareValue(this.comparisonStart),this._comparisonRangeEnd=this._getCellCompareValue(this.comparisonEnd)},e.decorators=[{type:i.Component,args:[{selector:"mat-month-view",template:'<table class="mat-calendar-table" role="presentation">\n <thead class="mat-calendar-table-header">\n <tr>\n <th scope="col" *ngFor="let day of _weekdays" [attr.aria-label]="day.long">{{day.narrow}}</th>\n </tr>\n <tr><th class="mat-calendar-table-header-divider" colspan="7" aria-hidden="true"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]="_monthLabel"\n [rows]="_weeks"\n [todayValue]="_todayDate!"\n [startValue]="_rangeStart!"\n [endValue]="_rangeEnd!"\n [comparisonStart]="_comparisonRangeStart"\n [comparisonEnd]="_comparisonRangeEnd"\n [previewStart]="_previewStart"\n [previewEnd]="_previewEnd"\n [isRange]="_isRange"\n [labelMinRequiredCells]="3"\n [activeCell]="_dateAdapter.getDate(activeDate) - 1"\n (selectedValueChange)="_dateSelected($event)"\n (previewChange)="_previewChanged($event)"\n (keydown)="_handleCalendarBodyKeydown($event)">\n </tbody>\n</table>\n',exportAs:"matMonthView",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Inject,args:[j]},{type:i.Optional}]}]},e.propDecorators={activeDate:[{type:i.Input}],selected:[{type:i.Input}],minDate:[{type:i.Input}],maxDate:[{type:i.Input}],dateFilter:[{type:i.Input}],dateClass:[{type:i.Input}],comparisonStart:[{type:i.Input}],comparisonEnd:[{type:i.Input}],selectedChange:[{type:i.Output}],_userSelection:[{type:i.Output}],activeDateChange:[{type:i.Output}],_matCalendarBody:[{type:i.ViewChild,args:[C]}]},e}(),z=24,W=function(){function e(e,t,a){if(this._changeDetectorRef=e,this._dateAdapter=t,this._dir=a,this._rerenderSubscription=c.Subscription.EMPTY,this.selectedChange=new i.EventEmitter,this.yearSelected=new i.EventEmitter,this.activeDateChange=new i.EventEmitter,!this._dateAdapter)throw b("DateAdapter");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate},set:function(e){var t=this._activeDate,a=this._getValidDateOrNull(this._dateAdapter.deserialize(e))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(a,this.minDate,this.maxDate),H(this._dateAdapter,t,this._activeDate,this.minDate,this.maxDate)||this._init()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e instanceof S?e:this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._setSelectedYear(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{get:function(){return this._minDate},set:function(e){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{get:function(){return this._maxDate},set:function(e){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;this._rerenderSubscription=this._dateAdapter.localeChanges.pipe(h.startWith(null)).subscribe((function(){return e._init()}))},e.prototype.ngOnDestroy=function(){this._rerenderSubscription.unsubscribe()},e.prototype._init=function(){var e=this;this._todayYear=this._dateAdapter.getYear(this._dateAdapter.today());var t=this._dateAdapter.getYear(this._activeDate)-G(this._dateAdapter,this.activeDate,this.minDate,this.maxDate);this._years=[];for(var a=0,n=[];a<z;a++)n.push(t+a),4==n.length&&(this._years.push(n.map((function(t){return e._createCellForYear(t)}))),n=[]);this._changeDetectorRef.markForCheck()},e.prototype._yearSelected=function(e){var t=e.value;this.yearSelected.emit(this._dateAdapter.createDate(t,0,1));var a=this._dateAdapter.getMonth(this.activeDate),n=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(t,a,1));this.selectedChange.emit(this._dateAdapter.createDate(t,a,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},e.prototype._handleCalendarBodyKeydown=function(e){var t=this._activeDate,a=this._isRtl();switch(e.keyCode){case p.LEFT_ARROW:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,a?1:-1);break;case p.RIGHT_ARROW:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,a?-1:1);break;case p.UP_ARROW:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-4);break;case p.DOWN_ARROW:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,4);break;case p.HOME:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-G(this._dateAdapter,this.activeDate,this.minDate,this.maxDate));break;case p.END:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,z-G(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)-1);break;case p.PAGE_UP:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?10*-z:-z);break;case p.PAGE_DOWN:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?10*z:z);break;case p.ENTER:case p.SPACE:this._yearSelected({value:this._dateAdapter.getYear(this._activeDate),event:e});break;default:return}this._dateAdapter.compareDate(t,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),e.preventDefault()},e.prototype._getActiveCell=function(){return G(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)},e.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},e.prototype._createCellForYear=function(e){var t=this._dateAdapter.getYearName(this._dateAdapter.createDate(e,0,1));return new D(e,t,t,this._shouldEnableYear(e))},e.prototype._shouldEnableYear=function(e){if(null==e||this.maxDate&&e>this._dateAdapter.getYear(this.maxDate)||this.minDate&&e<this._dateAdapter.getYear(this.minDate))return!1;if(!this.dateFilter)return!0;for(var t=this._dateAdapter.createDate(e,0,1);this._dateAdapter.getYear(t)==e;t=this._dateAdapter.addCalendarDays(t,1))if(this.dateFilter(t))return!0;return!1},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._isRtl=function(){return this._dir&&"rtl"===this._dir.value},e.prototype._setSelectedYear=function(e){if(this._selectedYear=null,e instanceof S){var t=e.start||e.end;t&&(this._selectedYear=this._dateAdapter.getYear(t))}else e&&(this._selectedYear=this._dateAdapter.getYear(e))},e.decorators=[{type:i.Component,args:[{selector:"mat-multi-year-view",template:'<table class="mat-calendar-table" role="presentation">\n <thead class="mat-calendar-table-header">\n <tr><th class="mat-calendar-table-header-divider" colspan="4"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [rows]="_years"\n [todayValue]="_todayYear"\n [startValue]="_selectedYear!"\n [endValue]="_selectedYear!"\n [numCols]="4"\n [cellAspectRatio]="4 / 7"\n [activeCell]="_getActiveCell()"\n (selectedValueChange)="_yearSelected($event)"\n (keydown)="_handleCalendarBodyKeydown($event)">\n </tbody>\n</table>\n',exportAs:"matMultiYearView",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]}]},e.propDecorators={activeDate:[{type:i.Input}],selected:[{type:i.Input}],minDate:[{type:i.Input}],maxDate:[{type:i.Input}],dateFilter:[{type:i.Input}],selectedChange:[{type:i.Output}],yearSelected:[{type:i.Output}],activeDateChange:[{type:i.Output}],_matCalendarBody:[{type:i.ViewChild,args:[C]}]},e}();
44
+ var S=function S(e,t){this.start=e,this.end=t},M=function(){function e(e,t){this.selection=e,this._adapter=t,this._selectionChanged=new c.Subject,this.selectionChanged=this._selectionChanged.asObservable(),this.selection=e}return e.prototype.updateSelection=function(e,t){this.selection=e,this._selectionChanged.next({selection:e,source:t})},e.prototype.ngOnDestroy=function(){this._selectionChanged.complete()},e.prototype._isValidDateInstance=function(e){return this._adapter.isDateInstance(e)&&this._adapter.isValid(e)},e.decorators=[{type:i.Directive}],e.ctorParameters=function(){return[{type:void 0},{type:l.DateAdapter}]},e}(),R=function(e){function t(t){return e.call(this,null,t)||this}return E(t,e),t.prototype.add=function(t){e.prototype.updateSelection.call(this,t,this)},t.prototype.isValid=function(){return null!=this.selection&&this._isValidDateInstance(this.selection)},t.prototype.isComplete=function(){return null!=this.selection},t.decorators=[{type:i.Injectable}],t.ctorParameters=function(){return[{type:l.DateAdapter}]},t}(M),P=function(e){function t(t){return e.call(this,new S(null,null),t)||this}return E(t,e),t.prototype.add=function(t){var a=this.selection,n=a.start,r=a.end;null==n?n=t:null==r?r=t:(n=t,r=null),e.prototype.updateSelection.call(this,new S(n,r),this)},t.prototype.isValid=function(){var e=this.selection,t=e.start,a=e.end;return null==t&&null==a||(null!=t&&null!=a?this._isValidDateInstance(t)&&this._isValidDateInstance(a)&&this._adapter.compareDate(t,a)<=0:(null==t||this._isValidDateInstance(t))&&(null==a||this._isValidDateInstance(a)))},t.prototype.isComplete=function(){return null!=this.selection.start&&null!=this.selection.end},t.decorators=[{type:i.Injectable}],t.ctorParameters=function(){return[{type:l.DateAdapter}]},t}(M);function T(e,t){return e||new R(t)}var F={provide:M,deps:[[new i.Optional,new i.SkipSelf,M],l.DateAdapter],useFactory:T};function Y(e,t){return e||new P(t)}var N={provide:M,deps:[[new i.Optional,new i.SkipSelf,M],l.DateAdapter],useFactory:Y},j=new i.InjectionToken("MAT_DATE_RANGE_SELECTION_STRATEGY"),L=function(){function e(e){this._dateAdapter=e}return e.prototype.selectionFinished=function(e,t){var a=t.start,n=t.end;return null==a?a=e:null==n&&e&&this._dateAdapter.compareDate(e,a)>=0?n=e:(a=e,n=null),new S(a,n)},e.prototype.createPreview=function(e,t){var a=null,n=null;return t.start&&!t.end&&e&&(a=t.start,n=e),new S(a,n)},e.decorators=[{type:i.Injectable}],e.ctorParameters=function(){return[{type:l.DateAdapter}]},e}(),B=function(){function e(e,t,a,n,r){if(this._changeDetectorRef=e,this._dateFormats=t,this._dateAdapter=a,this._dir=n,this._rangeStrategy=r,this._rerenderSubscription=c.Subscription.EMPTY,this.selectedChange=new i.EventEmitter,this._userSelection=new i.EventEmitter,this.activeDateChange=new i.EventEmitter,!this._dateAdapter)throw b("DateAdapter");if(!this._dateFormats)throw b("MAT_DATE_FORMATS");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate},set:function(e){var t=this._activeDate,a=this._getValidDateOrNull(this._dateAdapter.deserialize(e))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(a,this.minDate,this.maxDate),this._hasSameMonthAndYear(t,this._activeDate)||this._init()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e instanceof S?e:this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._setRanges(this._selected)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{get:function(){return this._minDate},set:function(e){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{get:function(){return this._maxDate},set:function(e){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;this._rerenderSubscription=this._dateAdapter.localeChanges.pipe(h.startWith(null)).subscribe((function(){return e._init()}))},e.prototype.ngOnDestroy=function(){this._rerenderSubscription.unsubscribe()},e.prototype._dateSelected=function(e){var t,a,n=e.value,r=this._dateAdapter.getYear(this.activeDate),i=this._dateAdapter.getMonth(this.activeDate),o=this._dateAdapter.createDate(r,i,n);this._selected instanceof S?(t=this._getDateInCurrentMonth(this._selected.start),a=this._getDateInCurrentMonth(this._selected.end)):t=a=this._getDateInCurrentMonth(this._selected),t===n&&a===n||this.selectedChange.emit(o),this._userSelection.emit({value:o,event:e.event})},e.prototype._handleCalendarBodyKeydown=function(e){var t=this._activeDate,a=this._isRtl();switch(e.keyCode){case p.LEFT_ARROW:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,a?1:-1);break;case p.RIGHT_ARROW:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,a?-1:1);break;case p.UP_ARROW:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case p.DOWN_ARROW:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case p.HOME:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case p.END:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case p.PAGE_UP:this.activeDate=e.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case p.PAGE_DOWN:this.activeDate=e.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case p.ENTER:case p.SPACE:return void(this.dateFilter&&!this.dateFilter(this._activeDate)||(this._dateSelected({value:this._dateAdapter.getDate(this._activeDate),event:e}),e.preventDefault()));case p.ESCAPE:return void(null!=this._previewEnd&&(this._previewStart=this._previewEnd=null,this.selectedChange.emit(null),this._userSelection.emit({value:null,event:e}),e.preventDefault(),e.stopPropagation()));default:return}this._dateAdapter.compareDate(t,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),e.preventDefault()},e.prototype._init=function(){this._setRanges(this.selected),this._todayDate=this._getCellCompareValue(this._dateAdapter.today()),this._monthLabel=this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();var e=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset=(7+this._dateAdapter.getDayOfWeek(e)-this._dateAdapter.getFirstDayOfWeek())%7,this._initWeekdays(),this._createWeekCells(),this._changeDetectorRef.markForCheck()},e.prototype._focusActiveCell=function(e){this._matCalendarBody._focusActiveCell(e)},e.prototype._previewChanged=function(e){var t=e.value;if(this._rangeStrategy){var a=this._rangeStrategy.createPreview(t?t.rawValue:null,this.selected,e.event);this._previewStart=this._getCellCompareValue(a.start),this._previewEnd=this._getCellCompareValue(a.end),this._changeDetectorRef.detectChanges()}},e.prototype._initWeekdays=function(){var e=this._dateAdapter.getFirstDayOfWeek(),t=this._dateAdapter.getDayOfWeekNames("narrow"),a=this._dateAdapter.getDayOfWeekNames("long").map((function(e,a){return{long:e,narrow:t[a]}}));this._weekdays=a.slice(e).concat(a.slice(0,e))},e.prototype._createWeekCells=function(){var e=this._dateAdapter.getNumDaysInMonth(this.activeDate),t=this._dateAdapter.getDateNames();this._weeks=[[]];for(var a=0,n=this._firstWeekOffset;a<e;a++,n++){7==n&&(this._weeks.push([]),n=0);var r=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),a+1),i=this._shouldEnableDate(r),o=this._dateAdapter.format(r,this._dateFormats.display.dateA11yLabel),s=this.dateClass?this.dateClass(r):void 0;this._weeks[this._weeks.length-1].push(new D(a+1,t[a],o,i,s,this._getCellCompareValue(r),r))}},e.prototype._shouldEnableDate=function(e){return!!e&&(!this.minDate||this._dateAdapter.compareDate(e,this.minDate)>=0)&&(!this.maxDate||this._dateAdapter.compareDate(e,this.maxDate)<=0)&&(!this.dateFilter||this.dateFilter(e))},e.prototype._getDateInCurrentMonth=function(e){return e&&this._hasSameMonthAndYear(e,this.activeDate)?this._dateAdapter.getDate(e):null},e.prototype._hasSameMonthAndYear=function(e,t){return!(!e||!t||this._dateAdapter.getMonth(e)!=this._dateAdapter.getMonth(t)||this._dateAdapter.getYear(e)!=this._dateAdapter.getYear(t))},e.prototype._getCellCompareValue=function(e){if(e){var t=this._dateAdapter.getYear(e),a=this._dateAdapter.getMonth(e),n=this._dateAdapter.getDate(e);return new Date(t,a,n).getTime()}return null},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._isRtl=function(){return this._dir&&"rtl"===this._dir.value},e.prototype._setRanges=function(e){e instanceof S?(this._rangeStart=this._getCellCompareValue(e.start),this._rangeEnd=this._getCellCompareValue(e.end),this._isRange=!0):(this._rangeStart=this._rangeEnd=this._getCellCompareValue(e),this._isRange=!1),this._comparisonRangeStart=this._getCellCompareValue(this.comparisonStart),this._comparisonRangeEnd=this._getCellCompareValue(this.comparisonEnd)},e.decorators=[{type:i.Component,args:[{selector:"mat-month-view",template:'<table class="mat-calendar-table" role="presentation">\n <thead class="mat-calendar-table-header">\n <tr>\n <th scope="col" *ngFor="let day of _weekdays" [attr.aria-label]="day.long">{{day.narrow}}</th>\n </tr>\n <tr><th class="mat-calendar-table-header-divider" colspan="7" aria-hidden="true"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]="_monthLabel"\n [rows]="_weeks"\n [todayValue]="_todayDate!"\n [startValue]="_rangeStart!"\n [endValue]="_rangeEnd!"\n [comparisonStart]="_comparisonRangeStart"\n [comparisonEnd]="_comparisonRangeEnd"\n [previewStart]="_previewStart"\n [previewEnd]="_previewEnd"\n [isRange]="_isRange"\n [labelMinRequiredCells]="3"\n [activeCell]="_dateAdapter.getDate(activeDate) - 1"\n (selectedValueChange)="_dateSelected($event)"\n (previewChange)="_previewChanged($event)"\n (keydown)="_handleCalendarBodyKeydown($event)">\n </tbody>\n</table>\n',exportAs:"matMonthView",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Inject,args:[j]},{type:i.Optional}]}]},e.propDecorators={activeDate:[{type:i.Input}],selected:[{type:i.Input}],minDate:[{type:i.Input}],maxDate:[{type:i.Input}],dateFilter:[{type:i.Input}],dateClass:[{type:i.Input}],comparisonStart:[{type:i.Input}],comparisonEnd:[{type:i.Input}],selectedChange:[{type:i.Output}],_userSelection:[{type:i.Output}],activeDateChange:[{type:i.Output}],_matCalendarBody:[{type:i.ViewChild,args:[C]}]},e}(),z=function(){function e(e,t,a){if(this._changeDetectorRef=e,this._dateAdapter=t,this._dir=a,this._rerenderSubscription=c.Subscription.EMPTY,this.selectedChange=new i.EventEmitter,this.yearSelected=new i.EventEmitter,this.activeDateChange=new i.EventEmitter,!this._dateAdapter)throw b("DateAdapter");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate},set:function(e){var t=this._activeDate,a=this._getValidDateOrNull(this._dateAdapter.deserialize(e))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(a,this.minDate,this.maxDate),W(this._dateAdapter,t,this._activeDate,this.minDate,this.maxDate)||this._init()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e instanceof S?e:this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._setSelectedYear(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{get:function(){return this._minDate},set:function(e){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{get:function(){return this._maxDate},set:function(e){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;this._rerenderSubscription=this._dateAdapter.localeChanges.pipe(h.startWith(null)).subscribe((function(){return e._init()}))},e.prototype.ngOnDestroy=function(){this._rerenderSubscription.unsubscribe()},e.prototype._init=function(){var e=this;this._todayYear=this._dateAdapter.getYear(this._dateAdapter.today());var t=this._dateAdapter.getYear(this._activeDate)-H(this._dateAdapter,this.activeDate,this.minDate,this.maxDate);this._years=[];for(var a=0,n=[];a<24;a++)n.push(t+a),4==n.length&&(this._years.push(n.map((function(t){return e._createCellForYear(t)}))),n=[]);this._changeDetectorRef.markForCheck()},e.prototype._yearSelected=function(e){var t=e.value;this.yearSelected.emit(this._dateAdapter.createDate(t,0,1));var a=this._dateAdapter.getMonth(this.activeDate),n=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(t,a,1));this.selectedChange.emit(this._dateAdapter.createDate(t,a,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},e.prototype._handleCalendarBodyKeydown=function(e){var t=this._activeDate,a=this._isRtl();switch(e.keyCode){case p.LEFT_ARROW:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,a?1:-1);break;case p.RIGHT_ARROW:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,a?-1:1);break;case p.UP_ARROW:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-4);break;case p.DOWN_ARROW:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,4);break;case p.HOME:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-H(this._dateAdapter,this.activeDate,this.minDate,this.maxDate));break;case p.END:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,24-H(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)-1);break;case p.PAGE_UP:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?-240:-24);break;case p.PAGE_DOWN:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?240:24);break;case p.ENTER:case p.SPACE:this._yearSelected({value:this._dateAdapter.getYear(this._activeDate),event:e});break;default:return}this._dateAdapter.compareDate(t,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),e.preventDefault()},e.prototype._getActiveCell=function(){return H(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)},e.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},e.prototype._createCellForYear=function(e){var t=this._dateAdapter.getYearName(this._dateAdapter.createDate(e,0,1));return new D(e,t,t,this._shouldEnableYear(e))},e.prototype._shouldEnableYear=function(e){if(null==e||this.maxDate&&e>this._dateAdapter.getYear(this.maxDate)||this.minDate&&e<this._dateAdapter.getYear(this.minDate))return!1;if(!this.dateFilter)return!0;for(var t=this._dateAdapter.createDate(e,0,1);this._dateAdapter.getYear(t)==e;t=this._dateAdapter.addCalendarDays(t,1))if(this.dateFilter(t))return!0;return!1},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._isRtl=function(){return this._dir&&"rtl"===this._dir.value},e.prototype._setSelectedYear=function(e){if(this._selectedYear=null,e instanceof S){var t=e.start||e.end;t&&(this._selectedYear=this._dateAdapter.getYear(t))}else e&&(this._selectedYear=this._dateAdapter.getYear(e))},e.decorators=[{type:i.Component,args:[{selector:"mat-multi-year-view",template:'<table class="mat-calendar-table" role="presentation">\n <thead class="mat-calendar-table-header">\n <tr><th class="mat-calendar-table-header-divider" colspan="4"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [rows]="_years"\n [todayValue]="_todayYear"\n [startValue]="_selectedYear!"\n [endValue]="_selectedYear!"\n [numCols]="4"\n [cellAspectRatio]="4 / 7"\n [activeCell]="_getActiveCell()"\n (selectedValueChange)="_yearSelected($event)"\n (keydown)="_handleCalendarBodyKeydown($event)">\n </tbody>\n</table>\n',exportAs:"matMultiYearView",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]}]},e.propDecorators={activeDate:[{type:i.Input}],selected:[{type:i.Input}],minDate:[{type:i.Input}],maxDate:[{type:i.Input}],dateFilter:[{type:i.Input}],selectedChange:[{type:i.Output}],yearSelected:[{type:i.Output}],activeDateChange:[{type:i.Output}],_matCalendarBody:[{type:i.ViewChild,args:[C]}]},e}();
45
45
  /**
46
46
  * @license
47
47
  * Copyright Google LLC All Rights Reserved.
48
48
  *
49
49
  * Use of this source code is governed by an MIT-style license that can be
50
50
  * found in the LICENSE file at https://angular.io/license
51
- */function H(e,t,a,n,r){var i=e.getYear(t),o=e.getYear(a),s=q(e,n,r);return Math.floor((i-s)/z)===Math.floor((o-s)/z)}function G(e,t,a,n){return function r(e,t){return(e%t+t)%t}
51
+ */function W(e,t,a,n,r){var i=e.getYear(t),o=e.getYear(a),s=G(e,n,r);return Math.floor((i-s)/24)===Math.floor((o-s)/24)}function H(e,t,a,n){return function r(e,t){return(e%t+t)%t}
52
52
  /**
53
53
  * @license
54
54
  * Copyright Google LLC All Rights Reserved.
55
55
  *
56
56
  * Use of this source code is governed by an MIT-style license that can be
57
57
  * found in the LICENSE file at https://angular.io/license
58
- */(e.getYear(t)-q(e,a,n),z)}function q(e,t,a){var n=0;return a?n=e.getYear(a)-z+1:t&&(n=e.getYear(t)),n}var U=function(){function e(e,t,a,n){if(this._changeDetectorRef=e,this._dateFormats=t,this._dateAdapter=a,this._dir=n,this._rerenderSubscription=c.Subscription.EMPTY,this.selectedChange=new i.EventEmitter,this.monthSelected=new i.EventEmitter,this.activeDateChange=new i.EventEmitter,!this._dateAdapter)throw b("DateAdapter");if(!this._dateFormats)throw b("MAT_DATE_FORMATS");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate},set:function(e){var t=this._activeDate,a=this._getValidDateOrNull(this._dateAdapter.deserialize(e))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(a,this.minDate,this.maxDate),this._dateAdapter.getYear(t)!==this._dateAdapter.getYear(this._activeDate)&&this._init()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e instanceof S?e:this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._setSelectedMonth(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{get:function(){return this._minDate},set:function(e){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{get:function(){return this._maxDate},set:function(e){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;this._rerenderSubscription=this._dateAdapter.localeChanges.pipe(h.startWith(null)).subscribe((function(){return e._init()}))},e.prototype.ngOnDestroy=function(){this._rerenderSubscription.unsubscribe()},e.prototype._monthSelected=function(e){var t=e.value,a=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1);this.monthSelected.emit(a);var n=this._dateAdapter.getNumDaysInMonth(a);this.selectedChange.emit(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},e.prototype._handleCalendarBodyKeydown=function(e){var t=this._activeDate,a=this._isRtl();switch(e.keyCode){case p.LEFT_ARROW:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,a?1:-1);break;case p.RIGHT_ARROW:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,a?-1:1);break;case p.UP_ARROW:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case p.DOWN_ARROW:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case p.HOME:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case p.END:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case p.PAGE_UP:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?-10:-1);break;case p.PAGE_DOWN:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?10:1);break;case p.ENTER:case p.SPACE:this._monthSelected({value:this._dateAdapter.getMonth(this._activeDate),event:e});break;default:return}this._dateAdapter.compareDate(t,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),e.preventDefault()},e.prototype._init=function(){var e=this;this._setSelectedMonth(this.selected),this._todayMonth=this._getMonthInCurrentYear(this._dateAdapter.today()),this._yearLabel=this._dateAdapter.getYearName(this.activeDate);var t=this._dateAdapter.getMonthNames("short");this._months=[[0,1,2,3],[4,5,6,7],[8,9,10,11]].map((function(a){return a.map((function(a){return e._createCellForMonth(a,t[a])}))})),this._changeDetectorRef.markForCheck()},e.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},e.prototype._getMonthInCurrentYear=function(e){return e&&this._dateAdapter.getYear(e)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(e):null},e.prototype._createCellForMonth=function(e,t){var a=this._dateAdapter.format(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),e,1),this._dateFormats.display.monthYearA11yLabel);return new D(e,t.toLocaleUpperCase(),a,this._shouldEnableMonth(e))},e.prototype._shouldEnableMonth=function(e){var t=this._dateAdapter.getYear(this.activeDate);if(null==e||this._isYearAndMonthAfterMaxDate(t,e)||this._isYearAndMonthBeforeMinDate(t,e))return!1;if(!this.dateFilter)return!0;for(var a=this._dateAdapter.createDate(t,e,1);this._dateAdapter.getMonth(a)==e;a=this._dateAdapter.addCalendarDays(a,1))if(this.dateFilter(a))return!0;return!1},e.prototype._isYearAndMonthAfterMaxDate=function(e,t){if(this.maxDate){var a=this._dateAdapter.getYear(this.maxDate),n=this._dateAdapter.getMonth(this.maxDate);return e>a||e===a&&t>n}return!1},e.prototype._isYearAndMonthBeforeMinDate=function(e,t){if(this.minDate){var a=this._dateAdapter.getYear(this.minDate),n=this._dateAdapter.getMonth(this.minDate);return e<a||e===a&&t<n}return!1},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._isRtl=function(){return this._dir&&"rtl"===this._dir.value},e.prototype._setSelectedMonth=function(e){this._selectedMonth=e instanceof S?this._getMonthInCurrentYear(e.start)||this._getMonthInCurrentYear(e.end):this._getMonthInCurrentYear(e)},e.decorators=[{type:i.Component,args:[{selector:"mat-year-view",template:'<table class="mat-calendar-table" role="presentation">\n <thead class="mat-calendar-table-header">\n <tr><th class="mat-calendar-table-header-divider" colspan="4"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]="_yearLabel"\n [rows]="_months"\n [todayValue]="_todayMonth!"\n [startValue]="_selectedMonth!"\n [endValue]="_selectedMonth!"\n [labelMinRequiredCells]="2"\n [numCols]="4"\n [cellAspectRatio]="4 / 7"\n [activeCell]="_dateAdapter.getMonth(activeDate)"\n (selectedValueChange)="_monthSelected($event)"\n (keydown)="_handleCalendarBodyKeydown($event)">\n </tbody>\n</table>\n',exportAs:"matYearView",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]}]},e.propDecorators={activeDate:[{type:i.Input}],selected:[{type:i.Input}],minDate:[{type:i.Input}],maxDate:[{type:i.Input}],dateFilter:[{type:i.Input}],selectedChange:[{type:i.Output}],monthSelected:[{type:i.Output}],activeDateChange:[{type:i.Output}],_matCalendarBody:[{type:i.ViewChild,args:[C]}]},e}(),K=function(){function e(e,t,a,n,r){this._intl=e,this.calendar=t,this._dateAdapter=a,this._dateFormats=n,this.calendar.stateChanges.subscribe((function(){return r.markForCheck()}))}return Object.defineProperty(e.prototype,"periodButtonText",{get:function(){if("month"==this.calendar.currentView)return this._dateAdapter.format(this.calendar.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase();if("year"==this.calendar.currentView)return this._dateAdapter.getYearName(this.calendar.activeDate);var e=this._dateAdapter.getYear(this.calendar.activeDate)-G(this._dateAdapter,this.calendar.activeDate,this.calendar.minDate,this.calendar.maxDate),t=e+z-1,a=this._dateAdapter.getYearName(this._dateAdapter.createDate(e,0,1)),n=this._dateAdapter.getYearName(this._dateAdapter.createDate(t,0,1));return this._intl.formatYearRange(a,n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"periodButtonLabel",{get:function(){return"month"==this.calendar.currentView?this._intl.switchToMultiYearViewLabel:this._intl.switchToMonthViewLabel},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"prevButtonLabel",{get:function(){return{month:this._intl.prevMonthLabel,year:this._intl.prevYearLabel,"multi-year":this._intl.prevMultiYearLabel}[this.calendar.currentView]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextButtonLabel",{get:function(){return{month:this._intl.nextMonthLabel,year:this._intl.nextYearLabel,"multi-year":this._intl.nextMultiYearLabel}[this.calendar.currentView]},enumerable:!1,configurable:!0}),e.prototype.currentPeriodClicked=function(){this.calendar.currentView="month"==this.calendar.currentView?"multi-year":"month"},e.prototype.previousClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?-1:-z)},e.prototype.nextClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?1:z)},e.prototype.previousEnabled=function(){return!this.calendar.minDate||!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate)},e.prototype.nextEnabled=function(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)},e.prototype._isSameView=function(e,t){return"month"==this.calendar.currentView?this._dateAdapter.getYear(e)==this._dateAdapter.getYear(t)&&this._dateAdapter.getMonth(e)==this._dateAdapter.getMonth(t):"year"==this.calendar.currentView?this._dateAdapter.getYear(e)==this._dateAdapter.getYear(t):H(this._dateAdapter,e,t,this.calendar.minDate,this.calendar.maxDate)},e.decorators=[{type:i.Component,args:[{selector:"mat-calendar-header",template:'<div class="mat-calendar-header">\n <div class="mat-calendar-controls">\n <button mat-button type="button" class="mat-calendar-period-button"\n (click)="currentPeriodClicked()" [attr.aria-label]="periodButtonLabel"\n cdkAriaLive="polite">\n {{periodButtonText}}\n <div class="mat-calendar-arrow"\n [class.mat-calendar-invert]="calendar.currentView != \'month\'"></div>\n </button>\n\n <div class="mat-calendar-spacer"></div>\n\n <ng-content></ng-content>\n\n <button mat-icon-button type="button" class="mat-calendar-previous-button"\n [disabled]="!previousEnabled()" (click)="previousClicked()"\n [attr.aria-label]="prevButtonLabel">\n </button>\n\n <button mat-icon-button type="button" class="mat-calendar-next-button"\n [disabled]="!nextEnabled()" (click)="nextClicked()"\n [attr.aria-label]="nextButtonLabel">\n </button>\n </div>\n</div>\n',exportAs:"matCalendarHeader",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:v},{type:$,decorators:[{type:i.Inject,args:[i.forwardRef((function(){return $}))]}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:i.ChangeDetectorRef}]},e}(),$=function(){function e(e,t,a,n){var r=this;if(this._dateAdapter=t,this._dateFormats=a,this._changeDetectorRef=n,this._moveFocusOnNextTick=!1,this.startView="month",this.selectedChange=new i.EventEmitter,this.yearSelected=new i.EventEmitter,this.monthSelected=new i.EventEmitter,this._userSelection=new i.EventEmitter,this.stateChanges=new c.Subject,!this._dateAdapter)throw b("DateAdapter");if(!this._dateFormats)throw b("MAT_DATE_FORMATS");this._intlChanges=e.changes.subscribe((function(){n.markForCheck(),r.stateChanges.next()}))}return Object.defineProperty(e.prototype,"startAt",{get:function(){return this._startAt},set:function(e){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e instanceof S?e:this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{get:function(){return this._minDate},set:function(e){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{get:function(){return this._maxDate},set:function(e){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._clampedActiveDate},set:function(e){this._clampedActiveDate=this._dateAdapter.clampDate(e,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentView",{get:function(){return this._currentView},set:function(e){this._currentView=e,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck()},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){this._calendarHeaderPortal=new n.ComponentPortal(this.headerComponent||K),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView},e.prototype.ngAfterViewChecked=function(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())},e.prototype.ngOnDestroy=function(){this._intlChanges.unsubscribe(),this.stateChanges.complete()},e.prototype.ngOnChanges=function(e){var t=e.minDate||e.maxDate||e.dateFilter;if(t&&!t.firstChange){var a=this._getCurrentViewComponent();a&&(this._changeDetectorRef.detectChanges(),a._init())}this.stateChanges.next()},e.prototype.focusActiveCell=function(){this._getCurrentViewComponent()._focusActiveCell(!1)},e.prototype.updateTodaysDate=function(){var e=this.currentView;("month"===e?this.monthView:"year"===e?this.yearView:this.multiYearView)._init()},e.prototype._dateSelected=function(e){var t=e.value;(this.selected instanceof S||t&&!this._dateAdapter.sameDate(t,this.selected))&&this.selectedChange.emit(t),this._userSelection.emit(e)},e.prototype._yearSelectedInMultiYearView=function(e){this.yearSelected.emit(e)},e.prototype._monthSelectedInYearView=function(e){this.monthSelected.emit(e)},e.prototype._goToDateInView=function(e,t){this.activeDate=e,this.currentView=t},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._getCurrentViewComponent=function(){return this.monthView||this.yearView||this.multiYearView},e.decorators=[{type:i.Component,args:[{selector:"mat-calendar",template:'<ng-template [cdkPortalOutlet]="_calendarHeaderPortal"></ng-template>\n\n<div class="mat-calendar-content" [ngSwitch]="currentView" cdkMonitorSubtreeFocus tabindex="-1">\n <mat-month-view\n *ngSwitchCase="\'month\'"\n [(activeDate)]="activeDate"\n [selected]="selected"\n [dateFilter]="dateFilter"\n [maxDate]="maxDate"\n [minDate]="minDate"\n [dateClass]="dateClass"\n [comparisonStart]="comparisonStart"\n [comparisonEnd]="comparisonEnd"\n (_userSelection)="_dateSelected($event)">\n </mat-month-view>\n\n <mat-year-view\n *ngSwitchCase="\'year\'"\n [(activeDate)]="activeDate"\n [selected]="selected"\n [dateFilter]="dateFilter"\n [maxDate]="maxDate"\n [minDate]="minDate"\n (monthSelected)="_monthSelectedInYearView($event)"\n (selectedChange)="_goToDateInView($event, \'month\')">\n </mat-year-view>\n\n <mat-multi-year-view\n *ngSwitchCase="\'multi-year\'"\n [(activeDate)]="activeDate"\n [selected]="selected"\n [dateFilter]="dateFilter"\n [maxDate]="maxDate"\n [minDate]="minDate"\n (yearSelected)="_yearSelectedInMultiYearView($event)"\n (selectedChange)="_goToDateInView($event, \'year\')">\n </mat-multi-year-view>\n</div>\n',host:{class:"mat-calendar"},exportAs:"matCalendar",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,providers:[F],styles:['.mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:none}.mat-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.mat-calendar-previous-button,.mat-calendar-next-button{position:relative}.mat-calendar-previous-button::after,.mat-calendar-next-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:"";margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-previous-button,[dir=rtl] .mat-calendar-next-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:"";position:absolute;top:0;left:-8px;right:-8px;height:1px}\n']}]}],e.ctorParameters=function(){return[{type:v},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:i.ChangeDetectorRef}]},e.propDecorators={headerComponent:[{type:i.Input}],startAt:[{type:i.Input}],startView:[{type:i.Input}],selected:[{type:i.Input}],minDate:[{type:i.Input}],maxDate:[{type:i.Input}],dateFilter:[{type:i.Input}],dateClass:[{type:i.Input}],comparisonStart:[{type:i.Input}],comparisonEnd:[{type:i.Input}],selectedChange:[{type:i.Output}],yearSelected:[{type:i.Output}],monthSelected:[{type:i.Output}],_userSelection:[{type:i.Output}],monthView:[{type:i.ViewChild,args:[B]}],yearView:[{type:i.ViewChild,args:[U]}],multiYearView:[{type:i.ViewChild,args:[W]}]},e}(),X={transformPanel:m.trigger("transformPanel",[m.state("void",m.style({opacity:0,transform:"scale(1, 0.8)"})),m.transition("void => enter",m.animate("120ms cubic-bezier(0, 0, 0.2, 1)",m.style({opacity:1,transform:"scale(1, 1)"}))),m.transition("* => void",m.animate("100ms linear",m.style({opacity:0})))]),fadeInCalendar:m.trigger("fadeInCalendar",[m.state("void",m.style({opacity:0})),m.state("enter",m.style({opacity:1})),m.transition("void => *",m.animate("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])},Z=0,J=new i.InjectionToken("mat-datepicker-scroll-strategy");
58
+ */(e.getYear(t)-G(e,a,n),24)}function G(e,t,a){var n=0;return a?n=e.getYear(a)-24+1:t&&(n=e.getYear(t)),n}var q=function(){function e(e,t,a,n){if(this._changeDetectorRef=e,this._dateFormats=t,this._dateAdapter=a,this._dir=n,this._rerenderSubscription=c.Subscription.EMPTY,this.selectedChange=new i.EventEmitter,this.monthSelected=new i.EventEmitter,this.activeDateChange=new i.EventEmitter,!this._dateAdapter)throw b("DateAdapter");if(!this._dateFormats)throw b("MAT_DATE_FORMATS");this._activeDate=this._dateAdapter.today()}return Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._activeDate},set:function(e){var t=this._activeDate,a=this._getValidDateOrNull(this._dateAdapter.deserialize(e))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(a,this.minDate,this.maxDate),this._dateAdapter.getYear(t)!==this._dateAdapter.getYear(this._activeDate)&&this._init()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e instanceof S?e:this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._setSelectedMonth(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{get:function(){return this._minDate},set:function(e){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{get:function(){return this._maxDate},set:function(e){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;this._rerenderSubscription=this._dateAdapter.localeChanges.pipe(h.startWith(null)).subscribe((function(){return e._init()}))},e.prototype.ngOnDestroy=function(){this._rerenderSubscription.unsubscribe()},e.prototype._monthSelected=function(e){var t=e.value,a=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1);this.monthSelected.emit(a);var n=this._dateAdapter.getNumDaysInMonth(a);this.selectedChange.emit(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,Math.min(this._dateAdapter.getDate(this.activeDate),n)))},e.prototype._handleCalendarBodyKeydown=function(e){var t=this._activeDate,a=this._isRtl();switch(e.keyCode){case p.LEFT_ARROW:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,a?1:-1);break;case p.RIGHT_ARROW:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,a?-1:1);break;case p.UP_ARROW:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case p.DOWN_ARROW:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case p.HOME:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case p.END:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case p.PAGE_UP:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?-10:-1);break;case p.PAGE_DOWN:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?10:1);break;case p.ENTER:case p.SPACE:this._monthSelected({value:this._dateAdapter.getMonth(this._activeDate),event:e});break;default:return}this._dateAdapter.compareDate(t,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCell(),e.preventDefault()},e.prototype._init=function(){var e=this;this._setSelectedMonth(this.selected),this._todayMonth=this._getMonthInCurrentYear(this._dateAdapter.today()),this._yearLabel=this._dateAdapter.getYearName(this.activeDate);var t=this._dateAdapter.getMonthNames("short");this._months=[[0,1,2,3],[4,5,6,7],[8,9,10,11]].map((function(a){return a.map((function(a){return e._createCellForMonth(a,t[a])}))})),this._changeDetectorRef.markForCheck()},e.prototype._focusActiveCell=function(){this._matCalendarBody._focusActiveCell()},e.prototype._getMonthInCurrentYear=function(e){return e&&this._dateAdapter.getYear(e)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(e):null},e.prototype._createCellForMonth=function(e,t){var a=this._dateAdapter.format(this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),e,1),this._dateFormats.display.monthYearA11yLabel);return new D(e,t.toLocaleUpperCase(),a,this._shouldEnableMonth(e))},e.prototype._shouldEnableMonth=function(e){var t=this._dateAdapter.getYear(this.activeDate);if(null==e||this._isYearAndMonthAfterMaxDate(t,e)||this._isYearAndMonthBeforeMinDate(t,e))return!1;if(!this.dateFilter)return!0;for(var a=this._dateAdapter.createDate(t,e,1);this._dateAdapter.getMonth(a)==e;a=this._dateAdapter.addCalendarDays(a,1))if(this.dateFilter(a))return!0;return!1},e.prototype._isYearAndMonthAfterMaxDate=function(e,t){if(this.maxDate){var a=this._dateAdapter.getYear(this.maxDate),n=this._dateAdapter.getMonth(this.maxDate);return e>a||e===a&&t>n}return!1},e.prototype._isYearAndMonthBeforeMinDate=function(e,t){if(this.minDate){var a=this._dateAdapter.getYear(this.minDate),n=this._dateAdapter.getMonth(this.minDate);return e<a||e===a&&t<n}return!1},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._isRtl=function(){return this._dir&&"rtl"===this._dir.value},e.prototype._setSelectedMonth=function(e){this._selectedMonth=e instanceof S?this._getMonthInCurrentYear(e.start)||this._getMonthInCurrentYear(e.end):this._getMonthInCurrentYear(e)},e.decorators=[{type:i.Component,args:[{selector:"mat-year-view",template:'<table class="mat-calendar-table" role="presentation">\n <thead class="mat-calendar-table-header">\n <tr><th class="mat-calendar-table-header-divider" colspan="4"></th></tr>\n </thead>\n <tbody mat-calendar-body\n [label]="_yearLabel"\n [rows]="_months"\n [todayValue]="_todayMonth!"\n [startValue]="_selectedMonth!"\n [endValue]="_selectedMonth!"\n [labelMinRequiredCells]="2"\n [numCols]="4"\n [cellAspectRatio]="4 / 7"\n [activeCell]="_dateAdapter.getMonth(activeDate)"\n (selectedValueChange)="_monthSelected($event)"\n (keydown)="_handleCalendarBodyKeydown($event)">\n </tbody>\n</table>\n',exportAs:"matYearView",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]}]},e.propDecorators={activeDate:[{type:i.Input}],selected:[{type:i.Input}],minDate:[{type:i.Input}],maxDate:[{type:i.Input}],dateFilter:[{type:i.Input}],selectedChange:[{type:i.Output}],monthSelected:[{type:i.Output}],activeDateChange:[{type:i.Output}],_matCalendarBody:[{type:i.ViewChild,args:[C]}]},e}(),U=function(){function e(e,t,a,n,r){this._intl=e,this.calendar=t,this._dateAdapter=a,this._dateFormats=n,this.calendar.stateChanges.subscribe((function(){return r.markForCheck()}))}return Object.defineProperty(e.prototype,"periodButtonText",{get:function(){if("month"==this.calendar.currentView)return this._dateAdapter.format(this.calendar.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase();if("year"==this.calendar.currentView)return this._dateAdapter.getYearName(this.calendar.activeDate);var e=this._dateAdapter.getYear(this.calendar.activeDate)-H(this._dateAdapter,this.calendar.activeDate,this.calendar.minDate,this.calendar.maxDate),t=e+24-1,a=this._dateAdapter.getYearName(this._dateAdapter.createDate(e,0,1)),n=this._dateAdapter.getYearName(this._dateAdapter.createDate(t,0,1));return this._intl.formatYearRange(a,n)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"periodButtonLabel",{get:function(){return"month"==this.calendar.currentView?this._intl.switchToMultiYearViewLabel:this._intl.switchToMonthViewLabel},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"prevButtonLabel",{get:function(){return{month:this._intl.prevMonthLabel,year:this._intl.prevYearLabel,"multi-year":this._intl.prevMultiYearLabel}[this.calendar.currentView]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextButtonLabel",{get:function(){return{month:this._intl.nextMonthLabel,year:this._intl.nextYearLabel,"multi-year":this._intl.nextMultiYearLabel}[this.calendar.currentView]},enumerable:!1,configurable:!0}),e.prototype.currentPeriodClicked=function(){this.calendar.currentView="month"==this.calendar.currentView?"multi-year":"month"},e.prototype.previousClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?-1:-24)},e.prototype.nextClicked=function(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?1:24)},e.prototype.previousEnabled=function(){return!this.calendar.minDate||!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate)},e.prototype.nextEnabled=function(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)},e.prototype._isSameView=function(e,t){return"month"==this.calendar.currentView?this._dateAdapter.getYear(e)==this._dateAdapter.getYear(t)&&this._dateAdapter.getMonth(e)==this._dateAdapter.getMonth(t):"year"==this.calendar.currentView?this._dateAdapter.getYear(e)==this._dateAdapter.getYear(t):W(this._dateAdapter,e,t,this.calendar.minDate,this.calendar.maxDate)},e.decorators=[{type:i.Component,args:[{selector:"mat-calendar-header",template:'<div class="mat-calendar-header">\n <div class="mat-calendar-controls">\n <button mat-button type="button" class="mat-calendar-period-button"\n (click)="currentPeriodClicked()" [attr.aria-label]="periodButtonLabel"\n cdkAriaLive="polite">\n {{periodButtonText}}\n <div class="mat-calendar-arrow"\n [class.mat-calendar-invert]="calendar.currentView != \'month\'"></div>\n </button>\n\n <div class="mat-calendar-spacer"></div>\n\n <ng-content></ng-content>\n\n <button mat-icon-button type="button" class="mat-calendar-previous-button"\n [disabled]="!previousEnabled()" (click)="previousClicked()"\n [attr.aria-label]="prevButtonLabel">\n </button>\n\n <button mat-icon-button type="button" class="mat-calendar-next-button"\n [disabled]="!nextEnabled()" (click)="nextClicked()"\n [attr.aria-label]="nextButtonLabel">\n </button>\n </div>\n</div>\n',exportAs:"matCalendarHeader",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:v},{type:K,decorators:[{type:i.Inject,args:[i.forwardRef((function(){return K}))]}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:i.ChangeDetectorRef}]},e}(),K=function(){function e(e,t,a,n){var r=this;if(this._dateAdapter=t,this._dateFormats=a,this._changeDetectorRef=n,this._moveFocusOnNextTick=!1,this.startView="month",this.selectedChange=new i.EventEmitter,this.yearSelected=new i.EventEmitter,this.monthSelected=new i.EventEmitter,this._userSelection=new i.EventEmitter,this.stateChanges=new c.Subject,!this._dateAdapter)throw b("DateAdapter");if(!this._dateFormats)throw b("MAT_DATE_FORMATS");this._intlChanges=e.changes.subscribe((function(){n.markForCheck(),r.stateChanges.next()}))}return Object.defineProperty(e.prototype,"startAt",{get:function(){return this._startAt},set:function(e){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e instanceof S?e:this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{get:function(){return this._minDate},set:function(e){this._minDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{get:function(){return this._maxDate},set:function(e){this._maxDate=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeDate",{get:function(){return this._clampedActiveDate},set:function(e){this._clampedActiveDate=this._dateAdapter.clampDate(e,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"currentView",{get:function(){return this._currentView},set:function(e){this._currentView=e,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck()},enumerable:!1,configurable:!0}),e.prototype.ngAfterContentInit=function(){this._calendarHeaderPortal=new n.ComponentPortal(this.headerComponent||U),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView},e.prototype.ngAfterViewChecked=function(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())},e.prototype.ngOnDestroy=function(){this._intlChanges.unsubscribe(),this.stateChanges.complete()},e.prototype.ngOnChanges=function(e){var t=e.minDate||e.maxDate||e.dateFilter;if(t&&!t.firstChange){var a=this._getCurrentViewComponent();a&&(this._changeDetectorRef.detectChanges(),a._init())}this.stateChanges.next()},e.prototype.focusActiveCell=function(){this._getCurrentViewComponent()._focusActiveCell(!1)},e.prototype.updateTodaysDate=function(){var e=this.currentView;("month"===e?this.monthView:"year"===e?this.yearView:this.multiYearView)._init()},e.prototype._dateSelected=function(e){var t=e.value;(this.selected instanceof S||t&&!this._dateAdapter.sameDate(t,this.selected))&&this.selectedChange.emit(t),this._userSelection.emit(e)},e.prototype._yearSelectedInMultiYearView=function(e){this.yearSelected.emit(e)},e.prototype._monthSelectedInYearView=function(e){this.monthSelected.emit(e)},e.prototype._goToDateInView=function(e,t){this.activeDate=e,this.currentView=t},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._getCurrentViewComponent=function(){return this.monthView||this.yearView||this.multiYearView},e.decorators=[{type:i.Component,args:[{selector:"mat-calendar",template:'<ng-template [cdkPortalOutlet]="_calendarHeaderPortal"></ng-template>\n\n<div class="mat-calendar-content" [ngSwitch]="currentView" cdkMonitorSubtreeFocus tabindex="-1">\n <mat-month-view\n *ngSwitchCase="\'month\'"\n [(activeDate)]="activeDate"\n [selected]="selected"\n [dateFilter]="dateFilter"\n [maxDate]="maxDate"\n [minDate]="minDate"\n [dateClass]="dateClass"\n [comparisonStart]="comparisonStart"\n [comparisonEnd]="comparisonEnd"\n (_userSelection)="_dateSelected($event)">\n </mat-month-view>\n\n <mat-year-view\n *ngSwitchCase="\'year\'"\n [(activeDate)]="activeDate"\n [selected]="selected"\n [dateFilter]="dateFilter"\n [maxDate]="maxDate"\n [minDate]="minDate"\n (monthSelected)="_monthSelectedInYearView($event)"\n (selectedChange)="_goToDateInView($event, \'month\')">\n </mat-year-view>\n\n <mat-multi-year-view\n *ngSwitchCase="\'multi-year\'"\n [(activeDate)]="activeDate"\n [selected]="selected"\n [dateFilter]="dateFilter"\n [maxDate]="maxDate"\n [minDate]="minDate"\n (yearSelected)="_yearSelectedInMultiYearView($event)"\n (selectedChange)="_goToDateInView($event, \'year\')">\n </mat-multi-year-view>\n</div>\n',host:{class:"mat-calendar"},exportAs:"matCalendar",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,providers:[F],styles:['.mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:none}.mat-calendar-controls{display:flex;margin:5% calc(33% / 7 - 16px)}.mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top-width:5px;border-top-style:solid;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.mat-calendar-previous-button,.mat-calendar-next-button{position:relative}.mat-calendar-previous-button::after,.mat-calendar-next-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:"";margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-previous-button,[dir=rtl] .mat-calendar-next-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:"";position:absolute;top:0;left:-8px;right:-8px;height:1px}\n']}]}],e.ctorParameters=function(){return[{type:v},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:i.ChangeDetectorRef}]},e.propDecorators={headerComponent:[{type:i.Input}],startAt:[{type:i.Input}],startView:[{type:i.Input}],selected:[{type:i.Input}],minDate:[{type:i.Input}],maxDate:[{type:i.Input}],dateFilter:[{type:i.Input}],dateClass:[{type:i.Input}],comparisonStart:[{type:i.Input}],comparisonEnd:[{type:i.Input}],selectedChange:[{type:i.Output}],yearSelected:[{type:i.Output}],monthSelected:[{type:i.Output}],_userSelection:[{type:i.Output}],monthView:[{type:i.ViewChild,args:[B]}],yearView:[{type:i.ViewChild,args:[q]}],multiYearView:[{type:i.ViewChild,args:[z]}]},e}(),$={transformPanel:m.trigger("transformPanel",[m.state("void",m.style({opacity:0,transform:"scale(1, 0.8)"})),m.transition("void => enter",m.animate("120ms cubic-bezier(0, 0, 0.2, 1)",m.style({opacity:1,transform:"scale(1, 1)"}))),m.transition("* => void",m.animate("100ms linear",m.style({opacity:0})))]),fadeInCalendar:m.trigger("fadeInCalendar",[m.state("void",m.style({opacity:0})),m.state("enter",m.style({opacity:1})),m.transition("void => *",m.animate("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])},X=0,Z=new i.InjectionToken("mat-datepicker-scroll-strategy");
59
59
  /**
60
60
  * @license
61
61
  * Copyright Google LLC All Rights Reserved.
62
62
  *
63
63
  * Use of this source code is governed by an MIT-style license that can be
64
64
  * found in the LICENSE file at https://angular.io/license
65
- */function Q(e){return function(){return e.scrollStrategies.reposition()}}var ee={provide:J,deps:[a.Overlay],useFactory:Q},te=function(e){function t(t,a,n,r,i){var o=e.call(this,t)||this;return o._changeDetectorRef=a,o._model=n,o._dateAdapter=r,o._rangeSelectionStrategy=i,o._animationState="enter",o._animationDone=new c.Subject,o}return E(t,e),t.prototype.ngAfterViewInit=function(){this._calendar.focusActiveCell()},t.prototype.ngOnDestroy=function(){this._animationDone.complete()},t.prototype._handleUserSelection=function(e){if(this._model&&this._dateAdapter){var t=this._model.selection,a=e.value,n=t instanceof S;if(n&&this._rangeSelectionStrategy){var r=this._rangeSelectionStrategy.selectionFinished(a,t,e.event);this._model.updateSelection(r,this)}else!a||!n&&this._dateAdapter.sameDate(a,t)||this._model.add(a)}this._model&&!this._model.isComplete()||this.datepicker.close()},t.prototype._startExitAnimation=function(){this._animationState="void",this._changeDetectorRef&&this._changeDetectorRef.markForCheck()},t.prototype._getSelected=function(){return this._model?this._model.selection:null},t.decorators=[{type:i.Component,args:[{selector:"mat-datepicker-content",template:'<mat-calendar cdkTrapFocus\n [id]="datepicker.id"\n [ngClass]="datepicker.panelClass"\n [startAt]="datepicker.startAt"\n [startView]="datepicker.startView"\n [minDate]="datepicker._minDate"\n [maxDate]="datepicker._maxDate"\n [dateFilter]="datepicker._dateFilter"\n [headerComponent]="datepicker.calendarHeaderComponent"\n [selected]="_getSelected()"\n [dateClass]="datepicker.dateClass"\n [comparisonStart]="comparisonStart"\n [comparisonEnd]="comparisonEnd"\n [@fadeInCalendar]="\'enter\'"\n (yearSelected)="datepicker._selectYear($event)"\n (monthSelected)="datepicker._selectMonth($event)"\n (_userSelection)="_handleUserSelection($event)">\n</mat-calendar>\n',host:{class:"mat-datepicker-content","[@transformPanel]":"_animationState","(@transformPanel.done)":"_animationDone.next()","[class.mat-datepicker-content-touch]":"datepicker.touchUi"},animations:[X.transformPanel,X.fadeInCalendar],exportAs:"matDatepickerContent",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,inputs:["color"],styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content-touch{display:block;max-height:80vh;overflow:auto;margin:-24px}.mat-datepicker-content-touch .mat-calendar{min-width:250px;min-height:312px;max-width:750px;max-height:788px}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-calendar{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-calendar{width:80vw;height:100vw}}\n"]}]}],t.ctorParameters=function(){return[{type:i.ElementRef},{type:i.ChangeDetectorRef},{type:M},{type:l.DateAdapter},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[j]}]}]},t.propDecorators={_calendar:[{type:i.ViewChild,args:[$]}]},t}(l.mixinColor((function ae(e){this._elementRef=e}))),ne=function(){function e(e,t,a,n,r,o,s,d,l){if(this._dialog=e,this._overlay=t,this._ngZone=a,this._viewContainerRef=n,this._dateAdapter=o,this._dir=s,this._document=d,this._model=l,this.startView="month",this._touchUi=!1,this.xPosition="start",this.yPosition="below",this.yearSelected=new i.EventEmitter,this.monthSelected=new i.EventEmitter,this.openedStream=new i.EventEmitter,this.closedStream=new i.EventEmitter,this._opened=!1,this.id="mat-datepicker-"+Z++,this._focusedElementBeforeOpen=null,this._disabledChange=new c.Subject,!this._dateAdapter)throw b("DateAdapter");this._scrollStrategy=r}return Object.defineProperty(e.prototype,"startAt",{get:function(){return this._startAt||(this._datepickerInput?this._datepickerInput.getStartValue():null)},set:function(e){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"color",{get:function(){return this._color||(this._datepickerInput?this._datepickerInput.getThemePalette():void 0)},set:function(e){this._color=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"touchUi",{get:function(){return this._touchUi},set:function(e){this._touchUi=_.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return void 0===this._disabled&&this._datepickerInput?this._datepickerInput.disabled:!!this._disabled},set:function(e){var t=_.coerceBooleanProperty(e);t!==this._disabled&&(this._disabled=t,this._disabledChange.next(t))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"opened",{get:function(){return this._opened},set:function(e){e?this.open():this.close()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_minDate",{get:function(){return this._datepickerInput&&this._datepickerInput.min},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_maxDate",{get:function(){return this._datepickerInput&&this._datepickerInput.max},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_dateFilter",{get:function(){return this._datepickerInput&&this._datepickerInput.dateFilter},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){var t=e.xPosition||e.yPosition;t&&!t.firstChange&&this._popupRef&&(this._setConnectedPositions(this._popupRef.getConfig().positionStrategy),this.opened&&this._popupRef.updatePosition())},e.prototype.ngOnDestroy=function(){this._destroyPopup(),this.close(),this._disabledChange.complete()},e.prototype.select=function(e){this._model.add(e)},e.prototype._selectYear=function(e){this.yearSelected.emit(e)},e.prototype._selectMonth=function(e){this.monthSelected.emit(e)},e.prototype._registerInput=function(e){if(this._datepickerInput)throw Error("A MatDatepicker can only be associated with a single input.");return this._datepickerInput=e,this._model},e.prototype.open=function(){if(!this._opened&&!this.disabled){if(!this._datepickerInput)throw Error("Attempted to open an MatDatepicker with no associated input.");this._document&&(this._focusedElementBeforeOpen=this._document.activeElement),this.touchUi?this._openAsDialog():this._openAsPopup(),this._opened=!0,this.openedStream.emit()}},e.prototype.close=function(){var e=this;if(this._opened){if(this._popupComponentRef&&this._popupRef){var t=this._popupComponentRef.instance;t._startExitAnimation(),t._animationDone.pipe(h.take(1)).subscribe((function(){return e._destroyPopup()}))}this._dialogRef&&(this._dialogRef.close(),this._dialogRef=null);var a=function(){e._opened&&(e._opened=!1,e.closedStream.emit(),e._focusedElementBeforeOpen=null)};this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus?(this._focusedElementBeforeOpen.focus(),setTimeout(a)):a()}},e.prototype._openAsDialog=function(){var e=this;this._dialogRef&&this._dialogRef.close(),this._dialogRef=this._dialog.open(te,{direction:this._dir?this._dir.value:"ltr",viewContainerRef:this._viewContainerRef,panelClass:"mat-datepicker-dialog",hasBackdrop:!0,disableClose:!1,width:"",height:"",minWidth:"",minHeight:"",maxWidth:"80vw",maxHeight:"",position:{},autoFocus:!0,restoreFocus:!1}),this._dialogRef.afterClosed().subscribe((function(){return e.close()})),this._forwardContentValues(this._dialogRef.componentInstance)},e.prototype._openAsPopup=function(){var e=this,t=new n.ComponentPortal(te,this._viewContainerRef);this._destroyPopup(),this._createPopup(),this._popupComponentRef=this._popupRef.attach(t),this._forwardContentValues(this._popupComponentRef.instance),this._ngZone.onStable.asObservable().pipe(h.take(1)).subscribe((function(){e._popupRef.updatePosition()}))},e.prototype._forwardContentValues=function(e){e.datepicker=this,e.color=this.color},e.prototype._createPopup=function(){var e=this,t=this._overlay.position().flexibleConnectedTo(this._datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition(),n=new a.OverlayConfig({positionStrategy:this._setConnectedPositions(t),hasBackdrop:!0,backdropClass:"mat-overlay-transparent-backdrop",direction:this._dir,scrollStrategy:this._scrollStrategy(),panelClass:"mat-datepicker-popup"});this._popupRef=this._overlay.create(n),this._popupRef.overlayElement.setAttribute("role","dialog"),c.merge(this._popupRef.backdropClick(),this._popupRef.detachments(),this._popupRef.keydownEvents().pipe(h.filter((function(t){return t.keyCode===p.ESCAPE||e._datepickerInput&&t.altKey&&t.keyCode===p.UP_ARROW})))).subscribe((function(t){t&&t.preventDefault(),e.close()}))},e.prototype._destroyPopup=function(){this._popupRef&&(this._popupRef.dispose(),this._popupRef=this._popupComponentRef=null)},e.prototype._setConnectedPositions=function(e){var t="end"===this.xPosition?"end":"start",a="start"===t?"end":"start",n="above"===this.yPosition?"bottom":"top",r="top"===n?"bottom":"top";return e.withPositions([{originX:t,originY:r,overlayX:t,overlayY:n},{originX:t,originY:n,overlayX:t,overlayY:r},{originX:a,originY:r,overlayX:a,overlayY:n},{originX:a,originY:n,overlayX:a,overlayY:r}])},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.decorators=[{type:i.Directive}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:a.Overlay},{type:i.NgZone},{type:i.ViewContainerRef},{type:void 0,decorators:[{type:i.Inject,args:[J]}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[r.DOCUMENT]}]},{type:M}]},e.propDecorators={calendarHeaderComponent:[{type:i.Input}],startAt:[{type:i.Input}],startView:[{type:i.Input}],color:[{type:i.Input}],touchUi:[{type:i.Input}],disabled:[{type:i.Input}],xPosition:[{type:i.Input}],yPosition:[{type:i.Input}],yearSelected:[{type:i.Output}],monthSelected:[{type:i.Output}],panelClass:[{type:i.Input}],dateClass:[{type:i.Input}],openedStream:[{type:i.Output,args:["opened"]}],closedStream:[{type:i.Output,args:["closed"]}],opened:[{type:i.Input}]},e}(),re=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.decorators=[{type:i.Component,args:[{selector:"mat-datepicker",template:"",exportAs:"matDatepicker",changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,providers:[F]}]}],t}(ne),ie=function ie(e,t){this.target=e,this.targetElement=t,this.value=this.target.value},oe=function(){function e(e,t,a){var n=this;if(this._elementRef=e,this._dateAdapter=t,this._dateFormats=a,this.dateChange=new i.EventEmitter,this.dateInput=new i.EventEmitter,this._valueChange=new i.EventEmitter,this._disabledChange=new i.EventEmitter,this._onTouched=function(){},this._validatorOnChange=function(){},this._cvaOnChange=function(){},this._valueChangesSubscription=c.Subscription.EMPTY,this._localeSubscription=c.Subscription.EMPTY,this._parseValidator=function(){return n._lastValueValid?null:{matDatepickerParse:{text:n._elementRef.nativeElement.value}}},this._filterValidator=function(e){var t=n._getValidDateOrNull(n._dateAdapter.deserialize(e.value)),a=n._getDateFilter();return a&&t&&!a(t)?{matDatepickerFilter:!0}:null},this._minValidator=function(e){var t=n._getValidDateOrNull(n._dateAdapter.deserialize(e.value)),a=n._getMinDate();return!a||!t||n._dateAdapter.compareDate(a,t)<=0?null:{matDatepickerMin:{min:a,actual:t}}},this._maxValidator=function(e){var t=n._getValidDateOrNull(n._dateAdapter.deserialize(e.value)),a=n._getMaxDate();return!a||!t||n._dateAdapter.compareDate(a,t)>=0?null:{matDatepickerMax:{max:a,actual:t}}},this._lastValueValid=!1,!this._dateAdapter)throw b("DateAdapter");if(!this._dateFormats)throw b("MAT_DATE_FORMATS");this._localeSubscription=t.localeChanges.subscribe((function(){n.value=n.value}))}return Object.defineProperty(e.prototype,"value",{get:function(){return this._model?this._getValueFromModel(this._model.selection):this._pendingValue},set:function(e){e=this._dateAdapter.deserialize(e),this._lastValueValid=this._isValidValue(e),e=this._getValidDateOrNull(e);var t=this.value;this._assignValue(e),this._formatValue(e),this._dateAdapter.sameDate(t,e)||this._valueChange.emit(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return!!this._disabled||this._parentDisabled()},set:function(e){var t=_.coerceBooleanProperty(e),a=this._elementRef.nativeElement;this._disabled!==t&&(this._disabled=t,this._disabledChange.emit(t)),t&&this._isInitialized&&a.blur&&a.blur()},enumerable:!1,configurable:!0}),e.prototype._getValidators=function(){return[this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]},e.prototype._registerModel=function(e){var t=this;this._model=e,this._valueChangesSubscription.unsubscribe(),this._pendingValue&&this._assignValue(this._pendingValue),this._valueChangesSubscription=this._model.selectionChanged.subscribe((function(e){if(e.source!==t){var a=t._getValueFromModel(e.selection);t._lastValueValid=t._isValidValue(a),t._cvaOnChange(a),t._onTouched(),t._formatValue(a),t.dateInput.emit(new ie(t,t._elementRef.nativeElement)),t.dateChange.emit(new ie(t,t._elementRef.nativeElement)),t._outsideValueChanged&&t._outsideValueChanged()}}))},e.prototype.ngAfterViewInit=function(){this._isInitialized=!0},e.prototype.ngOnDestroy=function(){this._valueChangesSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this._valueChange.complete(),this._disabledChange.complete()},e.prototype.registerOnValidatorChange=function(e){this._validatorOnChange=e},e.prototype.validate=function(e){return this._validator?this._validator(e):null},e.prototype.writeValue=function(e){this.value=e},e.prototype.registerOnChange=function(e){this._cvaOnChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype._onKeydown=function(e){e.altKey&&e.keyCode===p.DOWN_ARROW&&!this._elementRef.nativeElement.readOnly&&(this._openPopup(),e.preventDefault())},e.prototype._onInput=function(e){var t=this._lastValueValid,a=this._dateAdapter.parse(e,this._dateFormats.parse.dateInput);this._lastValueValid=this._isValidValue(a),a=this._getValidDateOrNull(a),this._dateAdapter.sameDate(a,this.value)?t!==this._lastValueValid&&this._validatorOnChange():(this._assignValue(a),this._cvaOnChange(a),this._valueChange.emit(a),this.dateInput.emit(new ie(this,this._elementRef.nativeElement)))},e.prototype._onChange=function(){this.dateChange.emit(new ie(this,this._elementRef.nativeElement))},e.prototype._onBlur=function(){this.value&&this._formatValue(this.value),this._onTouched()},e.prototype._formatValue=function(e){this._elementRef.nativeElement.value=e?this._dateAdapter.format(e,this._dateFormats.display.dateInput):""},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._assignValue=function(e){this._model?(this._assignValueToModel(e),this._pendingValue=null):this._pendingValue=e},e.prototype._isValidValue=function(e){return!e||this._dateAdapter.isValid(e)},e.prototype._parentDisabled=function(){return!1},e.decorators=[{type:i.Directive}],e.ctorParameters=function(){return[{type:i.ElementRef},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]}]},e.propDecorators={value:[{type:i.Input}],disabled:[{type:i.Input}],dateChange:[{type:i.Output}],dateInput:[{type:i.Output}]},e}(),se={provide:g.NG_VALUE_ACCESSOR,useExisting:i.forwardRef((function(){return le})),multi:!0},de={provide:g.NG_VALIDATORS,useExisting:i.forwardRef((function(){return le})),multi:!0},le=function(e){function t(t,a,n,r){var i=e.call(this,t,a,n)||this;return i._formField=r,i._validator=g.Validators.compose(e.prototype._getValidators.call(i)),i}return E(t,e),Object.defineProperty(t.prototype,"matDatepicker",{set:function(e){e&&(this._datepicker=e,this._registerModel(e._registerInput(this)))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"min",{get:function(){return this._min},set:function(e){this._min=this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._validatorOnChange()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"max",{get:function(){return this._max},set:function(e){this._max=this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._validatorOnChange()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dateFilter",{get:function(){return this._dateFilter},set:function(e){this._dateFilter=e,this._validatorOnChange()},enumerable:!1,configurable:!0}),t.prototype.getConnectedOverlayOrigin=function(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef},t.prototype.getThemePalette=function(){return this._formField?this._formField.color:void 0},t.prototype.getStartValue=function(){return this.value},t.prototype.getPopupConnectionElementRef=function(){return this.getConnectedOverlayOrigin()},t.prototype._openPopup=function(){this._datepicker&&this._datepicker.open()},t.prototype._getValueFromModel=function(e){return e},t.prototype._assignValueToModel=function(e){this._model&&this._model.updateSelection(e,this)},t.prototype._getMinDate=function(){return this._min},t.prototype._getMaxDate=function(){return this._max},t.prototype._getDateFilter=function(){return this._dateFilter},t.decorators=[{type:i.Directive,args:[{selector:"input[matDatepicker]",providers:[se,de,{provide:f.MAT_INPUT_VALUE_ACCESSOR,useExisting:t}],host:{"[attr.aria-haspopup]":'_datepicker ? "dialog" : null',"[attr.aria-owns]":"(_datepicker?.opened && _datepicker.id) || null","[attr.min]":"min ? _dateAdapter.toIso8601(min) : null","[attr.max]":"max ? _dateAdapter.toIso8601(max) : null","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(blur)":"_onBlur()","(keydown)":"_onKeydown($event)"},exportAs:"matDatepickerInput"}]}],t.ctorParameters=function(){return[{type:i.ElementRef},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:y.MatFormField,decorators:[{type:i.Optional},{type:i.Inject,args:[y.MAT_FORM_FIELD]}]}]},t.propDecorators={matDatepicker:[{type:i.Input}],min:[{type:i.Input}],max:[{type:i.Input}],dateFilter:[{type:i.Input,args:["matDatepickerFilter"]}]},t}(oe),ce=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"[matDatepickerToggleIcon]"}]}],e}(),pe=function(){function e(e,t,a){this._intl=e,this._changeDetectorRef=t,this._stateChanges=c.Subscription.EMPTY;var n=Number(a);this.tabIndex=n||0===n?n:null}return Object.defineProperty(e.prototype,"disabled",{get:function(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled},set:function(e){this._disabled=_.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){e.datepicker&&this._watchStateChanges()},e.prototype.ngOnDestroy=function(){this._stateChanges.unsubscribe()},e.prototype.ngAfterContentInit=function(){this._watchStateChanges()},e.prototype._open=function(e){this.datepicker&&!this.disabled&&(this.datepicker.open(),e.stopPropagation())},e.prototype._watchStateChanges=function(){var e=this,t=this.datepicker?this.datepicker._disabledChange:c.of(),a=this.datepicker&&this.datepicker._datepickerInput?this.datepicker._datepickerInput._disabledChange:c.of(),n=this.datepicker?c.merge(this.datepicker.openedStream,this.datepicker.closedStream):c.of();this._stateChanges.unsubscribe(),this._stateChanges=c.merge(this._intl.changes,t,a,n).subscribe((function(){return e._changeDetectorRef.markForCheck()}))},e.decorators=[{type:i.Component,args:[{selector:"mat-datepicker-toggle",template:'<button\n #button\n mat-icon-button\n type="button"\n [attr.aria-haspopup]="datepicker ? \'dialog\' : null"\n [attr.aria-label]="_intl.openCalendarLabel"\n [attr.tabindex]="disabled ? -1 : tabIndex"\n [disabled]="disabled"\n [disableRipple]="disableRipple"\n (click)="_open($event)">\n\n <svg\n *ngIf="!_customIcon"\n class="mat-datepicker-toggle-default-icon"\n viewBox="0 0 24 24"\n width="24px"\n height="24px"\n fill="currentColor"\n focusable="false">\n <path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"/>\n </svg>\n\n <ng-content select="[matDatepickerToggleIcon]"></ng-content>\n</button>\n',host:{class:"mat-datepicker-toggle","[attr.tabindex]":"disabled ? null : -1","[class.mat-datepicker-toggle-active]":"datepicker && datepicker.opened","[class.mat-accent]":'datepicker && datepicker.color === "accent"',"[class.mat-warn]":'datepicker && datepicker.color === "warn"',"(focus)":"_button.focus()"},exportAs:"matDatepickerToggle",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}\n"]}]}],e.ctorParameters=function(){return[{type:v},{type:i.ChangeDetectorRef},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]}]},e.propDecorators={datepicker:[{type:i.Input,args:["for"]}],tabIndex:[{type:i.Input}],disabled:[{type:i.Input}],disableRipple:[{type:i.Input}],_customIcon:[{type:i.ContentChild,args:[ce]}],_button:[{type:i.ViewChild,args:["button"]}]},e}(),ue=new i.InjectionToken("MAT_DATE_RANGE_INPUT_PARENT"),he=function(e){function t(t,a,n,r,i,o,s,d){var l=e.call(this,a,s,d)||this;return l._rangeInput=t,l._defaultErrorStateMatcher=n,l._injector=r,l._parentForm=i,l._parentFormGroup=o,l._outsideValueChanged=function(){l._validatorOnChange()},l}return E(t,e),t.prototype.ngOnInit=function(){var e=this._injector.get(g.NgControl,null,i.InjectFlags.Self);e&&(this.ngControl=e)},t.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},t.prototype.isEmpty=function(){return 0===this._elementRef.nativeElement.value.length},t.prototype._getPlaceholder=function(){return this._elementRef.nativeElement.placeholder},t.prototype.focus=function(){this._elementRef.nativeElement.focus()},t.prototype._onInput=function(t){e.prototype._onInput.call(this,t),this._rangeInput._handleChildValueChange()},t.prototype._openPopup=function(){this._rangeInput._openDatepicker()},t.prototype._getMinDate=function(){return this._rangeInput.min},t.prototype._getMaxDate=function(){return this._rangeInput.max},t.prototype._getDateFilter=function(){return this._rangeInput.dateFilter},t.prototype._parentDisabled=function(){return this._rangeInput._groupDisabled},t.decorators=[{type:i.Directive}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[ue]}]},{type:i.ElementRef},{type:l.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]}]},t}(oe),_e=l.mixinErrorState(he),me=function(e){function t(t,a,n,r,i,o,s,d){var l=e.call(this,t,a,n,r,i,o,s,d)||this;return l._startValidator=function(e){var t=l._getValidDateOrNull(l._dateAdapter.deserialize(e.value)),a=l._model?l._model.selection.end:null;return!t||!a||l._dateAdapter.compareDate(t,a)<=0?null:{matStartDateInvalid:{end:a,actual:t}}},l._validator=g.Validators.compose(x(e.prototype._getValidators.call(l),[l._startValidator])),l}return E(t,e),t.prototype._getValueFromModel=function(e){return e.start},t.prototype._assignValueToModel=function(e){if(this._model){var t=new S(e,this._model.selection.end);this._model.updateSelection(t,this),this._cvaOnChange(e)}},t.prototype._formatValue=function(t){e.prototype._formatValue.call(this,t),this._rangeInput._handleChildValueChange()},t.prototype.getMirrorValue=function(){var e=this._elementRef.nativeElement,t=e.value;return t.length>0?t:e.placeholder},t.decorators=[{type:i.Directive,args:[{selector:"input[matStartDate]",host:{class:"mat-date-range-input-inner","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(keydown)":"_onKeydown($event)","[attr.id]":"_rangeInput.id","[attr.aria-labelledby]":"_rangeInput._ariaLabelledBy","[attr.aria-describedby]":"_rangeInput._ariaDescribedBy","[attr.aria-haspopup]":'_rangeInput.rangePicker ? "dialog" : null',"[attr.aria-owns]":"(_rangeInput.rangePicker?.opened && _rangeInput.rangePicker.id) || null","[attr.min]":"_getMinDate() ? _dateAdapter.toIso8601(_getMinDate()) : null","[attr.max]":"_getMaxDate() ? _dateAdapter.toIso8601(_getMaxDate()) : null","(blur)":"_onBlur()",type:"text"},providers:[{provide:g.NG_VALUE_ACCESSOR,useExisting:t,multi:!0},{provide:g.NG_VALIDATORS,useExisting:t,multi:!0}]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[ue]}]},{type:i.ElementRef},{type:l.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]}]},t}(_e),ge=function(e){function t(t,a,n,r,i,o,s,d){var l=e.call(this,t,a,n,r,i,o,s,d)||this;return l._endValidator=function(e){var t=l._getValidDateOrNull(l._dateAdapter.deserialize(e.value)),a=l._model?l._model.selection.start:null;return!t||!a||l._dateAdapter.compareDate(t,a)>=0?null:{matEndDateInvalid:{start:a,actual:t}}},l._validator=g.Validators.compose(x(e.prototype._getValidators.call(l),[l._endValidator])),l}return E(t,e),t.prototype._getValueFromModel=function(e){return e.end},t.prototype._assignValueToModel=function(e){if(this._model){var t=new S(this._model.selection.start,e);this._model.updateSelection(t,this),this._cvaOnChange(e)}},t.prototype._onKeydown=function(t){t.keyCode!==p.BACKSPACE||this._elementRef.nativeElement.value||this._rangeInput._startInput.focus(),e.prototype._onKeydown.call(this,t)},t.decorators=[{type:i.Directive,args:[{selector:"input[matEndDate]",host:{class:"mat-date-range-input-inner","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(keydown)":"_onKeydown($event)","[attr.aria-labelledby]":"_rangeInput._ariaLabelledBy","[attr.aria-describedby]":"_rangeInput._ariaDescribedBy","[attr.aria-haspopup]":'_rangeInput.rangePicker ? "dialog" : null',"[attr.aria-owns]":"(_rangeInput.rangePicker?.opened && _rangeInput.rangePicker.id) || null","[attr.min]":"_getMinDate() ? _dateAdapter.toIso8601(_getMinDate()) : null","[attr.max]":"_getMaxDate() ? _dateAdapter.toIso8601(_getMaxDate()) : null","(blur)":"_onBlur()",type:"text"},providers:[{provide:g.NG_VALUE_ACCESSOR,useExisting:t,multi:!0},{provide:g.NG_VALIDATORS,useExisting:t,multi:!0}]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[ue]}]},{type:i.ElementRef},{type:l.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]}]},t}(_e),ye=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._forwardContentValues=function(t){e.prototype._forwardContentValues.call(this,t);var a=this._datepickerInput;a&&(t.comparisonStart=a.comparisonStart,t.comparisonEnd=a.comparisonEnd)},t.decorators=[{type:i.Component,args:[{selector:"mat-date-range-picker",template:"",exportAs:"matDateRangePicker",changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,providers:[N]}]}],t}(ne),fe=0,be=function(){function e(e,t,a,n,r){if(this._changeDetectorRef=e,this._elementRef=t,this._dateAdapter=n,this._formField=r,this.stateChanges=new c.Subject,this.id="mat-date-range-input-"+fe++,this.focused=!1,this.controlType="mat-date-range-input",this._groupDisabled=!1,this._ariaDescribedBy=null,this._ariaLabelledBy=null,this.separator="–",this.comparisonStart=null,this.comparisonEnd=null,this._disabledChange=new c.Subject,!n)throw b("DateAdapter");this.ngControl=a,this._ariaLabelledBy=r?r._labelId:null}return Object.defineProperty(e.prototype,"value",{get:function(){return this._model?this._model.selection:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){return this.focused||!this.empty},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"placeholder",{get:function(){var e,t,a=(null===(e=this._startInput)||void 0===e?void 0:e._getPlaceholder())||"",n=(null===(t=this._endInput)||void 0===t?void 0:t._getPlaceholder())||"";return a||n?a+" "+this.separator+" "+n:""},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rangePicker",{get:function(){return this._rangePicker},set:function(e){e&&(this._model=e._registerInput(this),this._rangePicker=e,this._registerModel(this._model))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return!!this._required},set:function(e){this._required=_.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dateFilter",{get:function(){return this._dateFilter},set:function(e){this._dateFilter=e,this._revalidate()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"min",{get:function(){return this._min},set:function(e){this._min=this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._revalidate()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"max",{get:function(){return this._max},set:function(e){this._max=this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._revalidate()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._startInput&&this._endInput?this._startInput.disabled&&this._endInput.disabled:this._groupDisabled},set:function(e){var t=_.coerceBooleanProperty(e);t!==this._groupDisabled&&(this._groupDisabled=t,this._disabledChange.next(this.disabled))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"errorState",{get:function(){return!(!this._startInput||!this._endInput)&&(this._startInput.errorState||this._endInput.errorState)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"empty",{get:function(){var e=!!this._startInput&&this._startInput.isEmpty(),t=!!this._endInput&&this._endInput.isEmpty();return e&&t},enumerable:!1,configurable:!0}),e.prototype.setDescribedByIds=function(e){this._ariaDescribedBy=e.length?e.join(" "):null},e.prototype.onContainerClick=function(){this.focused||this.disabled||(this._model&&this._model.selection.start?this._endInput.focus():this._startInput.focus())},e.prototype.ngAfterContentInit=function(){var e=this;if(!this._startInput)throw Error("mat-date-range-input must contain a matStartDate input");if(!this._endInput)throw Error("mat-date-range-input must contain a matEndDate input");this._model&&this._registerModel(this._model),c.merge(this._startInput._disabledChange,this._endInput._disabledChange).subscribe((function(){e._disabledChange.next(e.disabled)}))},e.prototype.ngOnDestroy=function(){this.stateChanges.complete(),this._disabledChange.unsubscribe()},e.prototype.getStartValue=function(){return this.value?this.value.start:null},e.prototype.getThemePalette=function(){return this._formField?this._formField.color:void 0},e.prototype.getConnectedOverlayOrigin=function(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef},e.prototype._getInputMirrorValue=function(){return this._startInput?this._startInput.getMirrorValue():""},e.prototype._shouldHidePlaceholders=function(){return!!this._startInput&&!this._startInput.isEmpty()},e.prototype._handleChildValueChange=function(){this._changeDetectorRef.markForCheck()},e.prototype._openDatepicker=function(){this._rangePicker&&this._rangePicker.open()},e.prototype._shouldHideSeparator=function(){return(!this._formField||this._formField._hideControlPlaceholder())&&this.empty},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._revalidate=function(){this._startInput&&this._startInput._validatorOnChange(),this._endInput&&this._endInput._validatorOnChange()},e.prototype._registerModel=function(e){this._startInput&&this._startInput._registerModel(e),this._endInput&&this._endInput._registerModel(e)},e.decorators=[{type:i.Component,args:[{selector:"mat-date-range-input",template:'<div\n class="mat-date-range-input-container"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)="focused = $event !== null">\n <div class="mat-date-range-input-start-wrapper">\n <ng-content select="input[matStartDate]"></ng-content>\n <span\n class="mat-date-range-input-mirror"\n aria-hidden="true">{{_getInputMirrorValue()}}</span>\n </div>\n\n <span\n class="mat-date-range-input-separator"\n [class.mat-date-range-input-separator-hidden]="_shouldHideSeparator()">{{separator}}</span>\n\n <div class="mat-date-range-input-end-wrapper">\n <ng-content select="input[matEndDate]"></ng-content>\n </div>\n</div>\n\n',exportAs:"matDateRangeInput",host:{class:"mat-date-range-input","[class.mat-date-range-input-hide-placeholders]":"_shouldHidePlaceholders()","[attr.id]":"null"},changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,providers:[{provide:y.MatFormFieldControl,useExisting:e},{provide:ue,useExisting:e}],styles:[".mat-date-range-input{display:block;width:100%}.mat-date-range-input-container{display:flex;align-items:center}.mat-date-range-input-separator{margin:0 4px;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-separator-hidden{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent;transition:none}.mat-date-range-input-inner{font:inherit;background:transparent;color:currentColor;border:none;outline:none;padding:0;margin:0;vertical-align:bottom;text-align:inherit;-webkit-appearance:none;width:100%}.mat-date-range-input-inner::-ms-clear,.mat-date-range-input-inner::-ms-reveal{display:none}.mat-date-range-input-inner::placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner::-moz-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner::-webkit-input-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner:-ms-input-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-hide-placeholder .mat-date-range-input-inner::placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-date-range-input-inner::-moz-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-date-range-input-inner::-webkit-input-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-date-range-input-inner:-ms-input-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-mirror{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;visibility:hidden;white-space:nowrap;display:inline-block;min-width:2px}.mat-date-range-input-start-wrapper{position:relative;overflow:hidden;max-width:calc(50% - 4px)}.mat-date-range-input-start-wrapper .mat-date-range-input-inner{position:absolute;top:0;left:0}.mat-date-range-input-end-wrapper{flex-grow:1;max-width:calc(50% - 4px)}.mat-form-field-type-mat-date-range-input .mat-form-field-infix{width:200px}\n"]}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:i.ElementRef},{type:g.ControlContainer,decorators:[{type:i.Optional},{type:i.Self}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:y.MatFormField,decorators:[{type:i.Optional}]}]},e.propDecorators={rangePicker:[{type:i.Input}],required:[{type:i.Input}],dateFilter:[{type:i.Input}],min:[{type:i.Input}],max:[{type:i.Input}],disabled:[{type:i.Input}],separator:[{type:i.Input}],comparisonStart:[{type:i.Input}],comparisonEnd:[{type:i.Input}],_startInput:[{type:i.ContentChild,args:[me]}],_endInput:[{type:i.ContentChild,args:[ge]}]},e}(),ve=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{imports:[r.CommonModule,o.MatButtonModule,s.MatDialogModule,a.OverlayModule,t.A11yModule,n.PortalModule],exports:[d.CdkScrollableModule,$,C,re,te,le,pe,ce,B,U,W,K,be,me,ge,ye],declarations:[$,C,re,te,le,pe,ce,B,U,W,K,be,me,ge,ye],providers:[v,ee,{provide:j,useClass:L}],entryComponents:[te,K]}]}],e}();
65
+ */function J(e){return function(){return e.scrollStrategies.reposition()}}var Q={provide:Z,deps:[a.Overlay],useFactory:J},ee=function(e){function t(t,a,n,r,i){var o=e.call(this,t)||this;return o._changeDetectorRef=a,o._model=n,o._dateAdapter=r,o._rangeSelectionStrategy=i,o._animationState="enter",o._animationDone=new c.Subject,o}return E(t,e),t.prototype.ngAfterViewInit=function(){this._calendar.focusActiveCell()},t.prototype.ngOnDestroy=function(){this._animationDone.complete()},t.prototype._handleUserSelection=function(e){if(this._model&&this._dateAdapter){var t=this._model.selection,a=e.value,n=t instanceof S;if(n&&this._rangeSelectionStrategy){var r=this._rangeSelectionStrategy.selectionFinished(a,t,e.event);this._model.updateSelection(r,this)}else!a||!n&&this._dateAdapter.sameDate(a,t)||this._model.add(a)}this._model&&!this._model.isComplete()||this.datepicker.close()},t.prototype._startExitAnimation=function(){this._animationState="void",this._changeDetectorRef&&this._changeDetectorRef.markForCheck()},t.prototype._getSelected=function(){return this._model?this._model.selection:null},t.decorators=[{type:i.Component,args:[{selector:"mat-datepicker-content",template:'<mat-calendar cdkTrapFocus\n [id]="datepicker.id"\n [ngClass]="datepicker.panelClass"\n [startAt]="datepicker.startAt"\n [startView]="datepicker.startView"\n [minDate]="datepicker._minDate"\n [maxDate]="datepicker._maxDate"\n [dateFilter]="datepicker._dateFilter"\n [headerComponent]="datepicker.calendarHeaderComponent"\n [selected]="_getSelected()"\n [dateClass]="datepicker.dateClass"\n [comparisonStart]="comparisonStart"\n [comparisonEnd]="comparisonEnd"\n [@fadeInCalendar]="\'enter\'"\n (yearSelected)="datepicker._selectYear($event)"\n (monthSelected)="datepicker._selectMonth($event)"\n (_userSelection)="_handleUserSelection($event)">\n</mat-calendar>\n',host:{class:"mat-datepicker-content","[@transformPanel]":"_animationState","(@transformPanel.done)":"_animationDone.next()","[class.mat-datepicker-content-touch]":"datepicker.touchUi"},animations:[$.transformPanel,$.fadeInCalendar],exportAs:"matDatepickerContent",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,inputs:["color"],styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content-touch{display:block;max-height:80vh;overflow:auto;margin:-24px}.mat-datepicker-content-touch .mat-calendar{min-width:250px;min-height:312px;max-width:750px;max-height:788px}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-calendar{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-calendar{width:80vw;height:100vw}}\n"]}]}],t.ctorParameters=function(){return[{type:i.ElementRef},{type:i.ChangeDetectorRef},{type:M},{type:l.DateAdapter},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[j]}]}]},t.propDecorators={_calendar:[{type:i.ViewChild,args:[K]}]},t}(l.mixinColor((function te(e){this._elementRef=e}))),ae=function(){function e(e,t,a,n,r,o,s,d,l){if(this._dialog=e,this._overlay=t,this._ngZone=a,this._viewContainerRef=n,this._dateAdapter=o,this._dir=s,this._document=d,this._model=l,this.startView="month",this._touchUi=!1,this.xPosition="start",this.yPosition="below",this.yearSelected=new i.EventEmitter,this.monthSelected=new i.EventEmitter,this.openedStream=new i.EventEmitter,this.closedStream=new i.EventEmitter,this._opened=!1,this.id="mat-datepicker-"+X++,this._focusedElementBeforeOpen=null,this._disabledChange=new c.Subject,!this._dateAdapter)throw b("DateAdapter");this._scrollStrategy=r}return Object.defineProperty(e.prototype,"startAt",{get:function(){return this._startAt||(this._datepickerInput?this._datepickerInput.getStartValue():null)},set:function(e){this._startAt=this._getValidDateOrNull(this._dateAdapter.deserialize(e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"color",{get:function(){return this._color||(this._datepickerInput?this._datepickerInput.getThemePalette():void 0)},set:function(e){this._color=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"touchUi",{get:function(){return this._touchUi},set:function(e){this._touchUi=_.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return void 0===this._disabled&&this._datepickerInput?this._datepickerInput.disabled:!!this._disabled},set:function(e){var t=_.coerceBooleanProperty(e);t!==this._disabled&&(this._disabled=t,this._disabledChange.next(t))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"opened",{get:function(){return this._opened},set:function(e){e?this.open():this.close()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_minDate",{get:function(){return this._datepickerInput&&this._datepickerInput.min},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_maxDate",{get:function(){return this._datepickerInput&&this._datepickerInput.max},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_dateFilter",{get:function(){return this._datepickerInput&&this._datepickerInput.dateFilter},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){var t=e.xPosition||e.yPosition;t&&!t.firstChange&&this._popupRef&&(this._setConnectedPositions(this._popupRef.getConfig().positionStrategy),this.opened&&this._popupRef.updatePosition())},e.prototype.ngOnDestroy=function(){this._destroyPopup(),this.close(),this._disabledChange.complete()},e.prototype.select=function(e){this._model.add(e)},e.prototype._selectYear=function(e){this.yearSelected.emit(e)},e.prototype._selectMonth=function(e){this.monthSelected.emit(e)},e.prototype._registerInput=function(e){if(this._datepickerInput)throw Error("A MatDatepicker can only be associated with a single input.");return this._datepickerInput=e,this._model},e.prototype.open=function(){if(!this._opened&&!this.disabled){if(!this._datepickerInput)throw Error("Attempted to open an MatDatepicker with no associated input.");this._document&&(this._focusedElementBeforeOpen=this._document.activeElement),this.touchUi?this._openAsDialog():this._openAsPopup(),this._opened=!0,this.openedStream.emit()}},e.prototype.close=function(){var e=this;if(this._opened){if(this._popupComponentRef&&this._popupRef){var t=this._popupComponentRef.instance;t._startExitAnimation(),t._animationDone.pipe(h.take(1)).subscribe((function(){return e._destroyPopup()}))}this._dialogRef&&(this._dialogRef.close(),this._dialogRef=null);var a=function(){e._opened&&(e._opened=!1,e.closedStream.emit(),e._focusedElementBeforeOpen=null)};this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus?(this._focusedElementBeforeOpen.focus(),setTimeout(a)):a()}},e.prototype._openAsDialog=function(){var e=this;this._dialogRef&&this._dialogRef.close(),this._dialogRef=this._dialog.open(ee,{direction:this._dir?this._dir.value:"ltr",viewContainerRef:this._viewContainerRef,panelClass:"mat-datepicker-dialog",hasBackdrop:!0,disableClose:!1,width:"",height:"",minWidth:"",minHeight:"",maxWidth:"80vw",maxHeight:"",position:{},autoFocus:!0,restoreFocus:!1}),this._dialogRef.afterClosed().subscribe((function(){return e.close()})),this._forwardContentValues(this._dialogRef.componentInstance)},e.prototype._openAsPopup=function(){var e=this,t=new n.ComponentPortal(ee,this._viewContainerRef);this._destroyPopup(),this._createPopup(),this._popupComponentRef=this._popupRef.attach(t),this._forwardContentValues(this._popupComponentRef.instance),this._ngZone.onStable.asObservable().pipe(h.take(1)).subscribe((function(){e._popupRef.updatePosition()}))},e.prototype._forwardContentValues=function(e){e.datepicker=this,e.color=this.color},e.prototype._createPopup=function(){var e=this,t=this._overlay.position().flexibleConnectedTo(this._datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition(),n=new a.OverlayConfig({positionStrategy:this._setConnectedPositions(t),hasBackdrop:!0,backdropClass:"mat-overlay-transparent-backdrop",direction:this._dir,scrollStrategy:this._scrollStrategy(),panelClass:"mat-datepicker-popup"});this._popupRef=this._overlay.create(n),this._popupRef.overlayElement.setAttribute("role","dialog"),c.merge(this._popupRef.backdropClick(),this._popupRef.detachments(),this._popupRef.keydownEvents().pipe(h.filter((function(t){return t.keyCode===p.ESCAPE||e._datepickerInput&&t.altKey&&t.keyCode===p.UP_ARROW})))).subscribe((function(t){t&&t.preventDefault(),e.close()}))},e.prototype._destroyPopup=function(){this._popupRef&&(this._popupRef.dispose(),this._popupRef=this._popupComponentRef=null)},e.prototype._setConnectedPositions=function(e){var t="end"===this.xPosition?"end":"start",a="start"===t?"end":"start",n="above"===this.yPosition?"bottom":"top",r="top"===n?"bottom":"top";return e.withPositions([{originX:t,originY:r,overlayX:t,overlayY:n},{originX:t,originY:n,overlayX:t,overlayY:r},{originX:a,originY:r,overlayX:a,overlayY:n},{originX:a,originY:n,overlayX:a,overlayY:r}])},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.decorators=[{type:i.Directive}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:a.Overlay},{type:i.NgZone},{type:i.ViewContainerRef},{type:void 0,decorators:[{type:i.Inject,args:[Z]}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[r.DOCUMENT]}]},{type:M}]},e.propDecorators={calendarHeaderComponent:[{type:i.Input}],startAt:[{type:i.Input}],startView:[{type:i.Input}],color:[{type:i.Input}],touchUi:[{type:i.Input}],disabled:[{type:i.Input}],xPosition:[{type:i.Input}],yPosition:[{type:i.Input}],yearSelected:[{type:i.Output}],monthSelected:[{type:i.Output}],panelClass:[{type:i.Input}],dateClass:[{type:i.Input}],openedStream:[{type:i.Output,args:["opened"]}],closedStream:[{type:i.Output,args:["closed"]}],opened:[{type:i.Input}]},e}(),ne=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.decorators=[{type:i.Component,args:[{selector:"mat-datepicker",template:"",exportAs:"matDatepicker",changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,providers:[F]}]}],t}(ae),re=function re(e,t){this.target=e,this.targetElement=t,this.value=this.target.value},ie=function(){function e(e,t,a){var n=this;if(this._elementRef=e,this._dateAdapter=t,this._dateFormats=a,this.dateChange=new i.EventEmitter,this.dateInput=new i.EventEmitter,this._valueChange=new i.EventEmitter,this._disabledChange=new i.EventEmitter,this._onTouched=function(){},this._validatorOnChange=function(){},this._cvaOnChange=function(){},this._valueChangesSubscription=c.Subscription.EMPTY,this._localeSubscription=c.Subscription.EMPTY,this._parseValidator=function(){return n._lastValueValid?null:{matDatepickerParse:{text:n._elementRef.nativeElement.value}}},this._filterValidator=function(e){var t=n._getValidDateOrNull(n._dateAdapter.deserialize(e.value)),a=n._getDateFilter();return a&&t&&!a(t)?{matDatepickerFilter:!0}:null},this._minValidator=function(e){var t=n._getValidDateOrNull(n._dateAdapter.deserialize(e.value)),a=n._getMinDate();return!a||!t||n._dateAdapter.compareDate(a,t)<=0?null:{matDatepickerMin:{min:a,actual:t}}},this._maxValidator=function(e){var t=n._getValidDateOrNull(n._dateAdapter.deserialize(e.value)),a=n._getMaxDate();return!a||!t||n._dateAdapter.compareDate(a,t)>=0?null:{matDatepickerMax:{max:a,actual:t}}},this._lastValueValid=!1,!this._dateAdapter)throw b("DateAdapter");if(!this._dateFormats)throw b("MAT_DATE_FORMATS");this._localeSubscription=t.localeChanges.subscribe((function(){n.value=n.value}))}return Object.defineProperty(e.prototype,"value",{get:function(){return this._model?this._getValueFromModel(this._model.selection):this._pendingValue},set:function(e){e=this._dateAdapter.deserialize(e),this._lastValueValid=this._isValidValue(e),e=this._getValidDateOrNull(e);var t=this.value;this._assignValue(e),this._formatValue(e),this._dateAdapter.sameDate(t,e)||this._valueChange.emit(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return!!this._disabled||this._parentDisabled()},set:function(e){var t=_.coerceBooleanProperty(e),a=this._elementRef.nativeElement;this._disabled!==t&&(this._disabled=t,this._disabledChange.emit(t)),t&&this._isInitialized&&a.blur&&a.blur()},enumerable:!1,configurable:!0}),e.prototype._getValidators=function(){return[this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]},e.prototype._registerModel=function(e){var t=this;this._model=e,this._valueChangesSubscription.unsubscribe(),this._pendingValue&&this._assignValue(this._pendingValue),this._valueChangesSubscription=this._model.selectionChanged.subscribe((function(e){if(e.source!==t){var a=t._getValueFromModel(e.selection);t._lastValueValid=t._isValidValue(a),t._cvaOnChange(a),t._onTouched(),t._formatValue(a),t.dateInput.emit(new re(t,t._elementRef.nativeElement)),t.dateChange.emit(new re(t,t._elementRef.nativeElement)),t._outsideValueChanged&&t._outsideValueChanged()}}))},e.prototype.ngAfterViewInit=function(){this._isInitialized=!0},e.prototype.ngOnDestroy=function(){this._valueChangesSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this._valueChange.complete(),this._disabledChange.complete()},e.prototype.registerOnValidatorChange=function(e){this._validatorOnChange=e},e.prototype.validate=function(e){return this._validator?this._validator(e):null},e.prototype.writeValue=function(e){this.value=e},e.prototype.registerOnChange=function(e){this._cvaOnChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype._onKeydown=function(e){e.altKey&&e.keyCode===p.DOWN_ARROW&&!this._elementRef.nativeElement.readOnly&&(this._openPopup(),e.preventDefault())},e.prototype._onInput=function(e){var t=this._lastValueValid,a=this._dateAdapter.parse(e,this._dateFormats.parse.dateInput);this._lastValueValid=this._isValidValue(a),a=this._getValidDateOrNull(a),this._dateAdapter.sameDate(a,this.value)?(e&&!this.value&&this._cvaOnChange(a),t!==this._lastValueValid&&this._validatorOnChange()):(this._assignValue(a),this._cvaOnChange(a),this._valueChange.emit(a),this.dateInput.emit(new re(this,this._elementRef.nativeElement)))},e.prototype._onChange=function(){this.dateChange.emit(new re(this,this._elementRef.nativeElement))},e.prototype._onBlur=function(){this.value&&this._formatValue(this.value),this._onTouched()},e.prototype._formatValue=function(e){this._elementRef.nativeElement.value=e?this._dateAdapter.format(e,this._dateFormats.display.dateInput):""},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._assignValue=function(e){this._model?(this._assignValueToModel(e),this._pendingValue=null):this._pendingValue=e},e.prototype._isValidValue=function(e){return!e||this._dateAdapter.isValid(e)},e.prototype._parentDisabled=function(){return!1},e.decorators=[{type:i.Directive}],e.ctorParameters=function(){return[{type:i.ElementRef},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]}]},e.propDecorators={value:[{type:i.Input}],disabled:[{type:i.Input}],dateChange:[{type:i.Output}],dateInput:[{type:i.Output}]},e}(),oe={provide:g.NG_VALUE_ACCESSOR,useExisting:i.forwardRef((function(){return de})),multi:!0},se={provide:g.NG_VALIDATORS,useExisting:i.forwardRef((function(){return de})),multi:!0},de=function(e){function t(t,a,n,r){var i=e.call(this,t,a,n)||this;return i._formField=r,i._validator=g.Validators.compose(e.prototype._getValidators.call(i)),i}return E(t,e),Object.defineProperty(t.prototype,"matDatepicker",{set:function(e){e&&(this._datepicker=e,this._registerModel(e._registerInput(this)))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"min",{get:function(){return this._min},set:function(e){this._min=this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._validatorOnChange()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"max",{get:function(){return this._max},set:function(e){this._max=this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._validatorOnChange()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dateFilter",{get:function(){return this._dateFilter},set:function(e){this._dateFilter=e,this._validatorOnChange()},enumerable:!1,configurable:!0}),t.prototype.getConnectedOverlayOrigin=function(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef},t.prototype.getThemePalette=function(){return this._formField?this._formField.color:void 0},t.prototype.getStartValue=function(){return this.value},t.prototype.getPopupConnectionElementRef=function(){return this.getConnectedOverlayOrigin()},t.prototype._openPopup=function(){this._datepicker&&this._datepicker.open()},t.prototype._getValueFromModel=function(e){return e},t.prototype._assignValueToModel=function(e){this._model&&this._model.updateSelection(e,this)},t.prototype._getMinDate=function(){return this._min},t.prototype._getMaxDate=function(){return this._max},t.prototype._getDateFilter=function(){return this._dateFilter},t.decorators=[{type:i.Directive,args:[{selector:"input[matDatepicker]",providers:[oe,se,{provide:f.MAT_INPUT_VALUE_ACCESSOR,useExisting:t}],host:{"[attr.aria-haspopup]":'_datepicker ? "dialog" : null',"[attr.aria-owns]":"(_datepicker?.opened && _datepicker.id) || null","[attr.min]":"min ? _dateAdapter.toIso8601(min) : null","[attr.max]":"max ? _dateAdapter.toIso8601(max) : null","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(blur)":"_onBlur()","(keydown)":"_onKeydown($event)"},exportAs:"matDatepickerInput"}]}],t.ctorParameters=function(){return[{type:i.ElementRef},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]},{type:y.MatFormField,decorators:[{type:i.Optional},{type:i.Inject,args:[y.MAT_FORM_FIELD]}]}]},t.propDecorators={matDatepicker:[{type:i.Input}],min:[{type:i.Input}],max:[{type:i.Input}],dateFilter:[{type:i.Input,args:["matDatepickerFilter"]}]},t}(ie),le=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"[matDatepickerToggleIcon]"}]}],e}(),ce=function(){function e(e,t,a){this._intl=e,this._changeDetectorRef=t,this._stateChanges=c.Subscription.EMPTY;var n=Number(a);this.tabIndex=n||0===n?n:null}return Object.defineProperty(e.prototype,"disabled",{get:function(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled},set:function(e){this._disabled=_.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){e.datepicker&&this._watchStateChanges()},e.prototype.ngOnDestroy=function(){this._stateChanges.unsubscribe()},e.prototype.ngAfterContentInit=function(){this._watchStateChanges()},e.prototype._open=function(e){this.datepicker&&!this.disabled&&(this.datepicker.open(),e.stopPropagation())},e.prototype._watchStateChanges=function(){var e=this,t=this.datepicker?this.datepicker._disabledChange:c.of(),a=this.datepicker&&this.datepicker._datepickerInput?this.datepicker._datepickerInput._disabledChange:c.of(),n=this.datepicker?c.merge(this.datepicker.openedStream,this.datepicker.closedStream):c.of();this._stateChanges.unsubscribe(),this._stateChanges=c.merge(this._intl.changes,t,a,n).subscribe((function(){return e._changeDetectorRef.markForCheck()}))},e.decorators=[{type:i.Component,args:[{selector:"mat-datepicker-toggle",template:'<button\n #button\n mat-icon-button\n type="button"\n [attr.aria-haspopup]="datepicker ? \'dialog\' : null"\n [attr.aria-label]="_intl.openCalendarLabel"\n [attr.tabindex]="disabled ? -1 : tabIndex"\n [disabled]="disabled"\n [disableRipple]="disableRipple"\n (click)="_open($event)">\n\n <svg\n *ngIf="!_customIcon"\n class="mat-datepicker-toggle-default-icon"\n viewBox="0 0 24 24"\n width="24px"\n height="24px"\n fill="currentColor"\n focusable="false">\n <path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"/>\n </svg>\n\n <ng-content select="[matDatepickerToggleIcon]"></ng-content>\n</button>\n',host:{class:"mat-datepicker-toggle","[attr.tabindex]":"disabled ? null : -1","[class.mat-datepicker-toggle-active]":"datepicker && datepicker.opened","[class.mat-accent]":'datepicker && datepicker.color === "accent"',"[class.mat-warn]":'datepicker && datepicker.color === "warn"',"(focus)":"_button.focus()"},exportAs:"matDatepickerToggle",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}\n"]}]}],e.ctorParameters=function(){return[{type:v},{type:i.ChangeDetectorRef},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]}]},e.propDecorators={datepicker:[{type:i.Input,args:["for"]}],tabIndex:[{type:i.Input}],disabled:[{type:i.Input}],disableRipple:[{type:i.Input}],_customIcon:[{type:i.ContentChild,args:[le]}],_button:[{type:i.ViewChild,args:["button"]}]},e}(),pe=new i.InjectionToken("MAT_DATE_RANGE_INPUT_PARENT"),ue=function(e){function t(t,a,n,r,i,o,s,d){var l=e.call(this,a,s,d)||this;return l._rangeInput=t,l._defaultErrorStateMatcher=n,l._injector=r,l._parentForm=i,l._parentFormGroup=o,l._outsideValueChanged=function(){l._validatorOnChange()},l}return E(t,e),t.prototype.ngOnInit=function(){var e=this._injector.get(g.NgControl,null,i.InjectFlags.Self);e&&(this.ngControl=e)},t.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},t.prototype.isEmpty=function(){return 0===this._elementRef.nativeElement.value.length},t.prototype._getPlaceholder=function(){return this._elementRef.nativeElement.placeholder},t.prototype.focus=function(){this._elementRef.nativeElement.focus()},t.prototype._onInput=function(t){e.prototype._onInput.call(this,t),this._rangeInput._handleChildValueChange()},t.prototype._openPopup=function(){this._rangeInput._openDatepicker()},t.prototype._getMinDate=function(){return this._rangeInput.min},t.prototype._getMaxDate=function(){return this._rangeInput.max},t.prototype._getDateFilter=function(){return this._rangeInput.dateFilter},t.prototype._parentDisabled=function(){return this._rangeInput._groupDisabled},t.decorators=[{type:i.Directive}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[pe]}]},{type:i.ElementRef},{type:l.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]}]},t}(ie),he=l.mixinErrorState(ue),_e=function(e){function t(t,a,n,r,i,o,s,d){var l=e.call(this,t,a,n,r,i,o,s,d)||this;return l._startValidator=function(e){var t=l._getValidDateOrNull(l._dateAdapter.deserialize(e.value)),a=l._model?l._model.selection.end:null;return!t||!a||l._dateAdapter.compareDate(t,a)<=0?null:{matStartDateInvalid:{end:a,actual:t}}},l._validator=g.Validators.compose(x(e.prototype._getValidators.call(l),[l._startValidator])),l}return E(t,e),t.prototype._getValueFromModel=function(e){return e.start},t.prototype._assignValueToModel=function(e){if(this._model){var t=new S(e,this._model.selection.end);this._model.updateSelection(t,this),this._cvaOnChange(e)}},t.prototype._formatValue=function(t){e.prototype._formatValue.call(this,t),this._rangeInput._handleChildValueChange()},t.prototype.getMirrorValue=function(){var e=this._elementRef.nativeElement,t=e.value;return t.length>0?t:e.placeholder},t.decorators=[{type:i.Directive,args:[{selector:"input[matStartDate]",host:{class:"mat-date-range-input-inner","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(keydown)":"_onKeydown($event)","[attr.id]":"_rangeInput.id","[attr.aria-haspopup]":'_rangeInput.rangePicker ? "dialog" : null',"[attr.aria-owns]":"(_rangeInput.rangePicker?.opened && _rangeInput.rangePicker.id) || null","[attr.min]":"_getMinDate() ? _dateAdapter.toIso8601(_getMinDate()) : null","[attr.max]":"_getMaxDate() ? _dateAdapter.toIso8601(_getMaxDate()) : null","(blur)":"_onBlur()",type:"text"},providers:[{provide:g.NG_VALUE_ACCESSOR,useExisting:t,multi:!0},{provide:g.NG_VALIDATORS,useExisting:t,multi:!0}]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[pe]}]},{type:i.ElementRef},{type:l.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]}]},t}(he),me=function(e){function t(t,a,n,r,i,o,s,d){var l=e.call(this,t,a,n,r,i,o,s,d)||this;return l._endValidator=function(e){var t=l._getValidDateOrNull(l._dateAdapter.deserialize(e.value)),a=l._model?l._model.selection.start:null;return!t||!a||l._dateAdapter.compareDate(t,a)>=0?null:{matEndDateInvalid:{start:a,actual:t}}},l._validator=g.Validators.compose(x(e.prototype._getValidators.call(l),[l._endValidator])),l}return E(t,e),t.prototype._getValueFromModel=function(e){return e.end},t.prototype._assignValueToModel=function(e){if(this._model){var t=new S(this._model.selection.start,e);this._model.updateSelection(t,this),this._cvaOnChange(e)}},t.prototype._onKeydown=function(t){t.keyCode!==p.BACKSPACE||this._elementRef.nativeElement.value||this._rangeInput._startInput.focus(),e.prototype._onKeydown.call(this,t)},t.decorators=[{type:i.Directive,args:[{selector:"input[matEndDate]",host:{class:"mat-date-range-input-inner","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(keydown)":"_onKeydown($event)","[attr.aria-haspopup]":'_rangeInput.rangePicker ? "dialog" : null',"[attr.aria-owns]":"(_rangeInput.rangePicker?.opened && _rangeInput.rangePicker.id) || null","[attr.min]":"_getMinDate() ? _dateAdapter.toIso8601(_getMinDate()) : null","[attr.max]":"_getMaxDate() ? _dateAdapter.toIso8601(_getMaxDate()) : null","(blur)":"_onBlur()",type:"text"},providers:[{provide:g.NG_VALUE_ACCESSOR,useExisting:t,multi:!0},{provide:g.NG_VALIDATORS,useExisting:t,multi:!0}]}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[pe]}]},{type:i.ElementRef},{type:l.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[l.MAT_DATE_FORMATS]}]}]},t}(he),ge=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._forwardContentValues=function(t){e.prototype._forwardContentValues.call(this,t);var a=this._datepickerInput;a&&(t.comparisonStart=a.comparisonStart,t.comparisonEnd=a.comparisonEnd)},t.decorators=[{type:i.Component,args:[{selector:"mat-date-range-picker",template:"",exportAs:"matDateRangePicker",changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,providers:[N]}]}],t}(ae),ye=0,fe=function(){function e(e,t,a,n,r){if(this._changeDetectorRef=e,this._elementRef=t,this._dateAdapter=n,this._formField=r,this.stateChanges=new c.Subject,this.id="mat-date-range-input-"+ye++,this.focused=!1,this.controlType="mat-date-range-input",this._groupDisabled=!1,this._ariaDescribedBy=null,this.separator="–",this.comparisonStart=null,this.comparisonEnd=null,this._disabledChange=new c.Subject,!n)throw b("DateAdapter");this.ngControl=a}return Object.defineProperty(e.prototype,"value",{get:function(){return this._model?this._model.selection:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){return this.focused||!this.empty},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"placeholder",{get:function(){var e,t,a=(null===(e=this._startInput)||void 0===e?void 0:e._getPlaceholder())||"",n=(null===(t=this._endInput)||void 0===t?void 0:t._getPlaceholder())||"";return a||n?a+" "+this.separator+" "+n:""},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rangePicker",{get:function(){return this._rangePicker},set:function(e){e&&(this._model=e._registerInput(this),this._rangePicker=e,this._registerModel(this._model))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return!!this._required},set:function(e){this._required=_.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dateFilter",{get:function(){return this._dateFilter},set:function(e){this._dateFilter=e,this._revalidate()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"min",{get:function(){return this._min},set:function(e){this._min=this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._revalidate()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"max",{get:function(){return this._max},set:function(e){this._max=this._getValidDateOrNull(this._dateAdapter.deserialize(e)),this._revalidate()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._startInput&&this._endInput?this._startInput.disabled&&this._endInput.disabled:this._groupDisabled},set:function(e){var t=_.coerceBooleanProperty(e);t!==this._groupDisabled&&(this._groupDisabled=t,this._disabledChange.next(this.disabled))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"errorState",{get:function(){return!(!this._startInput||!this._endInput)&&(this._startInput.errorState||this._endInput.errorState)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"empty",{get:function(){var e=!!this._startInput&&this._startInput.isEmpty(),t=!!this._endInput&&this._endInput.isEmpty();return e&&t},enumerable:!1,configurable:!0}),e.prototype.setDescribedByIds=function(e){this._ariaDescribedBy=e.length?e.join(" "):null},e.prototype.onContainerClick=function(){this.focused||this.disabled||(this._model&&this._model.selection.start?this._endInput.focus():this._startInput.focus())},e.prototype.ngAfterContentInit=function(){var e=this;if(!this._startInput)throw Error("mat-date-range-input must contain a matStartDate input");if(!this._endInput)throw Error("mat-date-range-input must contain a matEndDate input");this._model&&this._registerModel(this._model),c.merge(this._startInput._disabledChange,this._endInput._disabledChange).subscribe((function(){e._disabledChange.next(e.disabled)}))},e.prototype.ngOnDestroy=function(){this.stateChanges.complete(),this._disabledChange.unsubscribe()},e.prototype.getStartValue=function(){return this.value?this.value.start:null},e.prototype.getThemePalette=function(){return this._formField?this._formField.color:void 0},e.prototype.getConnectedOverlayOrigin=function(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef},e.prototype._getInputMirrorValue=function(){return this._startInput?this._startInput.getMirrorValue():""},e.prototype._shouldHidePlaceholders=function(){return!!this._startInput&&!this._startInput.isEmpty()},e.prototype._handleChildValueChange=function(){this.stateChanges.next(),this._changeDetectorRef.markForCheck()},e.prototype._openDatepicker=function(){this._rangePicker&&this._rangePicker.open()},e.prototype._shouldHideSeparator=function(){return(!this._formField||this._formField._hideControlPlaceholder())&&this.empty},e.prototype._getAriaLabelledby=function(){var e=this._formField;return e&&e._hasFloatingLabel()?e._labelId:null},e.prototype._getValidDateOrNull=function(e){return this._dateAdapter.isDateInstance(e)&&this._dateAdapter.isValid(e)?e:null},e.prototype._revalidate=function(){this._startInput&&this._startInput._validatorOnChange(),this._endInput&&this._endInput._validatorOnChange()},e.prototype._registerModel=function(e){this._startInput&&this._startInput._registerModel(e),this._endInput&&this._endInput._registerModel(e)},e.decorators=[{type:i.Component,args:[{selector:"mat-date-range-input",template:'<div\n class="mat-date-range-input-container"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)="focused = $event !== null">\n <div class="mat-date-range-input-start-wrapper">\n <ng-content select="input[matStartDate]"></ng-content>\n <span\n class="mat-date-range-input-mirror"\n aria-hidden="true">{{_getInputMirrorValue()}}</span>\n </div>\n\n <span\n class="mat-date-range-input-separator"\n [class.mat-date-range-input-separator-hidden]="_shouldHideSeparator()">{{separator}}</span>\n\n <div class="mat-date-range-input-end-wrapper">\n <ng-content select="input[matEndDate]"></ng-content>\n </div>\n</div>\n\n',exportAs:"matDateRangeInput",host:{class:"mat-date-range-input","[class.mat-date-range-input-hide-placeholders]":"_shouldHidePlaceholders()","[attr.id]":"null",role:"group","[attr.aria-labelledby]":"_getAriaLabelledby()","[attr.aria-describedby]":"_ariaDescribedBy"},changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,providers:[{provide:y.MatFormFieldControl,useExisting:e},{provide:pe,useExisting:e}],styles:[".mat-date-range-input{display:block;width:100%}.mat-date-range-input-container{display:flex;align-items:center}.mat-date-range-input-separator{transition:opacity 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);margin:0 4px}.mat-date-range-input-separator-hidden{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0;transition:none}.mat-date-range-input-inner{font:inherit;background:transparent;color:currentColor;border:none;outline:none;padding:0;margin:0;vertical-align:bottom;text-align:inherit;-webkit-appearance:none;width:100%}.mat-date-range-input-inner::-ms-clear,.mat-date-range-input-inner::-ms-reveal{display:none}.mat-date-range-input-inner::placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner::-moz-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner::-webkit-input-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner:-ms-input-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-hide-placeholder .mat-date-range-input-inner::placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-date-range-input-inner::-moz-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-date-range-input-inner::-webkit-input-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-date-range-input-inner:-ms-input-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-date-range-input-mirror{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;visibility:hidden;white-space:nowrap;display:inline-block;min-width:2px}.mat-date-range-input-start-wrapper{position:relative;overflow:hidden;max-width:calc(50% - 4px)}.mat-date-range-input-start-wrapper .mat-date-range-input-inner{position:absolute;top:0;left:0}.mat-date-range-input-end-wrapper{flex-grow:1;max-width:calc(50% - 4px)}.mat-form-field-type-mat-date-range-input .mat-form-field-infix{width:200px}\n"]}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:i.ElementRef},{type:g.ControlContainer,decorators:[{type:i.Optional},{type:i.Self}]},{type:l.DateAdapter,decorators:[{type:i.Optional}]},{type:y.MatFormField,decorators:[{type:i.Optional},{type:i.Inject,args:[y.MAT_FORM_FIELD]}]}]},e.propDecorators={rangePicker:[{type:i.Input}],required:[{type:i.Input}],dateFilter:[{type:i.Input}],min:[{type:i.Input}],max:[{type:i.Input}],disabled:[{type:i.Input}],separator:[{type:i.Input}],comparisonStart:[{type:i.Input}],comparisonEnd:[{type:i.Input}],_startInput:[{type:i.ContentChild,args:[_e]}],_endInput:[{type:i.ContentChild,args:[me]}]},e}(),be=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{imports:[r.CommonModule,o.MatButtonModule,s.MatDialogModule,a.OverlayModule,t.A11yModule,n.PortalModule],exports:[d.CdkScrollableModule,K,C,ne,ee,de,ce,le,B,q,z,U,fe,_e,me,ge],declarations:[K,C,ne,ee,de,ce,le,B,q,z,U,fe,_e,me,ge],providers:[v,Q,{provide:j,useClass:L}],entryComponents:[ee,U]}]}],e}();
66
66
  /**
67
67
  * @license
68
68
  * Copyright Google LLC All Rights Reserved.
@@ -70,4 +70,4 @@ var S=function S(e,t){this.start=e,this.end=t},M=function(){function e(e,t){this
70
70
  * Use of this source code is governed by an MIT-style license that can be
71
71
  * found in the LICENSE file at https://angular.io/license
72
72
  */
73
- e.DateRange=S,e.DefaultMatCalendarRangeStrategy=L,e.MAT_DATEPICKER_SCROLL_STRATEGY=J,e.MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY=Q,e.MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER=ee,e.MAT_DATEPICKER_VALIDATORS=de,e.MAT_DATEPICKER_VALUE_ACCESSOR=se,e.MAT_DATE_RANGE_SELECTION_STRATEGY=j,e.MAT_RANGE_DATE_SELECTION_MODEL_FACTORY=Y,e.MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER=N,e.MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY=T,e.MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER=F,e.MatCalendar=$,e.MatCalendarBody=C,e.MatCalendarCell=D,e.MatCalendarHeader=K,e.MatDateRangeInput=be,e.MatDateRangePicker=ye,e.MatDateSelectionModel=M,e.MatDatepicker=re,e.MatDatepickerContent=te,e.MatDatepickerInput=le,e.MatDatepickerInputEvent=ie,e.MatDatepickerIntl=v,e.MatDatepickerModule=ve,e.MatDatepickerToggle=pe,e.MatDatepickerToggleIcon=ce,e.MatEndDate=ge,e.MatMonthView=B,e.MatMultiYearView=W,e.MatRangeDateSelectionModel=P,e.MatSingleDateSelectionModel=R,e.MatStartDate=me,e.MatYearView=U,e.matDatepickerAnimations=X,e.yearsPerPage=z,e.yearsPerRow=4,e.ɵangular_material_src_material_datepicker_datepicker_a=ne,e.ɵangular_material_src_material_datepicker_datepicker_b=oe,e.ɵangular_material_src_material_datepicker_datepicker_c=ue,Object.defineProperty(e,"__esModule",{value:!0})}));
73
+ e.DateRange=S,e.DefaultMatCalendarRangeStrategy=L,e.MAT_DATEPICKER_SCROLL_STRATEGY=Z,e.MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY=J,e.MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER=Q,e.MAT_DATEPICKER_VALIDATORS=se,e.MAT_DATEPICKER_VALUE_ACCESSOR=oe,e.MAT_DATE_RANGE_SELECTION_STRATEGY=j,e.MAT_RANGE_DATE_SELECTION_MODEL_FACTORY=Y,e.MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER=N,e.MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY=T,e.MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER=F,e.MatCalendar=K,e.MatCalendarBody=C,e.MatCalendarCell=D,e.MatCalendarHeader=U,e.MatDateRangeInput=fe,e.MatDateRangePicker=ge,e.MatDateSelectionModel=M,e.MatDatepicker=ne,e.MatDatepickerContent=ee,e.MatDatepickerInput=de,e.MatDatepickerInputEvent=re,e.MatDatepickerIntl=v,e.MatDatepickerModule=be,e.MatDatepickerToggle=ce,e.MatDatepickerToggleIcon=le,e.MatEndDate=me,e.MatMonthView=B,e.MatMultiYearView=z,e.MatRangeDateSelectionModel=P,e.MatSingleDateSelectionModel=R,e.MatStartDate=_e,e.MatYearView=q,e.matDatepickerAnimations=$,e.yearsPerPage=24,e.yearsPerRow=4,e.ɵangular_material_src_material_datepicker_datepicker_a=ae,e.ɵangular_material_src_material_datepicker_datepicker_b=ie,e.ɵangular_material_src_material_datepicker_datepicker_c=pe,Object.defineProperty(e,"__esModule",{value:!0})}));