@progress/kendo-angular-dateinputs 21.4.1 → 22.0.0-develop.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 (141) hide show
  1. package/calendar/localization/calendar-messages.d.ts +1 -1
  2. package/calendar/localization/multiview-calendar-messages.d.ts +1 -1
  3. package/dateinput/localization/messages.d.ts +1 -1
  4. package/datepicker/localization/messages.d.ts +1 -1
  5. package/daterange/date-range-input.d.ts +1 -1
  6. package/daterange/localization/messages.d.ts +1 -1
  7. package/datetimepicker/localization/messages.d.ts +1 -1
  8. package/fesm2022/progress-kendo-angular-dateinputs.mjs +262 -262
  9. package/package.json +15 -23
  10. package/timepicker/localization/messages.d.ts +1 -1
  11. package/esm2022/calendar/calendar.component.mjs +0 -1711
  12. package/esm2022/calendar/calendar.module.mjs +0 -91
  13. package/esm2022/calendar/calendars.module.mjs +0 -87
  14. package/esm2022/calendar/footer.component.mjs +0 -77
  15. package/esm2022/calendar/for.directive.mjs +0 -116
  16. package/esm2022/calendar/header.component.mjs +0 -367
  17. package/esm2022/calendar/horizontal-view-list.component.mjs +0 -580
  18. package/esm2022/calendar/localization/calendar-custom-messages.component.mjs +0 -51
  19. package/esm2022/calendar/localization/calendar-localized-messages.directive.mjs +0 -39
  20. package/esm2022/calendar/localization/calendar-messages.mjs +0 -45
  21. package/esm2022/calendar/localization/multiview-calendar-custom-messages.component.mjs +0 -51
  22. package/esm2022/calendar/localization/multiview-calendar-localized-messages.directive.mjs +0 -39
  23. package/esm2022/calendar/localization/multiview-calendar-messages.mjs +0 -45
  24. package/esm2022/calendar/models/cell-context.interface.mjs +0 -5
  25. package/esm2022/calendar/models/navigation-action.enum.mjs +0 -20
  26. package/esm2022/calendar/models/orientation.mjs +0 -5
  27. package/esm2022/calendar/models/row-length-options.interface.mjs +0 -5
  28. package/esm2022/calendar/models/scrollable.interface.mjs +0 -5
  29. package/esm2022/calendar/models/selection-range-end.type.mjs +0 -5
  30. package/esm2022/calendar/models/selection-range.interface.mjs +0 -10
  31. package/esm2022/calendar/models/selection.mjs +0 -50
  32. package/esm2022/calendar/models/type.mjs +0 -5
  33. package/esm2022/calendar/models/view-service.interface.mjs +0 -5
  34. package/esm2022/calendar/models/view.enum.mjs +0 -16
  35. package/esm2022/calendar/models/view.type.mjs +0 -5
  36. package/esm2022/calendar/multiview-calendar.component.mjs +0 -1564
  37. package/esm2022/calendar/multiview-calendar.module.mjs +0 -89
  38. package/esm2022/calendar/navigation.component.mjs +0 -230
  39. package/esm2022/calendar/services/bus-view.service.mjs +0 -83
  40. package/esm2022/calendar/services/century-view.service.mjs +0 -219
  41. package/esm2022/calendar/services/decade-view.service.mjs +0 -217
  42. package/esm2022/calendar/services/disabled-dates.service.mjs +0 -66
  43. package/esm2022/calendar/services/dom.service.mjs +0 -203
  44. package/esm2022/calendar/services/month-view.service.mjs +0 -223
  45. package/esm2022/calendar/services/navigation.service.mjs +0 -60
  46. package/esm2022/calendar/services/scroll-sync.service.mjs +0 -89
  47. package/esm2022/calendar/services/selection.service.mjs +0 -62
  48. package/esm2022/calendar/services/weeknames.service.mjs +0 -33
  49. package/esm2022/calendar/services/year-view.service.mjs +0 -204
  50. package/esm2022/calendar/templates/cell-template.directive.mjs +0 -45
  51. package/esm2022/calendar/templates/century-cell-template.directive.mjs +0 -43
  52. package/esm2022/calendar/templates/decade-cell-template.directive.mjs +0 -43
  53. package/esm2022/calendar/templates/footer-template.directive.mjs +0 -44
  54. package/esm2022/calendar/templates/header-template.directive.mjs +0 -47
  55. package/esm2022/calendar/templates/header-title-template.directive.mjs +0 -43
  56. package/esm2022/calendar/templates/month-cell-template.directive.mjs +0 -43
  57. package/esm2022/calendar/templates/navigation-item-template.directive.mjs +0 -43
  58. package/esm2022/calendar/templates/weeknumber-cell-template.directive.mjs +0 -43
  59. package/esm2022/calendar/templates/year-cell-template.directive.mjs +0 -43
  60. package/esm2022/calendar/view-list.component.mjs +0 -497
  61. package/esm2022/calendar/view.component.mjs +0 -432
  62. package/esm2022/common/dom-queries.mjs +0 -24
  63. package/esm2022/common/models/fillmode.mjs +0 -5
  64. package/esm2022/common/models/rounded.mjs +0 -5
  65. package/esm2022/common/models/size.mjs +0 -5
  66. package/esm2022/common/models/week-days-format.mjs +0 -5
  67. package/esm2022/common/picker.service.mjs +0 -17
  68. package/esm2022/common/utils.mjs +0 -70
  69. package/esm2022/dateinput/arrow.enum.mjs +0 -13
  70. package/esm2022/dateinput/dateinput.component.mjs +0 -1196
  71. package/esm2022/dateinput/dateinput.module.mjs +0 -45
  72. package/esm2022/dateinput/localization/dateinput-custom-messages.component.mjs +0 -60
  73. package/esm2022/dateinput/localization/dateinput-localized-messages.directive.mjs +0 -39
  74. package/esm2022/dateinput/localization/messages.mjs +0 -39
  75. package/esm2022/dateinput/models/format-placeholder.model.mjs +0 -5
  76. package/esm2022/dateinput/models/format-settings.model.mjs +0 -5
  77. package/esm2022/dateinput/models/incremental-steps.model.mjs +0 -5
  78. package/esm2022/dateinputs.module.mjs +0 -136
  79. package/esm2022/datepicker/datepicker.component.mjs +0 -1758
  80. package/esm2022/datepicker/datepicker.module.mjs +0 -83
  81. package/esm2022/datepicker/localization/datepicker-custom-messages.component.mjs +0 -53
  82. package/esm2022/datepicker/localization/datepicker-localized-messages.directive.mjs +0 -39
  83. package/esm2022/datepicker/localization/messages.mjs +0 -63
  84. package/esm2022/daterange/auto-correct-on.type.mjs +0 -5
  85. package/esm2022/daterange/date-range-end-input.directive.mjs +0 -105
  86. package/esm2022/daterange/date-range-input.mjs +0 -138
  87. package/esm2022/daterange/date-range-popup-template.directive.mjs +0 -36
  88. package/esm2022/daterange/date-range-popup.component.mjs +0 -1051
  89. package/esm2022/daterange/date-range-selection.directive.mjs +0 -223
  90. package/esm2022/daterange/date-range-start-input.directive.mjs +0 -109
  91. package/esm2022/daterange/date-range.component.mjs +0 -116
  92. package/esm2022/daterange/date-range.module.mjs +0 -103
  93. package/esm2022/daterange/date-range.service.mjs +0 -225
  94. package/esm2022/daterange/localization/daterange-popup-custom-messages.component.mjs +0 -43
  95. package/esm2022/daterange/localization/daterange-popup-localized-messages.directive.mjs +0 -39
  96. package/esm2022/daterange/localization/messages.mjs +0 -51
  97. package/esm2022/datetimepicker/datetimepicker.component.mjs +0 -2505
  98. package/esm2022/datetimepicker/datetimepicker.module.mjs +0 -106
  99. package/esm2022/datetimepicker/localization/datetimepicker-custom-messages.component.mjs +0 -52
  100. package/esm2022/datetimepicker/localization/localized-messages.directive.mjs +0 -39
  101. package/esm2022/datetimepicker/localization/messages.mjs +0 -153
  102. package/esm2022/datetimepicker/models/active-tab.type.mjs +0 -5
  103. package/esm2022/defaults.mjs +0 -24
  104. package/esm2022/directives.mjs +0 -146
  105. package/esm2022/index.mjs +0 -78
  106. package/esm2022/package-metadata.mjs +0 -16
  107. package/esm2022/popup-settings.model.mjs +0 -5
  108. package/esm2022/preventable-event.mjs +0 -27
  109. package/esm2022/progress-kendo-angular-dateinputs.mjs +0 -8
  110. package/esm2022/timepicker/localization/messages.mjs +0 -105
  111. package/esm2022/timepicker/localization/timepicker-custom-messages.component.mjs +0 -54
  112. package/esm2022/timepicker/localization/timepicker-localized-messages.directive.mjs +0 -39
  113. package/esm2022/timepicker/localization/timeselector-custom-messages.component.mjs +0 -45
  114. package/esm2022/timepicker/localization/timeselector-localized-messages.directive.mjs +0 -39
  115. package/esm2022/timepicker/models/incremental-steps.model.mjs +0 -5
  116. package/esm2022/timepicker/models/list-item.interface.mjs +0 -5
  117. package/esm2022/timepicker/models/list-service-settings.mjs +0 -5
  118. package/esm2022/timepicker/models/list-service.interface.mjs +0 -5
  119. package/esm2022/timepicker/models/time-part.default.mjs +0 -14
  120. package/esm2022/timepicker/services/dayperiod.service.mjs +0 -131
  121. package/esm2022/timepicker/services/dom.service.mjs +0 -126
  122. package/esm2022/timepicker/services/hours.service.mjs +0 -130
  123. package/esm2022/timepicker/services/milliseconds.service.mjs +0 -131
  124. package/esm2022/timepicker/services/minutes.service.mjs +0 -128
  125. package/esm2022/timepicker/services/seconds.service.mjs +0 -128
  126. package/esm2022/timepicker/timelist.component.mjs +0 -388
  127. package/esm2022/timepicker/timepicker.component.mjs +0 -1598
  128. package/esm2022/timepicker/timepicker.module.mjs +0 -71
  129. package/esm2022/timepicker/timeselector.component.mjs +0 -728
  130. package/esm2022/timepicker/util.mjs +0 -70
  131. package/esm2022/util.mjs +0 -406
  132. package/esm2022/validators/disabled-date.validator.mjs +0 -18
  133. package/esm2022/validators/disabled-dates-range.validator.mjs +0 -26
  134. package/esm2022/validators/incomplete-date.validator.mjs +0 -18
  135. package/esm2022/validators/max.validator.mjs +0 -21
  136. package/esm2022/validators/min.validator.mjs +0 -21
  137. package/esm2022/validators/time-range.validator.mjs +0 -23
  138. package/esm2022/virtualization/models/scrollable.interface.mjs +0 -5
  139. package/esm2022/virtualization/services/row-height.service.mjs +0 -73
  140. package/esm2022/virtualization/services/scroller.service.mjs +0 -109
  141. package/esm2022/virtualization/virtualization.component.mjs +0 -324
@@ -1,580 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- /* eslint-disable @angular-eslint/component-selector */
6
- import { Component, ChangeDetectionStrategy, ChangeDetectorRef, EventEmitter, HostBinding, Input, Output, TemplateRef, ElementRef, Renderer2, HostListener } from '@angular/core';
7
- import { cloneDate } from '@progress/kendo-date-math';
8
- import { BusViewService } from './services/bus-view.service';
9
- import { IntlService } from '@progress/kendo-angular-intl';
10
- import { Action } from './models/navigation-action.enum';
11
- import { CalendarViewEnum } from './models/view.enum';
12
- import { MIN_DATE, MAX_DATE } from '../defaults';
13
- import { dateInRange, hasChange, shiftWeekNames } from '../util';
14
- import { isDocumentAvailable } from '@progress/kendo-angular-common';
15
- import { attributeNames, isPresent } from '../common/utils';
16
- import { KForOf } from './for.directive';
17
- import { ViewComponent } from './view.component';
18
- import { NgClass, NgTemplateOutlet } from '@angular/common';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "./services/bus-view.service";
21
- import * as i2 from "@progress/kendo-angular-intl";
22
- const DEFAULT_VIEWS_LENGTH = 2;
23
- /**
24
- * @hidden
25
- */
26
- export class HorizontalViewListComponent {
27
- bus;
28
- intl;
29
- cdr;
30
- element;
31
- renderer;
32
- handleMultiViewCalendarFocus() {
33
- this.focusCalendar.emit();
34
- }
35
- handleMultiViewCalendarBlur(event) {
36
- this.blurCalendar.emit(event);
37
- }
38
- /**
39
- * Needed for the MultiViewCalendar used in the Scheduler Year view
40
- */
41
- showOtherMonthDays = true;
42
- cellTemplateRef;
43
- weekNumberTemplateRef;
44
- allowReverse;
45
- activeRangeEnd;
46
- activeView = CalendarViewEnum.month;
47
- cellUID;
48
- focusedDate;
49
- isActive = true;
50
- min = new Date(MIN_DATE);
51
- max = new Date(MAX_DATE);
52
- selectionRange;
53
- selectedDates = [];
54
- views = DEFAULT_VIEWS_LENGTH;
55
- showViewHeader = false;
56
- animateNavigation = false;
57
- orientation = 'horizontal';
58
- activeDescendant;
59
- tabIndex = 0;
60
- disabled = false;
61
- id;
62
- weekDaysFormat = 'short';
63
- get weekNumber() {
64
- return this.showWeekNumbers && this.isMonthView();
65
- }
66
- set weekNumber(showWeekNumbers) {
67
- this.showWeekNumbers = showWeekNumbers;
68
- }
69
- cellClick = new EventEmitter();
70
- weekNumberCellClick = new EventEmitter();
71
- cellEnter = new EventEmitter();
72
- cellLeave = new EventEmitter();
73
- activeDateChange = new EventEmitter();
74
- focusCalendar = new EventEmitter();
75
- blurCalendar = new EventEmitter();
76
- focusedCellChange = new EventEmitter();
77
- getComponentClass = true;
78
- get horizontalHostClass() {
79
- return this.orientation === 'horizontal';
80
- }
81
- get verticalHostClass() {
82
- return this.orientation === 'vertical';
83
- }
84
- get getComponentMonthClass() {
85
- return this.activeView === CalendarViewEnum.month;
86
- }
87
- get getComponentYearClass() {
88
- return this.activeView === CalendarViewEnum.year;
89
- }
90
- get getComponentDecadeClass() {
91
- return this.activeView === CalendarViewEnum.decade;
92
- }
93
- get getComponentCenturyClass() {
94
- return this.activeView === CalendarViewEnum.century;
95
- }
96
- get role() {
97
- return this.views >= 2 ? 'grid' : null;
98
- }
99
- get tabindex() {
100
- return this.views >= 2 ? '0' : null;
101
- }
102
- get getActiveDescendant() {
103
- return this.views === 1 ? this.activeDescendant : null;
104
- }
105
- get getTabIndex() {
106
- return this.disabled || this.views >= 2 ? null : this.tabIndex;
107
- }
108
- service;
109
- weekNames = [];
110
- wideWeekNames = [];
111
- activeDate;
112
- dates = [];
113
- skip;
114
- total;
115
- nextAnimationDate;
116
- prevAnimationDate;
117
- showWeekNumbers;
118
- intlSubscription;
119
- animation;
120
- constructor(bus, intl, cdr, element, renderer) {
121
- this.bus = bus;
122
- this.intl = intl;
123
- this.cdr = cdr;
124
- this.element = element;
125
- this.renderer = renderer;
126
- this.intlSubscription = this.intl.changes.subscribe(this.intlChange.bind(this));
127
- }
128
- ngOnChanges(changes) {
129
- this.initService();
130
- if (this.weekNames.length === 0 || changes.weekNumber) {
131
- this.weekNames = this.getWeekNames(this.weekDaysFormat);
132
- this.wideWeekNames = this.getWeekNames('wide');
133
- }
134
- if (changes.weekDaysFormat && this.weekNames.length !== 0 && !changes.weekNumber) {
135
- this.weekNames = this.getWeekNames(this.weekDaysFormat);
136
- }
137
- if (!this.service) {
138
- return;
139
- }
140
- this.views = this.views || DEFAULT_VIEWS_LENGTH;
141
- const focusedDate = this.focusedDate;
142
- const viewDate = this.clampDate(this.service.viewDate(focusedDate, this.max, this.views));
143
- this.skip = this.service.skip(viewDate, this.min);
144
- this.total = this.service.total(this.min, this.max);
145
- const activeViewChanged = hasChange(changes, 'activeView');
146
- const viewsHasChanged = this.views > 0 && hasChange(changes, 'views');
147
- if (activeViewChanged || !this.isInDates(focusedDate) || viewsHasChanged || !this.activeDate) {
148
- this.dates = this.service.datesList(viewDate, this.getTake(this.skip));
149
- this.activeDate = cloneDate(this.dates[0]);
150
- this.activeDateChange.emit(this.activeDate);
151
- }
152
- this.setAriaActivedescendant();
153
- //set tabindex for MultiViewCalendar
154
- if (this.views >= 2) {
155
- this.renderer.setAttribute(this.element.nativeElement, 'tabindex', this.tabIndex.toString());
156
- }
157
- }
158
- ngOnDestroy() {
159
- this.intlSubscription.unsubscribe();
160
- }
161
- initService() {
162
- this.service = this.bus.service(this.activeView);
163
- }
164
- isMonthView() {
165
- return this.activeView === CalendarViewEnum.month;
166
- }
167
- getCaptionTitle(date) {
168
- return this.service.title(date);
169
- }
170
- handleClassicCalendarFocus() {
171
- this.focusCalendar.emit();
172
- }
173
- handleClassicCalendarBlur(event) {
174
- this.blurCalendar.emit(event);
175
- }
176
- animateView(action) {
177
- const container = this.element.nativeElement;
178
- const table = container.querySelector('table');
179
- // the whole width excluding padding/margin
180
- const initialContainerWidth = parseFloat(getComputedStyle(container).width);
181
- // table width
182
- const tableWidth = parseFloat(getComputedStyle(table).width);
183
- this.renderer.setStyle(container, 'width', `${initialContainerWidth}px`);
184
- this.renderer.setStyle(container, 'overflow', 'visible');
185
- // initialize an additional view for the animation
186
- if (action === Action.NextView) {
187
- // animating Action.NextView requires adding an additional view before the rendered views
188
- this.nextAnimationDate = cloneDate(this.dates[0]);
189
- }
190
- else {
191
- // animating Action.PrevView requires adding an additional view after the rendered views
192
- this.prevAnimationDate = cloneDate(this.dates[this.dates.length - 1]);
193
- }
194
- // run cdr to render the additional view
195
- this.cdr.detectChanges();
196
- container.querySelectorAll('table').forEach(table => {
197
- this.renderer.setStyle(table, 'width', `${tableWidth}px`);
198
- });
199
- // we always slide by the width of 1 table
200
- // cross-browser compatibility is ensured by measuring the client rectangle and substracting the gap
201
- const tabRect = table.getBoundingClientRect();
202
- const containerGap = parseFloat(getComputedStyle(container).columnGap);
203
- const start = action === Action.NextView ? 'translateX(0)' : `translateX(-${tabRect.width + containerGap}px)`;
204
- const end = action === Action.NextView ? `translateX(-${tabRect.width + containerGap}px)` : 'translateX(0)';
205
- if (!this.animation) {
206
- this.animation = container.animate([
207
- { transform: start },
208
- { transform: end }
209
- ], {
210
- duration: 500,
211
- easing: 'ease-out'
212
- });
213
- this.animation.oncancel = this.animation.onfinish = () => {
214
- // clear all inline styles
215
- this.renderer.removeStyle(container, 'width');
216
- this.renderer.removeStyle(container, 'overflow');
217
- container.querySelectorAll('table').forEach(table => {
218
- this.renderer.removeStyle(table, 'width');
219
- });
220
- // clear the animation and the animation view
221
- this.animation = null;
222
- this.nextAnimationDate = null;
223
- this.prevAnimationDate = null;
224
- // run cdr to remove additional animation view from the markup
225
- this.cdr.detectChanges();
226
- };
227
- }
228
- else {
229
- // if animation is already running, cancel it and show the end navigation result on multiple prev/next button clicks
230
- this.animation.cancel();
231
- }
232
- }
233
- navigate(action) {
234
- if (this.animateNavigation && isDocumentAvailable() && isPresent(this.element.nativeElement.animate)) {
235
- this.animateView(action);
236
- }
237
- const candidate = this.move(action);
238
- const list = this.service.datesList(candidate, this.getTake(this.skip));
239
- if (this.isListInRange(list)) {
240
- this.dates = list;
241
- }
242
- this.activeDate = cloneDate(this.dates[0]);
243
- this.focusedDate = cloneDate(candidate);
244
- this.cdr.markForCheck();
245
- this.activeDateChange.emit(this.activeDate);
246
- return cloneDate(candidate);
247
- }
248
- canNavigate(action) {
249
- if (!this.service) {
250
- return false;
251
- }
252
- return this.isListInRange(this.service.datesList(this.move(action), this.getTake(this.skip)));
253
- }
254
- getWeekNames(type) {
255
- const weekNames = shiftWeekNames(this.intl.dateFormatNames({ nameType: type, type: 'days' }), this.intl.firstDay());
256
- return this.weekNumber ? [''].concat(weekNames) : weekNames;
257
- }
258
- intlChange() {
259
- this.weekNames = this.getWeekNames(this.weekDaysFormat);
260
- this.wideWeekNames = this.getWeekNames('wide');
261
- this.cdr.markForCheck();
262
- }
263
- clampDate(value) {
264
- return dateInRange(value, this.min, this.max);
265
- }
266
- move(action) {
267
- return this.service.move(this.dates[0] || this.focusedDate, action);
268
- }
269
- isListInRange(list) {
270
- const lowerBound = this.service.beginningOfPeriod(this.min);
271
- const upperBound = this.service.beginningOfPeriod(this.service.addToDate(this.max, 1));
272
- return lowerBound <= list[0] && list[list.length - 1] < upperBound;
273
- }
274
- isInDates(value) {
275
- return this.service.isInArray(value, this.dates);
276
- }
277
- getTake(skip) {
278
- return Math.min(this.total - skip, this.views);
279
- }
280
- setAriaActivedescendant() {
281
- if (this.views >= 2) {
282
- this.renderer.setAttribute(this.element.nativeElement, attributeNames.ariaActiveDescendant, this.activeDescendant);
283
- }
284
- }
285
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HorizontalViewListComponent, deps: [{ token: i1.BusViewService }, { token: i2.IntlService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
286
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: HorizontalViewListComponent, isStandalone: true, selector: "kendo-calendar-horizontal", inputs: { showOtherMonthDays: "showOtherMonthDays", cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", allowReverse: "allowReverse", activeRangeEnd: "activeRangeEnd", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectionRange: "selectionRange", selectedDates: "selectedDates", views: "views", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", orientation: "orientation", activeDescendant: "activeDescendant", tabIndex: "tabIndex", disabled: "disabled", id: "id", weekDaysFormat: "weekDaysFormat", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", activeDateChange: "activeDateChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { listeners: { "focus": "handleMultiViewCalendarFocus()", "blur": "handleMultiViewCalendarBlur($event)" }, properties: { "class.k-calendar-view": "this.getComponentClass", "class.k-align-items-start": "this.getComponentClass", "class.k-justify-content-center": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass", "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, usesOnChanges: true, ngImport: i0, template: `
287
- <ng-template #tableTemplate let-date="date" let-class="className">
288
- <table
289
- [attr.role]="views >= 2 ? 'none' : 'grid'"
290
- class="k-calendar-table"
291
- [ngClass]="class"
292
- [attr.aria-labelledby]="id"
293
- [attr.aria-activedescendant]="getActiveDescendant"
294
- [attr.tabindex]="getTabIndex"
295
- (focus)="handleClassicCalendarFocus()"
296
- (blur)="handleClassicCalendarBlur($event)"
297
- >
298
- @if (showViewHeader) {
299
- <caption class="k-calendar-caption">{{ getCaptionTitle(date) }}</caption>
300
- }
301
- @if (isMonthView()) {
302
- <thead class="k-calendar-thead" role="rowgroup">
303
- <tr class="k-calendar-tr" role="row">
304
- @for (name of weekNames; track $index; let i = $index) {
305
- <th
306
- class="k-calendar-th"
307
- scope="col"
308
- [attr.aria-label]="wideWeekNames[i]"
309
- role="columnheader"
310
- >{{name}}</th>
311
- }
312
- </tr>
313
- </thead>
314
- }
315
- <tbody
316
- class="k-calendar-tbody"
317
- kendoCalendarView
318
- [allowReverse]="allowReverse"
319
- [showOtherMonthDays]="showOtherMonthDays"
320
- role="rowgroup"
321
- direction="horizontal"
322
- [activeView]="activeView"
323
- [isActive]="isActive"
324
- [min]="min"
325
- [max]="max"
326
- [cellUID]="cellUID"
327
- [focusedDate]="focusedDate"
328
- [selectedDates]="selectedDates"
329
- [selectionRange]="selectionRange"
330
- [activeRangeEnd]="activeRangeEnd"
331
- [weekNumber]="weekNumber"
332
- [templateRef]="cellTemplateRef"
333
- [weekNumberTemplateRef]="weekNumberTemplateRef"
334
- [viewDate]="date"
335
- (cellClick)="cellClick.emit($event)"
336
- (weekNumberCellClick)="weekNumberCellClick.emit($event)"
337
- (cellEnter)="cellEnter.emit($event)"
338
- (cellLeave)="cellLeave.emit($event)"
339
- (focusedCellId)="focusedCellChange.emit($event)"
340
- >
341
- </tbody>
342
- </table>
343
- </ng-template>
344
-
345
- <!-- When Next is clicked a placeholder table is rendered before the Main Table -->
346
- @if (nextAnimationDate) {
347
- <ng-template
348
- [ngTemplateOutlet]="tableTemplate"
349
- [ngTemplateOutletContext]="{
350
- date: nextAnimationDate,
351
- className: 'k-pointer-events-none'
352
- }"
353
- >
354
- </ng-template>
355
- }
356
-
357
- <ng-template
358
- *kFor="let date of dates"
359
- [ngTemplateOutlet]="tableTemplate"
360
- [ngTemplateOutletContext]="{
361
- date: date
362
- }"
363
- >
364
- </ng-template>
365
-
366
- <!-- When Prev is clicked a placeholder table is rendered after the Main Table -->
367
- @if (prevAnimationDate) {
368
- <ng-template
369
- [ngTemplateOutlet]="tableTemplate"
370
- [ngTemplateOutletContext]="{
371
- date: prevAnimationDate,
372
- className: 'k-pointer-events-none'
373
- }"
374
- >
375
- </ng-template>
376
- }
377
- `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ViewComponent, selector: "[kendoCalendarView]", inputs: ["allowReverse", "showOtherMonthDays", "direction", "isActive", "activeView", "cellUID", "focusedDate", "viewDate", "activeRangeEnd", "selectionRange", "min", "max", "selectedDates", "weekNumber", "viewIndex", "templateRef", "weekNumberTemplateRef", "headerTitle"], outputs: ["cellClick", "weekNumberCellClick", "cellEnter", "cellLeave", "focusedCellId"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: KForOf, selector: "[kFor][kForOf]", inputs: ["kForOf", "kForTrackBy", "kForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
378
- }
379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HorizontalViewListComponent, decorators: [{
380
- type: Component,
381
- args: [{
382
- changeDetection: ChangeDetectionStrategy.OnPush,
383
- selector: 'kendo-calendar-horizontal',
384
- template: `
385
- <ng-template #tableTemplate let-date="date" let-class="className">
386
- <table
387
- [attr.role]="views >= 2 ? 'none' : 'grid'"
388
- class="k-calendar-table"
389
- [ngClass]="class"
390
- [attr.aria-labelledby]="id"
391
- [attr.aria-activedescendant]="getActiveDescendant"
392
- [attr.tabindex]="getTabIndex"
393
- (focus)="handleClassicCalendarFocus()"
394
- (blur)="handleClassicCalendarBlur($event)"
395
- >
396
- @if (showViewHeader) {
397
- <caption class="k-calendar-caption">{{ getCaptionTitle(date) }}</caption>
398
- }
399
- @if (isMonthView()) {
400
- <thead class="k-calendar-thead" role="rowgroup">
401
- <tr class="k-calendar-tr" role="row">
402
- @for (name of weekNames; track $index; let i = $index) {
403
- <th
404
- class="k-calendar-th"
405
- scope="col"
406
- [attr.aria-label]="wideWeekNames[i]"
407
- role="columnheader"
408
- >{{name}}</th>
409
- }
410
- </tr>
411
- </thead>
412
- }
413
- <tbody
414
- class="k-calendar-tbody"
415
- kendoCalendarView
416
- [allowReverse]="allowReverse"
417
- [showOtherMonthDays]="showOtherMonthDays"
418
- role="rowgroup"
419
- direction="horizontal"
420
- [activeView]="activeView"
421
- [isActive]="isActive"
422
- [min]="min"
423
- [max]="max"
424
- [cellUID]="cellUID"
425
- [focusedDate]="focusedDate"
426
- [selectedDates]="selectedDates"
427
- [selectionRange]="selectionRange"
428
- [activeRangeEnd]="activeRangeEnd"
429
- [weekNumber]="weekNumber"
430
- [templateRef]="cellTemplateRef"
431
- [weekNumberTemplateRef]="weekNumberTemplateRef"
432
- [viewDate]="date"
433
- (cellClick)="cellClick.emit($event)"
434
- (weekNumberCellClick)="weekNumberCellClick.emit($event)"
435
- (cellEnter)="cellEnter.emit($event)"
436
- (cellLeave)="cellLeave.emit($event)"
437
- (focusedCellId)="focusedCellChange.emit($event)"
438
- >
439
- </tbody>
440
- </table>
441
- </ng-template>
442
-
443
- <!-- When Next is clicked a placeholder table is rendered before the Main Table -->
444
- @if (nextAnimationDate) {
445
- <ng-template
446
- [ngTemplateOutlet]="tableTemplate"
447
- [ngTemplateOutletContext]="{
448
- date: nextAnimationDate,
449
- className: 'k-pointer-events-none'
450
- }"
451
- >
452
- </ng-template>
453
- }
454
-
455
- <ng-template
456
- *kFor="let date of dates"
457
- [ngTemplateOutlet]="tableTemplate"
458
- [ngTemplateOutletContext]="{
459
- date: date
460
- }"
461
- >
462
- </ng-template>
463
-
464
- <!-- When Prev is clicked a placeholder table is rendered after the Main Table -->
465
- @if (prevAnimationDate) {
466
- <ng-template
467
- [ngTemplateOutlet]="tableTemplate"
468
- [ngTemplateOutletContext]="{
469
- date: prevAnimationDate,
470
- className: 'k-pointer-events-none'
471
- }"
472
- >
473
- </ng-template>
474
- }
475
- `,
476
- standalone: true,
477
- imports: [NgClass, ViewComponent, NgTemplateOutlet, KForOf]
478
- }]
479
- }], ctorParameters: () => [{ type: i1.BusViewService }, { type: i2.IntlService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { handleMultiViewCalendarFocus: [{
480
- type: HostListener,
481
- args: ["focus"]
482
- }], handleMultiViewCalendarBlur: [{
483
- type: HostListener,
484
- args: ["blur", ['$event']]
485
- }], showOtherMonthDays: [{
486
- type: Input
487
- }], cellTemplateRef: [{
488
- type: Input
489
- }], weekNumberTemplateRef: [{
490
- type: Input
491
- }], allowReverse: [{
492
- type: Input
493
- }], activeRangeEnd: [{
494
- type: Input
495
- }], activeView: [{
496
- type: Input
497
- }], cellUID: [{
498
- type: Input
499
- }], focusedDate: [{
500
- type: Input
501
- }], isActive: [{
502
- type: Input
503
- }], min: [{
504
- type: Input
505
- }], max: [{
506
- type: Input
507
- }], selectionRange: [{
508
- type: Input
509
- }], selectedDates: [{
510
- type: Input
511
- }], views: [{
512
- type: Input
513
- }], showViewHeader: [{
514
- type: Input
515
- }], animateNavigation: [{
516
- type: Input
517
- }], orientation: [{
518
- type: Input
519
- }], activeDescendant: [{
520
- type: Input
521
- }], tabIndex: [{
522
- type: Input
523
- }], disabled: [{
524
- type: Input
525
- }], id: [{
526
- type: Input
527
- }], weekDaysFormat: [{
528
- type: Input
529
- }], weekNumber: [{
530
- type: Input
531
- }], cellClick: [{
532
- type: Output
533
- }], weekNumberCellClick: [{
534
- type: Output
535
- }], cellEnter: [{
536
- type: Output
537
- }], cellLeave: [{
538
- type: Output
539
- }], activeDateChange: [{
540
- type: Output
541
- }], focusCalendar: [{
542
- type: Output
543
- }], blurCalendar: [{
544
- type: Output
545
- }], focusedCellChange: [{
546
- type: Output
547
- }], getComponentClass: [{
548
- type: HostBinding,
549
- args: ["class.k-calendar-view"]
550
- }, {
551
- type: HostBinding,
552
- args: ["class.k-align-items-start"]
553
- }, {
554
- type: HostBinding,
555
- args: ["class.k-justify-content-center"]
556
- }], horizontalHostClass: [{
557
- type: HostBinding,
558
- args: ["class.k-hstack"]
559
- }], verticalHostClass: [{
560
- type: HostBinding,
561
- args: ["class.k-vstack"]
562
- }], getComponentMonthClass: [{
563
- type: HostBinding,
564
- args: ["class.k-calendar-monthview"]
565
- }], getComponentYearClass: [{
566
- type: HostBinding,
567
- args: ["class.k-calendar-yearview"]
568
- }], getComponentDecadeClass: [{
569
- type: HostBinding,
570
- args: ["class.k-calendar-decadeview"]
571
- }], getComponentCenturyClass: [{
572
- type: HostBinding,
573
- args: ["class.k-calendar-centuryview"]
574
- }], role: [{
575
- type: HostBinding,
576
- args: ['attr.role']
577
- }], tabindex: [{
578
- type: HostBinding,
579
- args: ['attr.tabindex']
580
- }] } });
@@ -1,51 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, forwardRef } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { CalendarMessages } from './calendar-messages';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@progress/kendo-angular-l10n";
10
- /**
11
- * A component that allows customization of Calendar localization messages.
12
- *
13
- * @example
14
- * ```html
15
- * <kendo-calendar-messages prevButtonTitle="Previous">
16
- * </kendo-calendar-messages>
17
- * ```
18
- *
19
- * For more information, see the [globalization documentation]({% slug globalization_dateinputs %}#toc-custom-messages).
20
- */
21
- export class CalendarCustomMessagesComponent extends CalendarMessages {
22
- service;
23
- constructor(service) {
24
- super();
25
- this.service = service;
26
- }
27
- get override() {
28
- return true;
29
- }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CalendarCustomMessagesComponent, isStandalone: true, selector: "kendo-calendar-messages", providers: [
32
- {
33
- provide: CalendarMessages,
34
- useExisting: forwardRef(() => CalendarCustomMessagesComponent)
35
- }
36
- ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarCustomMessagesComponent, decorators: [{
39
- type: Component,
40
- args: [{
41
- providers: [
42
- {
43
- provide: CalendarMessages,
44
- useExisting: forwardRef(() => CalendarCustomMessagesComponent)
45
- }
46
- ],
47
- selector: 'kendo-calendar-messages',
48
- template: ``,
49
- standalone: true
50
- }]
51
- }], ctorParameters: () => [{ type: i1.LocalizationService }] });
@@ -1,39 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, forwardRef } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { CalendarMessages } from './calendar-messages';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@progress/kendo-angular-l10n";
10
- /**
11
- * @hidden
12
- */
13
- export class CalendarLocalizedMessagesDirective extends CalendarMessages {
14
- service;
15
- constructor(service) {
16
- super();
17
- this.service = service;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarLocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CalendarLocalizedMessagesDirective, isStandalone: true, selector: "[kendoCalendarLocalizedMessages]", providers: [
21
- {
22
- provide: CalendarMessages,
23
- useExisting: forwardRef(() => CalendarLocalizedMessagesDirective)
24
- }
25
- ], usesInheritance: true, ngImport: i0 });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarLocalizedMessagesDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- providers: [
31
- {
32
- provide: CalendarMessages,
33
- useExisting: forwardRef(() => CalendarLocalizedMessagesDirective)
34
- }
35
- ],
36
- selector: '[kendoCalendarLocalizedMessages]',
37
- standalone: true
38
- }]
39
- }], ctorParameters: () => [{ type: i1.LocalizationService }] });