@ng-matero/extensions 12.3.0 → 12.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/README.md +1 -1
  2. package/_all-color.scss +47 -0
  3. package/_all-theme.scss +5 -3
  4. package/_index.scss +4 -2
  5. package/_theming.scss +4 -2
  6. package/alert/_alert-theme.import.scss +2 -2
  7. package/alert/_alert-theme.scss +38 -17
  8. package/alert/alert.component.d.ts +6 -6
  9. package/alert/alert.component.scss +2 -1
  10. package/alert/mtxAlert.metadata.json +1 -1
  11. package/bundles/extensions.umd.js +21 -10
  12. package/bundles/extensions.umd.js.map +1 -1
  13. package/bundles/mtxAlert.umd.js +32 -14
  14. package/bundles/mtxAlert.umd.js.map +1 -1
  15. package/bundles/mtxButton.umd.js +36 -5
  16. package/bundles/mtxButton.umd.js.map +1 -1
  17. package/bundles/mtxCheckboxGroup.umd.js +10 -1
  18. package/bundles/mtxCheckboxGroup.umd.js.map +1 -1
  19. package/bundles/mtxColorPicker.umd.js +10 -1
  20. package/bundles/mtxColorPicker.umd.js.map +1 -1
  21. package/bundles/mtxColumnResize.umd.js +55 -6
  22. package/bundles/mtxColumnResize.umd.js.map +1 -1
  23. package/bundles/mtxCore.umd.js +10 -1
  24. package/bundles/mtxCore.umd.js.map +1 -1
  25. package/bundles/mtxDatetimepicker.umd.js +139 -32
  26. package/bundles/mtxDatetimepicker.umd.js.map +1 -1
  27. package/bundles/mtxDialog.umd.js +17 -2
  28. package/bundles/mtxDialog.umd.js.map +1 -1
  29. package/bundles/mtxFormGroup.umd.js +10 -1
  30. package/bundles/mtxFormGroup.umd.js.map +1 -1
  31. package/bundles/mtxGrid.umd.js +92 -12
  32. package/bundles/mtxGrid.umd.js.map +1 -1
  33. package/bundles/mtxLoader.umd.js +37 -8
  34. package/bundles/mtxLoader.umd.js.map +1 -1
  35. package/bundles/mtxPipes.umd.js +2 -0
  36. package/bundles/mtxPipes.umd.js.map +1 -1
  37. package/bundles/mtxPopover.umd.js +27 -3
  38. package/bundles/mtxPopover.umd.js.map +1 -1
  39. package/bundles/mtxProgress.umd.js +31 -4
  40. package/bundles/mtxProgress.umd.js.map +1 -1
  41. package/bundles/mtxSelect.umd.js +107 -13
  42. package/bundles/mtxSelect.umd.js.map +1 -1
  43. package/bundles/mtxSlider.umd.js +1551 -0
  44. package/bundles/mtxSlider.umd.js.map +1 -0
  45. package/bundles/mtxSplit.umd.js +23 -6
  46. package/bundles/mtxSplit.umd.js.map +1 -1
  47. package/bundles/mtxText3d.umd.js +10 -1
  48. package/bundles/mtxText3d.umd.js.map +1 -1
  49. package/bundles/mtxTooltip.umd.js +18 -2
  50. package/bundles/mtxTooltip.umd.js.map +1 -1
  51. package/button/button-loading.directive.d.ts +9 -2
  52. package/button/mtxButton.metadata.json +1 -1
  53. package/datetimepicker/_datetimepicker-theme.import.scss +4 -2
  54. package/datetimepicker/_datetimepicker-theme.scss +101 -29
  55. package/datetimepicker/calendar-body.scss +0 -3
  56. package/datetimepicker/calendar.d.ts +10 -3
  57. package/datetimepicker/calendar.scss +5 -22
  58. package/datetimepicker/clock.scss +0 -2
  59. package/datetimepicker/datetimepicker-content.scss +2 -2
  60. package/datetimepicker/datetimepicker-input.d.ts +5 -3
  61. package/datetimepicker/datetimepicker-toggle.d.ts +2 -0
  62. package/datetimepicker/datetimepicker.d.ts +13 -3
  63. package/datetimepicker/mtxDatetimepicker.metadata.json +1 -1
  64. package/esm2015/alert/alert.component.js +25 -11
  65. package/esm2015/alert/alert.module.js +2 -1
  66. package/esm2015/button/button-loading.directive.js +31 -8
  67. package/esm2015/button/button.module.js +2 -1
  68. package/esm2015/checkbox-group/checkbox-group.component.js +10 -2
  69. package/esm2015/checkbox-group/checkbox-group.module.js +2 -1
  70. package/esm2015/color-picker/color-picker.component.js +10 -2
  71. package/esm2015/color-picker/color-picker.module.js +2 -1
  72. package/esm2015/column-resize/column-resize-directives/column-resize-flex.js +9 -2
  73. package/esm2015/column-resize/column-resize-directives/column-resize.js +9 -2
  74. package/esm2015/column-resize/column-resize-module.js +2 -1
  75. package/esm2015/column-resize/column-resize-notifier.js +10 -2
  76. package/esm2015/column-resize/column-resize.js +2 -1
  77. package/esm2015/column-resize/column-size-store.js +2 -1
  78. package/esm2015/column-resize/event-dispatcher.js +9 -2
  79. package/esm2015/column-resize/overlay-handle.js +2 -1
  80. package/esm2015/column-resize/resizable.js +2 -1
  81. package/esm2015/column-resize/resize-strategy.js +18 -3
  82. package/esm2015/core/datetime/datetime.module.js +3 -1
  83. package/esm2015/core/datetime/native-datetime-adapter.js +9 -2
  84. package/esm2015/datetimepicker/calendar-body.js +5 -3
  85. package/esm2015/datetimepicker/calendar.js +31 -12
  86. package/esm2015/datetimepicker/clock.js +11 -3
  87. package/esm2015/datetimepicker/datetimepicker-input.js +12 -4
  88. package/esm2015/datetimepicker/datetimepicker-toggle.js +11 -3
  89. package/esm2015/datetimepicker/datetimepicker.js +30 -8
  90. package/esm2015/datetimepicker/datetimepicker.module.js +2 -1
  91. package/esm2015/datetimepicker/month-view.js +11 -3
  92. package/esm2015/datetimepicker/multi-year-view.js +11 -3
  93. package/esm2015/datetimepicker/year-view.js +11 -3
  94. package/esm2015/dialog/dialog.component.js +9 -2
  95. package/esm2015/dialog/dialog.js +9 -2
  96. package/esm2015/dialog/dialog.module.js +2 -1
  97. package/esm2015/extensions-experimental.module.js +2 -1
  98. package/esm2015/extensions.module.js +6 -3
  99. package/esm2015/form-group/form-group.component.js +10 -2
  100. package/esm2015/form-group/form-group.module.js +2 -1
  101. package/esm2015/grid/cell-selection.directive.js +62 -0
  102. package/esm2015/{data-grid → grid}/cell.component.js +10 -2
  103. package/esm2015/{data-grid → grid}/column-menu.component.js +3 -1
  104. package/esm2015/grid/column-resize/column-resize-directives/column-resize-flex.js +47 -0
  105. package/esm2015/grid/column-resize/column-resize-directives/column-resize.js +47 -0
  106. package/esm2015/grid/column-resize/column-resize-directives/common.js +34 -0
  107. package/esm2015/grid/column-resize/column-resize-module.js +36 -0
  108. package/esm2015/grid/column-resize/overlay-handle.js +68 -0
  109. package/esm2015/grid/column-resize/resizable-directives/common.js +29 -0
  110. package/esm2015/grid/column-resize/resizable-directives/resizable.js +75 -0
  111. package/esm2015/grid/column-resize/resize-strategy.js +45 -0
  112. package/esm2015/grid/expansion-toggle.directive.js +62 -0
  113. package/esm2015/{data-grid → grid}/grid.component.js +10 -2
  114. package/esm2015/grid/grid.interface.js +2 -0
  115. package/esm2015/grid/grid.module.js +69 -0
  116. package/esm2015/grid/grid.service.js +50 -0
  117. package/esm2015/grid/mtxGrid.js +5 -0
  118. package/esm2015/grid/public-api.js +17 -0
  119. package/esm2015/loader/loader.component.js +26 -5
  120. package/esm2015/loader/loader.module.js +2 -1
  121. package/esm2015/pipes/pipes.module.js +2 -1
  122. package/esm2015/pipes/to-observable.pipe.js +2 -1
  123. package/esm2015/popover/popover-module.js +2 -1
  124. package/esm2015/popover/popover-target.js +9 -2
  125. package/esm2015/popover/popover-trigger.js +10 -2
  126. package/esm2015/popover/popover.js +10 -2
  127. package/esm2015/progress/progress.component.js +20 -1
  128. package/esm2015/progress/progress.module.js +2 -1
  129. package/esm2015/public-api.js +4 -3
  130. package/esm2015/select/option.component.js +10 -2
  131. package/esm2015/select/select.component.js +10 -2
  132. package/esm2015/select/select.module.js +2 -1
  133. package/esm2015/select/templates.directive.js +89 -12
  134. package/esm2015/slider/mtxSlider.js +5 -0
  135. package/esm2015/slider/public-api.js +3 -0
  136. package/esm2015/slider/slider-module.js +15 -0
  137. package/esm2015/slider/slider.js +1115 -0
  138. package/esm2015/split/interface.js +2 -0
  139. package/esm2015/split/mtxSplit.js +5 -0
  140. package/esm2015/split/public-api.js +6 -0
  141. package/esm2015/split/split-pane.directive.js +156 -0
  142. package/esm2015/split/split.component.js +620 -0
  143. package/esm2015/split/split.module.js +15 -0
  144. package/esm2015/split/utils.js +227 -0
  145. package/esm2015/text3d/text3d.component.js +10 -2
  146. package/esm2015/text3d/text3d.module.js +2 -1
  147. package/esm2015/tooltip/tooltip-module.js +2 -1
  148. package/esm2015/tooltip/tooltip.js +18 -3
  149. package/extensions.metadata.json +1 -1
  150. package/fesm2015/extensions.js +9 -4
  151. package/fesm2015/extensions.js.map +1 -1
  152. package/fesm2015/mtxAlert.js +25 -10
  153. package/fesm2015/mtxAlert.js.map +1 -1
  154. package/fesm2015/mtxButton.js +31 -7
  155. package/fesm2015/mtxButton.js.map +1 -1
  156. package/fesm2015/mtxCheckboxGroup.js +10 -1
  157. package/fesm2015/mtxCheckboxGroup.js.map +1 -1
  158. package/fesm2015/mtxColorPicker.js +10 -1
  159. package/fesm2015/mtxColorPicker.js.map +1 -1
  160. package/fesm2015/mtxColumnResize.js +55 -6
  161. package/fesm2015/mtxColumnResize.js.map +1 -1
  162. package/fesm2015/mtxCore.js +10 -1
  163. package/fesm2015/mtxCore.js.map +1 -1
  164. package/fesm2015/mtxDatetimepicker.js +120 -29
  165. package/fesm2015/mtxDatetimepicker.js.map +1 -1
  166. package/fesm2015/mtxDialog.js +17 -2
  167. package/fesm2015/mtxDialog.js.map +1 -1
  168. package/fesm2015/mtxFormGroup.js +10 -1
  169. package/fesm2015/mtxFormGroup.js.map +1 -1
  170. package/fesm2015/mtxGrid.js +90 -10
  171. package/fesm2015/mtxGrid.js.map +1 -1
  172. package/fesm2015/mtxLoader.js +26 -4
  173. package/fesm2015/mtxLoader.js.map +1 -1
  174. package/fesm2015/mtxPipes.js +2 -0
  175. package/fesm2015/mtxPipes.js.map +1 -1
  176. package/fesm2015/mtxPopover.js +27 -3
  177. package/fesm2015/mtxPopover.js.map +1 -1
  178. package/fesm2015/mtxProgress.js +20 -0
  179. package/fesm2015/mtxProgress.js.map +1 -1
  180. package/fesm2015/mtxSelect.js +107 -13
  181. package/fesm2015/mtxSelect.js.map +1 -1
  182. package/fesm2015/mtxSlider.js +1134 -0
  183. package/fesm2015/mtxSlider.js.map +1 -0
  184. package/fesm2015/mtxSplit.js +21 -4
  185. package/fesm2015/mtxSplit.js.map +1 -1
  186. package/fesm2015/mtxText3d.js +10 -1
  187. package/fesm2015/mtxText3d.js.map +1 -1
  188. package/fesm2015/mtxTooltip.js +18 -2
  189. package/fesm2015/mtxTooltip.js.map +1 -1
  190. package/form-group/_form-group-theme.import.scss +2 -2
  191. package/form-group/_form-group-theme.scss +46 -22
  192. package/form-group/form-group.component.d.ts +2 -0
  193. package/grid/_grid-theme.import.scss +2 -0
  194. package/grid/_grid-theme.scss +114 -0
  195. package/{data-grid → grid}/cell-selection.directive.d.ts +0 -0
  196. package/{data-grid → grid}/cell.component.d.ts +0 -0
  197. package/{data-grid → grid}/cell.component.scss +0 -0
  198. package/{data-grid → grid}/column-menu.component.d.ts +0 -0
  199. package/{data-grid → grid}/column-menu.component.scss +0 -0
  200. package/{data-grid → grid}/column-resize/_column-resize.scss +19 -13
  201. package/{data-grid → grid}/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -0
  202. package/{data-grid → grid}/column-resize/column-resize-directives/column-resize.d.ts +0 -0
  203. package/{data-grid → grid}/column-resize/column-resize-directives/common.d.ts +0 -0
  204. package/{data-grid → grid}/column-resize/column-resize-module.d.ts +0 -0
  205. package/{data-grid → grid}/column-resize/overlay-handle.d.ts +0 -0
  206. package/{data-grid → grid}/column-resize/resizable-directives/common.d.ts +0 -0
  207. package/{data-grid → grid}/column-resize/resizable-directives/resizable.d.ts +0 -0
  208. package/{data-grid → grid}/column-resize/resize-strategy.d.ts +0 -0
  209. package/{data-grid → grid}/expansion-toggle.directive.d.ts +0 -0
  210. package/{data-grid → grid}/grid.component.d.ts +0 -0
  211. package/{data-grid → grid}/grid.component.scss +0 -0
  212. package/{data-grid → grid}/grid.interface.d.ts +0 -0
  213. package/{data-grid → grid}/grid.module.d.ts +0 -0
  214. package/{data-grid → grid}/grid.service.d.ts +0 -0
  215. package/{data-grid → grid}/mtxGrid.d.ts +0 -0
  216. package/{data-grid → grid}/mtxGrid.metadata.json +1 -1
  217. package/{data-grid → grid}/package.json +2 -2
  218. package/{data-grid → grid}/public-api.d.ts +0 -0
  219. package/loader/_loader-theme.import.scss +2 -2
  220. package/loader/_loader-theme.scss +30 -6
  221. package/loader/loader.component.d.ts +9 -2
  222. package/loader/mtxLoader.metadata.json +1 -1
  223. package/package.json +3 -3
  224. package/popover/_popover-theme.import.scss +2 -2
  225. package/popover/_popover-theme.scss +32 -8
  226. package/progress/_progress-theme.import.scss +2 -2
  227. package/progress/_progress-theme.scss +33 -8
  228. package/progress/mtxProgress.metadata.json +1 -1
  229. package/progress/progress.component.d.ts +9 -2
  230. package/public-api.d.ts +3 -2
  231. package/select/_select-theme.import.scss +2 -2
  232. package/select/_select-theme.scss +55 -31
  233. package/slider/_slider-theme.import.scss +2 -0
  234. package/slider/_slider-theme.scss +233 -0
  235. package/{split-pane/mtxSplit.d.ts → slider/mtxSlider.d.ts} +0 -0
  236. package/slider/mtxSlider.metadata.json +1 -0
  237. package/slider/package.json +11 -0
  238. package/slider/public-api.d.ts +2 -0
  239. package/slider/slider-module.d.ts +2 -0
  240. package/slider/slider.d.ts +274 -0
  241. package/slider/slider.scss +513 -0
  242. package/split/_split-theme.import.scss +2 -0
  243. package/split/_split-theme.scss +41 -0
  244. package/{split-pane → split}/interface.d.ts +0 -0
  245. package/split/mtxSplit.d.ts +4 -0
  246. package/split/mtxSplit.metadata.json +1 -0
  247. package/{split-pane → split}/package.json +2 -2
  248. package/{split-pane → split}/public-api.d.ts +0 -0
  249. package/{split-pane → split}/split-pane.directive.d.ts +0 -0
  250. package/{split-pane → split}/split.component.d.ts +0 -0
  251. package/{split-pane → split}/split.component.scss +3 -2
  252. package/{split-pane → split}/split.module.d.ts +0 -0
  253. package/{split-pane → split}/utils.d.ts +0 -0
  254. package/text3d/_text3d-theme.import.scss +2 -2
  255. package/text3d/_text3d-theme.scss +32 -7
  256. package/tooltip/_tooltip-theme.import.scss +2 -2
  257. package/tooltip/_tooltip-theme.scss +32 -15
  258. package/data-grid/_grid-theme.import.scss +0 -2
  259. package/data-grid/_grid-theme.scss +0 -90
  260. package/esm2015/data-grid/cell-selection.directive.js +0 -54
  261. package/esm2015/data-grid/column-resize/column-resize-directives/column-resize-flex.js +0 -40
  262. package/esm2015/data-grid/column-resize/column-resize-directives/column-resize.js +0 -40
  263. package/esm2015/data-grid/column-resize/column-resize-directives/common.js +0 -34
  264. package/esm2015/data-grid/column-resize/column-resize-module.js +0 -34
  265. package/esm2015/data-grid/column-resize/overlay-handle.js +0 -61
  266. package/esm2015/data-grid/column-resize/resizable-directives/common.js +0 -29
  267. package/esm2015/data-grid/column-resize/resizable-directives/resizable.js +0 -67
  268. package/esm2015/data-grid/column-resize/resize-strategy.js +0 -38
  269. package/esm2015/data-grid/expansion-toggle.directive.js +0 -54
  270. package/esm2015/data-grid/grid.interface.js +0 -2
  271. package/esm2015/data-grid/grid.module.js +0 -68
  272. package/esm2015/data-grid/grid.service.js +0 -43
  273. package/esm2015/data-grid/mtxGrid.js +0 -5
  274. package/esm2015/data-grid/public-api.js +0 -17
  275. package/esm2015/split-pane/interface.js +0 -2
  276. package/esm2015/split-pane/mtxSplit.js +0 -5
  277. package/esm2015/split-pane/public-api.js +0 -6
  278. package/esm2015/split-pane/split-pane.directive.js +0 -148
  279. package/esm2015/split-pane/split.component.js +0 -612
  280. package/esm2015/split-pane/split.module.js +0 -14
  281. package/esm2015/split-pane/utils.js +0 -227
  282. package/split-pane/_split-theme.import.scss +0 -2
  283. package/split-pane/_split-theme.scss +0 -17
  284. package/split-pane/mtxSplit.metadata.json +0 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/common'), require('@angular/core'), require('@angular/material/button'), require('@angular/material/icon'), require('@angular/cdk/keycodes'), require('@angular/material/datepicker'), require('rxjs/operators'), require('@ng-matero/extensions/core'), require('@angular/animations'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('@angular/cdk/portal'), require('rxjs'), require('@angular/cdk/platform'), require('@angular/forms'), require('@angular/material/input'), require('@angular/material/form-field')) :
3
- typeof define === 'function' && define.amd ? define('@ng-matero/extensions/datetimepicker', ['exports', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/common', '@angular/core', '@angular/material/button', '@angular/material/icon', '@angular/cdk/keycodes', '@angular/material/datepicker', 'rxjs/operators', '@ng-matero/extensions/core', '@angular/animations', '@angular/cdk/bidi', '@angular/cdk/coercion', '@angular/cdk/portal', 'rxjs', '@angular/cdk/platform', '@angular/forms', '@angular/material/input', '@angular/material/form-field'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['ng-matero'] = global['ng-matero'] || {}, global['ng-matero'].extensions = global['ng-matero'].extensions || {}, global['ng-matero'].extensions.datetimepicker = {}), global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.common, global.ng.core, global.ng.material.button, global.ng.material.icon, global.ng.cdk.keycodes, global.ng.material.datepicker, global.rxjs.operators, global['ng-matero'].extensions.core, global.ng.animations, global.ng.cdk.bidi, global.ng.cdk.coercion, global.ng.cdk.portal, global.rxjs, global.ng.cdk.platform, global.ng.forms, global.ng.material.input, global.ng.material.formField));
5
- }(this, (function (exports, a11y, overlay, common, core, button, icon, keycodes, datepicker, operators, core$1, animations, bidi, coercion, portal, rxjs, platform, forms, input, formField) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/common'), require('@angular/core'), require('@angular/material/button'), require('@angular/material/icon'), require('@angular/cdk/keycodes'), require('@angular/cdk/coercion'), require('@angular/material/datepicker'), require('rxjs/operators'), require('@ng-matero/extensions/core'), require('@angular/animations'), require('@angular/cdk/bidi'), require('@angular/cdk/portal'), require('rxjs'), require('@angular/cdk/platform'), require('@angular/forms'), require('@angular/material/input'), require('@angular/material/form-field')) :
3
+ typeof define === 'function' && define.amd ? define('@ng-matero/extensions/datetimepicker', ['exports', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/common', '@angular/core', '@angular/material/button', '@angular/material/icon', '@angular/cdk/keycodes', '@angular/cdk/coercion', '@angular/material/datepicker', 'rxjs/operators', '@ng-matero/extensions/core', '@angular/animations', '@angular/cdk/bidi', '@angular/cdk/portal', 'rxjs', '@angular/cdk/platform', '@angular/forms', '@angular/material/input', '@angular/material/form-field'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['ng-matero'] = global['ng-matero'] || {}, global['ng-matero'].extensions = global['ng-matero'].extensions || {}, global['ng-matero'].extensions.datetimepicker = {}), global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.common, global.ng.core, global.ng.material.button, global.ng.material.icon, global.ng.cdk.keycodes, global.ng.cdk.coercion, global.ng.material.datepicker, global.rxjs.operators, global['ng-matero'].extensions.core, global.ng.animations, global.ng.cdk.bidi, global.ng.cdk.portal, global.rxjs, global.ng.cdk.platform, global.ng.forms, global.ng.material.input, global.ng.material.formField));
5
+ }(this, (function (exports, a11y, overlay, common, core, button, icon, keycodes, coercion, datepicker, operators, core$1, animations, bidi, portal, rxjs, platform, forms, input, formField) { 'use strict';
6
6
 
7
7
  /**
8
8
  * This animation fades in the background color and text content of the
@@ -101,18 +101,20 @@
101
101
  };
102
102
  return MtxCalendarBody;
103
103
  }());
104
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
104
105
  MtxCalendarBody.decorators = [
105
106
  { type: core.Component, args: [{
106
107
  selector: '[mtx-calendar-body]',
107
- template: "<!--\n If there's not enough space in the first row, create a separate label row. We mark this row as\n aria-hidden because we don't want it to be read out as one of the weeks in the month.\n-->\n<tr *ngIf=\"_firstRowOffset < labelMinRequiredCells\" aria-hidden=\"true\">\n <td [attr.colspan]=\"numCols\" class=\"mtx-calendar-body-label\">{{ label }}</td>\n</tr>\n\n<!-- Create the first row separately so we can include a special spacer cell. -->\n<tr *ngFor=\"let row of rows; let rowIndex = index\" role=\"row\">\n <!--\n We mark this cell as aria-hidden so it doesn't get read out as one of the days in the week.\n -->\n <td *ngIf=\"rowIndex === 0 && _firstRowOffset\"\n [attr.colspan]=\"_firstRowOffset\"\n aria-hidden=\"true\"\n class=\"mtx-calendar-body-label\">\n {{ _firstRowOffset >= labelMinRequiredCells ? label : '' }}\n </td>\n <td (click)=\"_cellClicked(item)\"\n *ngFor=\"let item of row; let colIndex = index\"\n [attr.aria-disabled]=\"!item.enabled || null\"\n [attr.aria-label]=\"item.ariaLabel\"\n [class.mtx-calendar-body-active]=\"_isActiveCell(rowIndex, colIndex)\"\n [class.mtx-calendar-body-disabled]=\"!item.enabled\"\n class=\"mtx-calendar-body-cell\"\n role=\"button\">\n <div [attr.aria-selected]=\"selectedValue === item.value\"\n [class.mtx-calendar-body-selected]=\"selectedValue === item.value\"\n [class.mtx-calendar-body-today]=\"todayValue === item.value\"\n class=\"mtx-calendar-body-cell-content\">\n {{ item.displayValue }}\n </div>\n </td>\n</tr>\n",
108
+ template: "<!--\n If there's not enough space in the first row, create a separate label row. We mark this row as\n aria-hidden because we don't want it to be read out as one of the weeks in the month.\n-->\n<tr *ngIf=\"_firstRowOffset < labelMinRequiredCells\" aria-hidden=\"true\">\n <td [attr.colspan]=\"numCols\" class=\"mtx-calendar-body-label\">{{ label }}</td>\n</tr>\n\n<!-- Create the first row separately so we can include a special spacer cell. -->\n<tr *ngFor=\"let row of rows; let rowIndex = index\" role=\"row\">\n <!--\n We mark this cell as aria-hidden so it doesn't get read out as one of the days in the week.\n -->\n <td *ngIf=\"rowIndex === 0 && _firstRowOffset\"\n [attr.colspan]=\"_firstRowOffset\"\n aria-hidden=\"true\"\n class=\"mtx-calendar-body-label\">\n {{ _firstRowOffset >= labelMinRequiredCells ? label : '' }}\n </td>\n <td *ngFor=\"let item of row; let colIndex = index\"\n role=\"gridcell\"\n class=\"mtx-calendar-body-cell\"\n [tabindex]=\"_isActiveCell(rowIndex, colIndex) ? 0 : -1\"\n [attr.data-mat-row]=\"rowIndex\"\n [attr.data-mat-col]=\"colIndex\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-disabled]=\"!item.enabled || null\"\n [class.mtx-calendar-body-active]=\"_isActiveCell(rowIndex, colIndex)\"\n [class.mtx-calendar-body-disabled]=\"!item.enabled\"\n (click)=\"_cellClicked(item)\">\n <div [attr.aria-selected]=\"selectedValue === item.value\"\n [class.mtx-calendar-body-selected]=\"selectedValue === item.value\"\n [class.mtx-calendar-body-today]=\"todayValue === item.value\"\n class=\"mtx-calendar-body-cell-content\">\n {{ item.displayValue }}\n </div>\n </td>\n</tr>\n",
108
109
  host: {
109
110
  class: 'mtx-calendar-body',
110
111
  },
111
112
  encapsulation: core.ViewEncapsulation.None,
112
113
  changeDetection: core.ChangeDetectionStrategy.OnPush,
113
- styles: [".mtx-calendar-body{font-size:13px;min-width:224px}.mtx-calendar-body-label{height:0;line-height:0;text-align:left;padding:7.1428571429% 4.7142857143%}[dir=rtl] .mtx-calendar-body-label{text-align:right}.mtx-calendar-body-cell{position:relative;width:14.2857142857%;height:0;line-height:0;padding:7.1428571429% 0;text-align:center;outline:none;cursor:pointer}.mtx-calendar-body-disabled{cursor:default;pointer-events:none}.mtx-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;border:1px solid transparent;border-radius:999px}\n"]
114
+ styles: [".mtx-calendar-body{min-width:224px}.mtx-calendar-body-label{height:0;line-height:0;text-align:left;padding:7.1428571429% 4.7142857143%}[dir=rtl] .mtx-calendar-body-label{text-align:right}.mtx-calendar-body-cell{position:relative;width:14.2857142857%;height:0;line-height:0;padding:7.1428571429% 0;text-align:center;outline:none;cursor:pointer}.mtx-calendar-body-disabled{cursor:default;pointer-events:none}.mtx-calendar-body-cell-content{position:absolute;top:5%;left:5%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;border:1px solid transparent;border-radius:999px}\n"]
114
115
  },] }
115
116
  ];
117
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
116
118
  MtxCalendarBody.propDecorators = {
117
119
  label: [{ type: core.Input }],
118
120
  rows: [{ type: core.Input }],
@@ -283,20 +285,28 @@
283
285
  };
284
286
  return MtxMultiYearView;
285
287
  }());
288
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
286
289
  MtxMultiYearView.decorators = [
287
290
  { type: core.Component, args: [{
288
291
  selector: 'mtx-multi-year-view',
289
- template: "<table class=\"mtx-calendar-table\">\n <thead class=\"mtx-calendar-table-header\"></thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [todayValue]=\"_todayYear\"\n [rows]=\"_years\"\n [numCols]=\"4\"\n [activeCell]=\"_getActiveCell()\"\n [allowDisabledSelection]=\"true\"\n [selectedValue]=\"_selectedYear!\"\n (selectedValueChange)=\"_yearSelected($event)\"\n role=\"grid\"></tbody>\n</table>\n",
292
+ template: "<table class=\"mtx-calendar-table\" role=\"grid\">\n <thead class=\"mtx-calendar-table-header\"></thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [todayValue]=\"_todayYear\"\n [rows]=\"_years\"\n [numCols]=\"4\"\n [activeCell]=\"_getActiveCell()\"\n [allowDisabledSelection]=\"true\"\n [selectedValue]=\"_selectedYear!\"\n (selectedValueChange)=\"_yearSelected($event)\"></tbody>\n</table>\n",
290
293
  animations: [slideCalendar],
291
294
  encapsulation: core.ViewEncapsulation.None,
292
295
  changeDetection: core.ChangeDetectionStrategy.OnPush
293
296
  },] }
294
297
  ];
295
- /** @nocollapse */
298
+ /**
299
+ * @type {function(): !Array<(null|{
300
+ * type: ?,
301
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
302
+ * })>}
303
+ * @nocollapse
304
+ */
296
305
  MtxMultiYearView.ctorParameters = function () { return [
297
306
  { type: core$1.DatetimeAdapter, decorators: [{ type: core.Optional }] },
298
307
  { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core$1.MTX_DATETIME_FORMATS,] }] }
299
308
  ]; };
309
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
300
310
  MtxMultiYearView.propDecorators = {
301
311
  _userSelection: [{ type: core.Output }],
302
312
  type: [{ type: core.Input }],
@@ -356,11 +366,10 @@
356
366
  this._adapter = _adapter;
357
367
  this._dateFormats = _dateFormats;
358
368
  this._userSelection = new core.EventEmitter();
359
- /** Active multi year view when click on year. */
360
- this.multiYearSelector = false;
369
+ this._multiYearSelector = false;
370
+ this._twelvehour = false;
361
371
  /** Whether the calendar should be started in month or year view. */
362
372
  this.startView = 'month';
363
- this.twelvehour = false;
364
373
  this.timeInterval = 1;
365
374
  this.ariaLabel = 'Use arrow keys to navigate';
366
375
  this.ariaNextMonthLabel = 'Next month';
@@ -392,6 +401,27 @@
392
401
  }
393
402
  this._intlChanges = _intl.changes.subscribe(function () { return changeDetectorRef.markForCheck(); });
394
403
  }
404
+ Object.defineProperty(MtxCalendar.prototype, "multiYearSelector", {
405
+ get: function () {
406
+ return this._multiYearSelector;
407
+ },
408
+ set: function (value) {
409
+ this._multiYearSelector = coercion.coerceBooleanProperty(value);
410
+ },
411
+ enumerable: false,
412
+ configurable: true
413
+ });
414
+ Object.defineProperty(MtxCalendar.prototype, "twelvehour", {
415
+ /** if true change the clock to 12 hour format. */
416
+ get: function () {
417
+ return this._twelvehour;
418
+ },
419
+ set: function (value) {
420
+ this._twelvehour = coercion.coerceBooleanProperty(value);
421
+ },
422
+ enumerable: false,
423
+ configurable: true
424
+ });
395
425
  Object.defineProperty(MtxCalendar.prototype, "type", {
396
426
  get: function () {
397
427
  return this._type;
@@ -586,7 +616,6 @@
586
616
  MtxCalendar.prototype.ngAfterContentInit = function () {
587
617
  this._activeDate = this.startAt || this._adapter.today();
588
618
  this._selectAMPM(this._activeDate);
589
- this._focusActiveCell();
590
619
  if (this.type === 'year') {
591
620
  this.currentView = 'multi-year';
592
621
  }
@@ -952,24 +981,30 @@
952
981
  };
953
982
  return MtxCalendar;
954
983
  }());
984
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
955
985
  MtxCalendar.decorators = [
956
986
  { type: core.Component, args: [{
957
987
  selector: 'mtx-calendar',
958
- template: "<div class=\"mtx-calendar-header\">\n <div (click)=\"_yearClicked()\"\n *ngIf=\"type !== 'time'\"\n [class.active]=\"currentView === 'year' || currentView === 'multi-year'\"\n class=\"mtx-calendar-header-year\"\n role=\"button\">{{ _yearLabel }}\n <mat-icon *ngIf=\"multiYearSelector || type === 'year'\">arrow_drop_down</mat-icon>\n </div>\n <div class=\"mtx-calendar-header-date-time\">\n <span (click)=\"_dateClicked()\" *ngIf=\"type !== 'time' && type !== 'year'\"\n [class.active]=\"currentView === 'month'\"\n [class.not-clickable]=\"type === 'month'\"\n class=\"mtx-calendar-header-date\"\n role=\"button\">{{ _dateLabel }}</span>\n <span *ngIf=\"type.endsWith('time')\"\n [class.active]=\"currentView === 'clock'\"\n class=\"mtx-calendar-header-time\">\n <span (click)=\"_hoursClicked()\"\n [class.active]=\"_clockView == 'hour'\"\n class=\"mtx-calendar-header-hours\"\n role=\"button\">{{ _hoursLabel }}</span>:<span (click)=\"_minutesClicked()\"\n [class.active]=\"_clockView == 'minute'\"\n class=\"mtx-calendar-header-minutes\"\n role=\"button\">{{ _minutesLabel }}</span>\n <br />\n <span *ngIf=\"twelvehour\" class=\"mtx-calendar-header-ampm-container\">\n <span (click)=\"_ampmClicked('AM')\"\n [class.active]=\"_AMPM === 'AM'\"\n class=\"mtx-calendar-header-ampm\">AM</span>/<span\n (click)=\"_ampmClicked('PM')\"\n [class.active]=\"_AMPM === 'PM'\"\n class=\"mtx-calendar-header-ampm\">PM</span>\n </span>\n </span>\n </div>\n</div>\n<div [ngSwitch]=\"currentView\" class=\"mtx-calendar-content\">\n <div *ngIf=\"currentView === 'month' || currentView === 'year' || currentView === 'multi-year'\"\n class=\"mtx-month-content\">\n <div class=\"mtx-calendar-controls\">\n <button mat-icon-button type=\"button\" (click)=\"_previousClicked()\"\n [attr.aria-disabled]=\"!_previousEnabled()\"\n [attr.aria-label]=\"_ariaLabelPrev\"\n [class.disabled]=\"!_previousEnabled()\"\n class=\"mtx-calendar-previous-button\">\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"></path>\n </svg>\n </button>\n <div (@slideCalendar.done)=\"_calendarStateDone()\" [@slideCalendar]=\"_calendarState\"\n class=\"mtx-calendar-period-button\">\n <strong>{{ _monthYearLabel }}</strong>\n </div>\n <button mat-icon-button type=\"button\" (click)=\"_nextClicked()\"\n [attr.aria-disabled]=\"!_nextEnabled()\"\n [attr.aria-label]=\"_ariaLabelNext\"\n [class.disabled]=\"!_nextEnabled()\"\n class=\"mtx-calendar-next-button\">\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"></path>\n </svg>\n </button>\n </div>\n </div>\n <mtx-month-view (_userSelection)=\"_userSelected()\"\n (selectedChange)=\"_dateSelected($event)\"\n *ngSwitchCase=\"'month'\"\n [activeDate]=\"_activeDate\"\n [dateFilter]=\"_dateFilterForViews\"\n [selected]=\"selected!\"\n [type]=\"type\">\n </mtx-month-view>\n <mtx-year-view (_userSelection)=\"_userSelected()\"\n (selectedChange)=\"_monthSelected($event)\"\n *ngSwitchCase=\"'year'\"\n [activeDate]=\"_activeDate\"\n [dateFilter]=\"_dateFilterForViews\"\n [selected]=\"selected!\"\n [type]=\"type\">\n </mtx-year-view>\n <mtx-multi-year-view (_userSelection)=\"_userSelected()\"\n (selectedChange)=\"_yearSelected($event)\"\n *ngSwitchCase=\"'multi-year'\"\n [activeDate]=\"_activeDate\"\n [dateFilter]=\"_dateFilterForViews\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [selected]=\"selected!\"\n [type]=\"type\">\n </mtx-multi-year-view>\n <mtx-clock (_userSelection)=\"_userSelected()\"\n (activeDateChange)=\"_onActiveDateChange($event)\"\n (selectedChange)=\"_timeSelected($event)\"\n *ngSwitchDefault\n [dateFilter]=\"dateFilter\"\n [interval]=\"timeInterval\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [selected]=\"_activeDate\"\n [startView]=\"_clockView\"\n [twelvehour]=\"twelvehour\">\n </mtx-clock>\n</div>\n",
988
+ template: "<div class=\"mtx-calendar-header\">\n <div (click)=\"_yearClicked()\"\n *ngIf=\"type !== 'time'\"\n [class.active]=\"currentView === 'year' || currentView === 'multi-year'\"\n class=\"mtx-calendar-header-year\"\n role=\"button\">\n <span>{{ _yearLabel }}</span>\n <mat-icon *ngIf=\"multiYearSelector || type === 'year'\">arrow_drop_down</mat-icon>\n </div>\n <div class=\"mtx-calendar-header-date-time\">\n <span (click)=\"_dateClicked()\" *ngIf=\"type !== 'time' && type !== 'year'\"\n [class.active]=\"currentView === 'month'\"\n [class.not-clickable]=\"type === 'month'\"\n class=\"mtx-calendar-header-date\"\n role=\"button\">{{ _dateLabel }}</span>\n <span *ngIf=\"type.endsWith('time')\"\n [class.active]=\"currentView === 'clock'\"\n class=\"mtx-calendar-header-time\">\n <span (click)=\"_hoursClicked()\"\n [class.active]=\"_clockView == 'hour'\"\n class=\"mtx-calendar-header-hours\"\n role=\"button\">{{ _hoursLabel }}</span>:<span (click)=\"_minutesClicked()\"\n [class.active]=\"_clockView == 'minute'\"\n class=\"mtx-calendar-header-minutes\"\n role=\"button\">{{ _minutesLabel }}</span>\n <br />\n <span *ngIf=\"twelvehour\" class=\"mtx-calendar-header-ampm-container\">\n <span (click)=\"_ampmClicked('AM')\"\n [class.active]=\"_AMPM === 'AM'\"\n class=\"mtx-calendar-header-ampm\">AM</span>/<span\n (click)=\"_ampmClicked('PM')\"\n [class.active]=\"_AMPM === 'PM'\"\n class=\"mtx-calendar-header-ampm\">PM</span>\n </span>\n </span>\n </div>\n</div>\n<div class=\"mtx-calendar-content\" [ngSwitch]=\"currentView\">\n <div *ngIf=\"currentView === 'month' || currentView === 'year' || currentView === 'multi-year'\"\n class=\"mtx-month-content\">\n <div class=\"mtx-calendar-controls\">\n <button mat-icon-button type=\"button\" (click)=\"_previousClicked()\"\n [attr.aria-disabled]=\"!_previousEnabled()\"\n [attr.aria-label]=\"_ariaLabelPrev\"\n [class.disabled]=\"!_previousEnabled()\"\n class=\"mtx-calendar-previous-button\">\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"></path>\n </svg>\n </button>\n <div (@slideCalendar.done)=\"_calendarStateDone()\" [@slideCalendar]=\"_calendarState\"\n class=\"mtx-calendar-period-button\">\n <strong>{{ _monthYearLabel }}</strong>\n </div>\n <button mat-icon-button type=\"button\" (click)=\"_nextClicked()\"\n [attr.aria-disabled]=\"!_nextEnabled()\"\n [attr.aria-label]=\"_ariaLabelNext\"\n [class.disabled]=\"!_nextEnabled()\"\n class=\"mtx-calendar-next-button\">\n <svg height=\"24\" viewBox=\"0 0 24 24\" width=\"24\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"></path>\n </svg>\n </button>\n </div>\n </div>\n <mtx-month-view (_userSelection)=\"_userSelected()\"\n (selectedChange)=\"_dateSelected($event)\"\n *ngSwitchCase=\"'month'\"\n [activeDate]=\"_activeDate\"\n [dateFilter]=\"_dateFilterForViews\"\n [selected]=\"selected!\"\n [type]=\"type\">\n </mtx-month-view>\n <mtx-year-view (_userSelection)=\"_userSelected()\"\n (selectedChange)=\"_monthSelected($event)\"\n *ngSwitchCase=\"'year'\"\n [activeDate]=\"_activeDate\"\n [dateFilter]=\"_dateFilterForViews\"\n [selected]=\"selected!\"\n [type]=\"type\">\n </mtx-year-view>\n <mtx-multi-year-view (_userSelection)=\"_userSelected()\"\n (selectedChange)=\"_yearSelected($event)\"\n *ngSwitchCase=\"'multi-year'\"\n [activeDate]=\"_activeDate\"\n [dateFilter]=\"_dateFilterForViews\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [selected]=\"selected!\"\n [type]=\"type\">\n </mtx-multi-year-view>\n <mtx-clock (_userSelection)=\"_userSelected()\"\n (activeDateChange)=\"_onActiveDateChange($event)\"\n (selectedChange)=\"_timeSelected($event)\"\n *ngSwitchDefault\n [dateFilter]=\"dateFilter\"\n [interval]=\"timeInterval\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [selected]=\"_activeDate\"\n [startView]=\"_clockView\"\n [twelvehour]=\"twelvehour\">\n </mtx-clock>\n</div>\n",
959
989
  host: {
960
- '[class.mtx-calendar]': 'true',
990
+ 'class': 'mtx-calendar',
961
991
  '[attr.aria-label]': 'ariaLabel',
962
- 'role': 'dialog',
963
992
  'tabindex': '0',
964
993
  '(keydown)': '_handleCalendarBodyKeydown($event)',
965
994
  },
966
995
  animations: [slideCalendar],
967
996
  encapsulation: core.ViewEncapsulation.None,
968
997
  changeDetection: core.ChangeDetectionStrategy.OnPush,
969
- styles: [".mtx-calendar{display:block}.mtx-calendar[mode=landscape]{display:flex}.mtx-calendar-header{padding:16px;font-size:14px;box-sizing:border-box;border-radius:4px 4px 0 0}[mode=landscape] .mtx-calendar-header{width:150px;min-width:150px;border-radius:4px 0 0 4px}[dir=rtl] [mode=landscape] .mtx-calendar-header{border-radius:0 4px 4px 0}.mtx-calendar-header-year,.mtx-calendar-header-date-time{width:100%;font-weight:400;white-space:nowrap}.mtx-calendar-header-year{height:32px;line-height:32px;font-size:16px}.mtx-calendar-header-year .mat-icon{vertical-align:middle}.mtx-calendar-header-date-time{font-size:30px;line-height:34px}[mode=landscape] .mtx-calendar-header-date-time{white-space:normal;word-wrap:break-word}.mtx-calendar-header-ampm-container{font-size:.77em}.mtx-calendar-header-year:not(.active),.mtx-calendar-header-date:not(.active),.mtx-calendar-header-hours:not(.active),.mtx-calendar-header-minutes:not(.active),.mtx-calendar-header-ampm:not(.active){cursor:pointer;opacity:.6}.mtx-calendar-header-year.not-clickable,.mtx-calendar-header-date.not-clickable,.mtx-calendar-header-hours.not-clickable,.mtx-calendar-header-minutes.not-clickable,.mtx-calendar-header-ampm.not-clickable{cursor:auto;cursor:initial}.mtx-calendar-header-time{display:inline-block;padding-left:8px}.mtx-calendar-header-time:not(.active){opacity:.6}.mtx-calendar-header-time:not(.active) .mtx-calendar-header-hours,.mtx-calendar-header-time:not(.active) .mtx-calendar-header-minutes,.mtx-calendar-header-time:not(.active) .mtx-calendar-header-ampm{cursor:pointer;opacity:1}[dir=rtl] .mtx-calendar-header-time{padding-right:8px}[mode=landscape] .mtx-calendar-header-time{display:block;padding:0}.mtx-calendar-content{width:100%;padding:8px;outline:none;box-sizing:border-box;overflow:hidden}.mtx-calendar-controls{display:flex;justify-content:space-between;margin:0 calc(33% / 7 - 16px)}.mtx-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.mtx-calendar-period-button{display:inline-block;height:40px;line-height:40px;font-size:14px;outline:none;border:0;background:transparent;box-sizing:border-box}.mtx-calendar-previous-button.disabled,.mtx-calendar-next-button.disabled{pointer-events:none}.mtx-calendar-previous-button svg,.mtx-calendar-next-button svg{fill:currentColor;vertical-align:top}[dir=rtl] .mtx-calendar-previous-button svg,[dir=rtl] .mtx-calendar-next-button svg{transform:rotate(180deg)}.mtx-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mtx-calendar-table-header th{text-align:center;font-size:11px;font-weight:400;padding:8px 0}@media all and (orientation: landscape){.mtx-calendar[mode=auto]{display:flex}.mtx-calendar[mode=auto] .mtx-calendar-header{width:150px;min-width:150px;border-radius:4px 0 0 4px}[dir=rtl] .mtx-calendar[mode=auto] .mtx-calendar-header{border-radius:0 4px 4px 0}.mtx-calendar[mode=auto] .mtx-calendar-header-date-time{white-space:normal;word-wrap:break-word}.mtx-calendar[mode=auto] .mtx-calendar-header-time{display:block;padding:0}.mtx-calendar[mode=auto] .mtx-calendar-content{padding-top:8px}}\n"]
998
+ styles: [".mtx-calendar{display:block;outline:none}.mtx-calendar[mode=landscape]{display:flex}.mtx-calendar-header{padding:16px;box-sizing:border-box;border-radius:4px 4px 0 0}[mode=landscape] .mtx-calendar-header{width:150px;min-width:150px;border-radius:4px 0 0 4px}[dir=rtl] [mode=landscape] .mtx-calendar-header{border-radius:0 4px 4px 0}.mtx-calendar-header-year,.mtx-calendar-header-date-time{width:100%;white-space:nowrap}.mtx-calendar-header-year{height:32px;line-height:32px}.mtx-calendar-header-year>*{vertical-align:middle}.mtx-calendar-header-date-time{line-height:34px}[mode=landscape] .mtx-calendar-header-date-time{white-space:normal;word-wrap:break-word}.mtx-calendar-header-year:not(.active),.mtx-calendar-header-date:not(.active),.mtx-calendar-header-hours:not(.active),.mtx-calendar-header-minutes:not(.active),.mtx-calendar-header-ampm:not(.active){cursor:pointer;opacity:.6}.mtx-calendar-header-year.not-clickable,.mtx-calendar-header-date.not-clickable,.mtx-calendar-header-hours.not-clickable,.mtx-calendar-header-minutes.not-clickable,.mtx-calendar-header-ampm.not-clickable{cursor:auto;cursor:initial}.mtx-calendar-header-time{display:inline-block;padding-left:8px}.mtx-calendar-header-time:not(.active){opacity:.6}.mtx-calendar-header-time:not(.active) .mtx-calendar-header-hours,.mtx-calendar-header-time:not(.active) .mtx-calendar-header-minutes,.mtx-calendar-header-time:not(.active) .mtx-calendar-header-ampm{cursor:pointer;opacity:1}[dir=rtl] .mtx-calendar-header-time{padding-right:8px}[mode=landscape] .mtx-calendar-header-time{display:block;padding:0}.mtx-calendar-content{width:100%;padding:8px;outline:none;box-sizing:border-box;overflow:hidden}.mtx-calendar-controls{display:flex;justify-content:space-between;margin:0 calc(33% / 7 - 16px)}.mtx-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.mtx-calendar-period-button{display:inline-block;height:40px;line-height:40px;outline:none;border:0;background:transparent;box-sizing:border-box}.mtx-calendar-previous-button.disabled,.mtx-calendar-next-button.disabled{pointer-events:none}.mtx-calendar-previous-button svg,.mtx-calendar-next-button svg{fill:currentColor;vertical-align:top}[dir=rtl] .mtx-calendar-previous-button svg,[dir=rtl] .mtx-calendar-next-button svg{transform:rotate(180deg)}.mtx-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mtx-calendar-table-header th{text-align:center;padding:8px 0}@media all and (orientation: landscape){.mtx-calendar[mode=auto]{display:flex}.mtx-calendar[mode=auto] .mtx-calendar-header{width:150px;min-width:150px;border-radius:4px 0 0 4px}[dir=rtl] .mtx-calendar[mode=auto] .mtx-calendar-header{border-radius:0 4px 4px 0}.mtx-calendar[mode=auto] .mtx-calendar-header-date-time{white-space:normal;word-wrap:break-word}.mtx-calendar[mode=auto] .mtx-calendar-header-time{display:block;padding:0}}\n"]
970
999
  },] }
971
1000
  ];
972
- /** @nocollapse */
1001
+ /**
1002
+ * @type {function(): !Array<(null|{
1003
+ * type: ?,
1004
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1005
+ * })>}
1006
+ * @nocollapse
1007
+ */
973
1008
  MtxCalendar.ctorParameters = function () { return [
974
1009
  { type: core.ElementRef },
975
1010
  { type: datepicker.MatDatepickerIntl },
@@ -978,11 +1013,12 @@
978
1013
  { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core$1.MTX_DATETIME_FORMATS,] }] },
979
1014
  { type: core.ChangeDetectorRef }
980
1015
  ]; };
1016
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
981
1017
  MtxCalendar.propDecorators = {
982
1018
  _userSelection: [{ type: core.Output }],
983
1019
  multiYearSelector: [{ type: core.Input }],
984
- startView: [{ type: core.Input }],
985
1020
  twelvehour: [{ type: core.Input }],
1021
+ startView: [{ type: core.Input }],
986
1022
  timeInterval: [{ type: core.Input }],
987
1023
  dateFilter: [{ type: core.Input }],
988
1024
  ariaLabel: [{ type: core.Input }],
@@ -1268,6 +1304,7 @@
1268
1304
  };
1269
1305
  return MtxClock;
1270
1306
  }());
1307
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1271
1308
  MtxClock.decorators = [
1272
1309
  { type: core.Component, args: [{
1273
1310
  selector: 'mtx-clock',
@@ -1278,14 +1315,21 @@
1278
1315
  '(mousedown)': '_handleMousedown($event)',
1279
1316
  },
1280
1317
  encapsulation: core.ViewEncapsulation.None,
1281
- styles: [".mtx-clock{position:relative;display:block;min-width:224px;margin:8px;font-size:14px;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mtx-clock-wrapper{position:relative;width:100%;height:0;padding-top:100%;border-radius:50%}.mtx-clock-center{position:absolute;top:50%;left:50%;width:2%;height:2%;margin:-1%;border-radius:50%}.mtx-clock-hand{position:absolute;top:0;right:0;bottom:0;left:0;width:1px;margin:0 auto;transform-origin:bottom}.mtx-clock-hand:before{content:\"\";position:absolute;top:-4px;left:-4px;width:8px;height:8px;border-radius:50%}.mtx-clock-hours,.mtx-clock-minutes{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;transition:.35s;transform:scale(1.2)}.mtx-clock-hours.active,.mtx-clock-minutes.active{opacity:1;visibility:visible;transform:scale(1)}.mtx-clock-minutes{transform:scale(.8)}.mtx-clock-cell{position:absolute;display:flex;width:14.1666%;height:14.1666%;justify-content:center;box-sizing:border-box;border-radius:50%;align-items:center;cursor:pointer}.mtx-clock-cell.mtx-clock-cell-disabled{pointer-events:none}\n"]
1318
+ styles: [".mtx-clock{position:relative;display:block;min-width:224px;margin:8px;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mtx-clock-wrapper{position:relative;width:100%;height:0;padding-top:100%;border-radius:50%}.mtx-clock-center{position:absolute;top:50%;left:50%;width:2%;height:2%;margin:-1%;border-radius:50%}.mtx-clock-hand{position:absolute;top:0;right:0;bottom:0;left:0;width:1px;margin:0 auto;transform-origin:bottom}.mtx-clock-hand:before{content:\"\";position:absolute;top:-4px;left:-4px;width:8px;height:8px;border-radius:50%}.mtx-clock-hours,.mtx-clock-minutes{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;transition:.35s;transform:scale(1.2)}.mtx-clock-hours.active,.mtx-clock-minutes.active{opacity:1;visibility:visible;transform:scale(1)}.mtx-clock-minutes{transform:scale(.8)}.mtx-clock-cell{position:absolute;display:flex;width:14.1666%;height:14.1666%;justify-content:center;box-sizing:border-box;border-radius:50%;align-items:center;cursor:pointer}.mtx-clock-cell.mtx-clock-cell-disabled{pointer-events:none}\n"]
1282
1319
  },] }
1283
1320
  ];
1284
- /** @nocollapse */
1321
+ /**
1322
+ * @type {function(): !Array<(null|{
1323
+ * type: ?,
1324
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1325
+ * })>}
1326
+ * @nocollapse
1327
+ */
1285
1328
  MtxClock.ctorParameters = function () { return [
1286
1329
  { type: core.ElementRef },
1287
1330
  { type: core$1.DatetimeAdapter }
1288
1331
  ]; };
1332
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
1289
1333
  MtxClock.propDecorators = {
1290
1334
  _userSelection: [{ type: core.Output }],
1291
1335
  dateFilter: [{ type: core.Input }],
@@ -1321,6 +1365,7 @@
1321
1365
  };
1322
1366
  return MtxDatetimepickerContent;
1323
1367
  }());
1368
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1324
1369
  MtxDatetimepickerContent.decorators = [
1325
1370
  { type: core.Component, args: [{
1326
1371
  selector: 'mtx-datetimepicker-content',
@@ -1332,9 +1377,10 @@
1332
1377
  },
1333
1378
  encapsulation: core.ViewEncapsulation.None,
1334
1379
  changeDetection: core.ChangeDetectionStrategy.OnPush,
1335
- styles: [".mtx-datetimepicker-content{display:block;border-radius:4px}.mtx-datetimepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mtx-calendar{width:296px;height:404px}.mtx-calendar[mode=landscape]{width:446px;height:328px}@media all and (orientation: landscape){.mtx-calendar[mode=auto]{width:446px;height:328px}}.mtx-datetimepicker-content-touch{display:block;max-height:80vh;position:relative;overflow:visible}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container{min-height:300px;max-height:850px;min-width:250px;max-width:750px}.mtx-datetimepicker-content-touch .mtx-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto],.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape]{width:120vh;height:80vh}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto] .mtx-calendar,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape] .mtx-calendar{width:auto;height:100%}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait]{width:64vh;height:90vh}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait] .mtx-calendar{width:100%;height:auto}}@media all and (orientation: portrait){.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto],.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait]{width:80vw;height:120vw}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto] .mtx-calendar,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait] .mtx-calendar{width:100%;height:auto}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape]{width:90vw;height:64vw}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape] .mtx-calendar{width:auto;height:100%}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container-with-actions{height:135vw}}\n"]
1380
+ styles: [".mtx-datetimepicker-content{display:block;border-radius:4px}.mtx-datetimepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mtx-datetimepicker-content .mtx-calendar{width:296px;height:404px}.mtx-datetimepicker-content .mtx-calendar[mode=landscape]{width:446px;height:328px}@media all and (orientation: landscape){.mtx-datetimepicker-content .mtx-calendar[mode=auto]{width:446px;height:328px}}.mtx-datetimepicker-content-touch{display:block;max-height:80vh;position:relative;overflow:visible}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container{min-height:300px;max-height:850px;min-width:250px;max-width:750px}.mtx-datetimepicker-content-touch .mtx-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto],.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape]{width:120vh;height:80vh}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto] .mtx-calendar,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape] .mtx-calendar{width:auto;height:100%}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait]{width:64vh;height:90vh}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait] .mtx-calendar{width:100%;height:auto}}@media all and (orientation: portrait){.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto],.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait]{width:80vw;height:120vw}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=auto] .mtx-calendar,.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=portrait] .mtx-calendar{width:100%;height:auto}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape]{width:90vw;height:64vw}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container[mode=landscape] .mtx-calendar{width:auto;height:100%}.mtx-datetimepicker-content-touch .mtx-datetimepicker-content-container-with-actions{height:135vw}}\n"]
1336
1381
  },] }
1337
1382
  ];
1383
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
1338
1384
  MtxDatetimepickerContent.propDecorators = {
1339
1385
  _calendar: [{ type: core.ViewChild, args: [MtxCalendar, { static: true },] }]
1340
1386
  };
@@ -1346,10 +1392,8 @@
1346
1392
  this._scrollStrategy = _scrollStrategy;
1347
1393
  this._dateAdapter = _dateAdapter;
1348
1394
  this._dir = _dir;
1349
- /** Active multi year view when click on year. */
1350
- this.multiYearSelector = false;
1351
- /** if true change the clock to 12 hour format. */
1352
- this.twelvehour = false;
1395
+ this._multiYearSelector = false;
1396
+ this._twelvehour = false;
1353
1397
  /** The view that the calendar should start in. */
1354
1398
  this.startView = 'month';
1355
1399
  this.mode = 'auto';
@@ -1389,6 +1433,28 @@
1389
1433
  throw createMissingDateImplError('DateAdapter');
1390
1434
  }
1391
1435
  }
1436
+ Object.defineProperty(MtxDatetimepicker.prototype, "multiYearSelector", {
1437
+ /** Active multi year view when click on year. */
1438
+ get: function () {
1439
+ return this._multiYearSelector;
1440
+ },
1441
+ set: function (value) {
1442
+ this._multiYearSelector = coercion.coerceBooleanProperty(value);
1443
+ },
1444
+ enumerable: false,
1445
+ configurable: true
1446
+ });
1447
+ Object.defineProperty(MtxDatetimepicker.prototype, "twelvehour", {
1448
+ /** if true change the clock to 12 hour format. */
1449
+ get: function () {
1450
+ return this._twelvehour;
1451
+ },
1452
+ set: function (value) {
1453
+ this._twelvehour = coercion.coerceBooleanProperty(value);
1454
+ },
1455
+ enumerable: false,
1456
+ configurable: true
1457
+ });
1392
1458
  Object.defineProperty(MtxDatetimepicker.prototype, "startAt", {
1393
1459
  /** The date to open the calendar to initially. */
1394
1460
  get: function () {
@@ -1678,6 +1744,7 @@
1678
1744
  };
1679
1745
  return MtxDatetimepicker;
1680
1746
  }());
1747
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1681
1748
  MtxDatetimepicker.decorators = [
1682
1749
  { type: core.Component, args: [{
1683
1750
  selector: 'mtx-datetimepicker',
@@ -1688,7 +1755,13 @@
1688
1755
  preserveWhitespaces: false
1689
1756
  },] }
1690
1757
  ];
1691
- /** @nocollapse */
1758
+ /**
1759
+ * @type {function(): !Array<(null|{
1760
+ * type: ?,
1761
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
1762
+ * })>}
1763
+ * @nocollapse
1764
+ */
1692
1765
  MtxDatetimepicker.ctorParameters = function () { return [
1693
1766
  { type: overlay.Overlay },
1694
1767
  { type: core.NgZone },
@@ -1697,6 +1770,7 @@
1697
1770
  { type: core$1.DatetimeAdapter, decorators: [{ type: core.Optional }] },
1698
1771
  { type: bidi.Directionality, decorators: [{ type: core.Optional }] }
1699
1772
  ]; };
1773
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
1700
1774
  MtxDatetimepicker.propDecorators = {
1701
1775
  multiYearSelector: [{ type: core.Input }],
1702
1776
  twelvehour: [{ type: core.Input }],
@@ -2022,6 +2096,7 @@
2022
2096
  };
2023
2097
  return MtxDatetimepickerInput;
2024
2098
  }());
2099
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2025
2100
  MtxDatetimepickerInput.decorators = [
2026
2101
  { type: core.Directive, args: [{
2027
2102
  selector: 'input[mtxDatetimepicker]',
@@ -2044,13 +2119,20 @@
2044
2119
  exportAs: 'mtxDatetimepickerInput',
2045
2120
  },] }
2046
2121
  ];
2047
- /** @nocollapse */
2122
+ /**
2123
+ * @type {function(): !Array<(null|{
2124
+ * type: ?,
2125
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
2126
+ * })>}
2127
+ * @nocollapse
2128
+ */
2048
2129
  MtxDatetimepickerInput.ctorParameters = function () { return [
2049
2130
  { type: core.ElementRef },
2050
2131
  { type: core$1.DatetimeAdapter, decorators: [{ type: core.Optional }] },
2051
2132
  { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core$1.MTX_DATETIME_FORMATS,] }] },
2052
2133
  { type: formField.MatFormField, decorators: [{ type: core.Optional }] }
2053
2134
  ]; };
2135
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
2054
2136
  MtxDatetimepickerInput.propDecorators = {
2055
2137
  dateChange: [{ type: core.Output }],
2056
2138
  dateInput: [{ type: core.Output }],
@@ -2113,6 +2195,7 @@
2113
2195
  };
2114
2196
  return MtxDatetimepickerToggle;
2115
2197
  }());
2198
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2116
2199
  MtxDatetimepickerToggle.decorators = [
2117
2200
  { type: core.Component, args: [{
2118
2201
  selector: 'mtx-datetimepicker-toggle',
@@ -2126,11 +2209,18 @@
2126
2209
  changeDetection: core.ChangeDetectionStrategy.OnPush
2127
2210
  },] }
2128
2211
  ];
2129
- /** @nocollapse */
2212
+ /**
2213
+ * @type {function(): !Array<(null|{
2214
+ * type: ?,
2215
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
2216
+ * })>}
2217
+ * @nocollapse
2218
+ */
2130
2219
  MtxDatetimepickerToggle.ctorParameters = function () { return [
2131
2220
  { type: datepicker.MatDatepickerIntl },
2132
2221
  { type: core.ChangeDetectorRef }
2133
2222
  ]; };
2223
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
2134
2224
  MtxDatetimepickerToggle.propDecorators = {
2135
2225
  datetimepicker: [{ type: core.Input, args: ['for',] }],
2136
2226
  disabled: [{ type: core.Input }]
@@ -2257,20 +2347,28 @@
2257
2347
  };
2258
2348
  return MtxMonthView;
2259
2349
  }());
2350
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2260
2351
  MtxMonthView.decorators = [
2261
2352
  { type: core.Component, args: [{
2262
2353
  selector: 'mtx-month-view',
2263
- template: "<table class=\"mtx-calendar-table\">\n <thead class=\"mtx-calendar-table-header\">\n <tr>\n <th *ngFor=\"let day of _weekdays\" [attr.aria-label]=\"day.long\">{{day.narrow}}</th>\n </tr>\n </thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [rows]=\"_weeks\"\n [todayValue]=\"_todayDate!\"\n [activeCell]=\"_adapter.getDate(activeDate) - 1\"\n [selectedValue]=\"_selectedDate!\"\n (selectedValueChange)=\"_dateSelected($event)\"\n role=\"grid\"></tbody>\n</table>\n",
2354
+ template: "<table class=\"mtx-calendar-table\" role=\"grid\">\n <thead class=\"mtx-calendar-table-header\">\n <tr>\n <th *ngFor=\"let day of _weekdays\" [attr.aria-label]=\"day.long\">{{day.narrow}}</th>\n </tr>\n </thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [rows]=\"_weeks\"\n [todayValue]=\"_todayDate!\"\n [activeCell]=\"_adapter.getDate(activeDate) - 1\"\n [selectedValue]=\"_selectedDate!\"\n (selectedValueChange)=\"_dateSelected($event)\"></tbody>\n</table>\n",
2264
2355
  animations: [slideCalendar],
2265
2356
  encapsulation: core.ViewEncapsulation.None,
2266
2357
  changeDetection: core.ChangeDetectionStrategy.OnPush
2267
2358
  },] }
2268
2359
  ];
2269
- /** @nocollapse */
2360
+ /**
2361
+ * @type {function(): !Array<(null|{
2362
+ * type: ?,
2363
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
2364
+ * })>}
2365
+ * @nocollapse
2366
+ */
2270
2367
  MtxMonthView.ctorParameters = function () { return [
2271
2368
  { type: core$1.DatetimeAdapter, decorators: [{ type: core.Optional }] },
2272
2369
  { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core$1.MTX_DATETIME_FORMATS,] }] }
2273
2370
  ]; };
2371
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
2274
2372
  MtxMonthView.propDecorators = {
2275
2373
  type: [{ type: core.Input }],
2276
2374
  _userSelection: [{ type: core.Output }],
@@ -2393,20 +2491,28 @@
2393
2491
  };
2394
2492
  return MtxYearView;
2395
2493
  }());
2494
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2396
2495
  MtxYearView.decorators = [
2397
2496
  { type: core.Component, args: [{
2398
2497
  selector: 'mtx-year-view',
2399
- template: "<table class=\"mtx-calendar-table\">\n <thead class=\"mtx-calendar-table-header\"></thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [label]=\"_yearLabel\"\n [rows]=\"_months\"\n [todayValue]=\"_todayMonth!\"\n [labelMinRequiredCells]=\"2\"\n [numCols]=\"4\"\n [activeCell]=\"_adapter.getMonth(activeDate)\"\n [selectedValue]=\"_selectedMonth!\"\n (selectedValueChange)=\"_monthSelected($event)\"\n [allowDisabledSelection]=\"true\"\n role=\"grid\"></tbody>\n</table>\n",
2498
+ template: "<table class=\"mtx-calendar-table\" role=\"grid\">\n <thead class=\"mtx-calendar-table-header\"></thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [label]=\"_yearLabel\"\n [rows]=\"_months\"\n [todayValue]=\"_todayMonth!\"\n [labelMinRequiredCells]=\"2\"\n [numCols]=\"4\"\n [activeCell]=\"_adapter.getMonth(activeDate)\"\n [selectedValue]=\"_selectedMonth!\"\n (selectedValueChange)=\"_monthSelected($event)\"\n [allowDisabledSelection]=\"true\"></tbody>\n</table>\n",
2400
2499
  animations: [slideCalendar],
2401
2500
  encapsulation: core.ViewEncapsulation.None,
2402
2501
  changeDetection: core.ChangeDetectionStrategy.OnPush
2403
2502
  },] }
2404
2503
  ];
2405
- /** @nocollapse */
2504
+ /**
2505
+ * @type {function(): !Array<(null|{
2506
+ * type: ?,
2507
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
2508
+ * })>}
2509
+ * @nocollapse
2510
+ */
2406
2511
  MtxYearView.ctorParameters = function () { return [
2407
2512
  { type: core$1.DatetimeAdapter, decorators: [{ type: core.Optional }] },
2408
2513
  { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core$1.MTX_DATETIME_FORMATS,] }] }
2409
2514
  ]; };
2515
+ /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
2410
2516
  MtxYearView.propDecorators = {
2411
2517
  _userSelection: [{ type: core.Output }],
2412
2518
  type: [{ type: core.Input }],
@@ -2421,6 +2527,7 @@
2421
2527
  }
2422
2528
  return MtxDatetimepickerModule;
2423
2529
  }());
2530
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
2424
2531
  MtxDatetimepickerModule.decorators = [
2425
2532
  { type: core.NgModule, args: [{
2426
2533
  imports: [common.CommonModule, button.MatButtonModule, icon.MatIconModule, overlay.OverlayModule, a11y.A11yModule],