@progress/kendo-angular-dateinputs 17.0.0-develop.4 → 17.0.0-develop.41

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 (185) hide show
  1. package/README.md +39 -124
  2. package/calendar/calendar.component.d.ts +1 -1
  3. package/calendar/footer.component.d.ts +1 -1
  4. package/calendar/for.directive.d.ts +1 -1
  5. package/calendar/header.component.d.ts +1 -1
  6. package/calendar/horizontal-view-list.component.d.ts +1 -1
  7. package/calendar/localization/calendar-messages.d.ts +1 -1
  8. package/calendar/localization/multiview-calendar-messages.d.ts +1 -1
  9. package/calendar/models/orientation.d.ts +1 -1
  10. package/calendar/models/selection-range-end.type.d.ts +1 -1
  11. package/calendar/models/selection.d.ts +1 -1
  12. package/calendar/models/type.d.ts +1 -1
  13. package/calendar/models/view.type.d.ts +1 -1
  14. package/calendar/multiview-calendar.component.d.ts +1 -1
  15. package/calendar/navigation.component.d.ts +1 -1
  16. package/calendar/view-list.component.d.ts +1 -1
  17. package/calendar/view.component.d.ts +1 -1
  18. package/common/models/fillmode.d.ts +1 -1
  19. package/common/models/rounded.d.ts +1 -1
  20. package/common/models/size.d.ts +1 -1
  21. package/common/models/week-days-format.d.ts +1 -1
  22. package/dateinput/dateinput.component.d.ts +2 -2
  23. package/dateinput/localization/messages.d.ts +1 -1
  24. package/dateinput/models/format-placeholder.model.d.ts +1 -1
  25. package/datepicker/datepicker.component.d.ts +1 -1
  26. package/datepicker/localization/messages.d.ts +1 -1
  27. package/daterange/auto-correct-on.type.d.ts +1 -1
  28. package/daterange/date-range-end-input.directive.d.ts +1 -1
  29. package/daterange/date-range-popup.component.d.ts +86 -2
  30. package/daterange/date-range-selection.directive.d.ts +1 -1
  31. package/daterange/date-range-start-input.directive.d.ts +1 -1
  32. package/daterange/date-range.component.d.ts +1 -1
  33. package/daterange/localization/messages.d.ts +1 -1
  34. package/datetimepicker/datetimepicker.component.d.ts +1 -1
  35. package/datetimepicker/localization/messages.d.ts +1 -1
  36. package/datetimepicker/models/active-tab.type.d.ts +1 -1
  37. package/{esm2020 → esm2022}/calendar/calendar.component.mjs +277 -167
  38. package/{esm2020 → esm2022}/calendar/calendar.module.mjs +14 -14
  39. package/{esm2020 → esm2022}/calendar/calendars.module.mjs +14 -14
  40. package/{esm2020 → esm2022}/calendar/footer.component.mjs +11 -7
  41. package/{esm2020 → esm2022}/calendar/for.directive.mjs +13 -4
  42. package/{esm2020 → esm2022}/calendar/header.component.mjs +47 -30
  43. package/{esm2020 → esm2022}/calendar/horizontal-view-list.component.mjs +63 -40
  44. package/{esm2020 → esm2022}/calendar/localization/calendar-custom-messages.component.mjs +9 -8
  45. package/{esm2020 → esm2022}/calendar/localization/calendar-localized-messages.directive.mjs +9 -8
  46. package/{esm2020/calendar/localization/multiview-calendar-messages.mjs → esm2022/calendar/localization/calendar-messages.mjs} +21 -5
  47. package/{esm2020 → esm2022}/calendar/localization/multiview-calendar-custom-messages.component.mjs +9 -8
  48. package/{esm2020 → esm2022}/calendar/localization/multiview-calendar-localized-messages.directive.mjs +9 -8
  49. package/esm2022/calendar/localization/multiview-calendar-messages.mjs +45 -0
  50. package/{esm2020 → esm2022}/calendar/multiview-calendar.component.mjs +300 -212
  51. package/{esm2020 → esm2022}/calendar/multiview-calendar.module.mjs +11 -11
  52. package/{esm2020 → esm2022}/calendar/navigation.component.mjs +34 -15
  53. package/{esm2020 → esm2022}/calendar/services/bus-view.service.mjs +8 -6
  54. package/{esm2020 → esm2022}/calendar/services/century-view.service.mjs +15 -17
  55. package/{esm2020 → esm2022}/calendar/services/decade-view.service.mjs +15 -17
  56. package/{esm2020 → esm2022}/calendar/services/disabled-dates.service.mjs +12 -14
  57. package/{esm2020 → esm2022}/calendar/services/dom.service.mjs +21 -3
  58. package/{esm2020 → esm2022}/calendar/services/month-view.service.mjs +16 -15
  59. package/{esm2020 → esm2022}/calendar/services/navigation.service.mjs +4 -3
  60. package/{esm2020 → esm2022}/calendar/services/scroll-sync.service.mjs +11 -3
  61. package/{esm2020 → esm2022}/calendar/services/selection.service.mjs +5 -3
  62. package/{esm2020 → esm2022}/calendar/services/weeknames.service.mjs +4 -3
  63. package/{esm2020 → esm2022}/calendar/services/year-view.service.mjs +16 -15
  64. package/{esm2020 → esm2022}/calendar/templates/cell-template.directive.mjs +4 -3
  65. package/{esm2020 → esm2022}/calendar/templates/century-cell-template.directive.mjs +4 -3
  66. package/{esm2020 → esm2022}/calendar/templates/decade-cell-template.directive.mjs +4 -3
  67. package/{esm2020 → esm2022}/calendar/templates/footer-template.directive.mjs +4 -3
  68. package/{esm2020 → esm2022}/calendar/templates/header-template.directive.mjs +4 -3
  69. package/{esm2020 → esm2022}/calendar/templates/header-title-template.directive.mjs +4 -3
  70. package/{esm2020 → esm2022}/calendar/templates/month-cell-template.directive.mjs +4 -3
  71. package/{esm2020 → esm2022}/calendar/templates/navigation-item-template.directive.mjs +4 -3
  72. package/{esm2020 → esm2022}/calendar/templates/weeknumber-cell-template.directive.mjs +4 -3
  73. package/{esm2020 → esm2022}/calendar/templates/year-cell-template.directive.mjs +4 -3
  74. package/{esm2020 → esm2022}/calendar/view-list.component.mjs +68 -37
  75. package/{esm2020 → esm2022}/calendar/view.component.mjs +50 -24
  76. package/{esm2020 → esm2022}/common/picker.service.mjs +7 -6
  77. package/{esm2020 → esm2022}/dateinput/dateinput.component.mjs +282 -231
  78. package/{esm2020 → esm2022}/dateinput/dateinput.module.mjs +6 -6
  79. package/{esm2020 → esm2022}/dateinput/localization/dateinput-custom-messages.component.mjs +9 -8
  80. package/{esm2020 → esm2022}/dateinput/localization/dateinput-localized-messages.directive.mjs +9 -8
  81. package/{esm2020 → esm2022}/dateinput/localization/messages.mjs +15 -3
  82. package/{esm2020 → esm2022}/dateinputs.module.mjs +22 -22
  83. package/{esm2020 → esm2022}/datepicker/datepicker.component.mjs +404 -283
  84. package/{esm2020 → esm2022}/datepicker/datepicker.module.mjs +16 -16
  85. package/{esm2020 → esm2022}/datepicker/localization/datepicker-custom-messages.component.mjs +9 -8
  86. package/{esm2020 → esm2022}/datepicker/localization/datepicker-localized-messages.directive.mjs +9 -8
  87. package/esm2022/datepicker/localization/messages.mjs +57 -0
  88. package/{esm2020 → esm2022}/daterange/date-range-end-input.directive.mjs +38 -28
  89. package/{esm2020 → esm2022}/daterange/date-range-input.mjs +19 -13
  90. package/{esm2020 → esm2022}/daterange/date-range-popup-template.directive.mjs +4 -3
  91. package/{esm2020 → esm2022}/daterange/date-range-popup.component.mjs +325 -88
  92. package/{esm2020 → esm2022}/daterange/date-range-selection.directive.mjs +41 -36
  93. package/{esm2020 → esm2022}/daterange/date-range-start-input.directive.mjs +40 -29
  94. package/{esm2020 → esm2022}/daterange/date-range.component.mjs +31 -14
  95. package/{esm2020 → esm2022}/daterange/date-range.module.mjs +16 -16
  96. package/{esm2020 → esm2022}/daterange/date-range.service.mjs +34 -33
  97. package/{esm2020 → esm2022}/daterange/localization/daterange-popup-custom-messages.component.mjs +9 -8
  98. package/{esm2020 → esm2022}/daterange/localization/daterange-popup-localized-messages.directive.mjs +9 -8
  99. package/{esm2020 → esm2022}/daterange/localization/messages.mjs +19 -3
  100. package/{esm2020 → esm2022}/datetimepicker/datetimepicker.component.mjs +391 -293
  101. package/{esm2020 → esm2022}/datetimepicker/datetimepicker.module.mjs +22 -22
  102. package/{esm2020 → esm2022}/datetimepicker/localization/datetimepicker-custom-messages.component.mjs +9 -8
  103. package/{esm2020 → esm2022}/datetimepicker/localization/localized-messages.directive.mjs +9 -8
  104. package/esm2022/datetimepicker/localization/messages.mjs +147 -0
  105. package/{esm2020 → esm2022}/index.mjs +0 -1
  106. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  107. package/{esm2020 → esm2022}/preventable-event.mjs +2 -3
  108. package/esm2022/timepicker/localization/messages.mjs +99 -0
  109. package/{esm2020 → esm2022}/timepicker/localization/timepicker-custom-messages.component.mjs +9 -8
  110. package/{esm2020 → esm2022}/timepicker/localization/timepicker-localized-messages.directive.mjs +9 -8
  111. package/{esm2020 → esm2022}/timepicker/localization/timeselector-custom-messages.component.mjs +9 -8
  112. package/{esm2020 → esm2022}/timepicker/localization/timeselector-localized-messages.directive.mjs +9 -8
  113. package/{esm2020 → esm2022}/timepicker/services/dayperiod.service.mjs +7 -3
  114. package/{esm2020 → esm2022}/timepicker/services/dom.service.mjs +7 -3
  115. package/{esm2020 → esm2022}/timepicker/services/hours.service.mjs +10 -5
  116. package/{esm2020 → esm2022}/timepicker/services/milliseconds.service.mjs +9 -4
  117. package/{esm2020 → esm2022}/timepicker/services/minutes.service.mjs +9 -4
  118. package/{esm2020 → esm2022}/timepicker/services/seconds.service.mjs +9 -4
  119. package/{esm2020 → esm2022}/timepicker/timelist.component.mjs +45 -27
  120. package/{esm2020 → esm2022}/timepicker/timepicker.component.mjs +302 -220
  121. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +14 -14
  122. package/{esm2020 → esm2022}/timepicker/timeselector.component.mjs +96 -73
  123. package/{esm2020 → esm2022}/virtualization/services/row-height.service.mjs +5 -2
  124. package/{esm2020 → esm2022}/virtualization/services/scroller.service.mjs +14 -3
  125. package/{esm2020 → esm2022}/virtualization/virtualization.component.mjs +42 -28
  126. package/{fesm2020 → fesm2022}/progress-kendo-angular-dateinputs.mjs +3764 -2461
  127. package/index.d.ts +0 -1
  128. package/package.json +19 -25
  129. package/timepicker/localization/messages.d.ts +1 -1
  130. package/timepicker/timelist.component.d.ts +1 -1
  131. package/timepicker/timepicker.component.d.ts +2 -1
  132. package/timepicker/timeselector.component.d.ts +1 -1
  133. package/util.d.ts +1 -1
  134. package/virtualization/services/scroller.service.d.ts +2 -2
  135. package/virtualization/virtualization.component.d.ts +1 -1
  136. package/common/adaptive.module.d.ts +0 -18
  137. package/esm2020/calendar/localization/calendar-messages.mjs +0 -29
  138. package/esm2020/common/adaptive.module.mjs +0 -44
  139. package/esm2020/datepicker/localization/messages.mjs +0 -33
  140. package/esm2020/datetimepicker/localization/messages.mjs +0 -63
  141. package/esm2020/timepicker/localization/messages.mjs +0 -47
  142. package/fesm2015/progress-kendo-angular-dateinputs.mjs +0 -19188
  143. /package/{esm2020 → esm2022}/calendar/models/cell-context.interface.mjs +0 -0
  144. /package/{esm2020 → esm2022}/calendar/models/keydown.interface.mjs +0 -0
  145. /package/{esm2020 → esm2022}/calendar/models/navigation-action.enum.mjs +0 -0
  146. /package/{esm2020 → esm2022}/calendar/models/orientation.mjs +0 -0
  147. /package/{esm2020 → esm2022}/calendar/models/row-length-options.interface.mjs +0 -0
  148. /package/{esm2020 → esm2022}/calendar/models/scrollable.interface.mjs +0 -0
  149. /package/{esm2020 → esm2022}/calendar/models/selection-range-end.type.mjs +0 -0
  150. /package/{esm2020 → esm2022}/calendar/models/selection-range.interface.mjs +0 -0
  151. /package/{esm2020 → esm2022}/calendar/models/selection.mjs +0 -0
  152. /package/{esm2020 → esm2022}/calendar/models/type.mjs +0 -0
  153. /package/{esm2020 → esm2022}/calendar/models/view-service.interface.mjs +0 -0
  154. /package/{esm2020 → esm2022}/calendar/models/view.enum.mjs +0 -0
  155. /package/{esm2020 → esm2022}/calendar/models/view.type.mjs +0 -0
  156. /package/{esm2020 → esm2022}/common/dom-queries.mjs +0 -0
  157. /package/{esm2020 → esm2022}/common/models/fillmode.mjs +0 -0
  158. /package/{esm2020 → esm2022}/common/models/rounded.mjs +0 -0
  159. /package/{esm2020 → esm2022}/common/models/size.mjs +0 -0
  160. /package/{esm2020 → esm2022}/common/models/week-days-format.mjs +0 -0
  161. /package/{esm2020 → esm2022}/common/utils.mjs +0 -0
  162. /package/{esm2020 → esm2022}/dateinput/arrow.enum.mjs +0 -0
  163. /package/{esm2020 → esm2022}/dateinput/models/format-placeholder.model.mjs +0 -0
  164. /package/{esm2020 → esm2022}/dateinput/models/format-settings.model.mjs +0 -0
  165. /package/{esm2020 → esm2022}/dateinput/models/incremental-steps.model.mjs +0 -0
  166. /package/{esm2020 → esm2022}/daterange/auto-correct-on.type.mjs +0 -0
  167. /package/{esm2020 → esm2022}/datetimepicker/models/active-tab.type.mjs +0 -0
  168. /package/{esm2020 → esm2022}/defaults.mjs +0 -0
  169. /package/{esm2020 → esm2022}/directives.mjs +0 -0
  170. /package/{esm2020 → esm2022}/popup-settings.model.mjs +0 -0
  171. /package/{esm2020 → esm2022}/progress-kendo-angular-dateinputs.mjs +0 -0
  172. /package/{esm2020 → esm2022}/timepicker/models/incremental-steps.model.mjs +0 -0
  173. /package/{esm2020 → esm2022}/timepicker/models/list-item.interface.mjs +0 -0
  174. /package/{esm2020 → esm2022}/timepicker/models/list-service-settings.mjs +0 -0
  175. /package/{esm2020 → esm2022}/timepicker/models/list-service.interface.mjs +0 -0
  176. /package/{esm2020 → esm2022}/timepicker/models/time-part.default.mjs +0 -0
  177. /package/{esm2020 → esm2022}/timepicker/util.mjs +0 -0
  178. /package/{esm2020 → esm2022}/util.mjs +0 -0
  179. /package/{esm2020 → esm2022}/validators/disabled-date.validator.mjs +0 -0
  180. /package/{esm2020 → esm2022}/validators/disabled-dates-range.validator.mjs +0 -0
  181. /package/{esm2020 → esm2022}/validators/incomplete-date.validator.mjs +0 -0
  182. /package/{esm2020 → esm2022}/validators/max.validator.mjs +0 -0
  183. /package/{esm2020 → esm2022}/validators/min.validator.mjs +0 -0
  184. /package/{esm2020 → esm2022}/validators/time-range.validator.mjs +0 -0
  185. /package/{esm2020 → esm2022}/virtualization/models/scrollable.interface.mjs +0 -0
@@ -67,261 +67,38 @@ const TIME_TAB_BUTTON_SELECTOR = '.k-button.k-group-end';
67
67
  * Represents the [Kendo UI DateTimePicker component for Angular]({% slug overview_datetimepicker %}).
68
68
  */
69
69
  export class DateTimePickerComponent extends MultiTabStop {
70
- constructor(popupService, intl, cdr, pickerService, ngZone, wrapper, localization, disabledDatesService, renderer, injector) {
71
- super();
72
- this.popupService = popupService;
73
- this.intl = intl;
74
- this.cdr = cdr;
75
- this.pickerService = pickerService;
76
- this.ngZone = ngZone;
77
- this.wrapper = wrapper;
78
- this.localization = localization;
79
- this.disabledDatesService = disabledDatesService;
80
- this.renderer = renderer;
81
- this.injector = injector;
82
- /**
83
- * @hidden
84
- */
85
- this.calendarIcon = calendarIcon;
86
- /**
87
- * @hidden
88
- */
89
- this.clockIcon = clockIcon;
90
- /**
91
- * @hidden
92
- */
93
- this.hostClasses = true;
94
- /**
95
- * Sets the format of the displayed Calendar week days' names.
96
- * @default 'short'
97
- */
98
- this.weekDaysFormat = "short";
99
- /**
100
- * The maximum year to assume to be from the current century when typing two-digit year value
101
- * ([see example]({% slug formats_datetimepicker %}#toc-two-digit-year-format)).
102
- *
103
- * The default value is 68, indicating that typing any value less than 69
104
- * will be assumed to be 20xx, while 69 and larger will be assumed to be 19xx.
105
- */
106
- this.twoDigitYearMax = TWO_DIGIT_YEAR_MAX;
107
- /**
108
- * Sets the title of the input element of the DateTimePicker and the title text rendered
109
- * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
110
- */
111
- this.title = '';
112
- /**
113
- * Sets or gets the `disabled` property of the DateTimePicker and determines whether the component is active
114
- * ([see example]({% slug disabled_datetimepicker %})).
115
- * To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_datetimepicker#toc-managing-the-datetimepicker-disabled-state-in-reactive-forms).
116
- */
117
- this.disabled = false;
118
- /**
119
- * Sets the read-only state of the DateTimePicker
120
- * ([see example]({% slug readonly_datetimepicker %}#toc-read-only-datetimepicker)).
121
- *
122
- * @default false
123
- */
124
- this.readonly = false;
125
- /**
126
- * Sets the read-only state of the DateTimePicker input field
127
- * ([see example]({% slug readonly_datetimepicker %}#toc-read-only-input)).
128
- *
129
- * > Note that if you set the [`readonly`]({% slug api_dateinputs_datetimepickercomponent %}#toc-readonly) property value to `true`,
130
- * the input will be rendered in a read-only state regardless of the `readOnlyInput` value.
131
- */
132
- this.readOnlyInput = false;
133
- /**
134
- * Determines whether to display the **Cancel** button in the popup
135
- * ([see example]({% slug datetimepicker_popup_options %}#toc-toggling-the-cancel-button)).
136
- */
137
- this.cancelButton = true;
138
- /**
139
- * Configures the incremental steps of the DateInput and the popup component of the TimePicker
140
- * ([see example]({% slug incrementalsteps_datetimepicker %})).
141
- */
142
- this.steps = {};
143
- /**
144
- * Specifies the Calendar type.
145
- *
146
- * The possible values are:
147
- * - `infinite` (default)
148
- * - `classic`
149
- *
150
- */
151
- this.calendarType = 'infinite';
152
- /**
153
- * Determines whether to enable animation when navigating to previous/next Calendar view.
154
- * Applies to the [`classic`]({% slug api_dateinputs_datetimepickercomponent %}#toc-calendartype) Calendar only.
155
- *
156
- * > This feature uses the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API). In order to run the animation in browsers that do not support it, you need the `web-animations-js` polyfill.
157
- *
158
- * @default false
159
- */
160
- this.animateCalendarNavigation = false;
161
- /**
162
- * Determines whether to display a week number column in the `month` view of the popup Calendar
163
- * ([see example]({% slug datetimepicker_calendar_options %}#toc-week-number-column)).
164
- */
165
- this.weekNumber = false;
166
- /**
167
- * Determines whether the built-in min or max validators are enforced when validating a form
168
- * ([see example](slug:dateranges_datetimepicker)).
169
- */
170
- this.rangeValidation = true;
171
- /**
172
- * Determines whether the built-in validator for disabled
173
- * date ranges is enforced when validating a form
174
- * ([see example](slug:disabled_dates_datetimepicker)).
175
- */
176
- this.disabledDatesValidation = true;
177
- /**
178
- * Determines whether the built-in validation for incomplete dates is to be enforced when a form is being validated.
179
- */
180
- this.incompleteDateValidation = false;
181
- /**
182
- * Determines whether to autocorrect invalid segments automatically.
183
- *
184
- * @default true
185
- */
186
- this.autoCorrectParts = true;
187
- /**
188
- * Determines whether to automatically move to the next segment after the user completes the current one.
189
- *
190
- * @default true
191
- */
192
- this.autoSwitchParts = true;
193
- /**
194
- * A string array representing custom keys, which will move the focus to the next date format segment.
195
- */
196
- this.autoSwitchKeys = [];
197
- /**
198
- * Indicates whether the mouse scroll can be used to increase/decrease the time segments values.
199
- *
200
- * @default true
201
- */
202
- this.enableMouseWheel = true;
203
- /**
204
- * Determines if the users should see a blinking caret inside the Date Input when possible.
205
- *
206
- * @default false
207
- */
208
- this.allowCaretMode = false;
209
- /**
210
- * If set to `true`, renders a clear button after the input text or DateTimePicker value has been changed.
211
- * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
212
- * @default false
213
- */
214
- this.clearButton = false;
215
- /**
216
- * When enabled, the DateTimePicker will autofill the rest of the date to the current date when the component loses focus.
217
- *
218
- * @default false
219
- */
220
- this.autoFill = false;
221
- /**
222
- * Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
223
- */
224
- this.adaptiveMode = 'none';
225
- /**
226
- * Fires each time the user selects a new value
227
- * ([see example](slug:events_datetimepicker)).
228
- */
229
- this.valueChange = new EventEmitter();
230
- /**
231
- * Fires each time the popup is about to open
232
- * ([see example](slug:events_datetimepicker)).
233
- * This event is preventable. If you cancel the event by setting `event.preventDefault()`, the popup will remain closed.
234
- */
235
- this.open = new EventEmitter();
236
- /**
237
- * Fires each time the popup is about to close
238
- * ([see example](slug:events_datetimepicker)).
239
- * This event is preventable. If you cancel the event by setting `event.preventDefault()`, the popup will remain open.
240
- */
241
- this.close = new EventEmitter();
242
- /**
243
- * Fires each time the user focuses the component
244
- * ([see example](slug:events_datetimepicker)).
245
- */
246
- this.onFocus = new EventEmitter();
247
- /**
248
- * Fires each time the user blurs the component
249
- * ([see example](slug:events_datetimepicker)).
250
- */
251
- this.onBlur = new EventEmitter();
252
- /**
253
- * @hidden
254
- */
255
- this.escape = new EventEmitter();
256
- /**
257
- * @hidden
258
- *
259
- * Controls whether the Calendar or the TimeSelector will be displayed.
260
- */
261
- this.activeTab = DEFAULT_ACTIVE_TAB;
262
- /**
263
- * @hidden
264
- *
265
- * Specifies the stripped time-related format that is used in the TimeSelector.
266
- * Updates each time the `format` property value changes.
267
- */
268
- this.timeSelectorFormat = DEFAULT_TIMESELECTOR_FORMAT;
269
- /**
270
- * @hidden
271
- */
272
- this.timeSelectorMin = cloneDate(MIN_TIME);
273
- /**
274
- * @hidden
275
- */
276
- this.timeSelectorMax = cloneDate(MAX_TIME);
277
- /**
278
- * @hidden
279
- */
280
- this.calendarValue = null;
281
- /**
282
- * @hidden
283
- */
284
- this.calendarMin = cloneDate(MIN_DATE);
285
- /**
286
- * @hidden
287
- */
288
- this.calendarMax = lastMillisecondOfDate(MAX_DATE);
289
- /**
290
- * @hidden
291
- */
292
- this.xIcon = xIcon;
293
- /**
294
- * Toggles the visibility of the Calendar footer.
295
- * @default false
296
- */
297
- this.footer = false;
298
- this._popupSettings = { animate: true };
299
- this._value = null;
300
- this._format = DEFAULT_DATEINPUT_FORMAT;
301
- this._tabindex = 0;
302
- this._defaultTab = DEFAULT_ACTIVE_TAB;
303
- this._min = mergeDateAndTime(MIN_DATE, MIN_TIME);
304
- this._max = mergeDateAndTime(MAX_DATE, MAX_TIME);
305
- this._isActive = false;
306
- this.onControlTouched = noop;
307
- this.onControlChange = noop;
308
- this.onValidatorChange = noop;
309
- this.minValidateFn = noop;
310
- this.maxValidateFn = noop;
311
- this.disabledDatesValidateFn = noop;
312
- this.incompleteValidator = noop;
313
- this.subscriptions = new Subscription();
314
- this._size = DEFAULT_SIZE;
315
- this._rounded = DEFAULT_ROUNDED;
316
- this._fillMode = DEFAULT_FILL_MODE;
317
- validatePackage(packageMetadata);
318
- }
70
+ popupService;
71
+ intl;
72
+ cdr;
73
+ pickerService;
74
+ ngZone;
75
+ wrapper;
76
+ localization;
77
+ disabledDatesService;
78
+ renderer;
79
+ injector;
80
+ /**
81
+ * @hidden
82
+ */
83
+ calendarIcon = calendarIcon;
84
+ /**
85
+ * @hidden
86
+ */
87
+ clockIcon = clockIcon;
88
+ /**
89
+ * @hidden
90
+ */
91
+ hostClasses = true;
319
92
  /**
320
93
  * @hidden
321
94
  */
322
95
  get disabledClass() {
323
96
  return this.disabled;
324
97
  }
98
+ /**
99
+ * @hidden
100
+ */
101
+ toggleButton;
325
102
  /**
326
103
  * @hidden
327
104
  */
@@ -340,6 +117,22 @@ export class DateTimePickerComponent extends MultiTabStop {
340
117
  get timeSelector() {
341
118
  return this.pickerService.timeSelector;
342
119
  }
120
+ /**
121
+ * @hidden
122
+ */
123
+ focusableId;
124
+ /**
125
+ * Sets the format of the displayed Calendar week days' names.
126
+ * @default 'short'
127
+ */
128
+ weekDaysFormat = "short";
129
+ /**
130
+ * Displays the days that fall out of the current month in the Calendar ([see example]({% slug datetimepicker_calendar_options %}#toc-displaying-other-month-days)).
131
+ * The default values per Calendar type are:
132
+ * - `infinite` - false
133
+ * - `classic` - true
134
+ */
135
+ showOtherMonthDays;
343
136
  /**
344
137
  * Specifies the value of the DateTimePicker component.
345
138
  *
@@ -372,6 +165,14 @@ export class DateTimePickerComponent extends MultiTabStop {
372
165
  get format() {
373
166
  return this._format;
374
167
  }
168
+ /**
169
+ * The maximum year to assume to be from the current century when typing two-digit year value
170
+ * ([see example]({% slug formats_datetimepicker %}#toc-two-digit-year-format)).
171
+ *
172
+ * The default value is 68, indicating that typing any value less than 69
173
+ * will be assumed to be 20xx, while 69 and larger will be assumed to be 19xx.
174
+ */
175
+ twoDigitYearMax = TWO_DIGIT_YEAR_MAX;
375
176
  /**
376
177
  * Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the DateTimePicker.
377
178
  */
@@ -409,6 +210,11 @@ export class DateTimePickerComponent extends MultiTabStop {
409
210
  get popupSettings() {
410
211
  return this._popupSettings;
411
212
  }
213
+ /**
214
+ * Sets the title of the input element of the DateTimePicker and the title text rendered
215
+ * in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
216
+ */
217
+ title = '';
412
218
  /**
413
219
  * Sets the subtitle text rendered in the header of the popup(action sheet).
414
220
  * Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
@@ -419,6 +225,76 @@ export class DateTimePickerComponent extends MultiTabStop {
419
225
  get subtitle() {
420
226
  return this._subtitle || this.placeholder;
421
227
  }
228
+ _subtitle;
229
+ /**
230
+ * Sets or gets the `disabled` property of the DateTimePicker and determines whether the component is active
231
+ * ([see example]({% slug disabled_datetimepicker %})).
232
+ * To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_datetimepicker#toc-managing-the-datetimepicker-disabled-state-in-reactive-forms).
233
+ */
234
+ disabled = false;
235
+ /**
236
+ * Sets the read-only state of the DateTimePicker
237
+ * ([see example]({% slug readonly_datetimepicker %}#toc-read-only-datetimepicker)).
238
+ *
239
+ * @default false
240
+ */
241
+ readonly = false;
242
+ /**
243
+ * Sets the read-only state of the DateTimePicker input field
244
+ * ([see example]({% slug readonly_datetimepicker %}#toc-read-only-input)).
245
+ *
246
+ * > Note that if you set the [`readonly`]({% slug api_dateinputs_datetimepickercomponent %}#toc-readonly) property value to `true`,
247
+ * the input will be rendered in a read-only state regardless of the `readOnlyInput` value.
248
+ */
249
+ readOnlyInput = false;
250
+ /**
251
+ * Determines whether to display the **Cancel** button in the popup
252
+ * ([see example]({% slug datetimepicker_popup_options %}#toc-toggling-the-cancel-button)).
253
+ */
254
+ cancelButton = true;
255
+ /**
256
+ * Defines the descriptions of the format sections in the input field
257
+ * ([see example]({% slug placeholders_datetimepicker %}#toc-format-sections-description)).
258
+ */
259
+ formatPlaceholder;
260
+ /**
261
+ * Specifies the hint which is displayed by the DateTimePicker when its value is `null`
262
+ * ([see example]({% slug placeholders_datetimepicker %}#toc-text-hints)).
263
+ */
264
+ placeholder;
265
+ /**
266
+ * Configures the incremental steps of the DateInput and the popup component of the TimePicker
267
+ * ([see example]({% slug incrementalsteps_datetimepicker %})).
268
+ */
269
+ steps = {};
270
+ /**
271
+ * Specifies the focused date of the popup Calendar
272
+ * ([see example]({% slug datetimepicker_calendar_options %}#toc-focused-dates)).
273
+ */
274
+ focusedDate;
275
+ /**
276
+ * Specifies the Calendar type.
277
+ *
278
+ * The possible values are:
279
+ * - `infinite` (default)
280
+ * - `classic`
281
+ *
282
+ */
283
+ calendarType = 'infinite';
284
+ /**
285
+ * Determines whether to enable animation when navigating to previous/next Calendar view.
286
+ * Applies to the [`classic`]({% slug api_dateinputs_datetimepickercomponent %}#toc-calendartype) Calendar only.
287
+ *
288
+ * > This feature uses the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API). In order to run the animation in browsers that do not support it, you need the `web-animations-js` polyfill.
289
+ *
290
+ * @default false
291
+ */
292
+ animateCalendarNavigation = false;
293
+ /**
294
+ * Determines whether to display a week number column in the `month` view of the popup Calendar
295
+ * ([see example]({% slug datetimepicker_calendar_options %}#toc-week-number-column)).
296
+ */
297
+ weekNumber = false;
422
298
  /**
423
299
  * Specifies the smallest valid date.
424
300
  * The Calendar will not display dates before this value.
@@ -447,6 +323,100 @@ export class DateTimePickerComponent extends MultiTabStop {
447
323
  get max() {
448
324
  return this._max;
449
325
  }
326
+ /**
327
+ * Determines whether the built-in min or max validators are enforced when validating a form
328
+ * ([see example](slug:dateranges_datetimepicker)).
329
+ */
330
+ rangeValidation = true;
331
+ /**
332
+ * Determines whether the built-in validator for disabled
333
+ * date ranges is enforced when validating a form
334
+ * ([see example](slug:disabled_dates_datetimepicker)).
335
+ */
336
+ disabledDatesValidation = true;
337
+ /**
338
+ * Determines whether the built-in validation for incomplete dates is to be enforced when a form is being validated.
339
+ */
340
+ incompleteDateValidation = false;
341
+ /**
342
+ * Determines whether to autocorrect invalid segments automatically.
343
+ *
344
+ * @default true
345
+ */
346
+ autoCorrectParts = true;
347
+ /**
348
+ * Determines whether to automatically move to the next segment after the user completes the current one.
349
+ *
350
+ * @default true
351
+ */
352
+ autoSwitchParts = true;
353
+ /**
354
+ * A string array representing custom keys, which will move the focus to the next date format segment.
355
+ */
356
+ autoSwitchKeys = [];
357
+ /**
358
+ * Indicates whether the mouse scroll can be used to increase/decrease the time segments values.
359
+ *
360
+ * @default true
361
+ */
362
+ enableMouseWheel = true;
363
+ /**
364
+ * Determines if the users should see a blinking caret inside the Date Input when possible.
365
+ *
366
+ * @default false
367
+ */
368
+ allowCaretMode = false;
369
+ /**
370
+ * If set to `true`, renders a clear button after the input text or DateTimePicker value has been changed.
371
+ * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
372
+ * @default false
373
+ */
374
+ clearButton = false;
375
+ /**
376
+ * When enabled, the DateTimePicker will autofill the rest of the date to the current date when the component loses focus.
377
+ *
378
+ * @default false
379
+ */
380
+ autoFill = false;
381
+ /**
382
+ * Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
383
+ */
384
+ adaptiveMode = 'none';
385
+ /**
386
+ * Sets the HTML attributes of the inner focusable input element. Attributes which are essential for certain component functionalities cannot be changed.
387
+ */
388
+ inputAttributes;
389
+ /**
390
+ * Fires each time the user selects a new value
391
+ * ([see example](slug:events_datetimepicker)).
392
+ */
393
+ valueChange = new EventEmitter();
394
+ /**
395
+ * Fires each time the popup is about to open
396
+ * ([see example](slug:events_datetimepicker)).
397
+ * This event is preventable. If you cancel the event by setting `event.preventDefault()`, the popup will remain closed.
398
+ */
399
+ open = new EventEmitter();
400
+ /**
401
+ * Fires each time the popup is about to close
402
+ * ([see example](slug:events_datetimepicker)).
403
+ * This event is preventable. If you cancel the event by setting `event.preventDefault()`, the popup will remain open.
404
+ */
405
+ close = new EventEmitter();
406
+ /**
407
+ * Fires each time the user focuses the component
408
+ * ([see example](slug:events_datetimepicker)).
409
+ */
410
+ onFocus = new EventEmitter();
411
+ /**
412
+ * Fires each time the user blurs the component
413
+ * ([see example](slug:events_datetimepicker)).
414
+ */
415
+ onBlur = new EventEmitter();
416
+ /**
417
+ * @hidden
418
+ */
419
+ escape = new EventEmitter();
450
420
  /**
451
421
  * Indicates whether the component is currently open. That is when the popup or actionSheet is open.
452
422
  */
@@ -609,18 +579,96 @@ export class DateTimePickerComponent extends MultiTabStop {
609
579
  }
610
580
  this.windowSize = windowSize();
611
581
  }
582
+ /**
583
+ * @hidden
584
+ *
585
+ * Controls whether the Calendar or the TimeSelector will be displayed.
586
+ */
587
+ activeTab = DEFAULT_ACTIVE_TAB;
588
+ /**
589
+ * @hidden
590
+ *
591
+ * Specifies the stripped time-related format that is used in the TimeSelector.
592
+ * Updates each time the `format` property value changes.
593
+ */
594
+ timeSelectorFormat = DEFAULT_TIMESELECTOR_FORMAT;
595
+ /**
596
+ * @hidden
597
+ */
598
+ timeSelectorMin = cloneDate(MIN_TIME);
599
+ /**
600
+ * @hidden
601
+ */
602
+ timeSelectorMax = cloneDate(MAX_TIME);
603
+ /**
604
+ * @hidden
605
+ */
606
+ calendarValue = null;
607
+ /**
608
+ * @hidden
609
+ */
610
+ calendarMin = cloneDate(MIN_DATE);
611
+ /**
612
+ * @hidden
613
+ */
614
+ calendarMax = lastMillisecondOfDate(MAX_DATE);
615
+ /**
616
+ * @hidden
617
+ */
618
+ xIcon = xIcon;
619
+ /**
620
+ * @hidden
621
+ */
622
+ cellTemplate;
623
+ /**
624
+ * @hidden
625
+ */
626
+ monthCellTemplate;
627
+ /**
628
+ * @hidden
629
+ */
630
+ yearCellTemplate;
631
+ /**
632
+ * @hidden
633
+ */
634
+ decadeCellTemplate;
635
+ /**
636
+ * @hidden
637
+ */
638
+ centuryCellTemplate;
639
+ /**
640
+ * @hidden
641
+ */
642
+ weekNumberTemplate;
643
+ /**
644
+ * @hidden
645
+ */
646
+ headerTitleTemplate;
647
+ /**
648
+ * @hidden
649
+ */
650
+ headerTemplate;
612
651
  /**
613
652
  * @hidden
614
653
  */
615
654
  set headerTemplateRef(template) {
616
655
  this.headerTemplate = template;
617
656
  }
657
+ /**
658
+ * @hidden
659
+ */
660
+ footerTemplate;
618
661
  /**
619
662
  * @hidden
620
663
  */
621
664
  set footerTemplateRef(template) {
622
665
  this.footerTemplate = template;
623
666
  }
667
+ /**
668
+ * Toggles the visibility of the Calendar footer.
669
+ * @default false
670
+ */
671
+ footer = false;
624
672
  get activeTabComponent() {
625
673
  if (!this.isOpen) {
626
674
  return;
@@ -637,6 +685,9 @@ export class DateTimePickerComponent extends MultiTabStop {
637
685
  }
638
686
  return appendTo === 'component' ? this.container : appendTo;
639
687
  }
688
+ container;
689
+ popupTemplate;
690
+ actionSheet;
640
691
  get popupUID() {
641
692
  return this.calendar?.popupId;
642
693
  }
@@ -657,10 +708,20 @@ export class DateTimePickerComponent extends MultiTabStop {
657
708
  }
658
709
  }
659
710
  get dateTabButton() {
660
- return this.popupRef?.popup.instance.container.nativeElement.querySelector(DATE_TAB_BUTTON_SELECTOR);
711
+ if (this.isAdaptive) {
712
+ return this.actionSheet.element.nativeElement.querySelector(DATE_TAB_BUTTON_SELECTOR);
713
+ }
714
+ else {
715
+ return this.popupRef?.popup.instance.container.nativeElement.querySelector(DATE_TAB_BUTTON_SELECTOR);
716
+ }
661
717
  }
662
718
  get timeTabButton() {
663
- return this.popupRef?.popup.instance.container.nativeElement.querySelector(TIME_TAB_BUTTON_SELECTOR);
719
+ if (this.isAdaptive) {
720
+ return this.actionSheet.element.nativeElement.querySelector(TIME_TAB_BUTTON_SELECTOR);
721
+ }
722
+ else {
723
+ return this.popupRef?.popup.instance.container.nativeElement.querySelector(TIME_TAB_BUTTON_SELECTOR);
724
+ }
664
725
  }
665
726
  /**
666
727
  * @hidden
@@ -675,6 +736,43 @@ export class DateTimePickerComponent extends MultiTabStop {
675
736
  get isControlRequired() {
676
737
  return isControlRequired(this.formControl);
677
738
  }
739
+ popupRef;
740
+ _popupSettings = { animate: true };
741
+ _value = null;
742
+ _format = DEFAULT_DATEINPUT_FORMAT;
743
+ _tabindex = 0;
744
+ _defaultTab = DEFAULT_ACTIVE_TAB;
745
+ _min = mergeDateAndTime(MIN_DATE, MIN_TIME);
746
+ _max = mergeDateAndTime(MAX_DATE, MAX_TIME);
747
+ _disabledDates;
748
+ _isActive = false;
749
+ onControlTouched = noop;
750
+ onControlChange = noop;
751
+ onValidatorChange = noop;
752
+ minValidateFn = noop;
753
+ maxValidateFn = noop;
754
+ disabledDatesValidateFn = noop;
755
+ incompleteValidator = noop;
756
+ subscriptions = new Subscription();
757
+ ariaActiveDescendantSubscription;
758
+ _size = DEFAULT_SIZE;
759
+ _rounded = DEFAULT_ROUNDED;
760
+ _fillMode = DEFAULT_FILL_MODE;
761
+ windowSize;
762
+ constructor(popupService, intl, cdr, pickerService, ngZone, wrapper, localization, disabledDatesService, renderer, injector) {
763
+ super();
764
+ this.popupService = popupService;
765
+ this.intl = intl;
766
+ this.cdr = cdr;
767
+ this.pickerService = pickerService;
768
+ this.ngZone = ngZone;
769
+ this.wrapper = wrapper;
770
+ this.localization = localization;
771
+ this.disabledDatesService = disabledDatesService;
772
+ this.renderer = renderer;
773
+ this.injector = injector;
774
+ validatePackage(packageMetadata);
775
+ }
678
776
  ngOnInit() {
679
777
  this.subscriptions.add(this.pickerService.onFocus
680
778
  // detect popup changes to disable the inactive view mark-up when the popup is open
@@ -1336,18 +1434,17 @@ export class DateTimePickerComponent extends MultiTabStop {
1336
1434
  this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
1337
1435
  }
1338
1436
  }
1339
- }
1340
- DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i1.PopupService }, { token: i2.IntlService }, { token: i0.ChangeDetectorRef }, { token: i3.PickerService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i4.LocalizationService }, { token: i5.DisabledDatesService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1341
- DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateTimePickerComponent, isStandalone: true, selector: "kendo-datetimepicker", inputs: { focusableId: "focusableId", weekDaysFormat: "weekDaysFormat", showOtherMonthDays: "showOtherMonthDays", value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", tabindex: "tabindex", disabledDates: "disabledDates", popupSettings: "popupSettings", title: "title", subtitle: "subtitle", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", cancelButton: "cancelButton", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", steps: "steps", focusedDate: "focusedDate", calendarType: "calendarType", animateCalendarNavigation: "animateCalendarNavigation", weekNumber: "weekNumber", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesValidation: "disabledDatesValidation", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", clearButton: "clearButton", autoFill: "autoFill", adaptiveMode: "adaptiveMode", inputAttributes: "inputAttributes", defaultTab: "defaultTab", size: "size", rounded: "rounded", fillMode: "fillMode", headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], footer: "footer" }, outputs: { valueChange: "valueChange", open: "open", close: "close", onFocus: "focus", onBlur: "blur", escape: "escape" }, host: { properties: { "class.k-datetimepicker": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.disabledClass", "class.k-readonly": "this.readonly" } }, providers: [
1342
- PickerService,
1343
- LocalizationService,
1344
- DisabledDatesService,
1345
- { provide: L10N_PREFIX, useValue: 'kendo.datetimepicker' },
1346
- { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateTimePickerComponent), multi: true },
1347
- { provide: NG_VALIDATORS, useExisting: forwardRef(() => DateTimePickerComponent), multi: true },
1348
- { provide: KendoInput, useExisting: forwardRef(() => DateTimePickerComponent) },
1349
- { provide: MultiTabStop, useExisting: forwardRef(() => DateTimePickerComponent) }
1350
- ], queries: [{ propertyName: "cellTemplate", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "monthCellTemplate", first: true, predicate: MonthCellTemplateDirective, descendants: true }, { propertyName: "yearCellTemplate", first: true, predicate: YearCellTemplateDirective, descendants: true }, { propertyName: "decadeCellTemplate", first: true, predicate: DecadeCellTemplateDirective, descendants: true }, { propertyName: "centuryCellTemplate", first: true, predicate: CenturyCellTemplateDirective, descendants: true }, { propertyName: "weekNumberTemplate", first: true, predicate: WeekNumberCellTemplateDirective, descendants: true }, { propertyName: "headerTitleTemplate", first: true, predicate: HeaderTitleTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "actionSheet", first: true, predicate: ["actionSheet"], descendants: true }], exportAs: ["kendo-datetimepicker"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1437
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i1.PopupService }, { token: i2.IntlService }, { token: i0.ChangeDetectorRef }, { token: i3.PickerService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i4.LocalizationService }, { token: i5.DisabledDatesService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1438
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateTimePickerComponent, isStandalone: true, selector: "kendo-datetimepicker", inputs: { focusableId: "focusableId", weekDaysFormat: "weekDaysFormat", showOtherMonthDays: "showOtherMonthDays", value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", tabindex: "tabindex", disabledDates: "disabledDates", popupSettings: "popupSettings", title: "title", subtitle: "subtitle", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", cancelButton: "cancelButton", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", steps: "steps", focusedDate: "focusedDate", calendarType: "calendarType", animateCalendarNavigation: "animateCalendarNavigation", weekNumber: "weekNumber", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesValidation: "disabledDatesValidation", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", clearButton: "clearButton", autoFill: "autoFill", adaptiveMode: "adaptiveMode", inputAttributes: "inputAttributes", defaultTab: "defaultTab", size: "size", rounded: "rounded", fillMode: "fillMode", headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], footer: "footer" }, outputs: { valueChange: "valueChange", open: "open", close: "close", onFocus: "focus", onBlur: "blur", escape: "escape" }, host: { properties: { "class.k-datetimepicker": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.disabledClass", "class.k-readonly": "this.readonly" } }, providers: [
1439
+ PickerService,
1440
+ LocalizationService,
1441
+ DisabledDatesService,
1442
+ { provide: L10N_PREFIX, useValue: 'kendo.datetimepicker' },
1443
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateTimePickerComponent), multi: true },
1444
+ { provide: NG_VALIDATORS, useExisting: forwardRef(() => DateTimePickerComponent), multi: true },
1445
+ { provide: KendoInput, useExisting: forwardRef(() => DateTimePickerComponent) },
1446
+ { provide: MultiTabStop, useExisting: forwardRef(() => DateTimePickerComponent) }
1447
+ ], queries: [{ propertyName: "cellTemplate", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "monthCellTemplate", first: true, predicate: MonthCellTemplateDirective, descendants: true }, { propertyName: "yearCellTemplate", first: true, predicate: YearCellTemplateDirective, descendants: true }, { propertyName: "decadeCellTemplate", first: true, predicate: DecadeCellTemplateDirective, descendants: true }, { propertyName: "centuryCellTemplate", first: true, predicate: CenturyCellTemplateDirective, descendants: true }, { propertyName: "weekNumberTemplate", first: true, predicate: WeekNumberCellTemplateDirective, descendants: true }, { propertyName: "headerTitleTemplate", first: true, predicate: HeaderTitleTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "actionSheet", first: true, predicate: ["actionSheet"], descendants: true }], exportAs: ["kendo-datetimepicker"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1351
1448
  <ng-container
1352
1449
  kendoDateTimePickerLocalizedMessages
1353
1450
 
@@ -1531,6 +1628,18 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
1531
1628
  <ng-container *ngTemplateOutlet="dateTimeTemplate"></ng-container>
1532
1629
  </div>
1533
1630
  <div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
1631
+ <button kendoButton
1632
+ *ngIf="cancelButton"
1633
+ class="k-time-cancel"
1634
+ type="button"
1635
+ (click)="handleCancel()"
1636
+ size="large"
1637
+ [attr.title]="localization.get('cancelLabel')"
1638
+ [attr.aria-label]="localization.get('cancelLabel')"
1639
+ >
1640
+ {{localization.get('cancel')}}
1641
+ </button>
1642
+
1534
1643
  <button kendoButton
1535
1644
  type="button"
1536
1645
  class="k-time-accept"
@@ -1543,18 +1652,6 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
1543
1652
  >
1544
1653
  {{localization.get('accept')}}
1545
1654
  </button>
1546
-
1547
- <button kendoButton
1548
- *ngIf="cancelButton"
1549
- class="k-time-cancel"
1550
- type="button"
1551
- (click)="handleCancel()"
1552
- size="large"
1553
- [attr.title]="localization.get('cancelLabel')"
1554
- [attr.aria-label]="localization.get('cancelLabel')"
1555
- >
1556
- {{localization.get('cancel')}}
1557
- </button>
1558
1655
  </div>
1559
1656
  </ng-template>
1560
1657
  </kendo-actionsheet>
@@ -1584,7 +1681,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
1584
1681
  type="button"
1585
1682
  class="k-button k-group-start"
1586
1683
  [ngClass]="popupButtonsClasses()"
1587
- [class.k-active]="activeTab === 'date'"
1684
+ [class.k-selected]="activeTab === 'date'"
1588
1685
  [attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
1589
1686
  [attr.title]="localization.get('dateTabLabel')"
1590
1687
  [attr.aria-label]="localization.get('dateTabLabel')"
@@ -1600,7 +1697,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
1600
1697
  type="button"
1601
1698
  class="k-button k-group-end"
1602
1699
  [ngClass]="popupButtonsClasses()"
1603
- [class.k-active]="activeTab === 'time'"
1700
+ [class.k-selected]="activeTab === 'time'"
1604
1701
  [attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
1605
1702
  [attr.title]="localization.get('timeTabLabel')"
1606
1703
  [attr.aria-label]="localization.get('timeTabLabel')"
@@ -1733,8 +1830,9 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
1733
1830
  </div>
1734
1831
  </div>
1735
1832
  </ng-template>
1736
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "clearButton", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "isRequired", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "allowCaretMode", "autoFill", "incompleteDateValidation", "twoDigitYearMax", "enableMouseWheel", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size", "activeRangeEnd"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { kind: "component", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart", "tabOutNow"], exportAs: ["kendo-timeselector"] }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1737
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerComponent, decorators: [{
1833
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "clearButton", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "isRequired", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "allowCaretMode", "autoFill", "incompleteDateValidation", "twoDigitYearMax", "enableMouseWheel", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size", "activeRangeEnd"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { kind: "component", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart", "tabOutNow"], exportAs: ["kendo-timeselector"] }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1834
+ }
1835
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, decorators: [{
1738
1836
  type: Component,
1739
1837
  args: [{
1740
1838
  selector: 'kendo-datetimepicker',
@@ -1934,6 +2032,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1934
2032
  <ng-container *ngTemplateOutlet="dateTimeTemplate"></ng-container>
1935
2033
  </div>
1936
2034
  <div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
2035
+ <button kendoButton
2036
+ *ngIf="cancelButton"
2037
+ class="k-time-cancel"
2038
+ type="button"
2039
+ (click)="handleCancel()"
2040
+ size="large"
2041
+ [attr.title]="localization.get('cancelLabel')"
2042
+ [attr.aria-label]="localization.get('cancelLabel')"
2043
+ >
2044
+ {{localization.get('cancel')}}
2045
+ </button>
2046
+
1937
2047
  <button kendoButton
1938
2048
  type="button"
1939
2049
  class="k-time-accept"
@@ -1946,18 +2056,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1946
2056
  >
1947
2057
  {{localization.get('accept')}}
1948
2058
  </button>
1949
-
1950
- <button kendoButton
1951
- *ngIf="cancelButton"
1952
- class="k-time-cancel"
1953
- type="button"
1954
- (click)="handleCancel()"
1955
- size="large"
1956
- [attr.title]="localization.get('cancelLabel')"
1957
- [attr.aria-label]="localization.get('cancelLabel')"
1958
- >
1959
- {{localization.get('cancel')}}
1960
- </button>
1961
2059
  </div>
1962
2060
  </ng-template>
1963
2061
  </kendo-actionsheet>
@@ -1987,7 +2085,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1987
2085
  type="button"
1988
2086
  class="k-button k-group-start"
1989
2087
  [ngClass]="popupButtonsClasses()"
1990
- [class.k-active]="activeTab === 'date'"
2088
+ [class.k-selected]="activeTab === 'date'"
1991
2089
  [attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
1992
2090
  [attr.title]="localization.get('dateTabLabel')"
1993
2091
  [attr.aria-label]="localization.get('dateTabLabel')"
@@ -2003,7 +2101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2003
2101
  type="button"
2004
2102
  class="k-button k-group-end"
2005
2103
  [ngClass]="popupButtonsClasses()"
2006
- [class.k-active]="activeTab === 'time'"
2104
+ [class.k-selected]="activeTab === 'time'"
2007
2105
  [attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
2008
2106
  [attr.title]="localization.get('timeTabLabel')"
2009
2107
  [attr.aria-label]="localization.get('timeTabLabel')"