@progress/kendo-angular-dateinputs 5.3.1-dev.202112201533 → 6.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 (74) 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 +1 -1
  7. package/dist/es/calendar/header.component.js +1 -1
  8. package/dist/es/calendar/multiview-calendar.component.js +11 -4
  9. package/dist/es/calendar/services/dom.service.js +1 -1
  10. package/dist/es/calendar/view.component.js +1 -1
  11. package/dist/es/common/models/fillmode.js +4 -0
  12. package/dist/es/common/models/rounded.js +4 -0
  13. package/dist/es/common/models/size.js +4 -0
  14. package/dist/es/dateinput/dateinput.component.js +143 -18
  15. package/dist/es/datepicker/datepicker.component.js +130 -13
  16. package/dist/es/daterange/date-range-input.js +1 -1
  17. package/dist/es/datetimepicker/datetimepicker.component.js +147 -11
  18. package/dist/es/package-metadata.js +1 -1
  19. package/dist/es/timepicker/services/dom.service.js +12 -8
  20. package/dist/es/timepicker/timelist.component.js +3 -2
  21. package/dist/es/timepicker/timepicker.component.js +130 -13
  22. package/dist/es/timepicker/timeselector.component.js +2 -2
  23. package/dist/es/util.js +37 -0
  24. package/dist/es2015/calendar/calendar.component.js +1 -1
  25. package/dist/es2015/calendar/header.component.js +4 -4
  26. package/dist/es2015/calendar/multiview-calendar.component.d.ts +3 -1
  27. package/dist/es2015/calendar/multiview-calendar.component.js +11 -4
  28. package/dist/es2015/calendar/services/dom.service.js +1 -1
  29. package/dist/es2015/calendar/view.component.js +1 -1
  30. package/dist/es2015/common/models/fillmode.d.ts +14 -0
  31. package/dist/es2015/common/models/fillmode.js +4 -0
  32. package/dist/es2015/common/models/rounded.d.ts +15 -0
  33. package/dist/es2015/common/models/rounded.js +4 -0
  34. package/dist/es2015/common/models/size.d.ts +14 -0
  35. package/dist/es2015/common/models/size.js +4 -0
  36. package/dist/es2015/dateinput/dateinput.component.d.ts +49 -8
  37. package/dist/es2015/dateinput/dateinput.component.js +183 -68
  38. package/dist/es2015/datepicker/datepicker.component.d.ts +47 -5
  39. package/dist/es2015/datepicker/datepicker.component.js +155 -49
  40. package/dist/es2015/daterange/date-range-input.js +1 -1
  41. package/dist/es2015/datetimepicker/datetimepicker.component.d.ts +56 -6
  42. package/dist/es2015/datetimepicker/datetimepicker.component.js +186 -63
  43. package/dist/es2015/index.metadata.json +1 -1
  44. package/dist/es2015/package-metadata.js +1 -1
  45. package/dist/es2015/timepicker/services/dom.service.d.ts +1 -0
  46. package/dist/es2015/timepicker/services/dom.service.js +12 -8
  47. package/dist/es2015/timepicker/timelist.component.js +3 -2
  48. package/dist/es2015/timepicker/timepicker.component.d.ts +50 -5
  49. package/dist/es2015/timepicker/timepicker.component.js +174 -69
  50. package/dist/es2015/timepicker/timeselector.component.js +7 -5
  51. package/dist/es2015/util.d.ts +18 -0
  52. package/dist/es2015/util.js +37 -0
  53. package/dist/fesm2015/index.js +780 -282
  54. package/dist/fesm5/index.js +625 -83
  55. package/dist/npm/calendar/calendar.component.js +1 -1
  56. package/dist/npm/calendar/header.component.js +1 -1
  57. package/dist/npm/calendar/multiview-calendar.component.js +10 -3
  58. package/dist/npm/calendar/services/dom.service.js +1 -1
  59. package/dist/npm/calendar/view.component.js +1 -1
  60. package/dist/npm/common/models/fillmode.js +6 -0
  61. package/dist/npm/common/models/rounded.js +6 -0
  62. package/dist/npm/common/models/size.js +6 -0
  63. package/dist/npm/dateinput/dateinput.component.js +142 -17
  64. package/dist/npm/datepicker/datepicker.component.js +129 -12
  65. package/dist/npm/daterange/date-range-input.js +1 -1
  66. package/dist/npm/datetimepicker/datetimepicker.component.js +146 -10
  67. package/dist/npm/package-metadata.js +1 -1
  68. package/dist/npm/timepicker/services/dom.service.js +15 -10
  69. package/dist/npm/timepicker/timelist.component.js +3 -2
  70. package/dist/npm/timepicker/timepicker.component.js +129 -12
  71. package/dist/npm/timepicker/timeselector.component.js +2 -2
  72. package/dist/npm/util.js +37 -0
  73. package/dist/systemjs/kendo-angular-dateinputs.js +1 -1
  74. package/package.json +7 -7
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { __decorate, __metadata, __param, __extends } from 'tslib';
6
- import { Injectable, Injector, EventEmitter, Input, TemplateRef, Output, HostBinding, Component, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, Renderer2, isDevMode, Directive, forwardRef, ContentChild, ViewChild, HostListener, NgZone, InjectionToken, Inject, Optional, ViewContainerRef, ViewChildren, QueryList, ContentChildren, IterableDiffers, NgModule } from '@angular/core';
6
+ import { Injectable, Injector, EventEmitter, Input, TemplateRef, Output, HostBinding, Component, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, Renderer2, isDevMode, Directive, forwardRef, ContentChild, ViewChild, HostListener, Optional, NgZone, InjectionToken, Inject, ViewContainerRef, ViewChildren, QueryList, ContentChildren, IterableDiffers, NgModule } from '@angular/core';
7
7
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl } from '@angular/forms';
8
8
  import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
9
9
  import { getDate, isEqual, cloneDate, addDays, 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';
@@ -23,7 +23,7 @@ var packageMetadata = {
23
23
  name: '@progress/kendo-angular-dateinputs',
24
24
  productName: 'Kendo UI for Angular',
25
25
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
26
- publishDate: 1640014125,
26
+ publishDate: 1642573758,
27
27
  version: '',
28
28
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
29
29
  };
@@ -449,6 +449,43 @@ var isTabExitingCalendar = function (calendarType, focusedElement, shiftKey) {
449
449
  (!shiftKey && focusedElement.classList.contains('k-next-view')) // exited on next button focused and regular tab
450
450
  );
451
451
  };
452
+ /**
453
+ * @hidden
454
+ * Returns the size class based on the component and size input.
455
+ */
456
+ var getSizeClass = function (component, size) {
457
+ var SIZE_CLASSES = {
458
+ 'small': "k-" + component + "-sm",
459
+ 'medium': "k-" + component + "-md",
460
+ 'large': "k-" + component + "-lg"
461
+ };
462
+ return SIZE_CLASSES[size];
463
+ };
464
+ /**
465
+ * @hidden
466
+ * Returns the rounded class based on the rounded input.
467
+ */
468
+ var getRoundedClass = function (rounded) {
469
+ var ROUNDED_CLASSES = {
470
+ 'small': 'k-rounded-sm',
471
+ 'medium': 'k-rounded-md',
472
+ 'large': 'k-rounded-lg',
473
+ 'full': 'k-rounded-full'
474
+ };
475
+ return ROUNDED_CLASSES[rounded];
476
+ };
477
+ /**
478
+ * @hidden
479
+ * Return the fillMode class based on the component and fillMode input.
480
+ */
481
+ var getFillModeClass = function (component, fillMode) {
482
+ var FILLMODE_CLASSES = {
483
+ 'solid': "k-" + component + "-solid",
484
+ 'flat': "k-" + component + "-flat",
485
+ 'outline': "k-" + component + "-outline"
486
+ };
487
+ return FILLMODE_CLASSES[fillMode];
488
+ };
452
489
 
453
490
  var _a;
454
491
  var EMPTY_DATA = [[]];
@@ -1814,7 +1851,7 @@ var HeaderComponent = /** @class */ (function () {
1814
1851
  HeaderComponent = __decorate([
1815
1852
  Component({
1816
1853
  selector: 'kendo-calendar-header',
1817
- 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 "
1854
+ 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 "
1818
1855
  }),
1819
1856
  __metadata("design:paramtypes", [BusViewService,
1820
1857
  ChangeDetectorRef,
@@ -2243,6 +2280,19 @@ var disabledDatesRangeValidator = function (isDateDisabled) {
2243
2280
  };
2244
2281
  };
2245
2282
 
2283
+ /**
2284
+ * @hidden
2285
+ */
2286
+ var PickerService = /** @class */ (function () {
2287
+ function PickerService() {
2288
+ this.onFocus = new EventEmitter();
2289
+ this.onBlur = new EventEmitter();
2290
+ this.sameDateSelected = new EventEmitter();
2291
+ this.dateCompletenessChange = new EventEmitter();
2292
+ }
2293
+ return PickerService;
2294
+ }());
2295
+
2246
2296
  var BOTTOM_VIEW_DOC_LINK = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-bottomview';
2247
2297
  var TOP_VIEW_DOC_LINK = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-topview';
2248
2298
  var MIN_DOC_LINK = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-min';
@@ -2279,7 +2329,7 @@ var RANGE_CALENDAR_RANGE_VALIDATORS = {
2279
2329
  * ```
2280
2330
  */
2281
2331
  var MultiViewCalendarComponent = /** @class */ (function () {
2282
- function MultiViewCalendarComponent(bus, element, navigator, renderer, cdr, zone, disabledDatesService, selectionService) {
2332
+ function MultiViewCalendarComponent(bus, element, navigator, renderer, cdr, zone, disabledDatesService, selectionService, pickerService) {
2283
2333
  this.bus = bus;
2284
2334
  this.element = element;
2285
2335
  this.navigator = navigator;
@@ -2288,6 +2338,7 @@ var MultiViewCalendarComponent = /** @class */ (function () {
2288
2338
  this.zone = zone;
2289
2339
  this.disabledDatesService = disabledDatesService;
2290
2340
  this.selectionService = selectionService;
2341
+ this.pickerService = pickerService;
2291
2342
  /**
2292
2343
  * @hidden
2293
2344
  */
@@ -2710,6 +2761,9 @@ var MultiViewCalendarComponent = /** @class */ (function () {
2710
2761
  return;
2711
2762
  }
2712
2763
  if (event.keyCode === Keys.Enter) {
2764
+ if (isPresent(this.pickerService)) {
2765
+ event.preventDefault(); // Don't submit form from Datepicker popup
2766
+ }
2713
2767
  this.performSelection(this.focusedDate, event);
2714
2768
  }
2715
2769
  var candidate = dateInRange(this.navigator.move(this.focusedDate, this.navigator.action(event), this.activeViewEnum), this.min, this.max);
@@ -3201,7 +3255,7 @@ var MultiViewCalendarComponent = /** @class */ (function () {
3201
3255
  ], MultiViewCalendarComponent.prototype, "calendarTabIndex", null);
3202
3256
  __decorate([
3203
3257
  HostBinding('attr.aria-disabled'),
3204
- HostBinding('class.k-state-disabled'),
3258
+ HostBinding('class.k-disabled'),
3205
3259
  __metadata("design:type", Boolean),
3206
3260
  __metadata("design:paramtypes", [])
3207
3261
  ], MultiViewCalendarComponent.prototype, "ariaDisabled", null);
@@ -3272,6 +3326,7 @@ var MultiViewCalendarComponent = /** @class */ (function () {
3272
3326
  selector: 'kendo-multiviewcalendar',
3273
3327
  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 "
3274
3328
  }),
3329
+ __param(8, Optional()),
3275
3330
  __metadata("design:paramtypes", [BusViewService,
3276
3331
  ElementRef,
3277
3332
  NavigationService,
@@ -3279,7 +3334,8 @@ var MultiViewCalendarComponent = /** @class */ (function () {
3279
3334
  ChangeDetectorRef,
3280
3335
  NgZone,
3281
3336
  DisabledDatesService,
3282
- SelectionService])
3337
+ SelectionService,
3338
+ PickerService])
3283
3339
  ], MultiViewCalendarComponent);
3284
3340
  return MultiViewCalendarComponent;
3285
3341
  }());
@@ -3293,7 +3349,7 @@ var tr = domContainerFactory('tr');
3293
3349
  var tbody = domContainerFactory('tbody');
3294
3350
  var thead = domContainerFactory('thead');
3295
3351
  var table = domContainerFactory('table');
3296
- 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')); };
3352
+ 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')); };
3297
3353
  var monthWeekHeader = function () { return (table([
3298
3354
  thead([
3299
3355
  tr([th('MO', 'k-calendar-th')], 'k-calendar-tr')
@@ -4526,19 +4582,6 @@ var NavigationItemTemplateDirective = /** @class */ (function () {
4526
4582
  return NavigationItemTemplateDirective;
4527
4583
  }());
4528
4584
 
4529
- /**
4530
- * @hidden
4531
- */
4532
- var PickerService = /** @class */ (function () {
4533
- function PickerService() {
4534
- this.onFocus = new EventEmitter();
4535
- this.onBlur = new EventEmitter();
4536
- this.sameDateSelected = new EventEmitter();
4537
- this.dateCompletenessChange = new EventEmitter();
4538
- }
4539
- return PickerService;
4540
- }());
4541
-
4542
4585
  var BOTTOM_VIEW_DOC_LINK$1 = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-bottomview';
4543
4586
  var TOP_VIEW_DOC_LINK$1 = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-topview';
4544
4587
  var MIN_DOC_LINK$1 = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-min';
@@ -5593,7 +5636,7 @@ var CalendarComponent = /** @class */ (function () {
5593
5636
  ], CalendarComponent.prototype, "calendarTabIndex", null);
5594
5637
  __decorate([
5595
5638
  HostBinding('attr.aria-disabled'),
5596
- HostBinding('class.k-state-disabled'),
5639
+ HostBinding('class.k-disabled'),
5597
5640
  __metadata("design:type", Boolean),
5598
5641
  __metadata("design:paramtypes", [])
5599
5642
  ], CalendarComponent.prototype, "ariaDisabled", null);
@@ -6092,11 +6135,11 @@ var KendoDate = /** @class */ (function () {
6092
6135
  * Represents the [Kendo UI DateInput component for Angular]({% slug overview_dateinput %}#toc-basic-usage).
6093
6136
  */
6094
6137
  var DateInputComponent = /** @class */ (function () {
6095
- function DateInputComponent(cdr, intl, renderer, element, ngZone, injector, localization, pickerService) {
6138
+ function DateInputComponent(cdr, intl, renderer, wrapper, ngZone, injector, localization, pickerService) {
6096
6139
  this.cdr = cdr;
6097
6140
  this.intl = intl;
6098
6141
  this.renderer = renderer;
6099
- this.element = element;
6142
+ this.wrapper = wrapper;
6100
6143
  this.ngZone = ngZone;
6101
6144
  this.injector = injector;
6102
6145
  this.localization = localization;
@@ -6298,6 +6341,9 @@ var DateInputComponent = /** @class */ (function () {
6298
6341
  this.onControlChange = noop;
6299
6342
  this.onControlTouched = noop;
6300
6343
  this.onValidatorChange = noop;
6344
+ this._size = 'medium';
6345
+ this._rounded = 'medium';
6346
+ this._fillMode = 'solid';
6301
6347
  this.symbolsMap = this.dateSymbolMap();
6302
6348
  this.updateFormatSections();
6303
6349
  if (this.pickerService) {
@@ -6338,6 +6384,83 @@ var DateInputComponent = /** @class */ (function () {
6338
6384
  enumerable: true,
6339
6385
  configurable: true
6340
6386
  });
6387
+ Object.defineProperty(DateInputComponent.prototype, "size", {
6388
+ get: function () {
6389
+ return this._size;
6390
+ },
6391
+ /**
6392
+ * Sets the size of the component.
6393
+ *
6394
+ * The possible values are:
6395
+ * * `'small'`
6396
+ * * `'medium'` (Default)
6397
+ * * `'large'`
6398
+ * * `null`
6399
+ *
6400
+ */
6401
+ set: function (size) {
6402
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
6403
+ if (size) {
6404
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
6405
+ }
6406
+ this._size = size;
6407
+ },
6408
+ enumerable: true,
6409
+ configurable: true
6410
+ });
6411
+ Object.defineProperty(DateInputComponent.prototype, "rounded", {
6412
+ get: function () {
6413
+ return this._rounded;
6414
+ },
6415
+ /**
6416
+ * Sets the border radius of the component.
6417
+ *
6418
+ * The possible values are:
6419
+ * * `'small'`
6420
+ * * `'medium'` (Default)
6421
+ * * `'large'`
6422
+ * * `'full'`
6423
+ * * `null`
6424
+ *
6425
+ */
6426
+ set: function (rounded) {
6427
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
6428
+ if (rounded) {
6429
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
6430
+ }
6431
+ this._rounded = rounded;
6432
+ },
6433
+ enumerable: true,
6434
+ configurable: true
6435
+ });
6436
+ Object.defineProperty(DateInputComponent.prototype, "fillMode", {
6437
+ get: function () {
6438
+ return this._fillMode;
6439
+ },
6440
+ /**
6441
+ * Sets the fillMode of the component.
6442
+ *
6443
+ * The possible values are:
6444
+ * * `'solid'` (Default)
6445
+ * * `'flat'`
6446
+ * * `'outline'`
6447
+ * * `null`
6448
+ *
6449
+ */
6450
+ set: function (fillMode) {
6451
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
6452
+ if (fillMode) {
6453
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
6454
+ if (this.spinners && this.spinup && this.spindown) {
6455
+ this.setSpinnerFill(this.spinup.nativeElement, fillMode, this.fillMode);
6456
+ this.setSpinnerFill(this.spindown.nativeElement, fillMode, this.fillMode);
6457
+ }
6458
+ }
6459
+ this._fillMode = fillMode;
6460
+ },
6461
+ enumerable: true,
6462
+ configurable: true
6463
+ });
6341
6464
  Object.defineProperty(DateInputComponent.prototype, "wrapperClass", {
6342
6465
  get: function () {
6343
6466
  return true;
@@ -6372,16 +6495,16 @@ var DateInputComponent = /** @class */ (function () {
6372
6495
  },
6373
6496
  set: function (value) {
6374
6497
  this._active = value;
6375
- if (!this.wrap) {
6498
+ if (!this.wrapper) {
6376
6499
  return;
6377
6500
  }
6378
6501
  if (!isPresent(this.pickerService)) {
6379
- var element = this.wrap.nativeElement;
6502
+ var element = this.wrapper.nativeElement;
6380
6503
  if (value) {
6381
- this.renderer.addClass(element, 'k-state-focused');
6504
+ this.renderer.addClass(element, 'k-focus');
6382
6505
  }
6383
6506
  else {
6384
- this.renderer.removeClass(element, 'k-state-focused');
6507
+ this.renderer.removeClass(element, 'k-focus');
6385
6508
  }
6386
6509
  }
6387
6510
  },
@@ -6430,7 +6553,7 @@ var DateInputComponent = /** @class */ (function () {
6430
6553
  */
6431
6554
  DateInputComponent.prototype.containsElement = function (element) {
6432
6555
  var _this = this;
6433
- return Boolean(closest(element, function (node) { return node === _this.element.nativeElement; }));
6556
+ return Boolean(closest(element, function (node) { return node === _this.wrapper.nativeElement; }));
6434
6557
  };
6435
6558
  /**
6436
6559
  * @hidden
@@ -6483,13 +6606,16 @@ var DateInputComponent = /** @class */ (function () {
6483
6606
  this.updateElementValue();
6484
6607
  this.intlSubscription = this.intl.changes.subscribe(this.intlChange.bind(this));
6485
6608
  this.ngControl = this.injector.get(NgControl, null);
6486
- if (this.element) {
6487
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
6609
+ if (this.wrapper) {
6610
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
6488
6611
  this.ngZone.runOutsideAngular(function () {
6489
6612
  _this.bindEvents();
6490
6613
  });
6491
6614
  }
6492
6615
  };
6616
+ DateInputComponent.prototype.ngAfterViewInit = function () {
6617
+ this.setComponentClasses();
6618
+ };
6493
6619
  /**
6494
6620
  * @hidden
6495
6621
  */
@@ -6843,7 +6969,7 @@ var DateInputComponent = /** @class */ (function () {
6843
6969
  }
6844
6970
  };
6845
6971
  DateInputComponent.prototype.bindEvents = function () {
6846
- var element = this.element.nativeElement;
6972
+ var element = this.wrapper.nativeElement;
6847
6973
  var mousewheelHandler = this.handleMouseWheel.bind(this);
6848
6974
  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)));
6849
6975
  };
@@ -6975,6 +7101,29 @@ var DateInputComponent = /** @class */ (function () {
6975
7101
  this.pickerService.dateCompletenessChange.emit();
6976
7102
  }
6977
7103
  };
7104
+ DateInputComponent.prototype.setSpinnerFill = function (spinner, fill, oldFill) {
7105
+ if (oldFill) {
7106
+ this.renderer.removeClass(spinner, "k-button-" + oldFill);
7107
+ this.renderer.removeClass(spinner, "k-button-" + oldFill + "-base");
7108
+ }
7109
+ this.renderer.addClass(spinner, "k-button-" + fill);
7110
+ this.renderer.addClass(spinner, "k-button-" + fill + "-base");
7111
+ };
7112
+ DateInputComponent.prototype.setComponentClasses = function () {
7113
+ if (this.size) {
7114
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
7115
+ }
7116
+ if (this.rounded) {
7117
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
7118
+ }
7119
+ if (this.fillMode) {
7120
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
7121
+ }
7122
+ if (this.spinners) {
7123
+ this.setSpinnerFill(this.spinup.nativeElement, this.fillMode);
7124
+ this.setSpinnerFill(this.spindown.nativeElement, this.fillMode);
7125
+ }
7126
+ };
6978
7127
  var DateInputComponent_1;
6979
7128
  __decorate([
6980
7129
  Input(),
@@ -7066,6 +7215,21 @@ var DateInputComponent = /** @class */ (function () {
7066
7215
  Input(),
7067
7216
  __metadata("design:type", Boolean)
7068
7217
  ], DateInputComponent.prototype, "hasPopup", void 0);
7218
+ __decorate([
7219
+ Input(),
7220
+ __metadata("design:type", String),
7221
+ __metadata("design:paramtypes", [String])
7222
+ ], DateInputComponent.prototype, "size", null);
7223
+ __decorate([
7224
+ Input(),
7225
+ __metadata("design:type", String),
7226
+ __metadata("design:paramtypes", [String])
7227
+ ], DateInputComponent.prototype, "rounded", null);
7228
+ __decorate([
7229
+ Input(),
7230
+ __metadata("design:type", String),
7231
+ __metadata("design:paramtypes", [String])
7232
+ ], DateInputComponent.prototype, "fillMode", null);
7069
7233
  __decorate([
7070
7234
  Output(),
7071
7235
  __metadata("design:type", EventEmitter)
@@ -7087,20 +7251,24 @@ var DateInputComponent = /** @class */ (function () {
7087
7251
  __metadata("design:type", ElementRef)
7088
7252
  ], DateInputComponent.prototype, "dateInput", void 0);
7089
7253
  __decorate([
7090
- ViewChild('wrap', { static: false }),
7091
- __metadata("design:type", ElementRef)
7092
- ], DateInputComponent.prototype, "wrap", void 0);
7093
- __decorate([
7094
- HostBinding('class.k-widget'),
7254
+ HostBinding('class.k-input'),
7095
7255
  HostBinding('class.k-dateinput'),
7096
7256
  __metadata("design:type", Boolean),
7097
7257
  __metadata("design:paramtypes", [])
7098
7258
  ], DateInputComponent.prototype, "wrapperClass", null);
7099
7259
  __decorate([
7100
- HostBinding('class.k-state-disabled'),
7260
+ HostBinding('class.k-disabled'),
7101
7261
  __metadata("design:type", Boolean),
7102
7262
  __metadata("design:paramtypes", [])
7103
7263
  ], DateInputComponent.prototype, "disabledClass", null);
7264
+ __decorate([
7265
+ ViewChild('spinup', { static: false }),
7266
+ __metadata("design:type", ElementRef)
7267
+ ], DateInputComponent.prototype, "spinup", void 0);
7268
+ __decorate([
7269
+ ViewChild('spindown', { static: false }),
7270
+ __metadata("design:type", ElementRef)
7271
+ ], DateInputComponent.prototype, "spindown", void 0);
7104
7272
  DateInputComponent = DateInputComponent_1 = __decorate([
7105
7273
  Component({
7106
7274
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -7113,7 +7281,7 @@ var DateInputComponent = /** @class */ (function () {
7113
7281
  LocalizationService
7114
7282
  ],
7115
7283
  selector: 'kendo-dateinput',
7116
- 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 "
7284
+ 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 "
7117
7285
  }),
7118
7286
  __param(7, Optional()),
7119
7287
  __metadata("design:paramtypes", [ChangeDetectorRef,
@@ -7183,12 +7351,12 @@ var TWO_DIGIT_YEAR_MAX$1 = 68;
7183
7351
  * Represents the [Kendo UI DatePicker component for Angular]({% slug overview_datepicker %}#toc-basic-usage).
7184
7352
  */
7185
7353
  var DatePickerComponent = /** @class */ (function () {
7186
- function DatePickerComponent(zone, localization, cdr, popupService, element, renderer, injector, pickerService, disabledDatesService, touchEnabled$$1) {
7354
+ function DatePickerComponent(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, disabledDatesService, touchEnabled$$1) {
7187
7355
  this.zone = zone;
7188
7356
  this.localization = localization;
7189
7357
  this.cdr = cdr;
7190
7358
  this.popupService = popupService;
7191
- this.element = element;
7359
+ this.wrapper = wrapper;
7192
7360
  this.renderer = renderer;
7193
7361
  this.injector = injector;
7194
7362
  this.pickerService = pickerService;
@@ -7414,6 +7582,9 @@ var DatePickerComponent = /** @class */ (function () {
7414
7582
  this.incompleteValidator = noop;
7415
7583
  this.resolvedPromise = Promise.resolve(null);
7416
7584
  this.domEvents = [];
7585
+ this._size = 'medium';
7586
+ this._rounded = 'medium';
7587
+ this._fillMode = 'solid';
7417
7588
  validatePackage(packageMetadata);
7418
7589
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
7419
7590
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -7564,6 +7735,85 @@ var DatePickerComponent = /** @class */ (function () {
7564
7735
  enumerable: true,
7565
7736
  configurable: true
7566
7737
  });
7738
+ Object.defineProperty(DatePickerComponent.prototype, "size", {
7739
+ get: function () {
7740
+ return this._size;
7741
+ },
7742
+ /**
7743
+ * Sets the size of the component.
7744
+ *
7745
+ * The possible values are:
7746
+ * * `'small'`
7747
+ * * `'medium'` (Default)
7748
+ * * `'large'`
7749
+ * * `null`
7750
+ *
7751
+ */
7752
+ set: function (size) {
7753
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
7754
+ this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
7755
+ if (size) {
7756
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
7757
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
7758
+ }
7759
+ this._size = size;
7760
+ },
7761
+ enumerable: true,
7762
+ configurable: true
7763
+ });
7764
+ Object.defineProperty(DatePickerComponent.prototype, "rounded", {
7765
+ get: function () {
7766
+ return this._rounded;
7767
+ },
7768
+ /**
7769
+ * Sets the border radius of the component.
7770
+ *
7771
+ * The possible values are:
7772
+ * * `'small'`
7773
+ * * `'medium'` (Default)
7774
+ * * `'large'`
7775
+ * * `'full'`
7776
+ * * `null`
7777
+ *
7778
+ */
7779
+ set: function (rounded) {
7780
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
7781
+ if (rounded) {
7782
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
7783
+ }
7784
+ this._rounded = rounded;
7785
+ },
7786
+ enumerable: true,
7787
+ configurable: true
7788
+ });
7789
+ Object.defineProperty(DatePickerComponent.prototype, "fillMode", {
7790
+ get: function () {
7791
+ return this._fillMode;
7792
+ },
7793
+ /**
7794
+ * Sets the fillMode of the component.
7795
+ *
7796
+ * The possible values are:
7797
+ * * `'solid'` (Default)
7798
+ * * `'flat'`
7799
+ * * `'outline'`
7800
+ * * `null`
7801
+ *
7802
+ */
7803
+ set: function (fillMode) {
7804
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
7805
+ this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
7806
+ this.renderer.removeClass(this.toggleButton.nativeElement, "k-button-" + this.fillMode + "-base");
7807
+ if (fillMode) {
7808
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
7809
+ this.renderer.addClass(this.toggleButton.nativeElement, "k-button-" + fillMode + "-base");
7810
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
7811
+ }
7812
+ this._fillMode = fillMode;
7813
+ },
7814
+ enumerable: true,
7815
+ configurable: true
7816
+ });
7567
7817
  Object.defineProperty(DatePickerComponent.prototype, "disabledClass", {
7568
7818
  /**
7569
7819
  * @hidden
@@ -7595,10 +7845,10 @@ var DatePickerComponent = /** @class */ (function () {
7595
7845
  }
7596
7846
  var element = this.wrapper.nativeElement;
7597
7847
  if (value) {
7598
- this.renderer.addClass(element, 'k-state-focused');
7848
+ this.renderer.addClass(element, 'k-focus');
7599
7849
  }
7600
7850
  else {
7601
- this.renderer.removeClass(element, 'k-state-focused');
7851
+ this.renderer.removeClass(element, 'k-focus');
7602
7852
  }
7603
7853
  },
7604
7854
  enumerable: true,
@@ -7642,13 +7892,16 @@ var DatePickerComponent = /** @class */ (function () {
7642
7892
  .changes
7643
7893
  .subscribe(function () { return _this.cdr.markForCheck(); });
7644
7894
  this.control = this.injector.get(NgControl, null);
7645
- if (this.element) {
7646
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
7895
+ if (this.wrapper) {
7896
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
7647
7897
  this.zone.runOutsideAngular(function () {
7648
7898
  _this.bindEvents();
7649
7899
  });
7650
7900
  }
7651
7901
  };
7902
+ DatePickerComponent.prototype.ngAfterViewInit = function () {
7903
+ this.setComponentClasses();
7904
+ };
7652
7905
  /**
7653
7906
  * @hidden
7654
7907
  */
@@ -7871,6 +8124,9 @@ var DatePickerComponent = /** @class */ (function () {
7871
8124
  this.show = false;
7872
8125
  }
7873
8126
  }
8127
+ if (keyCode === Keys.Enter && target.classList.contains('k-calendar')) {
8128
+ e.preventDefault(); // Don't submit form on date selection in popup
8129
+ }
7874
8130
  if (keyCode === Keys.Tab && this.show && this.calendar.isActive && isTabExitingCalendar(this.calendarType, target, shiftKey)) {
7875
8131
  this.input.focus();
7876
8132
  this.show = false;
@@ -7959,7 +8215,7 @@ var DatePickerComponent = /** @class */ (function () {
7959
8215
  }
7960
8216
  };
7961
8217
  DatePickerComponent.prototype.bindEvents = function () {
7962
- var element = this.element.nativeElement;
8218
+ var element = this.wrapper.nativeElement;
7963
8219
  this.domEvents.push(this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
7964
8220
  if (isWindowAvailable()) {
7965
8221
  this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this));
@@ -8018,6 +8274,20 @@ var DatePickerComponent = /** @class */ (function () {
8018
8274
  this.cdr.markForCheck();
8019
8275
  this.zone.run(function () { return _this.onValidatorChange(); });
8020
8276
  };
8277
+ DatePickerComponent.prototype.setComponentClasses = function () {
8278
+ if (this.size) {
8279
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
8280
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
8281
+ }
8282
+ if (this.rounded) {
8283
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
8284
+ }
8285
+ if (this.fillMode) {
8286
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
8287
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
8288
+ this.renderer.addClass(this.toggleButton.nativeElement, "k-button-" + this.fillMode + "-base");
8289
+ }
8290
+ };
8021
8291
  var DatePickerComponent_1;
8022
8292
  __decorate([
8023
8293
  ViewChild('container', { read: ViewContainerRef, static: true }),
@@ -8028,9 +8298,9 @@ var DatePickerComponent = /** @class */ (function () {
8028
8298
  __metadata("design:type", TemplateRef)
8029
8299
  ], DatePickerComponent.prototype, "popupTemplate", void 0);
8030
8300
  __decorate([
8031
- ViewChild('wrapper', { static: false }),
8301
+ ViewChild('toggleButton', { static: true }),
8032
8302
  __metadata("design:type", ElementRef)
8033
- ], DatePickerComponent.prototype, "wrapper", void 0);
8303
+ ], DatePickerComponent.prototype, "toggleButton", void 0);
8034
8304
  __decorate([
8035
8305
  ContentChild(CellTemplateDirective, { static: false }),
8036
8306
  __metadata("design:type", CellTemplateDirective)
@@ -8215,6 +8485,21 @@ var DatePickerComponent = /** @class */ (function () {
8215
8485
  Input(),
8216
8486
  __metadata("design:type", Boolean)
8217
8487
  ], DatePickerComponent.prototype, "weekNumber", void 0);
8488
+ __decorate([
8489
+ Input(),
8490
+ __metadata("design:type", String),
8491
+ __metadata("design:paramtypes", [String])
8492
+ ], DatePickerComponent.prototype, "size", null);
8493
+ __decorate([
8494
+ Input(),
8495
+ __metadata("design:type", String),
8496
+ __metadata("design:paramtypes", [String])
8497
+ ], DatePickerComponent.prototype, "rounded", null);
8498
+ __decorate([
8499
+ Input(),
8500
+ __metadata("design:type", String),
8501
+ __metadata("design:paramtypes", [String])
8502
+ ], DatePickerComponent.prototype, "fillMode", null);
8218
8503
  __decorate([
8219
8504
  Output(),
8220
8505
  __metadata("design:type", EventEmitter)
@@ -8236,12 +8521,12 @@ var DatePickerComponent = /** @class */ (function () {
8236
8521
  __metadata("design:type", EventEmitter)
8237
8522
  ], DatePickerComponent.prototype, "close", void 0);
8238
8523
  __decorate([
8239
- HostBinding('class.k-widget'),
8240
8524
  HostBinding('class.k-datepicker'),
8525
+ HostBinding('class.k-input'),
8241
8526
  __metadata("design:type", Boolean)
8242
8527
  ], DatePickerComponent.prototype, "wrapperClasses", void 0);
8243
8528
  __decorate([
8244
- HostBinding('class.k-state-disabled'),
8529
+ HostBinding('class.k-disabled'),
8245
8530
  __metadata("design:type", Boolean),
8246
8531
  __metadata("design:paramtypes", [])
8247
8532
  ], DatePickerComponent.prototype, "disabledClass", null);
@@ -8262,7 +8547,7 @@ var DatePickerComponent = /** @class */ (function () {
8262
8547
  }
8263
8548
  ],
8264
8549
  selector: 'kendo-datepicker',
8265
- template: "\n <ng-container kendoDatePickerLocalizedMessages\n i18n-today=\"kendo.datepicker.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-toggle=\"kendo.datepicker.toggle|The title of the toggle button in the datepicker component\"\n toggle=\"Toggle calendar\"\n\n i18n-prevButtonTitle=\"kendo.datepicker.prevButtonTitle|The title of the previous button in the Classic calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.datepicker.nextButtonTitle|The title of the next button in the Classic calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <span #wrapper\n class=\"k-picker-wrap\"\n [class.k-state-disabled]=\"disabled\"\n >\n <kendo-dateinput\n #input\n [role]=\"inputRole\"\n [focusableId]=\"focusableId\"\n [hasPopup]=\"true\"\n [isPopupOpen]=\"show\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readOnlyInput\"\n [ariaReadOnly]=\"readonly\"\n [tabindex]=\"tabindex\"\n [title]=\"title\"\n [format]=\"format\"\n [twoDigitYearMax]=\"twoDigitYearMax\"\n [formatPlaceholder]=\"formatPlaceholder\"\n [placeholder]=\"placeholder\"\n [min]=\"min\"\n [max]=\"max\"\n [incompleteDateValidation]=\"incompleteDateValidation\"\n [value]=\"value\"\n (valueChange)=\"handleInputChange($event)\"\n ></kendo-dateinput>\n <span class=\"k-select\"\n role=\"button\"\n [attr.title]=\"localization.get('toggle')\"\n [attr.aria-label]=\"localization.get('toggle')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleIconClick,\n mousedown: handleMousedown\n }\"\n [scope]=\"this\"\n >\n <span class=\"k-icon k-i-calendar\"></span>\n </span>\n </span>\n <ng-container #container></ng-container>\n <ng-template #popupTemplate>\n <kendo-calendar\n #calendar\n [type]=\"calendarType\"\n [min]=\"min\"\n [max]=\"max\"\n [navigation]=\"navigation\"\n [animateNavigation]=\"animateCalendarNavigation\"\n [activeView]=\"activeView\"\n [bottomView]=\"bottomView\"\n [topView]=\"topView\"\n [weekNumber]=\"weekNumber\"\n [cellTemplate]=\"cellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [decadeCellTemplate]=\"decadeCellTemplate\"\n [centuryCellTemplate]=\"centuryCellTemplate\"\n [weekNumberTemplate]=\"weekNumberTemplate\"\n [headerTitleTemplate]=\"headerTitleTemplate\"\n [navigationItemTemplate]=\"navigationItemTemplate\"\n [focusedDate]=\"focusedDate\"\n [value]=\"value\"\n (valueChange)=\"handleChange(mergeTime($event))\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleKeydown\n }\"\n [scope]=\"this\"\n [disabledDates]=\"disabledDates\"\n >\n <kendo-calendar-messages\n [today]=\"localization.get('today')\"\n [prevButtonTitle]=\"localization.get('prevButtonTitle')\"\n [nextButtonTitle]=\"localization.get('nextButtonTitle')\"\n >\n </kendo-calendar-messages>\n </kendo-calendar>\n <ng-template>\n "
8550
+ template: "\n <ng-container kendoDatePickerLocalizedMessages\n i18n-today=\"kendo.datepicker.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-toggle=\"kendo.datepicker.toggle|The title of the toggle button in the datepicker component\"\n toggle=\"Toggle calendar\"\n\n i18n-prevButtonTitle=\"kendo.datepicker.prevButtonTitle|The title of the previous button in the Classic calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.datepicker.nextButtonTitle|The title of the next button in the Classic calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <kendo-dateinput\n #input\n [role]=\"inputRole\"\n [focusableId]=\"focusableId\"\n [hasPopup]=\"true\"\n [isPopupOpen]=\"show\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readOnlyInput\"\n [ariaReadOnly]=\"readonly\"\n [tabindex]=\"tabindex\"\n [title]=\"title\"\n [format]=\"format\"\n [twoDigitYearMax]=\"twoDigitYearMax\"\n [formatPlaceholder]=\"formatPlaceholder\"\n [placeholder]=\"placeholder\"\n [min]=\"min\"\n [max]=\"max\"\n [incompleteDateValidation]=\"incompleteDateValidation\"\n [fillMode]=\"null\"\n [rounded]=\"null\"\n [size]=\"null\"\n [value]=\"value\"\n (valueChange)=\"handleInputChange($event)\"\n ></kendo-dateinput>\n <button\n #toggleButton\n type=\"button\"\n class=\"k-input-button k-button k-icon-button\"\n [tabindex]=\"-1\"\n [attr.title]=\"localization.get('toggle')\"\n [attr.aria-label]=\"localization.get('toggle')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleIconClick,\n mousedown: handleMousedown\n }\"\n [scope]=\"this\"\n >\n <span class=\"k-button-icon k-icon k-i-calendar\"></span>\n </button>\n <ng-container #container></ng-container>\n <ng-template #popupTemplate>\n <kendo-calendar\n #calendar\n [type]=\"calendarType\"\n [min]=\"min\"\n [max]=\"max\"\n [navigation]=\"navigation\"\n [animateNavigation]=\"animateCalendarNavigation\"\n [activeView]=\"activeView\"\n [bottomView]=\"bottomView\"\n [topView]=\"topView\"\n [weekNumber]=\"weekNumber\"\n [cellTemplate]=\"cellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [decadeCellTemplate]=\"decadeCellTemplate\"\n [centuryCellTemplate]=\"centuryCellTemplate\"\n [weekNumberTemplate]=\"weekNumberTemplate\"\n [headerTitleTemplate]=\"headerTitleTemplate\"\n [navigationItemTemplate]=\"navigationItemTemplate\"\n [focusedDate]=\"focusedDate\"\n [value]=\"value\"\n (valueChange)=\"handleChange(mergeTime($event))\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleKeydown\n }\"\n [scope]=\"this\"\n [disabledDates]=\"disabledDates\"\n >\n <kendo-calendar-messages\n [today]=\"localization.get('today')\"\n [prevButtonTitle]=\"localization.get('prevButtonTitle')\"\n [nextButtonTitle]=\"localization.get('nextButtonTitle')\"\n >\n </kendo-calendar-messages>\n </kendo-calendar>\n <ng-template>\n "
8266
8551
  }),
8267
8552
  __param(9, Optional()), __param(9, Inject(TOUCH_ENABLED)),
8268
8553
  __metadata("design:paramtypes", [NgZone,
@@ -8315,12 +8600,12 @@ var formatRegExp = new RegExp(TIME_PART.hour + "|" + TIME_PART.minute + "|" + TI
8315
8600
  * Represents the [Kendo UI TimePicker component for Angular]({% slug overview_timepicker %}#toc-basic-usage).
8316
8601
  */
8317
8602
  var TimePickerComponent = /** @class */ (function () {
8318
- function TimePickerComponent(zone, localization, cdr, popupService, element, renderer, injector, pickerService, intl, touchEnabled$$1) {
8603
+ function TimePickerComponent(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, intl, touchEnabled$$1) {
8319
8604
  this.zone = zone;
8320
8605
  this.localization = localization;
8321
8606
  this.cdr = cdr;
8322
8607
  this.popupService = popupService;
8323
- this.element = element;
8608
+ this.wrapper = wrapper;
8324
8609
  this.renderer = renderer;
8325
8610
  this.injector = injector;
8326
8611
  this.pickerService = pickerService;
@@ -8482,6 +8767,9 @@ var TimePickerComponent = /** @class */ (function () {
8482
8767
  this._value = null;
8483
8768
  this._active = false;
8484
8769
  this.domEvents = [];
8770
+ this._size = 'medium';
8771
+ this._rounded = 'medium';
8772
+ this._fillMode = 'solid';
8485
8773
  validatePackage(packageMetadata);
8486
8774
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
8487
8775
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -8592,6 +8880,85 @@ var TimePickerComponent = /** @class */ (function () {
8592
8880
  enumerable: true,
8593
8881
  configurable: true
8594
8882
  });
8883
+ Object.defineProperty(TimePickerComponent.prototype, "size", {
8884
+ get: function () {
8885
+ return this._size;
8886
+ },
8887
+ /**
8888
+ * Sets the size of the component.
8889
+ *
8890
+ * The possible values are:
8891
+ * * `'small'`
8892
+ * * `'medium'` (Default)
8893
+ * * `'large'`
8894
+ * * `null`
8895
+ *
8896
+ */
8897
+ set: function (size) {
8898
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
8899
+ this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
8900
+ if (size) {
8901
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
8902
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
8903
+ }
8904
+ this._size = size;
8905
+ },
8906
+ enumerable: true,
8907
+ configurable: true
8908
+ });
8909
+ Object.defineProperty(TimePickerComponent.prototype, "rounded", {
8910
+ get: function () {
8911
+ return this._rounded;
8912
+ },
8913
+ /**
8914
+ * Sets the border radius of the component.
8915
+ *
8916
+ * The possible values are:
8917
+ * * `'small'`
8918
+ * * `'medium'` (Default)
8919
+ * * `'large'`
8920
+ * * `'full'`
8921
+ * * `null`
8922
+ *
8923
+ */
8924
+ set: function (rounded) {
8925
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
8926
+ if (rounded) {
8927
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
8928
+ }
8929
+ this._rounded = rounded;
8930
+ },
8931
+ enumerable: true,
8932
+ configurable: true
8933
+ });
8934
+ Object.defineProperty(TimePickerComponent.prototype, "fillMode", {
8935
+ get: function () {
8936
+ return this._fillMode;
8937
+ },
8938
+ /**
8939
+ * Sets the fillMode of the component.
8940
+ *
8941
+ * The possible values are:
8942
+ * * `'solid'` (Default)
8943
+ * * `'flat'`
8944
+ * * `'outline'`
8945
+ * * `null`
8946
+ *
8947
+ */
8948
+ set: function (fillMode) {
8949
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
8950
+ this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
8951
+ this.renderer.removeClass(this.toggleButton.nativeElement, "k-button-" + this.fillMode + "-base");
8952
+ if (fillMode) {
8953
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
8954
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
8955
+ this.renderer.addClass(this.toggleButton.nativeElement, "k-button-" + fillMode + "-base");
8956
+ }
8957
+ this._fillMode = fillMode;
8958
+ },
8959
+ enumerable: true,
8960
+ configurable: true
8961
+ });
8595
8962
  Object.defineProperty(TimePickerComponent.prototype, "disabledClass", {
8596
8963
  /**
8597
8964
  * @hidden
@@ -8623,10 +8990,10 @@ var TimePickerComponent = /** @class */ (function () {
8623
8990
  }
8624
8991
  var element = this.wrapper.nativeElement;
8625
8992
  if (value) {
8626
- this.renderer.addClass(element, 'k-state-focused');
8993
+ this.renderer.addClass(element, 'k-focus');
8627
8994
  }
8628
8995
  else {
8629
- this.renderer.removeClass(element, 'k-state-focused');
8996
+ this.renderer.removeClass(element, 'k-focus');
8630
8997
  }
8631
8998
  },
8632
8999
  enumerable: true,
@@ -8683,13 +9050,19 @@ var TimePickerComponent = /** @class */ (function () {
8683
9050
  this.localizationChangeSubscription = this.localization
8684
9051
  .changes.subscribe(function () { return _this.cdr.markForCheck(); });
8685
9052
  this.control = this.injector.get(NgControl, null);
8686
- if (this.element) {
8687
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
9053
+ if (this.wrapper) {
9054
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
8688
9055
  this.zone.runOutsideAngular(function () {
8689
9056
  _this.bindEvents();
8690
9057
  });
8691
9058
  }
8692
9059
  };
9060
+ /**
9061
+ * @hidden
9062
+ */
9063
+ TimePickerComponent.prototype.ngAfterViewInit = function () {
9064
+ this.setComponentClasses();
9065
+ };
8693
9066
  /**
8694
9067
  * @hidden
8695
9068
  */
@@ -9002,7 +9375,7 @@ var TimePickerComponent = /** @class */ (function () {
9002
9375
  }
9003
9376
  };
9004
9377
  TimePickerComponent.prototype.bindEvents = function () {
9005
- var element = this.element.nativeElement;
9378
+ var element = this.wrapper.nativeElement;
9006
9379
  this.domEvents.push(this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
9007
9380
  if (isWindowAvailable()) {
9008
9381
  this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this));
@@ -9054,6 +9427,20 @@ var TimePickerComponent = /** @class */ (function () {
9054
9427
  this.cdr.markForCheck();
9055
9428
  this.zone.run(function () { return _this.onValidatorChange(); });
9056
9429
  };
9430
+ TimePickerComponent.prototype.setComponentClasses = function () {
9431
+ if (this.size) {
9432
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
9433
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
9434
+ }
9435
+ if (this.rounded) {
9436
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
9437
+ }
9438
+ if (this.fillMode) {
9439
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
9440
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
9441
+ this.renderer.addClass(this.toggleButton.nativeElement, "k-button-" + this.fillMode + "-base");
9442
+ }
9443
+ };
9057
9444
  var TimePickerComponent_1;
9058
9445
  __decorate([
9059
9446
  ViewChild('container', { read: ViewContainerRef, static: false }),
@@ -9064,9 +9451,9 @@ var TimePickerComponent = /** @class */ (function () {
9064
9451
  __metadata("design:type", TemplateRef)
9065
9452
  ], TimePickerComponent.prototype, "popupTemplate", void 0);
9066
9453
  __decorate([
9067
- ViewChild('wrapper', { static: false }),
9454
+ ViewChild('toggleButton', { static: true }),
9068
9455
  __metadata("design:type", ElementRef)
9069
- ], TimePickerComponent.prototype, "wrapper", void 0);
9456
+ ], TimePickerComponent.prototype, "toggleButton", void 0);
9070
9457
  __decorate([
9071
9458
  Input(),
9072
9459
  __metadata("design:type", String)
@@ -9149,6 +9536,21 @@ var TimePickerComponent = /** @class */ (function () {
9149
9536
  __metadata("design:type", Date),
9150
9537
  __metadata("design:paramtypes", [Date])
9151
9538
  ], TimePickerComponent.prototype, "value", null);
9539
+ __decorate([
9540
+ Input(),
9541
+ __metadata("design:type", String),
9542
+ __metadata("design:paramtypes", [String])
9543
+ ], TimePickerComponent.prototype, "size", null);
9544
+ __decorate([
9545
+ Input(),
9546
+ __metadata("design:type", String),
9547
+ __metadata("design:paramtypes", [String])
9548
+ ], TimePickerComponent.prototype, "rounded", null);
9549
+ __decorate([
9550
+ Input(),
9551
+ __metadata("design:type", String),
9552
+ __metadata("design:paramtypes", [String])
9553
+ ], TimePickerComponent.prototype, "fillMode", null);
9152
9554
  __decorate([
9153
9555
  Output(),
9154
9556
  __metadata("design:type", EventEmitter)
@@ -9170,12 +9572,12 @@ var TimePickerComponent = /** @class */ (function () {
9170
9572
  __metadata("design:type", EventEmitter)
9171
9573
  ], TimePickerComponent.prototype, "close", void 0);
9172
9574
  __decorate([
9173
- HostBinding('class.k-widget'),
9174
9575
  HostBinding('class.k-timepicker'),
9576
+ HostBinding('class.k-input'),
9175
9577
  __metadata("design:type", Boolean)
9176
9578
  ], TimePickerComponent.prototype, "wrapperClasses", void 0);
9177
9579
  __decorate([
9178
- HostBinding('class.k-state-disabled'),
9580
+ HostBinding('class.k-disabled'),
9179
9581
  __metadata("design:type", Boolean),
9180
9582
  __metadata("design:paramtypes", [])
9181
9583
  ], TimePickerComponent.prototype, "disabledClass", null);
@@ -9195,7 +9597,7 @@ var TimePickerComponent = /** @class */ (function () {
9195
9597
  PickerService
9196
9598
  ],
9197
9599
  selector: 'kendo-timepicker',
9198
- template: "\n <ng-container kendoTimePickerLocalizedMessages\n i18n-accept=\"kendo.timepicker.accept|The Accept button text in the timepicker component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.timepicker.acceptLabel|The label for the Accept button in the timepicker component\"\n acceptLabel=\"Set time\"\n\n i18n-cancel=\"kendo.timepicker.cancel|The Cancel button text in the timepicker component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.timepicker.cancelLabel|The label for the Cancel button in the timepicker component\"\n cancelLabel=\"Cancel changes\"\n\n i18n-now=\"kendo.timepicker.now|The Now button text in the timepicker component\"\n now=\"Now\"\n\n i18n-nowLabel=\"kendo.timepicker.nowLabel|The label for the Now button in the timepicker component\"\n nowLabel=\"Select now\"\n\n i18n-toggle=\"kendo.timepicker.toggle|The label for the toggle button in the timepicker component\"\n toggle=\"Toggle time list\"\n >\n </ng-container>\n <span #wrapper\n class=\"k-picker-wrap\"\n [class.k-state-disabled]=\"disabled\"\n >\n <kendo-dateinput\n #input\n [focusableId]=\"focusableId\"\n [hasPopup]=\"true\"\n [isPopupOpen]=\"show\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readOnlyInput\"\n [role]=\"inputRole\"\n [ariaReadOnly]=\"readonly\"\n [format]=\"format\"\n [formatPlaceholder]=\"formatPlaceholder\"\n [placeholder]=\"placeholder\"\n [min]=\"normalizeTime(min)\"\n [max]=\"normalizeTime(max)\"\n [incompleteDateValidation]=\"incompleteDateValidation\"\n [steps]=\"steps\"\n [tabindex]=\"!show ? tabindex : -1\"\n [title]=\"title\"\n [value]=\"value\"\n (valueChange)=\"handleInputChange($event)\"\n ></kendo-dateinput>\n <span class=\"k-select\"\n role=\"button\"\n [attr.title]=\"localization.get('toggle')\"\n [attr.aria-label]=\"localization.get('toggle')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleIconClick,\n mousedown: handleMousedown\n }\"\n [scope]=\"this\"\n >\n <span class=\"k-icon k-i-clock\"></span>\n </span>\n <ng-template #popupTemplate>\n <kendo-timeselector\n #timeSelector\n [cancelButton]=\"cancelButton\"\n [nowButton]=\"nowButton\"\n [format]=\"format\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"steps\"\n [value]=\"value\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleKeydown,\n mousedown: handleMousedown\n }\"\n [scope]=\"this\"\n (valueChange)=\"handleChange($event)\"\n (valueReject)=\"handleReject()\"\n >\n <kendo-timeselector-messages\n [acceptLabel]=\"localization.get('acceptLabel')\"\n [accept]=\"localization.get('accept')\"\n [cancelLabel]=\"localization.get('cancelLabel')\"\n [cancel]=\"localization.get('cancel')\"\n [nowLabel]=\"localization.get('nowLabel')\"\n [now]=\"localization.get('now')\"\n >\n </kendo-timeselector-messages>\n </kendo-timeselector>\n </ng-template>\n </span>\n <ng-container #container></ng-container>\n "
9600
+ template: "\n <ng-container kendoTimePickerLocalizedMessages\n i18n-accept=\"kendo.timepicker.accept|The Accept button text in the timepicker component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.timepicker.acceptLabel|The label for the Accept button in the timepicker component\"\n acceptLabel=\"Set time\"\n\n i18n-cancel=\"kendo.timepicker.cancel|The Cancel button text in the timepicker component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.timepicker.cancelLabel|The label for the Cancel button in the timepicker component\"\n cancelLabel=\"Cancel changes\"\n\n i18n-now=\"kendo.timepicker.now|The Now button text in the timepicker component\"\n now=\"Now\"\n\n i18n-nowLabel=\"kendo.timepicker.nowLabel|The label for the Now button in the timepicker component\"\n nowLabel=\"Select now\"\n\n i18n-toggle=\"kendo.timepicker.toggle|The label for the toggle button in the timepicker component\"\n toggle=\"Toggle time list\"\n >\n </ng-container>\n <kendo-dateinput\n #input\n [focusableId]=\"focusableId\"\n [hasPopup]=\"true\"\n [isPopupOpen]=\"show\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readOnlyInput\"\n [role]=\"inputRole\"\n [ariaReadOnly]=\"readonly\"\n [format]=\"format\"\n [formatPlaceholder]=\"formatPlaceholder\"\n [placeholder]=\"placeholder\"\n [min]=\"normalizeTime(min)\"\n [max]=\"normalizeTime(max)\"\n [incompleteDateValidation]=\"incompleteDateValidation\"\n [fillMode]=\"fillMode\"\n [rounded]=\"rounded\"\n [size]=\"size\"\n [steps]=\"steps\"\n [tabindex]=\"!show ? tabindex : -1\"\n [title]=\"title\"\n [value]=\"value\"\n (valueChange)=\"handleInputChange($event)\"\n ></kendo-dateinput>\n <button\n #toggleButton\n type=\"button\"\n class=\"k-input-button k-button k-icon-button\"\n [attr.title]=\"localization.get('toggle')\"\n [attr.aria-label]=\"localization.get('toggle')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleIconClick,\n mousedown: handleMousedown\n }\"\n [scope]=\"this\"\n >\n <span class=\"k-button-icon k-icon k-i-clock\"></span>\n </button>\n <ng-template #popupTemplate>\n <kendo-timeselector\n #timeSelector\n [cancelButton]=\"cancelButton\"\n [nowButton]=\"nowButton\"\n [format]=\"format\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"steps\"\n [value]=\"value\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleKeydown,\n mousedown: handleMousedown\n }\"\n [scope]=\"this\"\n (valueChange)=\"handleChange($event)\"\n (valueReject)=\"handleReject()\"\n >\n <kendo-timeselector-messages\n [acceptLabel]=\"localization.get('acceptLabel')\"\n [accept]=\"localization.get('accept')\"\n [cancelLabel]=\"localization.get('cancelLabel')\"\n [cancel]=\"localization.get('cancel')\"\n [nowLabel]=\"localization.get('nowLabel')\"\n [now]=\"localization.get('now')\"\n >\n </kendo-timeselector-messages>\n </kendo-timeselector>\n </ng-template>\n <ng-container #container></ng-container>\n "
9199
9601
  }),
9200
9602
  __param(9, Optional()), __param(9, Inject(TOUCH_ENABLED)),
9201
9603
  __metadata("design:paramtypes", [NgZone,
@@ -9222,13 +9624,13 @@ var TWO_DIGIT_YEAR_MAX$2 = 68;
9222
9624
  * Represents the [Kendo UI DateTimePicker component for Angular]({% slug overview_datetimepicker %}).
9223
9625
  */
9224
9626
  var DateTimePickerComponent = /** @class */ (function () {
9225
- function DateTimePickerComponent(popupService, intl, cdr, pickerService, ngZone, host, touchEnabled$$1, localization, disabledDatesService, renderer) {
9627
+ function DateTimePickerComponent(popupService, intl, cdr, pickerService, ngZone, wrapper, touchEnabled$$1, localization, disabledDatesService, renderer) {
9226
9628
  this.popupService = popupService;
9227
9629
  this.intl = intl;
9228
9630
  this.cdr = cdr;
9229
9631
  this.pickerService = pickerService;
9230
9632
  this.ngZone = ngZone;
9231
- this.host = host;
9633
+ this.wrapper = wrapper;
9232
9634
  this.touchEnabled = touchEnabled$$1;
9233
9635
  this.localization = localization;
9234
9636
  this.disabledDatesService = disabledDatesService;
@@ -9395,9 +9797,22 @@ var DateTimePickerComponent = /** @class */ (function () {
9395
9797
  this.disabledDatesValidateFn = noop;
9396
9798
  this.incompleteValidator = noop;
9397
9799
  this.subscriptions = new Subscription();
9800
+ this._size = 'medium';
9801
+ this._rounded = 'medium';
9802
+ this._fillMode = 'solid';
9398
9803
  validatePackage(packageMetadata);
9399
9804
  }
9400
9805
  DateTimePickerComponent_1 = DateTimePickerComponent;
9806
+ Object.defineProperty(DateTimePickerComponent.prototype, "disabledClass", {
9807
+ /**
9808
+ * @hidden
9809
+ */
9810
+ get: function () {
9811
+ return this.disabled;
9812
+ },
9813
+ enumerable: true,
9814
+ configurable: true
9815
+ });
9401
9816
  Object.defineProperty(DateTimePickerComponent.prototype, "input", {
9402
9817
  /**
9403
9818
  * @hidden
@@ -9578,10 +9993,10 @@ var DateTimePickerComponent = /** @class */ (function () {
9578
9993
  },
9579
9994
  set: function (value) {
9580
9995
  if (value) {
9581
- this.renderer.addClass(this.wrapper.nativeElement, 'k-state-focused');
9996
+ this.renderer.addClass(this.wrapper.nativeElement, 'k-focus');
9582
9997
  }
9583
9998
  else {
9584
- this.renderer.removeClass(this.wrapper.nativeElement, 'k-state-focused');
9999
+ this.renderer.removeClass(this.wrapper.nativeElement, 'k-focus');
9585
10000
  }
9586
10001
  this._isActive = value;
9587
10002
  },
@@ -9603,6 +10018,85 @@ var DateTimePickerComponent = /** @class */ (function () {
9603
10018
  enumerable: true,
9604
10019
  configurable: true
9605
10020
  });
10021
+ Object.defineProperty(DateTimePickerComponent.prototype, "size", {
10022
+ get: function () {
10023
+ return this._size;
10024
+ },
10025
+ /**
10026
+ * Sets the size of the component.
10027
+ *
10028
+ * The possible values are:
10029
+ * * `'small'`
10030
+ * * `'medium'` (Default)
10031
+ * * `'large'`
10032
+ * * `null`
10033
+ *
10034
+ */
10035
+ set: function (size) {
10036
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
10037
+ this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
10038
+ if (size) {
10039
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
10040
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
10041
+ }
10042
+ this._size = size;
10043
+ },
10044
+ enumerable: true,
10045
+ configurable: true
10046
+ });
10047
+ Object.defineProperty(DateTimePickerComponent.prototype, "rounded", {
10048
+ get: function () {
10049
+ return this._rounded;
10050
+ },
10051
+ /**
10052
+ * Sets the border radius of the component.
10053
+ *
10054
+ * The possible values are:
10055
+ * * `'small'`
10056
+ * * `'medium'` (Default)
10057
+ * * `'large'`
10058
+ * * `'full'`
10059
+ * * `null`
10060
+ *
10061
+ */
10062
+ set: function (rounded) {
10063
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
10064
+ if (rounded) {
10065
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
10066
+ }
10067
+ this._rounded = rounded;
10068
+ },
10069
+ enumerable: true,
10070
+ configurable: true
10071
+ });
10072
+ Object.defineProperty(DateTimePickerComponent.prototype, "fillMode", {
10073
+ get: function () {
10074
+ return this._fillMode;
10075
+ },
10076
+ /**
10077
+ * Sets the fillMode of the component.
10078
+ *
10079
+ * The possible values are:
10080
+ * * `'solid'` (Default)
10081
+ * * `'flat'`
10082
+ * * `'outline'`
10083
+ * * `null`
10084
+ *
10085
+ */
10086
+ set: function (fillMode) {
10087
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
10088
+ this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
10089
+ this.renderer.removeClass(this.toggleButton.nativeElement, "k-button-" + this.fillMode + "-base");
10090
+ if (fillMode) {
10091
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
10092
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
10093
+ this.renderer.addClass(this.toggleButton.nativeElement, "k-button-" + fillMode + "-base");
10094
+ }
10095
+ this._fillMode = fillMode;
10096
+ },
10097
+ enumerable: true,
10098
+ configurable: true
10099
+ });
9606
10100
  Object.defineProperty(DateTimePickerComponent.prototype, "tabSwitchTransition", {
9607
10101
  /**
9608
10102
  * @hidden
@@ -9693,6 +10187,9 @@ var DateTimePickerComponent = /** @class */ (function () {
9693
10187
  this.subscriptions.add(this.ngZone.runOutsideAngular(function () { return fromEvent(window, 'blur').subscribe(_this.handleCancel.bind(_this)); }));
9694
10188
  }
9695
10189
  };
10190
+ DateTimePickerComponent.prototype.ngAfterViewInit = function () {
10191
+ this.setComponentClasses();
10192
+ };
9696
10193
  DateTimePickerComponent.prototype.ngOnChanges = function (changes) {
9697
10194
  if (isPresent(changes.min) || isPresent(changes.max)) {
9698
10195
  this.verifyMinMaxRange();
@@ -9847,7 +10344,7 @@ var DateTimePickerComponent = /** @class */ (function () {
9847
10344
  return;
9848
10345
  }
9849
10346
  this.isActive = false;
9850
- var isNgControlUntouched = this.host.nativeElement.classList.contains('ng-untouched');
10347
+ var isNgControlUntouched = this.wrapper.nativeElement.classList.contains('ng-untouched');
9851
10348
  var runInZone = isNgControlUntouched || hasObservers(this.onBlur) || (this.isOpen && hasObservers(this.close));
9852
10349
  this.run(runInZone, function () {
9853
10350
  _this.onBlur.emit();
@@ -9975,6 +10472,13 @@ var DateTimePickerComponent = /** @class */ (function () {
9975
10472
  this.input.focus();
9976
10473
  }
9977
10474
  };
10475
+ /**
10476
+ * @hidden
10477
+ */
10478
+ DateTimePickerComponent.prototype.popupButtonsClasses = function (type) {
10479
+ var buttonType = type ? type : 'base';
10480
+ return (this.size ? getSizeClass('button', this.size) : '') + " " + (this.rounded ? getRoundedClass(this.rounded) : '') + " " + (this.fillMode ? 'k-button-' + this.fillMode + ' ' + 'k-button-' + this.fillMode + '-' + buttonType : '');
10481
+ };
9978
10482
  /**
9979
10483
  * @hidden
9980
10484
  *
@@ -10099,7 +10603,7 @@ var DateTimePickerComponent = /** @class */ (function () {
10099
10603
  };
10100
10604
  /**
10101
10605
  * Indicates whether the focus target is part of this component,
10102
- * that is, whether the focus target is inside the component wrapper or in the popup.
10606
+ * that is, whether the focus target is inside the component or in the popup.
10103
10607
  */
10104
10608
  DateTimePickerComponent.prototype.focusTargetInComponent = function (event) {
10105
10609
  if (!isPresent(event)) {
@@ -10146,16 +10650,35 @@ var DateTimePickerComponent = /** @class */ (function () {
10146
10650
  this.cdr.markForCheck();
10147
10651
  this.ngZone.run(function () { return _this.onValidatorChange(); });
10148
10652
  };
10653
+ DateTimePickerComponent.prototype.setComponentClasses = function () {
10654
+ if (this.size) {
10655
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
10656
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
10657
+ }
10658
+ if (this.rounded) {
10659
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
10660
+ }
10661
+ if (this.fillMode) {
10662
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
10663
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
10664
+ this.renderer.addClass(this.toggleButton.nativeElement, "k-button-" + this.fillMode + "-base");
10665
+ }
10666
+ };
10149
10667
  var DateTimePickerComponent_1;
10150
10668
  __decorate([
10151
- HostBinding('class.k-widget'),
10152
10669
  HostBinding('class.k-datetimepicker'),
10670
+ HostBinding('class.k-input'),
10153
10671
  __metadata("design:type", Boolean)
10154
10672
  ], DateTimePickerComponent.prototype, "hostClasses", void 0);
10155
10673
  __decorate([
10156
- ViewChild('wrapper', { static: true }),
10674
+ HostBinding('class.k-disabled'),
10675
+ __metadata("design:type", Boolean),
10676
+ __metadata("design:paramtypes", [])
10677
+ ], DateTimePickerComponent.prototype, "disabledClass", null);
10678
+ __decorate([
10679
+ ViewChild('toggleButton', { static: true }),
10157
10680
  __metadata("design:type", ElementRef)
10158
- ], DateTimePickerComponent.prototype, "wrapper", void 0);
10681
+ ], DateTimePickerComponent.prototype, "toggleButton", void 0);
10159
10682
  __decorate([
10160
10683
  Input(),
10161
10684
  __metadata("design:type", Date),
@@ -10284,6 +10807,21 @@ var DateTimePickerComponent = /** @class */ (function () {
10284
10807
  __metadata("design:type", String),
10285
10808
  __metadata("design:paramtypes", [String])
10286
10809
  ], DateTimePickerComponent.prototype, "defaultTab", null);
10810
+ __decorate([
10811
+ Input(),
10812
+ __metadata("design:type", String),
10813
+ __metadata("design:paramtypes", [String])
10814
+ ], DateTimePickerComponent.prototype, "size", null);
10815
+ __decorate([
10816
+ Input(),
10817
+ __metadata("design:type", String),
10818
+ __metadata("design:paramtypes", [String])
10819
+ ], DateTimePickerComponent.prototype, "rounded", null);
10820
+ __decorate([
10821
+ Input(),
10822
+ __metadata("design:type", String),
10823
+ __metadata("design:paramtypes", [String])
10824
+ ], DateTimePickerComponent.prototype, "fillMode", null);
10287
10825
  __decorate([
10288
10826
  ContentChild(CellTemplateDirective, { static: false }),
10289
10827
  __metadata("design:type", CellTemplateDirective)
@@ -10334,7 +10872,7 @@ var DateTimePickerComponent = /** @class */ (function () {
10334
10872
  { provide: NG_VALIDATORS, useExisting: forwardRef(function () { return DateTimePickerComponent_1; }), multi: true },
10335
10873
  { provide: KendoInput, useExisting: forwardRef(function () { return DateTimePickerComponent_1; }) }
10336
10874
  ],
10337
- template: "\n <ng-container\n kendoDateTimePickerLocalizedMessages\n\n i18n-dateTab=\"kendo.datetimepicker.dateTab|The Date tab text in the datetimepicker popup header\"\n dateTab=\"Date\"\n\n i18n-dateTabLabel=\"kendo.datetimepicker.dateTabLabel|The label for the Date tab in the datetimepicker popup header\"\n dateTabLabel=\"Date tab\"\n\n i18n-timeTab=\"kendo.datetimepicker.timeTab|The Time tab text in the datetimepicker popup header\"\n timeTab=\"Time\"\n\n i18n-timeTabLabel=\"kendo.datetimepicker.timeTabLabel|The label for the Time tab in the datetimepicker popup header\"\n timeTabLabel=\"Time tab\"\n\n i18n-toggle=\"kendo.datetimepicker.toggle|The title of the toggle button in the datetimepicker component\"\n toggle=\"Toggle popup\"\n\n i18n-accept=\"kendo.datetimepicker.accept|The Accept button text in the datetimepicker component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.datetimepicker.acceptLabel|The label for the Accept button in the datetimepicker component\"\n acceptLabel=\"Set\"\n\n i18n-cancel=\"kendo.datetimepicker.cancel|The Cancel button text in the datetimepicker component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.datetimepicker.cancelLabel|The label for the Cancel button in the datetimepicker component\"\n cancelLabel=\"Cancel\"\n\n i18n-now=\"kendo.datetimepicker.now|The Now button text in the timepicker component\"\n now=\"NOW\"\n\n i18n-nowLabel=\"kendo.datetimepicker.nowLabel|The label for the Now button in the timepicker component\"\n nowLabel=\"Select now\"\n\n i18n-today=\"kendo.datetimepicker.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.datetimepicker.prevButtonTitle|The title of the previous button in the Classic calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.datetimepicker.nextButtonTitle|The title of the next button in the Classic calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n\n <span\n #wrapper\n class=\"k-picker-wrap\"\n [class.k-state-disabled]=\"disabled\"\n >\n <kendo-dateinput\n [value]=\"value\"\n [format]=\"format\"\n [twoDigitYearMax]=\"twoDigitYearMax\"\n [min]=\"min\"\n [max]=\"max\"\n [incompleteDateValidation]=\"incompleteDateValidation\"\n [formatPlaceholder]=\"formatPlaceholder\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readOnlyInput\"\n [role]=\"inputRole\"\n [ariaReadOnly]=\"readonly\"\n [steps]=\"steps\"\n [tabindex]=\"tabindex\"\n [title]=\"title\"\n [focusableId]=\"focusableId\"\n [hasPopup]=\"true\"\n [isPopupOpen]=\"isOpen\"\n (valueChange)=\"handleInputValueChange($event)\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleKeyDown\n }\"\n [scope]=\"this\"\n >\n </kendo-dateinput>\n <span class=\"k-select\"\n [attr.title]=\"localization.get('toggle')\"\n [attr.aria-label]=\"localization.get('toggle')\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventMouseDown,\n click: handleIconClick\n }\"\n [scope]=\"this\"\n >\n <span class=\"k-link k-link-date\">\n <span\n class=\"k-icon\"\n [class.k-i-calendar]=\"activeTab === 'date'\"\n [class.k-i-clock]=\"activeTab === 'time'\"\n >\n </span>\n </span>\n </span>\n </span>\n\n <ng-container #container></ng-container>\n\n <ng-template #popupTemplate>\n <div\n class=\"k-datetime-wrap k-{{activeTab}}-tab\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventMouseDown,\n keydown: handleKeyDown\n }\"\n [scope]=\"this\"\n >\n <div class=\"k-datetime-buttongroup\"\n [kendoEventsOutsideAngular]=\"{\n focusin: handleFocus,\n focusout: handleBlur\n }\"\n [scope]=\"this\"\n >\n <div class=\"k-button-group k-button-group-stretched\">\n <button\n type=\"button\"\n class=\"k-button k-date-tab\"\n [class.k-state-active]=\"activeTab === 'date'\"\n [attr.title]=\"localization.get('dateTabLabel')\"\n [attr.aria-label]=\"localization.get('dateTabLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: changeActiveTab.bind(this, 'date'),\n keydown: handleBackTabOut\n }\"\n [scope]=\"this\"\n >\n {{localization.get('dateTab')}}\n </button>\n <button\n type=\"button\"\n class=\"k-button k-time-tab\"\n [class.k-state-active]=\"activeTab === 'time'\"\n [attr.title]=\"localization.get('timeTabLabel')\"\n [attr.aria-label]=\"localization.get('timeTabLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: changeActiveTab.bind(this, 'time')\n }\"\n >\n {{localization.get('timeTab')}}\n </button>\n </div>\n </div>\n <div\n #dateTimeSelector\n class=\"k-datetime-selector\"\n [style.transition]=\"tabSwitchTransition\"\n [kendoEventsOutsideAngular]=\"{\n transitionend: handleTabChangeTransitionEnd.bind(this, dateTimeSelector)\n }\"\n >\n <div class=\"k-datetime-calendar-wrap\">\n <kendo-calendar\n [(value)]=\"calendarValue\"\n [type]=\"calendarType\"\n [min]=\"calendarMin\"\n [max]=\"calendarMax\"\n [focusedDate]=\"focusedDate\"\n [weekNumber]=\"weekNumber\"\n [navigation]=\"false\"\n [animateNavigation]=\"animateCalendarNavigation\"\n [cellTemplate]=\"cellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [decadeCellTemplate]=\"decadeCellTemplate\"\n [centuryCellTemplate]=\"centuryCellTemplate\"\n [weekNumberTemplate]=\"weekNumberTemplate\"\n [headerTitleTemplate]=\"headerTitleTemplate\"\n [disabled]=\"disableCalendar\"\n [disabledDates]=\"disabledDates\"\n (valueChange)=\"handleCalendarValueChange()\"\n >\n <kendo-calendar-messages\n [today]=\"localization.get('today')\"\n [prevButtonTitle]=\"localization.get('prevButtonTitle')\"\n [nextButtonTitle]=\"localization.get('nextButtonTitle')\"\n >\n </kendo-calendar-messages>\n </kendo-calendar>\n </div>\n <div class=\"k-datetime-time-wrap\">\n <kendo-timeselector\n [value]=\"value\"\n [format]=\"timeSelectorFormat\"\n [min]=\"timeSelectorMin\"\n [max]=\"timeSelectorMax\"\n [setButton]=\"false\"\n [cancelButton]=\"false\"\n [steps]=\"steps\"\n [disabled]=\"disableTimeSelector\"\n >\n <kendo-timeselector-messages\n [now]=\"localization.get('now')\"\n [nowLabel]=\"localization.get('nowLabel')\"\n >\n </kendo-timeselector-messages>\n </kendo-timeselector>\n </div>\n </div>\n <div\n class=\"k-datetime-footer k-action-buttons k-actions k-hstack k-justify-content-stretch\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleTabOut,\n focusin: handleFocus,\n focusout: handleBlur\n }\"\n [scope]=\"this\"\n >\n <button\n *ngIf=\"cancelButton\"\n type=\"button\"\n class=\"k-button k-time-cancel\"\n [attr.title]=\"localization.get('cancelLabel')\"\n [attr.aria-label]=\"localization.get('cancelLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleCancel\n }\"\n [scope]=\"this\"\n >\n {{localization.get('cancel')}}\n </button>\n <button\n type=\"button\"\n class=\"k-time-accept k-button k-primary\"\n [attr.title]=\"localization.get('acceptLabel')\"\n [attr.aria-label]=\"localization.get('acceptLabel')\"\n [disabled]=\"!calendarValue\"\n [kendoEventsOutsideAngular]=\"{\n click: handleAccept\n }\"\n [scope]=\"this\"\n >\n {{localization.get('accept')}}\n </button>\n </div>\n </div>\n </ng-template>\n "
10875
+ template: "\n <ng-container\n kendoDateTimePickerLocalizedMessages\n\n i18n-dateTab=\"kendo.datetimepicker.dateTab|The Date tab text in the datetimepicker popup header\"\n dateTab=\"Date\"\n\n i18n-dateTabLabel=\"kendo.datetimepicker.dateTabLabel|The label for the Date tab in the datetimepicker popup header\"\n dateTabLabel=\"Date tab\"\n\n i18n-timeTab=\"kendo.datetimepicker.timeTab|The Time tab text in the datetimepicker popup header\"\n timeTab=\"Time\"\n\n i18n-timeTabLabel=\"kendo.datetimepicker.timeTabLabel|The label for the Time tab in the datetimepicker popup header\"\n timeTabLabel=\"Time tab\"\n\n i18n-toggle=\"kendo.datetimepicker.toggle|The title of the toggle button in the datetimepicker component\"\n toggle=\"Toggle popup\"\n\n i18n-accept=\"kendo.datetimepicker.accept|The Accept button text in the datetimepicker component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.datetimepicker.acceptLabel|The label for the Accept button in the datetimepicker component\"\n acceptLabel=\"Set\"\n\n i18n-cancel=\"kendo.datetimepicker.cancel|The Cancel button text in the datetimepicker component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.datetimepicker.cancelLabel|The label for the Cancel button in the datetimepicker component\"\n cancelLabel=\"Cancel\"\n\n i18n-now=\"kendo.datetimepicker.now|The Now button text in the timepicker component\"\n now=\"NOW\"\n\n i18n-nowLabel=\"kendo.datetimepicker.nowLabel|The label for the Now button in the timepicker component\"\n nowLabel=\"Select now\"\n\n i18n-today=\"kendo.datetimepicker.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.datetimepicker.prevButtonTitle|The title of the previous button in the Classic calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.datetimepicker.nextButtonTitle|The title of the next button in the Classic calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n\n <kendo-dateinput\n [value]=\"value\"\n [format]=\"format\"\n [twoDigitYearMax]=\"twoDigitYearMax\"\n [min]=\"min\"\n [max]=\"max\"\n [incompleteDateValidation]=\"incompleteDateValidation\"\n [formatPlaceholder]=\"formatPlaceholder\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readOnlyInput\"\n [role]=\"inputRole\"\n [ariaReadOnly]=\"readonly\"\n [steps]=\"steps\"\n [tabindex]=\"tabindex\"\n [title]=\"title\"\n [focusableId]=\"focusableId\"\n [hasPopup]=\"true\"\n [isPopupOpen]=\"isOpen\"\n (valueChange)=\"handleInputValueChange($event)\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleKeyDown\n }\"\n [scope]=\"this\"\n [fillMode]=\"fillMode\"\n [rounded]=\"rounded\"\n [size]=\"size\"\n >\n </kendo-dateinput>\n <button\n #toggleButton\n type=\"button\"\n class=\"k-input-button k-button k-icon-button\"\n [tabindex]=\"-1\"\n [attr.title]=\"localization.get('toggle')\"\n [attr.aria-label]=\"localization.get('toggle')\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventMouseDown,\n click: handleIconClick\n }\"\n [scope]=\"this\"\n >\n <span class=\"k-button-icon k-icon\"\n [ngClass]=\"{\n 'k-i-calendar': activeTab === 'date',\n 'k-i-clock': activeTab === 'time'\n }\"\n ></span>\n </button>\n\n <ng-container #container></ng-container>\n\n <ng-template #popupTemplate>\n <div\n class=\"k-datetime-wrap k-{{activeTab}}-tab\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventMouseDown,\n keydown: handleKeyDown\n }\"\n [scope]=\"this\"\n >\n <div class=\"k-datetime-buttongroup\"\n [kendoEventsOutsideAngular]=\"{\n focusin: handleFocus,\n focusout: handleBlur\n }\"\n [scope]=\"this\"\n >\n <div class=\"k-button-group k-button-group-stretched\">\n <button\n type=\"button\"\n class=\"k-button k-group-start k-date-tab\"\n [ngClass]=\"popupButtonsClasses()\"\n [class.k-active]=\"activeTab === 'date'\"\n [attr.title]=\"localization.get('dateTabLabel')\"\n [attr.aria-label]=\"localization.get('dateTabLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: changeActiveTab.bind(this, 'date'),\n keydown: handleBackTabOut\n }\"\n [scope]=\"this\"\n >\n {{localization.get('dateTab')}}\n </button>\n <button\n type=\"button\"\n class=\"k-button k-group-end k-time-tab\"\n [ngClass]=\"popupButtonsClasses()\"\n [class.k-active]=\"activeTab === 'time'\"\n [attr.title]=\"localization.get('timeTabLabel')\"\n [attr.aria-label]=\"localization.get('timeTabLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: changeActiveTab.bind(this, 'time')\n }\"\n >\n {{localization.get('timeTab')}}\n </button>\n </div>\n </div>\n <div\n #dateTimeSelector\n class=\"k-datetime-selector\"\n [style.transition]=\"tabSwitchTransition\"\n [kendoEventsOutsideAngular]=\"{\n transitionend: handleTabChangeTransitionEnd.bind(this, dateTimeSelector)\n }\"\n >\n <div class=\"k-datetime-calendar-wrap\">\n <kendo-calendar\n [(value)]=\"calendarValue\"\n [type]=\"calendarType\"\n [min]=\"calendarMin\"\n [max]=\"calendarMax\"\n [focusedDate]=\"focusedDate\"\n [weekNumber]=\"weekNumber\"\n [navigation]=\"false\"\n [animateNavigation]=\"animateCalendarNavigation\"\n [cellTemplate]=\"cellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [decadeCellTemplate]=\"decadeCellTemplate\"\n [centuryCellTemplate]=\"centuryCellTemplate\"\n [weekNumberTemplate]=\"weekNumberTemplate\"\n [headerTitleTemplate]=\"headerTitleTemplate\"\n [disabled]=\"disableCalendar\"\n [disabledDates]=\"disabledDates\"\n (valueChange)=\"handleCalendarValueChange()\"\n >\n <kendo-calendar-messages\n [today]=\"localization.get('today')\"\n [prevButtonTitle]=\"localization.get('prevButtonTitle')\"\n [nextButtonTitle]=\"localization.get('nextButtonTitle')\"\n >\n </kendo-calendar-messages>\n </kendo-calendar>\n </div>\n <div class=\"k-datetime-time-wrap\">\n <kendo-timeselector\n [value]=\"value\"\n [format]=\"timeSelectorFormat\"\n [min]=\"timeSelectorMin\"\n [max]=\"timeSelectorMax\"\n [setButton]=\"false\"\n [cancelButton]=\"false\"\n [steps]=\"steps\"\n [disabled]=\"disableTimeSelector\"\n >\n <kendo-timeselector-messages\n [now]=\"localization.get('now')\"\n [nowLabel]=\"localization.get('nowLabel')\"\n >\n </kendo-timeselector-messages>\n </kendo-timeselector>\n </div>\n </div>\n <div\n class=\"k-datetime-footer k-action-buttons k-actions k-hstack k-justify-content-stretch\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleTabOut,\n focusin: handleFocus,\n focusout: handleBlur\n }\"\n [scope]=\"this\"\n >\n <button\n *ngIf=\"cancelButton\"\n type=\"button\"\n class=\"k-button k-time-cancel\"\n [ngClass]=\"popupButtonsClasses()\"\n [attr.title]=\"localization.get('cancelLabel')\"\n [attr.aria-label]=\"localization.get('cancelLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleCancel\n }\"\n [scope]=\"this\"\n >\n {{localization.get('cancel')}}\n </button>\n <button\n type=\"button\"\n class=\"k-button k-time-accept\"\n [ngClass]=\"popupButtonsClasses('primary')\"\n [attr.title]=\"localization.get('acceptLabel')\"\n [attr.aria-label]=\"localization.get('acceptLabel')\"\n [disabled]=\"!calendarValue\"\n [kendoEventsOutsideAngular]=\"{\n click: handleAccept\n }\"\n [scope]=\"this\"\n >\n {{localization.get('accept')}}\n </button>\n </div>\n </div>\n </ng-template>\n "
10338
10876
  }),
10339
10877
  __param(6, Inject(TOUCH_ENABLED)),
10340
10878
  __metadata("design:paramtypes", [PopupService,
@@ -11125,7 +11663,7 @@ var DateRangeInput = /** @class */ (function () {
11125
11663
  var action = show ? 'addClass' : 'removeClass';
11126
11664
  var nativeElement = this.element.nativeElement;
11127
11665
  if (nativeElement && nativeElement.querySelector) {
11128
- this.renderer[action](nativeElement.querySelector('.k-dateinput-wrap'), 'k-state-focused');
11666
+ this.renderer[action](nativeElement, 'k-focus');
11129
11667
  }
11130
11668
  };
11131
11669
  return DateRangeInput;
@@ -11754,7 +12292,7 @@ var ViewComponent = /** @class */ (function () {
11754
12292
  'k-state-selected': !context.isOtherMonth && (context.isSelected || isRangeStart || isRangeEnd),
11755
12293
  'k-today': !context.isOtherMonth && context.isToday,
11756
12294
  'k-weekend': context.isWeekend,
11757
- 'k-state-disabled': context.isDisabled,
12295
+ 'k-disabled': context.isDisabled,
11758
12296
  'k-other-month': context.isOtherMonth
11759
12297
  });
11760
12298
  };
@@ -12726,14 +13264,16 @@ var DateRangeModule = /** @class */ (function () {
12726
13264
  var div$1 = domContainerFactory('div');
12727
13265
  var ul$1 = domContainerFactory('ul');
12728
13266
  var li$1 = domContainerFactory('li');
13267
+ var span = domContainerFactory('span');
13268
+ var listTitle = function () { return span('hour', 'k-title k-timeselector-title'); };
12729
13269
  var listItem = function () { return li$1('<span>02</span>', 'k-item'); };
12730
13270
  var list = function () { return ul$1([listItem()], 'k-reset'); };
12731
- var scrollable$1 = function () { return (div$1([list()], 'k-time-container k-content k-scrollable')); };
13271
+ var scrollable$1 = function () { return (div$1([list()], 'k-time-container k-flex k-content k-calendar-content k-scrollable')); };
12732
13272
  var timeListWrapper = function () {
12733
13273
  if (!isDocumentAvailable()) {
12734
13274
  return null;
12735
13275
  }
12736
- return div$1([div$1([scrollable$1()], 'k-time-list')], 'k-time-list-wrapper', { left: '-10000px', position: 'absolute' });
13276
+ return div$1([listTitle(), div$1([scrollable$1()], 'k-time-list')], 'k-time-list-wrapper', { left: '-10000px', position: 'absolute' });
12737
13277
  };
12738
13278
  var TIMELIST_WRAPPER = timeListWrapper();
12739
13279
  /**
@@ -12755,7 +13295,8 @@ var TimePickerDOMService = /** @class */ (function () {
12755
13295
  var listContainer = container && container.querySelector('.k-time-list-container');
12756
13296
  var hostContainer = listContainer || document.body;
12757
13297
  var wrapper = hostContainer.appendChild(TIMELIST_WRAPPER);
12758
- this.timeListHeight = wrapper.querySelector('.k-scrollable').getBoundingClientRect().height;
13298
+ this.timeListTitleHeight = wrapper.querySelector('.k-timeselector-title').getBoundingClientRect().height;
13299
+ this.timeListHeight = wrapper.getBoundingClientRect().height;
12759
13300
  this.itemHeight = wrapper.querySelector('li').getBoundingClientRect().height;
12760
13301
  hostContainer.removeChild(wrapper);
12761
13302
  };
@@ -13415,8 +13956,9 @@ var TimeListComponent = /** @class */ (function () {
13415
13956
  this.dom.ensureHeights();
13416
13957
  this.itemHeight = this.dom.itemHeight;
13417
13958
  this.listHeight = this.dom.timeListHeight;
13418
- this.topOffset = (this.listHeight - this.itemHeight) / 2;
13419
- this.bottomOffset = this.listHeight - this.itemHeight;
13959
+ var titleHeight = this.dom.timeListTitleHeight;
13960
+ this.topOffset = (this.listHeight - this.itemHeight - titleHeight) / 2;
13961
+ this.bottomOffset = this.listHeight - this.itemHeight - titleHeight;
13420
13962
  this.topThreshold = this.itemHeight * SNAP_THRESHOLD;
13421
13963
  this.bottomThreshold = this.itemHeight * (1 - SNAP_THRESHOLD);
13422
13964
  var translate = "translateY(" + this.topOffset + "px)";
@@ -13619,12 +14161,12 @@ var TimeListComponent = /** @class */ (function () {
13619
14161
  var isEqualTillMinute = function (value, min) { return value.getHours() === min.getHours() && value.getMinutes() === min.getMinutes(); };
13620
14162
  var isEqualTillSecond = function (value, min) { return isEqualTillMinute(value, min) && value.getSeconds() === min.getSeconds(); };
13621
14163
  var isEqualTillMillisecond = function (value, min) { return isEqualTillSecond(value, min) && value.getMilliseconds() === min.getMilliseconds(); };
13622
- var ɵ3$7 = function (value) { return value.getHours(); }, ɵ4$2 = function (_, min) { return min.getHours(); }, ɵ5$1 = function (value) { return value.getMinutes(); }, ɵ6$1 = function (value, min) { return isEqualTillMinute(value, min) ? min.getMinutes() : 0; }, ɵ7$1 = function (value) { return value.getSeconds(); }, ɵ8$1 = function (value, min) { return isEqualTillSecond(value, min) ? min.getSeconds() : 0; }, ɵ9$1 = function (value) { return value.getMilliseconds(); }, ɵ10$1 = function (value, min) { return isEqualTillMillisecond(value, min) ? min.getMilliseconds() : 0; };
14164
+ var ɵ3$7 = function (value) { return value.getHours(); }, ɵ4$3 = function (_, min) { return min.getHours(); }, ɵ5$1 = function (value) { return value.getMinutes(); }, ɵ6$1 = function (value, min) { return isEqualTillMinute(value, min) ? min.getMinutes() : 0; }, ɵ7$1 = function (value) { return value.getSeconds(); }, ɵ8$1 = function (value, min) { return isEqualTillSecond(value, min) ? min.getSeconds() : 0; }, ɵ9$1 = function (value) { return value.getMilliseconds(); }, ɵ10$1 = function (value, min) { return isEqualTillMillisecond(value, min) ? min.getMilliseconds() : 0; };
13623
14165
  var defaultGetters = [
13624
14166
  {
13625
14167
  type: TIME_PART.hour,
13626
14168
  getter: ɵ3$7,
13627
- minGetter: ɵ4$2
14169
+ minGetter: ɵ4$3
13628
14170
  }, {
13629
14171
  type: TIME_PART.minute,
13630
14172
  getter: ɵ5$1,
@@ -14079,7 +14621,7 @@ var TimeSelectorComponent = /** @class */ (function () {
14079
14621
  __metadata("design:type", Boolean)
14080
14622
  ], TimeSelectorComponent.prototype, "componentClass", void 0);
14081
14623
  __decorate([
14082
- HostBinding('class.k-state-disabled'),
14624
+ HostBinding('class.k-disabled'),
14083
14625
  __metadata("design:type", Boolean),
14084
14626
  __metadata("design:paramtypes", [])
14085
14627
  ], TimeSelectorComponent.prototype, "disabledClass", null);
@@ -14140,7 +14682,7 @@ var TimeSelectorComponent = /** @class */ (function () {
14140
14682
  }
14141
14683
  ],
14142
14684
  selector: 'kendo-timeselector',
14143
- template: "\n <ng-container kendoTimeSelectorLocalizedMessages\n i18n-accept=\"kendo.timeselector.accept|The Accept button text in the timeselector component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.timeselector.acceptLabel|The label for the Accept button in the timeselector component\"\n acceptLabel=\"Set time\"\n\n i18n-cancel=\"kendo.timeselector.cancel|The Cancel button text in the timeselector component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.timeselector.cancelLabel|The label for the Cancel button in the timeselector component\"\n cancelLabel=\"Cancel changes\"\n\n i18n-now=\"kendo.timeselector.now|The Now button text in the timeselector component\"\n now=\"Now\"\n\n i18n-nowLabel=\"kendo.timeselector.nowLabel|The label for the Now button in the timeselector component\"\n nowLabel=\"Select now\"\n >\n </ng-container>\n <div class=\"k-time-header\">\n <span class=\"k-title k-timeselector-title\">\n {{ intl.formatDate(current, format) }}\n </span>\n <button\n #now\n *ngIf=\"showNowButton\"\n class=\"k-button k-flat k-time-now\" type=\"button\"\n [attr.title]=\"localization.get('nowLabel')\"\n [attr.aria-label]=\"localization.get('nowLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleNow,\n focus: handleFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [disabled]=\"disabled\"\n >{{localization.get('now')}}</button>\n </div>\n <div class=\"k-time-list-container\">\n <span class=\"k-time-highlight\"></span>\n <ng-template ngFor [ngForOf]=\"dateFormatParts\" let-part let-idx=\"index\">\n <div\n #listWrapper\n class=\"k-time-list-wrapper\"\n role=\"presentation\" tabindex=\"-1\"\n *ngIf=\"part.type !== 'literal'\"\n >\n <span class=\"k-title k-timeselector-title\">{{intl.dateFieldName(part)}}</span>\n <kendo-timelist\n [min]=\"min\"\n [max]=\"max\"\n [part]=\"part\"\n [step]=\"partStep(part)\"\n [disabled]=\"disabled\"\n [(value)]=\"current\"\n [kendoEventsOutsideAngular]=\"{\n focus: handleListFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [attr.data-timelist-index]=\"idx\"\n ></kendo-timelist>\n </div>\n <div class=\"k-time-separator\" *ngIf=\"part.type === 'literal'\">\n {{part.pattern}}\n </div>\n </ng-template>\n </div>\n <div class=\"k-time-footer k-action-buttons\" *ngIf=\"setButton || cancelButton\">\n <button\n #cancel\n *ngIf=\"cancelButton\"\n class=\"k-button k-time-cancel\" type=\"button\"\n [attr.title]=\"localization.get('cancelLabel')\"\n [attr.aria-label]=\"localization.get('cancelLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleReject,\n focus: handleFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [disabled]=\"disabled\"\n >{{localization.get('cancel')}}</button>\n <button\n #accept\n *ngIf=\"setButton\"\n type=\"button\"\n class=\"k-time-accept k-button k-primary\"\n [attr.title]=\"localization.get('acceptLabel')\"\n [attr.aria-label]=\"localization.get('acceptLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleAccept,\n focus: handleFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [disabled]=\"disabled\"\n >{{localization.get('accept')}}</button>\n </div>\n "
14685
+ template: "\n <ng-container kendoTimeSelectorLocalizedMessages\n i18n-accept=\"kendo.timeselector.accept|The Accept button text in the timeselector component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.timeselector.acceptLabel|The label for the Accept button in the timeselector component\"\n acceptLabel=\"Set time\"\n\n i18n-cancel=\"kendo.timeselector.cancel|The Cancel button text in the timeselector component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.timeselector.cancelLabel|The label for the Cancel button in the timeselector component\"\n cancelLabel=\"Cancel changes\"\n\n i18n-now=\"kendo.timeselector.now|The Now button text in the timeselector component\"\n now=\"Now\"\n\n i18n-nowLabel=\"kendo.timeselector.nowLabel|The label for the Now button in the timeselector component\"\n nowLabel=\"Select now\"\n >\n </ng-container>\n <div class=\"k-time-header\">\n <span class=\"k-title k-timeselector-title\">\n {{ intl.formatDate(current, format) }}\n </span>\n <button\n #now\n *ngIf=\"showNowButton\"\n type=\"button\"\n class=\"k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-time-now\"\n [attr.title]=\"localization.get('nowLabel')\"\n [attr.aria-label]=\"localization.get('nowLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleNow,\n focus: handleFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [disabled]=\"disabled\"\n >{{localization.get('now')}}</button>\n </div>\n <div class=\"k-time-list-container\">\n <span class=\"k-time-highlight\"></span>\n <ng-template ngFor [ngForOf]=\"dateFormatParts\" let-part let-idx=\"index\">\n <div\n #listWrapper\n class=\"k-time-list-wrapper\"\n role=\"presentation\" tabindex=\"-1\"\n *ngIf=\"part.type !== 'literal'\"\n >\n <span class=\"k-title k-timeselector-title\">{{intl.dateFieldName(part)}}</span>\n <kendo-timelist\n [min]=\"min\"\n [max]=\"max\"\n [part]=\"part\"\n [step]=\"partStep(part)\"\n [disabled]=\"disabled\"\n [(value)]=\"current\"\n [kendoEventsOutsideAngular]=\"{\n focus: handleListFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [attr.data-timelist-index]=\"idx\"\n ></kendo-timelist>\n </div>\n <div class=\"k-time-separator\" *ngIf=\"part.type === 'literal'\">\n {{part.pattern}}\n </div>\n </ng-template>\n </div>\n <div class=\"k-time-footer k-action-buttons k-actions k-hstack k-justify-content-stretch\" *ngIf=\"setButton || cancelButton\">\n <button\n #cancel\n *ngIf=\"cancelButton\"\n class=\"k-button k-time-cancel k-button-md k-rounded-md k-button-solid k-button-solid-base\"\n type=\"button\"\n [attr.title]=\"localization.get('cancelLabel')\"\n [attr.aria-label]=\"localization.get('cancelLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleReject,\n focus: handleFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [disabled]=\"disabled\"\n >{{localization.get('cancel')}}</button>\n <button\n #accept\n *ngIf=\"setButton\"\n type=\"button\"\n class=\"k-button k-time-accept k-button-md k-rounded-md k-button-solid k-button-solid-primary\"\n [attr.title]=\"localization.get('acceptLabel')\"\n [attr.aria-label]=\"localization.get('acceptLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleAccept,\n focus: handleFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [disabled]=\"disabled\"\n >{{localization.get('accept')}}</button>\n </div>\n "
14144
14686
  }),
14145
14687
  __param(7, Optional()),
14146
14688
  __metadata("design:paramtypes", [LocalizationService,