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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) 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 +1 -1
  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 +127 -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.js +1 -1
  27. package/dist/es2015/calendar/services/dom.service.js +1 -1
  28. package/dist/es2015/calendar/view.component.js +1 -1
  29. package/dist/es2015/common/models/fillmode.d.ts +14 -0
  30. package/dist/es2015/common/models/fillmode.js +4 -0
  31. package/dist/es2015/common/models/rounded.d.ts +15 -0
  32. package/dist/es2015/common/models/rounded.js +4 -0
  33. package/dist/es2015/common/models/size.d.ts +14 -0
  34. package/dist/es2015/common/models/size.js +4 -0
  35. package/dist/es2015/dateinput/dateinput.component.d.ts +49 -8
  36. package/dist/es2015/dateinput/dateinput.component.js +183 -68
  37. package/dist/es2015/datepicker/datepicker.component.d.ts +47 -5
  38. package/dist/es2015/datepicker/datepicker.component.js +152 -49
  39. package/dist/es2015/daterange/date-range-input.js +1 -1
  40. package/dist/es2015/datetimepicker/datetimepicker.component.d.ts +56 -6
  41. package/dist/es2015/datetimepicker/datetimepicker.component.js +186 -63
  42. package/dist/es2015/index.metadata.json +1 -1
  43. package/dist/es2015/package-metadata.js +1 -1
  44. package/dist/es2015/timepicker/services/dom.service.d.ts +1 -0
  45. package/dist/es2015/timepicker/services/dom.service.js +12 -8
  46. package/dist/es2015/timepicker/timelist.component.js +3 -2
  47. package/dist/es2015/timepicker/timepicker.component.d.ts +50 -5
  48. package/dist/es2015/timepicker/timepicker.component.js +174 -69
  49. package/dist/es2015/timepicker/timeselector.component.js +7 -5
  50. package/dist/es2015/util.d.ts +18 -0
  51. package/dist/es2015/util.js +37 -0
  52. package/dist/fesm2015/index.js +756 -267
  53. package/dist/fesm5/index.js +600 -67
  54. package/dist/npm/calendar/calendar.component.js +1 -1
  55. package/dist/npm/calendar/header.component.js +1 -1
  56. package/dist/npm/calendar/multiview-calendar.component.js +1 -1
  57. package/dist/npm/calendar/services/dom.service.js +1 -1
  58. package/dist/npm/calendar/view.component.js +1 -1
  59. package/dist/npm/common/models/fillmode.js +6 -0
  60. package/dist/npm/common/models/rounded.js +6 -0
  61. package/dist/npm/common/models/size.js +6 -0
  62. package/dist/npm/dateinput/dateinput.component.js +142 -17
  63. package/dist/npm/datepicker/datepicker.component.js +126 -12
  64. package/dist/npm/daterange/date-range-input.js +1 -1
  65. package/dist/npm/datetimepicker/datetimepicker.component.js +146 -10
  66. package/dist/npm/package-metadata.js +1 -1
  67. package/dist/npm/timepicker/services/dom.service.js +15 -10
  68. package/dist/npm/timepicker/timelist.component.js +3 -2
  69. package/dist/npm/timepicker/timepicker.component.js +129 -12
  70. package/dist/npm/timepicker/timeselector.component.js +2 -2
  71. package/dist/npm/util.js +37 -0
  72. package/dist/systemjs/kendo-angular-dateinputs.js +1 -1
  73. package/package.json +2 -2
@@ -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: 1641547209,
26
+ publishDate: 1642521990,
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,
@@ -3218,7 +3255,7 @@ var MultiViewCalendarComponent = /** @class */ (function () {
3218
3255
  ], MultiViewCalendarComponent.prototype, "calendarTabIndex", null);
3219
3256
  __decorate([
3220
3257
  HostBinding('attr.aria-disabled'),
3221
- HostBinding('class.k-state-disabled'),
3258
+ HostBinding('class.k-disabled'),
3222
3259
  __metadata("design:type", Boolean),
3223
3260
  __metadata("design:paramtypes", [])
3224
3261
  ], MultiViewCalendarComponent.prototype, "ariaDisabled", null);
@@ -3312,7 +3349,7 @@ var tr = domContainerFactory('tr');
3312
3349
  var tbody = domContainerFactory('tbody');
3313
3350
  var thead = domContainerFactory('thead');
3314
3351
  var table = domContainerFactory('table');
3315
- 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')); };
3316
3353
  var monthWeekHeader = function () { return (table([
3317
3354
  thead([
3318
3355
  tr([th('MO', 'k-calendar-th')], 'k-calendar-tr')
@@ -5599,7 +5636,7 @@ var CalendarComponent = /** @class */ (function () {
5599
5636
  ], CalendarComponent.prototype, "calendarTabIndex", null);
5600
5637
  __decorate([
5601
5638
  HostBinding('attr.aria-disabled'),
5602
- HostBinding('class.k-state-disabled'),
5639
+ HostBinding('class.k-disabled'),
5603
5640
  __metadata("design:type", Boolean),
5604
5641
  __metadata("design:paramtypes", [])
5605
5642
  ], CalendarComponent.prototype, "ariaDisabled", null);
@@ -6098,11 +6135,11 @@ var KendoDate = /** @class */ (function () {
6098
6135
  * Represents the [Kendo UI DateInput component for Angular]({% slug overview_dateinput %}#toc-basic-usage).
6099
6136
  */
6100
6137
  var DateInputComponent = /** @class */ (function () {
6101
- function DateInputComponent(cdr, intl, renderer, element, ngZone, injector, localization, pickerService) {
6138
+ function DateInputComponent(cdr, intl, renderer, wrapper, ngZone, injector, localization, pickerService) {
6102
6139
  this.cdr = cdr;
6103
6140
  this.intl = intl;
6104
6141
  this.renderer = renderer;
6105
- this.element = element;
6142
+ this.wrapper = wrapper;
6106
6143
  this.ngZone = ngZone;
6107
6144
  this.injector = injector;
6108
6145
  this.localization = localization;
@@ -6304,6 +6341,9 @@ var DateInputComponent = /** @class */ (function () {
6304
6341
  this.onControlChange = noop;
6305
6342
  this.onControlTouched = noop;
6306
6343
  this.onValidatorChange = noop;
6344
+ this._size = 'medium';
6345
+ this._rounded = 'medium';
6346
+ this._fillMode = 'solid';
6307
6347
  this.symbolsMap = this.dateSymbolMap();
6308
6348
  this.updateFormatSections();
6309
6349
  if (this.pickerService) {
@@ -6344,6 +6384,83 @@ var DateInputComponent = /** @class */ (function () {
6344
6384
  enumerable: true,
6345
6385
  configurable: true
6346
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
+ });
6347
6464
  Object.defineProperty(DateInputComponent.prototype, "wrapperClass", {
6348
6465
  get: function () {
6349
6466
  return true;
@@ -6378,16 +6495,16 @@ var DateInputComponent = /** @class */ (function () {
6378
6495
  },
6379
6496
  set: function (value) {
6380
6497
  this._active = value;
6381
- if (!this.wrap) {
6498
+ if (!this.wrapper) {
6382
6499
  return;
6383
6500
  }
6384
6501
  if (!isPresent(this.pickerService)) {
6385
- var element = this.wrap.nativeElement;
6502
+ var element = this.wrapper.nativeElement;
6386
6503
  if (value) {
6387
- this.renderer.addClass(element, 'k-state-focused');
6504
+ this.renderer.addClass(element, 'k-focus');
6388
6505
  }
6389
6506
  else {
6390
- this.renderer.removeClass(element, 'k-state-focused');
6507
+ this.renderer.removeClass(element, 'k-focus');
6391
6508
  }
6392
6509
  }
6393
6510
  },
@@ -6436,7 +6553,7 @@ var DateInputComponent = /** @class */ (function () {
6436
6553
  */
6437
6554
  DateInputComponent.prototype.containsElement = function (element) {
6438
6555
  var _this = this;
6439
- return Boolean(closest(element, function (node) { return node === _this.element.nativeElement; }));
6556
+ return Boolean(closest(element, function (node) { return node === _this.wrapper.nativeElement; }));
6440
6557
  };
6441
6558
  /**
6442
6559
  * @hidden
@@ -6489,13 +6606,16 @@ var DateInputComponent = /** @class */ (function () {
6489
6606
  this.updateElementValue();
6490
6607
  this.intlSubscription = this.intl.changes.subscribe(this.intlChange.bind(this));
6491
6608
  this.ngControl = this.injector.get(NgControl, null);
6492
- if (this.element) {
6493
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
6609
+ if (this.wrapper) {
6610
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
6494
6611
  this.ngZone.runOutsideAngular(function () {
6495
6612
  _this.bindEvents();
6496
6613
  });
6497
6614
  }
6498
6615
  };
6616
+ DateInputComponent.prototype.ngAfterViewInit = function () {
6617
+ this.setComponentClasses();
6618
+ };
6499
6619
  /**
6500
6620
  * @hidden
6501
6621
  */
@@ -6849,7 +6969,7 @@ var DateInputComponent = /** @class */ (function () {
6849
6969
  }
6850
6970
  };
6851
6971
  DateInputComponent.prototype.bindEvents = function () {
6852
- var element = this.element.nativeElement;
6972
+ var element = this.wrapper.nativeElement;
6853
6973
  var mousewheelHandler = this.handleMouseWheel.bind(this);
6854
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)));
6855
6975
  };
@@ -6981,6 +7101,29 @@ var DateInputComponent = /** @class */ (function () {
6981
7101
  this.pickerService.dateCompletenessChange.emit();
6982
7102
  }
6983
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
+ };
6984
7127
  var DateInputComponent_1;
6985
7128
  __decorate([
6986
7129
  Input(),
@@ -7072,6 +7215,21 @@ var DateInputComponent = /** @class */ (function () {
7072
7215
  Input(),
7073
7216
  __metadata("design:type", Boolean)
7074
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);
7075
7233
  __decorate([
7076
7234
  Output(),
7077
7235
  __metadata("design:type", EventEmitter)
@@ -7093,20 +7251,24 @@ var DateInputComponent = /** @class */ (function () {
7093
7251
  __metadata("design:type", ElementRef)
7094
7252
  ], DateInputComponent.prototype, "dateInput", void 0);
7095
7253
  __decorate([
7096
- ViewChild('wrap', { static: false }),
7097
- __metadata("design:type", ElementRef)
7098
- ], DateInputComponent.prototype, "wrap", void 0);
7099
- __decorate([
7100
- HostBinding('class.k-widget'),
7254
+ HostBinding('class.k-input'),
7101
7255
  HostBinding('class.k-dateinput'),
7102
7256
  __metadata("design:type", Boolean),
7103
7257
  __metadata("design:paramtypes", [])
7104
7258
  ], DateInputComponent.prototype, "wrapperClass", null);
7105
7259
  __decorate([
7106
- HostBinding('class.k-state-disabled'),
7260
+ HostBinding('class.k-disabled'),
7107
7261
  __metadata("design:type", Boolean),
7108
7262
  __metadata("design:paramtypes", [])
7109
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);
7110
7272
  DateInputComponent = DateInputComponent_1 = __decorate([
7111
7273
  Component({
7112
7274
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -7119,7 +7281,7 @@ var DateInputComponent = /** @class */ (function () {
7119
7281
  LocalizationService
7120
7282
  ],
7121
7283
  selector: 'kendo-dateinput',
7122
- 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 "
7123
7285
  }),
7124
7286
  __param(7, Optional()),
7125
7287
  __metadata("design:paramtypes", [ChangeDetectorRef,
@@ -7189,12 +7351,12 @@ var TWO_DIGIT_YEAR_MAX$1 = 68;
7189
7351
  * Represents the [Kendo UI DatePicker component for Angular]({% slug overview_datepicker %}#toc-basic-usage).
7190
7352
  */
7191
7353
  var DatePickerComponent = /** @class */ (function () {
7192
- 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) {
7193
7355
  this.zone = zone;
7194
7356
  this.localization = localization;
7195
7357
  this.cdr = cdr;
7196
7358
  this.popupService = popupService;
7197
- this.element = element;
7359
+ this.wrapper = wrapper;
7198
7360
  this.renderer = renderer;
7199
7361
  this.injector = injector;
7200
7362
  this.pickerService = pickerService;
@@ -7420,6 +7582,9 @@ var DatePickerComponent = /** @class */ (function () {
7420
7582
  this.incompleteValidator = noop;
7421
7583
  this.resolvedPromise = Promise.resolve(null);
7422
7584
  this.domEvents = [];
7585
+ this._size = 'medium';
7586
+ this._rounded = 'medium';
7587
+ this._fillMode = 'solid';
7423
7588
  validatePackage(packageMetadata);
7424
7589
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
7425
7590
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -7570,6 +7735,85 @@ var DatePickerComponent = /** @class */ (function () {
7570
7735
  enumerable: true,
7571
7736
  configurable: true
7572
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
+ });
7573
7817
  Object.defineProperty(DatePickerComponent.prototype, "disabledClass", {
7574
7818
  /**
7575
7819
  * @hidden
@@ -7601,10 +7845,10 @@ var DatePickerComponent = /** @class */ (function () {
7601
7845
  }
7602
7846
  var element = this.wrapper.nativeElement;
7603
7847
  if (value) {
7604
- this.renderer.addClass(element, 'k-state-focused');
7848
+ this.renderer.addClass(element, 'k-focus');
7605
7849
  }
7606
7850
  else {
7607
- this.renderer.removeClass(element, 'k-state-focused');
7851
+ this.renderer.removeClass(element, 'k-focus');
7608
7852
  }
7609
7853
  },
7610
7854
  enumerable: true,
@@ -7648,13 +7892,16 @@ var DatePickerComponent = /** @class */ (function () {
7648
7892
  .changes
7649
7893
  .subscribe(function () { return _this.cdr.markForCheck(); });
7650
7894
  this.control = this.injector.get(NgControl, null);
7651
- if (this.element) {
7652
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
7895
+ if (this.wrapper) {
7896
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
7653
7897
  this.zone.runOutsideAngular(function () {
7654
7898
  _this.bindEvents();
7655
7899
  });
7656
7900
  }
7657
7901
  };
7902
+ DatePickerComponent.prototype.ngAfterViewInit = function () {
7903
+ this.setComponentClasses();
7904
+ };
7658
7905
  /**
7659
7906
  * @hidden
7660
7907
  */
@@ -7968,7 +8215,7 @@ var DatePickerComponent = /** @class */ (function () {
7968
8215
  }
7969
8216
  };
7970
8217
  DatePickerComponent.prototype.bindEvents = function () {
7971
- var element = this.element.nativeElement;
8218
+ var element = this.wrapper.nativeElement;
7972
8219
  this.domEvents.push(this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
7973
8220
  if (isWindowAvailable()) {
7974
8221
  this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this));
@@ -8027,6 +8274,20 @@ var DatePickerComponent = /** @class */ (function () {
8027
8274
  this.cdr.markForCheck();
8028
8275
  this.zone.run(function () { return _this.onValidatorChange(); });
8029
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
+ };
8030
8291
  var DatePickerComponent_1;
8031
8292
  __decorate([
8032
8293
  ViewChild('container', { read: ViewContainerRef, static: true }),
@@ -8037,9 +8298,9 @@ var DatePickerComponent = /** @class */ (function () {
8037
8298
  __metadata("design:type", TemplateRef)
8038
8299
  ], DatePickerComponent.prototype, "popupTemplate", void 0);
8039
8300
  __decorate([
8040
- ViewChild('wrapper', { static: false }),
8301
+ ViewChild('toggleButton', { static: true }),
8041
8302
  __metadata("design:type", ElementRef)
8042
- ], DatePickerComponent.prototype, "wrapper", void 0);
8303
+ ], DatePickerComponent.prototype, "toggleButton", void 0);
8043
8304
  __decorate([
8044
8305
  ContentChild(CellTemplateDirective, { static: false }),
8045
8306
  __metadata("design:type", CellTemplateDirective)
@@ -8224,6 +8485,21 @@ var DatePickerComponent = /** @class */ (function () {
8224
8485
  Input(),
8225
8486
  __metadata("design:type", Boolean)
8226
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);
8227
8503
  __decorate([
8228
8504
  Output(),
8229
8505
  __metadata("design:type", EventEmitter)
@@ -8245,12 +8521,12 @@ var DatePickerComponent = /** @class */ (function () {
8245
8521
  __metadata("design:type", EventEmitter)
8246
8522
  ], DatePickerComponent.prototype, "close", void 0);
8247
8523
  __decorate([
8248
- HostBinding('class.k-widget'),
8249
8524
  HostBinding('class.k-datepicker'),
8525
+ HostBinding('class.k-input'),
8250
8526
  __metadata("design:type", Boolean)
8251
8527
  ], DatePickerComponent.prototype, "wrapperClasses", void 0);
8252
8528
  __decorate([
8253
- HostBinding('class.k-state-disabled'),
8529
+ HostBinding('class.k-disabled'),
8254
8530
  __metadata("design:type", Boolean),
8255
8531
  __metadata("design:paramtypes", [])
8256
8532
  ], DatePickerComponent.prototype, "disabledClass", null);
@@ -8271,7 +8547,7 @@ var DatePickerComponent = /** @class */ (function () {
8271
8547
  }
8272
8548
  ],
8273
8549
  selector: 'kendo-datepicker',
8274
- 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 "
8275
8551
  }),
8276
8552
  __param(9, Optional()), __param(9, Inject(TOUCH_ENABLED)),
8277
8553
  __metadata("design:paramtypes", [NgZone,
@@ -8324,12 +8600,12 @@ var formatRegExp = new RegExp(TIME_PART.hour + "|" + TIME_PART.minute + "|" + TI
8324
8600
  * Represents the [Kendo UI TimePicker component for Angular]({% slug overview_timepicker %}#toc-basic-usage).
8325
8601
  */
8326
8602
  var TimePickerComponent = /** @class */ (function () {
8327
- 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) {
8328
8604
  this.zone = zone;
8329
8605
  this.localization = localization;
8330
8606
  this.cdr = cdr;
8331
8607
  this.popupService = popupService;
8332
- this.element = element;
8608
+ this.wrapper = wrapper;
8333
8609
  this.renderer = renderer;
8334
8610
  this.injector = injector;
8335
8611
  this.pickerService = pickerService;
@@ -8491,6 +8767,9 @@ var TimePickerComponent = /** @class */ (function () {
8491
8767
  this._value = null;
8492
8768
  this._active = false;
8493
8769
  this.domEvents = [];
8770
+ this._size = 'medium';
8771
+ this._rounded = 'medium';
8772
+ this._fillMode = 'solid';
8494
8773
  validatePackage(packageMetadata);
8495
8774
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
8496
8775
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -8601,6 +8880,85 @@ var TimePickerComponent = /** @class */ (function () {
8601
8880
  enumerable: true,
8602
8881
  configurable: true
8603
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
+ });
8604
8962
  Object.defineProperty(TimePickerComponent.prototype, "disabledClass", {
8605
8963
  /**
8606
8964
  * @hidden
@@ -8632,10 +8990,10 @@ var TimePickerComponent = /** @class */ (function () {
8632
8990
  }
8633
8991
  var element = this.wrapper.nativeElement;
8634
8992
  if (value) {
8635
- this.renderer.addClass(element, 'k-state-focused');
8993
+ this.renderer.addClass(element, 'k-focus');
8636
8994
  }
8637
8995
  else {
8638
- this.renderer.removeClass(element, 'k-state-focused');
8996
+ this.renderer.removeClass(element, 'k-focus');
8639
8997
  }
8640
8998
  },
8641
8999
  enumerable: true,
@@ -8692,13 +9050,19 @@ var TimePickerComponent = /** @class */ (function () {
8692
9050
  this.localizationChangeSubscription = this.localization
8693
9051
  .changes.subscribe(function () { return _this.cdr.markForCheck(); });
8694
9052
  this.control = this.injector.get(NgControl, null);
8695
- if (this.element) {
8696
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
9053
+ if (this.wrapper) {
9054
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
8697
9055
  this.zone.runOutsideAngular(function () {
8698
9056
  _this.bindEvents();
8699
9057
  });
8700
9058
  }
8701
9059
  };
9060
+ /**
9061
+ * @hidden
9062
+ */
9063
+ TimePickerComponent.prototype.ngAfterViewInit = function () {
9064
+ this.setComponentClasses();
9065
+ };
8702
9066
  /**
8703
9067
  * @hidden
8704
9068
  */
@@ -9011,7 +9375,7 @@ var TimePickerComponent = /** @class */ (function () {
9011
9375
  }
9012
9376
  };
9013
9377
  TimePickerComponent.prototype.bindEvents = function () {
9014
- var element = this.element.nativeElement;
9378
+ var element = this.wrapper.nativeElement;
9015
9379
  this.domEvents.push(this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
9016
9380
  if (isWindowAvailable()) {
9017
9381
  this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this));
@@ -9063,6 +9427,20 @@ var TimePickerComponent = /** @class */ (function () {
9063
9427
  this.cdr.markForCheck();
9064
9428
  this.zone.run(function () { return _this.onValidatorChange(); });
9065
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
+ };
9066
9444
  var TimePickerComponent_1;
9067
9445
  __decorate([
9068
9446
  ViewChild('container', { read: ViewContainerRef, static: false }),
@@ -9073,9 +9451,9 @@ var TimePickerComponent = /** @class */ (function () {
9073
9451
  __metadata("design:type", TemplateRef)
9074
9452
  ], TimePickerComponent.prototype, "popupTemplate", void 0);
9075
9453
  __decorate([
9076
- ViewChild('wrapper', { static: false }),
9454
+ ViewChild('toggleButton', { static: true }),
9077
9455
  __metadata("design:type", ElementRef)
9078
- ], TimePickerComponent.prototype, "wrapper", void 0);
9456
+ ], TimePickerComponent.prototype, "toggleButton", void 0);
9079
9457
  __decorate([
9080
9458
  Input(),
9081
9459
  __metadata("design:type", String)
@@ -9158,6 +9536,21 @@ var TimePickerComponent = /** @class */ (function () {
9158
9536
  __metadata("design:type", Date),
9159
9537
  __metadata("design:paramtypes", [Date])
9160
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);
9161
9554
  __decorate([
9162
9555
  Output(),
9163
9556
  __metadata("design:type", EventEmitter)
@@ -9179,12 +9572,12 @@ var TimePickerComponent = /** @class */ (function () {
9179
9572
  __metadata("design:type", EventEmitter)
9180
9573
  ], TimePickerComponent.prototype, "close", void 0);
9181
9574
  __decorate([
9182
- HostBinding('class.k-widget'),
9183
9575
  HostBinding('class.k-timepicker'),
9576
+ HostBinding('class.k-input'),
9184
9577
  __metadata("design:type", Boolean)
9185
9578
  ], TimePickerComponent.prototype, "wrapperClasses", void 0);
9186
9579
  __decorate([
9187
- HostBinding('class.k-state-disabled'),
9580
+ HostBinding('class.k-disabled'),
9188
9581
  __metadata("design:type", Boolean),
9189
9582
  __metadata("design:paramtypes", [])
9190
9583
  ], TimePickerComponent.prototype, "disabledClass", null);
@@ -9204,7 +9597,7 @@ var TimePickerComponent = /** @class */ (function () {
9204
9597
  PickerService
9205
9598
  ],
9206
9599
  selector: 'kendo-timepicker',
9207
- 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 "
9208
9601
  }),
9209
9602
  __param(9, Optional()), __param(9, Inject(TOUCH_ENABLED)),
9210
9603
  __metadata("design:paramtypes", [NgZone,
@@ -9231,13 +9624,13 @@ var TWO_DIGIT_YEAR_MAX$2 = 68;
9231
9624
  * Represents the [Kendo UI DateTimePicker component for Angular]({% slug overview_datetimepicker %}).
9232
9625
  */
9233
9626
  var DateTimePickerComponent = /** @class */ (function () {
9234
- 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) {
9235
9628
  this.popupService = popupService;
9236
9629
  this.intl = intl;
9237
9630
  this.cdr = cdr;
9238
9631
  this.pickerService = pickerService;
9239
9632
  this.ngZone = ngZone;
9240
- this.host = host;
9633
+ this.wrapper = wrapper;
9241
9634
  this.touchEnabled = touchEnabled$$1;
9242
9635
  this.localization = localization;
9243
9636
  this.disabledDatesService = disabledDatesService;
@@ -9404,9 +9797,22 @@ var DateTimePickerComponent = /** @class */ (function () {
9404
9797
  this.disabledDatesValidateFn = noop;
9405
9798
  this.incompleteValidator = noop;
9406
9799
  this.subscriptions = new Subscription();
9800
+ this._size = 'medium';
9801
+ this._rounded = 'medium';
9802
+ this._fillMode = 'solid';
9407
9803
  validatePackage(packageMetadata);
9408
9804
  }
9409
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
+ });
9410
9816
  Object.defineProperty(DateTimePickerComponent.prototype, "input", {
9411
9817
  /**
9412
9818
  * @hidden
@@ -9587,10 +9993,10 @@ var DateTimePickerComponent = /** @class */ (function () {
9587
9993
  },
9588
9994
  set: function (value) {
9589
9995
  if (value) {
9590
- this.renderer.addClass(this.wrapper.nativeElement, 'k-state-focused');
9996
+ this.renderer.addClass(this.wrapper.nativeElement, 'k-focus');
9591
9997
  }
9592
9998
  else {
9593
- this.renderer.removeClass(this.wrapper.nativeElement, 'k-state-focused');
9999
+ this.renderer.removeClass(this.wrapper.nativeElement, 'k-focus');
9594
10000
  }
9595
10001
  this._isActive = value;
9596
10002
  },
@@ -9612,6 +10018,85 @@ var DateTimePickerComponent = /** @class */ (function () {
9612
10018
  enumerable: true,
9613
10019
  configurable: true
9614
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
+ });
9615
10100
  Object.defineProperty(DateTimePickerComponent.prototype, "tabSwitchTransition", {
9616
10101
  /**
9617
10102
  * @hidden
@@ -9702,6 +10187,9 @@ var DateTimePickerComponent = /** @class */ (function () {
9702
10187
  this.subscriptions.add(this.ngZone.runOutsideAngular(function () { return fromEvent(window, 'blur').subscribe(_this.handleCancel.bind(_this)); }));
9703
10188
  }
9704
10189
  };
10190
+ DateTimePickerComponent.prototype.ngAfterViewInit = function () {
10191
+ this.setComponentClasses();
10192
+ };
9705
10193
  DateTimePickerComponent.prototype.ngOnChanges = function (changes) {
9706
10194
  if (isPresent(changes.min) || isPresent(changes.max)) {
9707
10195
  this.verifyMinMaxRange();
@@ -9856,7 +10344,7 @@ var DateTimePickerComponent = /** @class */ (function () {
9856
10344
  return;
9857
10345
  }
9858
10346
  this.isActive = false;
9859
- var isNgControlUntouched = this.host.nativeElement.classList.contains('ng-untouched');
10347
+ var isNgControlUntouched = this.wrapper.nativeElement.classList.contains('ng-untouched');
9860
10348
  var runInZone = isNgControlUntouched || hasObservers(this.onBlur) || (this.isOpen && hasObservers(this.close));
9861
10349
  this.run(runInZone, function () {
9862
10350
  _this.onBlur.emit();
@@ -9984,6 +10472,13 @@ var DateTimePickerComponent = /** @class */ (function () {
9984
10472
  this.input.focus();
9985
10473
  }
9986
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
+ };
9987
10482
  /**
9988
10483
  * @hidden
9989
10484
  *
@@ -10108,7 +10603,7 @@ var DateTimePickerComponent = /** @class */ (function () {
10108
10603
  };
10109
10604
  /**
10110
10605
  * Indicates whether the focus target is part of this component,
10111
- * 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.
10112
10607
  */
10113
10608
  DateTimePickerComponent.prototype.focusTargetInComponent = function (event) {
10114
10609
  if (!isPresent(event)) {
@@ -10155,16 +10650,35 @@ var DateTimePickerComponent = /** @class */ (function () {
10155
10650
  this.cdr.markForCheck();
10156
10651
  this.ngZone.run(function () { return _this.onValidatorChange(); });
10157
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
+ };
10158
10667
  var DateTimePickerComponent_1;
10159
10668
  __decorate([
10160
- HostBinding('class.k-widget'),
10161
10669
  HostBinding('class.k-datetimepicker'),
10670
+ HostBinding('class.k-input'),
10162
10671
  __metadata("design:type", Boolean)
10163
10672
  ], DateTimePickerComponent.prototype, "hostClasses", void 0);
10164
10673
  __decorate([
10165
- 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 }),
10166
10680
  __metadata("design:type", ElementRef)
10167
- ], DateTimePickerComponent.prototype, "wrapper", void 0);
10681
+ ], DateTimePickerComponent.prototype, "toggleButton", void 0);
10168
10682
  __decorate([
10169
10683
  Input(),
10170
10684
  __metadata("design:type", Date),
@@ -10293,6 +10807,21 @@ var DateTimePickerComponent = /** @class */ (function () {
10293
10807
  __metadata("design:type", String),
10294
10808
  __metadata("design:paramtypes", [String])
10295
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);
10296
10825
  __decorate([
10297
10826
  ContentChild(CellTemplateDirective, { static: false }),
10298
10827
  __metadata("design:type", CellTemplateDirective)
@@ -10343,7 +10872,7 @@ var DateTimePickerComponent = /** @class */ (function () {
10343
10872
  { provide: NG_VALIDATORS, useExisting: forwardRef(function () { return DateTimePickerComponent_1; }), multi: true },
10344
10873
  { provide: KendoInput, useExisting: forwardRef(function () { return DateTimePickerComponent_1; }) }
10345
10874
  ],
10346
- 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 "
10347
10876
  }),
10348
10877
  __param(6, Inject(TOUCH_ENABLED)),
10349
10878
  __metadata("design:paramtypes", [PopupService,
@@ -11134,7 +11663,7 @@ var DateRangeInput = /** @class */ (function () {
11134
11663
  var action = show ? 'addClass' : 'removeClass';
11135
11664
  var nativeElement = this.element.nativeElement;
11136
11665
  if (nativeElement && nativeElement.querySelector) {
11137
- this.renderer[action](nativeElement.querySelector('.k-dateinput-wrap'), 'k-state-focused');
11666
+ this.renderer[action](nativeElement, 'k-focus');
11138
11667
  }
11139
11668
  };
11140
11669
  return DateRangeInput;
@@ -11763,7 +12292,7 @@ var ViewComponent = /** @class */ (function () {
11763
12292
  'k-state-selected': !context.isOtherMonth && (context.isSelected || isRangeStart || isRangeEnd),
11764
12293
  'k-today': !context.isOtherMonth && context.isToday,
11765
12294
  'k-weekend': context.isWeekend,
11766
- 'k-state-disabled': context.isDisabled,
12295
+ 'k-disabled': context.isDisabled,
11767
12296
  'k-other-month': context.isOtherMonth
11768
12297
  });
11769
12298
  };
@@ -12735,14 +13264,16 @@ var DateRangeModule = /** @class */ (function () {
12735
13264
  var div$1 = domContainerFactory('div');
12736
13265
  var ul$1 = domContainerFactory('ul');
12737
13266
  var li$1 = domContainerFactory('li');
13267
+ var span = domContainerFactory('span');
13268
+ var listTitle = function () { return span('hour', 'k-title k-timeselector-title'); };
12738
13269
  var listItem = function () { return li$1('<span>02</span>', 'k-item'); };
12739
13270
  var list = function () { return ul$1([listItem()], 'k-reset'); };
12740
- 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')); };
12741
13272
  var timeListWrapper = function () {
12742
13273
  if (!isDocumentAvailable()) {
12743
13274
  return null;
12744
13275
  }
12745
- 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' });
12746
13277
  };
12747
13278
  var TIMELIST_WRAPPER = timeListWrapper();
12748
13279
  /**
@@ -12764,7 +13295,8 @@ var TimePickerDOMService = /** @class */ (function () {
12764
13295
  var listContainer = container && container.querySelector('.k-time-list-container');
12765
13296
  var hostContainer = listContainer || document.body;
12766
13297
  var wrapper = hostContainer.appendChild(TIMELIST_WRAPPER);
12767
- this.timeListHeight = wrapper.querySelector('.k-scrollable').getBoundingClientRect().height;
13298
+ this.timeListTitleHeight = wrapper.querySelector('.k-timeselector-title').getBoundingClientRect().height;
13299
+ this.timeListHeight = wrapper.getBoundingClientRect().height;
12768
13300
  this.itemHeight = wrapper.querySelector('li').getBoundingClientRect().height;
12769
13301
  hostContainer.removeChild(wrapper);
12770
13302
  };
@@ -13424,8 +13956,9 @@ var TimeListComponent = /** @class */ (function () {
13424
13956
  this.dom.ensureHeights();
13425
13957
  this.itemHeight = this.dom.itemHeight;
13426
13958
  this.listHeight = this.dom.timeListHeight;
13427
- this.topOffset = (this.listHeight - this.itemHeight) / 2;
13428
- 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;
13429
13962
  this.topThreshold = this.itemHeight * SNAP_THRESHOLD;
13430
13963
  this.bottomThreshold = this.itemHeight * (1 - SNAP_THRESHOLD);
13431
13964
  var translate = "translateY(" + this.topOffset + "px)";
@@ -13628,12 +14161,12 @@ var TimeListComponent = /** @class */ (function () {
13628
14161
  var isEqualTillMinute = function (value, min) { return value.getHours() === min.getHours() && value.getMinutes() === min.getMinutes(); };
13629
14162
  var isEqualTillSecond = function (value, min) { return isEqualTillMinute(value, min) && value.getSeconds() === min.getSeconds(); };
13630
14163
  var isEqualTillMillisecond = function (value, min) { return isEqualTillSecond(value, min) && value.getMilliseconds() === min.getMilliseconds(); };
13631
- 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; };
13632
14165
  var defaultGetters = [
13633
14166
  {
13634
14167
  type: TIME_PART.hour,
13635
14168
  getter: ɵ3$7,
13636
- minGetter: ɵ4$2
14169
+ minGetter: ɵ4$3
13637
14170
  }, {
13638
14171
  type: TIME_PART.minute,
13639
14172
  getter: ɵ5$1,
@@ -14088,7 +14621,7 @@ var TimeSelectorComponent = /** @class */ (function () {
14088
14621
  __metadata("design:type", Boolean)
14089
14622
  ], TimeSelectorComponent.prototype, "componentClass", void 0);
14090
14623
  __decorate([
14091
- HostBinding('class.k-state-disabled'),
14624
+ HostBinding('class.k-disabled'),
14092
14625
  __metadata("design:type", Boolean),
14093
14626
  __metadata("design:paramtypes", [])
14094
14627
  ], TimeSelectorComponent.prototype, "disabledClass", null);
@@ -14149,7 +14682,7 @@ var TimeSelectorComponent = /** @class */ (function () {
14149
14682
  }
14150
14683
  ],
14151
14684
  selector: 'kendo-timeselector',
14152
- 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 "
14153
14686
  }),
14154
14687
  __param(7, Optional()),
14155
14688
  __metadata("design:paramtypes", [LocalizationService,