@progress/kendo-angular-dateinputs 16.0.0-develop.8 → 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: 1714212050,
42
- version: '16.0.0-develop.8',
41
+ publishDate: 1715701887,
42
+ version: '16.0.0',
43
43
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
44
44
  };
45
45
 
@@ -116,6 +116,10 @@ const currentFocusTarget = (blurArgs) => blurArgs.relatedTarget || document.acti
116
116
  * @hidden
117
117
  */
118
118
  const isPresent = (value) => value !== undefined && value !== null;
119
+ /**
120
+ * @hidden
121
+ */
122
+ const isNullOrDate = (value) => value === null || value instanceof Date;
119
123
  /**
120
124
  * @hidden
121
125
  */
@@ -154,7 +158,7 @@ var Keys;
154
158
  */
155
159
  const selectors = {
156
160
  infiniteCalendarTable: '.k-content .k-calendar-table',
157
- multiViewCalendarTable: '.k-content.k-calendar-table'
161
+ multiViewCalendarTable: '.k-calendar-table'
158
162
  };
159
163
  /**
160
164
  * @hidden
@@ -643,7 +647,7 @@ class CenturyViewService {
643
647
  return range(0, count).map(i => addCenturies(start, i));
644
648
  }
645
649
  data(options) {
646
- const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate } = options;
650
+ const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, allowReverse } = options;
647
651
  if (!viewDate) {
648
652
  return EMPTY_DATA$3;
649
653
  }
@@ -659,10 +663,30 @@ class CenturyViewService {
659
663
  if (!this.isInRange(cellDate, min, max) || nextCentury) {
660
664
  return null;
661
665
  }
662
- const isRangeStart = this.isEqual(cellDate, selectionRange.start);
663
- const isRangeEnd = this.isEqual(cellDate, selectionRange.end);
666
+ let isRangeStart = false;
667
+ let isRangeEnd = false;
668
+ if (allowReverse) {
669
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start <= selectionRange.end) ||
670
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end <= selectionRange.start)) {
671
+ isRangeStart = true;
672
+ }
673
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start >= selectionRange.end) ||
674
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end >= selectionRange.start)) {
675
+ isRangeEnd = true;
676
+ }
677
+ }
678
+ else {
679
+ isRangeStart = this.isEqual(cellDate, selectionRange.start);
680
+ isRangeEnd = this.isEqual(cellDate, selectionRange.end);
681
+ }
664
682
  const isInMiddle = !isRangeStart && !isRangeEnd;
665
- const isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
683
+ let isRangeMid;
684
+ if (allowReverse) {
685
+ isRangeMid = isInMiddle && (isInSelectionRange(cellDate, selectionRange) || isInSelectionRange(cellDate, { start: selectionRange.end, end: selectionRange.start }));
686
+ }
687
+ else {
688
+ isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
689
+ }
666
690
  return {
667
691
  formattedValue: this.value(cellDate),
668
692
  id: `${cellUID}${cellDate.getTime()}`,
@@ -676,7 +700,8 @@ class CenturyViewService {
676
700
  isRangeSplitStart: isRangeMid && this.isEqual(cellDate, firstDate),
677
701
  isToday: this.isEqual(cellDate, today),
678
702
  title: this.cellTitle(cellDate),
679
- value: cellDate
703
+ value: cellDate,
704
+ allowReverse: allowReverse
680
705
  };
681
706
  });
682
707
  });
@@ -765,9 +790,9 @@ class CenturyViewService {
765
790
  return cellDate;
766
791
  }
767
792
  }
768
- CenturyViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CenturyViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
769
- CenturyViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CenturyViewService });
770
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CenturyViewService, decorators: [{
793
+ CenturyViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CenturyViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
794
+ CenturyViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CenturyViewService });
795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CenturyViewService, decorators: [{
771
796
  type: Injectable
772
797
  }] });
773
798
 
@@ -829,7 +854,7 @@ class DecadeViewService {
829
854
  return range(0, count).map(i => addDecades(start, i));
830
855
  }
831
856
  data(options) {
832
- const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate } = options;
857
+ const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, allowReverse } = options;
833
858
  if (!viewDate) {
834
859
  return EMPTY_DATA$2;
835
860
  }
@@ -845,10 +870,30 @@ class DecadeViewService {
845
870
  if (!this.isInRange(cellDate, min, max) || nextDecade) {
846
871
  return null;
847
872
  }
848
- const isRangeStart = this.isEqual(cellDate, selectionRange.start);
849
- const isRangeEnd = this.isEqual(cellDate, selectionRange.end);
873
+ let isRangeStart = false;
874
+ let isRangeEnd = false;
875
+ if (allowReverse) {
876
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start <= selectionRange.end) ||
877
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end <= selectionRange.start)) {
878
+ isRangeStart = true;
879
+ }
880
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start >= selectionRange.end) ||
881
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end >= selectionRange.start)) {
882
+ isRangeEnd = true;
883
+ }
884
+ }
885
+ else {
886
+ isRangeStart = this.isEqual(cellDate, selectionRange.start);
887
+ isRangeEnd = this.isEqual(cellDate, selectionRange.end);
888
+ }
850
889
  const isInMiddle = !isRangeStart && !isRangeEnd;
851
- const isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
890
+ let isRangeMid;
891
+ if (allowReverse) {
892
+ isRangeMid = isInMiddle && (isInSelectionRange(cellDate, selectionRange) || isInSelectionRange(cellDate, { start: selectionRange.end, end: selectionRange.start }));
893
+ }
894
+ else {
895
+ isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
896
+ }
852
897
  return {
853
898
  formattedValue: this.value(cellDate),
854
899
  id: `${cellUID}${cellDate.getTime()}`,
@@ -862,7 +907,8 @@ class DecadeViewService {
862
907
  isRangeSplitStart: isRangeMid && this.isEqual(cellDate, firstDate),
863
908
  isToday: this.isEqual(cellDate, today),
864
909
  title: this.cellTitle(cellDate),
865
- value: cellDate
910
+ value: cellDate,
911
+ allowReverse: allowReverse
866
912
  };
867
913
  });
868
914
  });
@@ -950,9 +996,9 @@ class DecadeViewService {
950
996
  return cellDate;
951
997
  }
952
998
  }
953
- DecadeViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DecadeViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
954
- DecadeViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DecadeViewService });
955
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DecadeViewService, decorators: [{
999
+ DecadeViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecadeViewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1000
+ DecadeViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecadeViewService });
1001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecadeViewService, decorators: [{
956
1002
  type: Injectable
957
1003
  }] });
958
1004
 
@@ -995,7 +1041,7 @@ class MonthViewService {
995
1041
  return range(0, count).map(i => addMonths(start, i));
996
1042
  }
997
1043
  data(options) {
998
- const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, isDateDisabled = () => false } = options;
1044
+ const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, isDateDisabled = () => false, allowReverse } = options;
999
1045
  if (!viewDate) {
1000
1046
  return EMPTY_DATA$1;
1001
1047
  }
@@ -1017,10 +1063,30 @@ class MonthViewService {
1017
1063
  if (outOfRange) {
1018
1064
  return null;
1019
1065
  }
1020
- const isRangeStart = this.isEqual(cellDate, selectionRange.start);
1021
- const isRangeEnd = this.isEqual(cellDate, selectionRange.end);
1066
+ let isRangeStart = false;
1067
+ let isRangeEnd = false;
1068
+ if (allowReverse) {
1069
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start <= selectionRange.end) ||
1070
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end <= selectionRange.start)) {
1071
+ isRangeStart = true;
1072
+ }
1073
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start >= selectionRange.end) ||
1074
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end >= selectionRange.start)) {
1075
+ isRangeEnd = true;
1076
+ }
1077
+ }
1078
+ else {
1079
+ isRangeStart = this.isEqual(cellDate, selectionRange.start);
1080
+ isRangeEnd = this.isEqual(cellDate, selectionRange.end);
1081
+ }
1022
1082
  const isInMiddle = !isRangeStart && !isRangeEnd;
1023
- const isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
1083
+ let isRangeMid;
1084
+ if (allowReverse) {
1085
+ isRangeMid = isInMiddle && (isInSelectionRange(cellDate, selectionRange) || isInSelectionRange(cellDate, { start: selectionRange.end, end: selectionRange.start }));
1086
+ }
1087
+ else {
1088
+ isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
1089
+ }
1024
1090
  return {
1025
1091
  formattedValue: this.value(cellDate),
1026
1092
  id: `${cellUID}${otherMonth ? cellDate.getTime() + '1' : cellDate.getTime()}`,
@@ -1036,7 +1102,8 @@ class MonthViewService {
1036
1102
  title: this.cellTitle(cellDate),
1037
1103
  value: cellDate,
1038
1104
  isDisabled: isDateDisabled(cellDate),
1039
- isOtherMonth: otherMonth
1105
+ isOtherMonth: otherMonth,
1106
+ allowReverse: allowReverse
1040
1107
  };
1041
1108
  });
1042
1109
  });
@@ -1136,9 +1203,9 @@ class MonthViewService {
1136
1203
  return this._intlService.dateFormatNames({ nameType: 'wide', type: 'months' });
1137
1204
  }
1138
1205
  }
1139
- MonthViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MonthViewService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1140
- MonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MonthViewService });
1141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MonthViewService, decorators: [{
1206
+ MonthViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthViewService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1207
+ MonthViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthViewService });
1208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthViewService, decorators: [{
1142
1209
  type: Injectable
1143
1210
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
1144
1211
 
@@ -1181,7 +1248,7 @@ class YearViewService {
1181
1248
  return range(0, count).map(i => addYears(start, i));
1182
1249
  }
1183
1250
  data(options) {
1184
- const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate } = options;
1251
+ const { cellUID, focusedDate, isActiveView, max, min, selectedDates, selectionRange = EMPTY_SELECTIONRANGE, viewDate, allowReverse } = options;
1185
1252
  if (!viewDate) {
1186
1253
  return EMPTY_DATA;
1187
1254
  }
@@ -1199,10 +1266,30 @@ class YearViewService {
1199
1266
  if (!this.isInRange(cellDate, min, max) || changedYear) {
1200
1267
  return null;
1201
1268
  }
1202
- const isRangeStart = this.isEqual(cellDate, selectionRange.start);
1203
- const isRangeEnd = this.isEqual(cellDate, selectionRange.end);
1269
+ let isRangeStart = false;
1270
+ let isRangeEnd = false;
1271
+ if (allowReverse) {
1272
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start <= selectionRange.end) ||
1273
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end <= selectionRange.start)) {
1274
+ isRangeStart = true;
1275
+ }
1276
+ if ((this.isEqual(cellDate, selectionRange.start) && selectionRange.start >= selectionRange.end) ||
1277
+ (this.isEqual(cellDate, selectionRange.end) && selectionRange.end >= selectionRange.start)) {
1278
+ isRangeEnd = true;
1279
+ }
1280
+ }
1281
+ else {
1282
+ isRangeStart = this.isEqual(cellDate, selectionRange.start);
1283
+ isRangeEnd = this.isEqual(cellDate, selectionRange.end);
1284
+ }
1204
1285
  const isInMiddle = !isRangeStart && !isRangeEnd;
1205
- const isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
1286
+ let isRangeMid;
1287
+ if (allowReverse) {
1288
+ isRangeMid = isInMiddle && (isInSelectionRange(cellDate, selectionRange) || isInSelectionRange(cellDate, { start: selectionRange.end, end: selectionRange.start }));
1289
+ }
1290
+ else {
1291
+ isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);
1292
+ }
1206
1293
  return {
1207
1294
  formattedValue: months[cellDate.getMonth()],
1208
1295
  id: `${cellUID}${cellDate.getTime()}`,
@@ -1216,7 +1303,8 @@ class YearViewService {
1216
1303
  isRangeSplitStart: isRangeMid && this.isEqual(cellDate, firstDate),
1217
1304
  isToday: this.isEqual(cellDate, today),
1218
1305
  title: this.cellTitle(cellDate),
1219
- value: cellDate
1306
+ value: cellDate,
1307
+ allowReverse: allowReverse
1220
1308
  };
1221
1309
  });
1222
1310
  });
@@ -1303,9 +1391,9 @@ class YearViewService {
1303
1391
  return cellDate;
1304
1392
  }
1305
1393
  }
1306
- YearViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: YearViewService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1307
- YearViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: YearViewService });
1308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: YearViewService, decorators: [{
1394
+ YearViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: YearViewService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
1395
+ YearViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: YearViewService });
1396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: YearViewService, decorators: [{
1309
1397
  type: Injectable
1310
1398
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
1311
1399
 
@@ -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: [{
@@ -1571,9 +1659,9 @@ class DisabledDatesService {
1571
1659
  this.changes.next();
1572
1660
  }
1573
1661
  }
1574
- DisabledDatesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DisabledDatesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1575
- DisabledDatesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DisabledDatesService });
1576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DisabledDatesService, decorators: [{
1662
+ DisabledDatesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisabledDatesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1663
+ DisabledDatesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisabledDatesService });
1664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DisabledDatesService, decorators: [{
1577
1665
  type: Injectable
1578
1666
  }] });
1579
1667
 
@@ -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,52 @@ 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
+ var _a, _b, _c;
3222
+ if ((activeRangeEnd === 'start' && ((_a = selectionRange.start) === null || _a === void 0 ? void 0 : _a.getTime()) === (date === null || date === void 0 ? void 0 : date.getTime()) && ((allowReverse && !selectionRange.end) || !allowReverse)) ||
3223
+ (activeRangeEnd === 'end' && ((_b = selectionRange.end) === null || _b === void 0 ? void 0 : _b.getTime()) === (date === null || date === void 0 ? void 0 : date.getTime()))) {
3224
+ return { activeRangeEnd: activeRangeEnd, selectionRange: selectionRange };
3225
+ }
3226
+ if (allowReverse) {
3227
+ if (activeRangeEnd === 'start') {
3228
+ selectionRange.start = date;
3229
+ activeRangeEnd = 'end';
3230
+ }
3231
+ else if (activeRangeEnd === 'end') {
3232
+ selectionRange.end = date;
3233
+ activeRangeEnd = 'start';
3234
+ }
3235
+ }
3236
+ if (!allowReverse) {
3237
+ if (activeRangeEnd === 'start' && date > selectionRange.end ||
3238
+ activeRangeEnd === 'end' && date < selectionRange.start) {
3239
+ selectionRange = { start: date, end: null };
3240
+ activeRangeEnd = 'end';
3241
+ }
3242
+ else if (activeRangeEnd === 'start' && date <= selectionRange.end) {
3243
+ selectionRange.start = date;
3244
+ activeRangeEnd = 'end';
3245
+ }
3246
+ else if (activeRangeEnd === 'end' && date >= selectionRange.start && date.getTime() !== ((_c = selectionRange.end) === null || _c === void 0 ? void 0 : _c.getTime())) {
3247
+ selectionRange.end = date;
3248
+ activeRangeEnd = 'start';
3249
+ }
3250
+ }
3251
+ return { activeRangeEnd: activeRangeEnd, selectionRange: selectionRange };
3252
+ }
3253
+
3104
3254
  /**
3105
3255
  * @hidden
3106
3256
  */
@@ -3197,9 +3347,9 @@ class NavigationService {
3197
3347
  return service.move(value, action);
3198
3348
  }
3199
3349
  }
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: [{
3350
+ NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, deps: [{ token: BusViewService }], target: i0.ɵɵFactoryTarget.Injectable });
3351
+ NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService });
3352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, decorators: [{
3203
3353
  type: Injectable
3204
3354
  }], ctorParameters: function () { return [{ type: BusViewService }]; } });
3205
3355
 
@@ -3233,9 +3383,9 @@ class HeaderTemplateDirective {
3233
3383
  this.templateRef = templateRef;
3234
3384
  }
3235
3385
  }
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: [{
3386
+ HeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3387
+ HeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: HeaderTemplateDirective, selector: "[kendoCalendarHeaderTemplate]", ngImport: i0 });
3388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderTemplateDirective, decorators: [{
3239
3389
  type: Directive,
3240
3390
  args: [{
3241
3391
  selector: '[kendoCalendarHeaderTemplate]'
@@ -3271,9 +3421,9 @@ class FooterTemplateDirective {
3271
3421
  this.templateRef = templateRef;
3272
3422
  }
3273
3423
  }
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: [{
3424
+ FooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FooterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3425
+ FooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FooterTemplateDirective, selector: "[kendoCalendarFooterTemplate]", ngImport: i0 });
3426
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FooterTemplateDirective, decorators: [{
3277
3427
  type: Directive,
3278
3428
  args: [{
3279
3429
  selector: '[kendoCalendarFooterTemplate]'
@@ -3290,8 +3440,8 @@ class FooterComponent {
3290
3440
  this.getToday = getToday;
3291
3441
  }
3292
3442
  }
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: `
3443
+ FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FooterComponent, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Component });
3444
+ 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
3445
  <ng-template *ngIf="footerTemplateRef; else defaultRendering"
3296
3446
  [ngTemplateOutlet]="footerTemplateRef"
3297
3447
  [ngTemplateOutletContext]="{ activeView: activeViewValue, date: currentDate }">
@@ -3307,7 +3457,7 @@ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
3307
3457
  </button>
3308
3458
  </ng-template>
3309
3459
  `, 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: [{
3460
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FooterComponent, decorators: [{
3311
3461
  type: Component,
3312
3462
  args: [{
3313
3463
  selector: 'kendo-calendar-footer',
@@ -3344,9 +3494,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
3344
3494
  */
3345
3495
  class Messages extends ComponentMessages {
3346
3496
  }
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: [{
3497
+ Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3498
+ 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 });
3499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, decorators: [{
3350
3500
  type: Directive,
3351
3501
  args: [{
3352
3502
  // eslint-disable-next-line
@@ -3371,14 +3521,14 @@ class MultiViewCalendarLocalizedMessagesDirective extends Messages {
3371
3521
  this.service = service;
3372
3522
  }
3373
3523
  }
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: [
3524
+ 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 });
3525
+ MultiViewCalendarLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: MultiViewCalendarLocalizedMessagesDirective, selector: "[kendoMultiViewCalendarLocalizedMessages]", providers: [
3376
3526
  {
3377
3527
  provide: Messages,
3378
3528
  useExisting: forwardRef(() => MultiViewCalendarLocalizedMessagesDirective)
3379
3529
  }
3380
3530
  ], usesInheritance: true, ngImport: i0 });
3381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarLocalizedMessagesDirective, decorators: [{
3531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarLocalizedMessagesDirective, decorators: [{
3382
3532
  type: Directive,
3383
3533
  args: [{
3384
3534
  providers: [
@@ -3447,6 +3597,7 @@ class MultiViewCalendarComponent {
3447
3597
  * Determines whether to display the calendar header.
3448
3598
  */
3449
3599
  this.showCalendarHeader = true;
3600
+ this._size = DEFAULT_SIZE;
3450
3601
  /**
3451
3602
  * Toggles the visibility of the footer.
3452
3603
  * @default false
@@ -3462,15 +3613,14 @@ class MultiViewCalendarComponent {
3462
3613
  * ([see example]({% slug disabled_dates_multiviewcalendar %}#toc-validation)).
3463
3614
  */
3464
3615
  this.disabledDatesRangeValidation = false;
3616
+ this._selection = 'single';
3465
3617
  /**
3466
- * Sets the Calendar selection mode
3467
- * ([see example]({% slug multiple_selection_multiviewcalendar %})).
3618
+ * Allows reverse selection when using `range` selection.
3619
+ * If `allowReverse` is set to `true`, the component skips the validation of whether the start date is after the end date.
3468
3620
  *
3469
- * The available values are:
3470
- * * `single` (default)
3471
- * * `multiple`
3621
+ * @default false
3472
3622
  */
3473
- this.selection = 'single';
3623
+ this.allowReverse = false;
3474
3624
  /**
3475
3625
  * Sets or gets the `disabled` property of the Calendar and
3476
3626
  * determines whether the component is active
@@ -3565,6 +3715,11 @@ class MultiViewCalendarComponent {
3565
3715
  * ([see example](slug:events_multiviewcalendar)).
3566
3716
  */
3567
3717
  this.valueChange = new EventEmitter();
3718
+ /**
3719
+ * @hidden
3720
+ * Fires when the range selection changes.
3721
+ */
3722
+ this.rangeSelectionChange = new EventEmitter();
3568
3723
  /**
3569
3724
  * Fires each time the MultiViewCalendar gets blurred
3570
3725
  * ([see example](slug:events_multiviewcalendar)).
@@ -3598,9 +3753,15 @@ class MultiViewCalendarComponent {
3598
3753
  this.prevView = Action.PrevView;
3599
3754
  this.nextView = Action.NextView;
3600
3755
  this.selectedDates = [];
3756
+ this.shouldHoverWhenNoStart = false;
3757
+ this.canHover = false;
3758
+ this.changes = {};
3759
+ this.valueSetter = false;
3760
+ this.selectionSetter = false;
3601
3761
  this._min = new Date(MIN_DATE);
3602
3762
  this._max = new Date(MAX_DATE);
3603
3763
  this._focusedDate = getToday();
3764
+ this._selectionRange = { start: null, end: null };
3604
3765
  this.resolvedPromise = Promise.resolve();
3605
3766
  this.onControlChange = noop$2;
3606
3767
  this.onControlTouched = noop$2;
@@ -3609,9 +3770,32 @@ class MultiViewCalendarComponent {
3609
3770
  this.maxValidateFn = noop$2;
3610
3771
  this.disabledDatesRangeValidateFn = noop$2;
3611
3772
  this.subscriptions = new Subscription();
3612
- this.setClasses(element.nativeElement);
3613
3773
  this.id = `kendo-multiviewcalendarid-${this.bus.calendarId}-`;
3614
3774
  }
3775
+ /**
3776
+ * @hidden
3777
+ *
3778
+ * TODO: Make visible when the Infinite Calendar is fixed to set properly the size option.
3779
+ * Sets the size of the component.
3780
+ *
3781
+ * The possible values are:
3782
+ * * `small`
3783
+ * * `medium` (Default)
3784
+ * * `large`
3785
+ * * `none`
3786
+ *
3787
+ */
3788
+ set size(size) {
3789
+ const newSize = size ? size : DEFAULT_SIZE;
3790
+ this.renderer.removeClass(this.element.nativeElement, getSizeClass('calendar', this.size));
3791
+ if (newSize !== 'none') {
3792
+ this.renderer.addClass(this.element.nativeElement, getSizeClass('calendar', newSize));
3793
+ }
3794
+ this._size = newSize;
3795
+ }
3796
+ get size() {
3797
+ return this._size;
3798
+ }
3615
3799
  /**
3616
3800
  * Sets or gets the `focusedDate` property of the Calendar and
3617
3801
  * defines the focused date of the component
@@ -3665,29 +3849,37 @@ class MultiViewCalendarComponent {
3665
3849
  get max() {
3666
3850
  return this._max;
3667
3851
  }
3852
+ /**
3853
+ * Sets the Calendar selection mode
3854
+ * ([see example]({% slug multiple_selection_multiviewcalendar %})).
3855
+ *
3856
+ * The available values are:
3857
+ * * `single` (default)
3858
+ * * `multiple`
3859
+ * * `range`
3860
+ */
3861
+ set selection(_selection) {
3862
+ this.selectionSetter = true;
3863
+ this._selection = _selection;
3864
+ }
3865
+ get selection() {
3866
+ return this._selection;
3867
+ }
3668
3868
  /**
3669
3869
  * Sets or gets the `value` property of the Calendar and defines the selected value of the component.
3670
3870
  *
3671
3871
  * > The `value` has to be a valid
3672
3872
  * [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.
3873
+ * instance when in `single` selection mode, an array of valid JavaScript Date instances when in `multiple` selection mode, or
3874
+ * an object of type `SelectionRange` when in `range` selection mode.
3674
3875
  */
3876
+ set value(candidate) {
3877
+ this.valueSetter = true;
3878
+ this._value = candidate;
3879
+ }
3675
3880
  get value() {
3676
3881
  return this._value;
3677
3882
  }
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
3883
  /**
3692
3884
  * @hidden
3693
3885
  */
@@ -3704,10 +3896,23 @@ class MultiViewCalendarComponent {
3704
3896
  set disabledDates(value) {
3705
3897
  this.disabledDatesService.initialize(value);
3706
3898
  }
3899
+ /**
3900
+ * Specify, which end of the defined selection range should be marked as active.
3901
+ *
3902
+ * > Value will be ignored if the selection range is undefined.
3903
+ * > If range selection is used then the default value is 'start'.
3904
+ */
3905
+ set activeRangeEnd(_activeRangeEnd) {
3906
+ this._activeRangeEnd = _activeRangeEnd;
3907
+ }
3908
+ get activeRangeEnd() {
3909
+ return (this.selection === 'range' && !this._activeRangeEnd) ? 'start' : this._activeRangeEnd;
3910
+ }
3707
3911
  /**
3708
3912
  * Sets or gets the `selectionRange` property of the Calendar and
3709
3913
  * defines the selection range of the component
3710
3914
  * ([see example]({% slug dates_multiviewcalendar %}#toc-selection-range)).
3915
+ * > We recommend using the `value` property as it now supports `range` selection.
3711
3916
  */
3712
3917
  set selectionRange(range) {
3713
3918
  this._selectionRange = range;
@@ -3881,6 +4086,7 @@ class MultiViewCalendarComponent {
3881
4086
  */
3882
4087
  handleMouseLeave() {
3883
4088
  this.isHovered = false;
4089
+ this.setRangeSelectionToValue();
3884
4090
  }
3885
4091
  /**
3886
4092
  * @hidden
@@ -3931,8 +4137,13 @@ class MultiViewCalendarComponent {
3931
4137
  return;
3932
4138
  }
3933
4139
  else if (onEnterKeyPress) {
3934
- this.selectionService.lastClicked = this.focusedDate;
3935
- this.performSelection(this.focusedDate, event);
4140
+ if (this.selection !== 'range') {
4141
+ this.selectionService.lastClicked = this.focusedDate;
4142
+ this.performSelection(this.focusedDate, event);
4143
+ }
4144
+ else {
4145
+ this.performRangeSelection(this.focusedDate);
4146
+ }
3936
4147
  }
3937
4148
  if (this.views >= 2) {
3938
4149
  if ((escKey || (altKey && onArrowUpPress))) {
@@ -3955,12 +4166,13 @@ class MultiViewCalendarComponent {
3955
4166
  if (!isSameView) {
3956
4167
  this.emitNavigate(this.focusedDate);
3957
4168
  }
3958
- if (isArrowWithShiftPressed(event)) {
4169
+ if (isArrowWithShiftPressed(event) && this.selection !== 'range') {
3959
4170
  event['anyArrow'] = true;
3960
4171
  this.performSelection(this.focusedDate, event);
3961
4172
  }
3962
4173
  }
3963
4174
  ngOnInit() {
4175
+ this.setClasses(this.element.nativeElement);
3964
4176
  this.subscriptions.add(this.bus.viewChanged.subscribe(({ view }) => {
3965
4177
  this.activeView = CalendarViewEnum[view];
3966
4178
  this.activeViewChange.emit(this.activeView);
@@ -3969,21 +4181,37 @@ class MultiViewCalendarComponent {
3969
4181
  }));
3970
4182
  }
3971
4183
  ngOnChanges(changes) {
4184
+ this.changes = changes;
3972
4185
  this.verifyChanges();
3973
4186
  this.bus.configure(this.bottomViewEnum, this.topViewEnum);
3974
- if (hasExistingValue(changes, 'focusedDate')) {
3975
- const focusedDate = changes.focusedDate.currentValue;
4187
+ }
4188
+ ngDoCheck() {
4189
+ var _a, _b, _c, _d;
4190
+ if (this.valueSetter || this.selectionSetter) {
4191
+ if (this.selection === 'range' &&
4192
+ (((_a = this.value) === null || _a === void 0 ? void 0 : _a.start) || ((_b = this.value) === null || _b === void 0 ? void 0 : _b.end)) &&
4193
+ this.focusedDate.getTime() !== ((_c = this.value.start) === null || _c === void 0 ? void 0 : _c.getTime()) &&
4194
+ this.focusedDate.getTime() !== ((_d = this.value.end) === null || _d === void 0 ? void 0 : _d.getTime())) {
4195
+ this.focusedDate = this.value.start || this.value.end || getToday();
4196
+ }
4197
+ this.setValue(this.value);
4198
+ this.valueSetter = false;
4199
+ this.selectionSetter = false;
4200
+ }
4201
+ if (hasExistingValue(this.changes, 'focusedDate')) {
4202
+ const focusedDate = this.changes.focusedDate.currentValue;
3976
4203
  this.focusedDate = dateInRange(focusedDate, this.min, this.max);
3977
4204
  }
3978
- if (changes.min || changes.max || changes.rangeValidation || changes.disabledDates || changes.disabledDatesRangeValidation) {
4205
+ if (this.changes.min || this.changes.max || this.changes.rangeValidation || this.changes.disabledDates || this.changes.disabledDatesRangeValidation) {
3979
4206
  this.minValidateFn = this.rangeValidation ? minValidator(this.min) : noop$2;
3980
4207
  this.maxValidateFn = this.rangeValidation ? maxValidator(this.max) : noop$2;
3981
4208
  this.disabledDatesRangeValidateFn = this.disabledDatesRangeValidation ? disabledDatesRangeValidator(this.disabledDatesService.isDateDisabled) : noop$2;
3982
4209
  this.onValidatorChange();
3983
4210
  }
3984
- if (changes.min || changes.max || changes.focusedDate || changes.activeView) {
4211
+ if (this.changes.min || this.changes.max || this.changes.focusedDate || this.changes.activeView) {
3985
4212
  this.updateButtonState();
3986
4213
  }
4214
+ this.changes = {};
3987
4215
  }
3988
4216
  ngOnDestroy() {
3989
4217
  this.subscriptions.unsubscribe();
@@ -4021,7 +4249,7 @@ class MultiViewCalendarComponent {
4021
4249
  return;
4022
4250
  }
4023
4251
  const activeElement = this.views >= 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
4024
- this.element.nativeElement.querySelector('.k-content.k-calendar-table');
4252
+ this.element.nativeElement.querySelector('.k-calendar-table');
4025
4253
  activeElement.blur();
4026
4254
  }
4027
4255
  /**
@@ -4042,11 +4270,48 @@ class MultiViewCalendarComponent {
4042
4270
  if (this.disabledDatesService.isDateDisabled(this.focusedDate)) {
4043
4271
  return;
4044
4272
  }
4273
+ if (this.selection === 'range') {
4274
+ return;
4275
+ }
4045
4276
  this.selectedDates = availableDates.map(date => cloneDate(date));
4046
4277
  this.value = this.parseSelectionToValue(availableDates);
4047
4278
  this.onControlChange(this.parseSelectionToValue(availableDates));
4048
4279
  this.valueChange.emit(this.parseSelectionToValue(availableDates));
4049
4280
  }
4281
+ /**
4282
+ * @hidden
4283
+ */
4284
+ onCellEnter(cellEnter, date) {
4285
+ this.emitCellEvent(cellEnter, date);
4286
+ if (this.selection === 'range' && (this.canHover || this.shouldHoverWhenNoStart)) {
4287
+ this.zone.run(() => {
4288
+ if (this.canHover && !this.shouldHoverWhenNoStart) {
4289
+ if (this.allowReverse) {
4290
+ if (this.activeRangeEnd === 'end' && this.selectionRange.start) {
4291
+ this.selectionRange = { start: this.selectionRange.start, end: date };
4292
+ }
4293
+ if (this.activeRangeEnd === 'start' && this.selectionRange.end) {
4294
+ this.selectionRange = { start: date, end: this.selectionRange.end };
4295
+ }
4296
+ }
4297
+ else {
4298
+ if (this.activeRangeEnd === 'end' && this.selectionRange.start && date >= this.selectionRange.start) {
4299
+ this.selectionRange = { start: this.selectionRange.start, end: date };
4300
+ }
4301
+ if (this.selectionRange.start && date < this.selectionRange.start) {
4302
+ this.selectionRange = { start: this.selectionRange.start, end: null };
4303
+ }
4304
+ }
4305
+ }
4306
+ else if (this.shouldHoverWhenNoStart && date <= this.selectionRange.end) {
4307
+ this.selectionRange = { start: date, end: this.selectionRange.end };
4308
+ }
4309
+ else {
4310
+ this.selectionRange = { start: null, end: this.selectionRange.end };
4311
+ }
4312
+ });
4313
+ }
4314
+ }
4050
4315
  /**
4051
4316
  * @hidden
4052
4317
  */
@@ -4151,8 +4416,13 @@ class MultiViewCalendarComponent {
4151
4416
  * @hidden
4152
4417
  */
4153
4418
  handleCellClick({ date, modifiers }) {
4154
- this.selectionService.lastClicked = date;
4155
- this.performSelection(date, modifiers);
4419
+ if (this.selection === 'range') {
4420
+ this.performRangeSelection(date);
4421
+ }
4422
+ else {
4423
+ this.selectionService.lastClicked = date;
4424
+ this.performSelection(date, modifiers);
4425
+ }
4156
4426
  const isSameView = this.bus.service(this.activeViewEnum).isInArray(this.focusedDate, this.viewList.dates);
4157
4427
  if (!isSameView) {
4158
4428
  this.emitNavigate(this.focusedDate);
@@ -4166,16 +4436,32 @@ class MultiViewCalendarComponent {
4166
4436
  return;
4167
4437
  }
4168
4438
  this.zone.run(() => {
4169
- this.handleDateChange({
4170
- selectedDates: dates,
4171
- focusedDate: last(dates)
4172
- });
4439
+ var _a, _b;
4440
+ if (this.selection === 'multiple') {
4441
+ this.handleDateChange({
4442
+ selectedDates: dates,
4443
+ focusedDate: last(dates),
4444
+ });
4445
+ }
4446
+ if (this.selection === 'range') {
4447
+ this.activeRangeEnd = 'start';
4448
+ const shouldEmitValueChange = ((_a = this.selectionRange.start) === null || _a === void 0 ? void 0 : _a.getTime()) !== dates[0].getTime() ||
4449
+ ((_b = this.selectionRange.end) === null || _b === void 0 ? void 0 : _b.getTime()) !== last(dates).getTime();
4450
+ this.selectionRange.start = dates[0];
4451
+ this.selectionRange.end = last(dates);
4452
+ this.value = this.selectionRange;
4453
+ if (shouldEmitValueChange) {
4454
+ this.valueChange.emit(this.value);
4455
+ }
4456
+ }
4173
4457
  });
4174
4458
  }
4175
4459
  setClasses(element) {
4176
- this.renderer.addClass(element, 'k-widget');
4177
4460
  this.renderer.addClass(element, 'k-calendar');
4178
- this.renderer.addClass(element, 'k-calendar-range');
4461
+ this.renderer.addClass(element, getSizeClass('calendar', this.size));
4462
+ if (this.views >= 2) {
4463
+ this.renderer.addClass(element, 'k-calendar-range');
4464
+ }
4179
4465
  }
4180
4466
  verifyChanges() {
4181
4467
  if (!isDevMode()) {
@@ -4192,14 +4478,22 @@ class MultiViewCalendarComponent {
4192
4478
  if (!isDevMode()) {
4193
4479
  return;
4194
4480
  }
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.`);
4481
+ if (this.selection === 'single' && candidate && !(isNullOrDate(candidate))) {
4482
+ 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
4483
  }
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.`);
4484
+ else if (this.selection === 'multiple' && candidate) {
4485
+ if (Array.isArray(candidate)) {
4486
+ const onlyDates = candidate.every(value => value instanceof Date);
4487
+ if (!onlyDates) {
4488
+ 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.`);
4489
+ }
4202
4490
  }
4491
+ if (Object.keys(candidate).find(k => k === 'start') && Object.keys(candidate).find(k => k === 'end')) {
4492
+ 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.`);
4493
+ }
4494
+ }
4495
+ else if (this.selection === 'range' && candidate && !(isNullOrDate(candidate['start']) && isNullOrDate(candidate['end']))) {
4496
+ throw new Error(`The 'value' should be an object with start and end dates. Check ${VALUE_DOC_LINK$5} for possible resolution.`);
4203
4497
  }
4204
4498
  }
4205
4499
  updateButtonState() {
@@ -4213,6 +4507,80 @@ class MultiViewCalendarComponent {
4213
4507
  selection = selection || [];
4214
4508
  return this.selection === 'single' ? cloneDate(last(selection)) : selection.map(date => cloneDate(date));
4215
4509
  }
4510
+ setValue(candidate) {
4511
+ var _a, _b, _c, _d, _e, _f;
4512
+ this.verifyValue(candidate);
4513
+ if (candidate === null) {
4514
+ this._value = null;
4515
+ this.selectedDates = [];
4516
+ }
4517
+ else if (Array.isArray(candidate)) {
4518
+ this.selectionRange = { start: null, end: null };
4519
+ this._value = candidate.filter(date => isPresent(date)).map(element => cloneDate(element));
4520
+ }
4521
+ else if (isObject(candidate) && Object.keys(candidate).find(k => k === 'start') && Object.keys(candidate).find(k => k === 'end')) {
4522
+ this.selectedDates = [];
4523
+ this.selectionRange = { start: null, end: null };
4524
+ this._value = { start: null, end: null };
4525
+ this._value.start = candidate.start instanceof Date ? cloneDate(candidate.start) : null;
4526
+ this._value.end = candidate.end instanceof Date ? cloneDate(candidate.end) : null;
4527
+ this.selectionRange = Object.assign({}, this._value);
4528
+ if (((_a = this._value) === null || _a === void 0 ? void 0 : _a.start) && !((_b = this._value) === null || _b === void 0 ? void 0 : _b.end)) {
4529
+ this.activeRangeEnd = 'end';
4530
+ this.canHover = true;
4531
+ }
4532
+ if (((_c = this._value) === null || _c === void 0 ? void 0 : _c.end) && !((_d = this._value) === null || _d === void 0 ? void 0 : _d.start)) {
4533
+ this.activeRangeEnd = 'start';
4534
+ this.canHover = true;
4535
+ }
4536
+ if (((_e = this._value) === null || _e === void 0 ? void 0 : _e.end) && ((_f = this._value) === null || _f === void 0 ? void 0 : _f.start)) {
4537
+ this.canHover = false;
4538
+ }
4539
+ }
4540
+ else {
4541
+ this.selectionRange = { start: null, end: null };
4542
+ this._value = cloneDate(candidate);
4543
+ }
4544
+ if (this.selection !== 'range') {
4545
+ const selection = [].concat(candidate).filter(date => isPresent(date)).map(date => cloneDate(date));
4546
+ if (!areDatesEqual(selection, this.selectedDates)) {
4547
+ const lastSelected = last(selection);
4548
+ this.rangePivot = cloneDate(lastSelected);
4549
+ this.focusedDate = cloneDate(lastSelected) || this.focusedDate;
4550
+ this.selectedDates = selection;
4551
+ }
4552
+ }
4553
+ }
4554
+ setRangeSelectionToValue() {
4555
+ if (this.selection === 'range' && this.value) {
4556
+ this.selectionRange = this.value;
4557
+ this.cdr.markForCheck();
4558
+ }
4559
+ }
4560
+ performRangeSelection(date) {
4561
+ var _a, _b, _c, _d;
4562
+ this.focusedDate = date;
4563
+ const clonedRangeSelection = Object.assign({}, this.selectionRange);
4564
+ const emitValueChange = (this.activeRangeEnd === 'start' && ((_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.start) === null || _b === void 0 ? void 0 : _b.getTime()) !== (date === null || date === void 0 ? void 0 : date.getTime())) ||
4565
+ (this.activeRangeEnd === 'end' && ((_d = (_c = this.value) === null || _c === void 0 ? void 0 : _c.end) === null || _d === void 0 ? void 0 : _d.getTime()) !== (date === null || date === void 0 ? void 0 : date.getTime()));
4566
+ this.zone.run(() => {
4567
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
4568
+ const rangeSelection = handleRangeSelection(date, clonedRangeSelection, this.activeRangeEnd, this.allowReverse);
4569
+ this.activeRangeEnd = rangeSelection.activeRangeEnd;
4570
+ if (this.canHover && rangeSelection.activeRangeEnd === 'end' && ((_a = rangeSelection.selectionRange.end) === null || _a === void 0 ? void 0 : _a.getTime()) === date.getTime()) {
4571
+ this.activeRangeEnd = 'start';
4572
+ rangeSelection.activeRangeEnd = 'start';
4573
+ }
4574
+ this.canHover = this.activeRangeEnd === 'end' && rangeSelection.selectionRange.start && !rangeSelection.selectionRange.end;
4575
+ if (emitValueChange && (((_c = (_b = this.value) === null || _b === void 0 ? void 0 : _b.start) === null || _c === void 0 ? void 0 : _c.getTime()) !== ((_e = (_d = rangeSelection.selectionRange) === null || _d === void 0 ? void 0 : _d.start) === null || _e === void 0 ? void 0 : _e.getTime()) ||
4576
+ ((_g = (_f = this.value) === null || _f === void 0 ? void 0 : _f.end) === null || _g === void 0 ? void 0 : _g.getTime()) !== ((_j = (_h = rangeSelection.selectionRange) === null || _h === void 0 ? void 0 : _h.end) === null || _j === void 0 ? void 0 : _j.getTime()))) {
4577
+ this.value = rangeSelection.selectionRange;
4578
+ this.valueChange.emit(this.value);
4579
+ this.rangeSelectionChange.emit(rangeSelection);
4580
+ }
4581
+ this.cdr.markForCheck();
4582
+ });
4583
+ }
4216
4584
  performSelection(date, selectionModifiers) {
4217
4585
  const selection = this.selectionService.performSelection({
4218
4586
  date: date,
@@ -4229,8 +4597,8 @@ class MultiViewCalendarComponent {
4229
4597
  });
4230
4598
  }
4231
4599
  }
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: [
4600
+ 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 });
4601
+ 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
4602
  BusViewService,
4235
4603
  RANGE_CALENDAR_VALUE_ACCESSOR,
4236
4604
  RANGE_CALENDAR_RANGE_VALIDATORS,
@@ -4261,6 +4629,7 @@ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
4261
4629
  *ngIf="showCalendarHeader"
4262
4630
  [activeView]="activeViewEnum"
4263
4631
  [currentDate]="activeDate"
4632
+ [size]="size"
4264
4633
  [min]="min"
4265
4634
  [max]="max"
4266
4635
  [id]="headerId"
@@ -4278,6 +4647,7 @@ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
4278
4647
  </kendo-calendar-header>
4279
4648
  <kendo-calendar-horizontal
4280
4649
  [showOtherMonthDays]="showOtherMonthDays"
4650
+ [allowReverse]="allowReverse"
4281
4651
  [id]="calendarHeaderIdLabel"
4282
4652
  [attr.aria-labelledby]="multiViewCalendarHeaderIdLabel"
4283
4653
  [activeView]="activeViewEnum"
@@ -4302,7 +4672,7 @@ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
4302
4672
  [disabled]="disabled"
4303
4673
  (cellClick)="handleCellClick($event)"
4304
4674
  (weekNumberCellClick)="handleWeekNumberClick($event)"
4305
- (cellEnter)="emitCellEvent(cellEnter, $event)"
4675
+ (cellEnter)="onCellEnter(cellEnter, $event)"
4306
4676
  (cellLeave)="emitCellEvent(cellLeave, $event)"
4307
4677
  (activeDateChange)="setActiveDate($event)"
4308
4678
  (focusCalendar)="handleFocus()"
@@ -4315,8 +4685,8 @@ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
4315
4685
  [activeViewValue]="activeView"
4316
4686
  [currentDate]="activeDate">
4317
4687
  </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: [{
4688
+ `, 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 });
4689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarComponent, decorators: [{
4320
4690
  type: Component,
4321
4691
  args: [{
4322
4692
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -4354,6 +4724,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4354
4724
  *ngIf="showCalendarHeader"
4355
4725
  [activeView]="activeViewEnum"
4356
4726
  [currentDate]="activeDate"
4727
+ [size]="size"
4357
4728
  [min]="min"
4358
4729
  [max]="max"
4359
4730
  [id]="headerId"
@@ -4371,6 +4742,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4371
4742
  </kendo-calendar-header>
4372
4743
  <kendo-calendar-horizontal
4373
4744
  [showOtherMonthDays]="showOtherMonthDays"
4745
+ [allowReverse]="allowReverse"
4374
4746
  [id]="calendarHeaderIdLabel"
4375
4747
  [attr.aria-labelledby]="multiViewCalendarHeaderIdLabel"
4376
4748
  [activeView]="activeViewEnum"
@@ -4395,7 +4767,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4395
4767
  [disabled]="disabled"
4396
4768
  (cellClick)="handleCellClick($event)"
4397
4769
  (weekNumberCellClick)="handleWeekNumberClick($event)"
4398
- (cellEnter)="emitCellEvent(cellEnter, $event)"
4770
+ (cellEnter)="onCellEnter(cellEnter, $event)"
4399
4771
  (cellLeave)="emitCellEvent(cellLeave, $event)"
4400
4772
  (activeDateChange)="setActiveDate($event)"
4401
4773
  (focusCalendar)="handleFocus()"
@@ -4414,6 +4786,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4414
4786
  type: Input
4415
4787
  }], showCalendarHeader: [{
4416
4788
  type: Input
4789
+ }], size: [{
4790
+ type: Input
4417
4791
  }], id: [{
4418
4792
  type: Input
4419
4793
  }], focusedDate: [{
@@ -4430,6 +4804,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4430
4804
  type: Input
4431
4805
  }], selection: [{
4432
4806
  type: Input
4807
+ }], allowReverse: [{
4808
+ type: Input
4433
4809
  }], value: [{
4434
4810
  type: Input
4435
4811
  }], disabled: [{
@@ -4474,6 +4850,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4474
4850
  type: Output
4475
4851
  }], valueChange: [{
4476
4852
  type: Output
4853
+ }], rangeSelectionChange: [{
4854
+ type: Output
4477
4855
  }], blurEvent: [{
4478
4856
  type: Output,
4479
4857
  args: ['blur']
@@ -4957,8 +5335,8 @@ class VirtualizationComponent {
4957
5335
  return indexOffset < this.containerScrollPosition ? ScrollDirection.Backward : ScrollDirection.Forward;
4958
5336
  }
4959
5337
  }
4960
- 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 });
4961
- 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: [{
5338
+ 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 });
5339
+ 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: [{
4962
5340
  provide: SCROLLER_FACTORY_TOKEN,
4963
5341
  useValue: DEFAULT_SCROLLER_FACTORY
4964
5342
  }], usesOnChanges: true, ngImport: i0, template: `
@@ -4969,7 +5347,7 @@ VirtualizationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
4969
5347
  [ngStyle]="totalVertexLength"
4970
5348
  ></div>
4971
5349
  `, isInline: true, dependencies: [{ kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
4972
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationComponent, decorators: [{
5350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationComponent, decorators: [{
4973
5351
  type: Component,
4974
5352
  args: [{
4975
5353
  providers: [{
@@ -4990,7 +5368,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
4990
5368
  return [{ type: undefined, decorators: [{
4991
5369
  type: Inject,
4992
5370
  args: [SCROLLER_FACTORY_TOKEN]
4993
- }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i12.ScrollbarWidthService }];
5371
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i1$2.ScrollbarWidthService }];
4994
5372
  }, propDecorators: { direction: [{
4995
5373
  type: Input
4996
5374
  }], itemHeight: [{
@@ -5043,12 +5421,12 @@ const tbody = domContainerFactory('tbody');
5043
5421
  const thead = domContainerFactory('thead');
5044
5422
  const table = domContainerFactory('table');
5045
5423
  const monthHeader = () => (div$1(`
5046
- <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>
5424
+ <span class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title">March 2017</span>
5047
5425
  <span class="k-spacer"></span>
5048
5426
  <span class="k-calendar-nav k-hstack">
5049
5427
  <button class="k-calendar-nav-today k-button k-button-md k-button-flat k-button-flat-primary k-rounded-md">TODAY</button>
5050
5428
  </span>
5051
- `, 'k-calendar-header k-hstack'));
5429
+ `, 'k-calendar-header'));
5052
5430
  const monthWeekHeader = () => (table([
5053
5431
  thead([
5054
5432
  tr([th('MO', 'k-calendar-th')], 'k-calendar-tr')
@@ -5192,9 +5570,9 @@ class CalendarDOMService {
5192
5570
  }
5193
5571
  }
5194
5572
  }
5195
- CalendarDOMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarDOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5196
- CalendarDOMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarDOMService });
5197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarDOMService, decorators: [{
5573
+ CalendarDOMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5574
+ CalendarDOMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDOMService });
5575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDOMService, decorators: [{
5198
5576
  type: Injectable
5199
5577
  }] });
5200
5578
 
@@ -5295,8 +5673,8 @@ class NavigationComponent {
5295
5673
  }
5296
5674
  }
5297
5675
  }
5298
- 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 });
5299
- 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: `
5676
+ 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 });
5677
+ 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: `
5300
5678
  <span class="k-calendar-navigation-highlight"></span>
5301
5679
  <kendo-virtualization
5302
5680
  [skip]="skip"
@@ -5322,8 +5700,8 @@ NavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
5322
5700
  </li>
5323
5701
  </ul>
5324
5702
  </kendo-virtualization>
5325
- `, 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 });
5326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationComponent, decorators: [{
5703
+ `, 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 });
5704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationComponent, decorators: [{
5327
5705
  type: Component,
5328
5706
  args: [{
5329
5707
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -5403,6 +5781,7 @@ class ViewListComponent {
5403
5781
  this.disabled = false;
5404
5782
  this.showFooter = false;
5405
5783
  this.weekDaysFormat = 'short';
5784
+ this.cellEnter = new EventEmitter();
5406
5785
  this.cellClick = new EventEmitter();
5407
5786
  this.weekNumberCellClick = new EventEmitter();
5408
5787
  this.activeDateChange = new EventEmitter();
@@ -5552,10 +5931,11 @@ class ViewListComponent {
5552
5931
  }
5553
5932
  }
5554
5933
  }
5555
- 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 });
5556
- 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: `
5934
+ 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 });
5935
+ 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: `
5557
5936
  <kendo-calendar-header
5558
5937
  [currentDate]="activeDate"
5938
+ [size]="size"
5559
5939
  [min]="min"
5560
5940
  [max]="max"
5561
5941
  [id]="id"
@@ -5600,6 +5980,9 @@ ViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
5600
5980
  <tbody class="k-calendar-tbody"
5601
5981
  *kFor="let date of dates"
5602
5982
  kendoCalendarView
5983
+ [allowReverse]="allowReverse"
5984
+ [activeRangeEnd]="activeRangeEnd"
5985
+ [selectionRange]="selectionRange"
5603
5986
  [showOtherMonthDays]="showOtherMonthDays"
5604
5987
  [headerTitle]="headerTitle"
5605
5988
  role="rowgroup"
@@ -5616,6 +5999,7 @@ ViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
5616
5999
  (cellClick)="cellClick.emit($event)"
5617
6000
  (weekNumberCellClick)="weekNumberCellClick.emit($event)"
5618
6001
  (focusedCellId)="focusedCellChange.emit($event)"
6002
+ (cellEnter)="cellEnter.emit($event)"
5619
6003
  ></tbody>
5620
6004
  </table>
5621
6005
  </kendo-virtualization>
@@ -5625,8 +6009,8 @@ ViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
5625
6009
  [activeViewValue]="activeViewValue"
5626
6010
  [currentDate]="activeDate">
5627
6011
  </kendo-calendar-footer>
5628
- `, 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 });
5629
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ViewListComponent, decorators: [{
6012
+ `, 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 });
6013
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewListComponent, decorators: [{
5630
6014
  type: Component,
5631
6015
  args: [{
5632
6016
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -5634,6 +6018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5634
6018
  template: `
5635
6019
  <kendo-calendar-header
5636
6020
  [currentDate]="activeDate"
6021
+ [size]="size"
5637
6022
  [min]="min"
5638
6023
  [max]="max"
5639
6024
  [id]="id"
@@ -5678,6 +6063,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5678
6063
  <tbody class="k-calendar-tbody"
5679
6064
  *kFor="let date of dates"
5680
6065
  kendoCalendarView
6066
+ [allowReverse]="allowReverse"
6067
+ [activeRangeEnd]="activeRangeEnd"
6068
+ [selectionRange]="selectionRange"
5681
6069
  [showOtherMonthDays]="showOtherMonthDays"
5682
6070
  [headerTitle]="headerTitle"
5683
6071
  role="rowgroup"
@@ -5694,6 +6082,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5694
6082
  (cellClick)="cellClick.emit($event)"
5695
6083
  (weekNumberCellClick)="weekNumberCellClick.emit($event)"
5696
6084
  (focusedCellId)="focusedCellChange.emit($event)"
6085
+ (cellEnter)="cellEnter.emit($event)"
5697
6086
  ></tbody>
5698
6087
  </table>
5699
6088
  </kendo-virtualization>
@@ -5705,7 +6094,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5705
6094
  </kendo-calendar-footer>
5706
6095
  `
5707
6096
  }]
5708
- }], ctorParameters: function () { return [{ type: BusViewService }, { type: i0.ChangeDetectorRef }, { type: i1.IntlService }, { type: CalendarDOMService }, { type: i0.Renderer2 }]; }, propDecorators: { cellTemplateRef: [{
6097
+ }], ctorParameters: function () { return [{ type: BusViewService }, { type: i0.ChangeDetectorRef }, { type: i1.IntlService }, { type: CalendarDOMService }, { type: i0.Renderer2 }]; }, propDecorators: { allowReverse: [{
6098
+ type: Input
6099
+ }], cellTemplateRef: [{
5709
6100
  type: Input
5710
6101
  }], weekNumberTemplateRef: [{
5711
6102
  type: Input
@@ -5741,8 +6132,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5741
6132
  type: Input
5742
6133
  }], weekDaysFormat: [{
5743
6134
  type: Input
6135
+ }], activeRangeEnd: [{
6136
+ type: Input
6137
+ }], selectionRange: [{
6138
+ type: Input
6139
+ }], size: [{
6140
+ type: Input
5744
6141
  }], weekNumber: [{
5745
6142
  type: Input
6143
+ }], cellEnter: [{
6144
+ type: Output
5746
6145
  }], cellClick: [{
5747
6146
  type: Output
5748
6147
  }], weekNumberCellClick: [{
@@ -5856,9 +6255,9 @@ class ScrollSyncService {
5856
6255
  }
5857
6256
  }
5858
6257
  }
5859
- 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 });
5860
- ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ScrollSyncService });
5861
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ScrollSyncService, decorators: [{
6258
+ 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 });
6259
+ ScrollSyncService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollSyncService });
6260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollSyncService, decorators: [{
5862
6261
  type: Injectable
5863
6262
  }], ctorParameters: function () { return [{ type: CalendarDOMService }, { type: i0.NgZone }]; } });
5864
6263
 
@@ -5892,9 +6291,9 @@ class NavigationItemTemplateDirective {
5892
6291
  this.templateRef = templateRef;
5893
6292
  }
5894
6293
  }
5895
- NavigationItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
5896
- NavigationItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NavigationItemTemplateDirective, selector: "[kendoCalendarNavigationItemTemplate]", ngImport: i0 });
5897
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NavigationItemTemplateDirective, decorators: [{
6294
+ NavigationItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6295
+ NavigationItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NavigationItemTemplateDirective, selector: "[kendoCalendarNavigationItemTemplate]", ngImport: i0 });
6296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationItemTemplateDirective, decorators: [{
5898
6297
  type: Directive,
5899
6298
  args: [{
5900
6299
  selector: '[kendoCalendarNavigationItemTemplate]'
@@ -5925,14 +6324,14 @@ class MultiViewCalendarCustomMessagesComponent extends Messages {
5925
6324
  return true;
5926
6325
  }
5927
6326
  }
5928
- 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 });
5929
- MultiViewCalendarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages", providers: [
6327
+ 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 });
6328
+ MultiViewCalendarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages", providers: [
5930
6329
  {
5931
6330
  provide: Messages,
5932
6331
  useExisting: forwardRef(() => MultiViewCalendarCustomMessagesComponent)
5933
6332
  }
5934
6333
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
5935
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarCustomMessagesComponent, decorators: [{
6334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarCustomMessagesComponent, decorators: [{
5936
6335
  type: Component,
5937
6336
  args: [{
5938
6337
  providers: [
@@ -5951,9 +6350,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
5951
6350
  */
5952
6351
  class CalendarMessages extends ComponentMessages {
5953
6352
  }
5954
- CalendarMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5955
- 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 });
5956
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarMessages, decorators: [{
6353
+ CalendarMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6354
+ 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 });
6355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarMessages, decorators: [{
5957
6356
  type: Directive,
5958
6357
  args: [{
5959
6358
  // eslint-disable-next-line
@@ -5978,14 +6377,14 @@ class CalendarLocalizedMessagesDirective extends CalendarMessages {
5978
6377
  this.service = service;
5979
6378
  }
5980
6379
  }
5981
- 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 });
5982
- CalendarLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]", providers: [
6380
+ 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 });
6381
+ CalendarLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]", providers: [
5983
6382
  {
5984
6383
  provide: CalendarMessages,
5985
6384
  useExisting: forwardRef(() => CalendarLocalizedMessagesDirective)
5986
6385
  }
5987
6386
  ], usesInheritance: true, ngImport: i0 });
5988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarLocalizedMessagesDirective, decorators: [{
6387
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarLocalizedMessagesDirective, decorators: [{
5989
6388
  type: Directive,
5990
6389
  args: [{
5991
6390
  providers: [
@@ -6070,15 +6469,14 @@ class CalendarComponent {
6070
6469
  * @default false
6071
6470
  */
6072
6471
  this.footer = false;
6472
+ this._selection = 'single';
6073
6473
  /**
6074
- * Sets the Calendar selection mode
6075
- * ([see example]({% slug multiple_selection_calendar %})).
6474
+ * Allows reverse selection when using `range` selection.
6475
+ * If `allowReverse` is set to `true`, the component skips the validation of whether the start date is after the end date.
6076
6476
  *
6077
- * The available values are:
6078
- * * `single` (default)
6079
- * * `multiple`
6477
+ * @default false
6080
6478
  */
6081
- this.selection = 'single';
6479
+ this.allowReverse = false;
6082
6480
  /**
6083
6481
  * Sets or gets the `disabled` property of the Calendar and
6084
6482
  * determines whether the component is active
@@ -6163,8 +6561,10 @@ class CalendarComponent {
6163
6561
  */
6164
6562
  this.valueChange = new EventEmitter();
6165
6563
  this._size = DEFAULT_SIZE;
6564
+ this._activeRangeEnd = 'start';
6166
6565
  this.isActive = false;
6167
6566
  this.cellUID = guid();
6567
+ this.selectionRange = { start: null, end: null };
6168
6568
  this.selectedDates = [];
6169
6569
  this._min = new Date(MIN_DATE);
6170
6570
  this._max = new Date(MAX_DATE);
@@ -6174,14 +6574,17 @@ class CalendarComponent {
6174
6574
  this.onValidatorChange = noop$2;
6175
6575
  this.minValidateFn = noop$2;
6176
6576
  this.maxValidateFn = noop$2;
6577
+ this.changes = {};
6578
+ this.valueSetter = false;
6579
+ this.selectionSetter = false;
6177
6580
  this.syncNavigation = true;
6178
6581
  this._type = 'infinite';
6179
6582
  this.domEvents = [];
6180
6583
  this.resolvedPromise = Promise.resolve(null);
6181
6584
  this.destroyed = false;
6585
+ this.canHover = false;
6182
6586
  validatePackage(packageMetadata);
6183
6587
  this.id = `kendo-calendarid-${this.bus.calendarId}`;
6184
- this.setClasses(element.nativeElement);
6185
6588
  if (this.pickerService) {
6186
6589
  this.pickerService.calendar = this;
6187
6590
  }
@@ -6265,29 +6668,37 @@ class CalendarComponent {
6265
6668
  get max() {
6266
6669
  return this._max;
6267
6670
  }
6671
+ /**
6672
+ * Sets the Calendar selection mode
6673
+ * ([see example]({% slug multiple_selection_calendar %})).
6674
+ *
6675
+ * The available values are:
6676
+ * * `single` (default)
6677
+ * * `multiple`
6678
+ * * `range`
6679
+ */
6680
+ set selection(_selection) {
6681
+ this._selection = _selection;
6682
+ this.selectionSetter = true;
6683
+ }
6684
+ get selection() {
6685
+ return this._selection;
6686
+ }
6268
6687
  /**
6269
6688
  * Sets or gets the `value` property of the Calendar and defines the selected value of the component.
6270
6689
  *
6271
6690
  * > The `value` has to be a valid
6272
6691
  * [JavaScript `Date`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date)
6273
- * instance when in `single` selection mode or an array of valid JavaScript Date instances when in `multiple` selection mode.
6692
+ * instance when in `single` selection mode, an array of valid JavaScript Date instances when in `multiple` selection mode, or
6693
+ * an object of type `SelectionRange` when in `range` selection mode.
6274
6694
  */
6695
+ set value(candidate) {
6696
+ this.valueSetter = true;
6697
+ this._value = candidate;
6698
+ }
6275
6699
  get value() {
6276
6700
  return this._value;
6277
6701
  }
6278
- set value(candidate) {
6279
- this.verifyValue(candidate);
6280
- this._value = Array.isArray(candidate) ?
6281
- candidate.filter(date => isPresent(date)).map(element => cloneDate(element)) :
6282
- cloneDate(candidate);
6283
- const selection = [].concat(candidate).filter(date => isPresent(date)).map(date => cloneDate(date));
6284
- if (!areDatesEqual(selection, this.selectedDates)) {
6285
- const lastSelected = last(selection);
6286
- this.rangePivot = cloneDate(lastSelected);
6287
- this.focusedDate = cloneDate(lastSelected) || this.focusedDate;
6288
- this.selectedDates = selection;
6289
- }
6290
- }
6291
6702
  /**
6292
6703
  * @hidden
6293
6704
  */
@@ -6318,7 +6729,9 @@ class CalendarComponent {
6318
6729
  */
6319
6730
  set type(type) {
6320
6731
  this.renderer.removeClass(this.element.nativeElement, `k-calendar-${this.type}`);
6321
- this.renderer.addClass(this.element.nativeElement, `k-calendar-${type}`);
6732
+ if (type === 'infinite') {
6733
+ this.renderer.addClass(this.element.nativeElement, `k-calendar-${type}`);
6734
+ }
6322
6735
  this._type = type;
6323
6736
  }
6324
6737
  get type() {
@@ -6457,17 +6870,23 @@ class CalendarComponent {
6457
6870
  *
6458
6871
  */
6459
6872
  set size(size) {
6460
- const element = this.type === 'infinite' ? this.element : this.multiViewCalendar.element;
6461
- this.renderer.removeClass(element.nativeElement, getSizeClass('calendar', this.size));
6462
- const newSize = size ? size : DEFAULT_SIZE;
6463
- if (newSize !== 'none') {
6464
- this.renderer.addClass(element.nativeElement, getSizeClass('calendar', newSize));
6465
- }
6466
- this._size = newSize;
6873
+ this._size = size;
6467
6874
  }
6468
6875
  get size() {
6469
6876
  return this._size;
6470
6877
  }
6878
+ /**
6879
+ * Specify, which end of the defined selection range should be marked as active.
6880
+ *
6881
+ * > Value will be ignored if the selection range is undefined.
6882
+ * > If range selection is used then the default value is 'start'.
6883
+ */
6884
+ set activeRangeEnd(_activeRangeEnd) {
6885
+ this._activeRangeEnd = _activeRangeEnd;
6886
+ }
6887
+ get activeRangeEnd() {
6888
+ return this._activeRangeEnd;
6889
+ }
6471
6890
  get activeViewEnum() {
6472
6891
  const activeView = CalendarViewEnum[this.activeView];
6473
6892
  return activeView < this.bottomViewEnum ? this.bottomViewEnum : activeView;
@@ -6486,6 +6905,7 @@ class CalendarComponent {
6486
6905
  return this.type === 'classic' ? undefined : this.disabled;
6487
6906
  }
6488
6907
  ngOnInit() {
6908
+ this.setClasses(this.element.nativeElement);
6489
6909
  if (this.type === 'infinite') {
6490
6910
  this.dom.calculateHeights(this.element.nativeElement);
6491
6911
  this.scrollSyncService.configure(this.activeViewEnum);
@@ -6500,26 +6920,43 @@ class CalendarComponent {
6500
6920
  }
6501
6921
  }
6502
6922
  ngOnChanges(changes) {
6923
+ this.changes = changes;
6503
6924
  this.verifyChanges();
6504
6925
  this.bus.configure(this.bottomViewEnum, this.topViewEnum);
6505
6926
  this.scrollSyncService.configure(this.activeViewEnum);
6506
- if (hasExistingValue(changes, 'focusedDate')) {
6507
- const focusedDate = changes.focusedDate.currentValue;
6927
+ }
6928
+ ngDoCheck() {
6929
+ var _a, _b, _c, _d;
6930
+ if (this.valueSetter || this.selectionSetter) {
6931
+ if (this.selection === 'range' &&
6932
+ (((_a = this.value) === null || _a === void 0 ? void 0 : _a.start) || ((_b = this.value) === null || _b === void 0 ? void 0 : _b.end)) &&
6933
+ this.focusedDate.getTime() !== ((_c = this.value.start) === null || _c === void 0 ? void 0 : _c.getTime()) &&
6934
+ this.focusedDate.getTime() !== ((_d = this.value.end) === null || _d === void 0 ? void 0 : _d.getTime())) {
6935
+ this.focusedDate = this.value.start || this.value.end || getToday();
6936
+ }
6937
+ this.setValue(this.value);
6938
+ this.valueSetter = false;
6939
+ this.selectionSetter = false;
6940
+ }
6941
+ if (hasExistingValue(this.changes, 'focusedDate')) {
6942
+ const focusedDate = this.changes.focusedDate.currentValue;
6508
6943
  this.focusedDate = dateInRange(focusedDate, this.min, this.max);
6509
6944
  }
6510
- if (changes.navigation) {
6945
+ if (this.changes.navigation) {
6511
6946
  this.syncNavigation = true;
6512
6947
  }
6513
- if (changes.min || changes.max || changes.rangeValidation) {
6948
+ if (this.changes.min || this.changes.max || this.changes.rangeValidation) {
6514
6949
  this.minValidateFn = this.rangeValidation ? minValidator(this.min) : noop$2;
6515
6950
  this.maxValidateFn = this.rangeValidation ? maxValidator(this.max) : noop$2;
6516
6951
  this.onValidatorChange();
6517
6952
  }
6953
+ this.changes = {};
6518
6954
  }
6519
6955
  ngAfterViewInit() {
6520
6956
  this.setAriaActivedescendant();
6521
6957
  if (this.size !== 'none') {
6522
6958
  const element = this.type === 'infinite' ? this.element : this.multiViewCalendar.element;
6959
+ this.renderer.removeClass(element.nativeElement, getSizeClass('calendar', this.size));
6523
6960
  this.renderer.addClass(element.nativeElement, getSizeClass('calendar', this.size));
6524
6961
  }
6525
6962
  }
@@ -6547,6 +6984,31 @@ class CalendarComponent {
6547
6984
  }
6548
6985
  this.destroyed = true;
6549
6986
  }
6987
+ /**
6988
+ * @hidden
6989
+ */
6990
+ onCellEnter(date) {
6991
+ if (this.selection === 'range' && this.canHover) {
6992
+ this.ngZone.run(() => {
6993
+ if (this.allowReverse) {
6994
+ if (this.activeRangeEnd === 'end' && this.selectionRange.start) {
6995
+ this.selectionRange = { start: this.selectionRange.start, end: date };
6996
+ }
6997
+ if (this.activeRangeEnd === 'start' && this.selectionRange.end) {
6998
+ this.selectionRange = { start: date, end: this.selectionRange.end };
6999
+ }
7000
+ }
7001
+ else {
7002
+ if (this.activeRangeEnd === 'end' && this.selectionRange.start && date >= this.selectionRange.start) {
7003
+ this.selectionRange = { start: this.selectionRange.start, end: date };
7004
+ }
7005
+ if (this.selectionRange.start && date < this.selectionRange.start) {
7006
+ this.selectionRange = { start: this.selectionRange.start, end: null };
7007
+ }
7008
+ }
7009
+ });
7010
+ }
7011
+ }
6550
7012
  /**
6551
7013
  * @hidden
6552
7014
  */
@@ -6621,9 +7083,14 @@ class CalendarComponent {
6621
7083
  /**
6622
7084
  * @hidden
6623
7085
  */
6624
- handleMultiViewCalendarValueChange(date, focusedDate) {
6625
- const selectedDates = Array.isArray(date) ? date : [date];
6626
- this.handleDateChange({ selectedDates, focusedDate });
7086
+ handleMultiViewCalendarValueChange(value, focusedDate) {
7087
+ if (this.selection === 'range') {
7088
+ this.valueChange.emit(value);
7089
+ }
7090
+ else {
7091
+ const selectedDates = (Array.isArray(value) ? value : [value]);
7092
+ this.handleDateChange({ selectedDates, focusedDate });
7093
+ }
6627
7094
  }
6628
7095
  /**
6629
7096
  * @hidden
@@ -6647,6 +7114,9 @@ class CalendarComponent {
6647
7114
  if (this.disabledDatesService.isDateDisabled(this.focusedDate)) {
6648
7115
  return;
6649
7116
  }
7117
+ if (this.selection === 'range') {
7118
+ return;
7119
+ }
6650
7120
  this.ngZone.run(() => {
6651
7121
  this.selectedDates = availableDates.map(date => cloneDate(date));
6652
7122
  this.value = this.parseSelectionToValue(availableDates);
@@ -6759,8 +7229,13 @@ class CalendarComponent {
6759
7229
  */
6760
7230
  handleCellClick({ date, modifiers }) {
6761
7231
  this.focus();
6762
- this.selectionService.lastClicked = date;
6763
- this.performSelection(date, modifiers);
7232
+ if (this.selection === 'range') {
7233
+ this.performRangeSelection(date);
7234
+ }
7235
+ else {
7236
+ this.selectionService.lastClicked = date;
7237
+ this.performSelection(date, modifiers);
7238
+ }
6764
7239
  }
6765
7240
  /**
6766
7241
  * @hidden
@@ -6770,10 +7245,23 @@ class CalendarComponent {
6770
7245
  return;
6771
7246
  }
6772
7247
  this.ngZone.run(() => {
6773
- this.handleDateChange({
6774
- selectedDates: dates,
6775
- focusedDate: last(dates)
6776
- });
7248
+ var _a, _b;
7249
+ if (this.selection === 'multiple') {
7250
+ this.handleDateChange({
7251
+ selectedDates: dates,
7252
+ focusedDate: last(dates),
7253
+ });
7254
+ }
7255
+ if (this.selection === 'range') {
7256
+ this.canHover = false;
7257
+ this.activeRangeEnd = 'start';
7258
+ const shouldEmitValueChange = ((_a = this.selectionRange.start) === null || _a === void 0 ? void 0 : _a.getTime()) !== dates[0].getTime() ||
7259
+ ((_b = this.selectionRange.end) === null || _b === void 0 ? void 0 : _b.getTime()) !== last(dates).getTime();
7260
+ this.value = { start: dates[0], end: last(dates) };
7261
+ if (shouldEmitValueChange) {
7262
+ this.valueChange.emit(this.value);
7263
+ }
7264
+ }
6777
7265
  });
6778
7266
  }
6779
7267
  /**
@@ -6818,9 +7306,11 @@ class CalendarComponent {
6818
7306
  }
6819
7307
  }
6820
7308
  setClasses(element) {
6821
- this.renderer.addClass(element, 'k-widget');
6822
- this.renderer.addClass(element, 'k-calendar');
6823
- this.renderer.addClass(element, `k-calendar-${this.type}`);
7309
+ this.renderer.removeClass(element, `k-calendar-${this.type}`);
7310
+ if (this.type === 'infinite') {
7311
+ this.renderer.addClass(element, 'k-calendar');
7312
+ this.renderer.addClass(element, `k-calendar-${this.type}`);
7313
+ }
6824
7314
  }
6825
7315
  verifyChanges() {
6826
7316
  if (!isDevMode()) {
@@ -6837,19 +7327,35 @@ class CalendarComponent {
6837
7327
  if (!isDevMode()) {
6838
7328
  return;
6839
7329
  }
6840
- if (this.selection === 'single' && candidate && !(candidate instanceof Date)) {
6841
- throw new Error(`The 'value' should be a valid JavaScript Date instance. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
7330
+ if (this.selection === 'single' && candidate && !(isNullOrDate(candidate))) {
7331
+ throw new Error(`When using 'single' selection the 'value' should be a valid JavaScript Date instance. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
6842
7332
  }
6843
- else if (this.selection === 'multiple' && candidate && Array.isArray(candidate)) {
6844
- const onlyDates = candidate.every(value => value instanceof Date);
6845
- if (!onlyDates) {
6846
- throw new Error(`The 'value' should be an array of valid JavaScript Date instances. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
7333
+ else if (this.selection === 'multiple' && candidate) {
7334
+ if (Array.isArray(candidate)) {
7335
+ const onlyDates = candidate.every(value => value instanceof Date);
7336
+ if (!onlyDates) {
7337
+ 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.`);
7338
+ }
7339
+ }
7340
+ if (Object.keys(candidate).find(k => k === 'start') && Object.keys(candidate).find(k => k === 'end')) {
7341
+ 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.`);
6847
7342
  }
6848
7343
  }
7344
+ else if (this.selection === 'range' && candidate && !(isNullOrDate(candidate['start']) && isNullOrDate(candidate['end']))) {
7345
+ throw new Error(`The 'value' should be an object with start and end dates. Check ${VALUE_DOC_LINK$4} for possible resolution.`);
7346
+ }
6849
7347
  }
6850
7348
  bindEvents() {
6851
7349
  const element = this.element.nativeElement;
6852
- 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)));
7350
+ 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)));
7351
+ }
7352
+ setRangeSelectionToValue() {
7353
+ if (this.selection === 'range' && this.value) {
7354
+ this.ngZone.run(() => {
7355
+ this.selectionRange = this.value;
7356
+ this.cdr.markForCheck();
7357
+ });
7358
+ }
6853
7359
  }
6854
7360
  emitBlur(args) {
6855
7361
  if (this.pickerService) {
@@ -6897,12 +7403,17 @@ class CalendarComponent {
6897
7403
  }
6898
7404
  if (args.keyCode === Keys$1.Enter) {
6899
7405
  this.selectionService.lastClicked = this.focusedDate;
6900
- this.performSelection(this.focusedDate, args);
7406
+ if (this.selection !== 'range') {
7407
+ this.performSelection(this.focusedDate, args);
7408
+ }
7409
+ else {
7410
+ this.performRangeSelection(this.focusedDate);
7411
+ }
6901
7412
  }
6902
7413
  if (args.keyCode === Keys$1.KeyT) {
6903
7414
  this.focusToday();
6904
7415
  }
6905
- if (isArrowWithShiftPressed(args)) {
7416
+ if (isArrowWithShiftPressed(args) && this.selection !== 'range') {
6906
7417
  args.anyArrow = true;
6907
7418
  this.performSelection(this.focusedDate, args);
6908
7419
  }
@@ -6942,6 +7453,74 @@ class CalendarComponent {
6942
7453
  selection = selection || [];
6943
7454
  return this.selection === 'single' ? cloneDate(last(selection)) : selection.map(date => cloneDate(date));
6944
7455
  }
7456
+ setValue(candidate) {
7457
+ var _a, _b, _c, _d, _e, _f;
7458
+ this.verifyValue(candidate);
7459
+ if (candidate === null) {
7460
+ this._value = null;
7461
+ this.selectedDates = [];
7462
+ this.selectionRange = { start: null, end: null };
7463
+ }
7464
+ else if (Array.isArray(candidate)) {
7465
+ this.selectionRange = { start: null, end: null };
7466
+ this._value = candidate.filter(date => isPresent(date)).map(element => cloneDate(element));
7467
+ }
7468
+ else if (isObject(candidate) && Object.keys(candidate).find(k => k === 'start') && Object.keys(candidate).find(k => k === 'end')) {
7469
+ this.selectedDates = [];
7470
+ this.selectionRange = { start: null, end: null };
7471
+ this._value = { start: null, end: null };
7472
+ this._value.start = candidate.start instanceof Date ? cloneDate(candidate.start) : null;
7473
+ this._value.end = candidate.end instanceof Date ? cloneDate(candidate.end) : null;
7474
+ this.selectionRange = Object.assign({}, this._value);
7475
+ if (((_a = this._value) === null || _a === void 0 ? void 0 : _a.start) && !((_b = this._value) === null || _b === void 0 ? void 0 : _b.end)) {
7476
+ this.activeRangeEnd = 'end';
7477
+ this.canHover = true;
7478
+ }
7479
+ if (((_c = this._value) === null || _c === void 0 ? void 0 : _c.end) && !((_d = this._value) === null || _d === void 0 ? void 0 : _d.start)) {
7480
+ this.activeRangeEnd = 'start';
7481
+ this.canHover = true;
7482
+ }
7483
+ if (((_e = this._value) === null || _e === void 0 ? void 0 : _e.end) && ((_f = this._value) === null || _f === void 0 ? void 0 : _f.start)) {
7484
+ this.canHover = false;
7485
+ }
7486
+ }
7487
+ else {
7488
+ this.selectionRange = { start: null, end: null };
7489
+ this._value = cloneDate(candidate);
7490
+ }
7491
+ if (this.selection !== 'range') {
7492
+ const selection = [].concat(candidate).filter(date => isPresent(date)).map(date => cloneDate(date));
7493
+ if (!areDatesEqual(selection, this.selectedDates)) {
7494
+ const lastSelected = last(selection);
7495
+ this.rangePivot = cloneDate(lastSelected);
7496
+ this.focusedDate = cloneDate(lastSelected) || this.focusedDate;
7497
+ this.selectedDates = selection;
7498
+ }
7499
+ }
7500
+ }
7501
+ performRangeSelection(date) {
7502
+ var _a, _b, _c, _d;
7503
+ this.focusedDate = date;
7504
+ const clonedRangeSelection = Object.assign({}, this.selectionRange);
7505
+ const emitValueChange = (this.activeRangeEnd === 'start' && ((_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.start) === null || _b === void 0 ? void 0 : _b.getTime()) !== (date === null || date === void 0 ? void 0 : date.getTime())) ||
7506
+ (this.activeRangeEnd === 'end' && ((_d = (_c = this.value) === null || _c === void 0 ? void 0 : _c.end) === null || _d === void 0 ? void 0 : _d.getTime()) !== (date === null || date === void 0 ? void 0 : date.getTime()));
7507
+ this.ngZone.run(() => {
7508
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
7509
+ const rangeSelection = handleRangeSelection(date, clonedRangeSelection, this.activeRangeEnd, this.allowReverse);
7510
+ this.activeRangeEnd = rangeSelection.activeRangeEnd;
7511
+ if (this.canHover && rangeSelection.activeRangeEnd === 'end' && ((_a = rangeSelection.selectionRange.end) === null || _a === void 0 ? void 0 : _a.getTime()) === date.getTime()) {
7512
+ this.activeRangeEnd = 'start';
7513
+ rangeSelection.activeRangeEnd = 'start';
7514
+ }
7515
+ this.canHover = this.activeRangeEnd === 'end' && rangeSelection.selectionRange.start && !rangeSelection.selectionRange.end;
7516
+ if (emitValueChange && (((_c = (_b = this.value) === null || _b === void 0 ? void 0 : _b.start) === null || _c === void 0 ? void 0 : _c.getTime()) !== ((_e = (_d = rangeSelection.selectionRange) === null || _d === void 0 ? void 0 : _d.start) === null || _e === void 0 ? void 0 : _e.getTime()) ||
7517
+ ((_g = (_f = this.value) === null || _f === void 0 ? void 0 : _f.end) === null || _g === void 0 ? void 0 : _g.getTime()) !== ((_j = (_h = rangeSelection.selectionRange) === null || _h === void 0 ? void 0 : _h.end) === null || _j === void 0 ? void 0 : _j.getTime()))) {
7518
+ this.value = rangeSelection.selectionRange;
7519
+ this.valueChange.emit(this.value);
7520
+ }
7521
+ this.cdr.markForCheck();
7522
+ });
7523
+ }
6945
7524
  performSelection(date, selectionModifiers) {
6946
7525
  const selection = this.selectionService.performSelection({
6947
7526
  date: date,
@@ -6958,8 +7537,8 @@ class CalendarComponent {
6958
7537
  });
6959
7538
  }
6960
7539
  }
6961
- 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 });
6962
- 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: [
7540
+ 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 });
7541
+ 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: [
6963
7542
  BusViewService,
6964
7543
  CALENDAR_VALUE_ACCESSOR,
6965
7544
  CALENDAR_RANGE_VALIDATORS,
@@ -7002,7 +7581,11 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
7002
7581
  </kendo-calendar-navigation>
7003
7582
  <kendo-calendar-viewlist
7004
7583
  [activeView]="activeViewEnum"
7584
+ [allowReverse]="allowReverse"
7005
7585
  [showOtherMonthDays]="showOtherMonthDays"
7586
+ [activeRangeEnd]="activeRangeEnd"
7587
+ [selectionRange]="selectionRange"
7588
+ [size]="size"
7006
7589
  [isActive]="isActive"
7007
7590
  [id]="headerId"
7008
7591
  [weekDaysFormat]="weekDaysFormat"
@@ -7030,6 +7613,7 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
7030
7613
  (pageChange)="onPageChange()"
7031
7614
  (focusCalendar)="handleFocus()"
7032
7615
  (blurCalendar)="handleBlur($event)"
7616
+ (cellEnter)="onCellEnter($event)"
7033
7617
  >
7034
7618
  </kendo-calendar-viewlist>
7035
7619
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
@@ -7040,7 +7624,11 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
7040
7624
  [views]="1"
7041
7625
  [min]="min"
7042
7626
  [max]="max"
7627
+ [size]="size"
7043
7628
  [id]="id"
7629
+ [activeRangeEnd]="activeRangeEnd"
7630
+ [selectionRange]="selectionRange"
7631
+ [allowReverse]="allowReverse"
7044
7632
  [disabled]="disabled"
7045
7633
  [isActive]="isActive"
7046
7634
  [showOtherMonthDays]="showOtherMonthDays"
@@ -7082,8 +7670,8 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
7082
7670
  </kendo-multiviewcalendar-messages>
7083
7671
  </kendo-multiviewcalendar>
7084
7672
  </ng-container>
7085
- `, 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 });
7086
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarComponent, decorators: [{
7673
+ `, 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 });
7674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarComponent, decorators: [{
7087
7675
  type: Component,
7088
7676
  args: [{
7089
7677
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -7133,7 +7721,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7133
7721
  </kendo-calendar-navigation>
7134
7722
  <kendo-calendar-viewlist
7135
7723
  [activeView]="activeViewEnum"
7724
+ [allowReverse]="allowReverse"
7136
7725
  [showOtherMonthDays]="showOtherMonthDays"
7726
+ [activeRangeEnd]="activeRangeEnd"
7727
+ [selectionRange]="selectionRange"
7728
+ [size]="size"
7137
7729
  [isActive]="isActive"
7138
7730
  [id]="headerId"
7139
7731
  [weekDaysFormat]="weekDaysFormat"
@@ -7161,6 +7753,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7161
7753
  (pageChange)="onPageChange()"
7162
7754
  (focusCalendar)="handleFocus()"
7163
7755
  (blurCalendar)="handleBlur($event)"
7756
+ (cellEnter)="onCellEnter($event)"
7164
7757
  >
7165
7758
  </kendo-calendar-viewlist>
7166
7759
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
@@ -7171,7 +7764,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7171
7764
  [views]="1"
7172
7765
  [min]="min"
7173
7766
  [max]="max"
7767
+ [size]="size"
7174
7768
  [id]="id"
7769
+ [activeRangeEnd]="activeRangeEnd"
7770
+ [selectionRange]="selectionRange"
7771
+ [allowReverse]="allowReverse"
7175
7772
  [disabled]="disabled"
7176
7773
  [isActive]="isActive"
7177
7774
  [showOtherMonthDays]="showOtherMonthDays"
@@ -7237,6 +7834,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7237
7834
  type: Input
7238
7835
  }], selection: [{
7239
7836
  type: Input
7837
+ }], allowReverse: [{
7838
+ type: Input
7240
7839
  }], value: [{
7241
7840
  type: Input
7242
7841
  }], disabled: [{
@@ -7340,6 +7939,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7340
7939
  args: ['navigationItemTemplate']
7341
7940
  }], size: [{
7342
7941
  type: Input
7942
+ }], activeRangeEnd: [{
7943
+ type: Input
7343
7944
  }], navigationView: [{
7344
7945
  type: ViewChild,
7345
7946
  args: [NavigationComponent, { static: false }]
@@ -7389,9 +7990,9 @@ var Arrow;
7389
7990
  */
7390
7991
  class DateInputMessages extends ComponentMessages {
7391
7992
  }
7392
- DateInputMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7393
- 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 });
7394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputMessages, decorators: [{
7993
+ DateInputMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
7994
+ 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 });
7995
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputMessages, decorators: [{
7395
7996
  type: Directive,
7396
7997
  args: [{
7397
7998
  // eslint-disable-next-line
@@ -7401,6 +8002,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
7401
8002
  type: Input
7402
8003
  }], increment: [{
7403
8004
  type: Input
8005
+ }], clearTitle: [{
8006
+ type: Input
7404
8007
  }] } });
7405
8008
 
7406
8009
  /**
@@ -7412,14 +8015,14 @@ class DateInputLocalizedMessagesDirective extends DateInputMessages {
7412
8015
  this.service = service;
7413
8016
  }
7414
8017
  }
7415
- 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 });
7416
- DateInputLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]", providers: [
8018
+ 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 });
8019
+ DateInputLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]", providers: [
7417
8020
  {
7418
8021
  provide: DateInputMessages,
7419
8022
  useExisting: forwardRef(() => DateInputLocalizedMessagesDirective)
7420
8023
  }
7421
8024
  ], usesInheritance: true, ngImport: i0 });
7422
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputLocalizedMessagesDirective, decorators: [{
8025
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputLocalizedMessagesDirective, decorators: [{
7423
8026
  type: Directive,
7424
8027
  args: [{
7425
8028
  providers: [
@@ -7486,10 +8089,20 @@ class DateInputComponent {
7486
8089
  * @hidden
7487
8090
  */
7488
8091
  this.caretAltUpIcon = caretAltUpIcon;
8092
+ /**
8093
+ * @hidden
8094
+ */
8095
+ this.xIcon = xIcon;
7489
8096
  /**
7490
8097
  * @hidden
7491
8098
  */
7492
8099
  this.caretAltDownIcon = caretAltDownIcon;
8100
+ /**
8101
+ * If set to `true`, renders a clear button after the input text or DateInput value has been changed.
8102
+ * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
8103
+ * @default false
8104
+ */
8105
+ this.clearButton = false;
7493
8106
  /**
7494
8107
  * Sets or gets the `disabled` property of the DateInput and
7495
8108
  * determines whether the component is active
@@ -7662,6 +8275,7 @@ class DateInputComponent {
7662
8275
  this.formatSections = { date: false, time: false };
7663
8276
  this.hasMousedown = false;
7664
8277
  this.focusedPriorToMousedown = false;
8278
+ this.showClearButton = false;
7665
8279
  /**
7666
8280
  * @hidden
7667
8281
  */
@@ -8102,6 +8716,13 @@ class DateInputComponent {
8102
8716
  (_b = this.kendoDateObject) === null || _b === void 0 ? void 0 : _b.setValue(this.value);
8103
8717
  (_c = this.kendoDate) === null || _c === void 0 ? void 0 : _c.refreshElementValue();
8104
8718
  }
8719
+ resetInput() {
8720
+ var _a, _b, _c;
8721
+ (_a = this.kendoDateObject) === null || _a === void 0 ? void 0 : _a.setValue(null);
8722
+ (_b = this.kendoDate) === null || _b === void 0 ? void 0 : _b.refreshElementValue();
8723
+ (_c = this.control) === null || _c === void 0 ? void 0 : _c.setValue(null);
8724
+ this.showClearButton = false;
8725
+ }
8105
8726
  /**
8106
8727
  * @hidden
8107
8728
  */
@@ -8117,6 +8738,7 @@ class DateInputComponent {
8117
8738
  */
8118
8739
  notify() {
8119
8740
  this.ngZone.run(() => {
8741
+ this.showClearButton = true;
8120
8742
  this.onControlChange(cloneDate(this.value));
8121
8743
  this.valueChange.emit(cloneDate(this.value));
8122
8744
  });
@@ -8164,6 +8786,7 @@ class DateInputComponent {
8164
8786
  * @hidden
8165
8787
  */
8166
8788
  handleButtonClick(offset) {
8789
+ this.showClearButton = true;
8167
8790
  this.arrowDirection = Arrow.None;
8168
8791
  this.kendoDate.focus();
8169
8792
  this.kendoDate.modifyDateSegmentValue(offset);
@@ -8186,6 +8809,10 @@ class DateInputComponent {
8186
8809
  }
8187
8810
  onWidgetInputEnd() {
8188
8811
  this.updateIncompleteValidationStatus();
8812
+ if (this.clearButton) {
8813
+ this.showClearButton = true;
8814
+ this.cdr.markForCheck();
8815
+ }
8189
8816
  }
8190
8817
  onWidgetFocus({ event: FocuseEvent }) {
8191
8818
  this.isActive = true;
@@ -8271,8 +8898,8 @@ class DateInputComponent {
8271
8898
  setHTMLAttributes(attributesToRender, this.renderer, this.dateInput.nativeElement);
8272
8899
  }
8273
8900
  }
8274
- 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 });
8275
- 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: [
8901
+ 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 });
8902
+ 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: [
8276
8903
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateInputComponent), multi: true },
8277
8904
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => DateInputComponent), multi: true },
8278
8905
  { provide: L10N_PREFIX, useValue: 'kendo.dateinput' },
@@ -8285,6 +8912,9 @@ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
8285
8912
 
8286
8913
  i18n-decrement="kendo.dateinput.decrement|The label for the **Decrement** button in the DateInput"
8287
8914
  decrement="Decrease value"
8915
+
8916
+ i18n-clearTitle="kendo.dateinput.clearTitle|The title of the clear button"
8917
+ clearTitle="clear"
8288
8918
  >
8289
8919
  </ng-container>
8290
8920
  <input #dateInput
@@ -8310,6 +8940,21 @@ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
8310
8940
  }"
8311
8941
  [scope]="this"
8312
8942
  />
8943
+ <span
8944
+ *ngIf="clearButton && showClearButton"
8945
+ class="k-clear-value"
8946
+ [attr.title]="localization.get('clearTitle')"
8947
+ role="button"
8948
+ tabindex="-1"
8949
+ (click)="resetInput()"
8950
+ (mousedown)="$event.preventDefault()"
8951
+ >
8952
+ <kendo-icon-wrapper
8953
+ name="x"
8954
+ [svgIcon]="xIcon"
8955
+ >
8956
+ </kendo-icon-wrapper>
8957
+ </span>
8313
8958
  <span *ngIf="spinners" class="k-input-spinner k-spin-button" (mousedown)="$event.preventDefault()">
8314
8959
  <button
8315
8960
  #spinup
@@ -8348,8 +8993,8 @@ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
8348
8993
  </kendo-icon-wrapper>
8349
8994
  </button>
8350
8995
  </span>
8351
- `, 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 });
8352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputComponent, decorators: [{
8996
+ `, 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 });
8997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputComponent, decorators: [{
8353
8998
  type: Component,
8354
8999
  args: [{
8355
9000
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -8369,6 +9014,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8369
9014
 
8370
9015
  i18n-decrement="kendo.dateinput.decrement|The label for the **Decrement** button in the DateInput"
8371
9016
  decrement="Decrease value"
9017
+
9018
+ i18n-clearTitle="kendo.dateinput.clearTitle|The title of the clear button"
9019
+ clearTitle="clear"
8372
9020
  >
8373
9021
  </ng-container>
8374
9022
  <input #dateInput
@@ -8394,6 +9042,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8394
9042
  }"
8395
9043
  [scope]="this"
8396
9044
  />
9045
+ <span
9046
+ *ngIf="clearButton && showClearButton"
9047
+ class="k-clear-value"
9048
+ [attr.title]="localization.get('clearTitle')"
9049
+ role="button"
9050
+ tabindex="-1"
9051
+ (click)="resetInput()"
9052
+ (mousedown)="$event.preventDefault()"
9053
+ >
9054
+ <kendo-icon-wrapper
9055
+ name="x"
9056
+ [svgIcon]="xIcon"
9057
+ >
9058
+ </kendo-icon-wrapper>
9059
+ </span>
8397
9060
  <span *ngIf="spinners" class="k-input-spinner k-spin-button" (mousedown)="$event.preventDefault()">
8398
9061
  <button
8399
9062
  #spinup
@@ -8442,6 +9105,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8442
9105
  type: Input
8443
9106
  }], pickerType: [{
8444
9107
  type: Input
9108
+ }], clearButton: [{
9109
+ type: Input
8445
9110
  }], disabled: [{
8446
9111
  type: Input
8447
9112
  }], readonly: [{
@@ -8582,6 +9247,39 @@ const disabledDatesValidator = (isDateDisabled) => {
8582
9247
  };
8583
9248
  };
8584
9249
 
9250
+ /**
9251
+ * Custom component messages override default component messages ([see example]({% slug globalization_dateinputs %}#toc-custom-messages)).
9252
+ */
9253
+ class DateInputCustomMessagesComponent extends DateInputMessages {
9254
+ constructor(service) {
9255
+ super();
9256
+ this.service = service;
9257
+ }
9258
+ get override() {
9259
+ return true;
9260
+ }
9261
+ }
9262
+ 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 });
9263
+ DateInputCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages", providers: [
9264
+ {
9265
+ provide: DateInputMessages,
9266
+ useExisting: forwardRef(() => DateInputCustomMessagesComponent)
9267
+ }
9268
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
9269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputCustomMessagesComponent, decorators: [{
9270
+ type: Component,
9271
+ args: [{
9272
+ providers: [
9273
+ {
9274
+ provide: DateInputMessages,
9275
+ useExisting: forwardRef(() => DateInputCustomMessagesComponent)
9276
+ }
9277
+ ],
9278
+ selector: 'kendo-dateinput-messages',
9279
+ template: ``
9280
+ }]
9281
+ }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
9282
+
8585
9283
  /**
8586
9284
  * Custom component messages override default component messages ([see example]({% slug globalization_dateinputs %}#toc-custom-messages)).
8587
9285
  */
@@ -8594,14 +9292,14 @@ class CalendarCustomMessagesComponent extends CalendarMessages {
8594
9292
  return true;
8595
9293
  }
8596
9294
  }
8597
- 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 });
8598
- CalendarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages", providers: [
9295
+ 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 });
9296
+ CalendarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages", providers: [
8599
9297
  {
8600
9298
  provide: CalendarMessages,
8601
9299
  useExisting: forwardRef(() => CalendarCustomMessagesComponent)
8602
9300
  }
8603
9301
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
8604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarCustomMessagesComponent, decorators: [{
9302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarCustomMessagesComponent, decorators: [{
8605
9303
  type: Component,
8606
9304
  args: [{
8607
9305
  providers: [
@@ -8620,9 +9318,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8620
9318
  */
8621
9319
  class DatePickerMessages extends ComponentMessages {
8622
9320
  }
8623
- DatePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
8624
- 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 });
8625
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerMessages, decorators: [{
9321
+ DatePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
9322
+ 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 });
9323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerMessages, decorators: [{
8626
9324
  type: Directive,
8627
9325
  args: [{
8628
9326
  // eslint-disable-next-line
@@ -8638,6 +9336,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
8638
9336
  type: Input
8639
9337
  }], parentViewButtonTitle: [{
8640
9338
  type: Input
9339
+ }], clearTitle: [{
9340
+ type: Input
8641
9341
  }] } });
8642
9342
 
8643
9343
  /**
@@ -8649,14 +9349,14 @@ class DatePickerLocalizedMessagesDirective extends DatePickerMessages {
8649
9349
  this.service = service;
8650
9350
  }
8651
9351
  }
8652
- 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 });
8653
- DatePickerLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]", providers: [
9352
+ 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 });
9353
+ DatePickerLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]", providers: [
8654
9354
  {
8655
9355
  provide: DatePickerMessages,
8656
9356
  useExisting: forwardRef(() => DatePickerLocalizedMessagesDirective)
8657
9357
  }
8658
9358
  ], usesInheritance: true, ngImport: i0 });
8659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerLocalizedMessagesDirective, decorators: [{
9359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerLocalizedMessagesDirective, decorators: [{
8660
9360
  type: Directive,
8661
9361
  args: [{
8662
9362
  providers: [
@@ -8693,6 +9393,12 @@ class DatePickerComponent {
8693
9393
  * @hidden
8694
9394
  */
8695
9395
  this.calendarIcon = calendarIcon;
9396
+ /**
9397
+ * If set to `true`, renders a clear button after the input text or DatePicker value has been changed.
9398
+ * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
9399
+ * @default false
9400
+ */
9401
+ this.clearButton = false;
8696
9402
  /**
8697
9403
  * Toggles the visibility of the Calendar footer.
8698
9404
  * @default false
@@ -9191,9 +9897,6 @@ class DatePickerComponent {
9191
9897
  this.toggleCalendar(show);
9192
9898
  }
9193
9899
  }
9194
- get inputElement() {
9195
- return this.wrapper.nativeElement.querySelector('input');
9196
- }
9197
9900
  /**
9198
9901
  * @hidden
9199
9902
  */
@@ -9400,6 +10103,7 @@ class DatePickerComponent {
9400
10103
  */
9401
10104
  handleChange(value) {
9402
10105
  this.cdr.markForCheck();
10106
+ this.dateInput.showClearButton = true;
9403
10107
  this.value = value;
9404
10108
  if (this.show) {
9405
10109
  this.focusInput();
@@ -9698,8 +10402,8 @@ class DatePickerComponent {
9698
10402
  }
9699
10403
  }
9700
10404
  }
9701
- 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 });
9702
- 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: [
10405
+ 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 });
10406
+ 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: [
9703
10407
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DatePickerComponent), multi: true },
9704
10408
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => DatePickerComponent), multi: true },
9705
10409
  { provide: KendoInput, useExisting: forwardRef(() => DatePickerComponent) },
@@ -9726,6 +10430,9 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9726
10430
 
9727
10431
  i18n-parentViewButtonTitle="kendo.datepicker.parentViewButtonTitle|The title of the parent view button in the calendar header"
9728
10432
  parentViewButtonTitle="Navigate to parent view"
10433
+
10434
+ i18n-clearTitle="kendo.datepicker.clearTitle|The title of the clear button"
10435
+ clearTitle="clear"
9729
10436
  >
9730
10437
  </ng-container>
9731
10438
  <kendo-dateinput
@@ -9734,6 +10441,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9734
10441
  pickerType="datepicker"
9735
10442
  hasPopup="grid"
9736
10443
  [isPopupOpen]="show"
10444
+ [clearButton]="clearButton"
9737
10445
  [disabled]="disabled"
9738
10446
  [readonly]="readonly || readOnlyInput"
9739
10447
  [ariaReadOnly]="readonly"
@@ -9761,7 +10469,12 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9761
10469
  [value]="value"
9762
10470
  (valueChange)="handleInputChange($event)"
9763
10471
  (click)="handleDateInputClick()"
9764
- ></kendo-dateinput>
10472
+ >
10473
+ <kendo-dateinput-messages
10474
+ [clearTitle]="localization.get('clearTitle')"
10475
+ >
10476
+ </kendo-dateinput-messages>
10477
+ </kendo-dateinput>
9765
10478
  <button
9766
10479
  #toggleButton
9767
10480
  type="button"
@@ -9833,8 +10546,8 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9833
10546
  <ng-template #calendarTemplate>
9834
10547
  <kendo-calendar
9835
10548
  #calendar
9836
- [size]="isAdaptive ? 'large' : 'medium'"
9837
10549
  [type]="calendarType"
10550
+ [size]="isAdaptive ? 'large' : size"
9838
10551
  [min]="min"
9839
10552
  [max]="max"
9840
10553
  [weekDaysFormat]="weekDaysFormat"
@@ -9874,8 +10587,8 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
9874
10587
  </kendo-calendar-messages>
9875
10588
  </kendo-calendar>
9876
10589
  </ng-template>
9877
- `, 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 });
9878
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerComponent, decorators: [{
10590
+ `, 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 });
10591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerComponent, decorators: [{
9879
10592
  type: Component,
9880
10593
  args: [{
9881
10594
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -9909,6 +10622,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
9909
10622
 
9910
10623
  i18n-parentViewButtonTitle="kendo.datepicker.parentViewButtonTitle|The title of the parent view button in the calendar header"
9911
10624
  parentViewButtonTitle="Navigate to parent view"
10625
+
10626
+ i18n-clearTitle="kendo.datepicker.clearTitle|The title of the clear button"
10627
+ clearTitle="clear"
9912
10628
  >
9913
10629
  </ng-container>
9914
10630
  <kendo-dateinput
@@ -9917,6 +10633,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
9917
10633
  pickerType="datepicker"
9918
10634
  hasPopup="grid"
9919
10635
  [isPopupOpen]="show"
10636
+ [clearButton]="clearButton"
9920
10637
  [disabled]="disabled"
9921
10638
  [readonly]="readonly || readOnlyInput"
9922
10639
  [ariaReadOnly]="readonly"
@@ -9944,7 +10661,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
9944
10661
  [value]="value"
9945
10662
  (valueChange)="handleInputChange($event)"
9946
10663
  (click)="handleDateInputClick()"
9947
- ></kendo-dateinput>
10664
+ >
10665
+ <kendo-dateinput-messages
10666
+ [clearTitle]="localization.get('clearTitle')"
10667
+ >
10668
+ </kendo-dateinput-messages>
10669
+ </kendo-dateinput>
9948
10670
  <button
9949
10671
  #toggleButton
9950
10672
  type="button"
@@ -10016,8 +10738,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
10016
10738
  <ng-template #calendarTemplate>
10017
10739
  <kendo-calendar
10018
10740
  #calendar
10019
- [size]="isAdaptive ? 'large' : 'medium'"
10020
10741
  [type]="calendarType"
10742
+ [size]="isAdaptive ? 'large' : size"
10021
10743
  [min]="min"
10022
10744
  [max]="max"
10023
10745
  [weekDaysFormat]="weekDaysFormat"
@@ -10060,7 +10782,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
10060
10782
  `
10061
10783
  }]
10062
10784
  }], ctorParameters: function () {
10063
- 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: [{
10785
+ 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: [{
10064
10786
  type: Optional
10065
10787
  }, {
10066
10788
  type: Inject,
@@ -10086,6 +10808,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
10086
10808
  }], cellTemplateRef: [{
10087
10809
  type: Input,
10088
10810
  args: ['cellTemplate']
10811
+ }], clearButton: [{
10812
+ type: Input
10089
10813
  }], inputAttributes: [{
10090
10814
  type: Input
10091
10815
  }], monthCellTemplate: [{
@@ -10283,9 +11007,9 @@ const timeRangeValidator = (min, max) => {
10283
11007
  */
10284
11008
  class TimePickerMessages extends ComponentMessages {
10285
11009
  }
10286
- TimePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
10287
- 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 });
10288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerMessages, decorators: [{
11010
+ TimePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
11011
+ 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 });
11012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerMessages, decorators: [{
10289
11013
  type: Directive,
10290
11014
  args: [{
10291
11015
  // eslint-disable-next-line
@@ -10315,6 +11039,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
10315
11039
  type: Input
10316
11040
  }], dayperiod: [{
10317
11041
  type: Input
11042
+ }], clearTitle: [{
11043
+ type: Input
10318
11044
  }] } });
10319
11045
 
10320
11046
  /**
@@ -10326,14 +11052,14 @@ class TimePickerLocalizedMessagesDirective extends TimePickerMessages {
10326
11052
  this.service = service;
10327
11053
  }
10328
11054
  }
10329
- 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 });
10330
- TimePickerLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]", providers: [
11055
+ 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 });
11056
+ TimePickerLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]", providers: [
10331
11057
  {
10332
11058
  provide: TimePickerMessages,
10333
11059
  useExisting: forwardRef(() => TimePickerLocalizedMessagesDirective)
10334
11060
  }
10335
11061
  ], usesInheritance: true, ngImport: i0 });
10336
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerLocalizedMessagesDirective, decorators: [{
11062
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerLocalizedMessagesDirective, decorators: [{
10337
11063
  type: Directive,
10338
11064
  args: [{
10339
11065
  providers: [
@@ -10360,14 +11086,14 @@ class TimeSelectorCustomMessagesComponent extends TimePickerMessages {
10360
11086
  return true;
10361
11087
  }
10362
11088
  }
10363
- 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 });
10364
- TimeSelectorCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages", providers: [
11089
+ 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 });
11090
+ TimeSelectorCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages", providers: [
10365
11091
  {
10366
11092
  provide: TimePickerMessages,
10367
11093
  useExisting: forwardRef(() => TimeSelectorCustomMessagesComponent)
10368
11094
  }
10369
11095
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
10370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeSelectorCustomMessagesComponent, decorators: [{
11096
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeSelectorCustomMessagesComponent, decorators: [{
10371
11097
  type: Component,
10372
11098
  args: [{
10373
11099
  providers: [
@@ -10487,9 +11213,9 @@ class HoursService {
10487
11213
  return [min.getHours(), max.getHours()];
10488
11214
  }
10489
11215
  }
10490
- HoursService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HoursService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10491
- HoursService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HoursService });
10492
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HoursService, decorators: [{
11216
+ HoursService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HoursService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11217
+ HoursService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HoursService });
11218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HoursService, decorators: [{
10493
11219
  type: Injectable
10494
11220
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
10495
11221
 
@@ -10597,9 +11323,9 @@ class MinutesService {
10597
11323
  return [min.getMinutes(), max.getMinutes()];
10598
11324
  }
10599
11325
  }
10600
- MinutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MinutesService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10601
- MinutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MinutesService });
10602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MinutesService, decorators: [{
11326
+ MinutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MinutesService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11327
+ MinutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MinutesService });
11328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MinutesService, decorators: [{
10603
11329
  type: Injectable
10604
11330
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
10605
11331
 
@@ -10707,9 +11433,9 @@ class SecondsService {
10707
11433
  return [min.getSeconds(), max.getSeconds()];
10708
11434
  }
10709
11435
  }
10710
- SecondsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SecondsService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10711
- SecondsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SecondsService });
10712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SecondsService, decorators: [{
11436
+ SecondsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SecondsService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11437
+ SecondsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SecondsService });
11438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SecondsService, decorators: [{
10713
11439
  type: Injectable
10714
11440
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
10715
11441
 
@@ -10820,9 +11546,9 @@ class MillisecondsService {
10820
11546
  return [min.getMilliseconds(), max.getMilliseconds()];
10821
11547
  }
10822
11548
  }
10823
- MillisecondsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MillisecondsService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10824
- MillisecondsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MillisecondsService });
10825
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MillisecondsService, decorators: [{
11549
+ MillisecondsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MillisecondsService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11550
+ MillisecondsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MillisecondsService });
11551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MillisecondsService, decorators: [{
10826
11552
  type: Injectable
10827
11553
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
10828
11554
 
@@ -10936,9 +11662,9 @@ class DayPeriodService {
10936
11662
  ];
10937
11663
  }
10938
11664
  }
10939
- DayPeriodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DayPeriodService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
10940
- DayPeriodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DayPeriodService });
10941
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DayPeriodService, decorators: [{
11665
+ DayPeriodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DayPeriodService, deps: [{ token: i1.IntlService }], target: i0.ɵɵFactoryTarget.Injectable });
11666
+ DayPeriodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DayPeriodService });
11667
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DayPeriodService, decorators: [{
10942
11668
  type: Injectable
10943
11669
  }], ctorParameters: function () { return [{ type: i1.IntlService }]; } });
10944
11670
 
@@ -11011,9 +11737,9 @@ class TimePickerDOMService {
11011
11737
  return (element.nativeElement || element) === document.activeElement;
11012
11738
  }
11013
11739
  }
11014
- TimePickerDOMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerDOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11015
- TimePickerDOMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerDOMService });
11016
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerDOMService, decorators: [{
11740
+ TimePickerDOMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerDOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11741
+ TimePickerDOMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerDOMService });
11742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerDOMService, decorators: [{
11017
11743
  type: Injectable
11018
11744
  }] });
11019
11745
 
@@ -11253,8 +11979,8 @@ class TimeListComponent {
11253
11979
  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)));
11254
11980
  }
11255
11981
  }
11256
- 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 });
11257
- 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: `
11982
+ 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 });
11983
+ 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: `
11258
11984
  <kendo-virtualization
11259
11985
  [skip]="skip"
11260
11986
  [take]="total"
@@ -11282,8 +12008,8 @@ TimeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
11282
12008
  </li>
11283
12009
  </ul>
11284
12010
  </kendo-virtualization>
11285
- `, 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"] }] });
11286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeListComponent, decorators: [{
12011
+ `, 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"] }] });
12012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeListComponent, decorators: [{
11287
12013
  type: Component,
11288
12014
  args: [{
11289
12015
  selector: 'kendo-timelist',
@@ -11426,14 +12152,14 @@ class TimeSelectorLocalizedMessagesDirective extends TimePickerMessages {
11426
12152
  this.service = service;
11427
12153
  }
11428
12154
  }
11429
- 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 });
11430
- TimeSelectorLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: TimeSelectorLocalizedMessagesDirective, selector: "[kendoTimeSelectorLocalizedMessages]", providers: [
12155
+ 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 });
12156
+ TimeSelectorLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TimeSelectorLocalizedMessagesDirective, selector: "[kendoTimeSelectorLocalizedMessages]", providers: [
11431
12157
  {
11432
12158
  provide: TimePickerMessages,
11433
12159
  useExisting: forwardRef(() => TimeSelectorLocalizedMessagesDirective)
11434
12160
  }
11435
12161
  ], usesInheritance: true, ngImport: i0 });
11436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeSelectorLocalizedMessagesDirective, decorators: [{
12162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeSelectorLocalizedMessagesDirective, decorators: [{
11437
12163
  type: Directive,
11438
12164
  args: [{
11439
12165
  providers: [
@@ -11518,6 +12244,7 @@ class TimeSelectorComponent {
11518
12244
  */
11519
12245
  this.valueReject = new EventEmitter();
11520
12246
  this.tabOutLastPart = new EventEmitter();
12247
+ this.tabOutNow = new EventEmitter();
11521
12248
  this.isActive = false;
11522
12249
  this.showNowButton = true;
11523
12250
  this._activeListIndex = -1;
@@ -11609,12 +12336,11 @@ class TimeSelectorComponent {
11609
12336
  }
11610
12337
  ngAfterViewInit() {
11611
12338
  this.subscriptions.add(fromEvent(this.timeListWrappers.first.nativeElement, 'keydown').subscribe((event) => {
11612
- var _a;
11613
12339
  const { keyCode, shiftKey } = event;
11614
12340
  if (keyCode === Keys$1.Tab && shiftKey) {
11615
12341
  event.preventDefault();
11616
12342
  this.renderer.removeClass(this.timeListWrappers.first.nativeElement, 'k-focus');
11617
- this.cancel ? this.cancel.nativeElement.focus() : (_a = this.accept) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
12343
+ this.now ? this.now.nativeElement.focus() : this.cancel.nativeElement.focus();
11618
12344
  }
11619
12345
  }));
11620
12346
  this.subscriptions.add(fromEvent(this.timeListWrappers.last.nativeElement, 'keydown').subscribe((event) => {
@@ -11732,14 +12458,25 @@ class TimeSelectorComponent {
11732
12458
  * @hidden
11733
12459
  */
11734
12460
  handleTabOut(event) {
12461
+ var _a, _b, _c;
11735
12462
  const { keyCode, shiftKey } = event;
11736
- if (keyCode === Keys$1.Tab && !shiftKey) {
12463
+ if (event.target === ((_a = this.now) === null || _a === void 0 ? void 0 : _a.nativeElement) && keyCode === Keys$1.Tab && shiftKey) {
12464
+ event.preventDefault();
12465
+ if (this.isDateTimePicker) {
12466
+ this.tabOutNow.emit();
12467
+ }
12468
+ else {
12469
+ this.cancel ? this.cancel.nativeElement.focus() : this.accept.nativeElement.focus();
12470
+ }
12471
+ return;
12472
+ }
12473
+ if (keyCode === Keys$1.Tab && !shiftKey && event.target !== ((_b = this.now) === null || _b === void 0 ? void 0 : _b.nativeElement)) {
11737
12474
  event.preventDefault();
11738
12475
  if (document.activeElement === this.accept.nativeElement) {
11739
- this.cancel ? this.cancel.nativeElement.focus() : this.timeLists.first.focus();
12476
+ this.cancel ? this.cancel.nativeElement.focus() : (_c = this.now) === null || _c === void 0 ? void 0 : _c.nativeElement.focus();
11740
12477
  }
11741
12478
  else {
11742
- this.timeLists.first.focus();
12479
+ this.now ? this.now.nativeElement.focus() : this.timeLists.first.focus();
11743
12480
  }
11744
12481
  }
11745
12482
  }
@@ -11829,8 +12566,8 @@ class TimeSelectorComponent {
11829
12566
  return listIdx;
11830
12567
  }
11831
12568
  }
11832
- 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 });
11833
- 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: [
12569
+ 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 });
12570
+ 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: [
11834
12571
  LocalizationService,
11835
12572
  {
11836
12573
  provide: L10N_PREFIX,
@@ -11871,7 +12608,8 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
11871
12608
  [kendoEventsOutsideAngular]="{
11872
12609
  click: handleNow,
11873
12610
  focus: handleFocus,
11874
- blur: handleBlur
12611
+ blur: handleBlur,
12612
+ keydown: handleTabOut
11875
12613
  }"
11876
12614
  [scope]="this"
11877
12615
  [disabled]="disabled"
@@ -11943,8 +12681,8 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
11943
12681
  [disabled]="disabled"
11944
12682
  >{{localization.get('cancel')}}</button>
11945
12683
  </div>
11946
- `, 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 });
11947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimeSelectorComponent, decorators: [{
12684
+ `, 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 });
12685
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimeSelectorComponent, decorators: [{
11948
12686
  type: Component,
11949
12687
  args: [{
11950
12688
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -11992,7 +12730,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
11992
12730
  [kendoEventsOutsideAngular]="{
11993
12731
  click: handleNow,
11994
12732
  focus: handleFocus,
11995
- blur: handleBlur
12733
+ blur: handleBlur,
12734
+ keydown: handleTabOut
11996
12735
  }"
11997
12736
  [scope]="this"
11998
12737
  [disabled]="disabled"
@@ -12116,6 +12855,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
12116
12855
  type: Output
12117
12856
  }], tabOutLastPart: [{
12118
12857
  type: Output
12858
+ }], tabOutNow: [{
12859
+ type: Output
12119
12860
  }] } });
12120
12861
 
12121
12862
  const VALUE_DOC_LINK$1 = 'https://www.telerik.com/kendo-angular-ui/components/dateinputs/timepicker/#toc-integration-with-json';
@@ -12164,6 +12905,12 @@ class TimePickerComponent {
12164
12905
  * the input will be rendered in a read-only state regardless of the `readOnlyInput` value.
12165
12906
  */
12166
12907
  this.readOnlyInput = false;
12908
+ /**
12909
+ * If set to `true`, renders a clear button after the input text or TimePicker value has been changed.
12910
+ * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
12911
+ * @default false
12912
+ */
12913
+ this.clearButton = false;
12167
12914
  /**
12168
12915
  * Specifies the time format that is used to display the input value
12169
12916
  * ([see example]({% slug formats_timepicker %})).
@@ -12738,6 +13485,7 @@ class TimePickerComponent {
12738
13485
  this.focusInput();
12739
13486
  this.show = false;
12740
13487
  }
13488
+ this.dateInput.showClearButton = true;
12741
13489
  this.onControlChange(cloneDate(value));
12742
13490
  this.valueChange.emit(cloneDate(value));
12743
13491
  });
@@ -13042,8 +13790,8 @@ class TimePickerComponent {
13042
13790
  }
13043
13791
  }
13044
13792
  }
13045
- 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 });
13046
- 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: [
13793
+ 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 });
13794
+ 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: [
13047
13795
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TimePickerComponent), multi: true },
13048
13796
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => TimePickerComponent), multi: true },
13049
13797
  { provide: KendoInput, useExisting: forwardRef(() => TimePickerComponent) },
@@ -13091,6 +13839,9 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
13091
13839
 
13092
13840
  i18n-dayperiod="kendo.timepicker.dayperiod|The label for the dayperiod part in the timepicker component"
13093
13841
  dayperiod="Dayperiod"
13842
+
13843
+ i18n-clearTitle="kendo.timepicker.clearTitle|The title of the clear button"
13844
+ clearTitle="clear"
13094
13845
  >
13095
13846
  </ng-container>
13096
13847
  <kendo-dateinput
@@ -13099,6 +13850,7 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
13099
13850
  hasPopup="dialog"
13100
13851
  [isPopupOpen]="show"
13101
13852
  [disabled]="disabled"
13853
+ [clearButton]="clearButton"
13102
13854
  [readonly]="readonly || readOnlyInput"
13103
13855
  [role]="'combobox'"
13104
13856
  [ariaReadOnly]="readonly"
@@ -13125,7 +13877,12 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
13125
13877
  [value]="value"
13126
13878
  (valueChange)="handleInputChange($event)"
13127
13879
  (click)="handleDateInputClick()"
13128
- ></kendo-dateinput>
13880
+ >
13881
+ <kendo-dateinput-messages
13882
+ [clearTitle]="localization.get('clearTitle')"
13883
+ >
13884
+ </kendo-dateinput-messages>
13885
+ </kendo-dateinput>
13129
13886
  <button
13130
13887
  #toggleButton
13131
13888
  type="button"
@@ -13250,8 +14007,8 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
13250
14007
  </kendo-timeselector-messages>
13251
14008
  </kendo-timeselector>
13252
14009
  </ng-template>
13253
- `, 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 });
13254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerComponent, decorators: [{
14010
+ `, 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 });
14011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerComponent, decorators: [{
13255
14012
  type: Component,
13256
14013
  args: [{
13257
14014
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -13306,6 +14063,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13306
14063
 
13307
14064
  i18n-dayperiod="kendo.timepicker.dayperiod|The label for the dayperiod part in the timepicker component"
13308
14065
  dayperiod="Dayperiod"
14066
+
14067
+ i18n-clearTitle="kendo.timepicker.clearTitle|The title of the clear button"
14068
+ clearTitle="clear"
13309
14069
  >
13310
14070
  </ng-container>
13311
14071
  <kendo-dateinput
@@ -13314,6 +14074,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13314
14074
  hasPopup="dialog"
13315
14075
  [isPopupOpen]="show"
13316
14076
  [disabled]="disabled"
14077
+ [clearButton]="clearButton"
13317
14078
  [readonly]="readonly || readOnlyInput"
13318
14079
  [role]="'combobox'"
13319
14080
  [ariaReadOnly]="readonly"
@@ -13340,7 +14101,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13340
14101
  [value]="value"
13341
14102
  (valueChange)="handleInputChange($event)"
13342
14103
  (click)="handleDateInputClick()"
13343
- ></kendo-dateinput>
14104
+ >
14105
+ <kendo-dateinput-messages
14106
+ [clearTitle]="localization.get('clearTitle')"
14107
+ >
14108
+ </kendo-dateinput-messages>
14109
+ </kendo-dateinput>
13344
14110
  <button
13345
14111
  #toggleButton
13346
14112
  type="button"
@@ -13468,7 +14234,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13468
14234
  `
13469
14235
  }]
13470
14236
  }], ctorParameters: function () {
13471
- 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: [{
14237
+ 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: [{
13472
14238
  type: Optional
13473
14239
  }, {
13474
14240
  type: Inject,
@@ -13497,6 +14263,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13497
14263
  args: ['class.k-readonly']
13498
14264
  }], readOnlyInput: [{
13499
14265
  type: Input
14266
+ }], clearButton: [{
14267
+ type: Input
13500
14268
  }], format: [{
13501
14269
  type: Input
13502
14270
  }], formatPlaceholder: [{
@@ -13577,9 +14345,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13577
14345
  */
13578
14346
  class DateTimePickerMessages extends ComponentMessages {
13579
14347
  }
13580
- DateTimePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
13581
- 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 });
13582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerMessages, decorators: [{
14348
+ DateTimePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14349
+ 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 });
14350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerMessages, decorators: [{
13583
14351
  type: Directive,
13584
14352
  args: [{
13585
14353
  // eslint-disable-next-line
@@ -13625,6 +14393,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
13625
14393
  type: Input
13626
14394
  }], dayperiod: [{
13627
14395
  type: Input
14396
+ }], clearTitle: [{
14397
+ type: Input
13628
14398
  }] } });
13629
14399
 
13630
14400
  /**
@@ -13636,14 +14406,14 @@ class LocalizedMessagesDirective extends DateTimePickerMessages {
13636
14406
  this.service = service;
13637
14407
  }
13638
14408
  }
13639
- 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 });
13640
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]", providers: [
14409
+ 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 });
14410
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]", providers: [
13641
14411
  {
13642
14412
  provide: DateTimePickerMessages,
13643
14413
  useExisting: forwardRef(() => LocalizedMessagesDirective)
13644
14414
  }
13645
14415
  ], usesInheritance: true, ngImport: i0 });
13646
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
14416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
13647
14417
  type: Directive,
13648
14418
  args: [{
13649
14419
  providers: [
@@ -13666,6 +14436,7 @@ const TWO_DIGIT_YEAR_MAX = 68;
13666
14436
  const ACCEPT_BUTTON_SELECTOR = '.k-button.k-time-accept';
13667
14437
  const CANCEL_BUTTON_SELECOTR = '.k-button.k-time-cancel';
13668
14438
  const DATE_TAB_BUTTON_SELECTOR = '.k-button.k-date-tab';
14439
+ const TIME_TAB_BUTTON_SELECTOR = '.k-button.k-time-tab';
13669
14440
  /**
13670
14441
  * Represents the [Kendo UI DateTimePicker component for Angular]({% slug overview_datetimepicker %}).
13671
14442
  */
@@ -13819,6 +14590,12 @@ class DateTimePickerComponent {
13819
14590
  * @default false
13820
14591
  */
13821
14592
  this.allowCaretMode = false;
14593
+ /**
14594
+ * If set to `true`, renders a clear button after the input text or DateTimePicker value has been changed.
14595
+ * Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
14596
+ * @default false
14597
+ */
14598
+ this.clearButton = false;
13822
14599
  /**
13823
14600
  * When enabled, the DateTimePicker will autofill the rest of the date to the current date when the component loses focus.
13824
14601
  *
@@ -14267,6 +15044,10 @@ class DateTimePickerComponent {
14267
15044
  var _a;
14268
15045
  return (_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.popup.instance.container.nativeElement.querySelector(DATE_TAB_BUTTON_SELECTOR);
14269
15046
  }
15047
+ get timeTabButton() {
15048
+ var _a;
15049
+ return (_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.popup.instance.container.nativeElement.querySelector(TIME_TAB_BUTTON_SELECTOR);
15050
+ }
14270
15051
  /**
14271
15052
  * @hidden
14272
15053
  */
@@ -14516,6 +15297,12 @@ class DateTimePickerComponent {
14516
15297
  this.dateTabButton.focus();
14517
15298
  }
14518
15299
  }
15300
+ /**
15301
+ * @hidden
15302
+ */
15303
+ onTabOutNow() {
15304
+ this.timeTabButton.focus();
15305
+ }
14519
15306
  /**
14520
15307
  * @hidden
14521
15308
  */
@@ -14639,7 +15426,7 @@ class DateTimePickerComponent {
14639
15426
  this.calendar.monthView.list.nativeElement.focus();
14640
15427
  }
14641
15428
  else {
14642
- this.timeSelector.focus();
15429
+ this.timeSelector.timeLists.last.focus();
14643
15430
  }
14644
15431
  }
14645
15432
  break;
@@ -14869,6 +15656,7 @@ class DateTimePickerComponent {
14869
15656
  if (isEqual(this.value, value)) {
14870
15657
  return;
14871
15658
  }
15659
+ this.dateInput.showClearButton = true;
14872
15660
  this.value = cloneDate(value);
14873
15661
  this.onControlChange(cloneDate(value));
14874
15662
  this.valueChange.emit(cloneDate(value));
@@ -14937,8 +15725,8 @@ class DateTimePickerComponent {
14937
15725
  }
14938
15726
  }
14939
15727
  }
14940
- 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 });
14941
- 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: [
15728
+ 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 });
15729
+ 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: [
14942
15730
  PickerService,
14943
15731
  LocalizationService,
14944
15732
  DisabledDatesService,
@@ -15009,12 +15797,16 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15009
15797
 
15010
15798
  i18n-dayperiod="kendo.datetimepicker.dayperiod|The label for the dayperiod part in the timepicker component"
15011
15799
  dayperiod="Dayperiod"
15800
+
15801
+ i18n-clearTitle="kendo.datetimepicker.clearTitle|The title of the clear button"
15802
+ clearTitle="clear"
15012
15803
  >
15013
15804
  </ng-container>
15014
15805
 
15015
15806
  <kendo-dateinput
15016
15807
  [value]="value"
15017
15808
  [format]="format"
15809
+ [clearButton]="clearButton"
15018
15810
  [twoDigitYearMax]="twoDigitYearMax"
15019
15811
  [min]="min"
15020
15812
  [max]="max"
@@ -15050,6 +15842,10 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15050
15842
  [size]="size"
15051
15843
  (click)="handleDateInputClick()"
15052
15844
  >
15845
+ <kendo-dateinput-messages
15846
+ [clearTitle]="localization.get('clearTitle')"
15847
+ >
15848
+ </kendo-dateinput-messages>
15053
15849
  </kendo-dateinput>
15054
15850
  <button
15055
15851
  #toggleButton
@@ -15210,8 +16006,8 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15210
16006
  <div class="k-datetime-calendar-wrap">
15211
16007
  <kendo-calendar
15212
16008
  #calendar
15213
- [ngClass]="{'k-calendar-lg': isAdaptive}"
15214
16009
  [focusedDate]="focusedDate"
16010
+ [size]="isAdaptive ? 'large' : size"
15215
16011
  [(value)]="calendarValue"
15216
16012
  [type]="calendarType"
15217
16013
  [min]="calendarMin"
@@ -15258,6 +16054,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15258
16054
  [isAdaptiveEnabled]="isAdaptiveModeEnabled"
15259
16055
  [isDateTimePicker]="true"
15260
16056
  (tabOutLastPart)="onTabOutLastPart()"
16057
+ (tabOutNow)="onTabOutNow()"
15261
16058
  >
15262
16059
  <kendo-timeselector-messages
15263
16060
  [acceptLabel]="localization.get('acceptLabel')"
@@ -15318,8 +16115,8 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
15318
16115
  </div>
15319
16116
  </div>
15320
16117
  </ng-template>
15321
- `, 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 });
15322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerComponent, decorators: [{
16118
+ `, 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 });
16119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerComponent, decorators: [{
15323
16120
  type: Component,
15324
16121
  args: [{
15325
16122
  selector: 'kendo-datetimepicker',
@@ -15397,12 +16194,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15397
16194
 
15398
16195
  i18n-dayperiod="kendo.datetimepicker.dayperiod|The label for the dayperiod part in the timepicker component"
15399
16196
  dayperiod="Dayperiod"
16197
+
16198
+ i18n-clearTitle="kendo.datetimepicker.clearTitle|The title of the clear button"
16199
+ clearTitle="clear"
15400
16200
  >
15401
16201
  </ng-container>
15402
16202
 
15403
16203
  <kendo-dateinput
15404
16204
  [value]="value"
15405
16205
  [format]="format"
16206
+ [clearButton]="clearButton"
15406
16207
  [twoDigitYearMax]="twoDigitYearMax"
15407
16208
  [min]="min"
15408
16209
  [max]="max"
@@ -15438,6 +16239,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15438
16239
  [size]="size"
15439
16240
  (click)="handleDateInputClick()"
15440
16241
  >
16242
+ <kendo-dateinput-messages
16243
+ [clearTitle]="localization.get('clearTitle')"
16244
+ >
16245
+ </kendo-dateinput-messages>
15441
16246
  </kendo-dateinput>
15442
16247
  <button
15443
16248
  #toggleButton
@@ -15598,8 +16403,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15598
16403
  <div class="k-datetime-calendar-wrap">
15599
16404
  <kendo-calendar
15600
16405
  #calendar
15601
- [ngClass]="{'k-calendar-lg': isAdaptive}"
15602
16406
  [focusedDate]="focusedDate"
16407
+ [size]="isAdaptive ? 'large' : size"
15603
16408
  [(value)]="calendarValue"
15604
16409
  [type]="calendarType"
15605
16410
  [min]="calendarMin"
@@ -15646,6 +16451,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15646
16451
  [isAdaptiveEnabled]="isAdaptiveModeEnabled"
15647
16452
  [isDateTimePicker]="true"
15648
16453
  (tabOutLastPart)="onTabOutLastPart()"
16454
+ (tabOutNow)="onTabOutNow()"
15649
16455
  >
15650
16456
  <kendo-timeselector-messages
15651
16457
  [acceptLabel]="localization.get('acceptLabel')"
@@ -15709,7 +16515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15709
16515
  `
15710
16516
  }]
15711
16517
  }], ctorParameters: function () {
15712
- return [{ type: i1$2.PopupService }, { type: i1.IntlService }, { type: i0.ChangeDetectorRef }, { type: PickerService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: undefined, decorators: [{
16518
+ return [{ type: i1$3.PopupService }, { type: i1.IntlService }, { type: i0.ChangeDetectorRef }, { type: PickerService }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: undefined, decorators: [{
15713
16519
  type: Inject,
15714
16520
  args: [TOUCH_ENABLED]
15715
16521
  }] }, { type: i1$1.LocalizationService }, { type: DisabledDatesService }, { type: i0.Renderer2 }, { type: i0.Injector }];
@@ -15792,6 +16598,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
15792
16598
  type: Input
15793
16599
  }], allowCaretMode: [{
15794
16600
  type: Input
16601
+ }], clearButton: [{
16602
+ type: Input
15795
16603
  }], autoFill: [{
15796
16604
  type: Input
15797
16605
  }], adaptiveMode: [{
@@ -15873,9 +16681,9 @@ class DateRangePopupTemplateDirective {
15873
16681
  this.templateRef = templateRef;
15874
16682
  }
15875
16683
  }
15876
- DateRangePopupTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
15877
- DateRangePopupTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangePopupTemplateDirective, selector: "[kendoDateRangePopupTemplate]", ngImport: i0 });
15878
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupTemplateDirective, decorators: [{
16684
+ DateRangePopupTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
16685
+ DateRangePopupTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangePopupTemplateDirective, selector: "[kendoDateRangePopupTemplate]", ngImport: i0 });
16686
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupTemplateDirective, decorators: [{
15879
16687
  type: Directive,
15880
16688
  args: [{
15881
16689
  selector: '[kendoDateRangePopupTemplate]'
@@ -16089,9 +16897,9 @@ class DateRangeService {
16089
16897
  this.range$.next(range);
16090
16898
  }
16091
16899
  }
16092
- 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 });
16093
- DateRangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeService });
16094
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeService, decorators: [{
16900
+ 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 });
16901
+ DateRangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeService });
16902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeService, decorators: [{
16095
16903
  type: Injectable
16096
16904
  }], ctorParameters: function () {
16097
16905
  return [{ type: i0.Renderer2, decorators: [{
@@ -16277,9 +17085,9 @@ class DateRangeSelectionDirective {
16277
17085
  this.selectionRangeChange.emit(range);
16278
17086
  }
16279
17087
  }
16280
- 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 });
16281
- 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 });
16282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeSelectionDirective, decorators: [{
17088
+ 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 });
17089
+ 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 });
17090
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeSelectionDirective, decorators: [{
16283
17091
  type: Directive,
16284
17092
  args: [{
16285
17093
  selector: '[kendoDateRangeSelection]'
@@ -16307,9 +17115,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16307
17115
  */
16308
17116
  class DateRangePopupMessages extends ComponentMessages {
16309
17117
  }
16310
- DateRangePopupMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
16311
- 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 });
16312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupMessages, decorators: [{
17118
+ DateRangePopupMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
17119
+ 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 });
17120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupMessages, decorators: [{
16313
17121
  type: Directive,
16314
17122
  args: [{
16315
17123
  // eslint-disable-next-line
@@ -16334,14 +17142,14 @@ class DateRangePopupLocalizedMessagesDirective extends DateRangePopupMessages {
16334
17142
  this.service = service;
16335
17143
  }
16336
17144
  }
16337
- 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 });
16338
- DateRangePopupLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]", providers: [
17145
+ 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 });
17146
+ DateRangePopupLocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]", providers: [
16339
17147
  {
16340
17148
  provide: DateRangePopupMessages,
16341
17149
  useExisting: forwardRef(() => DateRangePopupLocalizedMessagesDirective)
16342
17150
  }
16343
17151
  ], usesInheritance: true, ngImport: i0 });
16344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupLocalizedMessagesDirective, decorators: [{
17152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupLocalizedMessagesDirective, decorators: [{
16345
17153
  type: Directive,
16346
17154
  args: [{
16347
17155
  providers: [
@@ -16382,6 +17190,13 @@ class DateRangePopupComponent {
16382
17190
  this.localization = localization;
16383
17191
  this.cdr = cdr;
16384
17192
  this.rtl = rtl;
17193
+ /**
17194
+ * Allows reverse selection when using `range` selection.
17195
+ * If `allowReverse` is set to `true`, the component skips the validation of whether the start date is after the end date.
17196
+ *
17197
+ * @default false
17198
+ */
17199
+ this.allowReverse = false;
16385
17200
  /**
16386
17201
  * Controls the popup animation.
16387
17202
  * By default, the opening and closing animations are enabled.
@@ -16520,6 +17335,7 @@ class DateRangePopupComponent {
16520
17335
  }
16521
17336
  }
16522
17337
  ngAfterViewInit() {
17338
+ var _a, _b;
16523
17339
  this.calendarSubscriptions.add(this.contentCalendar.changes.subscribe((changes) => {
16524
17340
  var _a;
16525
17341
  this.calendar = changes.first;
@@ -16532,6 +17348,14 @@ class DateRangePopupComponent {
16532
17348
  this.actionSheet.titleId = (_a = changes.first) === null || _a === void 0 ? void 0 : _a.headerId;
16533
17349
  this.cdr.detectChanges();
16534
17350
  }));
17351
+ this.calendarSubscriptions.add((_b = (_a = this.dateRangeService.startInput$) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.valueChange.subscribe((res) => {
17352
+ if (!res && this.dateRangeService.selectionRange.end) {
17353
+ this.calendar.shouldHoverWhenNoStart = true;
17354
+ }
17355
+ else {
17356
+ this.calendar.shouldHoverWhenNoStart = false;
17357
+ }
17358
+ }));
16535
17359
  if (isWindowAvailable()) {
16536
17360
  this.zone.runOutsideAngular(() => this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this)));
16537
17361
  }
@@ -16555,6 +17379,19 @@ class DateRangePopupComponent {
16555
17379
  this.windowBlurSubscription.unsubscribe();
16556
17380
  }
16557
17381
  }
17382
+ /**
17383
+ * @hidden
17384
+ *
17385
+ */
17386
+ onRangeSelectionChange(rangeSelection) {
17387
+ this.dateRangeService.setActiveRangeEnd(rangeSelection.activeRangeEnd);
17388
+ if (!this.isAdaptive) {
17389
+ this.dateRangeService.setRange(rangeSelection.selectionRange);
17390
+ }
17391
+ else {
17392
+ this._rangeSelection = rangeSelection.selectionRange;
17393
+ }
17394
+ }
16558
17395
  /**
16559
17396
  * Opens the popup component and focuses the calendar.
16560
17397
  */
@@ -16622,7 +17459,7 @@ class DateRangePopupComponent {
16622
17459
  * @hidden
16623
17460
  */
16624
17461
  handleAccept() {
16625
- this.dateRangeSelectionDirective.setRange(this.dateRangeService.selectionRange);
17462
+ this.dateRangeService.setRange(this._rangeSelection);
16626
17463
  this.show = false;
16627
17464
  }
16628
17465
  /**
@@ -16801,8 +17638,8 @@ class DateRangePopupComponent {
16801
17638
  }
16802
17639
  }
16803
17640
  }
16804
- 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 });
16805
- 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: [
17641
+ 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 });
17642
+ 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: [
16806
17643
  LocalizationService,
16807
17644
  {
16808
17645
  provide: L10N_PREFIX,
@@ -16825,7 +17662,16 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
16825
17662
  </ng-container>
16826
17663
  <ng-container #container></ng-container>
16827
17664
  <ng-template #defaultTemplate>
16828
- <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
17665
+ <kendo-multiviewcalendar
17666
+ [allowReverse]="allowReverse"
17667
+ selection="range"
17668
+ [size]="size"
17669
+ [value]="dateRangeService.selectionRange"
17670
+ (onClosePopup)="closePopup($event)"
17671
+ (onTabPress)="handleTab($event)"
17672
+ (onShiftTabPress)="handleShiftTab($event)"
17673
+ (rangeSelectionChange)="onRangeSelectionChange($event)"
17674
+ ></kendo-multiviewcalendar>
16829
17675
  </ng-template>
16830
17676
 
16831
17677
  <kendo-actionsheet
@@ -16866,8 +17712,12 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
16866
17712
  <kendo-multiviewcalendar
16867
17713
  class="k-calendar-lg"
16868
17714
  orientation="vertical"
16869
- kendoDateRangeSelection
16870
- [shouldSetRange]="false">
17715
+ [allowReverse]="allowReverse"
17716
+ [focusedDate]="dateRangeService.focusedDate"
17717
+ [value]="dateRangeService.selectionRange"
17718
+ selection="range"
17719
+ (rangeSelectionChange)="onRangeSelectionChange($event)"
17720
+ >
16871
17721
  </kendo-multiviewcalendar>
16872
17722
  </div>
16873
17723
  </div>
@@ -16895,8 +17745,8 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
16895
17745
  </div>
16896
17746
  </ng-template>
16897
17747
  </kendo-actionsheet>
16898
- `, 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]" }] });
16899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupComponent, decorators: [{
17748
+ `, 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]" }] });
17749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupComponent, decorators: [{
16900
17750
  type: Component,
16901
17751
  args: [{
16902
17752
  exportAs: 'kendo-daterange-popup',
@@ -16925,7 +17775,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16925
17775
  </ng-container>
16926
17776
  <ng-container #container></ng-container>
16927
17777
  <ng-template #defaultTemplate>
16928
- <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
17778
+ <kendo-multiviewcalendar
17779
+ [allowReverse]="allowReverse"
17780
+ selection="range"
17781
+ [size]="size"
17782
+ [value]="dateRangeService.selectionRange"
17783
+ (onClosePopup)="closePopup($event)"
17784
+ (onTabPress)="handleTab($event)"
17785
+ (onShiftTabPress)="handleShiftTab($event)"
17786
+ (rangeSelectionChange)="onRangeSelectionChange($event)"
17787
+ ></kendo-multiviewcalendar>
16929
17788
  </ng-template>
16930
17789
 
16931
17790
  <kendo-actionsheet
@@ -16966,8 +17825,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16966
17825
  <kendo-multiviewcalendar
16967
17826
  class="k-calendar-lg"
16968
17827
  orientation="vertical"
16969
- kendoDateRangeSelection
16970
- [shouldSetRange]="false">
17828
+ [allowReverse]="allowReverse"
17829
+ [focusedDate]="dateRangeService.focusedDate"
17830
+ [value]="dateRangeService.selectionRange"
17831
+ selection="range"
17832
+ (rangeSelectionChange)="onRangeSelectionChange($event)"
17833
+ >
16971
17834
  </kendo-multiviewcalendar>
16972
17835
  </div>
16973
17836
  </div>
@@ -16998,7 +17861,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
16998
17861
  `
16999
17862
  }]
17000
17863
  }], ctorParameters: function () {
17001
- return [{ type: i1$2.PopupService }, { type: DateRangeService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
17864
+ return [{ type: i1$3.PopupService }, { type: DateRangeService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
17002
17865
  type: Optional
17003
17866
  }, {
17004
17867
  type: Inject,
@@ -17025,6 +17888,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17025
17888
  }], contentCalendar: [{
17026
17889
  type: ContentChildren,
17027
17890
  args: [MultiViewCalendarComponent]
17891
+ }], allowReverse: [{
17892
+ type: Input
17028
17893
  }], animate: [{
17029
17894
  type: Input
17030
17895
  }], anchor: [{
@@ -17045,6 +17910,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17045
17910
  type: Input
17046
17911
  }], subtitle: [{
17047
17912
  type: Input
17913
+ }], size: [{
17914
+ type: Input
17048
17915
  }], open: [{
17049
17916
  type: Output
17050
17917
  }], close: [{
@@ -17115,22 +17982,24 @@ class DateRangeComponent {
17115
17982
  (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
17116
17983
  }
17117
17984
  }
17118
- DateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeComponent, deps: [{ token: DateRangeService }], target: i0.ɵɵFactoryTarget.Component });
17119
- 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: `
17985
+ DateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeComponent, deps: [{ token: DateRangeService }], target: i0.ɵɵFactoryTarget.Component });
17986
+ 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: `
17120
17987
  <ng-content></ng-content>
17121
- <kendo-daterange-popup *ngIf="showDefault"></kendo-daterange-popup>
17122
- `, 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"] }] });
17123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeComponent, decorators: [{
17988
+ <kendo-daterange-popup *ngIf="showDefault" [size]="size"></kendo-daterange-popup>
17989
+ `, 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"] }] });
17990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeComponent, decorators: [{
17124
17991
  type: Component,
17125
17992
  args: [{
17126
17993
  providers: [DateRangeService],
17127
17994
  selector: 'kendo-daterange',
17128
17995
  template: `
17129
17996
  <ng-content></ng-content>
17130
- <kendo-daterange-popup *ngIf="showDefault"></kendo-daterange-popup>
17997
+ <kendo-daterange-popup *ngIf="showDefault" [size]="size"></kendo-daterange-popup>
17131
17998
  `
17132
17999
  }]
17133
- }], ctorParameters: function () { return [{ type: DateRangeService }]; }, propDecorators: { keydown: [{
18000
+ }], ctorParameters: function () { return [{ type: DateRangeService }]; }, propDecorators: { size: [{
18001
+ type: Input
18002
+ }], keydown: [{
17134
18003
  type: HostListener,
17135
18004
  args: ['keydown', ['$event']]
17136
18005
  }], wrapperClass: [{
@@ -17250,9 +18119,9 @@ class DateRangeInput {
17250
18119
  }
17251
18120
  }
17252
18121
  }
17253
- DateRangeInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeInput, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
17254
- DateRangeInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DateRangeInput, ngImport: i0 });
17255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeInput, decorators: [{
18122
+ DateRangeInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeInput, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
18123
+ DateRangeInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeInput, ngImport: i0 });
18124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeInput, decorators: [{
17256
18125
  type: Directive,
17257
18126
  args: [{}]
17258
18127
  }], ctorParameters: function () { return [{ type: undefined }, { type: DateRangeService }, { type: DateInputComponent }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; } });
@@ -17323,9 +18192,9 @@ class DateRangeEndInputDirective extends DateRangeInput {
17323
18192
  this.dateInput.notify();
17324
18193
  }
17325
18194
  }
17326
- 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 });
17327
- 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 });
17328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeEndInputDirective, decorators: [{
18195
+ 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 });
18196
+ 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 });
18197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeEndInputDirective, decorators: [{
17329
18198
  type: Directive,
17330
18199
  args: [{
17331
18200
  selector: '[kendoDateRangeEndInput]'
@@ -17404,9 +18273,9 @@ class DateRangeStartInputDirective extends DateRangeInput {
17404
18273
  this.dateInput.notify();
17405
18274
  }
17406
18275
  }
17407
- 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 });
17408
- 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 });
17409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeStartInputDirective, decorators: [{
18276
+ 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 });
18277
+ 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 });
18278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeStartInputDirective, decorators: [{
17410
18279
  type: Directive,
17411
18280
  args: [{
17412
18281
  selector: '[kendoDateRangeStartInput]'
@@ -17429,16 +18298,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17429
18298
  */
17430
18299
  class CalendarCommonModule {
17431
18300
  }
17432
- CalendarCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17433
- CalendarCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: CalendarCommonModule, declarations: [KForOf,
18301
+ CalendarCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18302
+ CalendarCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CalendarCommonModule, declarations: [KForOf,
17434
18303
  HeaderComponent,
17435
18304
  FooterComponent,
17436
18305
  ViewComponent], imports: [CommonModule, EventsModule, ButtonModule], exports: [KForOf,
17437
18306
  HeaderComponent,
17438
18307
  FooterComponent,
17439
18308
  ViewComponent] });
17440
- CalendarCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarCommonModule, imports: [CommonModule, EventsModule, ButtonModule] });
17441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarCommonModule, decorators: [{
18309
+ CalendarCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarCommonModule, imports: [CommonModule, EventsModule, ButtonModule] });
18310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarCommonModule, decorators: [{
17442
18311
  type: NgModule,
17443
18312
  args: [{
17444
18313
  declarations: [
@@ -17474,8 +18343,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17474
18343
  */
17475
18344
  class TemplatesModule {
17476
18345
  }
17477
- TemplatesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplatesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17478
- TemplatesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: TemplatesModule, declarations: [CellTemplateDirective,
18346
+ TemplatesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplatesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18347
+ TemplatesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TemplatesModule, declarations: [CellTemplateDirective,
17479
18348
  MonthCellTemplateDirective,
17480
18349
  YearCellTemplateDirective,
17481
18350
  DecadeCellTemplateDirective,
@@ -17494,8 +18363,8 @@ TemplatesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
17494
18363
  NavigationItemTemplateDirective,
17495
18364
  HeaderTemplateDirective,
17496
18365
  FooterTemplateDirective] });
17497
- TemplatesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplatesModule });
17498
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplatesModule, decorators: [{
18366
+ TemplatesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplatesModule });
18367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplatesModule, decorators: [{
17499
18368
  type: NgModule,
17500
18369
  args: [{
17501
18370
  declarations: [
@@ -17562,8 +18431,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17562
18431
  */
17563
18432
  class MultiViewCalendarModule {
17564
18433
  }
17565
- MultiViewCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17566
- MultiViewCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarModule, declarations: [HorizontalViewListComponent,
18434
+ MultiViewCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18435
+ MultiViewCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarModule, declarations: [HorizontalViewListComponent,
17567
18436
  MultiViewCalendarLocalizedMessagesDirective,
17568
18437
  MultiViewCalendarCustomMessagesComponent,
17569
18438
  MultiViewCalendarComponent], imports: [CommonModule,
@@ -17577,7 +18446,7 @@ MultiViewCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
17577
18446
  MultiViewCalendarComponent,
17578
18447
  CalendarCommonModule,
17579
18448
  TemplatesModule] });
17580
- MultiViewCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarModule, providers: [
18449
+ MultiViewCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarModule, providers: [
17581
18450
  NavigationService,
17582
18451
  CenturyViewService,
17583
18452
  DecadeViewService,
@@ -17591,7 +18460,7 @@ MultiViewCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
17591
18460
  PopupModule,
17592
18461
  EventsModule, CalendarCommonModule,
17593
18462
  TemplatesModule] });
17594
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MultiViewCalendarModule, decorators: [{
18463
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiViewCalendarModule, decorators: [{
17595
18464
  type: NgModule,
17596
18465
  args: [{
17597
18466
  declarations: [
@@ -17638,10 +18507,10 @@ const COMPONENT_DIRECTIVES$3 = [
17638
18507
  */
17639
18508
  class VirtualizationModule {
17640
18509
  }
17641
- VirtualizationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17642
- VirtualizationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationModule, declarations: [VirtualizationComponent], imports: [CommonModule], exports: [VirtualizationComponent] });
17643
- VirtualizationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationModule, imports: [CommonModule] });
17644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VirtualizationModule, decorators: [{
18510
+ VirtualizationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18511
+ VirtualizationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationModule, declarations: [VirtualizationComponent], imports: [CommonModule], exports: [VirtualizationComponent] });
18512
+ VirtualizationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationModule, imports: [CommonModule] });
18513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: VirtualizationModule, decorators: [{
17645
18514
  type: NgModule,
17646
18515
  args: [{
17647
18516
  declarations: [COMPONENT_DIRECTIVES$3],
@@ -17692,8 +18561,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17692
18561
  */
17693
18562
  class CalendarModule {
17694
18563
  }
17695
- CalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17696
- CalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: CalendarModule, declarations: [CalendarComponent,
18564
+ CalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18565
+ CalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CalendarModule, declarations: [CalendarComponent,
17697
18566
  NavigationComponent,
17698
18567
  CalendarCustomMessagesComponent,
17699
18568
  CalendarLocalizedMessagesDirective,
@@ -17711,7 +18580,7 @@ CalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
17711
18580
  ViewListComponent,
17712
18581
  CalendarCommonModule,
17713
18582
  TemplatesModule] });
17714
- CalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarModule, providers: [
18583
+ CalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarModule, providers: [
17715
18584
  CalendarDOMService,
17716
18585
  CenturyViewService,
17717
18586
  DecadeViewService,
@@ -17727,7 +18596,7 @@ CalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
17727
18596
  EventsModule,
17728
18597
  ResizeSensorModule, CalendarCommonModule,
17729
18598
  TemplatesModule] });
17730
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarModule, decorators: [{
18599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarModule, decorators: [{
17731
18600
  type: NgModule,
17732
18601
  args: [{
17733
18602
  declarations: [
@@ -17803,14 +18672,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17803
18672
  */
17804
18673
  class CalendarsModule {
17805
18674
  }
17806
- CalendarsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17807
- CalendarsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: CalendarsModule, imports: [CalendarModule,
18675
+ CalendarsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18676
+ CalendarsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CalendarsModule, imports: [CalendarModule,
17808
18677
  MultiViewCalendarModule], exports: [CalendarModule,
17809
18678
  MultiViewCalendarModule] });
17810
- CalendarsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarsModule, imports: [CalendarModule,
18679
+ CalendarsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarsModule, imports: [CalendarModule,
17811
18680
  MultiViewCalendarModule, CalendarModule,
17812
18681
  MultiViewCalendarModule] });
17813
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalendarsModule, decorators: [{
18682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarsModule, decorators: [{
17814
18683
  type: NgModule,
17815
18684
  args: [{
17816
18685
  exports: [
@@ -17824,53 +18693,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17824
18693
  }]
17825
18694
  }] });
17826
18695
 
17827
- /**
17828
- * Custom component messages override default component messages ([see example]({% slug globalization_dateinputs %}#toc-custom-messages)).
17829
- */
17830
- class DateInputCustomMessagesComponent extends DateInputMessages {
17831
- constructor(service) {
17832
- super();
17833
- this.service = service;
17834
- }
17835
- get override() {
17836
- return true;
17837
- }
17838
- }
17839
- 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 });
17840
- DateInputCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages", providers: [
17841
- {
17842
- provide: DateInputMessages,
17843
- useExisting: forwardRef(() => DateInputCustomMessagesComponent)
17844
- }
17845
- ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
17846
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputCustomMessagesComponent, decorators: [{
17847
- type: Component,
17848
- args: [{
17849
- providers: [
17850
- {
17851
- provide: DateInputMessages,
17852
- useExisting: forwardRef(() => DateInputCustomMessagesComponent)
17853
- }
17854
- ],
17855
- selector: 'kendo-dateinput-messages',
17856
- template: ``
17857
- }]
17858
- }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
17859
-
17860
18696
  /**
17861
18697
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
17862
18698
  * definition for the DateInput component.
17863
18699
  */
17864
18700
  class DateInputModule {
17865
18701
  }
17866
- DateInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17867
- DateInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DateInputModule, declarations: [DateInputComponent,
18702
+ DateInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18703
+ DateInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateInputModule, declarations: [DateInputComponent,
17868
18704
  DateInputCustomMessagesComponent,
17869
18705
  DateInputLocalizedMessagesDirective], imports: [CommonModule, IntlModule, EventsModule, IconsModule], exports: [DateInputComponent,
17870
18706
  DateInputCustomMessagesComponent,
17871
18707
  DateInputLocalizedMessagesDirective] });
17872
- DateInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputModule, imports: [CommonModule, IntlModule, EventsModule, IconsModule] });
17873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputModule, decorators: [{
18708
+ DateInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputModule, imports: [CommonModule, IntlModule, EventsModule, IconsModule] });
18709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputModule, decorators: [{
17874
18710
  type: NgModule,
17875
18711
  args: [{
17876
18712
  declarations: [
@@ -17899,14 +18735,14 @@ class DatePickerCustomMessagesComponent extends DatePickerMessages {
17899
18735
  return true;
17900
18736
  }
17901
18737
  }
17902
- 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 });
17903
- DatePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages", providers: [
18738
+ 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 });
18739
+ DatePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages", providers: [
17904
18740
  {
17905
18741
  provide: DatePickerMessages,
17906
18742
  useExisting: forwardRef(() => DatePickerCustomMessagesComponent)
17907
18743
  }
17908
18744
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
17909
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerCustomMessagesComponent, decorators: [{
18745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerCustomMessagesComponent, decorators: [{
17910
18746
  type: Component,
17911
18747
  args: [{
17912
18748
  providers: [
@@ -17932,19 +18768,19 @@ const ADAPTIVE_MODULES = [
17932
18768
  */
17933
18769
  class AdaptiveModule {
17934
18770
  }
17935
- AdaptiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AdaptiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17936
- AdaptiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AdaptiveModule, imports: [NavigationModule,
18771
+ AdaptiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18772
+ AdaptiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AdaptiveModule, imports: [NavigationModule,
17937
18773
  ResizeSensorModule,
17938
18774
  ButtonModule,
17939
18775
  TextBoxModule], exports: [NavigationModule,
17940
18776
  ResizeSensorModule,
17941
18777
  ButtonModule,
17942
18778
  TextBoxModule] });
17943
- AdaptiveModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AdaptiveModule, imports: [ADAPTIVE_MODULES, NavigationModule,
18779
+ AdaptiveModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptiveModule, imports: [ADAPTIVE_MODULES, NavigationModule,
17944
18780
  ResizeSensorModule,
17945
18781
  ButtonModule,
17946
18782
  TextBoxModule] });
17947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AdaptiveModule, decorators: [{
18783
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptiveModule, decorators: [{
17948
18784
  type: NgModule,
17949
18785
  args: [{
17950
18786
  imports: [...ADAPTIVE_MODULES],
@@ -17958,8 +18794,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
17958
18794
  */
17959
18795
  class DatePickerModule {
17960
18796
  }
17961
- DatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17962
- DatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DatePickerModule, declarations: [DatePickerComponent,
18797
+ DatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18798
+ DatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DatePickerModule, declarations: [DatePickerComponent,
17963
18799
  DatePickerCustomMessagesComponent,
17964
18800
  DatePickerLocalizedMessagesDirective], imports: [CommonModule,
17965
18801
  DateInputModule,
@@ -17974,7 +18810,7 @@ DatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
17974
18810
  DatePickerLocalizedMessagesDirective,
17975
18811
  TemplatesModule,
17976
18812
  ToggleButtonTabStopModule] });
17977
- DatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerModule, providers: [{ provide: TOUCH_ENABLED, useValue: touchEnabled }], imports: [CommonModule,
18813
+ DatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerModule, providers: [{ provide: TOUCH_ENABLED, useValue: touchEnabled }], imports: [CommonModule,
17978
18814
  DateInputModule,
17979
18815
  CalendarModule,
17980
18816
  IntlModule,
@@ -17984,7 +18820,7 @@ DatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
17984
18820
  IconsModule,
17985
18821
  AdaptiveModule, TemplatesModule,
17986
18822
  ToggleButtonTabStopModule] });
17987
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerModule, decorators: [{
18823
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatePickerModule, decorators: [{
17988
18824
  type: NgModule,
17989
18825
  args: [{
17990
18826
  declarations: [
@@ -18026,14 +18862,14 @@ class DateRangePopupCustomMessagesComponent extends DateRangePopupMessages {
18026
18862
  return true;
18027
18863
  }
18028
18864
  }
18029
- 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 });
18030
- DateRangePopupCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateRangePopupCustomMessagesComponent, selector: "kendo-daterange-popup-messages", providers: [
18865
+ 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 });
18866
+ DateRangePopupCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateRangePopupCustomMessagesComponent, selector: "kendo-daterange-popup-messages", providers: [
18031
18867
  {
18032
18868
  provide: DateRangePopupMessages,
18033
18869
  useExisting: forwardRef(() => DateRangePopupCustomMessagesComponent)
18034
18870
  }
18035
18871
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
18036
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangePopupCustomMessagesComponent, decorators: [{
18872
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangePopupCustomMessagesComponent, decorators: [{
18037
18873
  type: Component,
18038
18874
  args: [{
18039
18875
  providers: [
@@ -18104,8 +18940,8 @@ const COMPONENT_MODULES$2 = [
18104
18940
  */
18105
18941
  class DateRangeModule {
18106
18942
  }
18107
- DateRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18108
- DateRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DateRangeModule, declarations: [DateRangeComponent,
18943
+ DateRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18944
+ DateRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateRangeModule, declarations: [DateRangeComponent,
18109
18945
  DateRangePopupComponent,
18110
18946
  DateRangePopupTemplateDirective,
18111
18947
  DateRangeSelectionDirective,
@@ -18124,8 +18960,8 @@ DateRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
18124
18960
  DateRangeEndInputDirective,
18125
18961
  DateRangePopupCustomMessagesComponent,
18126
18962
  DateRangePopupLocalizedMessagesDirective] });
18127
- DateRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeModule, imports: [CommonModule, COMPONENT_MODULES$2] });
18128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateRangeModule, decorators: [{
18963
+ DateRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeModule, imports: [CommonModule, COMPONENT_MODULES$2] });
18964
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeModule, decorators: [{
18129
18965
  type: NgModule,
18130
18966
  args: [{
18131
18967
  declarations: [COMPONENT_DIRECTIVES$2],
@@ -18146,14 +18982,14 @@ class TimePickerCustomMessagesComponent extends TimePickerMessages {
18146
18982
  return true;
18147
18983
  }
18148
18984
  }
18149
- 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 });
18150
- TimePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TimePickerCustomMessagesComponent, selector: "kendo-timepicker-messages", providers: [
18985
+ 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 });
18986
+ TimePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TimePickerCustomMessagesComponent, selector: "kendo-timepicker-messages", providers: [
18151
18987
  {
18152
18988
  provide: TimePickerMessages,
18153
18989
  useExisting: forwardRef(() => TimePickerCustomMessagesComponent)
18154
18990
  }
18155
18991
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
18156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerCustomMessagesComponent, decorators: [{
18992
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerCustomMessagesComponent, decorators: [{
18157
18993
  type: Component,
18158
18994
  args: [{
18159
18995
  providers: [
@@ -18204,8 +19040,8 @@ const providers = [
18204
19040
  */
18205
19041
  class TimePickerModule {
18206
19042
  }
18207
- TimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18208
- TimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: TimePickerModule, declarations: [TimePickerLocalizedMessagesDirective,
19043
+ TimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19044
+ TimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TimePickerModule, declarations: [TimePickerLocalizedMessagesDirective,
18209
19045
  TimeListComponent,
18210
19046
  TimePickerCustomMessagesComponent,
18211
19047
  TimePickerComponent,
@@ -18225,8 +19061,8 @@ TimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
18225
19061
  TimeSelectorLocalizedMessagesDirective,
18226
19062
  TimeSelectorCustomMessagesComponent,
18227
19063
  TimeSelectorComponent] });
18228
- TimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerModule, providers: providers, imports: [CommonModule, COMPONENT_MODULES$1] });
18229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TimePickerModule, decorators: [{
19064
+ TimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerModule, providers: providers, imports: [CommonModule, COMPONENT_MODULES$1] });
19065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TimePickerModule, decorators: [{
18230
19066
  type: NgModule,
18231
19067
  args: [{
18232
19068
  declarations: [COMPONENT_DIRECTIVES$1],
@@ -18248,14 +19084,14 @@ class DateTimePickerCustomMessagesComponent extends DateTimePickerMessages {
18248
19084
  return true;
18249
19085
  }
18250
19086
  }
18251
- 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 });
18252
- DateTimePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages", providers: [
19087
+ 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 });
19088
+ DateTimePickerCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages", providers: [
18253
19089
  {
18254
19090
  provide: DateTimePickerMessages,
18255
19091
  useExisting: forwardRef(() => DateTimePickerCustomMessagesComponent)
18256
19092
  }
18257
19093
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
18258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerCustomMessagesComponent, decorators: [{
19094
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerCustomMessagesComponent, decorators: [{
18259
19095
  type: Component,
18260
19096
  args: [{
18261
19097
  providers: [
@@ -18280,8 +19116,8 @@ const COMPONENT_DIRECTIVES = [
18280
19116
  */
18281
19117
  class DateTimePickerModule {
18282
19118
  }
18283
- DateTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18284
- DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent,
19119
+ DateTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19120
+ DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent,
18285
19121
  DateTimePickerCustomMessagesComponent,
18286
19122
  LocalizedMessagesDirective], imports: [CommonModule,
18287
19123
  IntlModule,
@@ -18296,7 +19132,7 @@ DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
18296
19132
  DateTimePickerCustomMessagesComponent,
18297
19133
  LocalizedMessagesDirective, TemplatesModule,
18298
19134
  ToggleButtonTabStopModule] });
18299
- DateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerModule, providers: [
19135
+ DateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerModule, providers: [
18300
19136
  { provide: TOUCH_ENABLED, useValue: touchEnabled }
18301
19137
  ], imports: [CommonModule,
18302
19138
  IntlModule,
@@ -18309,7 +19145,7 @@ DateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
18309
19145
  IconsModule,
18310
19146
  AdaptiveModule, TemplatesModule,
18311
19147
  ToggleButtonTabStopModule] });
18312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateTimePickerModule, decorators: [{
19148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateTimePickerModule, decorators: [{
18313
19149
  type: NgModule,
18314
19150
  args: [{
18315
19151
  declarations: [
@@ -18379,8 +19215,8 @@ const COMPONENT_MODULES = [
18379
19215
  */
18380
19216
  class DateInputsModule {
18381
19217
  }
18382
- DateInputsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18383
- DateInputsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DateInputsModule, imports: [CalendarsModule,
19218
+ DateInputsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19219
+ DateInputsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DateInputsModule, imports: [CalendarsModule,
18384
19220
  DateInputModule,
18385
19221
  DatePickerModule,
18386
19222
  TimePickerModule,
@@ -18391,13 +19227,13 @@ DateInputsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
18391
19227
  TimePickerModule,
18392
19228
  DateRangeModule,
18393
19229
  DateTimePickerModule] });
18394
- DateInputsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputsModule, imports: [COMPONENT_MODULES, CalendarsModule,
19230
+ DateInputsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputsModule, imports: [COMPONENT_MODULES, CalendarsModule,
18395
19231
  DateInputModule,
18396
19232
  DatePickerModule,
18397
19233
  TimePickerModule,
18398
19234
  DateRangeModule,
18399
19235
  DateTimePickerModule] });
18400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateInputsModule, decorators: [{
19236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateInputsModule, decorators: [{
18401
19237
  type: NgModule,
18402
19238
  args: [{
18403
19239
  exports: COMPONENT_MODULES,