@progress/kendo-angular-dateinputs 5.3.1-dev.202201070925 → 6.0.1-dev.202201310951

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 +4 -2
  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 +4 -2
  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 +759 -268
  53. package/dist/fesm5/index.js +603 -68
  54. package/dist/npm/calendar/calendar.component.js +4 -2
  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 +7 -7
@@ -23,7 +23,7 @@ const 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: 1643622478,
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
  };
@@ -443,6 +443,43 @@ const isTabExitingCalendar = (calendarType, focusedElement, shiftKey) => {
443
443
  (!shiftKey && focusedElement.classList.contains('k-next-view')) // exited on next button focused and regular tab
444
444
  );
445
445
  };
446
+ /**
447
+ * @hidden
448
+ * Returns the size class based on the component and size input.
449
+ */
450
+ const getSizeClass = (component, size) => {
451
+ const SIZE_CLASSES = {
452
+ 'small': `k-${component}-sm`,
453
+ 'medium': `k-${component}-md`,
454
+ 'large': `k-${component}-lg`
455
+ };
456
+ return SIZE_CLASSES[size];
457
+ };
458
+ /**
459
+ * @hidden
460
+ * Returns the rounded class based on the rounded input.
461
+ */
462
+ const getRoundedClass = (rounded) => {
463
+ const ROUNDED_CLASSES = {
464
+ 'small': 'k-rounded-sm',
465
+ 'medium': 'k-rounded-md',
466
+ 'large': 'k-rounded-lg',
467
+ 'full': 'k-rounded-full'
468
+ };
469
+ return ROUNDED_CLASSES[rounded];
470
+ };
471
+ /**
472
+ * @hidden
473
+ * Return the fillMode class based on the component and fillMode input.
474
+ */
475
+ const getFillModeClass = (component, fillMode) => {
476
+ const FILLMODE_CLASSES = {
477
+ 'solid': `k-${component}-solid`,
478
+ 'flat': `k-${component}-flat`,
479
+ 'outline': `k-${component}-outline`
480
+ };
481
+ return FILLMODE_CLASSES[fillMode];
482
+ };
446
483
 
447
484
  const EMPTY_DATA = [[]];
448
485
  const CELLS_LENGTH = 4;
@@ -1845,7 +1882,7 @@ HeaderComponent = __decorate([
1845
1882
  Component({
1846
1883
  selector: 'kendo-calendar-header',
1847
1884
  template: `
1848
- <span class="k-button k-flat k-title k-calendar-title" [class.k-state-disabled]="!navigate"
1885
+ <span class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title" [class.k-disabled]="!navigate"
1849
1886
  [kendoEventsOutsideAngular]="{
1850
1887
  click: handleNavigation
1851
1888
  }"
@@ -1861,7 +1898,7 @@ HeaderComponent = __decorate([
1861
1898
  <span class="k-calendar-nav k-hstack">
1862
1899
  <button
1863
1900
  *ngIf="showNavigationButtons"
1864
- class="k-button k-flat k-icon-button k-prev-view"
1901
+ class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button k-prev-view"
1865
1902
  type="button"
1866
1903
  [attr.aria-disabled]="isPrevDisabled"
1867
1904
  [disabled]="isPrevDisabled"
@@ -1872,7 +1909,7 @@ HeaderComponent = __decorate([
1872
1909
  </button>
1873
1910
  <span
1874
1911
  class="k-today k-nav-today"
1875
- [class.k-state-disabled]="!todayAvailable"
1912
+ [class.k-disabled]="!todayAvailable"
1876
1913
  [kendoEventsOutsideAngular]="{
1877
1914
  click: handleTodayClick
1878
1915
  }"
@@ -1882,7 +1919,7 @@ HeaderComponent = __decorate([
1882
1919
  </span>
1883
1920
  <button
1884
1921
  *ngIf="showNavigationButtons"
1885
- class="k-button k-flat k-icon-button k-next-view"
1922
+ class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button k-next-view"
1886
1923
  type="button"
1887
1924
  [attr.aria-disabled]="isNextDisabled"
1888
1925
  [disabled]="isNextDisabled"
@@ -3195,7 +3232,7 @@ __decorate([
3195
3232
  ], MultiViewCalendarComponent.prototype, "calendarTabIndex", null);
3196
3233
  __decorate([
3197
3234
  HostBinding('attr.aria-disabled'),
3198
- HostBinding('class.k-state-disabled'),
3235
+ HostBinding('class.k-disabled'),
3199
3236
  __metadata("design:type", Boolean),
3200
3237
  __metadata("design:paramtypes", [])
3201
3238
  ], MultiViewCalendarComponent.prototype, "ariaDisabled", null);
@@ -3343,7 +3380,7 @@ const tbody = domContainerFactory('tbody');
3343
3380
  const thead = domContainerFactory('thead');
3344
3381
  const table = domContainerFactory('table');
3345
3382
  const monthHeader = () => (div(`
3346
- <span class="k-button k-flat k-title k-calendar-title">March 2017</span>
3383
+ <span class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title">March 2017</span>
3347
3384
  <span class="k-spacer"></span>
3348
3385
  <span class="k-calendar-nav k-hstack">
3349
3386
  <span class="k-today k-nav-today">TODAY</span>
@@ -4981,11 +5018,13 @@ let CalendarComponent = class CalendarComponent {
4981
5018
  }
4982
5019
  ngOnDestroy() {
4983
5020
  this.scrollSyncService.destroy();
4984
- this.viewChangeSubscription.unsubscribe();
4985
5021
  this.domEvents.forEach(unbindCallback => unbindCallback());
4986
5022
  if (this.pickerService) {
4987
5023
  this.pickerService.calendar = null;
4988
5024
  }
5025
+ if (this.viewChangeSubscription) {
5026
+ this.viewChangeSubscription.unsubscribe();
5027
+ }
4989
5028
  if (this.pageChangeSubscription) {
4990
5029
  this.pageChangeSubscription.unsubscribe();
4991
5030
  }
@@ -5558,7 +5597,7 @@ __decorate([
5558
5597
  ], CalendarComponent.prototype, "calendarTabIndex", null);
5559
5598
  __decorate([
5560
5599
  HostBinding('attr.aria-disabled'),
5561
- HostBinding('class.k-state-disabled'),
5600
+ HostBinding('class.k-disabled'),
5562
5601
  __metadata("design:type", Boolean),
5563
5602
  __metadata("design:paramtypes", [])
5564
5603
  ], CalendarComponent.prototype, "ariaDisabled", null);
@@ -6137,11 +6176,11 @@ class KendoDate {
6137
6176
  * Represents the [Kendo UI DateInput component for Angular]({% slug overview_dateinput %}#toc-basic-usage).
6138
6177
  */
6139
6178
  let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6140
- constructor(cdr, intl, renderer, element, ngZone, injector, localization, pickerService) {
6179
+ constructor(cdr, intl, renderer, wrapper, ngZone, injector, localization, pickerService) {
6141
6180
  this.cdr = cdr;
6142
6181
  this.intl = intl;
6143
6182
  this.renderer = renderer;
6144
- this.element = element;
6183
+ this.wrapper = wrapper;
6145
6184
  this.ngZone = ngZone;
6146
6185
  this.injector = injector;
6147
6186
  this.localization = localization;
@@ -6343,6 +6382,9 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6343
6382
  this.onControlChange = noop;
6344
6383
  this.onControlTouched = noop;
6345
6384
  this.onValidatorChange = noop;
6385
+ this._size = 'medium';
6386
+ this._rounded = 'medium';
6387
+ this._fillMode = 'solid';
6346
6388
  this.symbolsMap = this.dateSymbolMap();
6347
6389
  this.updateFormatSections();
6348
6390
  if (this.pickerService) {
@@ -6374,6 +6416,71 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6374
6416
  get value() {
6375
6417
  return this._value;
6376
6418
  }
6419
+ /**
6420
+ * Sets the size of the component.
6421
+ *
6422
+ * The possible values are:
6423
+ * * `'small'`
6424
+ * * `'medium'` (Default)
6425
+ * * `'large'`
6426
+ * * `null`
6427
+ *
6428
+ */
6429
+ set size(size) {
6430
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
6431
+ if (size) {
6432
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
6433
+ }
6434
+ this._size = size;
6435
+ }
6436
+ get size() {
6437
+ return this._size;
6438
+ }
6439
+ /**
6440
+ * Sets the border radius of the component.
6441
+ *
6442
+ * The possible values are:
6443
+ * * `'small'`
6444
+ * * `'medium'` (Default)
6445
+ * * `'large'`
6446
+ * * `'full'`
6447
+ * * `null`
6448
+ *
6449
+ */
6450
+ set rounded(rounded) {
6451
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
6452
+ if (rounded) {
6453
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
6454
+ }
6455
+ this._rounded = rounded;
6456
+ }
6457
+ get rounded() {
6458
+ return this._rounded;
6459
+ }
6460
+ /**
6461
+ * Sets the fillMode of the component.
6462
+ *
6463
+ * The possible values are:
6464
+ * * `'solid'` (Default)
6465
+ * * `'flat'`
6466
+ * * `'outline'`
6467
+ * * `null`
6468
+ *
6469
+ */
6470
+ set fillMode(fillMode) {
6471
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
6472
+ if (fillMode) {
6473
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
6474
+ if (this.spinners && this.spinup && this.spindown) {
6475
+ this.setSpinnerFill(this.spinup.nativeElement, fillMode, this.fillMode);
6476
+ this.setSpinnerFill(this.spindown.nativeElement, fillMode, this.fillMode);
6477
+ }
6478
+ }
6479
+ this._fillMode = fillMode;
6480
+ }
6481
+ get fillMode() {
6482
+ return this._fillMode;
6483
+ }
6377
6484
  get wrapperClass() {
6378
6485
  return true;
6379
6486
  }
@@ -6391,16 +6498,16 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6391
6498
  }
6392
6499
  set isActive(value) {
6393
6500
  this._active = value;
6394
- if (!this.wrap) {
6501
+ if (!this.wrapper) {
6395
6502
  return;
6396
6503
  }
6397
6504
  if (!isPresent(this.pickerService)) {
6398
- const element = this.wrap.nativeElement;
6505
+ const element = this.wrapper.nativeElement;
6399
6506
  if (value) {
6400
- this.renderer.addClass(element, 'k-state-focused');
6507
+ this.renderer.addClass(element, 'k-focus');
6401
6508
  }
6402
6509
  else {
6403
- this.renderer.removeClass(element, 'k-state-focused');
6510
+ this.renderer.removeClass(element, 'k-focus');
6404
6511
  }
6405
6512
  }
6406
6513
  }
@@ -6437,7 +6544,7 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6437
6544
  * @hidden
6438
6545
  */
6439
6546
  containsElement(element) {
6440
- return Boolean(closest(element, node => node === this.element.nativeElement));
6547
+ return Boolean(closest(element, node => node === this.wrapper.nativeElement));
6441
6548
  }
6442
6549
  /**
6443
6550
  * @hidden
@@ -6489,13 +6596,16 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6489
6596
  this.updateElementValue();
6490
6597
  this.intlSubscription = this.intl.changes.subscribe(this.intlChange.bind(this));
6491
6598
  this.ngControl = this.injector.get(NgControl, null);
6492
- if (this.element) {
6493
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
6599
+ if (this.wrapper) {
6600
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
6494
6601
  this.ngZone.runOutsideAngular(() => {
6495
6602
  this.bindEvents();
6496
6603
  });
6497
6604
  }
6498
6605
  }
6606
+ ngAfterViewInit() {
6607
+ this.setComponentClasses();
6608
+ }
6499
6609
  /**
6500
6610
  * @hidden
6501
6611
  */
@@ -6844,7 +6954,7 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6844
6954
  }
6845
6955
  }
6846
6956
  bindEvents() {
6847
- const element = this.element.nativeElement;
6957
+ const element = this.wrapper.nativeElement;
6848
6958
  const mousewheelHandler = this.handleMouseWheel.bind(this);
6849
6959
  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)));
6850
6960
  }
@@ -6975,6 +7085,29 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6975
7085
  this.pickerService.dateCompletenessChange.emit();
6976
7086
  }
6977
7087
  }
7088
+ setSpinnerFill(spinner, fill, oldFill) {
7089
+ if (oldFill) {
7090
+ this.renderer.removeClass(spinner, `k-button-${oldFill}`);
7091
+ this.renderer.removeClass(spinner, `k-button-${oldFill}-base`);
7092
+ }
7093
+ this.renderer.addClass(spinner, `k-button-${fill}`);
7094
+ this.renderer.addClass(spinner, `k-button-${fill}-base`);
7095
+ }
7096
+ setComponentClasses() {
7097
+ if (this.size) {
7098
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
7099
+ }
7100
+ if (this.rounded) {
7101
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
7102
+ }
7103
+ if (this.fillMode) {
7104
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
7105
+ }
7106
+ if (this.spinners) {
7107
+ this.setSpinnerFill(this.spinup.nativeElement, this.fillMode);
7108
+ this.setSpinnerFill(this.spindown.nativeElement, this.fillMode);
7109
+ }
7110
+ }
6978
7111
  };
6979
7112
  __decorate([
6980
7113
  Input(),
@@ -7066,6 +7199,21 @@ __decorate([
7066
7199
  Input(),
7067
7200
  __metadata("design:type", Boolean)
7068
7201
  ], DateInputComponent.prototype, "hasPopup", void 0);
7202
+ __decorate([
7203
+ Input(),
7204
+ __metadata("design:type", String),
7205
+ __metadata("design:paramtypes", [String])
7206
+ ], DateInputComponent.prototype, "size", null);
7207
+ __decorate([
7208
+ Input(),
7209
+ __metadata("design:type", String),
7210
+ __metadata("design:paramtypes", [String])
7211
+ ], DateInputComponent.prototype, "rounded", null);
7212
+ __decorate([
7213
+ Input(),
7214
+ __metadata("design:type", String),
7215
+ __metadata("design:paramtypes", [String])
7216
+ ], DateInputComponent.prototype, "fillMode", null);
7069
7217
  __decorate([
7070
7218
  Output(),
7071
7219
  __metadata("design:type", EventEmitter)
@@ -7087,20 +7235,24 @@ __decorate([
7087
7235
  __metadata("design:type", ElementRef)
7088
7236
  ], DateInputComponent.prototype, "dateInput", void 0);
7089
7237
  __decorate([
7090
- ViewChild('wrap', { static: false }),
7091
- __metadata("design:type", ElementRef)
7092
- ], DateInputComponent.prototype, "wrap", void 0);
7093
- __decorate([
7094
- HostBinding('class.k-widget'),
7238
+ HostBinding('class.k-input'),
7095
7239
  HostBinding('class.k-dateinput'),
7096
7240
  __metadata("design:type", Boolean),
7097
7241
  __metadata("design:paramtypes", [])
7098
7242
  ], DateInputComponent.prototype, "wrapperClass", null);
7099
7243
  __decorate([
7100
- HostBinding('class.k-state-disabled'),
7244
+ HostBinding('class.k-disabled'),
7101
7245
  __metadata("design:type", Boolean),
7102
7246
  __metadata("design:paramtypes", [])
7103
7247
  ], DateInputComponent.prototype, "disabledClass", null);
7248
+ __decorate([
7249
+ ViewChild('spinup', { static: false }),
7250
+ __metadata("design:type", ElementRef)
7251
+ ], DateInputComponent.prototype, "spinup", void 0);
7252
+ __decorate([
7253
+ ViewChild('spindown', { static: false }),
7254
+ __metadata("design:type", ElementRef)
7255
+ ], DateInputComponent.prototype, "spindown", void 0);
7104
7256
  DateInputComponent = DateInputComponent_1 = __decorate([
7105
7257
  Component({
7106
7258
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -7122,57 +7274,59 @@ DateInputComponent = DateInputComponent_1 = __decorate([
7122
7274
  decrement="Decrease value"
7123
7275
  >
7124
7276
  </ng-container>
7125
- <span class="k-dateinput-wrap" #wrap>
7126
- <input
7127
- #dateInput
7128
- autocomplete="off"
7129
- autocorrect="off"
7130
- autocapitalize="off"
7131
- spellcheck="false"
7132
- class="k-input"
7133
- [attr.role]="role"
7134
- [attr.aria-readonly]="ariaReadOnly"
7135
- [id]="focusableId"
7136
- [title]="title"
7137
- [tabindex]="tabindex"
7138
- [disabled]="disabled"
7139
- [readonly]="readonly"
7140
- [placeholder]="placeholder"
7141
- [attr.aria-expanded]="isPopupOpen"
7142
- [attr.aria-haspopup]="hasPopup"
7143
- [kendoEventsOutsideAngular]="{
7144
- click: handleClick,
7145
- focus: handleFocus,
7146
- mousedown: handleMousedown,
7147
- touchstart: handleMousedown,
7148
- dragstart: handleDragAndDrop,
7149
- drop: handleDragAndDrop,
7150
- blur: handleBlur
7151
- }"
7152
- [scope]="this"
7153
- />
7154
- <span *ngIf="spinners" class="k-select" (mousedown)="$event.preventDefault()">
7155
- <span
7156
- class="k-link k-link-increase"
7157
- [class.k-state-active]="arrowDirection === arrow.Up"
7158
- (mousedown)="arrowDirection = arrow.Up"
7159
- (mouseleave)="arrowDirection = arrow.None"
7160
- (click)="handleButtonClick(1)"
7161
- [title]="localization.get('increment')"
7162
- [attr.aria-label]="localization.get('increment')">
7163
- <span class="k-icon k-i-arrow-n"></span>
7164
- </span>
7165
- <span
7166
- class="k-link k-link-decrease"
7167
- (click)="handleButtonClick(-1)"
7168
- [class.k-state-active]="arrowDirection === arrow.Down"
7169
- (mousedown)="arrowDirection = arrow.Down"
7170
- (mouseleave)="arrowDirection = arrow.None"
7171
- [title]="localization.get('decrement')"
7172
- [attr.aria-label]="localization.get('decrement')">
7173
- <span class="k-icon k-i-arrow-s"></span>
7174
- </span>
7175
- </span>
7277
+ <input
7278
+ #dateInput
7279
+ autocomplete="off"
7280
+ autocorrect="off"
7281
+ autocapitalize="off"
7282
+ spellcheck="false"
7283
+ class="k-input-inner"
7284
+ [attr.role]="role"
7285
+ [attr.aria-readonly]="ariaReadOnly"
7286
+ [id]="focusableId"
7287
+ [title]="title"
7288
+ [tabindex]="tabindex"
7289
+ [disabled]="disabled"
7290
+ [readonly]="readonly"
7291
+ [placeholder]="placeholder"
7292
+ [attr.aria-expanded]="isPopupOpen"
7293
+ [attr.aria-haspopup]="hasPopup"
7294
+ [kendoEventsOutsideAngular]="{
7295
+ click: handleClick,
7296
+ focus: handleFocus,
7297
+ mousedown: handleMousedown,
7298
+ touchstart: handleMousedown,
7299
+ dragstart: handleDragAndDrop,
7300
+ drop: handleDragAndDrop,
7301
+ blur: handleBlur
7302
+ }"
7303
+ [scope]="this"
7304
+ />
7305
+ <span *ngIf="spinners" class="k-input-spinner k-spin-button" (mousedown)="$event.preventDefault()">
7306
+ <button
7307
+ #spinup
7308
+ tabindex="-1"
7309
+ class="k-spinner-increase k-button k-icon-button"
7310
+ [class.k-active]="arrowDirection === arrow.Up"
7311
+ (mousedown)="arrowDirection = arrow.Up"
7312
+ (mouseleave)="arrowDirection = arrow.None"
7313
+ (click)="handleButtonClick(1)"
7314
+ [title]="localization.get('increment')"
7315
+ [attr.aria-label]="localization.get('increment')">
7316
+ <span class="k-button-icon k-icon k-i-arrow-n"></span>
7317
+ </button>
7318
+ <button
7319
+ #spindown
7320
+ tabindex="-1"
7321
+ class="k-spinner-decrease k-button k-icon-button"
7322
+ (click)="handleButtonClick(-1)"
7323
+ [class.k-active]="arrowDirection === arrow.Down"
7324
+ (mousedown)="arrowDirection = arrow.Down"
7325
+ (mouseleave)="arrowDirection = arrow.None"
7326
+ [title]="localization.get('decrement')"
7327
+ [attr.aria-label]="localization.get('decrement')">
7328
+ <span class="k-button-icon k-icon k-i-arrow-s"></span>
7329
+ </button>
7176
7330
  </span>
7177
7331
  `
7178
7332
  }),
@@ -7242,12 +7396,12 @@ const TWO_DIGIT_YEAR_MAX$1 = 68;
7242
7396
  * Represents the [Kendo UI DatePicker component for Angular]({% slug overview_datepicker %}#toc-basic-usage).
7243
7397
  */
7244
7398
  let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7245
- constructor(zone, localization, cdr, popupService, element, renderer, injector, pickerService, disabledDatesService, touchEnabled$$1) {
7399
+ constructor(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, disabledDatesService, touchEnabled$$1) {
7246
7400
  this.zone = zone;
7247
7401
  this.localization = localization;
7248
7402
  this.cdr = cdr;
7249
7403
  this.popupService = popupService;
7250
- this.element = element;
7404
+ this.wrapper = wrapper;
7251
7405
  this.renderer = renderer;
7252
7406
  this.injector = injector;
7253
7407
  this.pickerService = pickerService;
@@ -7473,6 +7627,9 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7473
7627
  this.incompleteValidator = noop;
7474
7628
  this.resolvedPromise = Promise.resolve(null);
7475
7629
  this.domEvents = [];
7630
+ this._size = 'medium';
7631
+ this._rounded = 'medium';
7632
+ this._fillMode = 'solid';
7476
7633
  validatePackage(packageMetadata);
7477
7634
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
7478
7635
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -7574,6 +7731,73 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7574
7731
  get disabledDates() {
7575
7732
  return this._disabledDates;
7576
7733
  }
7734
+ /**
7735
+ * Sets the size of the component.
7736
+ *
7737
+ * The possible values are:
7738
+ * * `'small'`
7739
+ * * `'medium'` (Default)
7740
+ * * `'large'`
7741
+ * * `null`
7742
+ *
7743
+ */
7744
+ set size(size) {
7745
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
7746
+ this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
7747
+ if (size) {
7748
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
7749
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
7750
+ }
7751
+ this._size = size;
7752
+ }
7753
+ get size() {
7754
+ return this._size;
7755
+ }
7756
+ /**
7757
+ * Sets the border radius of the component.
7758
+ *
7759
+ * The possible values are:
7760
+ * * `'small'`
7761
+ * * `'medium'` (Default)
7762
+ * * `'large'`
7763
+ * * `'full'`
7764
+ * * `null`
7765
+ *
7766
+ */
7767
+ set rounded(rounded) {
7768
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
7769
+ if (rounded) {
7770
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
7771
+ }
7772
+ this._rounded = rounded;
7773
+ }
7774
+ get rounded() {
7775
+ return this._rounded;
7776
+ }
7777
+ /**
7778
+ * Sets the fillMode of the component.
7779
+ *
7780
+ * The possible values are:
7781
+ * * `'solid'` (Default)
7782
+ * * `'flat'`
7783
+ * * `'outline'`
7784
+ * * `null`
7785
+ *
7786
+ */
7787
+ set fillMode(fillMode) {
7788
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
7789
+ this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
7790
+ this.renderer.removeClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
7791
+ if (fillMode) {
7792
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
7793
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${fillMode}-base`);
7794
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
7795
+ }
7796
+ this._fillMode = fillMode;
7797
+ }
7798
+ get fillMode() {
7799
+ return this._fillMode;
7800
+ }
7577
7801
  /**
7578
7802
  * @hidden
7579
7803
  */
@@ -7596,10 +7820,10 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7596
7820
  }
7597
7821
  const element = this.wrapper.nativeElement;
7598
7822
  if (value) {
7599
- this.renderer.addClass(element, 'k-state-focused');
7823
+ this.renderer.addClass(element, 'k-focus');
7600
7824
  }
7601
7825
  else {
7602
- this.renderer.removeClass(element, 'k-state-focused');
7826
+ this.renderer.removeClass(element, 'k-focus');
7603
7827
  }
7604
7828
  }
7605
7829
  get show() {
@@ -7634,13 +7858,16 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7634
7858
  .changes
7635
7859
  .subscribe(() => this.cdr.markForCheck());
7636
7860
  this.control = this.injector.get(NgControl, null);
7637
- if (this.element) {
7638
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
7861
+ if (this.wrapper) {
7862
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
7639
7863
  this.zone.runOutsideAngular(() => {
7640
7864
  this.bindEvents();
7641
7865
  });
7642
7866
  }
7643
7867
  }
7868
+ ngAfterViewInit() {
7869
+ this.setComponentClasses();
7870
+ }
7644
7871
  /**
7645
7872
  * @hidden
7646
7873
  */
@@ -7932,7 +8159,7 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7932
8159
  }
7933
8160
  }
7934
8161
  bindEvents() {
7935
- const element = this.element.nativeElement;
8162
+ const element = this.wrapper.nativeElement;
7936
8163
  this.domEvents.push(this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
7937
8164
  if (isWindowAvailable()) {
7938
8165
  this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this));
@@ -7988,6 +8215,20 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7988
8215
  this.cdr.markForCheck();
7989
8216
  this.zone.run(() => this.onValidatorChange());
7990
8217
  }
8218
+ setComponentClasses() {
8219
+ if (this.size) {
8220
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
8221
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
8222
+ }
8223
+ if (this.rounded) {
8224
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
8225
+ }
8226
+ if (this.fillMode) {
8227
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
8228
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
8229
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
8230
+ }
8231
+ }
7991
8232
  };
7992
8233
  __decorate([
7993
8234
  ViewChild('container', { read: ViewContainerRef, static: true }),
@@ -7998,9 +8239,9 @@ __decorate([
7998
8239
  __metadata("design:type", TemplateRef)
7999
8240
  ], DatePickerComponent.prototype, "popupTemplate", void 0);
8000
8241
  __decorate([
8001
- ViewChild('wrapper', { static: false }),
8242
+ ViewChild('toggleButton', { static: true }),
8002
8243
  __metadata("design:type", ElementRef)
8003
- ], DatePickerComponent.prototype, "wrapper", void 0);
8244
+ ], DatePickerComponent.prototype, "toggleButton", void 0);
8004
8245
  __decorate([
8005
8246
  ContentChild(CellTemplateDirective, { static: false }),
8006
8247
  __metadata("design:type", CellTemplateDirective)
@@ -8185,6 +8426,21 @@ __decorate([
8185
8426
  Input(),
8186
8427
  __metadata("design:type", Boolean)
8187
8428
  ], DatePickerComponent.prototype, "weekNumber", void 0);
8429
+ __decorate([
8430
+ Input(),
8431
+ __metadata("design:type", String),
8432
+ __metadata("design:paramtypes", [String])
8433
+ ], DatePickerComponent.prototype, "size", null);
8434
+ __decorate([
8435
+ Input(),
8436
+ __metadata("design:type", String),
8437
+ __metadata("design:paramtypes", [String])
8438
+ ], DatePickerComponent.prototype, "rounded", null);
8439
+ __decorate([
8440
+ Input(),
8441
+ __metadata("design:type", String),
8442
+ __metadata("design:paramtypes", [String])
8443
+ ], DatePickerComponent.prototype, "fillMode", null);
8188
8444
  __decorate([
8189
8445
  Output(),
8190
8446
  __metadata("design:type", EventEmitter)
@@ -8206,12 +8462,12 @@ __decorate([
8206
8462
  __metadata("design:type", EventEmitter)
8207
8463
  ], DatePickerComponent.prototype, "close", void 0);
8208
8464
  __decorate([
8209
- HostBinding('class.k-widget'),
8210
8465
  HostBinding('class.k-datepicker'),
8466
+ HostBinding('class.k-input'),
8211
8467
  __metadata("design:type", Boolean)
8212
8468
  ], DatePickerComponent.prototype, "wrapperClasses", void 0);
8213
8469
  __decorate([
8214
- HostBinding('class.k-state-disabled'),
8470
+ HostBinding('class.k-disabled'),
8215
8471
  __metadata("design:type", Boolean),
8216
8472
  __metadata("design:paramtypes", [])
8217
8473
  ], DatePickerComponent.prototype, "disabledClass", null);
@@ -8247,44 +8503,45 @@ DatePickerComponent = DatePickerComponent_1 = __decorate([
8247
8503
  nextButtonTitle="Navigate to next view"
8248
8504
  >
8249
8505
  </ng-container>
8250
- <span #wrapper
8251
- class="k-picker-wrap"
8252
- [class.k-state-disabled]="disabled"
8506
+ <kendo-dateinput
8507
+ #input
8508
+ [role]="inputRole"
8509
+ [focusableId]="focusableId"
8510
+ [hasPopup]="true"
8511
+ [isPopupOpen]="show"
8512
+ [disabled]="disabled"
8513
+ [readonly]="readonly || readOnlyInput"
8514
+ [ariaReadOnly]="readonly"
8515
+ [tabindex]="tabindex"
8516
+ [title]="title"
8517
+ [format]="format"
8518
+ [twoDigitYearMax]="twoDigitYearMax"
8519
+ [formatPlaceholder]="formatPlaceholder"
8520
+ [placeholder]="placeholder"
8521
+ [min]="min"
8522
+ [max]="max"
8523
+ [incompleteDateValidation]="incompleteDateValidation"
8524
+ [fillMode]="null"
8525
+ [rounded]="null"
8526
+ [size]="null"
8527
+ [value]="value"
8528
+ (valueChange)="handleInputChange($event)"
8529
+ ></kendo-dateinput>
8530
+ <button
8531
+ #toggleButton
8532
+ type="button"
8533
+ class="k-input-button k-button k-icon-button"
8534
+ [tabindex]="-1"
8535
+ [attr.title]="localization.get('toggle')"
8536
+ [attr.aria-label]="localization.get('toggle')"
8537
+ [kendoEventsOutsideAngular]="{
8538
+ click: handleIconClick,
8539
+ mousedown: handleMousedown
8540
+ }"
8541
+ [scope]="this"
8253
8542
  >
8254
- <kendo-dateinput
8255
- #input
8256
- [role]="inputRole"
8257
- [focusableId]="focusableId"
8258
- [hasPopup]="true"
8259
- [isPopupOpen]="show"
8260
- [disabled]="disabled"
8261
- [readonly]="readonly || readOnlyInput"
8262
- [ariaReadOnly]="readonly"
8263
- [tabindex]="tabindex"
8264
- [title]="title"
8265
- [format]="format"
8266
- [twoDigitYearMax]="twoDigitYearMax"
8267
- [formatPlaceholder]="formatPlaceholder"
8268
- [placeholder]="placeholder"
8269
- [min]="min"
8270
- [max]="max"
8271
- [incompleteDateValidation]="incompleteDateValidation"
8272
- [value]="value"
8273
- (valueChange)="handleInputChange($event)"
8274
- ></kendo-dateinput>
8275
- <span class="k-select"
8276
- role="button"
8277
- [attr.title]="localization.get('toggle')"
8278
- [attr.aria-label]="localization.get('toggle')"
8279
- [kendoEventsOutsideAngular]="{
8280
- click: handleIconClick,
8281
- mousedown: handleMousedown
8282
- }"
8283
- [scope]="this"
8284
- >
8285
- <span class="k-icon k-i-calendar"></span>
8286
- </span>
8287
- </span>
8543
+ <span class="k-button-icon k-icon k-i-calendar"></span>
8544
+ </button>
8288
8545
  <ng-container #container></ng-container>
8289
8546
  <ng-template #popupTemplate>
8290
8547
  <kendo-calendar
@@ -8375,12 +8632,12 @@ const formatRegExp = new RegExp(`${TIME_PART.hour}|${TIME_PART.minute}|${TIME_PA
8375
8632
  * Represents the [Kendo UI TimePicker component for Angular]({% slug overview_timepicker %}#toc-basic-usage).
8376
8633
  */
8377
8634
  let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8378
- constructor(zone, localization, cdr, popupService, element, renderer, injector, pickerService, intl, touchEnabled$$1) {
8635
+ constructor(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, intl, touchEnabled$$1) {
8379
8636
  this.zone = zone;
8380
8637
  this.localization = localization;
8381
8638
  this.cdr = cdr;
8382
8639
  this.popupService = popupService;
8383
- this.element = element;
8640
+ this.wrapper = wrapper;
8384
8641
  this.renderer = renderer;
8385
8642
  this.injector = injector;
8386
8643
  this.pickerService = pickerService;
@@ -8542,6 +8799,9 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8542
8799
  this._value = null;
8543
8800
  this._active = false;
8544
8801
  this.domEvents = [];
8802
+ this._size = 'medium';
8803
+ this._rounded = 'medium';
8804
+ this._fillMode = 'solid';
8545
8805
  validatePackage(packageMetadata);
8546
8806
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
8547
8807
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -8627,6 +8887,73 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8627
8887
  get value() {
8628
8888
  return this._value;
8629
8889
  }
8890
+ /**
8891
+ * Sets the size of the component.
8892
+ *
8893
+ * The possible values are:
8894
+ * * `'small'`
8895
+ * * `'medium'` (Default)
8896
+ * * `'large'`
8897
+ * * `null`
8898
+ *
8899
+ */
8900
+ set size(size) {
8901
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
8902
+ this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
8903
+ if (size) {
8904
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
8905
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
8906
+ }
8907
+ this._size = size;
8908
+ }
8909
+ get size() {
8910
+ return this._size;
8911
+ }
8912
+ /**
8913
+ * Sets the border radius of the component.
8914
+ *
8915
+ * The possible values are:
8916
+ * * `'small'`
8917
+ * * `'medium'` (Default)
8918
+ * * `'large'`
8919
+ * * `'full'`
8920
+ * * `null`
8921
+ *
8922
+ */
8923
+ set rounded(rounded) {
8924
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
8925
+ if (rounded) {
8926
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
8927
+ }
8928
+ this._rounded = rounded;
8929
+ }
8930
+ get rounded() {
8931
+ return this._rounded;
8932
+ }
8933
+ /**
8934
+ * Sets the fillMode of the component.
8935
+ *
8936
+ * The possible values are:
8937
+ * * `'solid'` (Default)
8938
+ * * `'flat'`
8939
+ * * `'outline'`
8940
+ * * `null`
8941
+ *
8942
+ */
8943
+ set fillMode(fillMode) {
8944
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
8945
+ this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
8946
+ this.renderer.removeClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
8947
+ if (fillMode) {
8948
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
8949
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
8950
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${fillMode}-base`);
8951
+ }
8952
+ this._fillMode = fillMode;
8953
+ }
8954
+ get fillMode() {
8955
+ return this._fillMode;
8956
+ }
8630
8957
  /**
8631
8958
  * @hidden
8632
8959
  */
@@ -8649,10 +8976,10 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8649
8976
  }
8650
8977
  const element = this.wrapper.nativeElement;
8651
8978
  if (value) {
8652
- this.renderer.addClass(element, 'k-state-focused');
8979
+ this.renderer.addClass(element, 'k-focus');
8653
8980
  }
8654
8981
  else {
8655
- this.renderer.removeClass(element, 'k-state-focused');
8982
+ this.renderer.removeClass(element, 'k-focus');
8656
8983
  }
8657
8984
  }
8658
8985
  get show() {
@@ -8692,13 +9019,19 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8692
9019
  this.localizationChangeSubscription = this.localization
8693
9020
  .changes.subscribe(() => this.cdr.markForCheck());
8694
9021
  this.control = this.injector.get(NgControl, null);
8695
- if (this.element) {
8696
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
9022
+ if (this.wrapper) {
9023
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
8697
9024
  this.zone.runOutsideAngular(() => {
8698
9025
  this.bindEvents();
8699
9026
  });
8700
9027
  }
8701
9028
  }
9029
+ /**
9030
+ * @hidden
9031
+ */
9032
+ ngAfterViewInit() {
9033
+ this.setComponentClasses();
9034
+ }
8702
9035
  /**
8703
9036
  * @hidden
8704
9037
  */
@@ -8996,7 +9329,7 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8996
9329
  }
8997
9330
  }
8998
9331
  bindEvents() {
8999
- const element = this.element.nativeElement;
9332
+ const element = this.wrapper.nativeElement;
9000
9333
  this.domEvents.push(this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
9001
9334
  if (isWindowAvailable()) {
9002
9335
  this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this));
@@ -9045,6 +9378,20 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
9045
9378
  this.cdr.markForCheck();
9046
9379
  this.zone.run(() => this.onValidatorChange());
9047
9380
  }
9381
+ setComponentClasses() {
9382
+ if (this.size) {
9383
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
9384
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
9385
+ }
9386
+ if (this.rounded) {
9387
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
9388
+ }
9389
+ if (this.fillMode) {
9390
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
9391
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
9392
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
9393
+ }
9394
+ }
9048
9395
  };
9049
9396
  __decorate([
9050
9397
  ViewChild('container', { read: ViewContainerRef, static: false }),
@@ -9055,9 +9402,9 @@ __decorate([
9055
9402
  __metadata("design:type", TemplateRef)
9056
9403
  ], TimePickerComponent.prototype, "popupTemplate", void 0);
9057
9404
  __decorate([
9058
- ViewChild('wrapper', { static: false }),
9405
+ ViewChild('toggleButton', { static: true }),
9059
9406
  __metadata("design:type", ElementRef)
9060
- ], TimePickerComponent.prototype, "wrapper", void 0);
9407
+ ], TimePickerComponent.prototype, "toggleButton", void 0);
9061
9408
  __decorate([
9062
9409
  Input(),
9063
9410
  __metadata("design:type", String)
@@ -9140,6 +9487,21 @@ __decorate([
9140
9487
  __metadata("design:type", Date),
9141
9488
  __metadata("design:paramtypes", [Date])
9142
9489
  ], TimePickerComponent.prototype, "value", null);
9490
+ __decorate([
9491
+ Input(),
9492
+ __metadata("design:type", String),
9493
+ __metadata("design:paramtypes", [String])
9494
+ ], TimePickerComponent.prototype, "size", null);
9495
+ __decorate([
9496
+ Input(),
9497
+ __metadata("design:type", String),
9498
+ __metadata("design:paramtypes", [String])
9499
+ ], TimePickerComponent.prototype, "rounded", null);
9500
+ __decorate([
9501
+ Input(),
9502
+ __metadata("design:type", String),
9503
+ __metadata("design:paramtypes", [String])
9504
+ ], TimePickerComponent.prototype, "fillMode", null);
9143
9505
  __decorate([
9144
9506
  Output(),
9145
9507
  __metadata("design:type", EventEmitter)
@@ -9161,12 +9523,12 @@ __decorate([
9161
9523
  __metadata("design:type", EventEmitter)
9162
9524
  ], TimePickerComponent.prototype, "close", void 0);
9163
9525
  __decorate([
9164
- HostBinding('class.k-widget'),
9165
9526
  HostBinding('class.k-timepicker'),
9527
+ HostBinding('class.k-input'),
9166
9528
  __metadata("design:type", Boolean)
9167
9529
  ], TimePickerComponent.prototype, "wrapperClasses", void 0);
9168
9530
  __decorate([
9169
- HostBinding('class.k-state-disabled'),
9531
+ HostBinding('class.k-disabled'),
9170
9532
  __metadata("design:type", Boolean),
9171
9533
  __metadata("design:paramtypes", [])
9172
9534
  ], TimePickerComponent.prototype, "disabledClass", null);
@@ -9210,73 +9572,73 @@ TimePickerComponent = TimePickerComponent_1 = __decorate([
9210
9572
  toggle="Toggle time list"
9211
9573
  >
9212
9574
  </ng-container>
9213
- <span #wrapper
9214
- class="k-picker-wrap"
9215
- [class.k-state-disabled]="disabled"
9575
+ <kendo-dateinput
9576
+ #input
9577
+ [focusableId]="focusableId"
9578
+ [hasPopup]="true"
9579
+ [isPopupOpen]="show"
9580
+ [disabled]="disabled"
9581
+ [readonly]="readonly || readOnlyInput"
9582
+ [role]="inputRole"
9583
+ [ariaReadOnly]="readonly"
9584
+ [format]="format"
9585
+ [formatPlaceholder]="formatPlaceholder"
9586
+ [placeholder]="placeholder"
9587
+ [min]="normalizeTime(min)"
9588
+ [max]="normalizeTime(max)"
9589
+ [incompleteDateValidation]="incompleteDateValidation"
9590
+ [fillMode]="fillMode"
9591
+ [rounded]="rounded"
9592
+ [size]="size"
9593
+ [steps]="steps"
9594
+ [tabindex]="!show ? tabindex : -1"
9595
+ [title]="title"
9596
+ [value]="value"
9597
+ (valueChange)="handleInputChange($event)"
9598
+ ></kendo-dateinput>
9599
+ <button
9600
+ #toggleButton
9601
+ type="button"
9602
+ class="k-input-button k-button k-icon-button"
9603
+ [attr.title]="localization.get('toggle')"
9604
+ [attr.aria-label]="localization.get('toggle')"
9605
+ [kendoEventsOutsideAngular]="{
9606
+ click: handleIconClick,
9607
+ mousedown: handleMousedown
9608
+ }"
9609
+ [scope]="this"
9216
9610
  >
9217
- <kendo-dateinput
9218
- #input
9219
- [focusableId]="focusableId"
9220
- [hasPopup]="true"
9221
- [isPopupOpen]="show"
9222
- [disabled]="disabled"
9223
- [readonly]="readonly || readOnlyInput"
9224
- [role]="inputRole"
9225
- [ariaReadOnly]="readonly"
9611
+ <span class="k-button-icon k-icon k-i-clock"></span>
9612
+ </button>
9613
+ <ng-template #popupTemplate>
9614
+ <kendo-timeselector
9615
+ #timeSelector
9616
+ [cancelButton]="cancelButton"
9617
+ [nowButton]="nowButton"
9226
9618
  [format]="format"
9227
- [formatPlaceholder]="formatPlaceholder"
9228
- [placeholder]="placeholder"
9229
- [min]="normalizeTime(min)"
9230
- [max]="normalizeTime(max)"
9231
- [incompleteDateValidation]="incompleteDateValidation"
9619
+ [min]="min"
9620
+ [max]="max"
9232
9621
  [steps]="steps"
9233
- [tabindex]="!show ? tabindex : -1"
9234
- [title]="title"
9235
9622
  [value]="value"
9236
- (valueChange)="handleInputChange($event)"
9237
- ></kendo-dateinput>
9238
- <span class="k-select"
9239
- role="button"
9240
- [attr.title]="localization.get('toggle')"
9241
- [attr.aria-label]="localization.get('toggle')"
9242
9623
  [kendoEventsOutsideAngular]="{
9243
- click: handleIconClick,
9624
+ keydown: handleKeydown,
9244
9625
  mousedown: handleMousedown
9245
9626
  }"
9246
9627
  [scope]="this"
9628
+ (valueChange)="handleChange($event)"
9629
+ (valueReject)="handleReject()"
9247
9630
  >
9248
- <span class="k-icon k-i-clock"></span>
9249
- </span>
9250
- <ng-template #popupTemplate>
9251
- <kendo-timeselector
9252
- #timeSelector
9253
- [cancelButton]="cancelButton"
9254
- [nowButton]="nowButton"
9255
- [format]="format"
9256
- [min]="min"
9257
- [max]="max"
9258
- [steps]="steps"
9259
- [value]="value"
9260
- [kendoEventsOutsideAngular]="{
9261
- keydown: handleKeydown,
9262
- mousedown: handleMousedown
9263
- }"
9264
- [scope]="this"
9265
- (valueChange)="handleChange($event)"
9266
- (valueReject)="handleReject()"
9631
+ <kendo-timeselector-messages
9632
+ [acceptLabel]="localization.get('acceptLabel')"
9633
+ [accept]="localization.get('accept')"
9634
+ [cancelLabel]="localization.get('cancelLabel')"
9635
+ [cancel]="localization.get('cancel')"
9636
+ [nowLabel]="localization.get('nowLabel')"
9637
+ [now]="localization.get('now')"
9267
9638
  >
9268
- <kendo-timeselector-messages
9269
- [acceptLabel]="localization.get('acceptLabel')"
9270
- [accept]="localization.get('accept')"
9271
- [cancelLabel]="localization.get('cancelLabel')"
9272
- [cancel]="localization.get('cancel')"
9273
- [nowLabel]="localization.get('nowLabel')"
9274
- [now]="localization.get('now')"
9275
- >
9276
- </kendo-timeselector-messages>
9277
- </kendo-timeselector>
9278
- </ng-template>
9279
- </span>
9639
+ </kendo-timeselector-messages>
9640
+ </kendo-timeselector>
9641
+ </ng-template>
9280
9642
  <ng-container #container></ng-container>
9281
9643
  `
9282
9644
  }),
@@ -9304,13 +9666,13 @@ const TWO_DIGIT_YEAR_MAX$2 = 68;
9304
9666
  * Represents the [Kendo UI DateTimePicker component for Angular]({% slug overview_datetimepicker %}).
9305
9667
  */
9306
9668
  let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerComponent {
9307
- constructor(popupService, intl, cdr, pickerService, ngZone, host, touchEnabled$$1, localization, disabledDatesService, renderer) {
9669
+ constructor(popupService, intl, cdr, pickerService, ngZone, wrapper, touchEnabled$$1, localization, disabledDatesService, renderer) {
9308
9670
  this.popupService = popupService;
9309
9671
  this.intl = intl;
9310
9672
  this.cdr = cdr;
9311
9673
  this.pickerService = pickerService;
9312
9674
  this.ngZone = ngZone;
9313
- this.host = host;
9675
+ this.wrapper = wrapper;
9314
9676
  this.touchEnabled = touchEnabled$$1;
9315
9677
  this.localization = localization;
9316
9678
  this.disabledDatesService = disabledDatesService;
@@ -9477,8 +9839,17 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9477
9839
  this.disabledDatesValidateFn = noop;
9478
9840
  this.incompleteValidator = noop;
9479
9841
  this.subscriptions = new Subscription();
9842
+ this._size = 'medium';
9843
+ this._rounded = 'medium';
9844
+ this._fillMode = 'solid';
9480
9845
  validatePackage(packageMetadata);
9481
9846
  }
9847
+ /**
9848
+ * @hidden
9849
+ */
9850
+ get disabledClass() {
9851
+ return this.disabled;
9852
+ }
9482
9853
  /**
9483
9854
  * @hidden
9484
9855
  */
@@ -9614,10 +9985,10 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9614
9985
  }
9615
9986
  set isActive(value) {
9616
9987
  if (value) {
9617
- this.renderer.addClass(this.wrapper.nativeElement, 'k-state-focused');
9988
+ this.renderer.addClass(this.wrapper.nativeElement, 'k-focus');
9618
9989
  }
9619
9990
  else {
9620
- this.renderer.removeClass(this.wrapper.nativeElement, 'k-state-focused');
9991
+ this.renderer.removeClass(this.wrapper.nativeElement, 'k-focus');
9621
9992
  }
9622
9993
  this._isActive = value;
9623
9994
  }
@@ -9632,6 +10003,73 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9632
10003
  get defaultTab() {
9633
10004
  return this._defaultTab;
9634
10005
  }
10006
+ /**
10007
+ * Sets the size of the component.
10008
+ *
10009
+ * The possible values are:
10010
+ * * `'small'`
10011
+ * * `'medium'` (Default)
10012
+ * * `'large'`
10013
+ * * `null`
10014
+ *
10015
+ */
10016
+ set size(size) {
10017
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
10018
+ this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
10019
+ if (size) {
10020
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
10021
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
10022
+ }
10023
+ this._size = size;
10024
+ }
10025
+ get size() {
10026
+ return this._size;
10027
+ }
10028
+ /**
10029
+ * Sets the border radius of the component.
10030
+ *
10031
+ * The possible values are:
10032
+ * * `'small'`
10033
+ * * `'medium'` (Default)
10034
+ * * `'large'`
10035
+ * * `'full'`
10036
+ * * `null`
10037
+ *
10038
+ */
10039
+ set rounded(rounded) {
10040
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
10041
+ if (rounded) {
10042
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
10043
+ }
10044
+ this._rounded = rounded;
10045
+ }
10046
+ get rounded() {
10047
+ return this._rounded;
10048
+ }
10049
+ /**
10050
+ * Sets the fillMode of the component.
10051
+ *
10052
+ * The possible values are:
10053
+ * * `'solid'` (Default)
10054
+ * * `'flat'`
10055
+ * * `'outline'`
10056
+ * * `null`
10057
+ *
10058
+ */
10059
+ set fillMode(fillMode) {
10060
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
10061
+ this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
10062
+ this.renderer.removeClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
10063
+ if (fillMode) {
10064
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
10065
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
10066
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${fillMode}-base`);
10067
+ }
10068
+ this._fillMode = fillMode;
10069
+ }
10070
+ get fillMode() {
10071
+ return this._fillMode;
10072
+ }
9635
10073
  /**
9636
10074
  * @hidden
9637
10075
  */
@@ -9697,6 +10135,9 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9697
10135
  this.subscriptions.add(this.ngZone.runOutsideAngular(() => fromEvent(window, 'blur').subscribe(this.handleCancel.bind(this))));
9698
10136
  }
9699
10137
  }
10138
+ ngAfterViewInit() {
10139
+ this.setComponentClasses();
10140
+ }
9700
10141
  ngOnChanges(changes) {
9701
10142
  if (isPresent(changes.min) || isPresent(changes.max)) {
9702
10143
  this.verifyMinMaxRange();
@@ -9848,7 +10289,7 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9848
10289
  return;
9849
10290
  }
9850
10291
  this.isActive = false;
9851
- const isNgControlUntouched = this.host.nativeElement.classList.contains('ng-untouched');
10292
+ const isNgControlUntouched = this.wrapper.nativeElement.classList.contains('ng-untouched');
9852
10293
  const runInZone = isNgControlUntouched || hasObservers(this.onBlur) || (this.isOpen && hasObservers(this.close));
9853
10294
  this.run(runInZone, () => {
9854
10295
  this.onBlur.emit();
@@ -9973,6 +10414,13 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9973
10414
  this.input.focus();
9974
10415
  }
9975
10416
  }
10417
+ /**
10418
+ * @hidden
10419
+ */
10420
+ popupButtonsClasses(type) {
10421
+ const buttonType = type ? type : 'base';
10422
+ return `${this.size ? getSizeClass('button', this.size) : ''} ${this.rounded ? getRoundedClass(this.rounded) : ''} ${this.fillMode ? 'k-button-' + this.fillMode + ' ' + 'k-button-' + this.fillMode + '-' + buttonType : ''}`;
10423
+ }
9976
10424
  /**
9977
10425
  * @hidden
9978
10426
  *
@@ -10096,7 +10544,7 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
10096
10544
  }
10097
10545
  /**
10098
10546
  * Indicates whether the focus target is part of this component,
10099
- * that is, whether the focus target is inside the component wrapper or in the popup.
10547
+ * that is, whether the focus target is inside the component or in the popup.
10100
10548
  */
10101
10549
  focusTargetInComponent(event) {
10102
10550
  if (!isPresent(event)) {
@@ -10142,16 +10590,35 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
10142
10590
  this.cdr.markForCheck();
10143
10591
  this.ngZone.run(() => this.onValidatorChange());
10144
10592
  }
10593
+ setComponentClasses() {
10594
+ if (this.size) {
10595
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
10596
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
10597
+ }
10598
+ if (this.rounded) {
10599
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
10600
+ }
10601
+ if (this.fillMode) {
10602
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
10603
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
10604
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
10605
+ }
10606
+ }
10145
10607
  };
10146
10608
  __decorate([
10147
- HostBinding('class.k-widget'),
10148
10609
  HostBinding('class.k-datetimepicker'),
10610
+ HostBinding('class.k-input'),
10149
10611
  __metadata("design:type", Boolean)
10150
10612
  ], DateTimePickerComponent.prototype, "hostClasses", void 0);
10151
10613
  __decorate([
10152
- ViewChild('wrapper', { static: true }),
10614
+ HostBinding('class.k-disabled'),
10615
+ __metadata("design:type", Boolean),
10616
+ __metadata("design:paramtypes", [])
10617
+ ], DateTimePickerComponent.prototype, "disabledClass", null);
10618
+ __decorate([
10619
+ ViewChild('toggleButton', { static: true }),
10153
10620
  __metadata("design:type", ElementRef)
10154
- ], DateTimePickerComponent.prototype, "wrapper", void 0);
10621
+ ], DateTimePickerComponent.prototype, "toggleButton", void 0);
10155
10622
  __decorate([
10156
10623
  Input(),
10157
10624
  __metadata("design:type", Date),
@@ -10280,6 +10747,21 @@ __decorate([
10280
10747
  __metadata("design:type", String),
10281
10748
  __metadata("design:paramtypes", [String])
10282
10749
  ], DateTimePickerComponent.prototype, "defaultTab", null);
10750
+ __decorate([
10751
+ Input(),
10752
+ __metadata("design:type", String),
10753
+ __metadata("design:paramtypes", [String])
10754
+ ], DateTimePickerComponent.prototype, "size", null);
10755
+ __decorate([
10756
+ Input(),
10757
+ __metadata("design:type", String),
10758
+ __metadata("design:paramtypes", [String])
10759
+ ], DateTimePickerComponent.prototype, "rounded", null);
10760
+ __decorate([
10761
+ Input(),
10762
+ __metadata("design:type", String),
10763
+ __metadata("design:paramtypes", [String])
10764
+ ], DateTimePickerComponent.prototype, "fillMode", null);
10283
10765
  __decorate([
10284
10766
  ContentChild(CellTemplateDirective, { static: false }),
10285
10767
  __metadata("design:type", CellTemplateDirective)
@@ -10378,56 +10860,55 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10378
10860
  >
10379
10861
  </ng-container>
10380
10862
 
10381
- <span
10382
- #wrapper
10383
- class="k-picker-wrap"
10384
- [class.k-state-disabled]="disabled"
10863
+ <kendo-dateinput
10864
+ [value]="value"
10865
+ [format]="format"
10866
+ [twoDigitYearMax]="twoDigitYearMax"
10867
+ [min]="min"
10868
+ [max]="max"
10869
+ [incompleteDateValidation]="incompleteDateValidation"
10870
+ [formatPlaceholder]="formatPlaceholder"
10871
+ [placeholder]="placeholder"
10872
+ [disabled]="disabled"
10873
+ [readonly]="readonly || readOnlyInput"
10874
+ [role]="inputRole"
10875
+ [ariaReadOnly]="readonly"
10876
+ [steps]="steps"
10877
+ [tabindex]="tabindex"
10878
+ [title]="title"
10879
+ [focusableId]="focusableId"
10880
+ [hasPopup]="true"
10881
+ [isPopupOpen]="isOpen"
10882
+ (valueChange)="handleInputValueChange($event)"
10883
+ [kendoEventsOutsideAngular]="{
10884
+ keydown: handleKeyDown
10885
+ }"
10886
+ [scope]="this"
10887
+ [fillMode]="fillMode"
10888
+ [rounded]="rounded"
10889
+ [size]="size"
10385
10890
  >
10386
- <kendo-dateinput
10387
- [value]="value"
10388
- [format]="format"
10389
- [twoDigitYearMax]="twoDigitYearMax"
10390
- [min]="min"
10391
- [max]="max"
10392
- [incompleteDateValidation]="incompleteDateValidation"
10393
- [formatPlaceholder]="formatPlaceholder"
10394
- [placeholder]="placeholder"
10395
- [disabled]="disabled"
10396
- [readonly]="readonly || readOnlyInput"
10397
- [role]="inputRole"
10398
- [ariaReadOnly]="readonly"
10399
- [steps]="steps"
10400
- [tabindex]="tabindex"
10401
- [title]="title"
10402
- [focusableId]="focusableId"
10403
- [hasPopup]="true"
10404
- [isPopupOpen]="isOpen"
10405
- (valueChange)="handleInputValueChange($event)"
10406
- [kendoEventsOutsideAngular]="{
10407
- keydown: handleKeyDown
10408
- }"
10409
- [scope]="this"
10410
- >
10411
- </kendo-dateinput>
10412
- <span class="k-select"
10413
- [attr.title]="localization.get('toggle')"
10414
- [attr.aria-label]="localization.get('toggle')"
10415
- [kendoEventsOutsideAngular]="{
10416
- mousedown: preventMouseDown,
10417
- click: handleIconClick
10891
+ </kendo-dateinput>
10892
+ <button
10893
+ #toggleButton
10894
+ type="button"
10895
+ class="k-input-button k-button k-icon-button"
10896
+ [tabindex]="-1"
10897
+ [attr.title]="localization.get('toggle')"
10898
+ [attr.aria-label]="localization.get('toggle')"
10899
+ [kendoEventsOutsideAngular]="{
10900
+ mousedown: preventMouseDown,
10901
+ click: handleIconClick
10902
+ }"
10903
+ [scope]="this"
10904
+ >
10905
+ <span class="k-button-icon k-icon"
10906
+ [ngClass]="{
10907
+ 'k-i-calendar': activeTab === 'date',
10908
+ 'k-i-clock': activeTab === 'time'
10418
10909
  }"
10419
- [scope]="this"
10420
- >
10421
- <span class="k-link k-link-date">
10422
- <span
10423
- class="k-icon"
10424
- [class.k-i-calendar]="activeTab === 'date'"
10425
- [class.k-i-clock]="activeTab === 'time'"
10426
- >
10427
- </span>
10428
- </span>
10429
- </span>
10430
- </span>
10910
+ ></span>
10911
+ </button>
10431
10912
 
10432
10913
  <ng-container #container></ng-container>
10433
10914
 
@@ -10450,8 +10931,9 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10450
10931
  <div class="k-button-group k-button-group-stretched">
10451
10932
  <button
10452
10933
  type="button"
10453
- class="k-button k-date-tab"
10454
- [class.k-state-active]="activeTab === 'date'"
10934
+ class="k-button k-group-start k-date-tab"
10935
+ [ngClass]="popupButtonsClasses()"
10936
+ [class.k-active]="activeTab === 'date'"
10455
10937
  [attr.title]="localization.get('dateTabLabel')"
10456
10938
  [attr.aria-label]="localization.get('dateTabLabel')"
10457
10939
  [kendoEventsOutsideAngular]="{
@@ -10464,8 +10946,9 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10464
10946
  </button>
10465
10947
  <button
10466
10948
  type="button"
10467
- class="k-button k-time-tab"
10468
- [class.k-state-active]="activeTab === 'time'"
10949
+ class="k-button k-group-end k-time-tab"
10950
+ [ngClass]="popupButtonsClasses()"
10951
+ [class.k-active]="activeTab === 'time'"
10469
10952
  [attr.title]="localization.get('timeTabLabel')"
10470
10953
  [attr.aria-label]="localization.get('timeTabLabel')"
10471
10954
  [kendoEventsOutsideAngular]="{
@@ -10545,6 +11028,7 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10545
11028
  *ngIf="cancelButton"
10546
11029
  type="button"
10547
11030
  class="k-button k-time-cancel"
11031
+ [ngClass]="popupButtonsClasses()"
10548
11032
  [attr.title]="localization.get('cancelLabel')"
10549
11033
  [attr.aria-label]="localization.get('cancelLabel')"
10550
11034
  [kendoEventsOutsideAngular]="{
@@ -10556,7 +11040,8 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10556
11040
  </button>
10557
11041
  <button
10558
11042
  type="button"
10559
- class="k-time-accept k-button k-primary"
11043
+ class="k-button k-time-accept"
11044
+ [ngClass]="popupButtonsClasses('primary')"
10560
11045
  [attr.title]="localization.get('acceptLabel')"
10561
11046
  [attr.aria-label]="localization.get('acceptLabel')"
10562
11047
  [disabled]="!calendarValue"
@@ -11299,7 +11784,7 @@ class DateRangeInput {
11299
11784
  const action = show ? 'addClass' : 'removeClass';
11300
11785
  const nativeElement = this.element.nativeElement;
11301
11786
  if (nativeElement && nativeElement.querySelector) {
11302
- this.renderer[action](nativeElement.querySelector('.k-dateinput-wrap'), 'k-state-focused');
11787
+ this.renderer[action](nativeElement, 'k-focus');
11303
11788
  }
11304
11789
  }
11305
11790
  }
@@ -11875,7 +12360,7 @@ let ViewComponent = class ViewComponent {
11875
12360
  'k-state-selected': !context.isOtherMonth && (context.isSelected || isRangeStart || isRangeEnd),
11876
12361
  'k-today': !context.isOtherMonth && context.isToday,
11877
12362
  'k-weekend': context.isWeekend,
11878
- 'k-state-disabled': context.isDisabled,
12363
+ 'k-disabled': context.isDisabled,
11879
12364
  'k-other-month': context.isOtherMonth
11880
12365
  });
11881
12366
  }
@@ -12797,14 +13282,16 @@ DateRangeModule = __decorate([
12797
13282
  const div$1 = domContainerFactory('div');
12798
13283
  const ul$1 = domContainerFactory('ul');
12799
13284
  const li$1 = domContainerFactory('li');
13285
+ const span = domContainerFactory('span');
13286
+ const listTitle = () => span('hour', 'k-title k-timeselector-title');
12800
13287
  const listItem = () => li$1('<span>02</span>', 'k-item');
12801
13288
  const list = () => ul$1([listItem()], 'k-reset');
12802
- const scrollable$1 = () => (div$1([list()], 'k-time-container k-content k-scrollable'));
13289
+ const scrollable$1 = () => (div$1([list()], 'k-time-container k-flex k-content k-calendar-content k-scrollable'));
12803
13290
  const timeListWrapper = () => {
12804
13291
  if (!isDocumentAvailable()) {
12805
13292
  return null;
12806
13293
  }
12807
- return div$1([div$1([scrollable$1()], 'k-time-list')], 'k-time-list-wrapper', { left: '-10000px', position: 'absolute' });
13294
+ return div$1([listTitle(), div$1([scrollable$1()], 'k-time-list')], 'k-time-list-wrapper', { left: '-10000px', position: 'absolute' });
12808
13295
  };
12809
13296
  const TIMELIST_WRAPPER = timeListWrapper();
12810
13297
  /**
@@ -12824,7 +13311,8 @@ let TimePickerDOMService = class TimePickerDOMService {
12824
13311
  const listContainer = container && container.querySelector('.k-time-list-container');
12825
13312
  const hostContainer = listContainer || document.body;
12826
13313
  const wrapper = hostContainer.appendChild(TIMELIST_WRAPPER);
12827
- this.timeListHeight = wrapper.querySelector('.k-scrollable').getBoundingClientRect().height;
13314
+ this.timeListTitleHeight = wrapper.querySelector('.k-timeselector-title').getBoundingClientRect().height;
13315
+ this.timeListHeight = wrapper.getBoundingClientRect().height;
12828
13316
  this.itemHeight = wrapper.querySelector('li').getBoundingClientRect().height;
12829
13317
  hostContainer.removeChild(wrapper);
12830
13318
  }
@@ -13464,8 +13952,9 @@ let TimeListComponent = class TimeListComponent {
13464
13952
  this.dom.ensureHeights();
13465
13953
  this.itemHeight = this.dom.itemHeight;
13466
13954
  this.listHeight = this.dom.timeListHeight;
13467
- this.topOffset = (this.listHeight - this.itemHeight) / 2;
13468
- this.bottomOffset = this.listHeight - this.itemHeight;
13955
+ const titleHeight = this.dom.timeListTitleHeight;
13956
+ this.topOffset = (this.listHeight - this.itemHeight - titleHeight) / 2;
13957
+ this.bottomOffset = this.listHeight - this.itemHeight - titleHeight;
13469
13958
  this.topThreshold = this.itemHeight * SNAP_THRESHOLD;
13470
13959
  this.bottomThreshold = this.itemHeight * (1 - SNAP_THRESHOLD);
13471
13960
  const translate = `translateY(${this.topOffset}px)`;
@@ -13687,12 +14176,12 @@ TimeListComponent = __decorate([
13687
14176
  const isEqualTillMinute = (value, min) => value.getHours() === min.getHours() && value.getMinutes() === min.getMinutes();
13688
14177
  const isEqualTillSecond = (value, min) => isEqualTillMinute(value, min) && value.getSeconds() === min.getSeconds();
13689
14178
  const isEqualTillMillisecond = (value, min) => isEqualTillSecond(value, min) && value.getMilliseconds() === min.getMilliseconds();
13690
- const ɵ3$7 = (value) => value.getHours(), ɵ4$2 = (_, min) => min.getHours(), ɵ5$1 = (value) => value.getMinutes(), ɵ6$1 = (value, min) => isEqualTillMinute(value, min) ? min.getMinutes() : 0, ɵ7$1 = (value) => value.getSeconds(), ɵ8$1 = (value, min) => isEqualTillSecond(value, min) ? min.getSeconds() : 0, ɵ9$1 = (value) => value.getMilliseconds(), ɵ10$1 = (value, min) => isEqualTillMillisecond(value, min) ? min.getMilliseconds() : 0;
14179
+ const ɵ3$7 = (value) => value.getHours(), ɵ4$3 = (_, min) => min.getHours(), ɵ5$1 = (value) => value.getMinutes(), ɵ6$1 = (value, min) => isEqualTillMinute(value, min) ? min.getMinutes() : 0, ɵ7$1 = (value) => value.getSeconds(), ɵ8$1 = (value, min) => isEqualTillSecond(value, min) ? min.getSeconds() : 0, ɵ9$1 = (value) => value.getMilliseconds(), ɵ10$1 = (value, min) => isEqualTillMillisecond(value, min) ? min.getMilliseconds() : 0;
13691
14180
  const defaultGetters = [
13692
14181
  {
13693
14182
  type: TIME_PART.hour,
13694
14183
  getter: ɵ3$7,
13695
- minGetter: ɵ4$2
14184
+ minGetter: ɵ4$3
13696
14185
  }, {
13697
14186
  type: TIME_PART.minute,
13698
14187
  getter: ɵ5$1,
@@ -14126,7 +14615,7 @@ __decorate([
14126
14615
  __metadata("design:type", Boolean)
14127
14616
  ], TimeSelectorComponent.prototype, "componentClass", void 0);
14128
14617
  __decorate([
14129
- HostBinding('class.k-state-disabled'),
14618
+ HostBinding('class.k-disabled'),
14130
14619
  __metadata("design:type", Boolean),
14131
14620
  __metadata("design:paramtypes", [])
14132
14621
  ], TimeSelectorComponent.prototype, "disabledClass", null);
@@ -14215,7 +14704,8 @@ TimeSelectorComponent = __decorate([
14215
14704
  <button
14216
14705
  #now
14217
14706
  *ngIf="showNowButton"
14218
- class="k-button k-flat k-time-now" type="button"
14707
+ type="button"
14708
+ class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-time-now"
14219
14709
  [attr.title]="localization.get('nowLabel')"
14220
14710
  [attr.aria-label]="localization.get('nowLabel')"
14221
14711
  [kendoEventsOutsideAngular]="{
@@ -14257,11 +14747,12 @@ TimeSelectorComponent = __decorate([
14257
14747
  </div>
14258
14748
  </ng-template>
14259
14749
  </div>
14260
- <div class="k-time-footer k-action-buttons" *ngIf="setButton || cancelButton">
14750
+ <div class="k-time-footer k-action-buttons k-actions k-hstack k-justify-content-stretch" *ngIf="setButton || cancelButton">
14261
14751
  <button
14262
14752
  #cancel
14263
14753
  *ngIf="cancelButton"
14264
- class="k-button k-time-cancel" type="button"
14754
+ class="k-button k-time-cancel k-button-md k-rounded-md k-button-solid k-button-solid-base"
14755
+ type="button"
14265
14756
  [attr.title]="localization.get('cancelLabel')"
14266
14757
  [attr.aria-label]="localization.get('cancelLabel')"
14267
14758
  [kendoEventsOutsideAngular]="{
@@ -14276,7 +14767,7 @@ TimeSelectorComponent = __decorate([
14276
14767
  #accept
14277
14768
  *ngIf="setButton"
14278
14769
  type="button"
14279
- class="k-time-accept k-button k-primary"
14770
+ class="k-button k-time-accept k-button-md k-rounded-md k-button-solid k-button-solid-primary"
14280
14771
  [attr.title]="localization.get('acceptLabel')"
14281
14772
  [attr.aria-label]="localization.get('acceptLabel')"
14282
14773
  [kendoEventsOutsideAngular]="{