@ng-matero/extensions 18.4.1 → 19.0.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 (286) hide show
  1. package/_index.scss +3 -1
  2. package/alert/_alert-theme.scss +19 -8
  3. package/alert/alert.d.ts +1 -2
  4. package/button/button-loading.d.ts +1 -2
  5. package/checkbox-group/checkbox-group.d.ts +12 -4
  6. package/colorpicker/_colorpicker-theme.scss +19 -8
  7. package/colorpicker/colorpicker-input.d.ts +1 -3
  8. package/colorpicker/colorpicker-toggle.d.ts +3 -3
  9. package/colorpicker/colorpicker.d.ts +4 -7
  10. package/column-resize/column-resize-directives/column-resize-flex.d.ts +2 -1
  11. package/column-resize/column-resize-directives/column-resize.d.ts +2 -1
  12. package/column-resize/column-resize-notifier.d.ts +0 -1
  13. package/column-resize/column-resize.d.ts +1 -1
  14. package/column-resize/event-dispatcher.d.ts +0 -9
  15. package/column-resize/overlay-handle.d.ts +1 -1
  16. package/column-resize/resizable.d.ts +1 -1
  17. package/column-resize/resize-strategy.d.ts +4 -4
  18. package/core/datetime/datetime-adapter.d.ts +1 -2
  19. package/core/datetime/native-datetime-adapter.d.ts +3 -3
  20. package/core/style/_button-common.scss +18 -0
  21. package/core/theming/_config-validation.scss +4 -4
  22. package/core/theming/_definition.scss +12 -2
  23. package/core/theming/prebuilt/azure-blue.scss +10 -22
  24. package/core/theming/prebuilt/cyan-orange.scss +10 -22
  25. package/core/theming/prebuilt/magenta-violet.scss +10 -22
  26. package/core/theming/prebuilt/rose-red.scss +10 -22
  27. package/core/tokens/_m3-system.scss +273 -0
  28. package/core/tokens/_m3-tokens.scss +8 -151
  29. package/core/tokens/_token-utils.scss +102 -43
  30. package/core/tokens/m2/_index.scss +2 -0
  31. package/core/tokens/m3/definitions/_index.scss +1 -0
  32. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +51 -0
  33. package/core/tokens/m3/index.scss +2 -0
  34. package/core/tokens/m3/mdc/_plain-tooltip.scss +15 -0
  35. package/core/tokens/m3/mtx/_alert.scss +14 -14
  36. package/core/tokens/m3/mtx/_colorpicker.scss +2 -2
  37. package/core/tokens/m3/mtx/_datetimepicker.scss +2 -2
  38. package/core/tokens/m3/mtx/_drawer.scss +2 -2
  39. package/core/tokens/m3/mtx/_grid.scss +2 -2
  40. package/core/tokens/m3/mtx/_loader.scss +2 -2
  41. package/core/tokens/m3/mtx/_popover.scss +2 -2
  42. package/core/tokens/m3/mtx/_progress.scss +2 -2
  43. package/core/tokens/m3/mtx/_select.scss +2 -2
  44. package/core/tokens/m3/mtx/_split.scss +2 -2
  45. package/datetimepicker/_datetimepicker-theme.scss +23 -10
  46. package/datetimepicker/calendar-body.d.ts +26 -4
  47. package/datetimepicker/calendar-body.scss +58 -9
  48. package/datetimepicker/calendar.d.ts +31 -31
  49. package/datetimepicker/clock.d.ts +11 -5
  50. package/datetimepicker/datetimepicker-actions.d.ts +9 -5
  51. package/datetimepicker/datetimepicker-content.scss +15 -0
  52. package/datetimepicker/datetimepicker-input.d.ts +4 -5
  53. package/datetimepicker/datetimepicker-module.d.ts +2 -2
  54. package/datetimepicker/datetimepicker-toggle.d.ts +4 -3
  55. package/datetimepicker/datetimepicker.d.ts +12 -8
  56. package/datetimepicker/month-view.d.ts +22 -7
  57. package/datetimepicker/multi-year-view.d.ts +20 -20
  58. package/datetimepicker/public-api.d.ts +2 -2
  59. package/datetimepicker/{time.d.ts → time-view.d.ts} +21 -9
  60. package/datetimepicker/{time.scss → time-view.scss} +1 -1
  61. package/datetimepicker/year-view.d.ts +21 -11
  62. package/dialog/dialog-container.d.ts +1 -2
  63. package/dialog/dialog.d.ts +0 -1
  64. package/drawer/_drawer-theme.scss +19 -8
  65. package/drawer/drawer-container.d.ts +2 -5
  66. package/drawer/drawer.d.ts +3 -5
  67. package/fesm2022/mtxAlert.mjs +15 -15
  68. package/fesm2022/mtxAlert.mjs.map +1 -1
  69. package/fesm2022/mtxButton.mjs +13 -14
  70. package/fesm2022/mtxButton.mjs.map +1 -1
  71. package/fesm2022/mtxCheckboxGroup.mjs +51 -31
  72. package/fesm2022/mtxCheckboxGroup.mjs.map +1 -1
  73. package/fesm2022/mtxColorpicker.mjs +91 -109
  74. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  75. package/fesm2022/mtxColumnResize.mjs +79 -96
  76. package/fesm2022/mtxColumnResize.mjs.map +1 -1
  77. package/fesm2022/mtxCore.mjs +31 -36
  78. package/fesm2022/mtxCore.mjs.map +1 -1
  79. package/fesm2022/mtxDatetimepicker.mjs +1181 -1093
  80. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  81. package/fesm2022/mtxDialog.mjs +30 -41
  82. package/fesm2022/mtxDialog.mjs.map +1 -1
  83. package/fesm2022/mtxDrawer.mjs +36 -52
  84. package/fesm2022/mtxDrawer.mjs.map +1 -1
  85. package/fesm2022/mtxGrid.mjs +168 -204
  86. package/fesm2022/mtxGrid.mjs.map +1 -1
  87. package/fesm2022/mtxLoader.mjs +12 -12
  88. package/fesm2022/mtxLoader.mjs.map +1 -1
  89. package/fesm2022/mtxPhotoviewer.mjs +11 -12
  90. package/fesm2022/mtxPhotoviewer.mjs.map +1 -1
  91. package/fesm2022/mtxPopover.mjs +106 -119
  92. package/fesm2022/mtxPopover.mjs.map +1 -1
  93. package/fesm2022/mtxProgress.mjs +8 -8
  94. package/fesm2022/mtxProgress.mjs.map +1 -1
  95. package/fesm2022/mtxSelect.mjs +157 -169
  96. package/fesm2022/mtxSelect.mjs.map +1 -1
  97. package/fesm2022/mtxSplit.mjs +39 -40
  98. package/fesm2022/mtxSplit.mjs.map +1 -1
  99. package/fesm2022/mtxTooltip.mjs +105 -91
  100. package/fesm2022/mtxTooltip.mjs.map +1 -1
  101. package/grid/_grid-theme.scss +23 -10
  102. package/grid/cell.d.ts +1 -4
  103. package/grid/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -1
  104. package/grid/column-resize/column-resize-directives/column-resize.d.ts +0 -1
  105. package/grid/column-resize/overlay-handle.d.ts +1 -2
  106. package/grid/column-resize/resizable-directives/resizable.d.ts +2 -3
  107. package/grid/column-resize/resize-strategy.d.ts +2 -4
  108. package/grid/grid-pipes.d.ts +0 -2
  109. package/grid/grid.d.ts +5 -5
  110. package/grid/grid.scss +5 -6
  111. package/loader/_loader-theme.scss +19 -8
  112. package/loader/loader.d.ts +0 -2
  113. package/package.json +11 -47
  114. package/photoviewer/photoviewer.d.ts +1 -2
  115. package/popover/_popover-theme.scss +19 -8
  116. package/popover/popover-content.d.ts +1 -1
  117. package/popover/popover-target.d.ts +1 -2
  118. package/popover/popover-trigger.d.ts +5 -6
  119. package/popover/popover.d.ts +1 -2
  120. package/prebuilt-themes/azure-blue.css +1 -1
  121. package/prebuilt-themes/cyan-orange.css +1 -1
  122. package/prebuilt-themes/deeppurple-amber.css +1 -1
  123. package/prebuilt-themes/indigo-pink.css +1 -1
  124. package/prebuilt-themes/magenta-violet.css +1 -1
  125. package/prebuilt-themes/pink-bluegrey.css +1 -1
  126. package/prebuilt-themes/purple-green.css +1 -1
  127. package/prebuilt-themes/rose-red.css +1 -1
  128. package/progress/_progress-theme.scss +23 -10
  129. package/select/_select-theme.scss +23 -10
  130. package/select/option.d.ts +0 -1
  131. package/select/select-intl.d.ts +2 -4
  132. package/select/select.d.ts +8 -7
  133. package/select/select.scss +3 -3
  134. package/select/templates.d.ts +0 -12
  135. package/split/_split-theme.scss +19 -8
  136. package/split/split-pane.d.ts +3 -4
  137. package/split/split.d.ts +4 -4
  138. package/split/split.scss +1 -1
  139. package/tooltip/_tooltip-theme.scss +11 -4
  140. package/tooltip/tooltip.d.ts +17 -9
  141. package/tooltip/tooltip.scss +8 -3
  142. package/esm2022/alert/alert-module.mjs +0 -17
  143. package/esm2022/alert/alert.mjs +0 -46
  144. package/esm2022/alert/mtxAlert.mjs +0 -5
  145. package/esm2022/alert/public-api.mjs +0 -3
  146. package/esm2022/button/button-loading.mjs +0 -66
  147. package/esm2022/button/button-module.mjs +0 -19
  148. package/esm2022/button/mtxButton.mjs +0 -5
  149. package/esm2022/button/public-api.mjs +0 -3
  150. package/esm2022/checkbox-group/checkbox-group-module.mjs +0 -20
  151. package/esm2022/checkbox-group/checkbox-group.mjs +0 -222
  152. package/esm2022/checkbox-group/interfaces.mjs +0 -2
  153. package/esm2022/checkbox-group/mtxCheckboxGroup.mjs +0 -5
  154. package/esm2022/checkbox-group/public-api.mjs +0 -4
  155. package/esm2022/colorpicker/colorpicker-animations.mjs +0 -16
  156. package/esm2022/colorpicker/colorpicker-input.mjs +0 -228
  157. package/esm2022/colorpicker/colorpicker-module.mjs +0 -64
  158. package/esm2022/colorpicker/colorpicker-toggle.mjs +0 -102
  159. package/esm2022/colorpicker/colorpicker.mjs +0 -363
  160. package/esm2022/colorpicker/mtxColorpicker.mjs +0 -5
  161. package/esm2022/colorpicker/public-api.mjs +0 -6
  162. package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +0 -40
  163. package/esm2022/column-resize/column-resize-directives/column-resize.mjs +0 -40
  164. package/esm2022/column-resize/column-resize-directives/constants.mjs +0 -21
  165. package/esm2022/column-resize/column-resize-module.mjs +0 -28
  166. package/esm2022/column-resize/column-resize-notifier.mjs +0 -52
  167. package/esm2022/column-resize/column-resize.mjs +0 -82
  168. package/esm2022/column-resize/column-size-store.mjs +0 -20
  169. package/esm2022/column-resize/event-dispatcher.mjs +0 -70
  170. package/esm2022/column-resize/mtxColumnResize.mjs +0 -5
  171. package/esm2022/column-resize/overlay-handle.mjs +0 -146
  172. package/esm2022/column-resize/polyfill.mjs +0 -19
  173. package/esm2022/column-resize/public-api.mjs +0 -13
  174. package/esm2022/column-resize/resizable.mjs +0 -199
  175. package/esm2022/column-resize/resize-ref.mjs +0 -17
  176. package/esm2022/column-resize/resize-strategy.mjs +0 -238
  177. package/esm2022/column-resize/selectors.mjs +0 -13
  178. package/esm2022/core/datetime/datetime-adapter.mjs +0 -132
  179. package/esm2022/core/datetime/datetime-formats.mjs +0 -3
  180. package/esm2022/core/datetime/datetime.module.mjs +0 -38
  181. package/esm2022/core/datetime/index.mjs +0 -6
  182. package/esm2022/core/datetime/native-datetime-adapter.mjs +0 -138
  183. package/esm2022/core/datetime/native-datetime-formats.mjs +0 -20
  184. package/esm2022/core/mtxCore.mjs +0 -5
  185. package/esm2022/core/pipes/index.mjs +0 -4
  186. package/esm2022/core/pipes/is-template-ref.pipe.mjs +0 -14
  187. package/esm2022/core/pipes/pipes.module.mjs +0 -18
  188. package/esm2022/core/pipes/to-observable.pipe.mjs +0 -15
  189. package/esm2022/core/public-api.mjs +0 -3
  190. package/esm2022/datetimepicker/calendar-body.mjs +0 -77
  191. package/esm2022/datetimepicker/calendar.mjs +0 -661
  192. package/esm2022/datetimepicker/clock.mjs +0 -362
  193. package/esm2022/datetimepicker/datetimepicker-actions.mjs +0 -88
  194. package/esm2022/datetimepicker/datetimepicker-animations.mjs +0 -44
  195. package/esm2022/datetimepicker/datetimepicker-errors.mjs +0 -8
  196. package/esm2022/datetimepicker/datetimepicker-filtertype.mjs +0 -7
  197. package/esm2022/datetimepicker/datetimepicker-input.mjs +0 -349
  198. package/esm2022/datetimepicker/datetimepicker-intl.mjs +0 -63
  199. package/esm2022/datetimepicker/datetimepicker-module.mjs +0 -116
  200. package/esm2022/datetimepicker/datetimepicker-toggle.mjs +0 -105
  201. package/esm2022/datetimepicker/datetimepicker-types.mjs +0 -2
  202. package/esm2022/datetimepicker/datetimepicker.mjs +0 -580
  203. package/esm2022/datetimepicker/month-view.mjs +0 -148
  204. package/esm2022/datetimepicker/mtxDatetimepicker.mjs +0 -5
  205. package/esm2022/datetimepicker/multi-year-view.mjs +0 -215
  206. package/esm2022/datetimepicker/public-api.mjs +0 -17
  207. package/esm2022/datetimepicker/time.mjs +0 -470
  208. package/esm2022/datetimepicker/year-view.mjs +0 -139
  209. package/esm2022/dialog/dialog-config.mjs +0 -2
  210. package/esm2022/dialog/dialog-container.mjs +0 -43
  211. package/esm2022/dialog/dialog-module.mjs +0 -40
  212. package/esm2022/dialog/dialog.mjs +0 -75
  213. package/esm2022/dialog/mtxDialog.mjs +0 -5
  214. package/esm2022/dialog/public-api.mjs +0 -5
  215. package/esm2022/drawer/drawer-animations.mjs +0 -18
  216. package/esm2022/drawer/drawer-config.mjs +0 -35
  217. package/esm2022/drawer/drawer-container.mjs +0 -88
  218. package/esm2022/drawer/drawer-module.mjs +0 -21
  219. package/esm2022/drawer/drawer-ref.mjs +0 -99
  220. package/esm2022/drawer/drawer.mjs +0 -144
  221. package/esm2022/drawer/mtxDrawer.mjs +0 -5
  222. package/esm2022/drawer/public-api.mjs +0 -7
  223. package/esm2022/grid/cell.mjs +0 -132
  224. package/esm2022/grid/column-menu.mjs +0 -133
  225. package/esm2022/grid/column-resize/column-resize-directives/column-resize-flex.mjs +0 -38
  226. package/esm2022/grid/column-resize/column-resize-directives/column-resize.mjs +0 -38
  227. package/esm2022/grid/column-resize/column-resize-directives/common.mjs +0 -27
  228. package/esm2022/grid/column-resize/column-resize-module.mjs +0 -42
  229. package/esm2022/grid/column-resize/index.mjs +0 -8
  230. package/esm2022/grid/column-resize/overlay-handle.mjs +0 -66
  231. package/esm2022/grid/column-resize/resizable-directives/common.mjs +0 -29
  232. package/esm2022/grid/column-resize/resizable-directives/resizable.mjs +0 -64
  233. package/esm2022/grid/column-resize/resize-strategy.mjs +0 -47
  234. package/esm2022/grid/expansion-toggle.mjs +0 -65
  235. package/esm2022/grid/grid-module.mjs +0 -151
  236. package/esm2022/grid/grid-pipes.mjs +0 -129
  237. package/esm2022/grid/grid-utils.mjs +0 -56
  238. package/esm2022/grid/grid.mjs +0 -644
  239. package/esm2022/grid/interfaces.mjs +0 -2
  240. package/esm2022/grid/mtxGrid.mjs +0 -5
  241. package/esm2022/grid/public-api.mjs +0 -18
  242. package/esm2022/grid/selectable-cell.mjs +0 -53
  243. package/esm2022/loader/loader-module.mjs +0 -19
  244. package/esm2022/loader/loader.mjs +0 -57
  245. package/esm2022/loader/mtxLoader.mjs +0 -5
  246. package/esm2022/loader/public-api.mjs +0 -3
  247. package/esm2022/ng-matero-extensions.mjs +0 -5
  248. package/esm2022/photoviewer/mtxPhotoviewer.mjs +0 -5
  249. package/esm2022/photoviewer/photoviewer-module.mjs +0 -16
  250. package/esm2022/photoviewer/photoviewer.mjs +0 -64
  251. package/esm2022/photoviewer/public-api.mjs +0 -3
  252. package/esm2022/popover/mtxPopover.mjs +0 -5
  253. package/esm2022/popover/popover-animations.mjs +0 -25
  254. package/esm2022/popover/popover-content.mjs +0 -91
  255. package/esm2022/popover/popover-errors.mjs +0 -27
  256. package/esm2022/popover/popover-interfaces.mjs +0 -2
  257. package/esm2022/popover/popover-module.mjs +0 -39
  258. package/esm2022/popover/popover-target.mjs +0 -18
  259. package/esm2022/popover/popover-trigger.mjs +0 -480
  260. package/esm2022/popover/popover-types.mjs +0 -2
  261. package/esm2022/popover/popover.mjs +0 -325
  262. package/esm2022/popover/public-api.mjs +0 -9
  263. package/esm2022/progress/mtxProgress.mjs +0 -5
  264. package/esm2022/progress/progress-module.mjs +0 -17
  265. package/esm2022/progress/progress.mjs +0 -43
  266. package/esm2022/progress/public-api.mjs +0 -3
  267. package/esm2022/public-api.mjs +0 -5
  268. package/esm2022/select/mtxSelect.mjs +0 -5
  269. package/esm2022/select/option.mjs +0 -52
  270. package/esm2022/select/public-api.mjs +0 -6
  271. package/esm2022/select/select-intl.mjs +0 -32
  272. package/esm2022/select/select-module.mjs +0 -89
  273. package/esm2022/select/select.mjs +0 -611
  274. package/esm2022/select/templates.mjs +0 -135
  275. package/esm2022/split/interfaces.mjs +0 -2
  276. package/esm2022/split/mtxSplit.mjs +0 -5
  277. package/esm2022/split/public-api.mjs +0 -6
  278. package/esm2022/split/split-module.mjs +0 -18
  279. package/esm2022/split/split-pane.mjs +0 -161
  280. package/esm2022/split/split.mjs +0 -634
  281. package/esm2022/split/utils.mjs +0 -219
  282. package/esm2022/tooltip/mtxTooltip.mjs +0 -5
  283. package/esm2022/tooltip/public-api.mjs +0 -4
  284. package/esm2022/tooltip/tooltip-animations.mjs +0 -17
  285. package/esm2022/tooltip/tooltip-module.mjs +0 -41
  286. package/esm2022/tooltip/tooltip.mjs +0 -915
@@ -1,8 +1,15 @@
1
1
  @use 'sass:math';
2
+ @use '@angular/cdk';
3
+
4
+ @use '../core/style/button-common';
2
5
  @use '../core/tokens/token-utils';
3
6
  @use '../core/tokens/m2/mtx/datetimepicker' as tokens-mtx-datetimepicker;
4
7
 
5
8
  $calendar-body-label-padding-start: 5% !default;
9
+ // We don't want the label to jump around when we switch between month and year views, so we use
10
+ // the same amount of padding regardless of the number of columns. We align the header label with
11
+ // the one third mark of the first cell, this was chosen somewhat arbitrarily to make it look
12
+ // roughly like the mock. Half way is too far since the cell text is center aligned.
6
13
  $calendar-body-label-side-padding: math.div(33%, 7) !default;
7
14
  $calendar-body-cell-min-size: 32px !default;
8
15
  $calendar-body-cell-size: math.div(100%, 7) !default;
@@ -48,7 +55,8 @@ $_tokens: tokens-mtx-datetimepicker.$prefix, tokens-mtx-datetimepicker.get-token
48
55
  height: 0;
49
56
  line-height: 0;
50
57
  text-align: left;
51
- padding: $calendar-body-cell-padding $calendar-body-label-side-padding;
58
+ padding-left: $calendar-body-label-side-padding;
59
+ padding-right: $calendar-body-label-side-padding;
52
60
 
53
61
  @include token-utils.use-tokens($_tokens...) {
54
62
  @include token-utils.create-token-slot(font-size, calendar-body-label-text-size);
@@ -61,15 +69,31 @@ $_tokens: tokens-mtx-datetimepicker.$prefix, tokens-mtx-datetimepicker.get-token
61
69
  }
62
70
  }
63
71
 
64
- .mtx-calendar-body-cell {
72
+ .mtx-calendar-body-cell-container {
65
73
  position: relative;
66
- width: $calendar-body-cell-size;
67
74
  height: 0;
68
75
  line-height: 0;
69
- padding: $calendar-body-cell-padding 0;
76
+ }
77
+
78
+ .mtx-calendar-body-cell {
79
+ position: absolute;
80
+ top: 0;
81
+ left: 0;
82
+ width: 100%;
83
+ height: 100%;
84
+ background: none;
70
85
  text-align: center;
71
86
  outline: none;
72
- cursor: pointer;
87
+ font-family: inherit;
88
+ margin: 0;
89
+
90
+ // Needs to be repeated here in order to override the user agent styles.
91
+ @include token-utils.use-tokens($_tokens...) {
92
+ @include token-utils.create-token-slot(font-family, calendar-text-font);
93
+ @include token-utils.create-token-slot(font-size, calendar-text-size);
94
+ }
95
+
96
+ @include button-common.reset();
73
97
  }
74
98
 
75
99
  .mtx-calendar-body-disabled {
@@ -85,31 +109,56 @@ $_tokens: tokens-mtx-datetimepicker.$prefix, tokens-mtx-datetimepicker.get-token
85
109
  @include token-utils.create-token-slot(border-color, calendar-date-disabled-state-text-color);
86
110
  }
87
111
  }
112
+
113
+ // Fade out the disabled cells so that they can be distinguished from the enabled ones. Note that
114
+ // ideally we'd use `color: GreyText` here which is what the browser uses for disabled buttons,
115
+ // but we can't because Firefox doesn't recognize it.
116
+ @include cdk.high-contrast {
117
+ opacity: 0.5;
118
+ }
88
119
  }
89
120
 
90
121
  .mtx-calendar-body-cell-content {
91
- position: absolute;
92
122
  top: $calendar-body-cell-content-margin;
93
123
  left: $calendar-body-cell-content-margin;
124
+ z-index: 1;
94
125
  display: flex;
95
126
  align-items: center;
96
127
  justify-content: center;
97
128
  box-sizing: border-box;
98
129
  width: $calendar-body-cell-content-size;
99
130
  height: $calendar-body-cell-content-size;
100
- border: $calendar-body-cell-content-border-width solid transparent;
131
+
132
+ // Prevents text being off-center on Android.
133
+ line-height: 1;
134
+ border: $calendar-body-cell-content-border-width;
135
+ border-style: solid;
136
+
137
+ // Choosing a value clearly larger than the height ensures we get the correct capsule shape.
101
138
  border-radius: $calendar-body-cell-radius;
102
139
 
103
140
  @include token-utils.use-tokens($_tokens...) {
104
141
  @include token-utils.create-token-slot(color, calendar-date-text-color);
105
142
  @include token-utils.create-token-slot(border-color, calendar-date-outline-color);
106
143
  }
144
+
145
+ // Increase specificity because focus indicator styles are part of the `mat-core` mixin and can
146
+ // potentially overwrite the absolute position of the container.
147
+ &.mat-focus-indicator {
148
+ position: absolute;
149
+ }
150
+
151
+ @include cdk.high-contrast {
152
+ border: none;
153
+ }
107
154
  }
108
155
 
109
- // TODO: cdk-keyboard-focused, cdk-program-focused
110
156
  .mtx-calendar-body-active {
111
157
  @include token-utils.use-tokens($_tokens...) {
112
- @include _highlighted-cell(calendar-date-focus-state-background-color);
158
+ .cdk-keyboard-focused &,
159
+ .cdk-program-focused & {
160
+ @include _highlighted-cell(calendar-date-focus-state-background-color);
161
+ }
113
162
  }
114
163
  }
115
164
 
@@ -1,18 +1,20 @@
1
1
  import { ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';
2
- import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
3
- import { DatetimeAdapter, MtxDatetimeFormats } from '@ng-matero/extensions/core';
2
+ import { AfterContentInit, AfterViewChecked, EventEmitter, OnDestroy } from '@angular/core';
4
3
  import { MtxClockView } from './clock';
5
4
  import { MtxDatetimepickerFilterType } from './datetimepicker-filtertype';
6
- import { MtxDatetimepickerIntl } from './datetimepicker-intl';
7
5
  import { MtxAMPM, MtxCalendarView, MtxDatetimepickerType } from './datetimepicker-types';
6
+ import { MtxMonthView } from './month-view';
7
+ import { MtxMultiYearView } from './multi-year-view';
8
+ import { MtxTimeView } from './time-view';
9
+ import { MtxYearView } from './year-view';
8
10
  import * as i0 from "@angular/core";
9
11
  /**
10
12
  * A calendar that is used as part of the datetimepicker.
11
13
  * @docs-private
12
14
  */
13
- export declare class MtxCalendar<D> implements AfterContentInit, OnDestroy {
14
- private _elementRef;
15
+ export declare class MtxCalendar<D> implements AfterViewChecked, AfterContentInit, OnDestroy {
15
16
  private _intl;
17
+ private _changeDetectorRef;
16
18
  private _ngZone;
17
19
  private _adapter;
18
20
  private _dateFormats;
@@ -37,6 +39,14 @@ export declare class MtxCalendar<D> implements AfterContentInit, OnDestroy {
37
39
  /** Emits when the view has been changed. */
38
40
  viewChanged: EventEmitter<MtxCalendarView>;
39
41
  _userSelection: EventEmitter<void>;
42
+ /** Reference to the current month view component. */
43
+ monthView: MtxMonthView<D>;
44
+ /** Reference to the current year view component. */
45
+ yearView: MtxYearView<D>;
46
+ /** Reference to the current multi-year view component. */
47
+ multiYearView: MtxMultiYearView<D>;
48
+ /** Reference to the current time view component. */
49
+ timeView: MtxTimeView<D>;
40
50
  _AMPM: MtxAMPM;
41
51
  _clockView: MtxClockView;
42
52
  _calendarState: string;
@@ -44,8 +54,14 @@ export declare class MtxCalendar<D> implements AfterContentInit, OnDestroy {
44
54
  _calendarHeaderPortal: Portal<any>;
45
55
  private _intlChanges;
46
56
  private _clampedActiveDate;
47
- private _injector;
48
- constructor(_elementRef: ElementRef, _intl: MtxDatetimepickerIntl, _ngZone: NgZone, _adapter: DatetimeAdapter<D>, _dateFormats: MtxDatetimeFormats, _changeDetectorRef: ChangeDetectorRef);
57
+ /**
58
+ * Used for scheduling that focus should be moved to the active cell on the next tick.
59
+ * We need to schedule it, rather than do it immediately, because we have to wait
60
+ * for Angular to re-evaluate the view children.
61
+ */
62
+ private _moveFocusOnNextTick;
63
+ /** Inserted by Angular inject() migration for backwards compatibility */
64
+ constructor(...args: unknown[]);
49
65
  /** The display type of datetimepicker. */
50
66
  get type(): MtxDatetimepickerType;
51
67
  set type(value: MtxDatetimepickerType);
@@ -81,7 +97,7 @@ export declare class MtxCalendar<D> implements AfterContentInit, OnDestroy {
81
97
  set _activeDate(value: D);
82
98
  /** Whether the calendar is in month view. */
83
99
  get currentView(): MtxCalendarView;
84
- set currentView(view: MtxCalendarView);
100
+ set currentView(value: MtxCalendarView);
85
101
  private _currentView;
86
102
  get _yearPeriodText(): string;
87
103
  get _yearButtonText(): string;
@@ -98,6 +114,7 @@ export declare class MtxCalendar<D> implements AfterContentInit, OnDestroy {
98
114
  _dateFilterForViews: (date: D) => boolean;
99
115
  _userSelected(): void;
100
116
  ngAfterContentInit(): void;
117
+ ngAfterViewChecked(): void;
101
118
  ngOnDestroy(): void;
102
119
  /** Handles date selection in the month view. */
103
120
  _dateSelected(date: D): void;
@@ -106,7 +123,6 @@ export declare class MtxCalendar<D> implements AfterContentInit, OnDestroy {
106
123
  /** Handles year selection in the multi year view. */
107
124
  _yearSelected(year: D): void;
108
125
  _timeSelected(date: D): void;
109
- _dialTimeSelected(date: D): void;
110
126
  _onActiveDateChange(date: D): void;
111
127
  _selectAMPM(date: D): void;
112
128
  _ampmClicked(source: MtxAMPM): void;
@@ -122,36 +138,20 @@ export declare class MtxCalendar<D> implements AfterContentInit, OnDestroy {
122
138
  _previousEnabled(): boolean;
123
139
  /** Whether the next period button is enabled. */
124
140
  _nextEnabled(): boolean;
125
- /** Handles keydown events on the calendar body. */
126
- _handleCalendarBodyKeydown(event: KeyboardEvent): void;
127
- _focusActiveCell(): void;
128
141
  _calendarStateDone(): void;
129
142
  /** Whether the two dates represent the same view in the current view mode (month or year). */
130
143
  private _isSameView;
131
- /** Handles keydown events on the calendar body when calendar is in month view. */
132
- private _handleCalendarBodyKeydownInMonthView;
133
- /** Handles keydown events on the calendar body when calendar is in year view. */
134
- private _handleCalendarBodyKeydownInYearView;
135
- /** Handles keydown events on the calendar body when calendar is in multi-year view. */
136
- private _handleCalendarBodyKeydownInMultiYearView;
137
- /** Handles keydown events on the calendar body when calendar is in month view. */
138
- private _handleCalendarBodyKeydownInClockView;
139
- /**
140
- * Determine the date for the month that comes before the given month in the same column in the
141
- * calendar table.
142
- */
143
- private _prevMonthInSameCol;
144
- /**
145
- * Determine the date for the month that comes after the given month in the same column in the
146
- * calendar table.
147
- */
148
- private _nextMonthInSameCol;
149
144
  private calendarState;
150
145
  private _2digit;
151
- static ɵfac: i0.ɵɵFactoryDeclaration<MtxCalendar<any>, [null, null, null, { optional: true; }, { optional: true; }, null]>;
146
+ /** Returns the component instance that corresponds to the current calendar view. */
147
+ private _getCurrentViewComponent;
148
+ /** Focuses the active date. */
149
+ focusActiveCell(): void;
150
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxCalendar<any>, never>;
152
151
  static ɵcmp: i0.ɵɵComponentDeclaration<MtxCalendar<any>, "mtx-calendar", ["mtxCalendar"], { "multiYearSelector": { "alias": "multiYearSelector"; "required": false; }; "twelvehour": { "alias": "twelvehour"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "timeInterval": { "alias": "timeInterval"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "preventSameDateTimeSelection": { "alias": "preventSameDateTimeSelection"; "required": false; }; "headerComponent": { "alias": "headerComponent"; "required": false; }; "actionsPortal": { "alias": "actionsPortal"; "required": false; }; "type": { "alias": "type"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "timeInput": { "alias": "timeInput"; "required": false; }; "timeInputAutoFocus": { "alias": "timeInputAutoFocus"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "selectedChange": "selectedChange"; "viewChanged": "viewChanged"; "_userSelection": "_userSelection"; }, never, never, true, never>;
153
152
  static ngAcceptInputType_multiYearSelector: unknown;
154
153
  static ngAcceptInputType_twelvehour: unknown;
154
+ static ngAcceptInputType_preventSameDateTimeSelection: unknown;
155
155
  static ngAcceptInputType_timeInput: unknown;
156
156
  static ngAcceptInputType_timeInputAutoFocus: unknown;
157
157
  }
@@ -1,5 +1,4 @@
1
- import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy } from '@angular/core';
2
- import { DatetimeAdapter } from '@ng-matero/extensions/core';
1
+ import { AfterContentInit, EventEmitter, OnChanges, OnDestroy } from '@angular/core';
3
2
  import { MtxDatetimepickerFilterType } from './datetimepicker-filtertype';
4
3
  import { MtxAMPM } from './datetimepicker-types';
5
4
  import * as i0 from "@angular/core";
@@ -9,6 +8,14 @@ export declare const CLOCK_OUTER_RADIUS = 41.25;
9
8
  export declare const CLOCK_TICK_RADIUS = 7.0833;
10
9
  /** Possible views for datetimepicker clock. */
11
10
  export type MtxClockView = 'hour' | 'minute';
11
+ export interface ClockCell {
12
+ value: number;
13
+ displayValue: string;
14
+ enabled: boolean;
15
+ top: number;
16
+ left: number;
17
+ fontSize?: string;
18
+ }
12
19
  /**
13
20
  * A clock that is used as part of the datetimepicker.
14
21
  * @docs-private
@@ -35,12 +42,11 @@ export declare class MtxClock<D> implements AfterContentInit, OnDestroy, OnChang
35
42
  readonly _userSelection: EventEmitter<void>;
36
43
  /** Whether the clock is in hour view. */
37
44
  _hourView: boolean;
38
- _hours: any[];
39
- _minutes: any[];
45
+ _hours: ClockCell[];
46
+ _minutes: ClockCell[];
40
47
  _selectedHour: number;
41
48
  _selectedMinute: number;
42
49
  private _timeChanged;
43
- constructor(_elementRef: ElementRef, _adapter: DatetimeAdapter<D>, _changeDetectorRef: ChangeDetectorRef, _document: any);
44
50
  /**
45
51
  * The date to display in this clock view.
46
52
  */
@@ -1,21 +1,24 @@
1
- import { AfterViewInit, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
1
+ import { AfterViewInit, OnDestroy, TemplateRef } from '@angular/core';
2
2
  import { MtxDatetimepicker } from './datetimepicker';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class MtxDatetimepickerApply<D> {
5
5
  _datetimepicker: MtxDatetimepicker<D>;
6
- constructor(_datetimepicker: MtxDatetimepicker<D>);
6
+ /** Inserted by Angular inject() migration for backwards compatibility */
7
+ constructor(...args: unknown[]);
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepickerApply<any>, never>;
8
9
  static ɵdir: i0.ɵɵDirectiveDeclaration<MtxDatetimepickerApply<any>, "[mtxDatetimepickerApply]", never, {}, {}, never, never, true, never>;
9
10
  }
10
11
  export declare class MtxDatetimepickerCancel<D> {
11
12
  _datetimepicker: MtxDatetimepicker<D>;
12
- constructor(_datetimepicker: MtxDatetimepicker<D>);
13
+ /** Inserted by Angular inject() migration for backwards compatibility */
14
+ constructor(...args: unknown[]);
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepickerCancel<any>, never>;
14
16
  static ɵdir: i0.ɵɵDirectiveDeclaration<MtxDatetimepickerCancel<any>, "[mtxDatetimepickerCancel]", never, {}, {}, never, never, true, never>;
15
17
  }
16
18
  export declare class MtxDatetimepickerClear<D> {
17
19
  _datetimepicker: MtxDatetimepicker<D>;
18
- constructor(_datetimepicker: MtxDatetimepicker<D>);
20
+ /** Inserted by Angular inject() migration for backwards compatibility */
21
+ constructor(...args: unknown[]);
19
22
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepickerClear<any>, never>;
20
23
  static ɵdir: i0.ɵɵDirectiveDeclaration<MtxDatetimepickerClear<any>, "[mtxDatetimepickerClear]", never, {}, {}, never, never, true, never>;
21
24
  }
@@ -24,7 +27,8 @@ export declare class MtxDatetimepickerActions<D> implements AfterViewInit, OnDes
24
27
  private _viewContainerRef;
25
28
  _template: TemplateRef<unknown>;
26
29
  private _portal;
27
- constructor(_datetimepicker: MtxDatetimepicker<D>, _viewContainerRef: ViewContainerRef);
30
+ /** Inserted by Angular inject() migration for backwards compatibility */
31
+ constructor(...args: unknown[]);
28
32
  ngAfterViewInit(): void;
29
33
  ngOnDestroy(): void;
30
34
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepickerActions<any>, never>;
@@ -70,6 +70,21 @@ $touch-max-height: 850px;
70
70
  .mtx-datetimepicker-content-container-with-actions .mtx-calendar.mtx-calendar-with-time-input {
71
71
  height: $non-touch-calendar-with-time-input-portrait-height;
72
72
  }
73
+
74
+ // Note that this selector doesn't technically have to be nested, but we want the slightly
75
+ // higher specificity, or it can be overridden based on the CSS insertion order (see #21043).
76
+ .mtx-datetimepicker-close-button {
77
+ position: absolute;
78
+ top: 100%;
79
+ left: 0;
80
+ margin-top: 8px;
81
+
82
+ // Hide the button while the overlay is animating, because it's rendered
83
+ // outside of it and it seems to cause scrollbars in some cases (see #21493).
84
+ .ng-animating & {
85
+ display: none;
86
+ }
87
+ }
73
88
  }
74
89
 
75
90
  .mtx-datetimepicker-content-container {
@@ -1,8 +1,6 @@
1
1
  import { AfterContentInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
2
2
  import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
3
3
  import { ThemePalette } from '@angular/material/core';
4
- import { MatFormField } from '@angular/material/form-field';
5
- import { DatetimeAdapter, MtxDatetimeFormats } from '@ng-matero/extensions/core';
6
4
  import { MtxDatetimepicker } from './datetimepicker';
7
5
  import { MtxDatetimepickerFilterType } from './datetimepicker-filtertype';
8
6
  import * as i0 from "@angular/core";
@@ -23,7 +21,7 @@ export declare class MtxDatetimepickerInputEvent<D> {
23
21
  /** Directive used to connect an input to a MtxDatetimepicker. */
24
22
  export declare class MtxDatetimepickerInput<D> implements AfterContentInit, ControlValueAccessor, OnDestroy, Validator {
25
23
  private _elementRef;
26
- _dateAdapter: DatetimeAdapter<D>;
24
+ private _dateAdapter;
27
25
  private _dateFormats;
28
26
  private _formField;
29
27
  _datetimepicker: MtxDatetimepicker<D>;
@@ -40,7 +38,8 @@ export declare class MtxDatetimepickerInput<D> implements AfterContentInit, Cont
40
38
  private _localeSubscription;
41
39
  /** Whether the last value set on the input was valid. */
42
40
  private _lastValueValid;
43
- constructor(_elementRef: ElementRef, _dateAdapter: DatetimeAdapter<D>, _dateFormats: MtxDatetimeFormats, _formField: MatFormField);
41
+ /** Inserted by Angular inject() migration for backwards compatibility */
42
+ constructor(...args: unknown[]);
44
43
  /** The datetimepicker that this input is associated with. */
45
44
  set mtxDatetimepicker(value: MtxDatetimepicker<D>);
46
45
  set mtxDatetimepickerFilter(filter: (date: D | null, type: MtxDatetimepickerFilterType) => boolean);
@@ -100,7 +99,7 @@ export declare class MtxDatetimepickerInput<D> implements AfterContentInit, Cont
100
99
  private _formatValue;
101
100
  /** Returns the palette used by the input's form field, if any. */
102
101
  getThemePalette(): ThemePalette;
103
- static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepickerInput<any>, [null, { optional: true; }, { optional: true; }, { optional: true; }]>;
102
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepickerInput<any>, never>;
104
103
  static ɵdir: i0.ɵɵDirectiveDeclaration<MtxDatetimepickerInput<any>, "input[mtxDatetimepicker]", ["mtxDatetimepickerInput"], { "mtxDatetimepicker": { "alias": "mtxDatetimepicker"; "required": false; }; "mtxDatetimepickerFilter": { "alias": "mtxDatetimepickerFilter"; "required": false; }; "value": { "alias": "value"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "dateChange": "dateChange"; "dateInput": "dateInput"; }, never, never, true, never>;
105
104
  static ngAcceptInputType_disabled: unknown;
106
105
  }
@@ -7,7 +7,7 @@ import * as i5 from "@angular/material/button";
7
7
  import * as i6 from "./calendar";
8
8
  import * as i7 from "./calendar-body";
9
9
  import * as i8 from "./clock";
10
- import * as i9 from "./time";
10
+ import * as i9 from "./time-view";
11
11
  import * as i10 from "./datetimepicker";
12
12
  import * as i11 from "./datetimepicker-toggle";
13
13
  import * as i12 from "./datetimepicker-input";
@@ -17,6 +17,6 @@ import * as i15 from "./multi-year-view";
17
17
  import * as i16 from "./datetimepicker-actions";
18
18
  export declare class MtxDatetimepickerModule {
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepickerModule, never>;
20
- static ɵmod: i0.ɵɵNgModuleDeclaration<MtxDatetimepickerModule, never, [typeof i1.CommonModule, typeof i2.OverlayModule, typeof i3.A11yModule, typeof i4.PortalModule, typeof i5.MatButtonModule, typeof i6.MtxCalendar, typeof i7.MtxCalendarBody, typeof i8.MtxClock, typeof i9.MtxTime, typeof i9.MtxTimeInput, typeof i10.MtxDatetimepicker, typeof i11.MtxDatetimepickerToggle, typeof i11.MtxDatetimepickerToggleIcon, typeof i12.MtxDatetimepickerInput, typeof i10.MtxDatetimepickerContent, typeof i13.MtxMonthView, typeof i14.MtxYearView, typeof i15.MtxMultiYearView, typeof i16.MtxDatetimepickerApply, typeof i16.MtxDatetimepickerCancel, typeof i16.MtxDatetimepickerClear, typeof i16.MtxDatetimepickerActions], [typeof i6.MtxCalendar, typeof i7.MtxCalendarBody, typeof i8.MtxClock, typeof i9.MtxTime, typeof i10.MtxDatetimepicker, typeof i11.MtxDatetimepickerToggle, typeof i11.MtxDatetimepickerToggleIcon, typeof i12.MtxDatetimepickerInput, typeof i10.MtxDatetimepickerContent, typeof i13.MtxMonthView, typeof i14.MtxYearView, typeof i15.MtxMultiYearView, typeof i16.MtxDatetimepickerApply, typeof i16.MtxDatetimepickerCancel, typeof i16.MtxDatetimepickerClear, typeof i16.MtxDatetimepickerActions]>;
20
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MtxDatetimepickerModule, never, [typeof i1.CommonModule, typeof i2.OverlayModule, typeof i3.A11yModule, typeof i4.PortalModule, typeof i5.MatButtonModule, typeof i6.MtxCalendar, typeof i7.MtxCalendarBody, typeof i8.MtxClock, typeof i9.MtxTimeView, typeof i9.MtxTimeInput, typeof i10.MtxDatetimepicker, typeof i11.MtxDatetimepickerToggle, typeof i11.MtxDatetimepickerToggleIcon, typeof i12.MtxDatetimepickerInput, typeof i10.MtxDatetimepickerContent, typeof i13.MtxMonthView, typeof i14.MtxYearView, typeof i15.MtxMultiYearView, typeof i16.MtxDatetimepickerApply, typeof i16.MtxDatetimepickerCancel, typeof i16.MtxDatetimepickerClear, typeof i16.MtxDatetimepickerActions], [typeof i6.MtxCalendar, typeof i7.MtxCalendarBody, typeof i8.MtxClock, typeof i9.MtxTimeView, typeof i10.MtxDatetimepicker, typeof i11.MtxDatetimepickerToggle, typeof i11.MtxDatetimepickerToggleIcon, typeof i12.MtxDatetimepickerInput, typeof i10.MtxDatetimepickerContent, typeof i13.MtxMonthView, typeof i14.MtxYearView, typeof i15.MtxMultiYearView, typeof i16.MtxDatetimepickerApply, typeof i16.MtxDatetimepickerCancel, typeof i16.MtxDatetimepickerClear, typeof i16.MtxDatetimepickerActions]>;
21
21
  static ɵinj: i0.ɵɵInjectorDeclaration<MtxDatetimepickerModule>;
22
22
  }
@@ -1,4 +1,4 @@
1
- import { AfterContentInit, ChangeDetectorRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
1
+ import { AfterContentInit, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
2
2
  import { MatButton } from '@angular/material/button';
3
3
  import { MtxDatetimepicker } from './datetimepicker';
4
4
  import { MtxDatetimepickerIntl } from './datetimepicker-intl';
@@ -28,13 +28,14 @@ export declare class MtxDatetimepickerToggle<D> implements AfterContentInit, OnC
28
28
  _customIcon: MtxDatetimepickerToggleIcon;
29
29
  /** Underlying button element. */
30
30
  _button: MatButton;
31
- constructor(_intl: MtxDatetimepickerIntl, _changeDetectorRef: ChangeDetectorRef, defaultTabIndex: string);
31
+ /** Inserted by Angular inject() migration for backwards compatibility */
32
+ constructor(...args: unknown[]);
32
33
  ngOnChanges(changes: SimpleChanges): void;
33
34
  ngOnDestroy(): void;
34
35
  ngAfterContentInit(): void;
35
36
  _open(event: Event): void;
36
37
  private _watchStateChanges;
37
- static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepickerToggle<any>, [null, null, { attribute: "tabindex"; }]>;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepickerToggle<any>, never>;
38
39
  static ɵcmp: i0.ɵɵComponentDeclaration<MtxDatetimepickerToggle<any>, "mtx-datetimepicker-toggle", ["mtxDatetimepickerToggle"], { "datetimepicker": { "alias": "for"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; }, {}, ["_customIcon"], ["[mtxDatetimepickerToggleIcon]"], true, never>;
39
40
  static ngAcceptInputType_disabled: unknown;
40
41
  static ngAcceptInputType_disableRipple: unknown;
@@ -1,10 +1,8 @@
1
- import { Directionality } from '@angular/cdk/bidi';
2
1
  import { Overlay, ScrollStrategy } from '@angular/cdk/overlay';
3
2
  import { ComponentType, TemplatePortal } from '@angular/cdk/portal';
4
- import { AfterContentInit, ChangeDetectorRef, EventEmitter, InjectionToken, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
3
+ import { AfterViewInit, EventEmitter, InjectionToken, OnDestroy, OnInit } from '@angular/core';
5
4
  import { ThemePalette } from '@angular/material/core';
6
5
  import { Subject } from 'rxjs';
7
- import { DatetimeAdapter } from '@ng-matero/extensions/core';
8
6
  import { MtxCalendar } from './calendar';
9
7
  import { MtxDatetimepickerFilterType } from './datetimepicker-filtertype';
10
8
  import { MtxDatetimepickerInput } from './datetimepicker-input';
@@ -31,7 +29,7 @@ export declare const MTX_DATETIMEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER: {
31
29
  * future. (e.g. confirmation buttons).
32
30
  * @docs-private
33
31
  */
34
- export declare class MtxDatetimepickerContent<D> implements OnInit, AfterContentInit, OnDestroy {
32
+ export declare class MtxDatetimepickerContent<D> implements OnInit, AfterViewInit, OnDestroy {
35
33
  private _changeDetectorRef;
36
34
  _calendar: MtxCalendar<D>;
37
35
  color: ThemePalette;
@@ -50,10 +48,15 @@ export declare class MtxDatetimepickerContent<D> implements OnInit, AfterContent
50
48
  type: MtxDatetimepickerType;
51
49
  /** The view of the calendar. */
52
50
  view: MtxCalendarView;
53
- constructor(_changeDetectorRef: ChangeDetectorRef);
51
+ /** Text for the close button. */
52
+ _closeButtonText: string;
53
+ /** Whether the close button currently has focus. */
54
+ _closeButtonFocused: boolean;
55
+ /** Inserted by Angular inject() migration for backwards compatibility */
56
+ constructor(...args: unknown[]);
54
57
  _viewChanged(view: MtxCalendarView): void;
55
58
  ngOnInit(): void;
56
- ngAfterContentInit(): void;
59
+ ngAfterViewInit(): void;
57
60
  ngOnDestroy(): void;
58
61
  _startExitAnimation(): void;
59
62
  _handleUserSelection(): void;
@@ -131,7 +134,8 @@ export declare class MtxDatetimepicker<D> implements OnDestroy {
131
134
  _actionsPortal: TemplatePortal | null;
132
135
  /** Previous selected value. */
133
136
  oldValue: D | null;
134
- constructor(_overlay: Overlay, _viewContainerRef: ViewContainerRef, _scrollStrategy: any, _dateAdapter: DatetimeAdapter<D>, _dir: Directionality);
137
+ /** Inserted by Angular inject() migration for backwards compatibility */
138
+ constructor(...args: unknown[]);
135
139
  /** The date to open the calendar to initially. */
136
140
  get startAt(): D | null;
137
141
  set startAt(date: D | null);
@@ -218,7 +222,7 @@ export declare class MtxDatetimepicker<D> implements OnDestroy {
218
222
  * @param portal Portal to be removed.
219
223
  */
220
224
  removeActions(portal: TemplatePortal): void;
221
- static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepicker<any>, [null, null, null, { optional: true; }, { optional: true; }]>;
225
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxDatetimepicker<any>, never>;
222
226
  static ɵcmp: i0.ɵɵComponentDeclaration<MtxDatetimepicker<any>, "mtx-datetimepicker", ["mtxDatetimepicker"], { "multiYearSelector": { "alias": "multiYearSelector"; "required": false; }; "twelvehour": { "alias": "twelvehour"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "timeInterval": { "alias": "timeInterval"; "required": false; }; "preventSameDateTimeSelection": { "alias": "preventSameDateTimeSelection"; "required": false; }; "calendarHeaderComponent": { "alias": "calendarHeaderComponent"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; "color": { "alias": "color"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "type": { "alias": "type"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "timeInput": { "alias": "timeInput"; "required": false; }; "timeInputAutoFocus": { "alias": "timeInputAutoFocus"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; }, { "selectedChanged": "selectedChanged"; "openedStream": "opened"; "closedStream": "closed"; "viewChanged": "viewChanged"; }, never, never, true, never>;
223
227
  static ngAcceptInputType_multiYearSelector: unknown;
224
228
  static ngAcceptInputType_twelvehour: unknown;
@@ -1,6 +1,6 @@
1
1
  import { AfterContentInit, EventEmitter } from '@angular/core';
2
- import { DatetimeAdapter, MtxDatetimeFormats } from '@ng-matero/extensions/core';
3
- import { MtxCalendarCell } from './calendar-body';
2
+ import { DatetimeAdapter } from '@ng-matero/extensions/core';
3
+ import { MtxCalendarBody, MtxCalendarCell } from './calendar-body';
4
4
  import { MtxDatetimepickerType } from './datetimepicker-types';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
@@ -9,6 +9,7 @@ import * as i0 from "@angular/core";
9
9
  */
10
10
  export declare class MtxMonthView<D> implements AfterContentInit {
11
11
  _adapter: DatetimeAdapter<D>;
12
+ private _dir;
12
13
  private _dateFormats;
13
14
  type: MtxDatetimepickerType;
14
15
  /** A function used to filter which dates are selectable. */
@@ -17,6 +18,10 @@ export declare class MtxMonthView<D> implements AfterContentInit {
17
18
  selectedChange: EventEmitter<D>;
18
19
  /** Emits when any date is selected. */
19
20
  readonly _userSelection: EventEmitter<void>;
21
+ /** Emits when any date is activated. */
22
+ readonly activeDateChange: EventEmitter<D>;
23
+ /** The body of calendar table */
24
+ _mtxCalendarBody: MtxCalendarBody;
20
25
  /** Grid of calendar cells representing the dates of the month. */
21
26
  _weeks: MtxCalendarCell[][];
22
27
  /** The number of blank cells in the first row before the 1st of the month. */
@@ -32,9 +37,11 @@ export declare class MtxMonthView<D> implements AfterContentInit {
32
37
  _weekdays: {
33
38
  long: string;
34
39
  narrow: string;
40
+ id: number;
35
41
  }[];
36
42
  _calendarState: string;
37
- constructor(_adapter: DatetimeAdapter<D>, _dateFormats: MtxDatetimeFormats);
43
+ /** Inserted by Angular inject() migration for backwards compatibility */
44
+ constructor(...args: unknown[]);
38
45
  private _activeDate;
39
46
  /**
40
47
  * The date to display in this month view (everything other than the month and year is ignored).
@@ -42,8 +49,8 @@ export declare class MtxMonthView<D> implements AfterContentInit {
42
49
  get activeDate(): D;
43
50
  set activeDate(value: D);
44
51
  /** The currently selected date. */
45
- get selected(): D;
46
- set selected(value: D);
52
+ get selected(): D | null;
53
+ set selected(value: D | null);
47
54
  private _selected;
48
55
  ngAfterContentInit(): void;
49
56
  /** Handles when a new date is selected. */
@@ -51,6 +58,8 @@ export declare class MtxMonthView<D> implements AfterContentInit {
51
58
  _calendarStateDone(): void;
52
59
  /** Initializes this month view. */
53
60
  private _init;
61
+ /** Initializes the weekdays. */
62
+ private _initWeekdays;
54
63
  /** Creates MdCalendarCells for the dates in this month. */
55
64
  private _createWeekCells;
56
65
  /**
@@ -59,6 +68,12 @@ export declare class MtxMonthView<D> implements AfterContentInit {
59
68
  */
60
69
  private _getDateInCurrentMonth;
61
70
  private calendarState;
62
- static ɵfac: i0.ɵɵFactoryDeclaration<MtxMonthView<any>, [{ optional: true; }, { optional: true; }]>;
63
- static ɵcmp: i0.ɵɵComponentDeclaration<MtxMonthView<any>, "mtx-month-view", ["mtxMonthView"], { "type": { "alias": "type"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "selectedChange": "selectedChange"; "_userSelection": "_userSelection"; }, never, never, true, never>;
71
+ /** Handles keydown events on the calendar body when calendar is in month view. */
72
+ _handleCalendarBodyKeydown(event: KeyboardEvent): void;
73
+ /** Focuses the active cell after the microtask queue is empty. */
74
+ _focusActiveCell(movePreview?: boolean): void;
75
+ /** Determines whether the user has the RTL layout direction. */
76
+ private _isRtl;
77
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxMonthView<any>, never>;
78
+ static ɵcmp: i0.ɵɵComponentDeclaration<MtxMonthView<any>, "mtx-month-view", ["mtxMonthView"], { "type": { "alias": "type"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "activeDate": { "alias": "activeDate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "selectedChange": "selectedChange"; "_userSelection": "_userSelection"; "activeDateChange": "activeDateChange"; }, never, never, true, never>;
64
79
  }