@progress/kendo-angular-dateinputs 5.3.1-dev.202112011809 → 6.0.0-dev.202201181611

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 (78) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +119 -79
  3. package/README.md +1 -1
  4. package/dist/cdn/js/kendo-angular-dateinputs.js +2 -2
  5. package/dist/cdn/main.js +1 -1
  6. package/dist/es/calendar/calendar.component.js +14 -2
  7. package/dist/es/calendar/header.component.js +1 -1
  8. package/dist/es/calendar/multiview-calendar.component.js +28 -12
  9. package/dist/es/calendar/multiview-calendar.module.js +9 -1
  10. package/dist/es/calendar/services/dom.service.js +1 -1
  11. package/dist/es/calendar/view.component.js +1 -1
  12. package/dist/es/common/models/fillmode.js +4 -0
  13. package/dist/es/common/models/rounded.js +4 -0
  14. package/dist/es/common/models/size.js +4 -0
  15. package/dist/es/dateinput/dateinput.component.js +143 -18
  16. package/dist/es/datepicker/datepicker.component.js +130 -13
  17. package/dist/es/daterange/date-range-input.js +1 -1
  18. package/dist/es/datetimepicker/datetimepicker.component.js +147 -11
  19. package/dist/es/package-metadata.js +1 -1
  20. package/dist/es/timepicker/services/dom.service.js +12 -8
  21. package/dist/es/timepicker/timelist.component.js +3 -2
  22. package/dist/es/timepicker/timepicker.component.js +130 -13
  23. package/dist/es/timepicker/timeselector.component.js +2 -2
  24. package/dist/es/util.js +37 -0
  25. package/dist/es2015/calendar/calendar.component.d.ts +7 -0
  26. package/dist/es2015/calendar/calendar.component.js +14 -2
  27. package/dist/es2015/calendar/header.component.js +4 -4
  28. package/dist/es2015/calendar/multiview-calendar.component.d.ts +8 -2
  29. package/dist/es2015/calendar/multiview-calendar.component.js +31 -11
  30. package/dist/es2015/calendar/multiview-calendar.module.js +9 -1
  31. package/dist/es2015/calendar/services/dom.service.js +1 -1
  32. package/dist/es2015/calendar/view.component.js +1 -1
  33. package/dist/es2015/common/models/fillmode.d.ts +14 -0
  34. package/dist/es2015/common/models/fillmode.js +4 -0
  35. package/dist/es2015/common/models/rounded.d.ts +15 -0
  36. package/dist/es2015/common/models/rounded.js +4 -0
  37. package/dist/es2015/common/models/size.d.ts +14 -0
  38. package/dist/es2015/common/models/size.js +4 -0
  39. package/dist/es2015/dateinput/dateinput.component.d.ts +49 -8
  40. package/dist/es2015/dateinput/dateinput.component.js +183 -68
  41. package/dist/es2015/datepicker/datepicker.component.d.ts +47 -5
  42. package/dist/es2015/datepicker/datepicker.component.js +155 -49
  43. package/dist/es2015/daterange/date-range-input.js +1 -1
  44. package/dist/es2015/datetimepicker/datetimepicker.component.d.ts +56 -6
  45. package/dist/es2015/datetimepicker/datetimepicker.component.js +186 -63
  46. package/dist/es2015/index.metadata.json +1 -1
  47. package/dist/es2015/package-metadata.js +1 -1
  48. package/dist/es2015/timepicker/services/dom.service.d.ts +1 -0
  49. package/dist/es2015/timepicker/services/dom.service.js +12 -8
  50. package/dist/es2015/timepicker/timelist.component.js +3 -2
  51. package/dist/es2015/timepicker/timepicker.component.d.ts +50 -5
  52. package/dist/es2015/timepicker/timepicker.component.js +174 -69
  53. package/dist/es2015/timepicker/timeselector.component.js +7 -5
  54. package/dist/es2015/util.d.ts +18 -0
  55. package/dist/es2015/util.js +37 -0
  56. package/dist/fesm2015/index.js +821 -290
  57. package/dist/fesm5/index.js +663 -92
  58. package/dist/npm/calendar/calendar.component.js +14 -2
  59. package/dist/npm/calendar/header.component.js +1 -1
  60. package/dist/npm/calendar/multiview-calendar.component.js +27 -11
  61. package/dist/npm/calendar/multiview-calendar.module.js +9 -1
  62. package/dist/npm/calendar/services/dom.service.js +1 -1
  63. package/dist/npm/calendar/view.component.js +1 -1
  64. package/dist/npm/common/models/fillmode.js +6 -0
  65. package/dist/npm/common/models/rounded.js +6 -0
  66. package/dist/npm/common/models/size.js +6 -0
  67. package/dist/npm/dateinput/dateinput.component.js +142 -17
  68. package/dist/npm/datepicker/datepicker.component.js +129 -12
  69. package/dist/npm/daterange/date-range-input.js +1 -1
  70. package/dist/npm/datetimepicker/datetimepicker.component.js +146 -10
  71. package/dist/npm/package-metadata.js +1 -1
  72. package/dist/npm/timepicker/services/dom.service.js +15 -10
  73. package/dist/npm/timepicker/timelist.component.js +3 -2
  74. package/dist/npm/timepicker/timepicker.component.js +129 -12
  75. package/dist/npm/timepicker/timeselector.component.js +2 -2
  76. package/dist/npm/util.js +37 -0
  77. package/dist/systemjs/kendo-angular-dateinputs.js +1 -1
  78. package/package.json +2 -2
@@ -691,6 +691,14 @@ var CalendarComponent = /** @class */ (function () {
691
691
  return null;
692
692
  }
693
693
  };
694
+ /**
695
+ * @hidden
696
+ */
697
+ CalendarComponent.prototype.handleNavigate = function (event) {
698
+ this.focusedDate = event.focusedDate;
699
+ this.activeView = event.activeView;
700
+ this.emitNavigate(this.focusedDate);
701
+ };
694
702
  /**
695
703
  * @hidden
696
704
  */
@@ -832,6 +840,10 @@ var CalendarComponent = /** @class */ (function () {
832
840
  }
833
841
  };
834
842
  CalendarComponent.prototype.handleKeydown = function (args) {
843
+ var headerActive = this.type === 'classic' && this.multiViewCalendar.isHeaderActive;
844
+ if (headerActive) {
845
+ return;
846
+ }
835
847
  // reserve the alt + arrow key commands for the picker
836
848
  var arrowKeyPressed = [Keys.ArrowUp, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowLeft].indexOf(args.keyCode) !== -1;
837
849
  if (isPresent(this.pickerService) && arrowKeyPressed && args.altKey) {
@@ -1080,7 +1092,7 @@ var CalendarComponent = /** @class */ (function () {
1080
1092
  ], CalendarComponent.prototype, "calendarTabIndex", null);
1081
1093
  tslib_1.__decorate([
1082
1094
  HostBinding('attr.aria-disabled'),
1083
- HostBinding('class.k-state-disabled'),
1095
+ HostBinding('class.k-disabled'),
1084
1096
  tslib_1.__metadata("design:type", Boolean),
1085
1097
  tslib_1.__metadata("design:paramtypes", [])
1086
1098
  ], CalendarComponent.prototype, "ariaDisabled", null);
@@ -1104,7 +1116,7 @@ var CalendarComponent = /** @class */ (function () {
1104
1116
  SelectionService
1105
1117
  ],
1106
1118
  selector: 'kendo-calendar',
1107
- template: "\n <ng-container kendoCalendarLocalizedMessages\n i18n-today=\"kendo.calendar.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.calendar.prevButtonTitle|The title of the previous button in the Classic calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.calendar.nextButtonTitle|The title of the next button in the Classic calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <ng-container *ngIf=\"type === 'infinite'\">\n <kendo-calendar-navigation\n *ngIf=\"navigation\"\n [activeView]=\"activeViewEnum\"\n [focusedDate]=\"focusedDate\"\n [min]=\"min\"\n [max]=\"max\"\n [templateRef]=\"navigationItemTemplate?.templateRef\"\n (valueChange)=\"handleNavigation($event)\"\n (pageChange)=\"onPageChange()\"\n >\n </kendo-calendar-navigation>\n <kendo-calendar-viewlist\n [activeView]=\"activeViewEnum\"\n [isActive]=\"isActive\"\n [cellTemplateRef]=\"activeCellTemplate()?.templateRef\"\n [headerTitleTemplateRef]=\"headerTitleTemplate?.templateRef\"\n [weekNumberTemplateRef]=\"weekNumberTemplate?.templateRef\"\n [cellUID]=\"cellUID\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"focusedDate\"\n [weekNumber]=\"weekNumber\"\n [selectedDates]=\"selectedDates\"\n (todayButtonClick)=\"handleDateChange({\n selectedDates: [$event],\n focusedDate: $event\n })\"\n (cellClick)=\"handleCellClick($event)\"\n (weekNumberCellClick)=\"handleWeekNumberClick($event)\"\n (activeDateChange)=\"handleActiveDateChange($event)\"\n (pageChange)=\"onPageChange()\"\n >\n </kendo-calendar-viewlist>\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-container>\n <ng-container *ngIf=\"type === 'classic'\">\n <kendo-multiviewcalendar\n #multiviewcalendar\n [views]=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [isActive]=\"isActive\"\n [activeView]=\"activeView\"\n [bottomView]=\"bottomView\"\n [topView]=\"topView\"\n [weekNumber]=\"weekNumber\"\n [animateNavigation]=\"animateNavigation\"\n [cellTemplate]=\"activeCellTemplate()\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [decadeCellTemplate]=\"decadeCellTemplate\"\n [centuryCellTemplate]=\"centuryCellTemplate\"\n [headerTitleTemplate]=\"headerTitleTemplate\"\n [weekNumberTemplate]=\"weekNumberTemplate\"\n [focusedDate]=\"focusedDate\"\n [selection]=\"selection\"\n [value]=\"value\"\n [disabledDates]=\"disabledDates\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (navigate)=\"navigate.emit($event)\"\n (valueChange)=\"handleMultiViewCalendarValueChange($event, multiviewcalendar.focusedDate)\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur($event)\"\n >\n <kendo-multiviewcalendar-messages\n [today]=\"localization.get('today')\"\n [prevButtonTitle]=\"localization.get('prevButtonTitle')\"\n [nextButtonTitle]=\"localization.get('nextButtonTitle')\"\n >\n </kendo-multiviewcalendar-messages>\n </kendo-multiviewcalendar>\n </ng-container>\n "
1119
+ template: "\n <ng-container kendoCalendarLocalizedMessages\n i18n-today=\"kendo.calendar.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.calendar.prevButtonTitle|The title of the previous button in the Classic calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.calendar.nextButtonTitle|The title of the next button in the Classic calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <ng-container *ngIf=\"type === 'infinite'\">\n <kendo-calendar-navigation\n *ngIf=\"navigation\"\n [activeView]=\"activeViewEnum\"\n [focusedDate]=\"focusedDate\"\n [min]=\"min\"\n [max]=\"max\"\n [templateRef]=\"navigationItemTemplate?.templateRef\"\n (valueChange)=\"handleNavigation($event)\"\n (pageChange)=\"onPageChange()\"\n >\n </kendo-calendar-navigation>\n <kendo-calendar-viewlist\n [activeView]=\"activeViewEnum\"\n [isActive]=\"isActive\"\n [cellTemplateRef]=\"activeCellTemplate()?.templateRef\"\n [headerTitleTemplateRef]=\"headerTitleTemplate?.templateRef\"\n [weekNumberTemplateRef]=\"weekNumberTemplate?.templateRef\"\n [cellUID]=\"cellUID\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"focusedDate\"\n [weekNumber]=\"weekNumber\"\n [selectedDates]=\"selectedDates\"\n (todayButtonClick)=\"handleDateChange({\n selectedDates: [$event],\n focusedDate: $event\n })\"\n (cellClick)=\"handleCellClick($event)\"\n (weekNumberCellClick)=\"handleWeekNumberClick($event)\"\n (activeDateChange)=\"handleActiveDateChange($event)\"\n (pageChange)=\"onPageChange()\"\n >\n </kendo-calendar-viewlist>\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-container>\n <ng-container *ngIf=\"type === 'classic'\">\n <kendo-multiviewcalendar\n #multiviewcalendar\n [views]=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [isActive]=\"isActive\"\n [activeView]=\"activeView\"\n [bottomView]=\"bottomView\"\n [topView]=\"topView\"\n [weekNumber]=\"weekNumber\"\n [animateNavigation]=\"animateNavigation\"\n [cellTemplate]=\"activeCellTemplate()\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [decadeCellTemplate]=\"decadeCellTemplate\"\n [centuryCellTemplate]=\"centuryCellTemplate\"\n [headerTitleTemplate]=\"headerTitleTemplate\"\n [weekNumberTemplate]=\"weekNumberTemplate\"\n [focusedDate]=\"focusedDate\"\n [selection]=\"selection\"\n [value]=\"value\"\n [disabledDates]=\"disabledDates\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (navigate)=\"handleNavigate($event)\"\n (valueChange)=\"handleMultiViewCalendarValueChange($event, multiviewcalendar.focusedDate)\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur($event)\"\n >\n <kendo-multiviewcalendar-messages\n [today]=\"localization.get('today')\"\n [prevButtonTitle]=\"localization.get('prevButtonTitle')\"\n [nextButtonTitle]=\"localization.get('nextButtonTitle')\"\n >\n </kendo-multiviewcalendar-messages>\n </kendo-multiviewcalendar>\n </ng-container>\n "
1108
1120
  }),
1109
1121
  tslib_1.__param(12, Optional()),
1110
1122
  tslib_1.__metadata("design:paramtypes", [BusViewService,
@@ -157,7 +157,7 @@ var HeaderComponent = /** @class */ (function () {
157
157
  HeaderComponent = tslib_1.__decorate([
158
158
  Component({
159
159
  selector: 'kendo-calendar-header',
160
- template: "\n <span class=\"k-button k-flat k-title k-calendar-title\" [class.k-state-disabled]=\"!navigate\"\n [kendoEventsOutsideAngular]=\"{\n click: handleNavigation\n }\"\n [scope]=\"this\">\n <ng-template [ngIf]=\"!templateRef\">{{title}}</ng-template>\n <ng-template\n [ngIf]=\"templateRef\"\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: title, activeView: activeViewValue, date: currentDate }\"\n ></ng-template>\n </span>\n <span class=\"k-spacer\"></span>\n <span class=\"k-calendar-nav k-hstack\">\n <button\n *ngIf=\"showNavigationButtons\"\n class=\"k-button k-flat k-icon-button k-prev-view\"\n type=\"button\"\n [attr.aria-disabled]=\"isPrevDisabled\"\n [disabled]=\"isPrevDisabled\"\n [title]=\"prevButtonTitle\"\n (click)=\"prevButtonClick.emit()\"\n >\n <span class=\"k-icon k-i-arrow-60-left\"></span>\n </button>\n <span\n class=\"k-today k-nav-today\"\n [class.k-state-disabled]=\"!todayAvailable\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTodayClick\n }\"\n [scope]=\"this\"\n >\n {{ todayMessage }}\n </span>\n <button\n *ngIf=\"showNavigationButtons\"\n class=\"k-button k-flat k-icon-button k-next-view\"\n type=\"button\"\n [attr.aria-disabled]=\"isNextDisabled\"\n [disabled]=\"isNextDisabled\"\n [title]=\"nextButtonTitle\"\n (click)=\"nextButtonClick.emit()\"\n >\n <span class=\"k-icon k-i-arrow-60-right\"></span>\n </button>\n </span>\n "
160
+ template: "\n <span class=\"k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title\" [class.k-disabled]=\"!navigate\"\n [kendoEventsOutsideAngular]=\"{\n click: handleNavigation\n }\"\n [scope]=\"this\">\n <ng-template [ngIf]=\"!templateRef\">{{title}}</ng-template>\n <ng-template\n [ngIf]=\"templateRef\"\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: title, activeView: activeViewValue, date: currentDate }\"\n ></ng-template>\n </span>\n <span class=\"k-spacer\"></span>\n <span class=\"k-calendar-nav k-hstack\">\n <button\n *ngIf=\"showNavigationButtons\"\n class=\"k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button k-prev-view\"\n type=\"button\"\n [attr.aria-disabled]=\"isPrevDisabled\"\n [disabled]=\"isPrevDisabled\"\n [title]=\"prevButtonTitle\"\n (click)=\"prevButtonClick.emit()\"\n >\n <span class=\"k-icon k-i-arrow-60-left\"></span>\n </button>\n <span\n class=\"k-today k-nav-today\"\n [class.k-disabled]=\"!todayAvailable\"\n [kendoEventsOutsideAngular]=\"{\n click: handleTodayClick\n }\"\n [scope]=\"this\"\n >\n {{ todayMessage }}\n </span>\n <button\n *ngIf=\"showNavigationButtons\"\n class=\"k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button k-next-view\"\n type=\"button\"\n [attr.aria-disabled]=\"isNextDisabled\"\n [disabled]=\"isNextDisabled\"\n [title]=\"nextButtonTitle\"\n (click)=\"nextButtonClick.emit()\"\n >\n <span class=\"k-icon k-i-arrow-60-right\"></span>\n </button>\n </span>\n "
161
161
  }),
162
162
  tslib_1.__metadata("design:paramtypes", [BusViewService,
163
163
  ChangeDetectorRef,
@@ -3,8 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as tslib_1 from "tslib";
6
- /* tslint:disable:no-forward-ref */
7
- import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ContentChild, EventEmitter, ElementRef, Renderer2, isDevMode, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, NgZone } from '@angular/core';
6
+ import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ContentChild, EventEmitter, ElementRef, Renderer2, isDevMode, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, NgZone, Optional } from '@angular/core';
8
7
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
9
8
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
10
9
  import { cloneDate, isEqual } from '@progress/kendo-date-math';
@@ -31,6 +30,7 @@ import { MIN_DATE, MAX_DATE } from '../defaults';
31
30
  import { areDatesEqual, dateInRange, getToday, hasExistingValue, last, noop } from '../util';
32
31
  import { Subscription } from 'rxjs';
33
32
  import { isPresent } from '../common/utils';
33
+ import { PickerService } from '../common/picker.service';
34
34
  var BOTTOM_VIEW_DOC_LINK = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-bottomview';
35
35
  var TOP_VIEW_DOC_LINK = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-topview';
36
36
  var MIN_DOC_LINK = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-min';
@@ -67,7 +67,7 @@ export var RANGE_CALENDAR_RANGE_VALIDATORS = {
67
67
  * ```
68
68
  */
69
69
  var MultiViewCalendarComponent = /** @class */ (function () {
70
- function MultiViewCalendarComponent(bus, element, navigator, renderer, cdr, zone, disabledDatesService, selectionService) {
70
+ function MultiViewCalendarComponent(bus, element, navigator, renderer, cdr, zone, disabledDatesService, selectionService, pickerService) {
71
71
  this.bus = bus;
72
72
  this.element = element;
73
73
  this.navigator = navigator;
@@ -76,6 +76,7 @@ var MultiViewCalendarComponent = /** @class */ (function () {
76
76
  this.zone = zone;
77
77
  this.disabledDatesService = disabledDatesService;
78
78
  this.selectionService = selectionService;
79
+ this.pickerService = pickerService;
79
80
  /**
80
81
  * @hidden
81
82
  */
@@ -446,21 +447,22 @@ var MultiViewCalendarComponent = /** @class */ (function () {
446
447
  /**
447
448
  * @hidden
448
449
  */
449
- MultiViewCalendarComponent.prototype.handleBlur = function (event) {
450
- var target = event.target;
451
- if (!this.element.nativeElement.contains(event.relatedTarget)) {
450
+ MultiViewCalendarComponent.prototype.handleFocusout = function (event) {
451
+ var relatedTarget = event.relatedTarget;
452
+ if (!this.element.nativeElement.contains(relatedTarget)) {
452
453
  this.blurEvent.emit(event);
453
454
  this.onControlTouched();
454
455
  }
455
456
  this.isActive = false;
456
457
  this.isHovered = false; //ensure that hovered is also not active
457
- this.isHeaderActive = this.headerElement.nativeElement.contains(target);
458
+ this.isHeaderActive = this.headerElement.nativeElement.contains(relatedTarget);
458
459
  };
459
460
  /**
460
461
  * @hidden
461
462
  */
462
463
  MultiViewCalendarComponent.prototype.handleFocus = function () {
463
464
  this.isActive = true;
465
+ this.isHeaderActive = false;
464
466
  };
465
467
  /**
466
468
  * @hidden
@@ -493,7 +495,13 @@ var MultiViewCalendarComponent = /** @class */ (function () {
493
495
  * @hidden
494
496
  */
495
497
  MultiViewCalendarComponent.prototype.keydown = function (event) {
498
+ if (this.isHeaderActive) {
499
+ return;
500
+ }
496
501
  if (event.keyCode === Keys.Enter) {
502
+ if (isPresent(this.pickerService)) {
503
+ event.preventDefault(); // Don't submit form from Datepicker popup
504
+ }
497
505
  this.performSelection(this.focusedDate, event);
498
506
  }
499
507
  var candidate = dateInRange(this.navigator.move(this.focusedDate, this.navigator.action(event), this.activeViewEnum), this.min, this.max);
@@ -570,6 +578,12 @@ var MultiViewCalendarComponent = /** @class */ (function () {
570
578
  }
571
579
  this.element.nativeElement.blur();
572
580
  };
581
+ /**
582
+ * @hidden
583
+ */
584
+ MultiViewCalendarComponent.prototype.handleHeaderFocus = function () {
585
+ this.isHeaderActive = true;
586
+ };
573
587
  /**
574
588
  * @hidden
575
589
  */
@@ -979,7 +993,7 @@ var MultiViewCalendarComponent = /** @class */ (function () {
979
993
  ], MultiViewCalendarComponent.prototype, "calendarTabIndex", null);
980
994
  tslib_1.__decorate([
981
995
  HostBinding('attr.aria-disabled'),
982
- HostBinding('class.k-state-disabled'),
996
+ HostBinding('class.k-disabled'),
983
997
  tslib_1.__metadata("design:type", Boolean),
984
998
  tslib_1.__metadata("design:paramtypes", [])
985
999
  ], MultiViewCalendarComponent.prototype, "ariaDisabled", null);
@@ -991,9 +1005,9 @@ var MultiViewCalendarComponent = /** @class */ (function () {
991
1005
  tslib_1.__decorate([
992
1006
  HostListener('focusout', ['$event']),
993
1007
  tslib_1.__metadata("design:type", Function),
994
- tslib_1.__metadata("design:paramtypes", [FocusEvent]),
1008
+ tslib_1.__metadata("design:paramtypes", [Object]),
995
1009
  tslib_1.__metadata("design:returntype", void 0)
996
- ], MultiViewCalendarComponent.prototype, "handleBlur", null);
1010
+ ], MultiViewCalendarComponent.prototype, "handleFocusout", null);
997
1011
  tslib_1.__decorate([
998
1012
  HostListener("focus"),
999
1013
  tslib_1.__metadata("design:type", Function),
@@ -1048,8 +1062,9 @@ var MultiViewCalendarComponent = /** @class */ (function () {
1048
1062
  SelectionService
1049
1063
  ],
1050
1064
  selector: 'kendo-multiviewcalendar',
1051
- template: "\n <ng-container kendoMultiViewCalendarLocalizedMessages\n i18n-today=\"kendo.multiviewcalendar.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.multiviewcalendar.prevButtonTitle|The label for the previous button in the Multiview calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.multiviewcalendar.nextButtonTitle|The label for the next button in the Multiview calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <kendo-calendar-header\n [activeView]=\"activeViewEnum\"\n [currentDate]=\"activeDate\"\n [min]=\"min\"\n [max]=\"max\"\n [rangeLength]=\"views\"\n [templateRef]=\"headerTitleTemplate?.templateRef\"\n [isPrevDisabled]=\"isPrevDisabled\"\n [isNextDisabled]=\"isNextDisabled\"\n [showNavigationButtons]=\"true\"\n (todayButtonClick)=\"handleTodayButtonClick({ selectedDates: [$event], focusedDate: $event })\"\n (prevButtonClick)=\"navigateView(prevView)\"\n (nextButtonClick)=\"navigateView(nextView)\"\n >\n </kendo-calendar-header>\n <kendo-calendar-horizontal\n [activeView]=\"activeViewEnum\"\n [isActive]=\"isActive || (isHovered && !isHeaderActive)\"\n [cellTemplateRef]=\"activeCellTemplate()?.templateRef\"\n [weekNumberTemplateRef]=\"weekNumberTemplate?.templateRef\"\n [cellUID]=\"cellUID\"\n [views]=\"views\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"focusedDate\"\n [animateNavigation]=\"animateNavigation\"\n [showViewHeader]=\"showViewHeader\"\n [weekNumber]=\"weekNumber\"\n [activeRangeEnd]=\"activeRangeEnd\"\n [selectionRange]=\"selectionRange\"\n [selectedDates]=\"selectedDates\"\n (valueChange)=\"handleDateChange($event)\"\n (cellClick)=\"handleCellClick($event)\"\n (weekNumberCellClick)=\"handleWeekNumberClick($event)\"\n (cellEnter)=\"emitCellEvent(cellEnter, $event)\"\n (cellLeave)=\"emitCellEvent(cellLeave, $event)\"\n (activeDateChange)=\"setActiveDate($event)\"\n >\n </kendo-calendar-horizontal>\n "
1065
+ template: "\n <ng-container kendoMultiViewCalendarLocalizedMessages\n i18n-today=\"kendo.multiviewcalendar.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.multiviewcalendar.prevButtonTitle|The label for the previous button in the Multiview calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.multiviewcalendar.nextButtonTitle|The label for the next button in the Multiview calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <kendo-calendar-header\n [activeView]=\"activeViewEnum\"\n [currentDate]=\"activeDate\"\n [min]=\"min\"\n [max]=\"max\"\n [rangeLength]=\"views\"\n [templateRef]=\"headerTitleTemplate?.templateRef\"\n [isPrevDisabled]=\"isPrevDisabled\"\n [isNextDisabled]=\"isNextDisabled\"\n [showNavigationButtons]=\"true\"\n (todayButtonClick)=\"handleTodayButtonClick({ selectedDates: [$event], focusedDate: $event })\"\n (prevButtonClick)=\"navigateView(prevView)\"\n (nextButtonClick)=\"navigateView(nextView)\"\n [kendoEventsOutsideAngular]=\"{\n focusin: handleHeaderFocus\n }\"\n [scope]=\"this\"\n >\n </kendo-calendar-header>\n <kendo-calendar-horizontal\n [activeView]=\"activeViewEnum\"\n [isActive]=\"isActive || (isHovered && !isHeaderActive)\"\n [cellTemplateRef]=\"activeCellTemplate()?.templateRef\"\n [weekNumberTemplateRef]=\"weekNumberTemplate?.templateRef\"\n [cellUID]=\"cellUID\"\n [views]=\"views\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"focusedDate\"\n [animateNavigation]=\"animateNavigation\"\n [showViewHeader]=\"showViewHeader\"\n [weekNumber]=\"weekNumber\"\n [activeRangeEnd]=\"activeRangeEnd\"\n [selectionRange]=\"selectionRange\"\n [selectedDates]=\"selectedDates\"\n (valueChange)=\"handleDateChange($event)\"\n (cellClick)=\"handleCellClick($event)\"\n (weekNumberCellClick)=\"handleWeekNumberClick($event)\"\n (cellEnter)=\"emitCellEvent(cellEnter, $event)\"\n (cellLeave)=\"emitCellEvent(cellLeave, $event)\"\n (activeDateChange)=\"setActiveDate($event)\"\n >\n </kendo-calendar-horizontal>\n "
1052
1066
  }),
1067
+ tslib_1.__param(8, Optional()),
1053
1068
  tslib_1.__metadata("design:paramtypes", [BusViewService,
1054
1069
  ElementRef,
1055
1070
  NavigationService,
@@ -1057,7 +1072,8 @@ var MultiViewCalendarComponent = /** @class */ (function () {
1057
1072
  ChangeDetectorRef,
1058
1073
  NgZone,
1059
1074
  DisabledDatesService,
1060
- SelectionService])
1075
+ SelectionService,
1076
+ PickerService])
1061
1077
  ], MultiViewCalendarComponent);
1062
1078
  return MultiViewCalendarComponent;
1063
1079
  }());
@@ -7,6 +7,7 @@ import { NgModule } from '@angular/core';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { IntlModule } from '@progress/kendo-angular-intl';
9
9
  import { PopupModule } from '@progress/kendo-angular-popup';
10
+ import { EventsModule } from '@progress/kendo-angular-common';
10
11
  import { CalendarCommonModule } from './calendar-common.module';
11
12
  import { TemplatesModule } from './templates.module';
12
13
  import { HorizontalViewListComponent } from './horizontal-view-list.component';
@@ -73,7 +74,14 @@ var MultiViewCalendarModule = /** @class */ (function () {
73
74
  CalendarCommonModule,
74
75
  TemplatesModule
75
76
  ],
76
- imports: [CommonModule, CalendarCommonModule, IntlModule, TemplatesModule, PopupModule],
77
+ imports: [
78
+ CommonModule,
79
+ CalendarCommonModule,
80
+ IntlModule,
81
+ TemplatesModule,
82
+ PopupModule,
83
+ EventsModule
84
+ ],
77
85
  providers: [
78
86
  NavigationService,
79
87
  CenturyViewService,
@@ -17,7 +17,7 @@ var tr = containerFactory('tr');
17
17
  var tbody = containerFactory('tbody');
18
18
  var thead = containerFactory('thead');
19
19
  var table = containerFactory('table');
20
- var monthHeader = function () { return (div("\n <span class=\"k-button k-flat k-title k-calendar-title\">March 2017</span>\n <span class=\"k-spacer\"></span>\n <span class=\"k-calendar-nav k-hstack\">\n <span class=\"k-today k-nav-today\">TODAY</span>\n </span>\n ", 'k-calendar-header k-hstack')); };
20
+ var monthHeader = function () { return (div("\n <span class=\"k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title\">March 2017</span>\n <span class=\"k-spacer\"></span>\n <span class=\"k-calendar-nav k-hstack\">\n <span class=\"k-today k-nav-today\">TODAY</span>\n </span>\n ", 'k-calendar-header k-hstack')); };
21
21
  var ɵ0 = monthHeader;
22
22
  var monthWeekHeader = function () { return (table([
23
23
  thead([
@@ -122,7 +122,7 @@ var ViewComponent = /** @class */ (function () {
122
122
  'k-state-selected': !context.isOtherMonth && (context.isSelected || isRangeStart || isRangeEnd),
123
123
  'k-today': !context.isOtherMonth && context.isToday,
124
124
  'k-weekend': context.isWeekend,
125
- 'k-state-disabled': context.isDisabled,
125
+ 'k-disabled': context.isDisabled,
126
126
  'k-other-month': context.isOtherMonth
127
127
  });
128
128
  };
@@ -0,0 +1,4 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
@@ -0,0 +1,4 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
@@ -0,0 +1,4 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
@@ -16,7 +16,7 @@ import { packageMetadata } from '../package-metadata';
16
16
  import { addMonths, cloneDate, createDate, getDate, isEqual, lastDayOfMonth } from '@progress/kendo-date-math';
17
17
  import { isDocumentAvailable, hasObservers, KendoInput, Keys, guid } from '@progress/kendo-angular-common';
18
18
  import { Arrow } from './arrow.enum';
19
- import { approximateStringMatching, noop, isInRange, dateInRange, isValidRange, setTime, cropTwoDigitYear, setYears, msPaddingFromFormat, millisecondDigitsInFormat, millisecondStepFor } from '../util';
19
+ import { approximateStringMatching, noop, isInRange, dateInRange, isValidRange, setTime, cropTwoDigitYear, setYears, msPaddingFromFormat, millisecondDigitsInFormat, millisecondStepFor, getSizeClass, getRoundedClass, getFillModeClass } from '../util';
20
20
  import { PickerService } from '../common/picker.service';
21
21
  import { closest } from '../common/dom-queries';
22
22
  import { requiresZoneOnBlur, isPresent } from '../common/utils';
@@ -453,11 +453,11 @@ var KendoDate = /** @class */ (function () {
453
453
  * Represents the [Kendo UI DateInput component for Angular]({% slug overview_dateinput %}#toc-basic-usage).
454
454
  */
455
455
  var DateInputComponent = /** @class */ (function () {
456
- function DateInputComponent(cdr, intl, renderer, element, ngZone, injector, localization, pickerService) {
456
+ function DateInputComponent(cdr, intl, renderer, wrapper, ngZone, injector, localization, pickerService) {
457
457
  this.cdr = cdr;
458
458
  this.intl = intl;
459
459
  this.renderer = renderer;
460
- this.element = element;
460
+ this.wrapper = wrapper;
461
461
  this.ngZone = ngZone;
462
462
  this.injector = injector;
463
463
  this.localization = localization;
@@ -659,6 +659,9 @@ var DateInputComponent = /** @class */ (function () {
659
659
  this.onControlChange = noop;
660
660
  this.onControlTouched = noop;
661
661
  this.onValidatorChange = noop;
662
+ this._size = 'medium';
663
+ this._rounded = 'medium';
664
+ this._fillMode = 'solid';
662
665
  this.symbolsMap = this.dateSymbolMap();
663
666
  this.updateFormatSections();
664
667
  if (this.pickerService) {
@@ -699,6 +702,83 @@ var DateInputComponent = /** @class */ (function () {
699
702
  enumerable: true,
700
703
  configurable: true
701
704
  });
705
+ Object.defineProperty(DateInputComponent.prototype, "size", {
706
+ get: function () {
707
+ return this._size;
708
+ },
709
+ /**
710
+ * Sets the size of the component.
711
+ *
712
+ * The possible values are:
713
+ * * `'small'`
714
+ * * `'medium'` (Default)
715
+ * * `'large'`
716
+ * * `null`
717
+ *
718
+ */
719
+ set: function (size) {
720
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
721
+ if (size) {
722
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
723
+ }
724
+ this._size = size;
725
+ },
726
+ enumerable: true,
727
+ configurable: true
728
+ });
729
+ Object.defineProperty(DateInputComponent.prototype, "rounded", {
730
+ get: function () {
731
+ return this._rounded;
732
+ },
733
+ /**
734
+ * Sets the border radius of the component.
735
+ *
736
+ * The possible values are:
737
+ * * `'small'`
738
+ * * `'medium'` (Default)
739
+ * * `'large'`
740
+ * * `'full'`
741
+ * * `null`
742
+ *
743
+ */
744
+ set: function (rounded) {
745
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
746
+ if (rounded) {
747
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
748
+ }
749
+ this._rounded = rounded;
750
+ },
751
+ enumerable: true,
752
+ configurable: true
753
+ });
754
+ Object.defineProperty(DateInputComponent.prototype, "fillMode", {
755
+ get: function () {
756
+ return this._fillMode;
757
+ },
758
+ /**
759
+ * Sets the fillMode of the component.
760
+ *
761
+ * The possible values are:
762
+ * * `'solid'` (Default)
763
+ * * `'flat'`
764
+ * * `'outline'`
765
+ * * `null`
766
+ *
767
+ */
768
+ set: function (fillMode) {
769
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
770
+ if (fillMode) {
771
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
772
+ if (this.spinners && this.spinup && this.spindown) {
773
+ this.setSpinnerFill(this.spinup.nativeElement, fillMode, this.fillMode);
774
+ this.setSpinnerFill(this.spindown.nativeElement, fillMode, this.fillMode);
775
+ }
776
+ }
777
+ this._fillMode = fillMode;
778
+ },
779
+ enumerable: true,
780
+ configurable: true
781
+ });
702
782
  Object.defineProperty(DateInputComponent.prototype, "wrapperClass", {
703
783
  get: function () {
704
784
  return true;
@@ -733,16 +813,16 @@ var DateInputComponent = /** @class */ (function () {
733
813
  },
734
814
  set: function (value) {
735
815
  this._active = value;
736
- if (!this.wrap) {
816
+ if (!this.wrapper) {
737
817
  return;
738
818
  }
739
819
  if (!isPresent(this.pickerService)) {
740
- var element = this.wrap.nativeElement;
820
+ var element = this.wrapper.nativeElement;
741
821
  if (value) {
742
- this.renderer.addClass(element, 'k-state-focused');
822
+ this.renderer.addClass(element, 'k-focus');
743
823
  }
744
824
  else {
745
- this.renderer.removeClass(element, 'k-state-focused');
825
+ this.renderer.removeClass(element, 'k-focus');
746
826
  }
747
827
  }
748
828
  },
@@ -791,7 +871,7 @@ var DateInputComponent = /** @class */ (function () {
791
871
  */
792
872
  DateInputComponent.prototype.containsElement = function (element) {
793
873
  var _this = this;
794
- return Boolean(closest(element, function (node) { return node === _this.element.nativeElement; }));
874
+ return Boolean(closest(element, function (node) { return node === _this.wrapper.nativeElement; }));
795
875
  };
796
876
  /**
797
877
  * @hidden
@@ -844,13 +924,16 @@ var DateInputComponent = /** @class */ (function () {
844
924
  this.updateElementValue();
845
925
  this.intlSubscription = this.intl.changes.subscribe(this.intlChange.bind(this));
846
926
  this.ngControl = this.injector.get(NgControl, null);
847
- if (this.element) {
848
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
927
+ if (this.wrapper) {
928
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
849
929
  this.ngZone.runOutsideAngular(function () {
850
930
  _this.bindEvents();
851
931
  });
852
932
  }
853
933
  };
934
+ DateInputComponent.prototype.ngAfterViewInit = function () {
935
+ this.setComponentClasses();
936
+ };
854
937
  /**
855
938
  * @hidden
856
939
  */
@@ -1204,7 +1287,7 @@ var DateInputComponent = /** @class */ (function () {
1204
1287
  }
1205
1288
  };
1206
1289
  DateInputComponent.prototype.bindEvents = function () {
1207
- var element = this.element.nativeElement;
1290
+ var element = this.wrapper.nativeElement;
1208
1291
  var mousewheelHandler = this.handleMouseWheel.bind(this);
1209
1292
  this.domEvents.push(this.renderer.listen(element, 'DOMMouseScroll', mousewheelHandler), this.renderer.listen(element, 'mousewheel', mousewheelHandler), this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)), this.renderer.listen(element, 'paste', this.handlePaste.bind(this)), this.renderer.listen(element, 'input', this.handleInput.bind(this)));
1210
1293
  };
@@ -1336,6 +1419,29 @@ var DateInputComponent = /** @class */ (function () {
1336
1419
  this.pickerService.dateCompletenessChange.emit();
1337
1420
  }
1338
1421
  };
1422
+ DateInputComponent.prototype.setSpinnerFill = function (spinner, fill, oldFill) {
1423
+ if (oldFill) {
1424
+ this.renderer.removeClass(spinner, "k-button-" + oldFill);
1425
+ this.renderer.removeClass(spinner, "k-button-" + oldFill + "-base");
1426
+ }
1427
+ this.renderer.addClass(spinner, "k-button-" + fill);
1428
+ this.renderer.addClass(spinner, "k-button-" + fill + "-base");
1429
+ };
1430
+ DateInputComponent.prototype.setComponentClasses = function () {
1431
+ if (this.size) {
1432
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
1433
+ }
1434
+ if (this.rounded) {
1435
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
1436
+ }
1437
+ if (this.fillMode) {
1438
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
1439
+ }
1440
+ if (this.spinners) {
1441
+ this.setSpinnerFill(this.spinup.nativeElement, this.fillMode);
1442
+ this.setSpinnerFill(this.spindown.nativeElement, this.fillMode);
1443
+ }
1444
+ };
1339
1445
  var DateInputComponent_1;
1340
1446
  tslib_1.__decorate([
1341
1447
  Input(),
@@ -1427,6 +1533,21 @@ var DateInputComponent = /** @class */ (function () {
1427
1533
  Input(),
1428
1534
  tslib_1.__metadata("design:type", Boolean)
1429
1535
  ], DateInputComponent.prototype, "hasPopup", void 0);
1536
+ tslib_1.__decorate([
1537
+ Input(),
1538
+ tslib_1.__metadata("design:type", String),
1539
+ tslib_1.__metadata("design:paramtypes", [String])
1540
+ ], DateInputComponent.prototype, "size", null);
1541
+ tslib_1.__decorate([
1542
+ Input(),
1543
+ tslib_1.__metadata("design:type", String),
1544
+ tslib_1.__metadata("design:paramtypes", [String])
1545
+ ], DateInputComponent.prototype, "rounded", null);
1546
+ tslib_1.__decorate([
1547
+ Input(),
1548
+ tslib_1.__metadata("design:type", String),
1549
+ tslib_1.__metadata("design:paramtypes", [String])
1550
+ ], DateInputComponent.prototype, "fillMode", null);
1430
1551
  tslib_1.__decorate([
1431
1552
  Output(),
1432
1553
  tslib_1.__metadata("design:type", EventEmitter)
@@ -1448,20 +1569,24 @@ var DateInputComponent = /** @class */ (function () {
1448
1569
  tslib_1.__metadata("design:type", ElementRef)
1449
1570
  ], DateInputComponent.prototype, "dateInput", void 0);
1450
1571
  tslib_1.__decorate([
1451
- ViewChild('wrap', { static: false }),
1452
- tslib_1.__metadata("design:type", ElementRef)
1453
- ], DateInputComponent.prototype, "wrap", void 0);
1454
- tslib_1.__decorate([
1455
- HostBinding('class.k-widget'),
1572
+ HostBinding('class.k-input'),
1456
1573
  HostBinding('class.k-dateinput'),
1457
1574
  tslib_1.__metadata("design:type", Boolean),
1458
1575
  tslib_1.__metadata("design:paramtypes", [])
1459
1576
  ], DateInputComponent.prototype, "wrapperClass", null);
1460
1577
  tslib_1.__decorate([
1461
- HostBinding('class.k-state-disabled'),
1578
+ HostBinding('class.k-disabled'),
1462
1579
  tslib_1.__metadata("design:type", Boolean),
1463
1580
  tslib_1.__metadata("design:paramtypes", [])
1464
1581
  ], DateInputComponent.prototype, "disabledClass", null);
1582
+ tslib_1.__decorate([
1583
+ ViewChild('spinup', { static: false }),
1584
+ tslib_1.__metadata("design:type", ElementRef)
1585
+ ], DateInputComponent.prototype, "spinup", void 0);
1586
+ tslib_1.__decorate([
1587
+ ViewChild('spindown', { static: false }),
1588
+ tslib_1.__metadata("design:type", ElementRef)
1589
+ ], DateInputComponent.prototype, "spindown", void 0);
1465
1590
  DateInputComponent = DateInputComponent_1 = tslib_1.__decorate([
1466
1591
  Component({
1467
1592
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1474,7 +1599,7 @@ var DateInputComponent = /** @class */ (function () {
1474
1599
  LocalizationService
1475
1600
  ],
1476
1601
  selector: 'kendo-dateinput',
1477
- template: "\n <ng-container kendoDateInputLocalizedMessages\n i18n-increment=\"kendo.dateinput.increment|The label for the **Increment** button in the DateInput\"\n increment=\"Increase value\"\n\n i18n-decrement=\"kendo.dateinput.decrement|The label for the **Decrement** button in the DateInput\"\n decrement=\"Decrease value\"\n >\n </ng-container>\n <span class=\"k-dateinput-wrap\" #wrap>\n <input\n #dateInput\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n class=\"k-input\"\n [attr.role]=\"role\"\n [attr.aria-readonly]=\"ariaReadOnly\"\n [id]=\"focusableId\"\n [title]=\"title\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [attr.aria-expanded]=\"isPopupOpen\"\n [attr.aria-haspopup]=\"hasPopup\"\n [kendoEventsOutsideAngular]=\"{\n click: handleClick,\n focus: handleFocus,\n mousedown: handleMousedown,\n touchstart: handleMousedown,\n dragstart: handleDragAndDrop,\n drop: handleDragAndDrop,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n />\n <span *ngIf=\"spinners\" class=\"k-select\" (mousedown)=\"$event.preventDefault()\">\n <span\n class=\"k-link k-link-increase\"\n [class.k-state-active]=\"arrowDirection === arrow.Up\"\n (mousedown)=\"arrowDirection = arrow.Up\"\n (mouseleave)=\"arrowDirection = arrow.None\"\n (click)=\"handleButtonClick(1)\"\n [title]=\"localization.get('increment')\"\n [attr.aria-label]=\"localization.get('increment')\">\n <span class=\"k-icon k-i-arrow-n\"></span>\n </span>\n <span\n class=\"k-link k-link-decrease\"\n (click)=\"handleButtonClick(-1)\"\n [class.k-state-active]=\"arrowDirection === arrow.Down\"\n (mousedown)=\"arrowDirection = arrow.Down\"\n (mouseleave)=\"arrowDirection = arrow.None\"\n [title]=\"localization.get('decrement')\"\n [attr.aria-label]=\"localization.get('decrement')\">\n <span class=\"k-icon k-i-arrow-s\"></span>\n </span>\n </span>\n </span>\n "
1602
+ template: "\n <ng-container kendoDateInputLocalizedMessages\n i18n-increment=\"kendo.dateinput.increment|The label for the **Increment** button in the DateInput\"\n increment=\"Increase value\"\n\n i18n-decrement=\"kendo.dateinput.decrement|The label for the **Decrement** button in the DateInput\"\n decrement=\"Decrease value\"\n >\n </ng-container>\n <input\n #dateInput\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n class=\"k-input-inner\"\n [attr.role]=\"role\"\n [attr.aria-readonly]=\"ariaReadOnly\"\n [id]=\"focusableId\"\n [title]=\"title\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [attr.aria-expanded]=\"isPopupOpen\"\n [attr.aria-haspopup]=\"hasPopup\"\n [kendoEventsOutsideAngular]=\"{\n click: handleClick,\n focus: handleFocus,\n mousedown: handleMousedown,\n touchstart: handleMousedown,\n dragstart: handleDragAndDrop,\n drop: handleDragAndDrop,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n />\n <span *ngIf=\"spinners\" class=\"k-input-spinner k-spin-button\" (mousedown)=\"$event.preventDefault()\">\n <button\n #spinup\n tabindex=\"-1\"\n class=\"k-spinner-increase k-button k-icon-button\"\n [class.k-active]=\"arrowDirection === arrow.Up\"\n (mousedown)=\"arrowDirection = arrow.Up\"\n (mouseleave)=\"arrowDirection = arrow.None\"\n (click)=\"handleButtonClick(1)\"\n [title]=\"localization.get('increment')\"\n [attr.aria-label]=\"localization.get('increment')\">\n <span class=\"k-button-icon k-icon k-i-arrow-n\"></span>\n </button>\n <button\n #spindown\n tabindex=\"-1\"\n class=\"k-spinner-decrease k-button k-icon-button\"\n (click)=\"handleButtonClick(-1)\"\n [class.k-active]=\"arrowDirection === arrow.Down\"\n (mousedown)=\"arrowDirection = arrow.Down\"\n (mouseleave)=\"arrowDirection = arrow.None\"\n [title]=\"localization.get('decrement')\"\n [attr.aria-label]=\"localization.get('decrement')\">\n <span class=\"k-button-icon k-icon k-i-arrow-s\"></span>\n </button>\n </span>\n "
1478
1603
  }),
1479
1604
  tslib_1.__param(7, Optional()),
1480
1605
  tslib_1.__metadata("design:paramtypes", [ChangeDetectorRef,