@progress/kendo-angular-dateinputs 16.0.0-develop.9 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/calendar/calendar.component.d.ts +43 -8
  2. package/calendar/header.component.d.ts +3 -2
  3. package/calendar/horizontal-view-list.component.d.ts +4 -3
  4. package/calendar/models/cell-context.interface.d.ts +4 -0
  5. package/calendar/models/selection-range.interface.d.ts +2 -2
  6. package/calendar/models/selection.d.ts +11 -1
  7. package/calendar/multiview-calendar.component.d.ts +58 -8
  8. package/calendar/view-list.component.d.ts +9 -1
  9. package/calendar/view.component.d.ts +2 -1
  10. package/common/utils.d.ts +4 -0
  11. package/dateinput/dateinput.component.d.ts +13 -1
  12. package/dateinput/localization/messages.d.ts +5 -1
  13. package/datepicker/datepicker.component.d.ts +7 -2
  14. package/datepicker/localization/messages.d.ts +5 -1
  15. package/daterange/date-range-popup.component.d.ts +30 -2
  16. package/daterange/date-range.component.d.ts +16 -1
  17. package/datetimepicker/datetimepicker.component.d.ts +12 -1
  18. package/datetimepicker/localization/messages.d.ts +5 -1
  19. package/esm2020/calendar/calendar-common.module.mjs +4 -4
  20. package/esm2020/calendar/calendar.component.mjs +258 -60
  21. package/esm2020/calendar/calendar.module.mjs +4 -4
  22. package/esm2020/calendar/calendars.module.mjs +4 -4
  23. package/esm2020/calendar/footer.component.mjs +3 -3
  24. package/esm2020/calendar/for.directive.mjs +3 -3
  25. package/esm2020/calendar/header.component.mjs +41 -23
  26. package/esm2020/calendar/horizontal-view-list.component.mjs +13 -9
  27. package/esm2020/calendar/localization/calendar-custom-messages.component.mjs +3 -3
  28. package/esm2020/calendar/localization/calendar-localized-messages.directive.mjs +3 -3
  29. package/esm2020/calendar/localization/calendar-messages.mjs +3 -3
  30. package/esm2020/calendar/localization/multiview-calendar-custom-messages.component.mjs +3 -3
  31. package/esm2020/calendar/localization/multiview-calendar-localized-messages.directive.mjs +3 -3
  32. package/esm2020/calendar/localization/multiview-calendar-messages.mjs +3 -3
  33. package/esm2020/calendar/models/selection.mjs +35 -1
  34. package/esm2020/calendar/multiview-calendar.component.mjs +276 -52
  35. package/esm2020/calendar/multiview-calendar.module.mjs +4 -4
  36. package/esm2020/calendar/navigation.component.mjs +3 -3
  37. package/esm2020/calendar/services/bus-view.service.mjs +3 -3
  38. package/esm2020/calendar/services/century-view.service.mjs +29 -8
  39. package/esm2020/calendar/services/decade-view.service.mjs +29 -8
  40. package/esm2020/calendar/services/disabled-dates.service.mjs +3 -3
  41. package/esm2020/calendar/services/dom.service.mjs +5 -5
  42. package/esm2020/calendar/services/month-view.service.mjs +29 -8
  43. package/esm2020/calendar/services/navigation.service.mjs +3 -3
  44. package/esm2020/calendar/services/scroll-sync.service.mjs +3 -3
  45. package/esm2020/calendar/services/selection.service.mjs +3 -3
  46. package/esm2020/calendar/services/weeknames.service.mjs +3 -3
  47. package/esm2020/calendar/services/year-view.service.mjs +29 -8
  48. package/esm2020/calendar/templates/cell-template.directive.mjs +3 -3
  49. package/esm2020/calendar/templates/century-cell-template.directive.mjs +3 -3
  50. package/esm2020/calendar/templates/decade-cell-template.directive.mjs +3 -3
  51. package/esm2020/calendar/templates/footer-template.directiv/320/265.mjs +3 -3
  52. package/esm2020/calendar/templates/header-template.directive.mjs +3 -3
  53. package/esm2020/calendar/templates/header-title-template.directive.mjs +3 -3
  54. package/esm2020/calendar/templates/month-cell-template.directive.mjs +3 -3
  55. package/esm2020/calendar/templates/navigation-item-template.directive.mjs +3 -3
  56. package/esm2020/calendar/templates/weeknumber-cell-template.directive.mjs +3 -3
  57. package/esm2020/calendar/templates/year-cell-template.directive.mjs +3 -3
  58. package/esm2020/calendar/templates.module.mjs +4 -4
  59. package/esm2020/calendar/view-list.component.mjs +26 -5
  60. package/esm2020/calendar/view.component.mjs +8 -5
  61. package/esm2020/common/adaptive.module.mjs +4 -4
  62. package/esm2020/common/utils.mjs +5 -1
  63. package/esm2020/dateinput/dateinput.component.mjs +65 -4
  64. package/esm2020/dateinput/dateinput.module.mjs +4 -4
  65. package/esm2020/dateinput/localization/dateinput-custom-messages.component.mjs +3 -3
  66. package/esm2020/dateinput/localization/dateinput-localized-messages.directive.mjs +3 -3
  67. package/esm2020/dateinput/localization/messages.mjs +5 -3
  68. package/esm2020/dateinputs.module.mjs +4 -4
  69. package/esm2020/datepicker/datepicker.component.mjs +43 -18
  70. package/esm2020/datepicker/datepicker.module.mjs +4 -4
  71. package/esm2020/datepicker/localization/datepicker-custom-messages.component.mjs +3 -3
  72. package/esm2020/datepicker/localization/datepicker-localized-messages.directive.mjs +3 -3
  73. package/esm2020/datepicker/localization/messages.mjs +5 -3
  74. package/esm2020/daterange/date-range-end-input.directive.mjs +3 -3
  75. package/esm2020/daterange/date-range-input.mjs +3 -3
  76. package/esm2020/daterange/date-range-popup-template.directive.mjs +3 -3
  77. package/esm2020/daterange/date-range-popup.component.mjs +70 -13
  78. package/esm2020/daterange/date-range-selection.directive.mjs +3 -3
  79. package/esm2020/daterange/date-range-start-input.directive.mjs +3 -3
  80. package/esm2020/daterange/date-range.component.mjs +10 -8
  81. package/esm2020/daterange/date-range.module.mjs +4 -4
  82. package/esm2020/daterange/date-range.service.mjs +3 -3
  83. package/esm2020/daterange/localization/daterange-popup-custom-messages.component.mjs +3 -3
  84. package/esm2020/daterange/localization/daterange-popup-localized-messages.directive.mjs +3 -3
  85. package/esm2020/daterange/localization/messages.mjs +3 -3
  86. package/esm2020/datetimepicker/datetimepicker.component.mjs +54 -16
  87. package/esm2020/datetimepicker/datetimepicker.module.mjs +4 -4
  88. package/esm2020/datetimepicker/localization/datetimepicker-custom-messages.component.mjs +3 -3
  89. package/esm2020/datetimepicker/localization/localized-messages.directive.mjs +3 -3
  90. package/esm2020/datetimepicker/localization/messages.mjs +5 -3
  91. package/esm2020/package-metadata.mjs +2 -2
  92. package/esm2020/timepicker/localization/messages.mjs +5 -3
  93. package/esm2020/timepicker/localization/timepicker-custom-messages.component.mjs +3 -3
  94. package/esm2020/timepicker/localization/timepicker-localized-messages.directive.mjs +3 -3
  95. package/esm2020/timepicker/localization/timeselector-custom-messages.component.mjs +3 -3
  96. package/esm2020/timepicker/localization/timeselector-localized-messages.directive.mjs +3 -3
  97. package/esm2020/timepicker/services/dayperiod.service.mjs +3 -3
  98. package/esm2020/timepicker/services/dom.service.mjs +3 -3
  99. package/esm2020/timepicker/services/hours.service.mjs +3 -3
  100. package/esm2020/timepicker/services/milliseconds.service.mjs +3 -3
  101. package/esm2020/timepicker/services/minutes.service.mjs +3 -3
  102. package/esm2020/timepicker/services/seconds.service.mjs +3 -3
  103. package/esm2020/timepicker/timelist.component.mjs +3 -3
  104. package/esm2020/timepicker/timepicker.component.mjs +41 -13
  105. package/esm2020/timepicker/timepicker.module.mjs +4 -4
  106. package/esm2020/timepicker/timeselector.component.mjs +24 -9
  107. package/esm2020/virtualization/virtualization.component.mjs +3 -3
  108. package/esm2020/virtualization/virtualization.module.mjs +4 -4
  109. package/fesm2015/progress-kendo-angular-dateinputs.mjs +1344 -508
  110. package/fesm2020/progress-kendo-angular-dateinputs.mjs +1329 -507
  111. package/package.json +9 -9
  112. package/schematics/ngAdd/index.js +1 -1
  113. package/timepicker/localization/messages.d.ts +5 -1
  114. package/timepicker/timepicker.component.d.ts +7 -1
  115. package/timepicker/timeselector.component.d.ts +2 -1
@@ -8,8 +8,8 @@ import { NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl } from '@angular/forms';
8
8
  import * as i1$1 from '@progress/kendo-angular-l10n';
9
9
  import { ComponentMessages, LocalizationService, L10N_PREFIX, RTL } from '@progress/kendo-angular-l10n';
10
10
  import { cloneDate, MS_PER_HOUR, MS_PER_MINUTE, addDays, getDate, isEqual, addDecades, addCenturies, firstDecadeOfCentury, lastDecadeOfCentury, firstYearOfDecade, createDate, lastYearOfDecade, lastMonthOfYear, lastDayOfMonth, durationInCenturies, addYears, durationInDecades, addWeeks, addMonths, firstDayOfMonth, dayOfWeek, durationInMonths, firstMonthOfYear, durationInYears, weekInYear } from '@progress/kendo-date-math';
11
- import * as i12 from '@progress/kendo-angular-common';
12
- import { isDocumentAvailable, guid, Keys as Keys$1, hasObservers, KendoInput, isObjectPresent, removeHTMLAttributes, parseAttributes, isControlRequired, setHTMLAttributes, EventsModule, ResizeSensorModule, ToggleButtonTabStopModule } from '@progress/kendo-angular-common';
11
+ import * as i1$2 from '@progress/kendo-angular-common';
12
+ import { isDocumentAvailable, guid, Keys as Keys$1, hasObservers, isObject, KendoInput, isObjectPresent, removeHTMLAttributes, parseAttributes, isControlRequired, setHTMLAttributes, EventsModule, ResizeSensorModule, ToggleButtonTabStopModule } from '@progress/kendo-angular-common';
13
13
  export { ToggleButtonTabStopDirective } from '@progress/kendo-angular-common';
14
14
  import { validatePackage } from '@progress/kendo-licensing';
15
15
  import * as i1 from '@progress/kendo-angular-intl';
@@ -17,16 +17,16 @@ import { localeData, IntlModule } from '@progress/kendo-angular-intl';
17
17
  import * as i4 from '@angular/common';
18
18
  import { CommonModule } from '@angular/common';
19
19
  import { Subject, Subscription, ReplaySubject, Observable, combineLatest, of, interval, animationFrameScheduler, fromEvent, EMPTY, from, BehaviorSubject, merge } from 'rxjs';
20
- import { chevronRightIcon, chevronLeftIcon, caretAltUpIcon, caretAltDownIcon, calendarIcon, xIcon, clockIcon } from '@progress/kendo-svg-icons';
20
+ import { chevronRightIcon, chevronLeftIcon, caretAltUpIcon, xIcon, caretAltDownIcon, calendarIcon, clockIcon } from '@progress/kendo-svg-icons';
21
21
  import * as i7 from '@progress/kendo-angular-buttons';
22
22
  import { ButtonModule } from '@progress/kendo-angular-buttons';
23
23
  import { map, scan, takeWhile, debounceTime, tap, filter } from 'rxjs/operators';
24
24
  import { DateInput } from '@progress/kendo-dateinputs-common';
25
25
  import * as i6 from '@progress/kendo-angular-icons';
26
26
  import { IconsModule } from '@progress/kendo-angular-icons';
27
- import * as i1$2 from '@progress/kendo-angular-popup';
27
+ import * as i1$3 from '@progress/kendo-angular-popup';
28
28
  import { PopupModule } from '@progress/kendo-angular-popup';
29
- import * as i11 from '@progress/kendo-angular-navigation';
29
+ import * as i12 from '@progress/kendo-angular-navigation';
30
30
  import { NavigationModule } from '@progress/kendo-angular-navigation';
31
31
  import { touchEnabled } from '@progress/kendo-common';
32
32
  import { TextBoxModule } from '@progress/kendo-angular-inputs';
@@ -38,8 +38,8 @@ const packageMetadata = {
38
38
  name: '@progress/kendo-angular-dateinputs',
39
39
  productName: 'Kendo UI for Angular',
40
40
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
41
- publishDate: 1714370580,
42
- version: '16.0.0-develop.9',
41
+ publishDate: 1715701887,
42
+ version: '16.0.0',
43
43
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
44
44
  };
45
45
 
@@ -103,6 +103,10 @@ const currentFocusTarget = (blurArgs) => blurArgs.relatedTarget || document.acti
103
103
  * @hidden
104
104
  */
105
105
  const isPresent = (value) => value !== undefined && value !== null;
106
+ /**
107
+ * @hidden
108
+ */
109
+ const isNullOrDate = (value) => value === null || value instanceof Date;
106
110
  /**
107
111
  * @hidden
108
112
  */
@@ -141,7 +145,7 @@ var Keys;
141
145
  */
142
146
  const selectors = {
143
147
  infiniteCalendarTable: '.k-content .k-calendar-table',
144
- multiViewCalendarTable: '.k-content.k-calendar-table'
148
+ multiViewCalendarTable: '.k-calendar-table'
145
149
  };
146
150
  /**
147
151
  * @hidden
@@ -630,7 +634,7 @@ class CenturyViewService {
630
634
  return range(0, count).map(i => addCenturies(start, i));
631
635
  }
632
636
  data(options) {
633
- const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate } = options;
637
+ const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, allowReverse } = options;
634
638
  if (!viewDate) {
635
639
  return EMPTY_DATA$3;
636
640
  }
@@ -646,10 +650,30 @@ class CenturyViewService {
646
650
  if (!this.isInRange(cellDate, min, max) || nextCentury) {
647
651
  return null;
648
652
  }
649
- const isRangeStart = this.isEqual(cellDate, selectionRange.start);
650
- const isRangeEnd = this.isEqual(cellDate, selectionRange.end);
653
+ let isRangeStart = false;
654
+ let isRangeEnd = false;
655
+ if (allowReverse) {
656
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start <= selectionRange.end) ||
657
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end <= selectionRange.start)) {
658
+ isRangeStart = true;
659
+ }
660
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start >= selectionRange.end) ||
661
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end >= selectionRange.start)) {
662
+ isRangeEnd = true;
663
+ }
664
+ }
665
+ else {
666
+ isRangeStart = this.isEqual(cellDate, selectionRange.start);
667
+ isRangeEnd = this.isEqual(cellDate, selectionRange.end);
668
+ }
651
669
  const isInMiddle = !isRangeStart && !isRangeEnd;
652
- const isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
670
+ let isRangeMid;
671
+ if (allowReverse) {
672
+ isRangeMid = isInMiddle && (isInSelectionRange(cellDate, selectionRange) || isInSelectionRange(cellDate, { start: selectionRange.end, end: selectionRange.start }));
673
+ }
674
+ else {
675
+ isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
676
+ }
653
677
  return {
654
678
  formattedValue: this.value(cellDate),
655
679
  id: `${cellUID}${cellDate.getTime()}`,
@@ -663,7 +687,8 @@ class CenturyViewService {
663
687
  isRangeSplitStart: isRangeMid && this.isEqual(cellDate, firstDate),
664
688
  isToday: this.isEqual(cellDate, today),
665
689
  title: this.cellTitle(cellDate),
666
- value: cellDate
690
+ value: cellDate,
691
+ allowReverse: allowReverse
667
692
  };
668
693
  });
669
694
  });
@@ -752,9 +777,9 @@ class CenturyViewService {
752
777
  return cellDate;
753
778
  }
754
779
  }
755
- CenturyViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CenturyViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
756
- CenturyViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CenturyViewService });
757
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CenturyViewService, decorators: [{
780
+ CenturyViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CenturyViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
781
+ CenturyViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CenturyViewService });
782
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CenturyViewService, decorators: [{
758
783
  type: Injectable
759
784
  }] });
760
785
 
@@ -816,7 +841,7 @@ class DecadeViewService {
816
841
  return range(0, count).map(i => addDecades(start, i));
817
842
  }
818
843
  data(options) {
819
- const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate } = options;
844
+ const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, allowReverse } = options;
820
845
  if (!viewDate) {
821
846
  return EMPTY_DATA$2;
822
847
  }
@@ -832,10 +857,30 @@ class DecadeViewService {
832
857
  if (!this.isInRange(cellDate, min, max) || nextDecade) {
833
858
  return null;
834
859
  }
835
- const isRangeStart = this.isEqual(cellDate, selectionRange.start);
836
- const isRangeEnd = this.isEqual(cellDate, selectionRange.end);
860
+ let isRangeStart = false;
861
+ let isRangeEnd = false;
862
+ if (allowReverse) {
863
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start <= selectionRange.end) ||
864
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end <= selectionRange.start)) {
865
+ isRangeStart = true;
866
+ }
867
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start >= selectionRange.end) ||
868
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end >= selectionRange.start)) {
869
+ isRangeEnd = true;
870
+ }
871
+ }
872
+ else {
873
+ isRangeStart = this.isEqual(cellDate, selectionRange.start);
874
+ isRangeEnd = this.isEqual(cellDate, selectionRange.end);
875
+ }
837
876
  const isInMiddle = !isRangeStart && !isRangeEnd;
838
- const isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
877
+ let isRangeMid;
878
+ if (allowReverse) {
879
+ isRangeMid = isInMiddle && (isInSelectionRange(cellDate, selectionRange) || isInSelectionRange(cellDate, { start: selectionRange.end, end: selectionRange.start }));
880
+ }
881
+ else {
882
+ isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
883
+ }
839
884
  return {
840
885
  formattedValue: this.value(cellDate),
841
886
  id: `${cellUID}${cellDate.getTime()}`,
@@ -849,7 +894,8 @@ class DecadeViewService {
849
894
  isRangeSplitStart: isRangeMid && this.isEqual(cellDate, firstDate),
850
895
  isToday: this.isEqual(cellDate, today),
851
896
  title: this.cellTitle(cellDate),
852
- value: cellDate
897
+ value: cellDate,
898
+ allowReverse: allowReverse
853
899
  };
854
900
  });
855
901
  });
@@ -937,9 +983,9 @@ class DecadeViewService {
937
983
  return cellDate;
938
984
  }
939
985
  }
940
- DecadeViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DecadeViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
941
- DecadeViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DecadeViewService });
942
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DecadeViewService, decorators: [{
986
+ DecadeViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecadeViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
987
+ DecadeViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecadeViewService });
988
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecadeViewService, decorators: [{
943
989
  type: Injectable
944
990
  }] });
945
991
 
@@ -982,7 +1028,7 @@ class MonthViewService {
982
1028
  return range(0, count).map(i => addMonths(start, i));
983
1029
  }
984
1030
  data(options) {
985
- const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, isDateDisabled = () => false } = options;
1031
+ const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, isDateDisabled = () => false, allowReverse } = options;
986
1032
  if (!viewDate) {
987
1033
  return EMPTY_DATA$1;
988
1034
  }
@@ -1004,10 +1050,30 @@ class MonthViewService {
1004
1050
  if (outOfRange) {
1005
1051
  return null;
1006
1052
  }
1007
- const isRangeStart = this.isEqual(cellDate, selectionRange.start);
1008
- const isRangeEnd = this.isEqual(cellDate, selectionRange.end);
1053
+ let isRangeStart = false;
1054
+ let isRangeEnd = false;
1055
+ if (allowReverse) {
1056
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start <= selectionRange.end) ||
1057
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end <= selectionRange.start)) {
1058
+ isRangeStart = true;
1059
+ }
1060
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start >= selectionRange.end) ||
1061
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end >= selectionRange.start)) {
1062
+ isRangeEnd = true;
1063
+ }
1064
+ }
1065
+ else {
1066
+ isRangeStart = this.isEqual(cellDate, selectionRange.start);
1067
+ isRangeEnd = this.isEqual(cellDate, selectionRange.end);
1068
+ }
1009
1069
  const isInMiddle = !isRangeStart && !isRangeEnd;
1010
- const isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
1070
+ let isRangeMid;
1071
+ if (allowReverse) {
1072
+ isRangeMid = isInMiddle && (isInSelectionRange(cellDate, selectionRange) || isInSelectionRange(cellDate, { start: selectionRange.end, end: selectionRange.start }));
1073
+ }
1074
+ else {
1075
+ isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
1076
+ }
1011
1077
  return {
1012
1078
  formattedValue: this.value(cellDate),
1013
1079
  id: `${cellUID}${otherMonth ? cellDate.getTime() + '1' : cellDate.getTime()}`,
@@ -1023,7 +1089,8 @@ class MonthViewService {
1023
1089
  title: this.cellTitle(cellDate),
1024
1090
  value: cellDate,
1025
1091
  isDisabled: isDateDisabled(cellDate),
1026
- isOtherMonth: otherMonth
1092
+ isOtherMonth: otherMonth,
1093
+ allowReverse: allowReverse
1027
1094
  };
1028
1095
  });
1029
1096
  });
@@ -1123,9 +1190,9 @@ class MonthViewService {
1123
1190
  return this._intlService.dateFormatNames({ nameType: 'wide', type: 'months' });
1124
1191
  }
1125
1192
  }
1126
- MonthViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MonthViewService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1127
- MonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MonthViewService });
1128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MonthViewService, decorators: [{
1193
+ MonthViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthViewService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1194
+ MonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthViewService });
1195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthViewService, decorators: [{
1129
1196
  type: Injectable
1130
1197
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
1131
1198
 
@@ -1168,7 +1235,7 @@ class YearViewService {
1168
1235
  return range(0, count).map(i => addYears(start, i));
1169
1236
  }
1170
1237
  data(options) {
1171
- const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate } = options;
1238
+ const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, allowReverse } = options;
1172
1239
  if (!viewDate) {
1173
1240
  return EMPTY_DATA;
1174
1241
  }
@@ -1186,10 +1253,30 @@ class YearViewService {
1186
1253
  if (!this.isInRange(cellDate, min, max) || changedYear) {
1187
1254
  return null;
1188
1255
  }
1189
- const isRangeStart = this.isEqual(cellDate, selectionRange.start);
1190
- const isRangeEnd = this.isEqual(cellDate, selectionRange.end);
1256
+ let isRangeStart = false;
1257
+ let isRangeEnd = false;
1258
+ if (allowReverse) {
1259
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start <= selectionRange.end) ||
1260
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end <= selectionRange.start)) {
1261
+ isRangeStart = true;
1262
+ }
1263
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start >= selectionRange.end) ||
1264
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end >= selectionRange.start)) {
1265
+ isRangeEnd = true;
1266
+ }
1267
+ }
1268
+ else {
1269
+ isRangeStart = this.isEqual(cellDate, selectionRange.start);
1270
+ isRangeEnd = this.isEqual(cellDate, selectionRange.end);
1271
+ }
1191
1272
  const isInMiddle = !isRangeStart && !isRangeEnd;
1192
- const isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
1273
+ let isRangeMid;
1274
+ if (allowReverse) {
1275
+ isRangeMid = isInMiddle && (isInSelectionRange(cellDate, selectionRange) || isInSelectionRange(cellDate, { start: selectionRange.end, end: selectionRange.start }));
1276
+ }
1277
+ else {
1278
+ isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
1279
+ }
1193
1280
  return {
1194
1281
  formattedValue: months[cellDate.getMonth()],
1195
1282
  id: `${cellUID}${cellDate.getTime()}`,
@@ -1203,7 +1290,8 @@ class YearViewService {
1203
1290
  isRangeSplitStart: isRangeMid && this.isEqual(cellDate, firstDate),
1204
1291
  isToday: this.isEqual(cellDate, today),
1205
1292
  title: this.cellTitle(cellDate),
1206
- value: cellDate
1293
+ value: cellDate,
1294
+ allowReverse: allowReverse
1207
1295
  };
1208
1296
  });
1209
1297
  });
@@ -1290,9 +1378,9 @@ class YearViewService {
1290
1378
  return cellDate;
1291
1379
  }
1292
1380
  }
1293
- YearViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: YearViewService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1294
- YearViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: YearViewService });
1295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: YearViewService, decorators: [{
1381
+ YearViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: YearViewService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1382
+ YearViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: YearViewService });
1383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: YearViewService, decorators: [{
1296
1384
  type: Injectable
1297
1385
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
1298
1386
 
@@ -1374,9 +1462,9 @@ class BusViewService {
1374
1462
  this.viewChanged.emit({ view: candidate });
1375
1463
  }
1376
1464
  }
1377
- BusViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BusViewService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1378
- BusViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BusViewService });
1379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BusViewService, decorators: [{
1465
+ BusViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BusViewService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1466
+ BusViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BusViewService });
1467
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BusViewService, decorators: [{
1380
1468
  type: Injectable
1381
1469
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
1382
1470
 
@@ -1392,9 +1480,9 @@ class WeekNamesService {
1392
1480
  return includeWeekNumber ? [''].concat(weekNames) : weekNames;
1393
1481
  }
1394
1482
  }
1395
- WeekNamesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WeekNamesService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1396
- WeekNamesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WeekNamesService });
1397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WeekNamesService, decorators: [{
1483
+ WeekNamesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WeekNamesService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1484
+ WeekNamesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WeekNamesService });
1485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WeekNamesService, decorators: [{
1398
1486
  type: Injectable
1399
1487
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
1400
1488
 
@@ -1477,9 +1565,9 @@ class KForOf {
1477
1565
  }
1478
1566
  }
1479
1567
  }
1480
- KForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: KForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
1481
- KForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: KForOf, selector: "[kFor][kForOf]", inputs: { kForOf: "kForOf", kForTrackBy: "kForTrackBy", kForTemplate: "kForTemplate" }, usesOnChanges: true, ngImport: i0 });
1482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: KForOf, decorators: [{
1568
+ KForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });
1569
+ KForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: KForOf, selector: "[kFor][kForOf]", inputs: { kForOf: "kForOf", kForTrackBy: "kForTrackBy", kForTemplate: "kForTemplate" }, usesOnChanges: true, ngImport: i0 });
1570
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KForOf, decorators: [{
1483
1571
  type: Directive,
1484
1572
  args: [{ selector: '[kFor][kForOf]' }]
1485
1573
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }]; }, propDecorators: { kForOf: [{
@@ -1550,9 +1638,9 @@ class DisabledDatesService {
1550
1638
  this.changes.next();
1551
1639
  }
1552
1640
  }
1553
- DisabledDatesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DisabledDatesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1554
- DisabledDatesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DisabledDatesService });
1555
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DisabledDatesService, decorators: [{
1641
+ DisabledDatesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisabledDatesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1642
+ DisabledDatesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisabledDatesService });
1643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisabledDatesService, decorators: [{
1556
1644
  type: Injectable
1557
1645
  }] });
1558
1646
 
@@ -1727,7 +1815,8 @@ class ViewComponent {
1727
1815
  selectionRange: this.selectionRange,
1728
1816
  viewDate: viewDate,
1729
1817
  isDateDisabled: this.disabledDatesService.isDateDisabled,
1730
- direction: this.direction
1818
+ direction: this.direction,
1819
+ allowReverse: this.allowReverse
1731
1820
  });
1732
1821
  }
1733
1822
  intlChange() {
@@ -1792,8 +1881,8 @@ class ViewComponent {
1792
1881
  return this.data[rowIndex][cellIndex];
1793
1882
  }
1794
1883
  }
1795
- ViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ViewComponent, deps: [{ token: BusViewService }, { token: i1.IntlService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: DisabledDatesService }], target: i0.ɵɵFactoryTarget.Component });
1796
- ViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ViewComponent, selector: "[kendoCalendarView]", inputs: { showOtherMonthDays: "showOtherMonthDays", direction: "direction", isActive: "isActive", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", viewDate: "viewDate", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", min: "min", max: "max", selectedDates: "selectedDates", weekNumber: "weekNumber", viewIndex: "viewIndex", templateRef: "templateRef", weekNumberTemplateRef: "weekNumberTemplateRef", headerTitle: "headerTitle" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", focusedCellId: "focusedCellId" }, usesOnChanges: true, ngImport: i0, template: `
1884
+ ViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewComponent, deps: [{ token: BusViewService }, { token: i1.IntlService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: DisabledDatesService }], target: i0.ɵɵFactoryTarget.Component });
1885
+ ViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ViewComponent, selector: "[kendoCalendarView]", inputs: { allowReverse: "allowReverse", showOtherMonthDays: "showOtherMonthDays", direction: "direction", isActive: "isActive", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", viewDate: "viewDate", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", min: "min", max: "max", selectedDates: "selectedDates", weekNumber: "weekNumber", viewIndex: "viewIndex", templateRef: "templateRef", weekNumberTemplateRef: "weekNumberTemplateRef", headerTitle: "headerTitle" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", focusedCellId: "focusedCellId" }, usesOnChanges: true, ngImport: i0, template: `
1797
1886
  <ng-template #emptyCell><td class="k-empty k-calendar-td" role="gridcell">&nbsp;</td></ng-template>
1798
1887
  <tr *ngIf="!isHorizontal()" class="k-calendar-tr" role="row" [attr.aria-hidden]="ariaHidden"><th class="k-calendar-caption" scope="col" [colSpan]="colSpan">{{title}}</th></tr>
1799
1888
  <tr *kFor="let row of data; let rowIndex = index" class="k-calendar-tr" role="row">
@@ -1841,7 +1930,7 @@ ViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
1841
1930
  </ng-container>
1842
1931
  </tr>
1843
1932
  `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: KForOf, selector: "[kFor][kForOf]", inputs: ["kForOf", "kForTrackBy", "kForTemplate"] }] });
1844
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ViewComponent, decorators: [{
1933
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewComponent, decorators: [{
1845
1934
  type: Component,
1846
1935
  args: [{
1847
1936
  // eslint-disable-next-line
@@ -1895,7 +1984,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
1895
1984
  </tr>
1896
1985
  `
1897
1986
  }]
1898
- }], ctorParameters: function () { return [{ type: BusViewService }, { type: i1.IntlService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: DisabledDatesService }]; }, propDecorators: { showOtherMonthDays: [{
1987
+ }], ctorParameters: function () { return [{ type: BusViewService }, { type: i1.IntlService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: DisabledDatesService }]; }, propDecorators: { allowReverse: [{
1988
+ type: Input
1989
+ }], showOtherMonthDays: [{
1899
1990
  type: Input
1900
1991
  }], direction: [{
1901
1992
  type: Input
@@ -2201,12 +2292,12 @@ class HorizontalViewListComponent {
2201
2292
  }
2202
2293
  }
2203
2294
  }
2204
- HorizontalViewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HorizontalViewListComponent, deps: [{ token: BusViewService }, { token: i1.IntlService }, { token: WeekNamesService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2205
- HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: { showOtherMonthDays: "showOtherMonthDays", cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", 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: `
2295
+ HorizontalViewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HorizontalViewListComponent, deps: [{ token: BusViewService }, { token: i1.IntlService }, { token: WeekNamesService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2296
+ HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HorizontalViewListComponent, 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: `
2206
2297
  <ng-template #tableTemplate let-date="date" let-class="className">
2207
2298
  <table
2208
2299
  [attr.role]="views >= 2 ? 'none' : 'grid'"
2209
- class="k-content k-calendar-table"
2300
+ class="k-calendar-table"
2210
2301
  [ngClass]="class"
2211
2302
  [attr.aria-labelledby]="id"
2212
2303
  [attr.aria-activedescendant]="getActiveDescendant"
@@ -2228,6 +2319,7 @@ HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
2228
2319
  <tbody
2229
2320
  class="k-calendar-tbody"
2230
2321
  kendoCalendarView
2322
+ [allowReverse]="allowReverse"
2231
2323
  [showOtherMonthDays]="showOtherMonthDays"
2232
2324
  role="rowgroup"
2233
2325
  direction="horizontal"
@@ -2284,8 +2376,8 @@ HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
2284
2376
  }"
2285
2377
  >
2286
2378
  </ng-template>
2287
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: KForOf, selector: "[kFor][kForOf]", inputs: ["kForOf", "kForTrackBy", "kForTemplate"] }, { kind: "component", type: ViewComponent, selector: "[kendoCalendarView]", inputs: ["showOtherMonthDays", "direction", "isActive", "activeView", "cellUID", "focusedDate", "viewDate", "activeRangeEnd", "selectionRange", "min", "max", "selectedDates", "weekNumber", "viewIndex", "templateRef", "weekNumberTemplateRef", "headerTitle"], outputs: ["cellClick", "weekNumberCellClick", "cellEnter", "cellLeave", "focusedCellId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HorizontalViewListComponent, decorators: [{
2379
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: KForOf, selector: "[kFor][kForOf]", inputs: ["kForOf", "kForTrackBy", "kForTemplate"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HorizontalViewListComponent, decorators: [{
2289
2381
  type: Component,
2290
2382
  args: [{
2291
2383
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -2294,7 +2386,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2294
2386
  <ng-template #tableTemplate let-date="date" let-class="className">
2295
2387
  <table
2296
2388
  [attr.role]="views >= 2 ? 'none' : 'grid'"
2297
- class="k-content k-calendar-table"
2389
+ class="k-calendar-table"
2298
2390
  [ngClass]="class"
2299
2391
  [attr.aria-labelledby]="id"
2300
2392
  [attr.aria-activedescendant]="getActiveDescendant"
@@ -2316,6 +2408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2316
2408
  <tbody
2317
2409
  class="k-calendar-tbody"
2318
2410
  kendoCalendarView
2411
+ [allowReverse]="allowReverse"
2319
2412
  [showOtherMonthDays]="showOtherMonthDays"
2320
2413
  role="rowgroup"
2321
2414
  direction="horizontal"
@@ -2374,18 +2467,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2374
2467
  </ng-template>
2375
2468
  `
2376
2469
  }]
2377
- }], ctorParameters: function () { return [{ type: BusViewService }, { type: i1.IntlService }, { type: WeekNamesService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { showOtherMonthDays: [{
2378
- type: Input
2379
- }], handleMultiViewCalendarFocus: [{
2470
+ }], ctorParameters: function () { return [{ type: BusViewService }, { type: i1.IntlService }, { type: WeekNamesService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { handleMultiViewCalendarFocus: [{
2380
2471
  type: HostListener,
2381
2472
  args: ["focus"]
2382
2473
  }], handleMultiViewCalendarBlur: [{
2383
2474
  type: HostListener,
2384
2475
  args: ["blur", ['$event']]
2476
+ }], showOtherMonthDays: [{
2477
+ type: Input
2385
2478
  }], cellTemplateRef: [{
2386
2479
  type: Input
2387
2480
  }], weekNumberTemplateRef: [{
2388
2481
  type: Input
2482
+ }], allowReverse: [{
2483
+ type: Input
2389
2484
  }], activeRangeEnd: [{
2390
2485
  type: Input
2391
2486
  }], activeView: [{
@@ -2508,9 +2603,6 @@ class HeaderComponent {
2508
2603
  this.getComponentClass = true;
2509
2604
  this.subscriptions = new Subscription();
2510
2605
  }
2511
- get horizontalHostClass() {
2512
- return this.orientation === 'horizontal';
2513
- }
2514
2606
  get verticalHostClass() {
2515
2607
  return this.orientation === 'vertical';
2516
2608
  }
@@ -2584,19 +2676,24 @@ class HeaderComponent {
2584
2676
  this.cdr.markForCheck();
2585
2677
  }
2586
2678
  }
2587
- HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderComponent, deps: [{ token: BusViewService }, { token: i0.ChangeDetectorRef }, { token: i1$1.LocalizationService }, { token: i1.IntlService }, { token: DisabledDatesService }], target: i0.ɵɵFactoryTarget.Component });
2588
- HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: HeaderComponent, selector: "kendo-calendar-header", inputs: { activeView: "activeView", currentDate: "currentDate", min: "min", max: "max", rangeLength: "rangeLength", titleTemplateRef: "titleTemplateRef", headerTemplateRef: "headerTemplateRef", isPrevDisabled: "isPrevDisabled", isNextDisabled: "isNextDisabled", showNavigationButtons: "showNavigationButtons", orientation: "orientation", id: "id" }, outputs: { todayButtonClick: "todayButtonClick", prevButtonClick: "prevButtonClick", nextButtonClick: "nextButtonClick" }, host: { properties: { "class.k-calendar-header": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass" } }, usesOnChanges: true, ngImport: i0, template: `
2679
+ HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, deps: [{ token: BusViewService }, { token: i0.ChangeDetectorRef }, { token: i1$1.LocalizationService }, { token: i1.IntlService }, { token: DisabledDatesService }], target: i0.ɵɵFactoryTarget.Component });
2680
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "kendo-calendar-header", inputs: { activeView: "activeView", currentDate: "currentDate", min: "min", max: "max", rangeLength: "rangeLength", titleTemplateRef: "titleTemplateRef", headerTemplateRef: "headerTemplateRef", isPrevDisabled: "isPrevDisabled", isNextDisabled: "isNextDisabled", showNavigationButtons: "showNavigationButtons", orientation: "orientation", id: "id", size: "size" }, outputs: { todayButtonClick: "todayButtonClick", prevButtonClick: "prevButtonClick", nextButtonClick: "nextButtonClick" }, host: { properties: { "class.k-calendar-header": "this.getComponentClass", "class.k-vstack": "this.verticalHostClass" } }, usesOnChanges: true, ngImport: i0, template: `
2589
2681
  <ng-template *ngIf="headerTemplateRef; else defaultRendering"
2590
2682
  [ngTemplateOutlet]="headerTemplateRef"
2591
2683
  [ngTemplateOutletContext]="{ title: title, activeView: activeViewValue, date: currentDate }">
2592
2684
  </ng-template>
2593
2685
  <ng-template #defaultRendering>
2594
- <span class="k-button k-nav-fast k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title"
2686
+ <button
2687
+ kendoButton
2688
+ class="k-calendar-title"
2595
2689
  role="button"
2596
2690
  [id]="id"
2691
+ type="button"
2692
+ fillMode="flat"
2693
+ [size]="size"
2694
+ themeColor="primary"
2597
2695
  tabindex="-1"
2598
- [class.k-disabled]="!navigate"
2599
- [attr.aria-disabled]="isDisabled()"
2696
+ [disabled]="!navigate"
2600
2697
  [kendoEventsOutsideAngular]="{
2601
2698
  click: handleNavigation
2602
2699
  }"
@@ -2608,13 +2705,14 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
2608
2705
  [ngTemplateOutlet]="titleTemplateRef"
2609
2706
  [ngTemplateOutletContext]="{ $implicit: title, activeView: activeViewValue, date: currentDate }"
2610
2707
  ></ng-template>
2611
- </span>
2708
+ </button>
2612
2709
  <span class="k-spacer"></span>
2613
2710
  <span class="k-calendar-nav k-hstack">
2614
2711
  <button
2615
2712
  *ngIf="showNavigationButtons"
2616
2713
  kendoButton
2617
2714
  fillMode="flat"
2715
+ [size]="size"
2618
2716
  [svgIcon]="chevronLeftIcon"
2619
2717
  icon="chevron-left"
2620
2718
  tabindex="-1"
@@ -2627,9 +2725,14 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
2627
2725
  >
2628
2726
  </button>
2629
2727
  <button
2630
- class="k-calendar-nav-today k-button k-button-md k-button-flat k-button-flat-primary k-rounded-md"
2728
+ kendoButton
2729
+ class="k-calendar-nav-today"
2631
2730
  tabindex="-1"
2632
- [class.k-disabled]="!todayAvailable"
2731
+ themeColor="primary"
2732
+ fillMode="flat"
2733
+ role="link"
2734
+ [size]="size"
2735
+ [disabled]="!todayAvailable"
2633
2736
  [kendoEventsOutsideAngular]="{
2634
2737
  click: handleTodayClick
2635
2738
  }"
@@ -2655,8 +2758,8 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
2655
2758
  </button>
2656
2759
  </span>
2657
2760
  </ng-template>
2658
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i12.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i7.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"] }] });
2659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderComponent, decorators: [{
2761
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i7.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"] }] });
2762
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
2660
2763
  type: Component,
2661
2764
  args: [{
2662
2765
  selector: 'kendo-calendar-header',
@@ -2666,12 +2769,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2666
2769
  [ngTemplateOutletContext]="{ title: title, activeView: activeViewValue, date: currentDate }">
2667
2770
  </ng-template>
2668
2771
  <ng-template #defaultRendering>
2669
- <span class="k-button k-nav-fast k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title"
2772
+ <button
2773
+ kendoButton
2774
+ class="k-calendar-title"
2670
2775
  role="button"
2671
2776
  [id]="id"
2777
+ type="button"
2778
+ fillMode="flat"
2779
+ [size]="size"
2780
+ themeColor="primary"
2672
2781
  tabindex="-1"
2673
- [class.k-disabled]="!navigate"
2674
- [attr.aria-disabled]="isDisabled()"
2782
+ [disabled]="!navigate"
2675
2783
  [kendoEventsOutsideAngular]="{
2676
2784
  click: handleNavigation
2677
2785
  }"
@@ -2683,13 +2791,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2683
2791
  [ngTemplateOutlet]="titleTemplateRef"
2684
2792
  [ngTemplateOutletContext]="{ $implicit: title, activeView: activeViewValue, date: currentDate }"
2685
2793
  ></ng-template>
2686
- </span>
2794
+ </button>
2687
2795
  <span class="k-spacer"></span>
2688
2796
  <span class="k-calendar-nav k-hstack">
2689
2797
  <button
2690
2798
  *ngIf="showNavigationButtons"
2691
2799
  kendoButton
2692
2800
  fillMode="flat"
2801
+ [size]="size"
2693
2802
  [svgIcon]="chevronLeftIcon"
2694
2803
  icon="chevron-left"
2695
2804
  tabindex="-1"
@@ -2702,9 +2811,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2702
2811
  >
2703
2812
  </button>
2704
2813
  <button
2705
- class="k-calendar-nav-today k-button k-button-md k-button-flat k-button-flat-primary k-rounded-md"
2814
+ kendoButton
2815
+ class="k-calendar-nav-today"
2706
2816
  tabindex="-1"
2707
- [class.k-disabled]="!todayAvailable"
2817
+ themeColor="primary"
2818
+ fillMode="flat"
2819
+ role="link"
2820
+ [size]="size"
2821
+ [disabled]="!todayAvailable"
2708
2822
  [kendoEventsOutsideAngular]="{
2709
2823
  click: handleTodayClick
2710
2824
  }"
@@ -2730,7 +2844,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2730
2844
  </button>
2731
2845
  </span>
2732
2846
  </ng-template>
2733
- `
2847
+ `
2734
2848
  }]
2735
2849
  }], ctorParameters: function () { return [{ type: BusViewService }, { type: i0.ChangeDetectorRef }, { type: i1$1.LocalizationService }, { type: i1.IntlService }, { type: DisabledDatesService }]; }, propDecorators: { activeView: [{
2736
2850
  type: Input
@@ -2756,6 +2870,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2756
2870
  type: Input
2757
2871
  }], id: [{
2758
2872
  type: Input
2873
+ }], size: [{
2874
+ type: Input
2759
2875
  }], todayButtonClick: [{
2760
2876
  type: Output
2761
2877
  }], prevButtonClick: [{
@@ -2765,9 +2881,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
2765
2881
  }], getComponentClass: [{
2766
2882
  type: HostBinding,
2767
2883
  args: ["class.k-calendar-header"]
2768
- }], horizontalHostClass: [{
2769
- type: HostBinding,
2770
- args: ["class.k-hstack"]
2771
2884
  }], verticalHostClass: [{
2772
2885
  type: HostBinding,
2773
2886
  args: ["class.k-vstack"]
@@ -2818,9 +2931,9 @@ class SelectionService {
2818
2931
  return selectedDates.some(item => isEqual(item, date));
2819
2932
  }
2820
2933
  }
2821
- SelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SelectionService, deps: [{ token: BusViewService }], target: i0.ɵɵFactoryTarget.Injectable });
2822
- SelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SelectionService });
2823
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SelectionService, decorators: [{
2934
+ SelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectionService, deps: [{ token: BusViewService }], target: i0.ɵɵFactoryTarget.Injectable });
2935
+ SelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectionService });
2936
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectionService, decorators: [{
2824
2937
  type: Injectable
2825
2938
  }], ctorParameters: function () { return [{ type: BusViewService }]; } });
2826
2939
 
@@ -2856,9 +2969,9 @@ class CellTemplateDirective {
2856
2969
  this.templateRef = templateRef;
2857
2970
  }
2858
2971
  }
2859
- CellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2860
- CellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: CellTemplateDirective, selector: "[kendoCalendarCellTemplate]", ngImport: i0 });
2861
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CellTemplateDirective, decorators: [{
2972
+ CellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2973
+ CellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CellTemplateDirective, selector: "[kendoCalendarCellTemplate]", ngImport: i0 });
2974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CellTemplateDirective, decorators: [{
2862
2975
  type: Directive,
2863
2976
  args: [{
2864
2977
  selector: '[kendoCalendarCellTemplate]'
@@ -2894,9 +3007,9 @@ class MonthCellTemplateDirective {
2894
3007
  this.templateRef = templateRef;
2895
3008
  }
2896
3009
  }
2897
- MonthCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MonthCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2898
- MonthCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: MonthCellTemplateDirective, selector: "[kendoCalendarMonthCellTemplate]", ngImport: i0 });
2899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MonthCellTemplateDirective, decorators: [{
3010
+ MonthCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3011
+ MonthCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: MonthCellTemplateDirective, selector: "[kendoCalendarMonthCellTemplate]", ngImport: i0 });
3012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthCellTemplateDirective, decorators: [{
2900
3013
  type: Directive,
2901
3014
  args: [{
2902
3015
  selector: '[kendoCalendarMonthCellTemplate]'
@@ -2935,9 +3048,9 @@ class YearCellTemplateDirective {
2935
3048
  this.templateRef = templateRef;
2936
3049
  }
2937
3050
  }
2938
- YearCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: YearCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2939
- YearCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: YearCellTemplateDirective, selector: "[kendoCalendarYearCellTemplate]", ngImport: i0 });
2940
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: YearCellTemplateDirective, decorators: [{
3051
+ YearCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: YearCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3052
+ YearCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: YearCellTemplateDirective, selector: "[kendoCalendarYearCellTemplate]", ngImport: i0 });
3053
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: YearCellTemplateDirective, decorators: [{
2941
3054
  type: Directive,
2942
3055
  args: [{
2943
3056
  selector: '[kendoCalendarYearCellTemplate]'
@@ -2975,9 +3088,9 @@ class DecadeCellTemplateDirective {
2975
3088
  this.templateRef = templateRef;
2976
3089
  }
2977
3090
  }
2978
- DecadeCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DecadeCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2979
- DecadeCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DecadeCellTemplateDirective, selector: "[kendoCalendarDecadeCellTemplate]", ngImport: i0 });
2980
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DecadeCellTemplateDirective, decorators: [{
3091
+ DecadeCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecadeCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3092
+ DecadeCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DecadeCellTemplateDirective, selector: "[kendoCalendarDecadeCellTemplate]", ngImport: i0 });
3093
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecadeCellTemplateDirective, decorators: [{
2981
3094
  type: Directive,
2982
3095
  args: [{
2983
3096
  selector: '[kendoCalendarDecadeCellTemplate]'
@@ -3015,9 +3128,9 @@ class CenturyCellTemplateDirective {
3015
3128
  this.templateRef = templateRef;
3016
3129
  }
3017
3130
  }
3018
- CenturyCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CenturyCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3019
- CenturyCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: CenturyCellTemplateDirective, selector: "[kendoCalendarCenturyCellTemplate]", ngImport: i0 });
3020
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CenturyCellTemplateDirective, decorators: [{
3131
+ CenturyCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CenturyCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3132
+ CenturyCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CenturyCellTemplateDirective, selector: "[kendoCalendarCenturyCellTemplate]", ngImport: i0 });
3133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CenturyCellTemplateDirective, decorators: [{
3021
3134
  type: Directive,
3022
3135
  args: [{
3023
3136
  selector: '[kendoCalendarCenturyCellTemplate]'
@@ -3053,9 +3166,9 @@ class WeekNumberCellTemplateDirective {
3053
3166
  this.templateRef = templateRef;
3054
3167
  }
3055
3168
  }
3056
- WeekNumberCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WeekNumberCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3057
- WeekNumberCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: WeekNumberCellTemplateDirective, selector: "[kendoCalendarWeekNumberCellTemplate]", ngImport: i0 });
3058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WeekNumberCellTemplateDirective, decorators: [{
3169
+ WeekNumberCellTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WeekNumberCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3170
+ WeekNumberCellTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: WeekNumberCellTemplateDirective, selector: "[kendoCalendarWeekNumberCellTemplate]", ngImport: i0 });
3171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WeekNumberCellTemplateDirective, decorators: [{
3059
3172
  type: Directive,
3060
3173
  args: [{
3061
3174
  selector: '[kendoCalendarWeekNumberCellTemplate]'
@@ -3092,15 +3205,51 @@ class HeaderTitleTemplateDirective {
3092
3205
  this.templateRef = templateRef;
3093
3206
  }
3094
3207
  }
3095
- HeaderTitleTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderTitleTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3096
- HeaderTitleTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: HeaderTitleTemplateDirective, selector: "[kendoCalendarHeaderTitleTemplate]", ngImport: i0 });
3097
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderTitleTemplateDirective, decorators: [{
3208
+ HeaderTitleTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderTitleTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3209
+ HeaderTitleTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: HeaderTitleTemplateDirective, selector: "[kendoCalendarHeaderTitleTemplate]", ngImport: i0 });
3210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderTitleTemplateDirective, decorators: [{
3098
3211
  type: Directive,
3099
3212
  args: [{
3100
3213
  selector: '[kendoCalendarHeaderTitleTemplate]'
3101
3214
  }]
3102
3215
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
3103
3216
 
3217
+ /**
3218
+ * @hidden
3219
+ */
3220
+ function handleRangeSelection(date, selectionRange, activeRangeEnd, allowReverse = false) {
3221
+ if ((activeRangeEnd === 'start' && selectionRange.start?.getTime() === date?.getTime() && ((allowReverse && !selectionRange.end) || !allowReverse)) ||
3222
+ (activeRangeEnd === 'end' && selectionRange.end?.getTime() === date?.getTime())) {
3223
+ return { activeRangeEnd: activeRangeEnd, selectionRange: selectionRange };
3224
+ }
3225
+ if (allowReverse) {
3226
+ if (activeRangeEnd === 'start') {
3227
+ selectionRange.start = date;
3228
+ activeRangeEnd = 'end';
3229
+ }
3230
+ else if (activeRangeEnd === 'end') {
3231
+ selectionRange.end = date;
3232
+ activeRangeEnd = 'start';
3233
+ }
3234
+ }
3235
+ if (!allowReverse) {
3236
+ if (activeRangeEnd === 'start' && date > selectionRange.end ||
3237
+ activeRangeEnd === 'end' && date < selectionRange.start) {
3238
+ selectionRange = { start: date, end: null };
3239
+ activeRangeEnd = 'end';
3240
+ }
3241
+ else if (activeRangeEnd === 'start' && date <= selectionRange.end) {
3242
+ selectionRange.start = date;
3243
+ activeRangeEnd = 'end';
3244
+ }
3245
+ else if (activeRangeEnd === 'end' && date >= selectionRange.start && date.getTime() !== selectionRange.end?.getTime()) {
3246
+ selectionRange.end = date;
3247
+ activeRangeEnd = 'start';
3248
+ }
3249
+ }
3250
+ return { activeRangeEnd: activeRangeEnd, selectionRange: selectionRange };
3251
+ }
3252
+
3104
3253
  /**
3105
3254
  * @hidden
3106
3255
  */
@@ -3197,9 +3346,9 @@ class NavigationService {
3197
3346
  return service.move(value, action);
3198
3347
  }
3199
3348
  }
3200
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationService, deps: [{ token: BusViewService }], target: i0.ɵɵFactoryTarget.Injectable });
3201
- NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationService });
3202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationService, decorators: [{
3349
+ NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, deps: [{ token: BusViewService }], target: i0.ɵɵFactoryTarget.Injectable });
3350
+ NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService });
3351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, decorators: [{
3203
3352
  type: Injectable
3204
3353
  }], ctorParameters: function () { return [{ type: BusViewService }]; } });
3205
3354
 
@@ -3233,9 +3382,9 @@ class HeaderTemplateDirective {
3233
3382
  this.templateRef = templateRef;
3234
3383
  }
3235
3384
  }
3236
- HeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3237
- HeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: HeaderTemplateDirective, selector: "[kendoCalendarHeaderTemplate]", ngImport: i0 });
3238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
3385
+ HeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3386
+ HeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: HeaderTemplateDirective, selector: "[kendoCalendarHeaderTemplate]", ngImport: i0 });
3387
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
3239
3388
  type: Directive,
3240
3389
  args: [{
3241
3390
  selector: '[kendoCalendarHeaderTemplate]'
@@ -3271,9 +3420,9 @@ class FooterTemplateDirective {
3271
3420
  this.templateRef = templateRef;
3272
3421
  }
3273
3422
  }
3274
- FooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: FooterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3275
- FooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: FooterTemplateDirective, selector: "[kendoCalendarFooterTemplate]", ngImport: i0 });
3276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: FooterTemplateDirective, decorators: [{
3423
+ FooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FooterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3424
+ FooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FooterTemplateDirective, selector: "[kendoCalendarFooterTemplate]", ngImport: i0 });
3425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FooterTemplateDirective, decorators: [{
3277
3426
  type: Directive,
3278
3427
  args: [{
3279
3428
  selector: '[kendoCalendarFooterTemplate]'
@@ -3290,8 +3439,8 @@ class FooterComponent {
3290
3439
  this.getToday = getToday;
3291
3440
  }
3292
3441
  }
3293
- FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: FooterComponent, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Component });
3294
- FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: FooterComponent, selector: "kendo-calendar-footer", inputs: { footerTemplateRef: "footerTemplateRef", activeViewValue: "activeViewValue", currentDate: "currentDate" }, host: { properties: { "class.k-calendar-footer": "this.showFooter" } }, ngImport: i0, template: `
3442
+ FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FooterComponent, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Component });
3443
+ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FooterComponent, selector: "kendo-calendar-footer", inputs: { footerTemplateRef: "footerTemplateRef", activeViewValue: "activeViewValue", currentDate: "currentDate" }, host: { properties: { "class.k-calendar-footer": "this.showFooter" } }, ngImport: i0, template: `
3295
3444
  <ng-template *ngIf="footerTemplateRef; else defaultRendering"
3296
3445
  [ngTemplateOutlet]="footerTemplateRef"
3297
3446
  [ngTemplateOutletContext]="{ activeView: activeViewValue, date: currentDate }">
@@ -3307,7 +3456,7 @@ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
3307
3456
  </button>
3308
3457
  </ng-template>
3309
3458
  `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.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"] }] });
3310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: FooterComponent, decorators: [{
3459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FooterComponent, decorators: [{
3311
3460
  type: Component,
3312
3461
  args: [{
3313
3462
  selector: 'kendo-calendar-footer',
@@ -3344,9 +3493,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
3344
3493
  */
3345
3494
  class Messages extends ComponentMessages {
3346
3495
  }
3347
- Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3348
- Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: Messages, selector: "kendo-multiview-calendar-messages-base", inputs: { today: "today", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle" }, usesInheritance: true, ngImport: i0 });
3349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Messages, decorators: [{
3496
+ Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3497
+ Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: Messages, selector: "kendo-multiview-calendar-messages-base", inputs: { today: "today", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle" }, usesInheritance: true, ngImport: i0 });
3498
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, decorators: [{
3350
3499
  type: Directive,
3351
3500
  args: [{
3352
3501
  // eslint-disable-next-line
@@ -3371,14 +3520,14 @@ class MultiViewCalendarLocalizedMessagesDirective extends Messages {
3371
3520
  this.service = service;
3372
3521
  }
3373
3522
  }
3374
- MultiViewCalendarLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3375
- MultiViewCalendarLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: MultiViewCalendarLocalizedMessagesDirective, selector: "[kendoMultiViewCalendarLocalizedMessages]", providers: [
3523
+ MultiViewCalendarLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3524
+ MultiViewCalendarLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: MultiViewCalendarLocalizedMessagesDirective, selector: "[kendoMultiViewCalendarLocalizedMessages]", providers: [
3376
3525
  {
3377
3526
  provide: Messages,
3378
3527
  useExisting: forwardRef(() => MultiViewCalendarLocalizedMessagesDirective)
3379
3528
  }
3380
3529
  ], usesInheritance: true, ngImport: i0 });
3381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarLocalizedMessagesDirective, decorators: [{
3530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarLocalizedMessagesDirective, decorators: [{
3382
3531
  type: Directive,
3383
3532
  args: [{
3384
3533
  providers: [
@@ -3447,6 +3596,7 @@ class MultiViewCalendarComponent {
3447
3596
  * Determines whether to display the calendar header.
3448
3597
  */
3449
3598
  this.showCalendarHeader = true;
3599
+ this._size = DEFAULT_SIZE;
3450
3600
  /**
3451
3601
  * Toggles the visibility of the footer.
3452
3602
  * @default false
@@ -3462,15 +3612,14 @@ class MultiViewCalendarComponent {
3462
3612
  * ([see example]({% slug disabled_dates_multiviewcalendar %}#toc-validation)).
3463
3613
  */
3464
3614
  this.disabledDatesRangeValidation = false;
3615
+ this._selection = 'single';
3465
3616
  /**
3466
- * Sets the Calendar selection mode
3467
- * ([see example]({% slug multiple_selection_multiviewcalendar %})).
3617
+ * Allows reverse selection when using `range` selection.
3618
+ * If `allowReverse` is set to `true`, the component skips the validation of whether the start date is after the end date.
3468
3619
  *
3469
- * The available values are:
3470
- * * `single` (default)
3471
- * * `multiple`
3620
+ * @default false
3472
3621
  */
3473
- this.selection = 'single';
3622
+ this.allowReverse = false;
3474
3623
  /**
3475
3624
  * Sets or gets the `disabled` property of the Calendar and
3476
3625
  * determines whether the component is active
@@ -3565,6 +3714,11 @@ class MultiViewCalendarComponent {
3565
3714
  * ([see example](slug:events_multiviewcalendar)).
3566
3715
  */
3567
3716
  this.valueChange = new EventEmitter();
3717
+ /**
3718
+ * @hidden
3719
+ * Fires when the range selection changes.
3720
+ */
3721
+ this.rangeSelectionChange = new EventEmitter();
3568
3722
  /**
3569
3723
  * Fires each time the MultiViewCalendar gets blurred
3570
3724
  * ([see example](slug:events_multiviewcalendar)).
@@ -3598,9 +3752,15 @@ class MultiViewCalendarComponent {
3598
3752
  this.prevView = Action.PrevView;
3599
3753
  this.nextView = Action.NextView;
3600
3754
  this.selectedDates = [];
3755
+ this.shouldHoverWhenNoStart = false;
3756
+ this.canHover = false;
3757
+ this.changes = {};
3758
+ this.valueSetter = false;
3759
+ this.selectionSetter = false;
3601
3760
  this._min = new Date(MIN_DATE);
3602
3761
  this._max = new Date(MAX_DATE);
3603
3762
  this._focusedDate = getToday();
3763
+ this._selectionRange = { start: null, end: null };
3604
3764
  this.resolvedPromise = Promise.resolve();
3605
3765
  this.onControlChange = noop$2;
3606
3766
  this.onControlTouched = noop$2;
@@ -3609,9 +3769,32 @@ class MultiViewCalendarComponent {
3609
3769
  this.maxValidateFn = noop$2;
3610
3770
  this.disabledDatesRangeValidateFn = noop$2;
3611
3771
  this.subscriptions = new Subscription();
3612
- this.setClasses(element.nativeElement);
3613
3772
  this.id = `kendo-multiviewcalendarid-${this.bus.calendarId}-`;
3614
3773
  }
3774
+ /**
3775
+ * @hidden
3776
+ *
3777
+ * TODO: Make visible when the Infinite Calendar is fixed to set properly the size option.
3778
+ * Sets the size of the component.
3779
+ *
3780
+ * The possible values are:
3781
+ * * `small`
3782
+ * * `medium` (Default)
3783
+ * * `large`
3784
+ * * `none`
3785
+ *
3786
+ */
3787
+ set size(size) {
3788
+ const newSize = size ? size : DEFAULT_SIZE;
3789
+ this.renderer.removeClass(this.element.nativeElement, getSizeClass('calendar', this.size));
3790
+ if (newSize !== 'none') {
3791
+ this.renderer.addClass(this.element.nativeElement, getSizeClass('calendar', newSize));
3792
+ }
3793
+ this._size = newSize;
3794
+ }
3795
+ get size() {
3796
+ return this._size;
3797
+ }
3615
3798
  /**
3616
3799
  * Sets or gets the `focusedDate` property of the Calendar and
3617
3800
  * defines the focused date of the component
@@ -3665,29 +3848,37 @@ class MultiViewCalendarComponent {
3665
3848
  get max() {
3666
3849
  return this._max;
3667
3850
  }
3851
+ /**
3852
+ * Sets the Calendar selection mode
3853
+ * ([see example]({% slug multiple_selection_multiviewcalendar %})).
3854
+ *
3855
+ * The available values are:
3856
+ * * `single` (default)
3857
+ * * `multiple`
3858
+ * * `range`
3859
+ */
3860
+ set selection(_selection) {
3861
+ this.selectionSetter = true;
3862
+ this._selection = _selection;
3863
+ }
3864
+ get selection() {
3865
+ return this._selection;
3866
+ }
3668
3867
  /**
3669
3868
  * Sets or gets the `value` property of the Calendar and defines the selected value of the component.
3670
3869
  *
3671
3870
  * > The `value` has to be a valid
3672
3871
  * [JavaScript `Date`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date)
3673
- * instance when in `single` selection mode or an array of valid JavaScript Date instances when in `multiple` selection mode.
3872
+ * instance when in `single` selection mode, an array of valid JavaScript Date instances when in `multiple` selection mode, or
3873
+ * an object of type `SelectionRange` when in `range` selection mode.
3674
3874
  */
3875
+ set value(candidate) {
3876
+ this.valueSetter = true;
3877
+ this._value = candidate;
3878
+ }
3675
3879
  get value() {
3676
3880
  return this._value;
3677
3881
  }
3678
- set value(candidate) {
3679
- this.verifyValue(candidate);
3680
- this._value = Array.isArray(candidate) ?
3681
- candidate.filter(date => isPresent(date)).map(element => cloneDate(element)) :
3682
- cloneDate(candidate);
3683
- const selection = [].concat(candidate).filter(date => isPresent(date)).map(date => cloneDate(date));
3684
- if (!areDatesEqual(selection, this.selectedDates)) {
3685
- const lastSelected = last(selection);
3686
- this.rangePivot = cloneDate(lastSelected);
3687
- this.focusedDate = cloneDate(lastSelected) || this.focusedDate;
3688
- this.selectedDates = selection;
3689
- }
3690
- }
3691
3882
  /**
3692
3883
  * @hidden
3693
3884
  */
@@ -3704,10 +3895,23 @@ class MultiViewCalendarComponent {
3704
3895
  set disabledDates(value) {
3705
3896
  this.disabledDatesService.initialize(value);
3706
3897
  }
3898
+ /**
3899
+ * Specify, which end of the defined selection range should be marked as active.
3900
+ *
3901
+ * > Value will be ignored if the selection range is undefined.
3902
+ * > If range selection is used then the default value is 'start'.
3903
+ */
3904
+ set activeRangeEnd(_activeRangeEnd) {
3905
+ this._activeRangeEnd = _activeRangeEnd;
3906
+ }
3907
+ get activeRangeEnd() {
3908
+ return (this.selection === 'range' && !this._activeRangeEnd) ? 'start' : this._activeRangeEnd;
3909
+ }
3707
3910
  /**
3708
3911
  * Sets or gets the `selectionRange` property of the Calendar and
3709
3912
  * defines the selection range of the component
3710
3913
  * ([see example]({% slug dates_multiviewcalendar %}#toc-selection-range)).
3914
+ * > We recommend using the `value` property as it now supports `range` selection.
3711
3915
  */
3712
3916
  set selectionRange(range) {
3713
3917
  this._selectionRange = range;
@@ -3881,6 +4085,7 @@ class MultiViewCalendarComponent {
3881
4085
  */
3882
4086
  handleMouseLeave() {
3883
4087
  this.isHovered = false;
4088
+ this.setRangeSelectionToValue();
3884
4089
  }
3885
4090
  /**
3886
4091
  * @hidden
@@ -3931,8 +4136,13 @@ class MultiViewCalendarComponent {
3931
4136
  return;
3932
4137
  }
3933
4138
  else if (onEnterKeyPress) {
3934
- this.selectionService.lastClicked = this.focusedDate;
3935
- this.performSelection(this.focusedDate, event);
4139
+ if (this.selection !== 'range') {
4140
+ this.selectionService.lastClicked = this.focusedDate;
4141
+ this.performSelection(this.focusedDate, event);
4142
+ }
4143
+ else {
4144
+ this.performRangeSelection(this.focusedDate);
4145
+ }
3936
4146
  }
3937
4147
  if (this.views >= 2) {
3938
4148
  if ((escKey || (altKey && onArrowUpPress))) {
@@ -3955,12 +4165,13 @@ class MultiViewCalendarComponent {
3955
4165
  if (!isSameView) {
3956
4166
  this.emitNavigate(this.focusedDate);
3957
4167
  }
3958
- if (isArrowWithShiftPressed(event)) {
4168
+ if (isArrowWithShiftPressed(event) && this.selection !== 'range') {
3959
4169
  event['anyArrow'] = true;
3960
4170
  this.performSelection(this.focusedDate, event);
3961
4171
  }
3962
4172
  }
3963
4173
  ngOnInit() {
4174
+ this.setClasses(this.element.nativeElement);
3964
4175
  this.subscriptions.add(this.bus.viewChanged.subscribe(({ view }) => {
3965
4176
  this.activeView = CalendarViewEnum[view];
3966
4177
  this.activeViewChange.emit(this.activeView);
@@ -3969,21 +4180,36 @@ class MultiViewCalendarComponent {
3969
4180
  }));
3970
4181
  }
3971
4182
  ngOnChanges(changes) {
4183
+ this.changes = changes;
3972
4184
  this.verifyChanges();
3973
4185
  this.bus.configure(this.bottomViewEnum, this.topViewEnum);
3974
- if (hasExistingValue(changes, 'focusedDate')) {
3975
- const focusedDate = changes.focusedDate.currentValue;
4186
+ }
4187
+ ngDoCheck() {
4188
+ if (this.valueSetter || this.selectionSetter) {
4189
+ if (this.selection === 'range' &&
4190
+ (this.value?.start || this.value?.end) &&
4191
+ this.focusedDate.getTime() !== this.value.start?.getTime() &&
4192
+ this.focusedDate.getTime() !== this.value.end?.getTime()) {
4193
+ this.focusedDate = this.value.start || this.value.end || getToday();
4194
+ }
4195
+ this.setValue(this.value);
4196
+ this.valueSetter = false;
4197
+ this.selectionSetter = false;
4198
+ }
4199
+ if (hasExistingValue(this.changes, 'focusedDate')) {
4200
+ const focusedDate = this.changes.focusedDate.currentValue;
3976
4201
  this.focusedDate = dateInRange(focusedDate, this.min, this.max);
3977
4202
  }
3978
- if (changes.min || changes.max || changes.rangeValidation || changes.disabledDates || changes.disabledDatesRangeValidation) {
4203
+ if (this.changes.min || this.changes.max || this.changes.rangeValidation || this.changes.disabledDates || this.changes.disabledDatesRangeValidation) {
3979
4204
  this.minValidateFn = this.rangeValidation ? minValidator(this.min) : noop$2;
3980
4205
  this.maxValidateFn = this.rangeValidation ? maxValidator(this.max) : noop$2;
3981
4206
  this.disabledDatesRangeValidateFn = this.disabledDatesRangeValidation ? disabledDatesRangeValidator(this.disabledDatesService.isDateDisabled) : noop$2;
3982
4207
  this.onValidatorChange();
3983
4208
  }
3984
- if (changes.min || changes.max || changes.focusedDate || changes.activeView) {
4209
+ if (this.changes.min || this.changes.max || this.changes.focusedDate || this.changes.activeView) {
3985
4210
  this.updateButtonState();
3986
4211
  }
4212
+ this.changes = {};
3987
4213
  }
3988
4214
  ngOnDestroy() {
3989
4215
  this.subscriptions.unsubscribe();
@@ -4021,7 +4247,7 @@ class MultiViewCalendarComponent {
4021
4247
  return;
4022
4248
  }
4023
4249
  const activeElement = this.views >= 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
4024
- this.element.nativeElement.querySelector('.k-content.k-calendar-table');
4250
+ this.element.nativeElement.querySelector('.k-calendar-table');
4025
4251
  activeElement.blur();
4026
4252
  }
4027
4253
  /**
@@ -4042,11 +4268,48 @@ class MultiViewCalendarComponent {
4042
4268
  if (this.disabledDatesService.isDateDisabled(this.focusedDate)) {
4043
4269
  return;
4044
4270
  }
4271
+ if (this.selection === 'range') {
4272
+ return;
4273
+ }
4045
4274
  this.selectedDates = availableDates.map(date => cloneDate(date));
4046
4275
  this.value = this.parseSelectionToValue(availableDates);
4047
4276
  this.onControlChange(this.parseSelectionToValue(availableDates));
4048
4277
  this.valueChange.emit(this.parseSelectionToValue(availableDates));
4049
4278
  }
4279
+ /**
4280
+ * @hidden
4281
+ */
4282
+ onCellEnter(cellEnter, date) {
4283
+ this.emitCellEvent(cellEnter, date);
4284
+ if (this.selection === 'range' && (this.canHover || this.shouldHoverWhenNoStart)) {
4285
+ this.zone.run(() => {
4286
+ if (this.canHover && !this.shouldHoverWhenNoStart) {
4287
+ if (this.allowReverse) {
4288
+ if (this.activeRangeEnd === 'end' && this.selectionRange.start) {
4289
+ this.selectionRange = { start: this.selectionRange.start, end: date };
4290
+ }
4291
+ if (this.activeRangeEnd === 'start' && this.selectionRange.end) {
4292
+ this.selectionRange = { start: date, end: this.selectionRange.end };
4293
+ }
4294
+ }
4295
+ else {
4296
+ if (this.activeRangeEnd === 'end' && this.selectionRange.start && date >= this.selectionRange.start) {
4297
+ this.selectionRange = { start: this.selectionRange.start, end: date };
4298
+ }
4299
+ if (this.selectionRange.start && date < this.selectionRange.start) {
4300
+ this.selectionRange = { start: this.selectionRange.start, end: null };
4301
+ }
4302
+ }
4303
+ }
4304
+ else if (this.shouldHoverWhenNoStart && date <= this.selectionRange.end) {
4305
+ this.selectionRange = { start: date, end: this.selectionRange.end };
4306
+ }
4307
+ else {
4308
+ this.selectionRange = { start: null, end: this.selectionRange.end };
4309
+ }
4310
+ });
4311
+ }
4312
+ }
4050
4313
  /**
4051
4314
  * @hidden
4052
4315
  */
@@ -4151,8 +4414,13 @@ class MultiViewCalendarComponent {
4151
4414
  * @hidden
4152
4415
  */
4153
4416
  handleCellClick({ date, modifiers }) {
4154
- this.selectionService.lastClicked = date;
4155
- this.performSelection(date, modifiers);
4417
+ if (this.selection === 'range') {
4418
+ this.performRangeSelection(date);
4419
+ }
4420
+ else {
4421
+ this.selectionService.lastClicked = date;
4422
+ this.performSelection(date, modifiers);
4423
+ }
4156
4424
  const isSameView = this.bus.service(this.activeViewEnum).isInArray(this.focusedDate, this.viewList.dates);
4157
4425
  if (!isSameView) {
4158
4426
  this.emitNavigate(this.focusedDate);
@@ -4166,16 +4434,31 @@ class MultiViewCalendarComponent {
4166
4434
  return;
4167
4435
  }
4168
4436
  this.zone.run(() => {
4169
- this.handleDateChange({
4170
- selectedDates: dates,
4171
- focusedDate: last(dates)
4172
- });
4437
+ if (this.selection === 'multiple') {
4438
+ this.handleDateChange({
4439
+ selectedDates: dates,
4440
+ focusedDate: last(dates),
4441
+ });
4442
+ }
4443
+ if (this.selection === 'range') {
4444
+ this.activeRangeEnd = 'start';
4445
+ const shouldEmitValueChange = this.selectionRange.start?.getTime() !== dates[0].getTime() ||
4446
+ this.selectionRange.end?.getTime() !== last(dates).getTime();
4447
+ this.selectionRange.start = dates[0];
4448
+ this.selectionRange.end = last(dates);
4449
+ this.value = this.selectionRange;
4450
+ if (shouldEmitValueChange) {
4451
+ this.valueChange.emit(this.value);
4452
+ }
4453
+ }
4173
4454
  });
4174
4455
  }
4175
4456
  setClasses(element) {
4176
- this.renderer.addClass(element, 'k-widget');
4177
4457
  this.renderer.addClass(element, 'k-calendar');
4178
- this.renderer.addClass(element, 'k-calendar-range');
4458
+ this.renderer.addClass(element, getSizeClass('calendar', this.size));
4459
+ if (this.views >= 2) {
4460
+ this.renderer.addClass(element, 'k-calendar-range');
4461
+ }
4179
4462
  }
4180
4463
  verifyChanges() {
4181
4464
  if (!isDevMode()) {
@@ -4192,15 +4475,23 @@ class MultiViewCalendarComponent {
4192
4475
  if (!isDevMode()) {
4193
4476
  return;
4194
4477
  }
4195
- if (this.selection === 'single' && candidate && !(candidate instanceof Date)) {
4196
- throw new Error(`The 'value' should be a valid JavaScript Date instance. Check ${VALUE_DOC_LINK$5} for possible resolution.`);
4478
+ if (this.selection === 'single' && candidate && !(isNullOrDate(candidate))) {
4479
+ throw new Error(`When using 'single' selection the 'value' should be a valid JavaScript Date instance. Check ${VALUE_DOC_LINK$5} for possible resolution.`);
4197
4480
  }
4198
- else if (this.selection === 'multiple' && candidate && Array.isArray(candidate)) {
4199
- const onlyDates = candidate.every(value => value instanceof Date);
4200
- if (!onlyDates) {
4201
- throw new Error(`The 'value' should be an array of valid JavaScript Date instances. Check ${VALUE_DOC_LINK$5} for possible resolution.`);
4481
+ else if (this.selection === 'multiple' && candidate) {
4482
+ if (Array.isArray(candidate)) {
4483
+ const onlyDates = candidate.every(value => value instanceof Date);
4484
+ if (!onlyDates) {
4485
+ throw new Error(`When using 'multiple' selection the 'value' should be an array of valid JavaScript Date instances. Check ${VALUE_DOC_LINK$5} for possible resolution.`);
4486
+ }
4487
+ }
4488
+ if (Object.keys(candidate).find(k => k === 'start') && Object.keys(candidate).find(k => k === 'end')) {
4489
+ throw new Error(`When using 'multiple' selection the 'value' should be an array of valid JavaScript Date instances. Check ${VALUE_DOC_LINK$5} for possible resolution.`);
4202
4490
  }
4203
4491
  }
4492
+ else if (this.selection === 'range' && candidate && !(isNullOrDate(candidate['start']) && isNullOrDate(candidate['end']))) {
4493
+ throw new Error(`The 'value' should be an object with start and end dates. Check ${VALUE_DOC_LINK$5} for possible resolution.`);
4494
+ }
4204
4495
  }
4205
4496
  updateButtonState() {
4206
4497
  this.resolvedPromise.then(() => {
@@ -4213,6 +4504,77 @@ class MultiViewCalendarComponent {
4213
4504
  selection = selection || [];
4214
4505
  return this.selection === 'single' ? cloneDate(last(selection)) : selection.map(date => cloneDate(date));
4215
4506
  }
4507
+ setValue(candidate) {
4508
+ this.verifyValue(candidate);
4509
+ if (candidate === null) {
4510
+ this._value = null;
4511
+ this.selectedDates = [];
4512
+ }
4513
+ else if (Array.isArray(candidate)) {
4514
+ this.selectionRange = { start: null, end: null };
4515
+ this._value = candidate.filter(date => isPresent(date)).map(element => cloneDate(element));
4516
+ }
4517
+ else if (isObject(candidate) && Object.keys(candidate).find(k => k === 'start') && Object.keys(candidate).find(k => k === 'end')) {
4518
+ this.selectedDates = [];
4519
+ this.selectionRange = { start: null, end: null };
4520
+ this._value = { start: null, end: null };
4521
+ this._value.start = candidate.start instanceof Date ? cloneDate(candidate.start) : null;
4522
+ this._value.end = candidate.end instanceof Date ? cloneDate(candidate.end) : null;
4523
+ this.selectionRange = Object.assign({}, this._value);
4524
+ if (this._value?.start && !this._value?.end) {
4525
+ this.activeRangeEnd = 'end';
4526
+ this.canHover = true;
4527
+ }
4528
+ if (this._value?.end && !this._value?.start) {
4529
+ this.activeRangeEnd = 'start';
4530
+ this.canHover = true;
4531
+ }
4532
+ if (this._value?.end && this._value?.start) {
4533
+ this.canHover = false;
4534
+ }
4535
+ }
4536
+ else {
4537
+ this.selectionRange = { start: null, end: null };
4538
+ this._value = cloneDate(candidate);
4539
+ }
4540
+ if (this.selection !== 'range') {
4541
+ const selection = [].concat(candidate).filter(date => isPresent(date)).map(date => cloneDate(date));
4542
+ if (!areDatesEqual(selection, this.selectedDates)) {
4543
+ const lastSelected = last(selection);
4544
+ this.rangePivot = cloneDate(lastSelected);
4545
+ this.focusedDate = cloneDate(lastSelected) || this.focusedDate;
4546
+ this.selectedDates = selection;
4547
+ }
4548
+ }
4549
+ }
4550
+ setRangeSelectionToValue() {
4551
+ if (this.selection === 'range' && this.value) {
4552
+ this.selectionRange = this.value;
4553
+ this.cdr.markForCheck();
4554
+ }
4555
+ }
4556
+ performRangeSelection(date) {
4557
+ this.focusedDate = date;
4558
+ const clonedRangeSelection = Object.assign({}, this.selectionRange);
4559
+ const emitValueChange = (this.activeRangeEnd === 'start' && this.value?.start?.getTime() !== date?.getTime()) ||
4560
+ (this.activeRangeEnd === 'end' && this.value?.end?.getTime() !== date?.getTime());
4561
+ this.zone.run(() => {
4562
+ const rangeSelection = handleRangeSelection(date, clonedRangeSelection, this.activeRangeEnd, this.allowReverse);
4563
+ this.activeRangeEnd = rangeSelection.activeRangeEnd;
4564
+ if (this.canHover && rangeSelection.activeRangeEnd === 'end' && rangeSelection.selectionRange.end?.getTime() === date.getTime()) {
4565
+ this.activeRangeEnd = 'start';
4566
+ rangeSelection.activeRangeEnd = 'start';
4567
+ }
4568
+ this.canHover = this.activeRangeEnd === 'end' && rangeSelection.selectionRange.start && !rangeSelection.selectionRange.end;
4569
+ if (emitValueChange && (this.value?.start?.getTime() !== rangeSelection.selectionRange?.start?.getTime() ||
4570
+ this.value?.end?.getTime() !== rangeSelection.selectionRange?.end?.getTime())) {
4571
+ this.value = rangeSelection.selectionRange;
4572
+ this.valueChange.emit(this.value);
4573
+ this.rangeSelectionChange.emit(rangeSelection);
4574
+ }
4575
+ this.cdr.markForCheck();
4576
+ });
4577
+ }
4216
4578
  performSelection(date, selectionModifiers) {
4217
4579
  const selection = this.selectionService.performSelection({
4218
4580
  date: date,
@@ -4229,8 +4591,8 @@ class MultiViewCalendarComponent {
4229
4591
  });
4230
4592
  }
4231
4593
  }
4232
- MultiViewCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarComponent, deps: [{ token: BusViewService }, { token: i0.ElementRef }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: DisabledDatesService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Component });
4233
- MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { showOtherMonthDays: "showOtherMonthDays", showCalendarHeader: "showCalendarHeader", id: "id", focusedDate: "focusedDate", footer: "footer", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", weekDaysFormat: "weekDaysFormat", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], headerTemplateRef: ["headerTemplate", "headerTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar", onClosePopup: "onClosePopup", onTabPress: "onTabPress", onShiftTabPress: "onShiftTabPress" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
4594
+ MultiViewCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarComponent, deps: [{ token: BusViewService }, { token: i0.ElementRef }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: DisabledDatesService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Component });
4595
+ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { showOtherMonthDays: "showOtherMonthDays", showCalendarHeader: "showCalendarHeader", size: "size", id: "id", focusedDate: "focusedDate", footer: "footer", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", allowReverse: "allowReverse", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", weekDaysFormat: "weekDaysFormat", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], headerTemplateRef: ["headerTemplate", "headerTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", rangeSelectionChange: "rangeSelectionChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar", onClosePopup: "onClosePopup", onTabPress: "onTabPress", onShiftTabPress: "onShiftTabPress" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
4234
4596
  BusViewService,
4235
4597
  RANGE_CALENDAR_VALUE_ACCESSOR,
4236
4598
  RANGE_CALENDAR_RANGE_VALIDATORS,
@@ -4261,6 +4623,7 @@ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
4261
4623
  *ngIf="showCalendarHeader"
4262
4624
  [activeView]="activeViewEnum"
4263
4625
  [currentDate]="activeDate"
4626
+ [size]="size"
4264
4627
  [min]="min"
4265
4628
  [max]="max"
4266
4629
  [id]="headerId"
@@ -4278,6 +4641,7 @@ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
4278
4641
  </kendo-calendar-header>
4279
4642
  <kendo-calendar-horizontal
4280
4643
  [showOtherMonthDays]="showOtherMonthDays"
4644
+ [allowReverse]="allowReverse"
4281
4645
  [id]="calendarHeaderIdLabel"
4282
4646
  [attr.aria-labelledby]="multiViewCalendarHeaderIdLabel"
4283
4647
  [activeView]="activeViewEnum"
@@ -4302,7 +4666,7 @@ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
4302
4666
  [disabled]="disabled"
4303
4667
  (cellClick)="handleCellClick($event)"
4304
4668
  (weekNumberCellClick)="handleWeekNumberClick($event)"
4305
- (cellEnter)="emitCellEvent(cellEnter, $event)"
4669
+ (cellEnter)="onCellEnter(cellEnter, $event)"
4306
4670
  (cellLeave)="emitCellEvent(cellLeave, $event)"
4307
4671
  (activeDateChange)="setActiveDate($event)"
4308
4672
  (focusCalendar)="handleFocus()"
@@ -4315,8 +4679,8 @@ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
4315
4679
  [activeViewValue]="activeView"
4316
4680
  [currentDate]="activeDate">
4317
4681
  </kendo-calendar-footer>
4318
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HeaderComponent, selector: "kendo-calendar-header", inputs: ["activeView", "currentDate", "min", "max", "rangeLength", "titleTemplateRef", "headerTemplateRef", "isPrevDisabled", "isNextDisabled", "showNavigationButtons", "orientation", "id"], outputs: ["todayButtonClick", "prevButtonClick", "nextButtonClick"] }, { kind: "component", type: FooterComponent, selector: "kendo-calendar-footer", inputs: ["footerTemplateRef", "activeViewValue", "currentDate"] }, { kind: "component", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: ["showOtherMonthDays", "cellTemplateRef", "weekNumberTemplateRef", "activeRangeEnd", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectionRange", "selectedDates", "views", "showViewHeader", "animateNavigation", "orientation", "activeDescendant", "tabIndex", "disabled", "id", "weekDaysFormat", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "cellEnter", "cellLeave", "activeDateChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { kind: "directive", type: MultiViewCalendarLocalizedMessagesDirective, selector: "[kendoMultiViewCalendarLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarComponent, decorators: [{
4682
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HeaderComponent, selector: "kendo-calendar-header", inputs: ["activeView", "currentDate", "min", "max", "rangeLength", "titleTemplateRef", "headerTemplateRef", "isPrevDisabled", "isNextDisabled", "showNavigationButtons", "orientation", "id", "size"], outputs: ["todayButtonClick", "prevButtonClick", "nextButtonClick"] }, { kind: "component", type: FooterComponent, selector: "kendo-calendar-footer", inputs: ["footerTemplateRef", "activeViewValue", "currentDate"] }, { kind: "component", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: ["showOtherMonthDays", "cellTemplateRef", "weekNumberTemplateRef", "allowReverse", "activeRangeEnd", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectionRange", "selectedDates", "views", "showViewHeader", "animateNavigation", "orientation", "activeDescendant", "tabIndex", "disabled", "id", "weekDaysFormat", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "cellEnter", "cellLeave", "activeDateChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { kind: "directive", type: MultiViewCalendarLocalizedMessagesDirective, selector: "[kendoMultiViewCalendarLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4683
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarComponent, decorators: [{
4320
4684
  type: Component,
4321
4685
  args: [{
4322
4686
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -4354,6 +4718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4354
4718
  *ngIf="showCalendarHeader"
4355
4719
  [activeView]="activeViewEnum"
4356
4720
  [currentDate]="activeDate"
4721
+ [size]="size"
4357
4722
  [min]="min"
4358
4723
  [max]="max"
4359
4724
  [id]="headerId"
@@ -4371,6 +4736,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4371
4736
  </kendo-calendar-header>
4372
4737
  <kendo-calendar-horizontal
4373
4738
  [showOtherMonthDays]="showOtherMonthDays"
4739
+ [allowReverse]="allowReverse"
4374
4740
  [id]="calendarHeaderIdLabel"
4375
4741
  [attr.aria-labelledby]="multiViewCalendarHeaderIdLabel"
4376
4742
  [activeView]="activeViewEnum"
@@ -4395,7 +4761,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4395
4761
  [disabled]="disabled"
4396
4762
  (cellClick)="handleCellClick($event)"
4397
4763
  (weekNumberCellClick)="handleWeekNumberClick($event)"
4398
- (cellEnter)="emitCellEvent(cellEnter, $event)"
4764
+ (cellEnter)="onCellEnter(cellEnter, $event)"
4399
4765
  (cellLeave)="emitCellEvent(cellLeave, $event)"
4400
4766
  (activeDateChange)="setActiveDate($event)"
4401
4767
  (focusCalendar)="handleFocus()"
@@ -4414,6 +4780,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4414
4780
  type: Input
4415
4781
  }], showCalendarHeader: [{
4416
4782
  type: Input
4783
+ }], size: [{
4784
+ type: Input
4417
4785
  }], id: [{
4418
4786
  type: Input
4419
4787
  }], focusedDate: [{
@@ -4430,6 +4798,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4430
4798
  type: Input
4431
4799
  }], selection: [{
4432
4800
  type: Input
4801
+ }], allowReverse: [{
4802
+ type: Input
4433
4803
  }], value: [{
4434
4804
  type: Input
4435
4805
  }], disabled: [{
@@ -4474,6 +4844,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4474
4844
  type: Output
4475
4845
  }], valueChange: [{
4476
4846
  type: Output
4847
+ }], rangeSelectionChange: [{
4848
+ type: Output
4477
4849
  }], blurEvent: [{
4478
4850
  type: Output,
4479
4851
  args: ['blur']
@@ -4584,12 +4956,12 @@ const tbody = domContainerFactory('tbody');
4584
4956
  const thead = domContainerFactory('thead');
4585
4957
  const table = domContainerFactory('table');
4586
4958
  const monthHeader = () => (div$1(`
4587
- <span class="k-button k-nav-fast k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title">March 2017</span>
4959
+ <span class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title">March 2017</span>
4588
4960
  <span class="k-spacer"></span>
4589
4961
  <span class="k-calendar-nav k-hstack">
4590
4962
  <button class="k-calendar-nav-today k-button k-button-md k-button-flat k-button-flat-primary k-rounded-md">TODAY</button>
4591
4963
  </span>
4592
- `, 'k-calendar-header k-hstack'));
4964
+ `, 'k-calendar-header'));
4593
4965
  const monthWeekHeader = () => (table([
4594
4966
  thead([
4595
4967
  tr([th('MO', 'k-calendar-th')], 'k-calendar-tr')
@@ -4733,9 +5105,9 @@ class CalendarDOMService {
4733
5105
  }
4734
5106
  }
4735
5107
  }
4736
- CalendarDOMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarDOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4737
- CalendarDOMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarDOMService });
4738
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarDOMService, decorators: [{
5108
+ CalendarDOMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5109
+ CalendarDOMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDOMService });
5110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDOMService, decorators: [{
4739
5111
  type: Injectable
4740
5112
  }] });
4741
5113
 
@@ -5122,8 +5494,8 @@ class VirtualizationComponent {
5122
5494
  return indexOffset < this.containerScrollPosition ? ScrollDirection.Backward : ScrollDirection.Forward;
5123
5495
  }
5124
5496
  }
5125
- VirtualizationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationComponent, deps: [{ token: SCROLLER_FACTORY_TOKEN }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i12.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
5126
- VirtualizationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: VirtualizationComponent, selector: "kendo-virtualization", inputs: { direction: "direction", itemHeight: "itemHeight", itemWidth: "itemWidth", topOffset: "topOffset", bottomOffset: "bottomOffset", maxScrollDifference: "maxScrollDifference", scrollOffsetSize: "scrollOffsetSize", scrollDuration: "scrollDuration", skip: "skip", take: "take", total: "total" }, outputs: { activeIndexChange: "activeIndexChange", pageChange: "pageChange", scrollChange: "scrollChange" }, host: { properties: { "class.k-flex": "this.wrapperClasses", "class.k-content": "this.wrapperClasses", "class.k-scrollable": "this.wrapperClasses", "class.k-scrollable-horizontal": "this.horizontalClass" } }, providers: [{
5497
+ VirtualizationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationComponent, deps: [{ token: SCROLLER_FACTORY_TOKEN }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1$2.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Component });
5498
+ VirtualizationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: VirtualizationComponent, selector: "kendo-virtualization", inputs: { direction: "direction", itemHeight: "itemHeight", itemWidth: "itemWidth", topOffset: "topOffset", bottomOffset: "bottomOffset", maxScrollDifference: "maxScrollDifference", scrollOffsetSize: "scrollOffsetSize", scrollDuration: "scrollDuration", skip: "skip", take: "take", total: "total" }, outputs: { activeIndexChange: "activeIndexChange", pageChange: "pageChange", scrollChange: "scrollChange" }, host: { properties: { "class.k-flex": "this.wrapperClasses", "class.k-content": "this.wrapperClasses", "class.k-scrollable": "this.wrapperClasses", "class.k-scrollable-horizontal": "this.horizontalClass" } }, providers: [{
5127
5499
  provide: SCROLLER_FACTORY_TOKEN,
5128
5500
  useValue: DEFAULT_SCROLLER_FACTORY
5129
5501
  }], usesOnChanges: true, ngImport: i0, template: `
@@ -5134,7 +5506,7 @@ VirtualizationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
5134
5506
  [ngStyle]="totalVertexLength"
5135
5507
  ></div>
5136
5508
  `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
5137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationComponent, decorators: [{
5509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationComponent, decorators: [{
5138
5510
  type: Component,
5139
5511
  args: [{
5140
5512
  providers: [{
@@ -5154,7 +5526,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5154
5526
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
5155
5527
  type: Inject,
5156
5528
  args: [SCROLLER_FACTORY_TOKEN]
5157
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i12.ScrollbarWidthService }]; }, propDecorators: { direction: [{
5529
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i1$2.ScrollbarWidthService }]; }, propDecorators: { direction: [{
5158
5530
  type: Input
5159
5531
  }], itemHeight: [{
5160
5532
  type: Input
@@ -5293,8 +5665,8 @@ class NavigationComponent {
5293
5665
  }
5294
5666
  }
5295
5667
  }
5296
- NavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationComponent, deps: [{ token: BusViewService }, { token: CalendarDOMService }, { token: i1.IntlService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
5297
- NavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: { activeView: "activeView", min: "min", max: "max", focusedDate: "focusedDate", templateRef: "templateRef" }, outputs: { valueChange: "valueChange", pageChange: "pageChange" }, host: { properties: { "class.k-calendar-navigation": "this.getComponentClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
5668
+ NavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationComponent, deps: [{ token: BusViewService }, { token: CalendarDOMService }, { token: i1.IntlService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
5669
+ NavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: { activeView: "activeView", min: "min", max: "max", focusedDate: "focusedDate", templateRef: "templateRef" }, outputs: { valueChange: "valueChange", pageChange: "pageChange" }, host: { properties: { "class.k-calendar-navigation": "this.getComponentClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
5298
5670
  <span class="k-calendar-navigation-highlight"></span>
5299
5671
  <kendo-virtualization
5300
5672
  [skip]="skip"
@@ -5320,8 +5692,8 @@ NavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
5320
5692
  </li>
5321
5693
  </ul>
5322
5694
  </kendo-virtualization>
5323
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: KForOf, selector: "[kFor][kForOf]", inputs: ["kForOf", "kForTrackBy", "kForTemplate"] }, { kind: "component", type: VirtualizationComponent, selector: "kendo-virtualization", inputs: ["direction", "itemHeight", "itemWidth", "topOffset", "bottomOffset", "maxScrollDifference", "scrollOffsetSize", "scrollDuration", "skip", "take", "total"], outputs: ["activeIndexChange", "pageChange", "scrollChange"] }, { kind: "directive", type: i12.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationComponent, decorators: [{
5695
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: KForOf, selector: "[kFor][kForOf]", inputs: ["kForOf", "kForTrackBy", "kForTemplate"] }, { kind: "component", type: VirtualizationComponent, selector: "kendo-virtualization", inputs: ["direction", "itemHeight", "itemWidth", "topOffset", "bottomOffset", "maxScrollDifference", "scrollOffsetSize", "scrollDuration", "skip", "take", "total"], outputs: ["activeIndexChange", "pageChange", "scrollChange"] }, { kind: "directive", type: i1$2.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5696
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationComponent, decorators: [{
5325
5697
  type: Component,
5326
5698
  args: [{
5327
5699
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -5401,6 +5773,7 @@ class ViewListComponent {
5401
5773
  this.disabled = false;
5402
5774
  this.showFooter = false;
5403
5775
  this.weekDaysFormat = 'short';
5776
+ this.cellEnter = new EventEmitter();
5404
5777
  this.cellClick = new EventEmitter();
5405
5778
  this.weekNumberCellClick = new EventEmitter();
5406
5779
  this.activeDateChange = new EventEmitter();
@@ -5549,10 +5922,11 @@ class ViewListComponent {
5549
5922
  }
5550
5923
  }
5551
5924
  }
5552
- ViewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ViewListComponent, deps: [{ token: BusViewService }, { token: i0.ChangeDetectorRef }, { token: i1.IntlService }, { token: CalendarDOMService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
5553
- ViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: { cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", headerTitleTemplateRef: "headerTitleTemplateRef", headerTemplateRef: "headerTemplateRef", footerTemplateRef: "footerTemplateRef", showOtherMonthDays: "showOtherMonthDays", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectedDates: "selectedDates", tabIndex: "tabIndex", disabled: "disabled", id: "id", showFooter: "showFooter", weekDaysFormat: "weekDaysFormat", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", activeDateChange: "activeDateChange", todayButtonClick: "todayButtonClick", pageChange: "pageChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { properties: { "class.k-vstack": "this.getComponentClass", "class.k-calendar-view": "this.getComponentClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true }, { propertyName: "headerComponent", first: true, predicate: HeaderComponent, descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
5925
+ ViewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewListComponent, deps: [{ token: BusViewService }, { token: i0.ChangeDetectorRef }, { token: i1.IntlService }, { token: CalendarDOMService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
5926
+ ViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: { allowReverse: "allowReverse", cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", headerTitleTemplateRef: "headerTitleTemplateRef", headerTemplateRef: "headerTemplateRef", footerTemplateRef: "footerTemplateRef", showOtherMonthDays: "showOtherMonthDays", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectedDates: "selectedDates", tabIndex: "tabIndex", disabled: "disabled", id: "id", showFooter: "showFooter", weekDaysFormat: "weekDaysFormat", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", size: "size", weekNumber: "weekNumber" }, outputs: { cellEnter: "cellEnter", cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", activeDateChange: "activeDateChange", todayButtonClick: "todayButtonClick", pageChange: "pageChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { properties: { "class.k-vstack": "this.getComponentClass", "class.k-calendar-view": "this.getComponentClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true }, { propertyName: "headerComponent", first: true, predicate: HeaderComponent, descendants: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
5554
5927
  <kendo-calendar-header
5555
5928
  [currentDate]="activeDate"
5929
+ [size]="size"
5556
5930
  [min]="min"
5557
5931
  [max]="max"
5558
5932
  [id]="id"
@@ -5597,6 +5971,9 @@ ViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
5597
5971
  <tbody class="k-calendar-tbody"
5598
5972
  *kFor="let date of dates"
5599
5973
  kendoCalendarView
5974
+ [allowReverse]="allowReverse"
5975
+ [activeRangeEnd]="activeRangeEnd"
5976
+ [selectionRange]="selectionRange"
5600
5977
  [showOtherMonthDays]="showOtherMonthDays"
5601
5978
  [headerTitle]="headerTitle"
5602
5979
  role="rowgroup"
@@ -5613,6 +5990,7 @@ ViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
5613
5990
  (cellClick)="cellClick.emit($event)"
5614
5991
  (weekNumberCellClick)="weekNumberCellClick.emit($event)"
5615
5992
  (focusedCellId)="focusedCellChange.emit($event)"
5993
+ (cellEnter)="cellEnter.emit($event)"
5616
5994
  ></tbody>
5617
5995
  </table>
5618
5996
  </kendo-virtualization>
@@ -5622,8 +6000,8 @@ ViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
5622
6000
  [activeViewValue]="activeViewValue"
5623
6001
  [currentDate]="activeDate">
5624
6002
  </kendo-calendar-footer>
5625
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: KForOf, selector: "[kFor][kForOf]", inputs: ["kForOf", "kForTrackBy", "kForTemplate"] }, { kind: "component", type: HeaderComponent, selector: "kendo-calendar-header", inputs: ["activeView", "currentDate", "min", "max", "rangeLength", "titleTemplateRef", "headerTemplateRef", "isPrevDisabled", "isNextDisabled", "showNavigationButtons", "orientation", "id"], outputs: ["todayButtonClick", "prevButtonClick", "nextButtonClick"] }, { kind: "component", type: FooterComponent, selector: "kendo-calendar-footer", inputs: ["footerTemplateRef", "activeViewValue", "currentDate"] }, { kind: "component", type: ViewComponent, selector: "[kendoCalendarView]", inputs: ["showOtherMonthDays", "direction", "isActive", "activeView", "cellUID", "focusedDate", "viewDate", "activeRangeEnd", "selectionRange", "min", "max", "selectedDates", "weekNumber", "viewIndex", "templateRef", "weekNumberTemplateRef", "headerTitle"], outputs: ["cellClick", "weekNumberCellClick", "cellEnter", "cellLeave", "focusedCellId"] }, { kind: "component", type: VirtualizationComponent, selector: "kendo-virtualization", inputs: ["direction", "itemHeight", "itemWidth", "topOffset", "bottomOffset", "maxScrollDifference", "scrollOffsetSize", "scrollDuration", "skip", "take", "total"], outputs: ["activeIndexChange", "pageChange", "scrollChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ViewListComponent, decorators: [{
6003
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: KForOf, selector: "[kFor][kForOf]", inputs: ["kForOf", "kForTrackBy", "kForTemplate"] }, { kind: "component", type: HeaderComponent, selector: "kendo-calendar-header", inputs: ["activeView", "currentDate", "min", "max", "rangeLength", "titleTemplateRef", "headerTemplateRef", "isPrevDisabled", "isNextDisabled", "showNavigationButtons", "orientation", "id", "size"], outputs: ["todayButtonClick", "prevButtonClick", "nextButtonClick"] }, { kind: "component", type: FooterComponent, selector: "kendo-calendar-footer", inputs: ["footerTemplateRef", "activeViewValue", "currentDate"] }, { 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: "component", type: VirtualizationComponent, selector: "kendo-virtualization", inputs: ["direction", "itemHeight", "itemWidth", "topOffset", "bottomOffset", "maxScrollDifference", "scrollOffsetSize", "scrollDuration", "skip", "take", "total"], outputs: ["activeIndexChange", "pageChange", "scrollChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6004
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewListComponent, decorators: [{
5627
6005
  type: Component,
5628
6006
  args: [{
5629
6007
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -5631,6 +6009,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5631
6009
  template: `
5632
6010
  <kendo-calendar-header
5633
6011
  [currentDate]="activeDate"
6012
+ [size]="size"
5634
6013
  [min]="min"
5635
6014
  [max]="max"
5636
6015
  [id]="id"
@@ -5675,6 +6054,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5675
6054
  <tbody class="k-calendar-tbody"
5676
6055
  *kFor="let date of dates"
5677
6056
  kendoCalendarView
6057
+ [allowReverse]="allowReverse"
6058
+ [activeRangeEnd]="activeRangeEnd"
6059
+ [selectionRange]="selectionRange"
5678
6060
  [showOtherMonthDays]="showOtherMonthDays"
5679
6061
  [headerTitle]="headerTitle"
5680
6062
  role="rowgroup"
@@ -5691,6 +6073,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5691
6073
  (cellClick)="cellClick.emit($event)"
5692
6074
  (weekNumberCellClick)="weekNumberCellClick.emit($event)"
5693
6075
  (focusedCellId)="focusedCellChange.emit($event)"
6076
+ (cellEnter)="cellEnter.emit($event)"
5694
6077
  ></tbody>
5695
6078
  </table>
5696
6079
  </kendo-virtualization>
@@ -5702,7 +6085,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5702
6085
  </kendo-calendar-footer>
5703
6086
  `
5704
6087
  }]
5705
- }], ctorParameters: function () { return [{ type: BusViewService }, { type: i0.ChangeDetectorRef }, { type: i1.IntlService }, { type: CalendarDOMService }, { type: i0.Renderer2 }]; }, propDecorators: { cellTemplateRef: [{
6088
+ }], ctorParameters: function () { return [{ type: BusViewService }, { type: i0.ChangeDetectorRef }, { type: i1.IntlService }, { type: CalendarDOMService }, { type: i0.Renderer2 }]; }, propDecorators: { allowReverse: [{
6089
+ type: Input
6090
+ }], cellTemplateRef: [{
5706
6091
  type: Input
5707
6092
  }], weekNumberTemplateRef: [{
5708
6093
  type: Input
@@ -5738,8 +6123,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5738
6123
  type: Input
5739
6124
  }], weekDaysFormat: [{
5740
6125
  type: Input
6126
+ }], activeRangeEnd: [{
6127
+ type: Input
6128
+ }], selectionRange: [{
6129
+ type: Input
6130
+ }], size: [{
6131
+ type: Input
5741
6132
  }], weekNumber: [{
5742
6133
  type: Input
6134
+ }], cellEnter: [{
6135
+ type: Output
5743
6136
  }], cellClick: [{
5744
6137
  type: Output
5745
6138
  }], weekNumberCellClick: [{
@@ -5853,9 +6246,9 @@ class ScrollSyncService {
5853
6246
  }
5854
6247
  }
5855
6248
  }
5856
- ScrollSyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ScrollSyncService, deps: [{ token: CalendarDOMService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
5857
- ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ScrollSyncService });
5858
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ScrollSyncService, decorators: [{
6249
+ ScrollSyncService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollSyncService, deps: [{ token: CalendarDOMService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
6250
+ ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollSyncService });
6251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollSyncService, decorators: [{
5859
6252
  type: Injectable
5860
6253
  }], ctorParameters: function () { return [{ type: CalendarDOMService }, { type: i0.NgZone }]; } });
5861
6254
 
@@ -5889,9 +6282,9 @@ class NavigationItemTemplateDirective {
5889
6282
  this.templateRef = templateRef;
5890
6283
  }
5891
6284
  }
5892
- NavigationItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
5893
- NavigationItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NavigationItemTemplateDirective, selector: "[kendoCalendarNavigationItemTemplate]", ngImport: i0 });
5894
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationItemTemplateDirective, decorators: [{
6285
+ NavigationItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6286
+ NavigationItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NavigationItemTemplateDirective, selector: "[kendoCalendarNavigationItemTemplate]", ngImport: i0 });
6287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationItemTemplateDirective, decorators: [{
5895
6288
  type: Directive,
5896
6289
  args: [{
5897
6290
  selector: '[kendoCalendarNavigationItemTemplate]'
@@ -5922,14 +6315,14 @@ class MultiViewCalendarCustomMessagesComponent extends Messages {
5922
6315
  return true;
5923
6316
  }
5924
6317
  }
5925
- MultiViewCalendarCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
5926
- MultiViewCalendarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages", providers: [
6318
+ MultiViewCalendarCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
6319
+ MultiViewCalendarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages", providers: [
5927
6320
  {
5928
6321
  provide: Messages,
5929
6322
  useExisting: forwardRef(() => MultiViewCalendarCustomMessagesComponent)
5930
6323
  }
5931
6324
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
5932
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarCustomMessagesComponent, decorators: [{
6325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarCustomMessagesComponent, decorators: [{
5933
6326
  type: Component,
5934
6327
  args: [{
5935
6328
  providers: [
@@ -5948,9 +6341,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5948
6341
  */
5949
6342
  class CalendarMessages extends ComponentMessages {
5950
6343
  }
5951
- CalendarMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5952
- CalendarMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: CalendarMessages, selector: "kendo-calendar-messages-base", inputs: { today: "today", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle" }, usesInheritance: true, ngImport: i0 });
5953
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarMessages, decorators: [{
6344
+ CalendarMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6345
+ CalendarMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CalendarMessages, selector: "kendo-calendar-messages-base", inputs: { today: "today", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle" }, usesInheritance: true, ngImport: i0 });
6346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarMessages, decorators: [{
5954
6347
  type: Directive,
5955
6348
  args: [{
5956
6349
  // eslint-disable-next-line
@@ -5975,14 +6368,14 @@ class CalendarLocalizedMessagesDirective extends CalendarMessages {
5975
6368
  this.service = service;
5976
6369
  }
5977
6370
  }
5978
- CalendarLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
5979
- CalendarLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]", providers: [
6371
+ CalendarLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
6372
+ CalendarLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]", providers: [
5980
6373
  {
5981
6374
  provide: CalendarMessages,
5982
6375
  useExisting: forwardRef(() => CalendarLocalizedMessagesDirective)
5983
6376
  }
5984
6377
  ], usesInheritance: true, ngImport: i0 });
5985
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarLocalizedMessagesDirective, decorators: [{
6378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarLocalizedMessagesDirective, decorators: [{
5986
6379
  type: Directive,
5987
6380
  args: [{
5988
6381
  providers: [
@@ -6067,15 +6460,14 @@ class CalendarComponent {
6067
6460
  * @default false
6068
6461
  */
6069
6462
  this.footer = false;
6463
+ this._selection = 'single';
6070
6464
  /**
6071
- * Sets the Calendar selection mode
6072
- * ([see example]({% slug multiple_selection_calendar %})).
6465
+ * Allows reverse selection when using `range` selection.
6466
+ * If `allowReverse` is set to `true`, the component skips the validation of whether the start date is after the end date.
6073
6467
  *
6074
- * The available values are:
6075
- * * `single` (default)
6076
- * * `multiple`
6468
+ * @default false
6077
6469
  */
6078
- this.selection = 'single';
6470
+ this.allowReverse = false;
6079
6471
  /**
6080
6472
  * Sets or gets the `disabled` property of the Calendar and
6081
6473
  * determines whether the component is active
@@ -6160,8 +6552,10 @@ class CalendarComponent {
6160
6552
  */
6161
6553
  this.valueChange = new EventEmitter();
6162
6554
  this._size = DEFAULT_SIZE;
6555
+ this._activeRangeEnd = 'start';
6163
6556
  this.isActive = false;
6164
6557
  this.cellUID = guid();
6558
+ this.selectionRange = { start: null, end: null };
6165
6559
  this.selectedDates = [];
6166
6560
  this._min = new Date(MIN_DATE);
6167
6561
  this._max = new Date(MAX_DATE);
@@ -6171,14 +6565,17 @@ class CalendarComponent {
6171
6565
  this.onValidatorChange = noop$2;
6172
6566
  this.minValidateFn = noop$2;
6173
6567
  this.maxValidateFn = noop$2;
6568
+ this.changes = {};
6569
+ this.valueSetter = false;
6570
+ this.selectionSetter = false;
6174
6571
  this.syncNavigation = true;
6175
6572
  this._type = 'infinite';
6176
6573
  this.domEvents = [];
6177
6574
  this.resolvedPromise = Promise.resolve(null);
6178
6575
  this.destroyed = false;
6576
+ this.canHover = false;
6179
6577
  validatePackage(packageMetadata);
6180
6578
  this.id = `kendo-calendarid-${this.bus.calendarId}`;
6181
- this.setClasses(element.nativeElement);
6182
6579
  if (this.pickerService) {
6183
6580
  this.pickerService.calendar = this;
6184
6581
  }
@@ -6262,29 +6659,37 @@ class CalendarComponent {
6262
6659
  get max() {
6263
6660
  return this._max;
6264
6661
  }
6662
+ /**
6663
+ * Sets the Calendar selection mode
6664
+ * ([see example]({% slug multiple_selection_calendar %})).
6665
+ *
6666
+ * The available values are:
6667
+ * * `single` (default)
6668
+ * * `multiple`
6669
+ * * `range`
6670
+ */
6671
+ set selection(_selection) {
6672
+ this._selection = _selection;
6673
+ this.selectionSetter = true;
6674
+ }
6675
+ get selection() {
6676
+ return this._selection;
6677
+ }
6265
6678
  /**
6266
6679
  * Sets or gets the `value` property of the Calendar and defines the selected value of the component.
6267
6680
  *
6268
6681
  * > The `value` has to be a valid
6269
6682
  * [JavaScript `Date`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date)
6270
- * instance when in `single` selection mode or an array of valid JavaScript Date instances when in `multiple` selection mode.
6683
+ * instance when in `single` selection mode, an array of valid JavaScript Date instances when in `multiple` selection mode, or
6684
+ * an object of type `SelectionRange` when in `range` selection mode.
6271
6685
  */
6686
+ set value(candidate) {
6687
+ this.valueSetter = true;
6688
+ this._value = candidate;
6689
+ }
6272
6690
  get value() {
6273
6691
  return this._value;
6274
6692
  }
6275
- set value(candidate) {
6276
- this.verifyValue(candidate);
6277
- this._value = Array.isArray(candidate) ?
6278
- candidate.filter(date => isPresent(date)).map(element => cloneDate(element)) :
6279
- cloneDate(candidate);
6280
- const selection = [].concat(candidate).filter(date => isPresent(date)).map(date => cloneDate(date));
6281
- if (!areDatesEqual(selection, this.selectedDates)) {
6282
- const lastSelected = last(selection);
6283
- this.rangePivot = cloneDate(lastSelected);
6284
- this.focusedDate = cloneDate(lastSelected) || this.focusedDate;
6285
- this.selectedDates = selection;
6286
- }
6287
- }
6288
6693
  /**
6289
6694
  * @hidden
6290
6695
  */
@@ -6315,7 +6720,9 @@ class CalendarComponent {
6315
6720
  */
6316
6721
  set type(type) {
6317
6722
  this.renderer.removeClass(this.element.nativeElement, `k-calendar-${this.type}`);
6318
- this.renderer.addClass(this.element.nativeElement, `k-calendar-${type}`);
6723
+ if (type === 'infinite') {
6724
+ this.renderer.addClass(this.element.nativeElement, `k-calendar-${type}`);
6725
+ }
6319
6726
  this._type = type;
6320
6727
  }
6321
6728
  get type() {
@@ -6454,17 +6861,23 @@ class CalendarComponent {
6454
6861
  *
6455
6862
  */
6456
6863
  set size(size) {
6457
- const element = this.type === 'infinite' ? this.element : this.multiViewCalendar.element;
6458
- this.renderer.removeClass(element.nativeElement, getSizeClass('calendar', this.size));
6459
- const newSize = size ? size : DEFAULT_SIZE;
6460
- if (newSize !== 'none') {
6461
- this.renderer.addClass(element.nativeElement, getSizeClass('calendar', newSize));
6462
- }
6463
- this._size = newSize;
6864
+ this._size = size;
6464
6865
  }
6465
6866
  get size() {
6466
6867
  return this._size;
6467
6868
  }
6869
+ /**
6870
+ * Specify, which end of the defined selection range should be marked as active.
6871
+ *
6872
+ * > Value will be ignored if the selection range is undefined.
6873
+ * > If range selection is used then the default value is 'start'.
6874
+ */
6875
+ set activeRangeEnd(_activeRangeEnd) {
6876
+ this._activeRangeEnd = _activeRangeEnd;
6877
+ }
6878
+ get activeRangeEnd() {
6879
+ return this._activeRangeEnd;
6880
+ }
6468
6881
  get activeViewEnum() {
6469
6882
  const activeView = CalendarViewEnum[this.activeView];
6470
6883
  return activeView < this.bottomViewEnum ? this.bottomViewEnum : activeView;
@@ -6483,6 +6896,7 @@ class CalendarComponent {
6483
6896
  return this.type === 'classic' ? undefined : this.disabled;
6484
6897
  }
6485
6898
  ngOnInit() {
6899
+ this.setClasses(this.element.nativeElement);
6486
6900
  if (this.type === 'infinite') {
6487
6901
  this.dom.calculateHeights(this.element.nativeElement);
6488
6902
  this.scrollSyncService.configure(this.activeViewEnum);
@@ -6497,26 +6911,42 @@ class CalendarComponent {
6497
6911
  }
6498
6912
  }
6499
6913
  ngOnChanges(changes) {
6914
+ this.changes = changes;
6500
6915
  this.verifyChanges();
6501
6916
  this.bus.configure(this.bottomViewEnum, this.topViewEnum);
6502
6917
  this.scrollSyncService.configure(this.activeViewEnum);
6503
- if (hasExistingValue(changes, 'focusedDate')) {
6504
- const focusedDate = changes.focusedDate.currentValue;
6918
+ }
6919
+ ngDoCheck() {
6920
+ if (this.valueSetter || this.selectionSetter) {
6921
+ if (this.selection === 'range' &&
6922
+ (this.value?.start || this.value?.end) &&
6923
+ this.focusedDate.getTime() !== this.value.start?.getTime() &&
6924
+ this.focusedDate.getTime() !== this.value.end?.getTime()) {
6925
+ this.focusedDate = this.value.start || this.value.end || getToday();
6926
+ }
6927
+ this.setValue(this.value);
6928
+ this.valueSetter = false;
6929
+ this.selectionSetter = false;
6930
+ }
6931
+ if (hasExistingValue(this.changes, 'focusedDate')) {
6932
+ const focusedDate = this.changes.focusedDate.currentValue;
6505
6933
  this.focusedDate = dateInRange(focusedDate, this.min, this.max);
6506
6934
  }
6507
- if (changes.navigation) {
6935
+ if (this.changes.navigation) {
6508
6936
  this.syncNavigation = true;
6509
6937
  }
6510
- if (changes.min || changes.max || changes.rangeValidation) {
6938
+ if (this.changes.min || this.changes.max || this.changes.rangeValidation) {
6511
6939
  this.minValidateFn = this.rangeValidation ? minValidator(this.min) : noop$2;
6512
6940
  this.maxValidateFn = this.rangeValidation ? maxValidator(this.max) : noop$2;
6513
6941
  this.onValidatorChange();
6514
6942
  }
6943
+ this.changes = {};
6515
6944
  }
6516
6945
  ngAfterViewInit() {
6517
6946
  this.setAriaActivedescendant();
6518
6947
  if (this.size !== 'none') {
6519
6948
  const element = this.type === 'infinite' ? this.element : this.multiViewCalendar.element;
6949
+ this.renderer.removeClass(element.nativeElement, getSizeClass('calendar', this.size));
6520
6950
  this.renderer.addClass(element.nativeElement, getSizeClass('calendar', this.size));
6521
6951
  }
6522
6952
  }
@@ -6544,6 +6974,31 @@ class CalendarComponent {
6544
6974
  }
6545
6975
  this.destroyed = true;
6546
6976
  }
6977
+ /**
6978
+ * @hidden
6979
+ */
6980
+ onCellEnter(date) {
6981
+ if (this.selection === 'range' && this.canHover) {
6982
+ this.ngZone.run(() => {
6983
+ if (this.allowReverse) {
6984
+ if (this.activeRangeEnd === 'end' && this.selectionRange.start) {
6985
+ this.selectionRange = { start: this.selectionRange.start, end: date };
6986
+ }
6987
+ if (this.activeRangeEnd === 'start' && this.selectionRange.end) {
6988
+ this.selectionRange = { start: date, end: this.selectionRange.end };
6989
+ }
6990
+ }
6991
+ else {
6992
+ if (this.activeRangeEnd === 'end' && this.selectionRange.start && date >= this.selectionRange.start) {
6993
+ this.selectionRange = { start: this.selectionRange.start, end: date };
6994
+ }
6995
+ if (this.selectionRange.start && date < this.selectionRange.start) {
6996
+ this.selectionRange = { start: this.selectionRange.start, end: null };
6997
+ }
6998
+ }
6999
+ });
7000
+ }
7001
+ }
6547
7002
  /**
6548
7003
  * @hidden
6549
7004
  */
@@ -6617,9 +7072,14 @@ class CalendarComponent {
6617
7072
  /**
6618
7073
  * @hidden
6619
7074
  */
6620
- handleMultiViewCalendarValueChange(date, focusedDate) {
6621
- const selectedDates = Array.isArray(date) ? date : [date];
6622
- this.handleDateChange({ selectedDates, focusedDate });
7075
+ handleMultiViewCalendarValueChange(value, focusedDate) {
7076
+ if (this.selection === 'range') {
7077
+ this.valueChange.emit(value);
7078
+ }
7079
+ else {
7080
+ const selectedDates = (Array.isArray(value) ? value : [value]);
7081
+ this.handleDateChange({ selectedDates, focusedDate });
7082
+ }
6623
7083
  }
6624
7084
  /**
6625
7085
  * @hidden
@@ -6643,6 +7103,9 @@ class CalendarComponent {
6643
7103
  if (this.disabledDatesService.isDateDisabled(this.focusedDate)) {
6644
7104
  return;
6645
7105
  }
7106
+ if (this.selection === 'range') {
7107
+ return;
7108
+ }
6646
7109
  this.ngZone.run(() => {
6647
7110
  this.selectedDates = availableDates.map(date => cloneDate(date));
6648
7111
  this.value = this.parseSelectionToValue(availableDates);
@@ -6755,8 +7218,13 @@ class CalendarComponent {
6755
7218
  */
6756
7219
  handleCellClick({ date, modifiers }) {
6757
7220
  this.focus();
6758
- this.selectionService.lastClicked = date;
6759
- this.performSelection(date, modifiers);
7221
+ if (this.selection === 'range') {
7222
+ this.performRangeSelection(date);
7223
+ }
7224
+ else {
7225
+ this.selectionService.lastClicked = date;
7226
+ this.performSelection(date, modifiers);
7227
+ }
6760
7228
  }
6761
7229
  /**
6762
7230
  * @hidden
@@ -6766,10 +7234,22 @@ class CalendarComponent {
6766
7234
  return;
6767
7235
  }
6768
7236
  this.ngZone.run(() => {
6769
- this.handleDateChange({
6770
- selectedDates: dates,
6771
- focusedDate: last(dates)
6772
- });
7237
+ if (this.selection === 'multiple') {
7238
+ this.handleDateChange({
7239
+ selectedDates: dates,
7240
+ focusedDate: last(dates),
7241
+ });
7242
+ }
7243
+ if (this.selection === 'range') {
7244
+ this.canHover = false;
7245
+ this.activeRangeEnd = 'start';
7246
+ const shouldEmitValueChange = this.selectionRange.start?.getTime() !== dates[0].getTime() ||
7247
+ this.selectionRange.end?.getTime() !== last(dates).getTime();
7248
+ this.value = { start: dates[0], end: last(dates) };
7249
+ if (shouldEmitValueChange) {
7250
+ this.valueChange.emit(this.value);
7251
+ }
7252
+ }
6773
7253
  });
6774
7254
  }
6775
7255
  /**
@@ -6814,9 +7294,11 @@ class CalendarComponent {
6814
7294
  }
6815
7295
  }
6816
7296
  setClasses(element) {
6817
- this.renderer.addClass(element, 'k-widget');
6818
- this.renderer.addClass(element, 'k-calendar');
6819
- this.renderer.addClass(element, `k-calendar-${this.type}`);
7297
+ this.renderer.removeClass(element, `k-calendar-${this.type}`);
7298
+ if (this.type === 'infinite') {
7299
+ this.renderer.addClass(element, 'k-calendar');
7300
+ this.renderer.addClass(element, `k-calendar-${this.type}`);
7301
+ }
6820
7302
  }
6821
7303
  verifyChanges() {
6822
7304
  if (!isDevMode()) {
@@ -6833,19 +7315,35 @@ class CalendarComponent {
6833
7315
  if (!isDevMode()) {
6834
7316
  return;
6835
7317
  }
6836
- if (this.selection === 'single' && candidate && !(candidate instanceof Date)) {
6837
- throw new Error(`The 'value' should be a valid JavaScript Date instance. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
7318
+ if (this.selection === 'single' && candidate && !(isNullOrDate(candidate))) {
7319
+ throw new Error(`When using 'single' selection the 'value' should be a valid JavaScript Date instance. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
6838
7320
  }
6839
- else if (this.selection === 'multiple' && candidate && Array.isArray(candidate)) {
6840
- const onlyDates = candidate.every(value => value instanceof Date);
6841
- if (!onlyDates) {
6842
- throw new Error(`The 'value' should be an array of valid JavaScript Date instances. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
7321
+ else if (this.selection === 'multiple' && candidate) {
7322
+ if (Array.isArray(candidate)) {
7323
+ const onlyDates = candidate.every(value => value instanceof Date);
7324
+ if (!onlyDates) {
7325
+ throw new Error(`When using 'multiple' selection the 'value' should be an array of valid JavaScript Date instances. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
7326
+ }
7327
+ }
7328
+ if (Object.keys(candidate).find(k => k === 'start') && Object.keys(candidate).find(k => k === 'end')) {
7329
+ throw new Error(`When using 'multiple' selection the 'value' should be an array of valid JavaScript Date instances. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
6843
7330
  }
6844
7331
  }
7332
+ else if (this.selection === 'range' && candidate && !(isNullOrDate(candidate['start']) && isNullOrDate(candidate['end']))) {
7333
+ throw new Error(`The 'value' should be an object with start and end dates. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
7334
+ }
6845
7335
  }
6846
7336
  bindEvents() {
6847
7337
  const element = this.element.nativeElement;
6848
- this.domEvents.push(this.renderer.listen(element, 'focus', this.handleFocus.bind(this)), this.renderer.listen(element, 'mousedown', preventDefault), this.renderer.listen(element, 'click', this.handleComponentClick.bind(this)), this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
7338
+ this.domEvents.push(this.renderer.listen(element, 'focus', this.handleFocus.bind(this)), this.renderer.listen(element, 'mousedown', preventDefault), this.renderer.listen(element, 'click', this.handleComponentClick.bind(this)), this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)), this.renderer.listen(element, 'mouseleave', this.setRangeSelectionToValue.bind(this)));
7339
+ }
7340
+ setRangeSelectionToValue() {
7341
+ if (this.selection === 'range' && this.value) {
7342
+ this.ngZone.run(() => {
7343
+ this.selectionRange = this.value;
7344
+ this.cdr.markForCheck();
7345
+ });
7346
+ }
6849
7347
  }
6850
7348
  emitBlur(args) {
6851
7349
  if (this.pickerService) {
@@ -6893,12 +7391,17 @@ class CalendarComponent {
6893
7391
  }
6894
7392
  if (args.keyCode === Keys$1.Enter) {
6895
7393
  this.selectionService.lastClicked = this.focusedDate;
6896
- this.performSelection(this.focusedDate, args);
7394
+ if (this.selection !== 'range') {
7395
+ this.performSelection(this.focusedDate, args);
7396
+ }
7397
+ else {
7398
+ this.performRangeSelection(this.focusedDate);
7399
+ }
6897
7400
  }
6898
7401
  if (args.keyCode === Keys$1.KeyT) {
6899
7402
  this.focusToday();
6900
7403
  }
6901
- if (isArrowWithShiftPressed(args)) {
7404
+ if (isArrowWithShiftPressed(args) && this.selection !== 'range') {
6902
7405
  args.anyArrow = true;
6903
7406
  this.performSelection(this.focusedDate, args);
6904
7407
  }
@@ -6937,6 +7440,71 @@ class CalendarComponent {
6937
7440
  selection = selection || [];
6938
7441
  return this.selection === 'single' ? cloneDate(last(selection)) : selection.map(date => cloneDate(date));
6939
7442
  }
7443
+ setValue(candidate) {
7444
+ this.verifyValue(candidate);
7445
+ if (candidate === null) {
7446
+ this._value = null;
7447
+ this.selectedDates = [];
7448
+ this.selectionRange = { start: null, end: null };
7449
+ }
7450
+ else if (Array.isArray(candidate)) {
7451
+ this.selectionRange = { start: null, end: null };
7452
+ this._value = candidate.filter(date => isPresent(date)).map(element => cloneDate(element));
7453
+ }
7454
+ else if (isObject(candidate) && Object.keys(candidate).find(k => k === 'start') && Object.keys(candidate).find(k => k === 'end')) {
7455
+ this.selectedDates = [];
7456
+ this.selectionRange = { start: null, end: null };
7457
+ this._value = { start: null, end: null };
7458
+ this._value.start = candidate.start instanceof Date ? cloneDate(candidate.start) : null;
7459
+ this._value.end = candidate.end instanceof Date ? cloneDate(candidate.end) : null;
7460
+ this.selectionRange = Object.assign({}, this._value);
7461
+ if (this._value?.start && !this._value?.end) {
7462
+ this.activeRangeEnd = 'end';
7463
+ this.canHover = true;
7464
+ }
7465
+ if (this._value?.end && !this._value?.start) {
7466
+ this.activeRangeEnd = 'start';
7467
+ this.canHover = true;
7468
+ }
7469
+ if (this._value?.end && this._value?.start) {
7470
+ this.canHover = false;
7471
+ }
7472
+ }
7473
+ else {
7474
+ this.selectionRange = { start: null, end: null };
7475
+ this._value = cloneDate(candidate);
7476
+ }
7477
+ if (this.selection !== 'range') {
7478
+ const selection = [].concat(candidate).filter(date => isPresent(date)).map(date => cloneDate(date));
7479
+ if (!areDatesEqual(selection, this.selectedDates)) {
7480
+ const lastSelected = last(selection);
7481
+ this.rangePivot = cloneDate(lastSelected);
7482
+ this.focusedDate = cloneDate(lastSelected) || this.focusedDate;
7483
+ this.selectedDates = selection;
7484
+ }
7485
+ }
7486
+ }
7487
+ performRangeSelection(date) {
7488
+ this.focusedDate = date;
7489
+ const clonedRangeSelection = Object.assign({}, this.selectionRange);
7490
+ const emitValueChange = (this.activeRangeEnd === 'start' && this.value?.start?.getTime() !== date?.getTime()) ||
7491
+ (this.activeRangeEnd === 'end' && this.value?.end?.getTime() !== date?.getTime());
7492
+ this.ngZone.run(() => {
7493
+ const rangeSelection = handleRangeSelection(date, clonedRangeSelection, this.activeRangeEnd, this.allowReverse);
7494
+ this.activeRangeEnd = rangeSelection.activeRangeEnd;
7495
+ if (this.canHover && rangeSelection.activeRangeEnd === 'end' && rangeSelection.selectionRange.end?.getTime() === date.getTime()) {
7496
+ this.activeRangeEnd = 'start';
7497
+ rangeSelection.activeRangeEnd = 'start';
7498
+ }
7499
+ this.canHover = this.activeRangeEnd === 'end' && rangeSelection.selectionRange.start && !rangeSelection.selectionRange.end;
7500
+ if (emitValueChange && (this.value?.start?.getTime() !== rangeSelection.selectionRange?.start?.getTime() ||
7501
+ this.value?.end?.getTime() !== rangeSelection.selectionRange?.end?.getTime())) {
7502
+ this.value = rangeSelection.selectionRange;
7503
+ this.valueChange.emit(this.value);
7504
+ }
7505
+ this.cdr.markForCheck();
7506
+ });
7507
+ }
6940
7508
  performSelection(date, selectionModifiers) {
6941
7509
  const selection = this.selectionService.performSelection({
6942
7510
  date: date,
@@ -6953,8 +7521,8 @@ class CalendarComponent {
6953
7521
  });
6954
7522
  }
6955
7523
  }
6956
- CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarComponent, deps: [{ token: BusViewService }, { token: CalendarDOMService }, { token: i0.ElementRef }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: ScrollSyncService }, { token: DisabledDatesService }, { token: i1$1.LocalizationService }, { token: SelectionService }, { token: PickerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
6957
- CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CalendarComponent, selector: "kendo-calendar", inputs: { showOtherMonthDays: "showOtherMonthDays", id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", weekDaysFormat: "weekDaysFormat", footer: "footer", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", disabledDates: "disabledDates", navigation: "navigation", activeView: "activeView", bottomView: "bottomView", topView: "topView", type: "type", animateNavigation: "animateNavigation", weekNumber: "weekNumber", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"], size: "size" }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", activeViewDateChange: "activeViewDateChange", onBlur: "blur", onFocus: "focus", valueChange: "valueChange" }, host: { properties: { "class.k-week-number": "this.weekNumber", "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
7524
+ CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarComponent, deps: [{ token: BusViewService }, { token: CalendarDOMService }, { token: i0.ElementRef }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: ScrollSyncService }, { token: DisabledDatesService }, { token: i1$1.LocalizationService }, { token: SelectionService }, { token: PickerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
7525
+ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CalendarComponent, selector: "kendo-calendar", inputs: { showOtherMonthDays: "showOtherMonthDays", id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", weekDaysFormat: "weekDaysFormat", footer: "footer", selection: "selection", allowReverse: "allowReverse", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", disabledDates: "disabledDates", navigation: "navigation", activeView: "activeView", bottomView: "bottomView", topView: "topView", type: "type", animateNavigation: "animateNavigation", weekNumber: "weekNumber", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"], size: "size", activeRangeEnd: "activeRangeEnd" }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", activeViewDateChange: "activeViewDateChange", onBlur: "blur", onFocus: "focus", valueChange: "valueChange" }, host: { properties: { "class.k-week-number": "this.weekNumber", "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
6958
7526
  BusViewService,
6959
7527
  CALENDAR_VALUE_ACCESSOR,
6960
7528
  CALENDAR_RANGE_VALIDATORS,
@@ -6997,7 +7565,11 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
6997
7565
  </kendo-calendar-navigation>
6998
7566
  <kendo-calendar-viewlist
6999
7567
  [activeView]="activeViewEnum"
7568
+ [allowReverse]="allowReverse"
7000
7569
  [showOtherMonthDays]="showOtherMonthDays"
7570
+ [activeRangeEnd]="activeRangeEnd"
7571
+ [selectionRange]="selectionRange"
7572
+ [size]="size"
7001
7573
  [isActive]="isActive"
7002
7574
  [id]="headerId"
7003
7575
  [weekDaysFormat]="weekDaysFormat"
@@ -7025,6 +7597,7 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
7025
7597
  (pageChange)="onPageChange()"
7026
7598
  (focusCalendar)="handleFocus()"
7027
7599
  (blurCalendar)="handleBlur($event)"
7600
+ (cellEnter)="onCellEnter($event)"
7028
7601
  >
7029
7602
  </kendo-calendar-viewlist>
7030
7603
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
@@ -7035,7 +7608,11 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
7035
7608
  [views]="1"
7036
7609
  [min]="min"
7037
7610
  [max]="max"
7611
+ [size]="size"
7038
7612
  [id]="id"
7613
+ [activeRangeEnd]="activeRangeEnd"
7614
+ [selectionRange]="selectionRange"
7615
+ [allowReverse]="allowReverse"
7039
7616
  [disabled]="disabled"
7040
7617
  [isActive]="isActive"
7041
7618
  [showOtherMonthDays]="showOtherMonthDays"
@@ -7077,8 +7654,8 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
7077
7654
  </kendo-multiviewcalendar-messages>
7078
7655
  </kendo-multiviewcalendar>
7079
7656
  </ng-container>
7080
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }, { kind: "component", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["showOtherMonthDays", "showCalendarHeader", "id", "focusedDate", "footer", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "weekDaysFormat", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "footerTemplate", "headerTitleTemplate", "headerTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { kind: "component", type: i12.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { kind: "directive", type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { kind: "component", type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "headerTemplateRef", "footerTemplateRef", "showOtherMonthDays", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "showFooter", "weekDaysFormat", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarComponent, decorators: [{
7657
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }, { kind: "component", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["showOtherMonthDays", "showCalendarHeader", "size", "id", "focusedDate", "footer", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "weekDaysFormat", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "footerTemplate", "headerTitleTemplate", "headerTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "rangeSelectionChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { kind: "component", type: i1$2.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { kind: "directive", type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { kind: "component", type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["allowReverse", "cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "headerTemplateRef", "footerTemplateRef", "showOtherMonthDays", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "showFooter", "weekDaysFormat", "activeRangeEnd", "selectionRange", "size", "weekNumber"], outputs: ["cellEnter", "cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarComponent, decorators: [{
7082
7659
  type: Component,
7083
7660
  args: [{
7084
7661
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -7128,7 +7705,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7128
7705
  </kendo-calendar-navigation>
7129
7706
  <kendo-calendar-viewlist
7130
7707
  [activeView]="activeViewEnum"
7708
+ [allowReverse]="allowReverse"
7131
7709
  [showOtherMonthDays]="showOtherMonthDays"
7710
+ [activeRangeEnd]="activeRangeEnd"
7711
+ [selectionRange]="selectionRange"
7712
+ [size]="size"
7132
7713
  [isActive]="isActive"
7133
7714
  [id]="headerId"
7134
7715
  [weekDaysFormat]="weekDaysFormat"
@@ -7156,6 +7737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7156
7737
  (pageChange)="onPageChange()"
7157
7738
  (focusCalendar)="handleFocus()"
7158
7739
  (blurCalendar)="handleBlur($event)"
7740
+ (cellEnter)="onCellEnter($event)"
7159
7741
  >
7160
7742
  </kendo-calendar-viewlist>
7161
7743
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
@@ -7166,7 +7748,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7166
7748
  [views]="1"
7167
7749
  [min]="min"
7168
7750
  [max]="max"
7751
+ [size]="size"
7169
7752
  [id]="id"
7753
+ [activeRangeEnd]="activeRangeEnd"
7754
+ [selectionRange]="selectionRange"
7755
+ [allowReverse]="allowReverse"
7170
7756
  [disabled]="disabled"
7171
7757
  [isActive]="isActive"
7172
7758
  [showOtherMonthDays]="showOtherMonthDays"
@@ -7230,6 +7816,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7230
7816
  type: Input
7231
7817
  }], selection: [{
7232
7818
  type: Input
7819
+ }], allowReverse: [{
7820
+ type: Input
7233
7821
  }], value: [{
7234
7822
  type: Input
7235
7823
  }], disabled: [{
@@ -7333,6 +7921,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7333
7921
  args: ['navigationItemTemplate']
7334
7922
  }], size: [{
7335
7923
  type: Input
7924
+ }], activeRangeEnd: [{
7925
+ type: Input
7336
7926
  }], navigationView: [{
7337
7927
  type: ViewChild,
7338
7928
  args: [NavigationComponent, { static: false }]
@@ -7382,9 +7972,9 @@ var Arrow;
7382
7972
  */
7383
7973
  class DateInputMessages extends ComponentMessages {
7384
7974
  }
7385
- DateInputMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7386
- DateInputMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateInputMessages, selector: "kendo-dateinput-messages-base", inputs: { decrement: "decrement", increment: "increment" }, usesInheritance: true, ngImport: i0 });
7387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputMessages, decorators: [{
7975
+ DateInputMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7976
+ DateInputMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateInputMessages, selector: "kendo-dateinput-messages-base", inputs: { decrement: "decrement", increment: "increment", clearTitle: "clearTitle" }, usesInheritance: true, ngImport: i0 });
7977
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputMessages, decorators: [{
7388
7978
  type: Directive,
7389
7979
  args: [{
7390
7980
  // eslint-disable-next-line
@@ -7394,6 +7984,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7394
7984
  type: Input
7395
7985
  }], increment: [{
7396
7986
  type: Input
7987
+ }], clearTitle: [{
7988
+ type: Input
7397
7989
  }] } });
7398
7990
 
7399
7991
  /**
@@ -7405,14 +7997,14 @@ class DateInputLocalizedMessagesDirective extends DateInputMessages {
7405
7997
  this.service = service;
7406
7998
  }
7407
7999
  }
7408
- DateInputLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
7409
- DateInputLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]", providers: [
8000
+ DateInputLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
8001
+ DateInputLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]", providers: [
7410
8002
  {
7411
8003
  provide: DateInputMessages,
7412
8004
  useExisting: forwardRef(() => DateInputLocalizedMessagesDirective)
7413
8005
  }
7414
8006
  ], usesInheritance: true, ngImport: i0 });
7415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputLocalizedMessagesDirective, decorators: [{
8007
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputLocalizedMessagesDirective, decorators: [{
7416
8008
  type: Directive,
7417
8009
  args: [{
7418
8010
  providers: [
@@ -7479,10 +8071,20 @@ class DateInputComponent {
7479
8071
  * @hidden
7480
8072
  */
7481
8073
  this.caretAltUpIcon = caretAltUpIcon;
8074
+ /**
8075
+ * @hidden
8076
+ */
8077
+ this.xIcon = xIcon;
7482
8078
  /**
7483
8079
  * @hidden
7484
8080
  */
7485
8081
  this.caretAltDownIcon = caretAltDownIcon;
8082
+ /**
8083
+ * If set to `true`, renders a clear button after the input text or DateInput value has been changed.
8084
+ * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
8085
+ * @default false
8086
+ */
8087
+ this.clearButton = false;
7486
8088
  /**
7487
8089
  * Sets or gets the `disabled` property of the DateInput and
7488
8090
  * determines whether the component is active
@@ -7655,6 +8257,7 @@ class DateInputComponent {
7655
8257
  this.formatSections = { date: false, time: false };
7656
8258
  this.hasMousedown = false;
7657
8259
  this.focusedPriorToMousedown = false;
8260
+ this.showClearButton = false;
7658
8261
  /**
7659
8262
  * @hidden
7660
8263
  */
@@ -8092,6 +8695,12 @@ class DateInputComponent {
8092
8695
  this.kendoDateObject?.setValue(this.value);
8093
8696
  this.kendoDate?.refreshElementValue();
8094
8697
  }
8698
+ resetInput() {
8699
+ this.kendoDateObject?.setValue(null);
8700
+ this.kendoDate?.refreshElementValue();
8701
+ this.control?.setValue(null);
8702
+ this.showClearButton = false;
8703
+ }
8095
8704
  /**
8096
8705
  * @hidden
8097
8706
  */
@@ -8107,6 +8716,7 @@ class DateInputComponent {
8107
8716
  */
8108
8717
  notify() {
8109
8718
  this.ngZone.run(() => {
8719
+ this.showClearButton = true;
8110
8720
  this.onControlChange(cloneDate(this.value));
8111
8721
  this.valueChange.emit(cloneDate(this.value));
8112
8722
  });
@@ -8154,6 +8764,7 @@ class DateInputComponent {
8154
8764
  * @hidden
8155
8765
  */
8156
8766
  handleButtonClick(offset) {
8767
+ this.showClearButton = true;
8157
8768
  this.arrowDirection = Arrow.None;
8158
8769
  this.kendoDate.focus();
8159
8770
  this.kendoDate.modifyDateSegmentValue(offset);
@@ -8179,6 +8790,10 @@ class DateInputComponent {
8179
8790
  }
8180
8791
  onWidgetInputEnd() {
8181
8792
  this.updateIncompleteValidationStatus();
8793
+ if (this.clearButton) {
8794
+ this.showClearButton = true;
8795
+ this.cdr.markForCheck();
8796
+ }
8182
8797
  }
8183
8798
  onWidgetFocus({ event: FocuseEvent }) {
8184
8799
  this.isActive = true;
@@ -8264,8 +8879,8 @@ class DateInputComponent {
8264
8879
  setHTMLAttributes(attributesToRender, this.renderer, this.dateInput.nativeElement);
8265
8880
  }
8266
8881
  }
8267
- DateInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.IntlService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: i1$1.LocalizationService }, { token: PickerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
8268
- DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateInputComponent, selector: "kendo-dateinput", inputs: { focusableId: "focusableId", pickerType: "pickerType", disabled: "disabled", readonly: "readonly", title: "title", tabindex: "tabindex", role: "role", ariaReadOnly: "ariaReadOnly", tabIndex: "tabIndex", isRequired: "isRequired", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", steps: "steps", max: "max", min: "min", rangeValidation: "rangeValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", allowCaretMode: "allowCaretMode", autoFill: "autoFill", incompleteDateValidation: "incompleteDateValidation", twoDigitYearMax: "twoDigitYearMax", enableMouseWheel: "enableMouseWheel", value: "value", spinners: "spinners", isPopupOpen: "isPopupOpen", hasPopup: "hasPopup", size: "size", rounded: "rounded", fillMode: "fillMode", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", valueUpdate: "valueUpdate", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-input": "this.wrapperClass", "class.k-dateinput": "this.wrapperClass", "class.k-disabled": "this.disabledClass" } }, providers: [
8882
+ DateInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.IntlService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: i1$1.LocalizationService }, { token: PickerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
8883
+ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateInputComponent, selector: "kendo-dateinput", inputs: { focusableId: "focusableId", pickerType: "pickerType", clearButton: "clearButton", disabled: "disabled", readonly: "readonly", title: "title", tabindex: "tabindex", role: "role", ariaReadOnly: "ariaReadOnly", tabIndex: "tabIndex", isRequired: "isRequired", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", steps: "steps", max: "max", min: "min", rangeValidation: "rangeValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", allowCaretMode: "allowCaretMode", autoFill: "autoFill", incompleteDateValidation: "incompleteDateValidation", twoDigitYearMax: "twoDigitYearMax", enableMouseWheel: "enableMouseWheel", value: "value", spinners: "spinners", isPopupOpen: "isPopupOpen", hasPopup: "hasPopup", size: "size", rounded: "rounded", fillMode: "fillMode", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", valueUpdate: "valueUpdate", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-input": "this.wrapperClass", "class.k-dateinput": "this.wrapperClass", "class.k-disabled": "this.disabledClass" } }, providers: [
8269
8884
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateInputComponent), multi: true },
8270
8885
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => DateInputComponent), multi: true },
8271
8886
  { provide: L10N_PREFIX, useValue: 'kendo.dateinput' },
@@ -8278,6 +8893,9 @@ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
8278
8893
 
8279
8894
  i18n-decrement="kendo.dateinput.decrement|The label for the **Decrement** button in the DateInput"
8280
8895
  decrement="Decrease value"
8896
+
8897
+ i18n-clearTitle="kendo.dateinput.clearTitle|The title of the clear button"
8898
+ clearTitle="clear"
8281
8899
  >
8282
8900
  </ng-container>
8283
8901
  <input #dateInput
@@ -8303,6 +8921,21 @@ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
8303
8921
  }"
8304
8922
  [scope]="this"
8305
8923
  />
8924
+ <span
8925
+ *ngIf="clearButton && showClearButton"
8926
+ class="k-clear-value"
8927
+ [attr.title]="localization.get('clearTitle')"
8928
+ role="button"
8929
+ tabindex="-1"
8930
+ (click)="resetInput()"
8931
+ (mousedown)="$event.preventDefault()"
8932
+ >
8933
+ <kendo-icon-wrapper
8934
+ name="x"
8935
+ [svgIcon]="xIcon"
8936
+ >
8937
+ </kendo-icon-wrapper>
8938
+ </span>
8306
8939
  <span *ngIf="spinners" class="k-input-spinner k-spin-button" (mousedown)="$event.preventDefault()">
8307
8940
  <button
8308
8941
  #spinup
@@ -8341,8 +8974,8 @@ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
8341
8974
  </kendo-icon-wrapper>
8342
8975
  </button>
8343
8976
  </span>
8344
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i12.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8345
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputComponent, decorators: [{
8977
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8978
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputComponent, decorators: [{
8346
8979
  type: Component,
8347
8980
  args: [{
8348
8981
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -8362,6 +8995,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8362
8995
 
8363
8996
  i18n-decrement="kendo.dateinput.decrement|The label for the **Decrement** button in the DateInput"
8364
8997
  decrement="Decrease value"
8998
+
8999
+ i18n-clearTitle="kendo.dateinput.clearTitle|The title of the clear button"
9000
+ clearTitle="clear"
8365
9001
  >
8366
9002
  </ng-container>
8367
9003
  <input #dateInput
@@ -8387,6 +9023,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8387
9023
  }"
8388
9024
  [scope]="this"
8389
9025
  />
9026
+ <span
9027
+ *ngIf="clearButton && showClearButton"
9028
+ class="k-clear-value"
9029
+ [attr.title]="localization.get('clearTitle')"
9030
+ role="button"
9031
+ tabindex="-1"
9032
+ (click)="resetInput()"
9033
+ (mousedown)="$event.preventDefault()"
9034
+ >
9035
+ <kendo-icon-wrapper
9036
+ name="x"
9037
+ [svgIcon]="xIcon"
9038
+ >
9039
+ </kendo-icon-wrapper>
9040
+ </span>
8390
9041
  <span *ngIf="spinners" class="k-input-spinner k-spin-button" (mousedown)="$event.preventDefault()">
8391
9042
  <button
8392
9043
  #spinup
@@ -8433,6 +9084,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8433
9084
  type: Input
8434
9085
  }], pickerType: [{
8435
9086
  type: Input
9087
+ }], clearButton: [{
9088
+ type: Input
8436
9089
  }], disabled: [{
8437
9090
  type: Input
8438
9091
  }], readonly: [{
@@ -8573,6 +9226,39 @@ const disabledDatesValidator = (isDateDisabled) => {
8573
9226
  };
8574
9227
  };
8575
9228
 
9229
+ /**
9230
+ * Custom component messages override default component messages ([see example]({% slug globalization_dateinputs %}#toc-custom-messages)).
9231
+ */
9232
+ class DateInputCustomMessagesComponent extends DateInputMessages {
9233
+ constructor(service) {
9234
+ super();
9235
+ this.service = service;
9236
+ }
9237
+ get override() {
9238
+ return true;
9239
+ }
9240
+ }
9241
+ DateInputCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
9242
+ DateInputCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages", providers: [
9243
+ {
9244
+ provide: DateInputMessages,
9245
+ useExisting: forwardRef(() => DateInputCustomMessagesComponent)
9246
+ }
9247
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
9248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputCustomMessagesComponent, decorators: [{
9249
+ type: Component,
9250
+ args: [{
9251
+ providers: [
9252
+ {
9253
+ provide: DateInputMessages,
9254
+ useExisting: forwardRef(() => DateInputCustomMessagesComponent)
9255
+ }
9256
+ ],
9257
+ selector: 'kendo-dateinput-messages',
9258
+ template: ``
9259
+ }]
9260
+ }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
9261
+
8576
9262
  /**
8577
9263
  * Custom component messages override default component messages ([see example]({% slug globalization_dateinputs %}#toc-custom-messages)).
8578
9264
  */
@@ -8585,14 +9271,14 @@ class CalendarCustomMessagesComponent extends CalendarMessages {
8585
9271
  return true;
8586
9272
  }
8587
9273
  }
8588
- CalendarCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
8589
- CalendarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages", providers: [
9274
+ CalendarCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
9275
+ CalendarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages", providers: [
8590
9276
  {
8591
9277
  provide: CalendarMessages,
8592
9278
  useExisting: forwardRef(() => CalendarCustomMessagesComponent)
8593
9279
  }
8594
9280
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
8595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarCustomMessagesComponent, decorators: [{
9281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarCustomMessagesComponent, decorators: [{
8596
9282
  type: Component,
8597
9283
  args: [{
8598
9284
  providers: [
@@ -8611,9 +9297,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8611
9297
  */
8612
9298
  class DatePickerMessages extends ComponentMessages {
8613
9299
  }
8614
- DatePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
8615
- DatePickerMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DatePickerMessages, selector: "kendo-datepicker-messages-base", inputs: { today: "today", toggle: "toggle", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle" }, usesInheritance: true, ngImport: i0 });
8616
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerMessages, decorators: [{
9300
+ DatePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
9301
+ DatePickerMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DatePickerMessages, selector: "kendo-datepicker-messages-base", inputs: { today: "today", toggle: "toggle", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle", clearTitle: "clearTitle" }, usesInheritance: true, ngImport: i0 });
9302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerMessages, decorators: [{
8617
9303
  type: Directive,
8618
9304
  args: [{
8619
9305
  // eslint-disable-next-line
@@ -8629,6 +9315,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8629
9315
  type: Input
8630
9316
  }], parentViewButtonTitle: [{
8631
9317
  type: Input
9318
+ }], clearTitle: [{
9319
+ type: Input
8632
9320
  }] } });
8633
9321
 
8634
9322
  /**
@@ -8640,14 +9328,14 @@ class DatePickerLocalizedMessagesDirective extends DatePickerMessages {
8640
9328
  this.service = service;
8641
9329
  }
8642
9330
  }
8643
- DatePickerLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
8644
- DatePickerLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]", providers: [
9331
+ DatePickerLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
9332
+ DatePickerLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]", providers: [
8645
9333
  {
8646
9334
  provide: DatePickerMessages,
8647
9335
  useExisting: forwardRef(() => DatePickerLocalizedMessagesDirective)
8648
9336
  }
8649
9337
  ], usesInheritance: true, ngImport: i0 });
8650
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerLocalizedMessagesDirective, decorators: [{
9338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerLocalizedMessagesDirective, decorators: [{
8651
9339
  type: Directive,
8652
9340
  args: [{
8653
9341
  providers: [
@@ -8684,6 +9372,12 @@ class DatePickerComponent {
8684
9372
  * @hidden
8685
9373
  */
8686
9374
  this.calendarIcon = calendarIcon;
9375
+ /**
9376
+ * If set to `true`, renders a clear button after the input text or DatePicker value has been changed.
9377
+ * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
9378
+ * @default false
9379
+ */
9380
+ this.clearButton = false;
8687
9381
  /**
8688
9382
  * Toggles the visibility of the Calendar footer.
8689
9383
  * @default false
@@ -9181,9 +9875,6 @@ class DatePickerComponent {
9181
9875
  this.toggleCalendar(show);
9182
9876
  }
9183
9877
  }
9184
- get inputElement() {
9185
- return this.wrapper.nativeElement.querySelector('input');
9186
- }
9187
9878
  /**
9188
9879
  * @hidden
9189
9880
  */
@@ -9388,6 +10079,7 @@ class DatePickerComponent {
9388
10079
  */
9389
10080
  handleChange(value) {
9390
10081
  this.cdr.markForCheck();
10082
+ this.dateInput.showClearButton = true;
9391
10083
  this.value = value;
9392
10084
  if (this.show) {
9393
10085
  this.focusInput();
@@ -9684,8 +10376,8 @@ class DatePickerComponent {
9684
10376
  }
9685
10377
  }
9686
10378
  }
9687
- DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerComponent, deps: [{ token: i0.NgZone }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i1$2.PopupService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: PickerService }, { token: DisabledDatesService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
9688
- DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DatePickerComponent, selector: "kendo-datepicker", inputs: { focusableId: "focusableId", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], inputAttributes: "inputAttributes", monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], footer: "footer", navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"], weekDaysFormat: "weekDaysFormat", showOtherMonthDays: "showOtherMonthDays", activeView: "activeView", bottomView: "bottomView", topView: "topView", calendarType: "calendarType", animateCalendarNavigation: "animateCalendarNavigation", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", popupSettings: "popupSettings", navigation: "navigation", min: "min", max: "max", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", autoFill: "autoFill", focusedDate: "focusedDate", value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", tabindex: "tabindex", tabIndex: "tabIndex", disabledDates: "disabledDates", title: "title", subtitle: "subtitle", rangeValidation: "rangeValidation", disabledDatesValidation: "disabledDatesValidation", weekNumber: "weekNumber", size: "size", rounded: "rounded", fillMode: "fillMode", adaptiveMode: "adaptiveMode" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-datepicker": "this.wrapperClasses", "class.k-input": "this.wrapperClasses", "class.k-disabled": "this.disabledClass" } }, providers: [
10379
+ DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerComponent, deps: [{ token: i0.NgZone }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i1$3.PopupService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: PickerService }, { token: DisabledDatesService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
10380
+ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DatePickerComponent, selector: "kendo-datepicker", inputs: { focusableId: "focusableId", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], clearButton: "clearButton", inputAttributes: "inputAttributes", monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], footer: "footer", navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"], weekDaysFormat: "weekDaysFormat", showOtherMonthDays: "showOtherMonthDays", activeView: "activeView", bottomView: "bottomView", topView: "topView", calendarType: "calendarType", animateCalendarNavigation: "animateCalendarNavigation", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", popupSettings: "popupSettings", navigation: "navigation", min: "min", max: "max", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", autoFill: "autoFill", focusedDate: "focusedDate", value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", tabindex: "tabindex", tabIndex: "tabIndex", disabledDates: "disabledDates", title: "title", subtitle: "subtitle", rangeValidation: "rangeValidation", disabledDatesValidation: "disabledDatesValidation", weekNumber: "weekNumber", size: "size", rounded: "rounded", fillMode: "fillMode", adaptiveMode: "adaptiveMode" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-datepicker": "this.wrapperClasses", "class.k-input": "this.wrapperClasses", "class.k-disabled": "this.disabledClass" } }, providers: [
9689
10381
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DatePickerComponent), multi: true },
9690
10382
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => DatePickerComponent), multi: true },
9691
10383
  { provide: KendoInput, useExisting: forwardRef(() => DatePickerComponent) },
@@ -9712,6 +10404,9 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9712
10404
 
9713
10405
  i18n-parentViewButtonTitle="kendo.datepicker.parentViewButtonTitle|The title of the parent view button in the calendar header"
9714
10406
  parentViewButtonTitle="Navigate to parent view"
10407
+
10408
+ i18n-clearTitle="kendo.datepicker.clearTitle|The title of the clear button"
10409
+ clearTitle="clear"
9715
10410
  >
9716
10411
  </ng-container>
9717
10412
  <kendo-dateinput
@@ -9720,6 +10415,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9720
10415
  pickerType="datepicker"
9721
10416
  hasPopup="grid"
9722
10417
  [isPopupOpen]="show"
10418
+ [clearButton]="clearButton"
9723
10419
  [disabled]="disabled"
9724
10420
  [readonly]="readonly || readOnlyInput"
9725
10421
  [ariaReadOnly]="readonly"
@@ -9747,7 +10443,12 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9747
10443
  [value]="value"
9748
10444
  (valueChange)="handleInputChange($event)"
9749
10445
  (click)="handleDateInputClick()"
9750
- ></kendo-dateinput>
10446
+ >
10447
+ <kendo-dateinput-messages
10448
+ [clearTitle]="localization.get('clearTitle')"
10449
+ >
10450
+ </kendo-dateinput-messages>
10451
+ </kendo-dateinput>
9751
10452
  <button
9752
10453
  #toggleButton
9753
10454
  type="button"
@@ -9819,8 +10520,8 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9819
10520
  <ng-template #calendarTemplate>
9820
10521
  <kendo-calendar
9821
10522
  #calendar
9822
- [size]="isAdaptive ? 'large' : 'medium'"
9823
10523
  [type]="calendarType"
10524
+ [size]="isAdaptive ? 'large' : size"
9824
10525
  [min]="min"
9825
10526
  [max]="max"
9826
10527
  [weekDaysFormat]="weekDaysFormat"
@@ -9860,8 +10561,8 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9860
10561
  </kendo-calendar-messages>
9861
10562
  </kendo-calendar>
9862
10563
  </ng-template>
9863
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "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: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { kind: "directive", type: i12.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: i11.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: i11.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: i12.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: i7.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: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9864
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerComponent, decorators: [{
10564
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { 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: "directive", type: i1$2.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: i12.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: i12.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: i1$2.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: i7.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: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerComponent, decorators: [{
9865
10566
  type: Component,
9866
10567
  args: [{
9867
10568
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -9895,6 +10596,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
9895
10596
 
9896
10597
  i18n-parentViewButtonTitle="kendo.datepicker.parentViewButtonTitle|The title of the parent view button in the calendar header"
9897
10598
  parentViewButtonTitle="Navigate to parent view"
10599
+
10600
+ i18n-clearTitle="kendo.datepicker.clearTitle|The title of the clear button"
10601
+ clearTitle="clear"
9898
10602
  >
9899
10603
  </ng-container>
9900
10604
  <kendo-dateinput
@@ -9903,6 +10607,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
9903
10607
  pickerType="datepicker"
9904
10608
  hasPopup="grid"
9905
10609
  [isPopupOpen]="show"
10610
+ [clearButton]="clearButton"
9906
10611
  [disabled]="disabled"
9907
10612
  [readonly]="readonly || readOnlyInput"
9908
10613
  [ariaReadOnly]="readonly"
@@ -9930,7 +10635,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
9930
10635
  [value]="value"
9931
10636
  (valueChange)="handleInputChange($event)"
9932
10637
  (click)="handleDateInputClick()"
9933
- ></kendo-dateinput>
10638
+ >
10639
+ <kendo-dateinput-messages
10640
+ [clearTitle]="localization.get('clearTitle')"
10641
+ >
10642
+ </kendo-dateinput-messages>
10643
+ </kendo-dateinput>
9934
10644
  <button
9935
10645
  #toggleButton
9936
10646
  type="button"
@@ -10002,8 +10712,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
10002
10712
  <ng-template #calendarTemplate>
10003
10713
  <kendo-calendar
10004
10714
  #calendar
10005
- [size]="isAdaptive ? 'large' : 'medium'"
10006
10715
  [type]="calendarType"
10716
+ [size]="isAdaptive ? 'large' : size"
10007
10717
  [min]="min"
10008
10718
  [max]="max"
10009
10719
  [weekDaysFormat]="weekDaysFormat"
@@ -10045,7 +10755,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
10045
10755
  </ng-template>
10046
10756
  `
10047
10757
  }]
10048
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i1$2.PopupService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: PickerService }, { type: DisabledDatesService }, { type: undefined, decorators: [{
10758
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i1$3.PopupService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: PickerService }, { type: DisabledDatesService }, { type: undefined, decorators: [{
10049
10759
  type: Optional
10050
10760
  }, {
10051
10761
  type: Inject,
@@ -10070,6 +10780,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
10070
10780
  }], cellTemplateRef: [{
10071
10781
  type: Input,
10072
10782
  args: ['cellTemplate']
10783
+ }], clearButton: [{
10784
+ type: Input
10073
10785
  }], inputAttributes: [{
10074
10786
  type: Input
10075
10787
  }], monthCellTemplate: [{
@@ -10267,9 +10979,9 @@ const timeRangeValidator = (min, max) => {
10267
10979
  */
10268
10980
  class TimePickerMessages extends ComponentMessages {
10269
10981
  }
10270
- TimePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
10271
- TimePickerMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: TimePickerMessages, selector: "kendo-timepicker-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", now: "now", nowLabel: "nowLabel", toggle: "toggle", hour: "hour", minute: "minute", second: "second", millisecond: "millisecond", dayperiod: "dayperiod" }, usesInheritance: true, ngImport: i0 });
10272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerMessages, decorators: [{
10982
+ TimePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
10983
+ TimePickerMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TimePickerMessages, selector: "kendo-timepicker-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", now: "now", nowLabel: "nowLabel", toggle: "toggle", hour: "hour", minute: "minute", second: "second", millisecond: "millisecond", dayperiod: "dayperiod", clearTitle: "clearTitle" }, usesInheritance: true, ngImport: i0 });
10984
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerMessages, decorators: [{
10273
10985
  type: Directive,
10274
10986
  args: [{
10275
10987
  // eslint-disable-next-line
@@ -10299,6 +11011,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
10299
11011
  type: Input
10300
11012
  }], dayperiod: [{
10301
11013
  type: Input
11014
+ }], clearTitle: [{
11015
+ type: Input
10302
11016
  }] } });
10303
11017
 
10304
11018
  /**
@@ -10310,14 +11024,14 @@ class TimePickerLocalizedMessagesDirective extends TimePickerMessages {
10310
11024
  this.service = service;
10311
11025
  }
10312
11026
  }
10313
- TimePickerLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
10314
- TimePickerLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]", providers: [
11027
+ TimePickerLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
11028
+ TimePickerLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]", providers: [
10315
11029
  {
10316
11030
  provide: TimePickerMessages,
10317
11031
  useExisting: forwardRef(() => TimePickerLocalizedMessagesDirective)
10318
11032
  }
10319
11033
  ], usesInheritance: true, ngImport: i0 });
10320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerLocalizedMessagesDirective, decorators: [{
11034
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerLocalizedMessagesDirective, decorators: [{
10321
11035
  type: Directive,
10322
11036
  args: [{
10323
11037
  providers: [
@@ -10344,14 +11058,14 @@ class TimeSelectorCustomMessagesComponent extends TimePickerMessages {
10344
11058
  return true;
10345
11059
  }
10346
11060
  }
10347
- TimeSelectorCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeSelectorCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
10348
- TimeSelectorCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages", providers: [
11061
+ TimeSelectorCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeSelectorCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
11062
+ TimeSelectorCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages", providers: [
10349
11063
  {
10350
11064
  provide: TimePickerMessages,
10351
11065
  useExisting: forwardRef(() => TimeSelectorCustomMessagesComponent)
10352
11066
  }
10353
11067
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
10354
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeSelectorCustomMessagesComponent, decorators: [{
11068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeSelectorCustomMessagesComponent, decorators: [{
10355
11069
  type: Component,
10356
11070
  args: [{
10357
11071
  providers: [
@@ -10434,9 +11148,9 @@ class TimePickerDOMService {
10434
11148
  return (element.nativeElement || element) === document.activeElement;
10435
11149
  }
10436
11150
  }
10437
- TimePickerDOMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerDOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10438
- TimePickerDOMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerDOMService });
10439
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerDOMService, decorators: [{
11151
+ TimePickerDOMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerDOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11152
+ TimePickerDOMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerDOMService });
11153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerDOMService, decorators: [{
10440
11154
  type: Injectable
10441
11155
  }] });
10442
11156
 
@@ -10546,9 +11260,9 @@ class HoursService {
10546
11260
  return [min.getHours(), max.getHours()];
10547
11261
  }
10548
11262
  }
10549
- HoursService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HoursService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10550
- HoursService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HoursService });
10551
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HoursService, decorators: [{
11263
+ HoursService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HoursService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11264
+ HoursService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HoursService });
11265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HoursService, decorators: [{
10552
11266
  type: Injectable
10553
11267
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
10554
11268
 
@@ -10656,9 +11370,9 @@ class MinutesService {
10656
11370
  return [min.getMinutes(), max.getMinutes()];
10657
11371
  }
10658
11372
  }
10659
- MinutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MinutesService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10660
- MinutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MinutesService });
10661
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MinutesService, decorators: [{
11373
+ MinutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MinutesService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11374
+ MinutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MinutesService });
11375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MinutesService, decorators: [{
10662
11376
  type: Injectable
10663
11377
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
10664
11378
 
@@ -10766,9 +11480,9 @@ class SecondsService {
10766
11480
  return [min.getSeconds(), max.getSeconds()];
10767
11481
  }
10768
11482
  }
10769
- SecondsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SecondsService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10770
- SecondsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SecondsService });
10771
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SecondsService, decorators: [{
11483
+ SecondsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SecondsService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11484
+ SecondsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SecondsService });
11485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SecondsService, decorators: [{
10772
11486
  type: Injectable
10773
11487
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
10774
11488
 
@@ -10879,9 +11593,9 @@ class MillisecondsService {
10879
11593
  return [min.getMilliseconds(), max.getMilliseconds()];
10880
11594
  }
10881
11595
  }
10882
- MillisecondsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MillisecondsService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10883
- MillisecondsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MillisecondsService });
10884
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MillisecondsService, decorators: [{
11596
+ MillisecondsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MillisecondsService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11597
+ MillisecondsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MillisecondsService });
11598
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MillisecondsService, decorators: [{
10885
11599
  type: Injectable
10886
11600
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
10887
11601
 
@@ -10995,9 +11709,9 @@ class DayPeriodService {
10995
11709
  ];
10996
11710
  }
10997
11711
  }
10998
- DayPeriodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DayPeriodService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10999
- DayPeriodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DayPeriodService });
11000
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DayPeriodService, decorators: [{
11712
+ DayPeriodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DayPeriodService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11713
+ DayPeriodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DayPeriodService });
11714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DayPeriodService, decorators: [{
11001
11715
  type: Injectable
11002
11716
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
11003
11717
 
@@ -11235,8 +11949,8 @@ class TimeListComponent {
11235
11949
  this.domEvents.push(this.renderer.listen(element, 'mouseover', () => !this.isActive && this.focus()), this.renderer.listen(element, 'click', () => this.focus()), this.renderer.listen(element, 'blur', () => this.isActive = false), this.renderer.listen(element, 'focus', () => this.isActive = true), this.renderer.listen(element, 'keydown', this.handleKeyDown.bind(this)));
11236
11950
  }
11237
11951
  }
11238
- TimeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeListComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: TimePickerDOMService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
11239
- TimeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TimeListComponent, selector: "kendo-timelist", inputs: { min: "min", max: "max", part: "part", step: "step", disabled: "disabled", value: "value", isLast: "isLast" }, outputs: { valueChange: "valueChange", tabOutLastPart: "tabOutLastPart" }, host: { properties: { "attr.role": "this.roleAttribute", "attr.aria-label": "this.ariaLabel", "attr.tabindex": "this.tabIndex", "class.k-time-list": "this.componentClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
11952
+ TimeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeListComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: TimePickerDOMService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
11953
+ TimeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimeListComponent, selector: "kendo-timelist", inputs: { min: "min", max: "max", part: "part", step: "step", disabled: "disabled", value: "value", isLast: "isLast" }, outputs: { valueChange: "valueChange", tabOutLastPart: "tabOutLastPart" }, host: { properties: { "attr.role": "this.roleAttribute", "attr.aria-label": "this.ariaLabel", "attr.tabindex": "this.tabIndex", "class.k-time-list": "this.componentClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
11240
11954
  <kendo-virtualization
11241
11955
  [skip]="skip"
11242
11956
  [take]="total"
@@ -11264,8 +11978,8 @@ TimeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
11264
11978
  </li>
11265
11979
  </ul>
11266
11980
  </kendo-virtualization>
11267
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: VirtualizationComponent, selector: "kendo-virtualization", inputs: ["direction", "itemHeight", "itemWidth", "topOffset", "bottomOffset", "maxScrollDifference", "scrollOffsetSize", "scrollDuration", "skip", "take", "total"], outputs: ["activeIndexChange", "pageChange", "scrollChange"] }, { kind: "directive", type: i12.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
11268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeListComponent, decorators: [{
11981
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: VirtualizationComponent, selector: "kendo-virtualization", inputs: ["direction", "itemHeight", "itemWidth", "topOffset", "bottomOffset", "maxScrollDifference", "scrollOffsetSize", "scrollDuration", "skip", "take", "total"], outputs: ["activeIndexChange", "pageChange", "scrollChange"] }, { kind: "directive", type: i1$2.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
11982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeListComponent, decorators: [{
11269
11983
  type: Component,
11270
11984
  args: [{
11271
11985
  selector: 'kendo-timelist',
@@ -11408,14 +12122,14 @@ class TimeSelectorLocalizedMessagesDirective extends TimePickerMessages {
11408
12122
  this.service = service;
11409
12123
  }
11410
12124
  }
11411
- TimeSelectorLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeSelectorLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
11412
- TimeSelectorLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: TimeSelectorLocalizedMessagesDirective, selector: "[kendoTimeSelectorLocalizedMessages]", providers: [
12125
+ TimeSelectorLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeSelectorLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
12126
+ TimeSelectorLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TimeSelectorLocalizedMessagesDirective, selector: "[kendoTimeSelectorLocalizedMessages]", providers: [
11413
12127
  {
11414
12128
  provide: TimePickerMessages,
11415
12129
  useExisting: forwardRef(() => TimeSelectorLocalizedMessagesDirective)
11416
12130
  }
11417
12131
  ], usesInheritance: true, ngImport: i0 });
11418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeSelectorLocalizedMessagesDirective, decorators: [{
12132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeSelectorLocalizedMessagesDirective, decorators: [{
11419
12133
  type: Directive,
11420
12134
  args: [{
11421
12135
  providers: [
@@ -11500,6 +12214,7 @@ class TimeSelectorComponent {
11500
12214
  */
11501
12215
  this.valueReject = new EventEmitter();
11502
12216
  this.tabOutLastPart = new EventEmitter();
12217
+ this.tabOutNow = new EventEmitter();
11503
12218
  this.isActive = false;
11504
12219
  this.showNowButton = true;
11505
12220
  this._activeListIndex = -1;
@@ -11595,7 +12310,7 @@ class TimeSelectorComponent {
11595
12310
  if (keyCode === Keys$1.Tab && shiftKey) {
11596
12311
  event.preventDefault();
11597
12312
  this.renderer.removeClass(this.timeListWrappers.first.nativeElement, 'k-focus');
11598
- this.cancel ? this.cancel.nativeElement.focus() : this.accept?.nativeElement.focus();
12313
+ this.now ? this.now.nativeElement.focus() : this.cancel.nativeElement.focus();
11599
12314
  }
11600
12315
  }));
11601
12316
  this.subscriptions.add(fromEvent(this.timeListWrappers.last.nativeElement, 'keydown').subscribe((event) => {
@@ -11714,13 +12429,23 @@ class TimeSelectorComponent {
11714
12429
  */
11715
12430
  handleTabOut(event) {
11716
12431
  const { keyCode, shiftKey } = event;
11717
- if (keyCode === Keys$1.Tab && !shiftKey) {
12432
+ if (event.target === this.now?.nativeElement && keyCode === Keys$1.Tab && shiftKey) {
12433
+ event.preventDefault();
12434
+ if (this.isDateTimePicker) {
12435
+ this.tabOutNow.emit();
12436
+ }
12437
+ else {
12438
+ this.cancel ? this.cancel.nativeElement.focus() : this.accept.nativeElement.focus();
12439
+ }
12440
+ return;
12441
+ }
12442
+ if (keyCode === Keys$1.Tab && !shiftKey && event.target !== this.now?.nativeElement) {
11718
12443
  event.preventDefault();
11719
12444
  if (document.activeElement === this.accept.nativeElement) {
11720
- this.cancel ? this.cancel.nativeElement.focus() : this.timeLists.first.focus();
12445
+ this.cancel ? this.cancel.nativeElement.focus() : this.now?.nativeElement.focus();
11721
12446
  }
11722
12447
  else {
11723
- this.timeLists.first.focus();
12448
+ this.now ? this.now.nativeElement.focus() : this.timeLists.first.focus();
11724
12449
  }
11725
12450
  }
11726
12451
  }
@@ -11810,8 +12535,8 @@ class TimeSelectorComponent {
11810
12535
  return listIdx;
11811
12536
  }
11812
12537
  }
11813
- TimeSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeSelectorComponent, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.IntlService }, { token: TimePickerDOMService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: PickerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
11814
- TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: { format: "format", min: "min", max: "max", cancelButton: "cancelButton", setButton: "setButton", nowButton: "nowButton", disabled: "disabled", isAdaptiveEnabled: "isAdaptiveEnabled", isDateTimePicker: "isDateTimePicker", steps: "steps", value: "value" }, outputs: { valueChange: "valueChange", valueReject: "valueReject", tabOutLastPart: "tabOutLastPart" }, host: { properties: { "class.k-disabled": "this.disabledClass" } }, providers: [
12538
+ TimeSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeSelectorComponent, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.IntlService }, { token: TimePickerDOMService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: PickerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
12539
+ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: { format: "format", min: "min", max: "max", cancelButton: "cancelButton", setButton: "setButton", nowButton: "nowButton", disabled: "disabled", isAdaptiveEnabled: "isAdaptiveEnabled", isDateTimePicker: "isDateTimePicker", steps: "steps", value: "value" }, outputs: { valueChange: "valueChange", valueReject: "valueReject", tabOutLastPart: "tabOutLastPart", tabOutNow: "tabOutNow" }, host: { properties: { "class.k-disabled": "this.disabledClass" } }, providers: [
11815
12540
  LocalizationService,
11816
12541
  {
11817
12542
  provide: L10N_PREFIX,
@@ -11852,7 +12577,8 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
11852
12577
  [kendoEventsOutsideAngular]="{
11853
12578
  click: handleNow,
11854
12579
  focus: handleFocus,
11855
- blur: handleBlur
12580
+ blur: handleBlur,
12581
+ keydown: handleTabOut
11856
12582
  }"
11857
12583
  [scope]="this"
11858
12584
  [disabled]="disabled"
@@ -11924,8 +12650,8 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
11924
12650
  [disabled]="disabled"
11925
12651
  >{{localization.get('cancel')}}</button>
11926
12652
  </div>
11927
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i12.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: TimeListComponent, selector: "kendo-timelist", inputs: ["min", "max", "part", "step", "disabled", "value", "isLast"], outputs: ["valueChange", "tabOutLastPart"] }, { kind: "directive", type: TimeSelectorLocalizedMessagesDirective, selector: "[kendoTimeSelectorLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11928
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeSelectorComponent, decorators: [{
12653
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: TimeListComponent, selector: "kendo-timelist", inputs: ["min", "max", "part", "step", "disabled", "value", "isLast"], outputs: ["valueChange", "tabOutLastPart"] }, { kind: "directive", type: TimeSelectorLocalizedMessagesDirective, selector: "[kendoTimeSelectorLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12654
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeSelectorComponent, decorators: [{
11929
12655
  type: Component,
11930
12656
  args: [{
11931
12657
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -11973,7 +12699,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
11973
12699
  [kendoEventsOutsideAngular]="{
11974
12700
  click: handleNow,
11975
12701
  focus: handleFocus,
11976
- blur: handleBlur
12702
+ blur: handleBlur,
12703
+ keydown: handleTabOut
11977
12704
  }"
11978
12705
  [scope]="this"
11979
12706
  [disabled]="disabled"
@@ -12095,6 +12822,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
12095
12822
  type: Output
12096
12823
  }], tabOutLastPart: [{
12097
12824
  type: Output
12825
+ }], tabOutNow: [{
12826
+ type: Output
12098
12827
  }] } });
12099
12828
 
12100
12829
  const VALUE_DOC_LINK$1 = 'https://www.telerik.com/kendo-angular-ui/components/dateinputs/timepicker/#toc-integration-with-json';
@@ -12143,6 +12872,12 @@ class TimePickerComponent {
12143
12872
  * the input will be rendered in a read-only state regardless of the `readOnlyInput` value.
12144
12873
  */
12145
12874
  this.readOnlyInput = false;
12875
+ /**
12876
+ * If set to `true`, renders a clear button after the input text or TimePicker value has been changed.
12877
+ * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
12878
+ * @default false
12879
+ */
12880
+ this.clearButton = false;
12146
12881
  /**
12147
12882
  * Specifies the time format that is used to display the input value
12148
12883
  * ([see example]({% slug formats_timepicker %})).
@@ -12716,6 +13451,7 @@ class TimePickerComponent {
12716
13451
  this.focusInput();
12717
13452
  this.show = false;
12718
13453
  }
13454
+ this.dateInput.showClearButton = true;
12719
13455
  this.onControlChange(cloneDate(value));
12720
13456
  this.valueChange.emit(cloneDate(value));
12721
13457
  });
@@ -13018,8 +13754,8 @@ class TimePickerComponent {
13018
13754
  }
13019
13755
  }
13020
13756
  }
13021
- TimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerComponent, deps: [{ token: BusViewService }, { token: i0.NgZone }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i1$2.PopupService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: PickerService }, { token: i1.IntlService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
13022
- TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TimePickerComponent, selector: "kendo-timepicker", inputs: { focusableId: "focusableId", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", min: "min", max: "max", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", cancelButton: "cancelButton", nowButton: "nowButton", steps: "steps", popupSettings: "popupSettings", tabindex: "tabindex", tabIndex: "tabIndex", title: "title", subtitle: "subtitle", rangeValidation: "rangeValidation", adaptiveMode: "adaptiveMode", value: "value", size: "size", rounded: "rounded", fillMode: "fillMode", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-timepicker": "this.wrapperClasses", "class.k-input": "this.wrapperClasses", "class.k-disabled": "this.disabledClass" } }, providers: [
13757
+ TimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerComponent, deps: [{ token: BusViewService }, { token: i0.NgZone }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i1$3.PopupService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: PickerService }, { token: i1.IntlService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
13758
+ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimePickerComponent, selector: "kendo-timepicker", inputs: { focusableId: "focusableId", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", clearButton: "clearButton", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", min: "min", max: "max", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", cancelButton: "cancelButton", nowButton: "nowButton", steps: "steps", popupSettings: "popupSettings", tabindex: "tabindex", tabIndex: "tabIndex", title: "title", subtitle: "subtitle", rangeValidation: "rangeValidation", adaptiveMode: "adaptiveMode", value: "value", size: "size", rounded: "rounded", fillMode: "fillMode", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-timepicker": "this.wrapperClasses", "class.k-input": "this.wrapperClasses", "class.k-disabled": "this.disabledClass" } }, providers: [
13023
13759
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TimePickerComponent), multi: true },
13024
13760
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => TimePickerComponent), multi: true },
13025
13761
  { provide: KendoInput, useExisting: forwardRef(() => TimePickerComponent) },
@@ -13067,6 +13803,9 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
13067
13803
 
13068
13804
  i18n-dayperiod="kendo.timepicker.dayperiod|The label for the dayperiod part in the timepicker component"
13069
13805
  dayperiod="Dayperiod"
13806
+
13807
+ i18n-clearTitle="kendo.timepicker.clearTitle|The title of the clear button"
13808
+ clearTitle="clear"
13070
13809
  >
13071
13810
  </ng-container>
13072
13811
  <kendo-dateinput
@@ -13075,6 +13814,7 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
13075
13814
  hasPopup="dialog"
13076
13815
  [isPopupOpen]="show"
13077
13816
  [disabled]="disabled"
13817
+ [clearButton]="clearButton"
13078
13818
  [readonly]="readonly || readOnlyInput"
13079
13819
  [role]="'combobox'"
13080
13820
  [ariaReadOnly]="readonly"
@@ -13101,7 +13841,12 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
13101
13841
  [value]="value"
13102
13842
  (valueChange)="handleInputChange($event)"
13103
13843
  (click)="handleDateInputClick()"
13104
- ></kendo-dateinput>
13844
+ >
13845
+ <kendo-dateinput-messages
13846
+ [clearTitle]="localization.get('clearTitle')"
13847
+ >
13848
+ </kendo-dateinput-messages>
13849
+ </kendo-dateinput>
13105
13850
  <button
13106
13851
  #toggleButton
13107
13852
  type="button"
@@ -13226,8 +13971,8 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
13226
13971
  </kendo-timeselector-messages>
13227
13972
  </kendo-timeselector>
13228
13973
  </ng-template>
13229
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "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: i12.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: i11.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: i11.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: i12.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: i7.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: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }, { kind: "component", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerComponent, decorators: [{
13974
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: i1$2.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: i12.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: i12.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: i1$2.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: i7.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: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerComponent, decorators: [{
13231
13976
  type: Component,
13232
13977
  args: [{
13233
13978
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -13282,6 +14027,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13282
14027
 
13283
14028
  i18n-dayperiod="kendo.timepicker.dayperiod|The label for the dayperiod part in the timepicker component"
13284
14029
  dayperiod="Dayperiod"
14030
+
14031
+ i18n-clearTitle="kendo.timepicker.clearTitle|The title of the clear button"
14032
+ clearTitle="clear"
13285
14033
  >
13286
14034
  </ng-container>
13287
14035
  <kendo-dateinput
@@ -13290,6 +14038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13290
14038
  hasPopup="dialog"
13291
14039
  [isPopupOpen]="show"
13292
14040
  [disabled]="disabled"
14041
+ [clearButton]="clearButton"
13293
14042
  [readonly]="readonly || readOnlyInput"
13294
14043
  [role]="'combobox'"
13295
14044
  [ariaReadOnly]="readonly"
@@ -13316,7 +14065,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13316
14065
  [value]="value"
13317
14066
  (valueChange)="handleInputChange($event)"
13318
14067
  (click)="handleDateInputClick()"
13319
- ></kendo-dateinput>
14068
+ >
14069
+ <kendo-dateinput-messages
14070
+ [clearTitle]="localization.get('clearTitle')"
14071
+ >
14072
+ </kendo-dateinput-messages>
14073
+ </kendo-dateinput>
13320
14074
  <button
13321
14075
  #toggleButton
13322
14076
  type="button"
@@ -13443,7 +14197,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13443
14197
  </ng-template>
13444
14198
  `
13445
14199
  }]
13446
- }], ctorParameters: function () { return [{ type: BusViewService }, { type: i0.NgZone }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i1$2.PopupService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: PickerService }, { type: i1.IntlService }, { type: undefined, decorators: [{
14200
+ }], ctorParameters: function () { return [{ type: BusViewService }, { type: i0.NgZone }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i1$3.PopupService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: PickerService }, { type: i1.IntlService }, { type: undefined, decorators: [{
13447
14201
  type: Optional
13448
14202
  }, {
13449
14203
  type: Inject,
@@ -13471,6 +14225,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13471
14225
  args: ['class.k-readonly']
13472
14226
  }], readOnlyInput: [{
13473
14227
  type: Input
14228
+ }], clearButton: [{
14229
+ type: Input
13474
14230
  }], format: [{
13475
14231
  type: Input
13476
14232
  }], formatPlaceholder: [{
@@ -13551,9 +14307,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13551
14307
  */
13552
14308
  class DateTimePickerMessages extends ComponentMessages {
13553
14309
  }
13554
- DateTimePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
13555
- DateTimePickerMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateTimePickerMessages, selector: "kendo-datetimepicker-messages-base", inputs: { toggle: "toggle", dateTab: "dateTab", dateTabLabel: "dateTabLabel", timeTab: "timeTab", timeTabLabel: "timeTabLabel", accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", today: "today", now: "now", nowLabel: "nowLabel", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle", hour: "hour", minute: "minute", second: "second", millisecond: "millisecond", dayperiod: "dayperiod" }, usesInheritance: true, ngImport: i0 });
13556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerMessages, decorators: [{
14310
+ DateTimePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14311
+ DateTimePickerMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateTimePickerMessages, selector: "kendo-datetimepicker-messages-base", inputs: { toggle: "toggle", dateTab: "dateTab", dateTabLabel: "dateTabLabel", timeTab: "timeTab", timeTabLabel: "timeTabLabel", accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", today: "today", now: "now", nowLabel: "nowLabel", prevButtonTitle: "prevButtonTitle", nextButtonTitle: "nextButtonTitle", parentViewButtonTitle: "parentViewButtonTitle", hour: "hour", minute: "minute", second: "second", millisecond: "millisecond", dayperiod: "dayperiod", clearTitle: "clearTitle" }, usesInheritance: true, ngImport: i0 });
14312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerMessages, decorators: [{
13557
14313
  type: Directive,
13558
14314
  args: [{
13559
14315
  // eslint-disable-next-line
@@ -13599,6 +14355,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13599
14355
  type: Input
13600
14356
  }], dayperiod: [{
13601
14357
  type: Input
14358
+ }], clearTitle: [{
14359
+ type: Input
13602
14360
  }] } });
13603
14361
 
13604
14362
  /**
@@ -13610,14 +14368,14 @@ class LocalizedMessagesDirective extends DateTimePickerMessages {
13610
14368
  this.service = service;
13611
14369
  }
13612
14370
  }
13613
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
13614
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]", providers: [
14371
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
14372
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]", providers: [
13615
14373
  {
13616
14374
  provide: DateTimePickerMessages,
13617
14375
  useExisting: forwardRef(() => LocalizedMessagesDirective)
13618
14376
  }
13619
14377
  ], usesInheritance: true, ngImport: i0 });
13620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
14378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
13621
14379
  type: Directive,
13622
14380
  args: [{
13623
14381
  providers: [
@@ -13640,6 +14398,7 @@ const TWO_DIGIT_YEAR_MAX = 68;
13640
14398
  const ACCEPT_BUTTON_SELECTOR = '.k-button.k-time-accept';
13641
14399
  const CANCEL_BUTTON_SELECOTR = '.k-button.k-time-cancel';
13642
14400
  const DATE_TAB_BUTTON_SELECTOR = '.k-button.k-date-tab';
14401
+ const TIME_TAB_BUTTON_SELECTOR = '.k-button.k-time-tab';
13643
14402
  /**
13644
14403
  * Represents the [Kendo UI DateTimePicker component for Angular]({% slug overview_datetimepicker %}).
13645
14404
  */
@@ -13793,6 +14552,12 @@ class DateTimePickerComponent {
13793
14552
  * @default false
13794
14553
  */
13795
14554
  this.allowCaretMode = false;
14555
+ /**
14556
+ * If set to `true`, renders a clear button after the input text or DateTimePicker value has been changed.
14557
+ * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
14558
+ * @default false
14559
+ */
14560
+ this.clearButton = false;
13796
14561
  /**
13797
14562
  * When enabled, the DateTimePicker will autofill the rest of the date to the current date when the component loses focus.
13798
14563
  *
@@ -14236,6 +15001,9 @@ class DateTimePickerComponent {
14236
15001
  get dateTabButton() {
14237
15002
  return this.popupRef?.popup.instance.container.nativeElement.querySelector(DATE_TAB_BUTTON_SELECTOR);
14238
15003
  }
15004
+ get timeTabButton() {
15005
+ return this.popupRef?.popup.instance.container.nativeElement.querySelector(TIME_TAB_BUTTON_SELECTOR);
15006
+ }
14239
15007
  /**
14240
15008
  * @hidden
14241
15009
  */
@@ -14482,6 +15250,12 @@ class DateTimePickerComponent {
14482
15250
  this.dateTabButton.focus();
14483
15251
  }
14484
15252
  }
15253
+ /**
15254
+ * @hidden
15255
+ */
15256
+ onTabOutNow() {
15257
+ this.timeTabButton.focus();
15258
+ }
14485
15259
  /**
14486
15260
  * @hidden
14487
15261
  */
@@ -14605,7 +15379,7 @@ class DateTimePickerComponent {
14605
15379
  this.calendar.monthView.list.nativeElement.focus();
14606
15380
  }
14607
15381
  else {
14608
- this.timeSelector.focus();
15382
+ this.timeSelector.timeLists.last.focus();
14609
15383
  }
14610
15384
  }
14611
15385
  break;
@@ -14832,6 +15606,7 @@ class DateTimePickerComponent {
14832
15606
  if (isEqual(this.value, value)) {
14833
15607
  return;
14834
15608
  }
15609
+ this.dateInput.showClearButton = true;
14835
15610
  this.value = cloneDate(value);
14836
15611
  this.onControlChange(cloneDate(value));
14837
15612
  this.valueChange.emit(cloneDate(value));
@@ -14900,8 +15675,8 @@ class DateTimePickerComponent {
14900
15675
  }
14901
15676
  }
14902
15677
  }
14903
- DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i1$2.PopupService }, { token: i1.IntlService }, { token: i0.ChangeDetectorRef }, { token: PickerService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: TOUCH_ENABLED }, { token: i1$1.LocalizationService }, { token: DisabledDatesService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
14904
- DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateTimePickerComponent, 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", 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" }, host: { properties: { "class.k-datetimepicker": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.disabledClass", "class.k-readonly": "this.readonly" } }, providers: [
15678
+ DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i1$3.PopupService }, { token: i1.IntlService }, { token: i0.ChangeDetectorRef }, { token: PickerService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: TOUCH_ENABLED }, { token: i1$1.LocalizationService }, { token: DisabledDatesService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
15679
+ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateTimePickerComponent, 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" }, host: { properties: { "class.k-datetimepicker": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.disabledClass", "class.k-readonly": "this.readonly" } }, providers: [
14905
15680
  PickerService,
14906
15681
  LocalizationService,
14907
15682
  DisabledDatesService,
@@ -14972,12 +15747,16 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
14972
15747
 
14973
15748
  i18n-dayperiod="kendo.datetimepicker.dayperiod|The label for the dayperiod part in the timepicker component"
14974
15749
  dayperiod="Dayperiod"
15750
+
15751
+ i18n-clearTitle="kendo.datetimepicker.clearTitle|The title of the clear button"
15752
+ clearTitle="clear"
14975
15753
  >
14976
15754
  </ng-container>
14977
15755
 
14978
15756
  <kendo-dateinput
14979
15757
  [value]="value"
14980
15758
  [format]="format"
15759
+ [clearButton]="clearButton"
14981
15760
  [twoDigitYearMax]="twoDigitYearMax"
14982
15761
  [min]="min"
14983
15762
  [max]="max"
@@ -15013,6 +15792,10 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15013
15792
  [size]="size"
15014
15793
  (click)="handleDateInputClick()"
15015
15794
  >
15795
+ <kendo-dateinput-messages
15796
+ [clearTitle]="localization.get('clearTitle')"
15797
+ >
15798
+ </kendo-dateinput-messages>
15016
15799
  </kendo-dateinput>
15017
15800
  <button
15018
15801
  #toggleButton
@@ -15173,8 +15956,8 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15173
15956
  <div class="k-datetime-calendar-wrap">
15174
15957
  <kendo-calendar
15175
15958
  #calendar
15176
- [ngClass]="{'k-calendar-lg': isAdaptive}"
15177
15959
  [focusedDate]="focusedDate"
15960
+ [size]="isAdaptive ? 'large' : size"
15178
15961
  [(value)]="calendarValue"
15179
15962
  [type]="calendarType"
15180
15963
  [min]="calendarMin"
@@ -15221,6 +16004,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15221
16004
  [isAdaptiveEnabled]="isAdaptiveModeEnabled"
15222
16005
  [isDateTimePicker]="true"
15223
16006
  (tabOutLastPart)="onTabOutLastPart()"
16007
+ (tabOutNow)="onTabOutNow()"
15224
16008
  >
15225
16009
  <kendo-timeselector-messages
15226
16010
  [acceptLabel]="localization.get('acceptLabel')"
@@ -15281,8 +16065,8 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15281
16065
  </div>
15282
16066
  </div>
15283
16067
  </ng-template>
15284
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "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: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }, { kind: "component", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }, { kind: "directive", type: i12.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: i11.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: i11.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: i12.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: i7.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: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerComponent, decorators: [{
16068
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { 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: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-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: "directive", type: i1$2.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: i12.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: i12.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: i1$2.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: i7.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: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerComponent, decorators: [{
15286
16070
  type: Component,
15287
16071
  args: [{
15288
16072
  selector: 'kendo-datetimepicker',
@@ -15360,12 +16144,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15360
16144
 
15361
16145
  i18n-dayperiod="kendo.datetimepicker.dayperiod|The label for the dayperiod part in the timepicker component"
15362
16146
  dayperiod="Dayperiod"
16147
+
16148
+ i18n-clearTitle="kendo.datetimepicker.clearTitle|The title of the clear button"
16149
+ clearTitle="clear"
15363
16150
  >
15364
16151
  </ng-container>
15365
16152
 
15366
16153
  <kendo-dateinput
15367
16154
  [value]="value"
15368
16155
  [format]="format"
16156
+ [clearButton]="clearButton"
15369
16157
  [twoDigitYearMax]="twoDigitYearMax"
15370
16158
  [min]="min"
15371
16159
  [max]="max"
@@ -15401,6 +16189,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15401
16189
  [size]="size"
15402
16190
  (click)="handleDateInputClick()"
15403
16191
  >
16192
+ <kendo-dateinput-messages
16193
+ [clearTitle]="localization.get('clearTitle')"
16194
+ >
16195
+ </kendo-dateinput-messages>
15404
16196
  </kendo-dateinput>
15405
16197
  <button
15406
16198
  #toggleButton
@@ -15561,8 +16353,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15561
16353
  <div class="k-datetime-calendar-wrap">
15562
16354
  <kendo-calendar
15563
16355
  #calendar
15564
- [ngClass]="{'k-calendar-lg': isAdaptive}"
15565
16356
  [focusedDate]="focusedDate"
16357
+ [size]="isAdaptive ? 'large' : size"
15566
16358
  [(value)]="calendarValue"
15567
16359
  [type]="calendarType"
15568
16360
  [min]="calendarMin"
@@ -15609,6 +16401,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15609
16401
  [isAdaptiveEnabled]="isAdaptiveModeEnabled"
15610
16402
  [isDateTimePicker]="true"
15611
16403
  (tabOutLastPart)="onTabOutLastPart()"
16404
+ (tabOutNow)="onTabOutNow()"
15612
16405
  >
15613
16406
  <kendo-timeselector-messages
15614
16407
  [acceptLabel]="localization.get('acceptLabel')"
@@ -15671,7 +16464,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15671
16464
  </ng-template>
15672
16465
  `
15673
16466
  }]
15674
- }], ctorParameters: function () { return [{ type: i1$2.PopupService }, { type: i1.IntlService }, { type: i0.ChangeDetectorRef }, { type: PickerService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: undefined, decorators: [{
16467
+ }], ctorParameters: function () { return [{ type: i1$3.PopupService }, { type: i1.IntlService }, { type: i0.ChangeDetectorRef }, { type: PickerService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: undefined, decorators: [{
15675
16468
  type: Inject,
15676
16469
  args: [TOUCH_ENABLED]
15677
16470
  }] }, { type: i1$1.LocalizationService }, { type: DisabledDatesService }, { type: i0.Renderer2 }, { type: i0.Injector }]; }, propDecorators: { hostClasses: [{
@@ -15753,6 +16546,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15753
16546
  type: Input
15754
16547
  }], allowCaretMode: [{
15755
16548
  type: Input
16549
+ }], clearButton: [{
16550
+ type: Input
15756
16551
  }], autoFill: [{
15757
16552
  type: Input
15758
16553
  }], adaptiveMode: [{
@@ -15834,9 +16629,9 @@ class DateRangePopupTemplateDirective {
15834
16629
  this.templateRef = templateRef;
15835
16630
  }
15836
16631
  }
15837
- DateRangePopupTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
15838
- DateRangePopupTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangePopupTemplateDirective, selector: "[kendoDateRangePopupTemplate]", ngImport: i0 });
15839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupTemplateDirective, decorators: [{
16632
+ DateRangePopupTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
16633
+ DateRangePopupTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangePopupTemplateDirective, selector: "[kendoDateRangePopupTemplate]", ngImport: i0 });
16634
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupTemplateDirective, decorators: [{
15840
16635
  type: Directive,
15841
16636
  args: [{
15842
16637
  selector: '[kendoDateRangePopupTemplate]'
@@ -16050,9 +16845,9 @@ class DateRangeService {
16050
16845
  this.range$.next(range);
16051
16846
  }
16052
16847
  }
16053
- DateRangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeService, deps: [{ token: i0.Renderer2, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
16054
- DateRangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeService });
16055
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeService, decorators: [{
16848
+ DateRangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeService, deps: [{ token: i0.Renderer2, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
16849
+ DateRangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeService });
16850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeService, decorators: [{
16056
16851
  type: Injectable
16057
16852
  }], ctorParameters: function () { return [{ type: i0.Renderer2, decorators: [{
16058
16853
  type: Optional
@@ -16236,9 +17031,9 @@ class DateRangeSelectionDirective {
16236
17031
  this.selectionRangeChange.emit(range);
16237
17032
  }
16238
17033
  }
16239
- DateRangeSelectionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeSelectionDirective, deps: [{ token: MultiViewCalendarComponent }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DateRangeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
16240
- DateRangeSelectionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: { autoCorrectOn: "autoCorrectOn", selectionRange: "selectionRange", activeRangeEnd: "activeRangeEnd", shouldSetRange: "shouldSetRange" }, outputs: { activeRangeEndChange: "activeRangeEndChange", selectionRangeChange: "selectionRangeChange" }, ngImport: i0 });
16241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeSelectionDirective, decorators: [{
17034
+ DateRangeSelectionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeSelectionDirective, deps: [{ token: MultiViewCalendarComponent }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DateRangeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
17035
+ DateRangeSelectionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: { autoCorrectOn: "autoCorrectOn", selectionRange: "selectionRange", activeRangeEnd: "activeRangeEnd", shouldSetRange: "shouldSetRange" }, outputs: { activeRangeEndChange: "activeRangeEndChange", selectionRangeChange: "selectionRangeChange" }, ngImport: i0 });
17036
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeSelectionDirective, decorators: [{
16242
17037
  type: Directive,
16243
17038
  args: [{
16244
17039
  selector: '[kendoDateRangeSelection]'
@@ -16264,9 +17059,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16264
17059
  */
16265
17060
  class DateRangePopupMessages extends ComponentMessages {
16266
17061
  }
16267
- DateRangePopupMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
16268
- DateRangePopupMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangePopupMessages, selector: "kendo-daterangepopup-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel" }, usesInheritance: true, ngImport: i0 });
16269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupMessages, decorators: [{
17062
+ DateRangePopupMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
17063
+ DateRangePopupMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangePopupMessages, selector: "kendo-daterangepopup-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel" }, usesInheritance: true, ngImport: i0 });
17064
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupMessages, decorators: [{
16270
17065
  type: Directive,
16271
17066
  args: [{
16272
17067
  // eslint-disable-next-line
@@ -16291,14 +17086,14 @@ class DateRangePopupLocalizedMessagesDirective extends DateRangePopupMessages {
16291
17086
  this.service = service;
16292
17087
  }
16293
17088
  }
16294
- DateRangePopupLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
16295
- DateRangePopupLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]", providers: [
17089
+ DateRangePopupLocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupLocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
17090
+ DateRangePopupLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]", providers: [
16296
17091
  {
16297
17092
  provide: DateRangePopupMessages,
16298
17093
  useExisting: forwardRef(() => DateRangePopupLocalizedMessagesDirective)
16299
17094
  }
16300
17095
  ], usesInheritance: true, ngImport: i0 });
16301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupLocalizedMessagesDirective, decorators: [{
17096
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupLocalizedMessagesDirective, decorators: [{
16302
17097
  type: Directive,
16303
17098
  args: [{
16304
17099
  providers: [
@@ -16339,6 +17134,13 @@ class DateRangePopupComponent {
16339
17134
  this.localization = localization;
16340
17135
  this.cdr = cdr;
16341
17136
  this.rtl = rtl;
17137
+ /**
17138
+ * Allows reverse selection when using `range` selection.
17139
+ * If `allowReverse` is set to `true`, the component skips the validation of whether the start date is after the end date.
17140
+ *
17141
+ * @default false
17142
+ */
17143
+ this.allowReverse = false;
16342
17144
  /**
16343
17145
  * Controls the popup animation.
16344
17146
  * By default, the opening and closing animations are enabled.
@@ -16487,6 +17289,14 @@ class DateRangePopupComponent {
16487
17289
  this.actionSheet.titleId = changes.first?.headerId;
16488
17290
  this.cdr.detectChanges();
16489
17291
  }));
17292
+ this.calendarSubscriptions.add(this.dateRangeService.startInput$?.value?.valueChange.subscribe((res) => {
17293
+ if (!res && this.dateRangeService.selectionRange.end) {
17294
+ this.calendar.shouldHoverWhenNoStart = true;
17295
+ }
17296
+ else {
17297
+ this.calendar.shouldHoverWhenNoStart = false;
17298
+ }
17299
+ }));
16490
17300
  if (isWindowAvailable()) {
16491
17301
  this.zone.runOutsideAngular(() => this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this)));
16492
17302
  }
@@ -16510,6 +17320,19 @@ class DateRangePopupComponent {
16510
17320
  this.windowBlurSubscription.unsubscribe();
16511
17321
  }
16512
17322
  }
17323
+ /**
17324
+ * @hidden
17325
+ *
17326
+ */
17327
+ onRangeSelectionChange(rangeSelection) {
17328
+ this.dateRangeService.setActiveRangeEnd(rangeSelection.activeRangeEnd);
17329
+ if (!this.isAdaptive) {
17330
+ this.dateRangeService.setRange(rangeSelection.selectionRange);
17331
+ }
17332
+ else {
17333
+ this._rangeSelection = rangeSelection.selectionRange;
17334
+ }
17335
+ }
16513
17336
  /**
16514
17337
  * Opens the popup component and focuses the calendar.
16515
17338
  */
@@ -16577,7 +17400,7 @@ class DateRangePopupComponent {
16577
17400
  * @hidden
16578
17401
  */
16579
17402
  handleAccept() {
16580
- this.dateRangeSelectionDirective.setRange(this.dateRangeService.selectionRange);
17403
+ this.dateRangeService.setRange(this._rangeSelection);
16581
17404
  this.show = false;
16582
17405
  }
16583
17406
  /**
@@ -16756,8 +17579,8 @@ class DateRangePopupComponent {
16756
17579
  }
16757
17580
  }
16758
17581
  }
16759
- DateRangePopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupComponent, deps: [{ token: i1$2.PopupService }, { token: DateRangeService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
16760
- DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateRangePopupComponent, selector: "kendo-daterange-popup", inputs: { animate: "animate", anchor: "anchor", anchorAlign: "anchorAlign", appendTo: "appendTo", collision: "collision", popupAlign: "popupAlign", margin: "margin", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle" }, outputs: { open: "open", close: "close", onBlur: "blur", onFocus: "focus", cancel: "cancel" }, providers: [
17582
+ DateRangePopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupComponent, deps: [{ token: i1$3.PopupService }, { token: DateRangeService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
17583
+ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateRangePopupComponent, selector: "kendo-daterange-popup", inputs: { allowReverse: "allowReverse", animate: "animate", anchor: "anchor", anchorAlign: "anchorAlign", appendTo: "appendTo", collision: "collision", popupAlign: "popupAlign", margin: "margin", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", size: "size" }, outputs: { open: "open", close: "close", onBlur: "blur", onFocus: "focus", cancel: "cancel" }, providers: [
16761
17584
  LocalizationService,
16762
17585
  {
16763
17586
  provide: L10N_PREFIX,
@@ -16780,7 +17603,16 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
16780
17603
  </ng-container>
16781
17604
  <ng-container #container></ng-container>
16782
17605
  <ng-template #defaultTemplate>
16783
- <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
17606
+ <kendo-multiviewcalendar
17607
+ [allowReverse]="allowReverse"
17608
+ selection="range"
17609
+ [size]="size"
17610
+ [value]="dateRangeService.selectionRange"
17611
+ (onClosePopup)="closePopup($event)"
17612
+ (onTabPress)="handleTab($event)"
17613
+ (onShiftTabPress)="handleShiftTab($event)"
17614
+ (rangeSelectionChange)="onRangeSelectionChange($event)"
17615
+ ></kendo-multiviewcalendar>
16784
17616
  </ng-template>
16785
17617
 
16786
17618
  <kendo-actionsheet
@@ -16821,8 +17653,12 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
16821
17653
  <kendo-multiviewcalendar
16822
17654
  class="k-calendar-lg"
16823
17655
  orientation="vertical"
16824
- kendoDateRangeSelection
16825
- [shouldSetRange]="false">
17656
+ [allowReverse]="allowReverse"
17657
+ [focusedDate]="dateRangeService.focusedDate"
17658
+ [value]="dateRangeService.selectionRange"
17659
+ selection="range"
17660
+ (rangeSelectionChange)="onRangeSelectionChange($event)"
17661
+ >
16826
17662
  </kendo-multiviewcalendar>
16827
17663
  </div>
16828
17664
  </div>
@@ -16850,8 +17686,8 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
16850
17686
  </div>
16851
17687
  </ng-template>
16852
17688
  </kendo-actionsheet>
16853
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["showOtherMonthDays", "showCalendarHeader", "id", "focusedDate", "footer", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "weekDaysFormat", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "footerTemplate", "headerTitleTemplate", "headerTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { kind: "component", type: i11.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: i11.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: i12.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: i7.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: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { kind: "directive", type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }] });
16854
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupComponent, decorators: [{
17689
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["showOtherMonthDays", "showCalendarHeader", "size", "id", "focusedDate", "footer", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "weekDaysFormat", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "footerTemplate", "headerTitleTemplate", "headerTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "rangeSelectionChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { kind: "component", type: i12.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: i12.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: i1$2.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: i7.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: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }] });
17690
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupComponent, decorators: [{
16855
17691
  type: Component,
16856
17692
  args: [{
16857
17693
  exportAs: 'kendo-daterange-popup',
@@ -16880,7 +17716,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16880
17716
  </ng-container>
16881
17717
  <ng-container #container></ng-container>
16882
17718
  <ng-template #defaultTemplate>
16883
- <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
17719
+ <kendo-multiviewcalendar
17720
+ [allowReverse]="allowReverse"
17721
+ selection="range"
17722
+ [size]="size"
17723
+ [value]="dateRangeService.selectionRange"
17724
+ (onClosePopup)="closePopup($event)"
17725
+ (onTabPress)="handleTab($event)"
17726
+ (onShiftTabPress)="handleShiftTab($event)"
17727
+ (rangeSelectionChange)="onRangeSelectionChange($event)"
17728
+ ></kendo-multiviewcalendar>
16884
17729
  </ng-template>
16885
17730
 
16886
17731
  <kendo-actionsheet
@@ -16921,8 +17766,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16921
17766
  <kendo-multiviewcalendar
16922
17767
  class="k-calendar-lg"
16923
17768
  orientation="vertical"
16924
- kendoDateRangeSelection
16925
- [shouldSetRange]="false">
17769
+ [allowReverse]="allowReverse"
17770
+ [focusedDate]="dateRangeService.focusedDate"
17771
+ [value]="dateRangeService.selectionRange"
17772
+ selection="range"
17773
+ (rangeSelectionChange)="onRangeSelectionChange($event)"
17774
+ >
16926
17775
  </kendo-multiviewcalendar>
16927
17776
  </div>
16928
17777
  </div>
@@ -16952,7 +17801,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16952
17801
  </kendo-actionsheet>
16953
17802
  `
16954
17803
  }]
16955
- }], ctorParameters: function () { return [{ type: i1$2.PopupService }, { type: DateRangeService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
17804
+ }], ctorParameters: function () { return [{ type: i1$3.PopupService }, { type: DateRangeService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
16956
17805
  type: Optional
16957
17806
  }, {
16958
17807
  type: Inject,
@@ -16978,6 +17827,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16978
17827
  }], contentCalendar: [{
16979
17828
  type: ContentChildren,
16980
17829
  args: [MultiViewCalendarComponent]
17830
+ }], allowReverse: [{
17831
+ type: Input
16981
17832
  }], animate: [{
16982
17833
  type: Input
16983
17834
  }], anchor: [{
@@ -16998,6 +17849,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16998
17849
  type: Input
16999
17850
  }], subtitle: [{
17000
17851
  type: Input
17852
+ }], size: [{
17853
+ type: Input
17001
17854
  }], open: [{
17002
17855
  type: Output
17003
17856
  }], close: [{
@@ -17067,22 +17920,24 @@ class DateRangeComponent {
17067
17920
  this.subscription?.unsubscribe();
17068
17921
  }
17069
17922
  }
17070
- DateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeComponent, deps: [{ token: DateRangeService }], target: i0.ɵɵFactoryTarget.Component });
17071
- DateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateRangeComponent, selector: "kendo-daterange", host: { listeners: { "keydown": "keydown($event)" }, properties: { "class.k-daterangepicker": "this.wrapperClass" } }, providers: [DateRangeService], queries: [{ propertyName: "contentPopup", predicate: DateRangePopupComponent }], ngImport: i0, template: `
17923
+ DateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeComponent, deps: [{ token: DateRangeService }], target: i0.ɵɵFactoryTarget.Component });
17924
+ DateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeComponent, selector: "kendo-daterange", inputs: { size: "size" }, host: { listeners: { "keydown": "keydown($event)" }, properties: { "class.k-daterangepicker": "this.wrapperClass" } }, providers: [DateRangeService], queries: [{ propertyName: "contentPopup", predicate: DateRangePopupComponent }], ngImport: i0, template: `
17072
17925
  <ng-content></ng-content>
17073
- <kendo-daterange-popup *ngIf="showDefault"></kendo-daterange-popup>
17074
- `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DateRangePopupComponent, selector: "kendo-daterange-popup", inputs: ["animate", "anchor", "anchorAlign", "appendTo", "collision", "popupAlign", "margin", "adaptiveMode", "title", "subtitle"], outputs: ["open", "close", "blur", "focus", "cancel"], exportAs: ["kendo-daterange-popup"] }] });
17075
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeComponent, decorators: [{
17926
+ <kendo-daterange-popup *ngIf="showDefault" [size]="size"></kendo-daterange-popup>
17927
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DateRangePopupComponent, selector: "kendo-daterange-popup", inputs: ["allowReverse", "animate", "anchor", "anchorAlign", "appendTo", "collision", "popupAlign", "margin", "adaptiveMode", "title", "subtitle", "size"], outputs: ["open", "close", "blur", "focus", "cancel"], exportAs: ["kendo-daterange-popup"] }] });
17928
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeComponent, decorators: [{
17076
17929
  type: Component,
17077
17930
  args: [{
17078
17931
  providers: [DateRangeService],
17079
17932
  selector: 'kendo-daterange',
17080
17933
  template: `
17081
17934
  <ng-content></ng-content>
17082
- <kendo-daterange-popup *ngIf="showDefault"></kendo-daterange-popup>
17935
+ <kendo-daterange-popup *ngIf="showDefault" [size]="size"></kendo-daterange-popup>
17083
17936
  `
17084
17937
  }]
17085
- }], ctorParameters: function () { return [{ type: DateRangeService }]; }, propDecorators: { keydown: [{
17938
+ }], ctorParameters: function () { return [{ type: DateRangeService }]; }, propDecorators: { size: [{
17939
+ type: Input
17940
+ }], keydown: [{
17086
17941
  type: HostListener,
17087
17942
  args: ['keydown', ['$event']]
17088
17943
  }], wrapperClass: [{
@@ -17202,9 +18057,9 @@ class DateRangeInput {
17202
18057
  }
17203
18058
  }
17204
18059
  }
17205
- DateRangeInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeInput, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
17206
- DateRangeInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangeInput, ngImport: i0 });
17207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeInput, decorators: [{
18060
+ DateRangeInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeInput, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
18061
+ DateRangeInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeInput, ngImport: i0 });
18062
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeInput, decorators: [{
17208
18063
  type: Directive,
17209
18064
  args: [{}]
17210
18065
  }], ctorParameters: function () { return [{ type: undefined }, { type: DateRangeService }, { type: DateInputComponent }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; } });
@@ -17275,9 +18130,9 @@ class DateRangeEndInputDirective extends DateRangeInput {
17275
18130
  this.dateInput.notify();
17276
18131
  }
17277
18132
  }
17278
- DateRangeEndInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeEndInputDirective, deps: [{ token: DateRangeService }, { token: DateInputComponent }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
17279
- DateRangeEndInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangeEndInputDirective, selector: "[kendoDateRangeEndInput]", inputs: { autoCorrectOn: "autoCorrectOn", navigateCalendarOnFocus: "navigateCalendarOnFocus" }, usesInheritance: true, ngImport: i0 });
17280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeEndInputDirective, decorators: [{
18133
+ DateRangeEndInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeEndInputDirective, deps: [{ token: DateRangeService }, { token: DateInputComponent }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
18134
+ DateRangeEndInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeEndInputDirective, selector: "[kendoDateRangeEndInput]", inputs: { autoCorrectOn: "autoCorrectOn", navigateCalendarOnFocus: "navigateCalendarOnFocus" }, usesInheritance: true, ngImport: i0 });
18135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeEndInputDirective, decorators: [{
17281
18136
  type: Directive,
17282
18137
  args: [{
17283
18138
  selector: '[kendoDateRangeEndInput]'
@@ -17356,9 +18211,9 @@ class DateRangeStartInputDirective extends DateRangeInput {
17356
18211
  this.dateInput.notify();
17357
18212
  }
17358
18213
  }
17359
- DateRangeStartInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeStartInputDirective, deps: [{ token: DateRangeService }, { token: DateInputComponent }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
17360
- DateRangeStartInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangeStartInputDirective, selector: "[kendoDateRangeStartInput]", inputs: { autoCorrectOn: "autoCorrectOn", navigateCalendarOnFocus: "navigateCalendarOnFocus" }, usesInheritance: true, ngImport: i0 });
17361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeStartInputDirective, decorators: [{
18214
+ DateRangeStartInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeStartInputDirective, deps: [{ token: DateRangeService }, { token: DateInputComponent }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
18215
+ DateRangeStartInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeStartInputDirective, selector: "[kendoDateRangeStartInput]", inputs: { autoCorrectOn: "autoCorrectOn", navigateCalendarOnFocus: "navigateCalendarOnFocus" }, usesInheritance: true, ngImport: i0 });
18216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeStartInputDirective, decorators: [{
17362
18217
  type: Directive,
17363
18218
  args: [{
17364
18219
  selector: '[kendoDateRangeStartInput]'
@@ -17381,16 +18236,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17381
18236
  */
17382
18237
  class CalendarCommonModule {
17383
18238
  }
17384
- CalendarCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17385
- CalendarCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: CalendarCommonModule, declarations: [KForOf,
18239
+ CalendarCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18240
+ CalendarCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CalendarCommonModule, declarations: [KForOf,
17386
18241
  HeaderComponent,
17387
18242
  FooterComponent,
17388
18243
  ViewComponent], imports: [CommonModule, EventsModule, ButtonModule], exports: [KForOf,
17389
18244
  HeaderComponent,
17390
18245
  FooterComponent,
17391
18246
  ViewComponent] });
17392
- CalendarCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarCommonModule, imports: [CommonModule, EventsModule, ButtonModule] });
17393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarCommonModule, decorators: [{
18247
+ CalendarCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarCommonModule, imports: [CommonModule, EventsModule, ButtonModule] });
18248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarCommonModule, decorators: [{
17394
18249
  type: NgModule,
17395
18250
  args: [{
17396
18251
  declarations: [
@@ -17426,8 +18281,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17426
18281
  */
17427
18282
  class TemplatesModule {
17428
18283
  }
17429
- TemplatesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplatesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17430
- TemplatesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: TemplatesModule, declarations: [CellTemplateDirective,
18284
+ TemplatesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplatesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18285
+ TemplatesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TemplatesModule, declarations: [CellTemplateDirective,
17431
18286
  MonthCellTemplateDirective,
17432
18287
  YearCellTemplateDirective,
17433
18288
  DecadeCellTemplateDirective,
@@ -17446,8 +18301,8 @@ TemplatesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
17446
18301
  NavigationItemTemplateDirective,
17447
18302
  HeaderTemplateDirective,
17448
18303
  FooterTemplateDirective] });
17449
- TemplatesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplatesModule });
17450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplatesModule, decorators: [{
18304
+ TemplatesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplatesModule });
18305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplatesModule, decorators: [{
17451
18306
  type: NgModule,
17452
18307
  args: [{
17453
18308
  declarations: [
@@ -17514,8 +18369,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17514
18369
  */
17515
18370
  class MultiViewCalendarModule {
17516
18371
  }
17517
- MultiViewCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17518
- MultiViewCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarModule, declarations: [HorizontalViewListComponent,
18372
+ MultiViewCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18373
+ MultiViewCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarModule, declarations: [HorizontalViewListComponent,
17519
18374
  MultiViewCalendarLocalizedMessagesDirective,
17520
18375
  MultiViewCalendarCustomMessagesComponent,
17521
18376
  MultiViewCalendarComponent], imports: [CommonModule,
@@ -17529,7 +18384,7 @@ MultiViewCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
17529
18384
  MultiViewCalendarComponent,
17530
18385
  CalendarCommonModule,
17531
18386
  TemplatesModule] });
17532
- MultiViewCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarModule, providers: [
18387
+ MultiViewCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarModule, providers: [
17533
18388
  NavigationService,
17534
18389
  CenturyViewService,
17535
18390
  DecadeViewService,
@@ -17543,7 +18398,7 @@ MultiViewCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
17543
18398
  PopupModule,
17544
18399
  EventsModule, CalendarCommonModule,
17545
18400
  TemplatesModule] });
17546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarModule, decorators: [{
18401
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarModule, decorators: [{
17547
18402
  type: NgModule,
17548
18403
  args: [{
17549
18404
  declarations: [
@@ -17590,10 +18445,10 @@ const COMPONENT_DIRECTIVES$3 = [
17590
18445
  */
17591
18446
  class VirtualizationModule {
17592
18447
  }
17593
- VirtualizationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17594
- VirtualizationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationModule, declarations: [VirtualizationComponent], imports: [CommonModule], exports: [VirtualizationComponent] });
17595
- VirtualizationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationModule, imports: [CommonModule] });
17596
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationModule, decorators: [{
18448
+ VirtualizationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18449
+ VirtualizationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationModule, declarations: [VirtualizationComponent], imports: [CommonModule], exports: [VirtualizationComponent] });
18450
+ VirtualizationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationModule, imports: [CommonModule] });
18451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationModule, decorators: [{
17597
18452
  type: NgModule,
17598
18453
  args: [{
17599
18454
  declarations: [COMPONENT_DIRECTIVES$3],
@@ -17644,8 +18499,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17644
18499
  */
17645
18500
  class CalendarModule {
17646
18501
  }
17647
- CalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17648
- CalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: CalendarModule, declarations: [CalendarComponent,
18502
+ CalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18503
+ CalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CalendarModule, declarations: [CalendarComponent,
17649
18504
  NavigationComponent,
17650
18505
  CalendarCustomMessagesComponent,
17651
18506
  CalendarLocalizedMessagesDirective,
@@ -17663,7 +18518,7 @@ CalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
17663
18518
  ViewListComponent,
17664
18519
  CalendarCommonModule,
17665
18520
  TemplatesModule] });
17666
- CalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarModule, providers: [
18521
+ CalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarModule, providers: [
17667
18522
  CalendarDOMService,
17668
18523
  CenturyViewService,
17669
18524
  DecadeViewService,
@@ -17679,7 +18534,7 @@ CalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
17679
18534
  EventsModule,
17680
18535
  ResizeSensorModule, CalendarCommonModule,
17681
18536
  TemplatesModule] });
17682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarModule, decorators: [{
18537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarModule, decorators: [{
17683
18538
  type: NgModule,
17684
18539
  args: [{
17685
18540
  declarations: [
@@ -17755,14 +18610,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17755
18610
  */
17756
18611
  class CalendarsModule {
17757
18612
  }
17758
- CalendarsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17759
- CalendarsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: CalendarsModule, imports: [CalendarModule,
18613
+ CalendarsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18614
+ CalendarsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CalendarsModule, imports: [CalendarModule,
17760
18615
  MultiViewCalendarModule], exports: [CalendarModule,
17761
18616
  MultiViewCalendarModule] });
17762
- CalendarsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarsModule, imports: [CalendarModule,
18617
+ CalendarsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarsModule, imports: [CalendarModule,
17763
18618
  MultiViewCalendarModule, CalendarModule,
17764
18619
  MultiViewCalendarModule] });
17765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarsModule, decorators: [{
18620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarsModule, decorators: [{
17766
18621
  type: NgModule,
17767
18622
  args: [{
17768
18623
  exports: [
@@ -17776,53 +18631,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17776
18631
  }]
17777
18632
  }] });
17778
18633
 
17779
- /**
17780
- * Custom component messages override default component messages ([see example]({% slug globalization_dateinputs %}#toc-custom-messages)).
17781
- */
17782
- class DateInputCustomMessagesComponent extends DateInputMessages {
17783
- constructor(service) {
17784
- super();
17785
- this.service = service;
17786
- }
17787
- get override() {
17788
- return true;
17789
- }
17790
- }
17791
- DateInputCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
17792
- DateInputCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages", providers: [
17793
- {
17794
- provide: DateInputMessages,
17795
- useExisting: forwardRef(() => DateInputCustomMessagesComponent)
17796
- }
17797
- ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
17798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputCustomMessagesComponent, decorators: [{
17799
- type: Component,
17800
- args: [{
17801
- providers: [
17802
- {
17803
- provide: DateInputMessages,
17804
- useExisting: forwardRef(() => DateInputCustomMessagesComponent)
17805
- }
17806
- ],
17807
- selector: 'kendo-dateinput-messages',
17808
- template: ``
17809
- }]
17810
- }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
17811
-
17812
18634
  /**
17813
18635
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
17814
18636
  * definition for the DateInput component.
17815
18637
  */
17816
18638
  class DateInputModule {
17817
18639
  }
17818
- DateInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17819
- DateInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DateInputModule, declarations: [DateInputComponent,
18640
+ DateInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18641
+ DateInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateInputModule, declarations: [DateInputComponent,
17820
18642
  DateInputCustomMessagesComponent,
17821
18643
  DateInputLocalizedMessagesDirective], imports: [CommonModule, IntlModule, EventsModule, IconsModule], exports: [DateInputComponent,
17822
18644
  DateInputCustomMessagesComponent,
17823
18645
  DateInputLocalizedMessagesDirective] });
17824
- DateInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputModule, imports: [CommonModule, IntlModule, EventsModule, IconsModule] });
17825
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputModule, decorators: [{
18646
+ DateInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputModule, imports: [CommonModule, IntlModule, EventsModule, IconsModule] });
18647
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputModule, decorators: [{
17826
18648
  type: NgModule,
17827
18649
  args: [{
17828
18650
  declarations: [
@@ -17851,14 +18673,14 @@ class DatePickerCustomMessagesComponent extends DatePickerMessages {
17851
18673
  return true;
17852
18674
  }
17853
18675
  }
17854
- DatePickerCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
17855
- DatePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages", providers: [
18676
+ DatePickerCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
18677
+ DatePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages", providers: [
17856
18678
  {
17857
18679
  provide: DatePickerMessages,
17858
18680
  useExisting: forwardRef(() => DatePickerCustomMessagesComponent)
17859
18681
  }
17860
18682
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
17861
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerCustomMessagesComponent, decorators: [{
18683
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerCustomMessagesComponent, decorators: [{
17862
18684
  type: Component,
17863
18685
  args: [{
17864
18686
  providers: [
@@ -17884,19 +18706,19 @@ const ADAPTIVE_MODULES = [
17884
18706
  */
17885
18707
  class AdaptiveModule {
17886
18708
  }
17887
- AdaptiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AdaptiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17888
- AdaptiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AdaptiveModule, imports: [NavigationModule,
18709
+ AdaptiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18710
+ AdaptiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AdaptiveModule, imports: [NavigationModule,
17889
18711
  ResizeSensorModule,
17890
18712
  ButtonModule,
17891
18713
  TextBoxModule], exports: [NavigationModule,
17892
18714
  ResizeSensorModule,
17893
18715
  ButtonModule,
17894
18716
  TextBoxModule] });
17895
- AdaptiveModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AdaptiveModule, imports: [ADAPTIVE_MODULES, NavigationModule,
18717
+ AdaptiveModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptiveModule, imports: [ADAPTIVE_MODULES, NavigationModule,
17896
18718
  ResizeSensorModule,
17897
18719
  ButtonModule,
17898
18720
  TextBoxModule] });
17899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AdaptiveModule, decorators: [{
18721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptiveModule, decorators: [{
17900
18722
  type: NgModule,
17901
18723
  args: [{
17902
18724
  imports: [...ADAPTIVE_MODULES],
@@ -17910,8 +18732,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17910
18732
  */
17911
18733
  class DatePickerModule {
17912
18734
  }
17913
- DatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17914
- DatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DatePickerModule, declarations: [DatePickerComponent,
18735
+ DatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18736
+ DatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DatePickerModule, declarations: [DatePickerComponent,
17915
18737
  DatePickerCustomMessagesComponent,
17916
18738
  DatePickerLocalizedMessagesDirective], imports: [CommonModule,
17917
18739
  DateInputModule,
@@ -17926,7 +18748,7 @@ DatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
17926
18748
  DatePickerLocalizedMessagesDirective,
17927
18749
  TemplatesModule,
17928
18750
  ToggleButtonTabStopModule] });
17929
- DatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerModule, providers: [{ provide: TOUCH_ENABLED, useValue: touchEnabled }], imports: [CommonModule,
18751
+ DatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerModule, providers: [{ provide: TOUCH_ENABLED, useValue: touchEnabled }], imports: [CommonModule,
17930
18752
  DateInputModule,
17931
18753
  CalendarModule,
17932
18754
  IntlModule,
@@ -17936,7 +18758,7 @@ DatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
17936
18758
  IconsModule,
17937
18759
  AdaptiveModule, TemplatesModule,
17938
18760
  ToggleButtonTabStopModule] });
17939
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerModule, decorators: [{
18761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerModule, decorators: [{
17940
18762
  type: NgModule,
17941
18763
  args: [{
17942
18764
  declarations: [
@@ -17978,14 +18800,14 @@ class DateRangePopupCustomMessagesComponent extends DateRangePopupMessages {
17978
18800
  return true;
17979
18801
  }
17980
18802
  }
17981
- DateRangePopupCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
17982
- DateRangePopupCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateRangePopupCustomMessagesComponent, selector: "kendo-daterange-popup-messages", providers: [
18803
+ DateRangePopupCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
18804
+ DateRangePopupCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateRangePopupCustomMessagesComponent, selector: "kendo-daterange-popup-messages", providers: [
17983
18805
  {
17984
18806
  provide: DateRangePopupMessages,
17985
18807
  useExisting: forwardRef(() => DateRangePopupCustomMessagesComponent)
17986
18808
  }
17987
18809
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
17988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupCustomMessagesComponent, decorators: [{
18810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupCustomMessagesComponent, decorators: [{
17989
18811
  type: Component,
17990
18812
  args: [{
17991
18813
  providers: [
@@ -18056,8 +18878,8 @@ const COMPONENT_MODULES$2 = [
18056
18878
  */
18057
18879
  class DateRangeModule {
18058
18880
  }
18059
- DateRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18060
- DateRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DateRangeModule, declarations: [DateRangeComponent,
18881
+ DateRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18882
+ DateRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateRangeModule, declarations: [DateRangeComponent,
18061
18883
  DateRangePopupComponent,
18062
18884
  DateRangePopupTemplateDirective,
18063
18885
  DateRangeSelectionDirective,
@@ -18076,8 +18898,8 @@ DateRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
18076
18898
  DateRangeEndInputDirective,
18077
18899
  DateRangePopupCustomMessagesComponent,
18078
18900
  DateRangePopupLocalizedMessagesDirective] });
18079
- DateRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeModule, imports: [CommonModule, COMPONENT_MODULES$2] });
18080
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeModule, decorators: [{
18901
+ DateRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeModule, imports: [CommonModule, COMPONENT_MODULES$2] });
18902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeModule, decorators: [{
18081
18903
  type: NgModule,
18082
18904
  args: [{
18083
18905
  declarations: [COMPONENT_DIRECTIVES$2],
@@ -18098,14 +18920,14 @@ class TimePickerCustomMessagesComponent extends TimePickerMessages {
18098
18920
  return true;
18099
18921
  }
18100
18922
  }
18101
- TimePickerCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
18102
- TimePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TimePickerCustomMessagesComponent, selector: "kendo-timepicker-messages", providers: [
18923
+ TimePickerCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
18924
+ TimePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimePickerCustomMessagesComponent, selector: "kendo-timepicker-messages", providers: [
18103
18925
  {
18104
18926
  provide: TimePickerMessages,
18105
18927
  useExisting: forwardRef(() => TimePickerCustomMessagesComponent)
18106
18928
  }
18107
18929
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
18108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerCustomMessagesComponent, decorators: [{
18930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerCustomMessagesComponent, decorators: [{
18109
18931
  type: Component,
18110
18932
  args: [{
18111
18933
  providers: [
@@ -18156,8 +18978,8 @@ const providers = [
18156
18978
  */
18157
18979
  class TimePickerModule {
18158
18980
  }
18159
- TimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18160
- TimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: TimePickerModule, declarations: [TimePickerLocalizedMessagesDirective,
18981
+ TimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18982
+ TimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TimePickerModule, declarations: [TimePickerLocalizedMessagesDirective,
18161
18983
  TimeListComponent,
18162
18984
  TimePickerCustomMessagesComponent,
18163
18985
  TimePickerComponent,
@@ -18177,8 +18999,8 @@ TimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
18177
18999
  TimeSelectorLocalizedMessagesDirective,
18178
19000
  TimeSelectorCustomMessagesComponent,
18179
19001
  TimeSelectorComponent] });
18180
- TimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerModule, providers: providers, imports: [CommonModule, COMPONENT_MODULES$1] });
18181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerModule, decorators: [{
19002
+ TimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerModule, providers: providers, imports: [CommonModule, COMPONENT_MODULES$1] });
19003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerModule, decorators: [{
18182
19004
  type: NgModule,
18183
19005
  args: [{
18184
19006
  declarations: [COMPONENT_DIRECTIVES$1],
@@ -18200,14 +19022,14 @@ class DateTimePickerCustomMessagesComponent extends DateTimePickerMessages {
18200
19022
  return true;
18201
19023
  }
18202
19024
  }
18203
- DateTimePickerCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
18204
- DateTimePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages", providers: [
19025
+ DateTimePickerCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerCustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
19026
+ DateTimePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages", providers: [
18205
19027
  {
18206
19028
  provide: DateTimePickerMessages,
18207
19029
  useExisting: forwardRef(() => DateTimePickerCustomMessagesComponent)
18208
19030
  }
18209
19031
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
18210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerCustomMessagesComponent, decorators: [{
19032
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerCustomMessagesComponent, decorators: [{
18211
19033
  type: Component,
18212
19034
  args: [{
18213
19035
  providers: [
@@ -18232,8 +19054,8 @@ const COMPONENT_DIRECTIVES = [
18232
19054
  */
18233
19055
  class DateTimePickerModule {
18234
19056
  }
18235
- DateTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18236
- DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent,
19057
+ DateTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19058
+ DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent,
18237
19059
  DateTimePickerCustomMessagesComponent,
18238
19060
  LocalizedMessagesDirective], imports: [CommonModule,
18239
19061
  IntlModule,
@@ -18248,7 +19070,7 @@ DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
18248
19070
  DateTimePickerCustomMessagesComponent,
18249
19071
  LocalizedMessagesDirective, TemplatesModule,
18250
19072
  ToggleButtonTabStopModule] });
18251
- DateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerModule, providers: [
19073
+ DateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerModule, providers: [
18252
19074
  { provide: TOUCH_ENABLED, useValue: touchEnabled }
18253
19075
  ], imports: [CommonModule,
18254
19076
  IntlModule,
@@ -18261,7 +19083,7 @@ DateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
18261
19083
  IconsModule,
18262
19084
  AdaptiveModule, TemplatesModule,
18263
19085
  ToggleButtonTabStopModule] });
18264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerModule, decorators: [{
19086
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerModule, decorators: [{
18265
19087
  type: NgModule,
18266
19088
  args: [{
18267
19089
  declarations: [
@@ -18331,8 +19153,8 @@ const COMPONENT_MODULES = [
18331
19153
  */
18332
19154
  class DateInputsModule {
18333
19155
  }
18334
- DateInputsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18335
- DateInputsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DateInputsModule, imports: [CalendarsModule,
19156
+ DateInputsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19157
+ DateInputsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateInputsModule, imports: [CalendarsModule,
18336
19158
  DateInputModule,
18337
19159
  DatePickerModule,
18338
19160
  TimePickerModule,
@@ -18343,13 +19165,13 @@ DateInputsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
18343
19165
  TimePickerModule,
18344
19166
  DateRangeModule,
18345
19167
  DateTimePickerModule] });
18346
- DateInputsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputsModule, imports: [COMPONENT_MODULES, CalendarsModule,
19168
+ DateInputsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputsModule, imports: [COMPONENT_MODULES, CalendarsModule,
18347
19169
  DateInputModule,
18348
19170
  DatePickerModule,
18349
19171
  TimePickerModule,
18350
19172
  DateRangeModule,
18351
19173
  DateTimePickerModule] });
18352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputsModule, decorators: [{
19174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputsModule, decorators: [{
18353
19175
  type: NgModule,
18354
19176
  args: [{
18355
19177
  exports: COMPONENT_MODULES,