@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 @@ 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: 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
  };
@@ -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>
@@ -5558,7 +5595,7 @@ __decorate([
5558
5595
  ], CalendarComponent.prototype, "calendarTabIndex", null);
5559
5596
  __decorate([
5560
5597
  HostBinding('attr.aria-disabled'),
5561
- HostBinding('class.k-state-disabled'),
5598
+ HostBinding('class.k-disabled'),
5562
5599
  __metadata("design:type", Boolean),
5563
5600
  __metadata("design:paramtypes", [])
5564
5601
  ], CalendarComponent.prototype, "ariaDisabled", null);
@@ -6137,11 +6174,11 @@ class KendoDate {
6137
6174
  * Represents the [Kendo UI DateInput component for Angular]({% slug overview_dateinput %}#toc-basic-usage).
6138
6175
  */
6139
6176
  let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6140
- constructor(cdr, intl, renderer, element, ngZone, injector, localization, pickerService) {
6177
+ constructor(cdr, intl, renderer, wrapper, ngZone, injector, localization, pickerService) {
6141
6178
  this.cdr = cdr;
6142
6179
  this.intl = intl;
6143
6180
  this.renderer = renderer;
6144
- this.element = element;
6181
+ this.wrapper = wrapper;
6145
6182
  this.ngZone = ngZone;
6146
6183
  this.injector = injector;
6147
6184
  this.localization = localization;
@@ -6343,6 +6380,9 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6343
6380
  this.onControlChange = noop;
6344
6381
  this.onControlTouched = noop;
6345
6382
  this.onValidatorChange = noop;
6383
+ this._size = 'medium';
6384
+ this._rounded = 'medium';
6385
+ this._fillMode = 'solid';
6346
6386
  this.symbolsMap = this.dateSymbolMap();
6347
6387
  this.updateFormatSections();
6348
6388
  if (this.pickerService) {
@@ -6374,6 +6414,71 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6374
6414
  get value() {
6375
6415
  return this._value;
6376
6416
  }
6417
+ /**
6418
+ * Sets the size of the component.
6419
+ *
6420
+ * The possible values are:
6421
+ * * `'small'`
6422
+ * * `'medium'` (Default)
6423
+ * * `'large'`
6424
+ * * `null`
6425
+ *
6426
+ */
6427
+ set size(size) {
6428
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
6429
+ if (size) {
6430
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
6431
+ }
6432
+ this._size = size;
6433
+ }
6434
+ get size() {
6435
+ return this._size;
6436
+ }
6437
+ /**
6438
+ * Sets the border radius of the component.
6439
+ *
6440
+ * The possible values are:
6441
+ * * `'small'`
6442
+ * * `'medium'` (Default)
6443
+ * * `'large'`
6444
+ * * `'full'`
6445
+ * * `null`
6446
+ *
6447
+ */
6448
+ set rounded(rounded) {
6449
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
6450
+ if (rounded) {
6451
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
6452
+ }
6453
+ this._rounded = rounded;
6454
+ }
6455
+ get rounded() {
6456
+ return this._rounded;
6457
+ }
6458
+ /**
6459
+ * Sets the fillMode of the component.
6460
+ *
6461
+ * The possible values are:
6462
+ * * `'solid'` (Default)
6463
+ * * `'flat'`
6464
+ * * `'outline'`
6465
+ * * `null`
6466
+ *
6467
+ */
6468
+ set fillMode(fillMode) {
6469
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
6470
+ if (fillMode) {
6471
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
6472
+ if (this.spinners && this.spinup && this.spindown) {
6473
+ this.setSpinnerFill(this.spinup.nativeElement, fillMode, this.fillMode);
6474
+ this.setSpinnerFill(this.spindown.nativeElement, fillMode, this.fillMode);
6475
+ }
6476
+ }
6477
+ this._fillMode = fillMode;
6478
+ }
6479
+ get fillMode() {
6480
+ return this._fillMode;
6481
+ }
6377
6482
  get wrapperClass() {
6378
6483
  return true;
6379
6484
  }
@@ -6391,16 +6496,16 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6391
6496
  }
6392
6497
  set isActive(value) {
6393
6498
  this._active = value;
6394
- if (!this.wrap) {
6499
+ if (!this.wrapper) {
6395
6500
  return;
6396
6501
  }
6397
6502
  if (!isPresent(this.pickerService)) {
6398
- const element = this.wrap.nativeElement;
6503
+ const element = this.wrapper.nativeElement;
6399
6504
  if (value) {
6400
- this.renderer.addClass(element, 'k-state-focused');
6505
+ this.renderer.addClass(element, 'k-focus');
6401
6506
  }
6402
6507
  else {
6403
- this.renderer.removeClass(element, 'k-state-focused');
6508
+ this.renderer.removeClass(element, 'k-focus');
6404
6509
  }
6405
6510
  }
6406
6511
  }
@@ -6437,7 +6542,7 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6437
6542
  * @hidden
6438
6543
  */
6439
6544
  containsElement(element) {
6440
- return Boolean(closest(element, node => node === this.element.nativeElement));
6545
+ return Boolean(closest(element, node => node === this.wrapper.nativeElement));
6441
6546
  }
6442
6547
  /**
6443
6548
  * @hidden
@@ -6489,13 +6594,16 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6489
6594
  this.updateElementValue();
6490
6595
  this.intlSubscription = this.intl.changes.subscribe(this.intlChange.bind(this));
6491
6596
  this.ngControl = this.injector.get(NgControl, null);
6492
- if (this.element) {
6493
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
6597
+ if (this.wrapper) {
6598
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
6494
6599
  this.ngZone.runOutsideAngular(() => {
6495
6600
  this.bindEvents();
6496
6601
  });
6497
6602
  }
6498
6603
  }
6604
+ ngAfterViewInit() {
6605
+ this.setComponentClasses();
6606
+ }
6499
6607
  /**
6500
6608
  * @hidden
6501
6609
  */
@@ -6844,7 +6952,7 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6844
6952
  }
6845
6953
  }
6846
6954
  bindEvents() {
6847
- const element = this.element.nativeElement;
6955
+ const element = this.wrapper.nativeElement;
6848
6956
  const mousewheelHandler = this.handleMouseWheel.bind(this);
6849
6957
  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
6958
  }
@@ -6975,6 +7083,29 @@ let DateInputComponent = DateInputComponent_1 = class DateInputComponent {
6975
7083
  this.pickerService.dateCompletenessChange.emit();
6976
7084
  }
6977
7085
  }
7086
+ setSpinnerFill(spinner, fill, oldFill) {
7087
+ if (oldFill) {
7088
+ this.renderer.removeClass(spinner, `k-button-${oldFill}`);
7089
+ this.renderer.removeClass(spinner, `k-button-${oldFill}-base`);
7090
+ }
7091
+ this.renderer.addClass(spinner, `k-button-${fill}`);
7092
+ this.renderer.addClass(spinner, `k-button-${fill}-base`);
7093
+ }
7094
+ setComponentClasses() {
7095
+ if (this.size) {
7096
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
7097
+ }
7098
+ if (this.rounded) {
7099
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
7100
+ }
7101
+ if (this.fillMode) {
7102
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
7103
+ }
7104
+ if (this.spinners) {
7105
+ this.setSpinnerFill(this.spinup.nativeElement, this.fillMode);
7106
+ this.setSpinnerFill(this.spindown.nativeElement, this.fillMode);
7107
+ }
7108
+ }
6978
7109
  };
6979
7110
  __decorate([
6980
7111
  Input(),
@@ -7066,6 +7197,21 @@ __decorate([
7066
7197
  Input(),
7067
7198
  __metadata("design:type", Boolean)
7068
7199
  ], DateInputComponent.prototype, "hasPopup", void 0);
7200
+ __decorate([
7201
+ Input(),
7202
+ __metadata("design:type", String),
7203
+ __metadata("design:paramtypes", [String])
7204
+ ], DateInputComponent.prototype, "size", null);
7205
+ __decorate([
7206
+ Input(),
7207
+ __metadata("design:type", String),
7208
+ __metadata("design:paramtypes", [String])
7209
+ ], DateInputComponent.prototype, "rounded", null);
7210
+ __decorate([
7211
+ Input(),
7212
+ __metadata("design:type", String),
7213
+ __metadata("design:paramtypes", [String])
7214
+ ], DateInputComponent.prototype, "fillMode", null);
7069
7215
  __decorate([
7070
7216
  Output(),
7071
7217
  __metadata("design:type", EventEmitter)
@@ -7087,20 +7233,24 @@ __decorate([
7087
7233
  __metadata("design:type", ElementRef)
7088
7234
  ], DateInputComponent.prototype, "dateInput", void 0);
7089
7235
  __decorate([
7090
- ViewChild('wrap', { static: false }),
7091
- __metadata("design:type", ElementRef)
7092
- ], DateInputComponent.prototype, "wrap", void 0);
7093
- __decorate([
7094
- HostBinding('class.k-widget'),
7236
+ HostBinding('class.k-input'),
7095
7237
  HostBinding('class.k-dateinput'),
7096
7238
  __metadata("design:type", Boolean),
7097
7239
  __metadata("design:paramtypes", [])
7098
7240
  ], DateInputComponent.prototype, "wrapperClass", null);
7099
7241
  __decorate([
7100
- HostBinding('class.k-state-disabled'),
7242
+ HostBinding('class.k-disabled'),
7101
7243
  __metadata("design:type", Boolean),
7102
7244
  __metadata("design:paramtypes", [])
7103
7245
  ], DateInputComponent.prototype, "disabledClass", null);
7246
+ __decorate([
7247
+ ViewChild('spinup', { static: false }),
7248
+ __metadata("design:type", ElementRef)
7249
+ ], DateInputComponent.prototype, "spinup", void 0);
7250
+ __decorate([
7251
+ ViewChild('spindown', { static: false }),
7252
+ __metadata("design:type", ElementRef)
7253
+ ], DateInputComponent.prototype, "spindown", void 0);
7104
7254
  DateInputComponent = DateInputComponent_1 = __decorate([
7105
7255
  Component({
7106
7256
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -7122,57 +7272,59 @@ DateInputComponent = DateInputComponent_1 = __decorate([
7122
7272
  decrement="Decrease value"
7123
7273
  >
7124
7274
  </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>
7275
+ <input
7276
+ #dateInput
7277
+ autocomplete="off"
7278
+ autocorrect="off"
7279
+ autocapitalize="off"
7280
+ spellcheck="false"
7281
+ class="k-input-inner"
7282
+ [attr.role]="role"
7283
+ [attr.aria-readonly]="ariaReadOnly"
7284
+ [id]="focusableId"
7285
+ [title]="title"
7286
+ [tabindex]="tabindex"
7287
+ [disabled]="disabled"
7288
+ [readonly]="readonly"
7289
+ [placeholder]="placeholder"
7290
+ [attr.aria-expanded]="isPopupOpen"
7291
+ [attr.aria-haspopup]="hasPopup"
7292
+ [kendoEventsOutsideAngular]="{
7293
+ click: handleClick,
7294
+ focus: handleFocus,
7295
+ mousedown: handleMousedown,
7296
+ touchstart: handleMousedown,
7297
+ dragstart: handleDragAndDrop,
7298
+ drop: handleDragAndDrop,
7299
+ blur: handleBlur
7300
+ }"
7301
+ [scope]="this"
7302
+ />
7303
+ <span *ngIf="spinners" class="k-input-spinner k-spin-button" (mousedown)="$event.preventDefault()">
7304
+ <button
7305
+ #spinup
7306
+ tabindex="-1"
7307
+ class="k-spinner-increase k-button k-icon-button"
7308
+ [class.k-active]="arrowDirection === arrow.Up"
7309
+ (mousedown)="arrowDirection = arrow.Up"
7310
+ (mouseleave)="arrowDirection = arrow.None"
7311
+ (click)="handleButtonClick(1)"
7312
+ [title]="localization.get('increment')"
7313
+ [attr.aria-label]="localization.get('increment')">
7314
+ <span class="k-button-icon k-icon k-i-arrow-n"></span>
7315
+ </button>
7316
+ <button
7317
+ #spindown
7318
+ tabindex="-1"
7319
+ class="k-spinner-decrease k-button k-icon-button"
7320
+ (click)="handleButtonClick(-1)"
7321
+ [class.k-active]="arrowDirection === arrow.Down"
7322
+ (mousedown)="arrowDirection = arrow.Down"
7323
+ (mouseleave)="arrowDirection = arrow.None"
7324
+ [title]="localization.get('decrement')"
7325
+ [attr.aria-label]="localization.get('decrement')">
7326
+ <span class="k-button-icon k-icon k-i-arrow-s"></span>
7327
+ </button>
7176
7328
  </span>
7177
7329
  `
7178
7330
  }),
@@ -7242,12 +7394,12 @@ const TWO_DIGIT_YEAR_MAX$1 = 68;
7242
7394
  * Represents the [Kendo UI DatePicker component for Angular]({% slug overview_datepicker %}#toc-basic-usage).
7243
7395
  */
7244
7396
  let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7245
- constructor(zone, localization, cdr, popupService, element, renderer, injector, pickerService, disabledDatesService, touchEnabled$$1) {
7397
+ constructor(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, disabledDatesService, touchEnabled$$1) {
7246
7398
  this.zone = zone;
7247
7399
  this.localization = localization;
7248
7400
  this.cdr = cdr;
7249
7401
  this.popupService = popupService;
7250
- this.element = element;
7402
+ this.wrapper = wrapper;
7251
7403
  this.renderer = renderer;
7252
7404
  this.injector = injector;
7253
7405
  this.pickerService = pickerService;
@@ -7473,6 +7625,9 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7473
7625
  this.incompleteValidator = noop;
7474
7626
  this.resolvedPromise = Promise.resolve(null);
7475
7627
  this.domEvents = [];
7628
+ this._size = 'medium';
7629
+ this._rounded = 'medium';
7630
+ this._fillMode = 'solid';
7476
7631
  validatePackage(packageMetadata);
7477
7632
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
7478
7633
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -7574,6 +7729,73 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7574
7729
  get disabledDates() {
7575
7730
  return this._disabledDates;
7576
7731
  }
7732
+ /**
7733
+ * Sets the size of the component.
7734
+ *
7735
+ * The possible values are:
7736
+ * * `'small'`
7737
+ * * `'medium'` (Default)
7738
+ * * `'large'`
7739
+ * * `null`
7740
+ *
7741
+ */
7742
+ set size(size) {
7743
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
7744
+ this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
7745
+ if (size) {
7746
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
7747
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
7748
+ }
7749
+ this._size = size;
7750
+ }
7751
+ get size() {
7752
+ return this._size;
7753
+ }
7754
+ /**
7755
+ * Sets the border radius of the component.
7756
+ *
7757
+ * The possible values are:
7758
+ * * `'small'`
7759
+ * * `'medium'` (Default)
7760
+ * * `'large'`
7761
+ * * `'full'`
7762
+ * * `null`
7763
+ *
7764
+ */
7765
+ set rounded(rounded) {
7766
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
7767
+ if (rounded) {
7768
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
7769
+ }
7770
+ this._rounded = rounded;
7771
+ }
7772
+ get rounded() {
7773
+ return this._rounded;
7774
+ }
7775
+ /**
7776
+ * Sets the fillMode of the component.
7777
+ *
7778
+ * The possible values are:
7779
+ * * `'solid'` (Default)
7780
+ * * `'flat'`
7781
+ * * `'outline'`
7782
+ * * `null`
7783
+ *
7784
+ */
7785
+ set fillMode(fillMode) {
7786
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
7787
+ this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
7788
+ this.renderer.removeClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
7789
+ if (fillMode) {
7790
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
7791
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${fillMode}-base`);
7792
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
7793
+ }
7794
+ this._fillMode = fillMode;
7795
+ }
7796
+ get fillMode() {
7797
+ return this._fillMode;
7798
+ }
7577
7799
  /**
7578
7800
  * @hidden
7579
7801
  */
@@ -7596,10 +7818,10 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7596
7818
  }
7597
7819
  const element = this.wrapper.nativeElement;
7598
7820
  if (value) {
7599
- this.renderer.addClass(element, 'k-state-focused');
7821
+ this.renderer.addClass(element, 'k-focus');
7600
7822
  }
7601
7823
  else {
7602
- this.renderer.removeClass(element, 'k-state-focused');
7824
+ this.renderer.removeClass(element, 'k-focus');
7603
7825
  }
7604
7826
  }
7605
7827
  get show() {
@@ -7634,13 +7856,16 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7634
7856
  .changes
7635
7857
  .subscribe(() => this.cdr.markForCheck());
7636
7858
  this.control = this.injector.get(NgControl, null);
7637
- if (this.element) {
7638
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
7859
+ if (this.wrapper) {
7860
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
7639
7861
  this.zone.runOutsideAngular(() => {
7640
7862
  this.bindEvents();
7641
7863
  });
7642
7864
  }
7643
7865
  }
7866
+ ngAfterViewInit() {
7867
+ this.setComponentClasses();
7868
+ }
7644
7869
  /**
7645
7870
  * @hidden
7646
7871
  */
@@ -7932,7 +8157,7 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7932
8157
  }
7933
8158
  }
7934
8159
  bindEvents() {
7935
- const element = this.element.nativeElement;
8160
+ const element = this.wrapper.nativeElement;
7936
8161
  this.domEvents.push(this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
7937
8162
  if (isWindowAvailable()) {
7938
8163
  this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this));
@@ -7988,6 +8213,20 @@ let DatePickerComponent = DatePickerComponent_1 = class DatePickerComponent {
7988
8213
  this.cdr.markForCheck();
7989
8214
  this.zone.run(() => this.onValidatorChange());
7990
8215
  }
8216
+ setComponentClasses() {
8217
+ if (this.size) {
8218
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
8219
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
8220
+ }
8221
+ if (this.rounded) {
8222
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
8223
+ }
8224
+ if (this.fillMode) {
8225
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
8226
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
8227
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
8228
+ }
8229
+ }
7991
8230
  };
7992
8231
  __decorate([
7993
8232
  ViewChild('container', { read: ViewContainerRef, static: true }),
@@ -7998,9 +8237,9 @@ __decorate([
7998
8237
  __metadata("design:type", TemplateRef)
7999
8238
  ], DatePickerComponent.prototype, "popupTemplate", void 0);
8000
8239
  __decorate([
8001
- ViewChild('wrapper', { static: false }),
8240
+ ViewChild('toggleButton', { static: true }),
8002
8241
  __metadata("design:type", ElementRef)
8003
- ], DatePickerComponent.prototype, "wrapper", void 0);
8242
+ ], DatePickerComponent.prototype, "toggleButton", void 0);
8004
8243
  __decorate([
8005
8244
  ContentChild(CellTemplateDirective, { static: false }),
8006
8245
  __metadata("design:type", CellTemplateDirective)
@@ -8185,6 +8424,21 @@ __decorate([
8185
8424
  Input(),
8186
8425
  __metadata("design:type", Boolean)
8187
8426
  ], DatePickerComponent.prototype, "weekNumber", void 0);
8427
+ __decorate([
8428
+ Input(),
8429
+ __metadata("design:type", String),
8430
+ __metadata("design:paramtypes", [String])
8431
+ ], DatePickerComponent.prototype, "size", null);
8432
+ __decorate([
8433
+ Input(),
8434
+ __metadata("design:type", String),
8435
+ __metadata("design:paramtypes", [String])
8436
+ ], DatePickerComponent.prototype, "rounded", null);
8437
+ __decorate([
8438
+ Input(),
8439
+ __metadata("design:type", String),
8440
+ __metadata("design:paramtypes", [String])
8441
+ ], DatePickerComponent.prototype, "fillMode", null);
8188
8442
  __decorate([
8189
8443
  Output(),
8190
8444
  __metadata("design:type", EventEmitter)
@@ -8206,12 +8460,12 @@ __decorate([
8206
8460
  __metadata("design:type", EventEmitter)
8207
8461
  ], DatePickerComponent.prototype, "close", void 0);
8208
8462
  __decorate([
8209
- HostBinding('class.k-widget'),
8210
8463
  HostBinding('class.k-datepicker'),
8464
+ HostBinding('class.k-input'),
8211
8465
  __metadata("design:type", Boolean)
8212
8466
  ], DatePickerComponent.prototype, "wrapperClasses", void 0);
8213
8467
  __decorate([
8214
- HostBinding('class.k-state-disabled'),
8468
+ HostBinding('class.k-disabled'),
8215
8469
  __metadata("design:type", Boolean),
8216
8470
  __metadata("design:paramtypes", [])
8217
8471
  ], DatePickerComponent.prototype, "disabledClass", null);
@@ -8247,44 +8501,45 @@ DatePickerComponent = DatePickerComponent_1 = __decorate([
8247
8501
  nextButtonTitle="Navigate to next view"
8248
8502
  >
8249
8503
  </ng-container>
8250
- <span #wrapper
8251
- class="k-picker-wrap"
8252
- [class.k-state-disabled]="disabled"
8504
+ <kendo-dateinput
8505
+ #input
8506
+ [role]="inputRole"
8507
+ [focusableId]="focusableId"
8508
+ [hasPopup]="true"
8509
+ [isPopupOpen]="show"
8510
+ [disabled]="disabled"
8511
+ [readonly]="readonly || readOnlyInput"
8512
+ [ariaReadOnly]="readonly"
8513
+ [tabindex]="tabindex"
8514
+ [title]="title"
8515
+ [format]="format"
8516
+ [twoDigitYearMax]="twoDigitYearMax"
8517
+ [formatPlaceholder]="formatPlaceholder"
8518
+ [placeholder]="placeholder"
8519
+ [min]="min"
8520
+ [max]="max"
8521
+ [incompleteDateValidation]="incompleteDateValidation"
8522
+ [fillMode]="null"
8523
+ [rounded]="null"
8524
+ [size]="null"
8525
+ [value]="value"
8526
+ (valueChange)="handleInputChange($event)"
8527
+ ></kendo-dateinput>
8528
+ <button
8529
+ #toggleButton
8530
+ type="button"
8531
+ class="k-input-button k-button k-icon-button"
8532
+ [tabindex]="-1"
8533
+ [attr.title]="localization.get('toggle')"
8534
+ [attr.aria-label]="localization.get('toggle')"
8535
+ [kendoEventsOutsideAngular]="{
8536
+ click: handleIconClick,
8537
+ mousedown: handleMousedown
8538
+ }"
8539
+ [scope]="this"
8253
8540
  >
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>
8541
+ <span class="k-button-icon k-icon k-i-calendar"></span>
8542
+ </button>
8288
8543
  <ng-container #container></ng-container>
8289
8544
  <ng-template #popupTemplate>
8290
8545
  <kendo-calendar
@@ -8375,12 +8630,12 @@ const formatRegExp = new RegExp(`${TIME_PART.hour}|${TIME_PART.minute}|${TIME_PA
8375
8630
  * Represents the [Kendo UI TimePicker component for Angular]({% slug overview_timepicker %}#toc-basic-usage).
8376
8631
  */
8377
8632
  let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8378
- constructor(zone, localization, cdr, popupService, element, renderer, injector, pickerService, intl, touchEnabled$$1) {
8633
+ constructor(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, intl, touchEnabled$$1) {
8379
8634
  this.zone = zone;
8380
8635
  this.localization = localization;
8381
8636
  this.cdr = cdr;
8382
8637
  this.popupService = popupService;
8383
- this.element = element;
8638
+ this.wrapper = wrapper;
8384
8639
  this.renderer = renderer;
8385
8640
  this.injector = injector;
8386
8641
  this.pickerService = pickerService;
@@ -8542,6 +8797,9 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8542
8797
  this._value = null;
8543
8798
  this._active = false;
8544
8799
  this.domEvents = [];
8800
+ this._size = 'medium';
8801
+ this._rounded = 'medium';
8802
+ this._fillMode = 'solid';
8545
8803
  validatePackage(packageMetadata);
8546
8804
  this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
8547
8805
  this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
@@ -8627,6 +8885,73 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8627
8885
  get value() {
8628
8886
  return this._value;
8629
8887
  }
8888
+ /**
8889
+ * Sets the size of the component.
8890
+ *
8891
+ * The possible values are:
8892
+ * * `'small'`
8893
+ * * `'medium'` (Default)
8894
+ * * `'large'`
8895
+ * * `null`
8896
+ *
8897
+ */
8898
+ set size(size) {
8899
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
8900
+ this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
8901
+ if (size) {
8902
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
8903
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
8904
+ }
8905
+ this._size = size;
8906
+ }
8907
+ get size() {
8908
+ return this._size;
8909
+ }
8910
+ /**
8911
+ * Sets the border radius of the component.
8912
+ *
8913
+ * The possible values are:
8914
+ * * `'small'`
8915
+ * * `'medium'` (Default)
8916
+ * * `'large'`
8917
+ * * `'full'`
8918
+ * * `null`
8919
+ *
8920
+ */
8921
+ set rounded(rounded) {
8922
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
8923
+ if (rounded) {
8924
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
8925
+ }
8926
+ this._rounded = rounded;
8927
+ }
8928
+ get rounded() {
8929
+ return this._rounded;
8930
+ }
8931
+ /**
8932
+ * Sets the fillMode of the component.
8933
+ *
8934
+ * The possible values are:
8935
+ * * `'solid'` (Default)
8936
+ * * `'flat'`
8937
+ * * `'outline'`
8938
+ * * `null`
8939
+ *
8940
+ */
8941
+ set fillMode(fillMode) {
8942
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
8943
+ this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
8944
+ this.renderer.removeClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
8945
+ if (fillMode) {
8946
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
8947
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
8948
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${fillMode}-base`);
8949
+ }
8950
+ this._fillMode = fillMode;
8951
+ }
8952
+ get fillMode() {
8953
+ return this._fillMode;
8954
+ }
8630
8955
  /**
8631
8956
  * @hidden
8632
8957
  */
@@ -8649,10 +8974,10 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8649
8974
  }
8650
8975
  const element = this.wrapper.nativeElement;
8651
8976
  if (value) {
8652
- this.renderer.addClass(element, 'k-state-focused');
8977
+ this.renderer.addClass(element, 'k-focus');
8653
8978
  }
8654
8979
  else {
8655
- this.renderer.removeClass(element, 'k-state-focused');
8980
+ this.renderer.removeClass(element, 'k-focus');
8656
8981
  }
8657
8982
  }
8658
8983
  get show() {
@@ -8692,13 +9017,19 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8692
9017
  this.localizationChangeSubscription = this.localization
8693
9018
  .changes.subscribe(() => this.cdr.markForCheck());
8694
9019
  this.control = this.injector.get(NgControl, null);
8695
- if (this.element) {
8696
- this.renderer.removeAttribute(this.element.nativeElement, 'tabindex');
9020
+ if (this.wrapper) {
9021
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
8697
9022
  this.zone.runOutsideAngular(() => {
8698
9023
  this.bindEvents();
8699
9024
  });
8700
9025
  }
8701
9026
  }
9027
+ /**
9028
+ * @hidden
9029
+ */
9030
+ ngAfterViewInit() {
9031
+ this.setComponentClasses();
9032
+ }
8702
9033
  /**
8703
9034
  * @hidden
8704
9035
  */
@@ -8996,7 +9327,7 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
8996
9327
  }
8997
9328
  }
8998
9329
  bindEvents() {
8999
- const element = this.element.nativeElement;
9330
+ const element = this.wrapper.nativeElement;
9000
9331
  this.domEvents.push(this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
9001
9332
  if (isWindowAvailable()) {
9002
9333
  this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this));
@@ -9045,6 +9376,20 @@ let TimePickerComponent = TimePickerComponent_1 = class TimePickerComponent {
9045
9376
  this.cdr.markForCheck();
9046
9377
  this.zone.run(() => this.onValidatorChange());
9047
9378
  }
9379
+ setComponentClasses() {
9380
+ if (this.size) {
9381
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
9382
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
9383
+ }
9384
+ if (this.rounded) {
9385
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
9386
+ }
9387
+ if (this.fillMode) {
9388
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
9389
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
9390
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
9391
+ }
9392
+ }
9048
9393
  };
9049
9394
  __decorate([
9050
9395
  ViewChild('container', { read: ViewContainerRef, static: false }),
@@ -9055,9 +9400,9 @@ __decorate([
9055
9400
  __metadata("design:type", TemplateRef)
9056
9401
  ], TimePickerComponent.prototype, "popupTemplate", void 0);
9057
9402
  __decorate([
9058
- ViewChild('wrapper', { static: false }),
9403
+ ViewChild('toggleButton', { static: true }),
9059
9404
  __metadata("design:type", ElementRef)
9060
- ], TimePickerComponent.prototype, "wrapper", void 0);
9405
+ ], TimePickerComponent.prototype, "toggleButton", void 0);
9061
9406
  __decorate([
9062
9407
  Input(),
9063
9408
  __metadata("design:type", String)
@@ -9140,6 +9485,21 @@ __decorate([
9140
9485
  __metadata("design:type", Date),
9141
9486
  __metadata("design:paramtypes", [Date])
9142
9487
  ], TimePickerComponent.prototype, "value", null);
9488
+ __decorate([
9489
+ Input(),
9490
+ __metadata("design:type", String),
9491
+ __metadata("design:paramtypes", [String])
9492
+ ], TimePickerComponent.prototype, "size", null);
9493
+ __decorate([
9494
+ Input(),
9495
+ __metadata("design:type", String),
9496
+ __metadata("design:paramtypes", [String])
9497
+ ], TimePickerComponent.prototype, "rounded", null);
9498
+ __decorate([
9499
+ Input(),
9500
+ __metadata("design:type", String),
9501
+ __metadata("design:paramtypes", [String])
9502
+ ], TimePickerComponent.prototype, "fillMode", null);
9143
9503
  __decorate([
9144
9504
  Output(),
9145
9505
  __metadata("design:type", EventEmitter)
@@ -9161,12 +9521,12 @@ __decorate([
9161
9521
  __metadata("design:type", EventEmitter)
9162
9522
  ], TimePickerComponent.prototype, "close", void 0);
9163
9523
  __decorate([
9164
- HostBinding('class.k-widget'),
9165
9524
  HostBinding('class.k-timepicker'),
9525
+ HostBinding('class.k-input'),
9166
9526
  __metadata("design:type", Boolean)
9167
9527
  ], TimePickerComponent.prototype, "wrapperClasses", void 0);
9168
9528
  __decorate([
9169
- HostBinding('class.k-state-disabled'),
9529
+ HostBinding('class.k-disabled'),
9170
9530
  __metadata("design:type", Boolean),
9171
9531
  __metadata("design:paramtypes", [])
9172
9532
  ], TimePickerComponent.prototype, "disabledClass", null);
@@ -9210,73 +9570,73 @@ TimePickerComponent = TimePickerComponent_1 = __decorate([
9210
9570
  toggle="Toggle time list"
9211
9571
  >
9212
9572
  </ng-container>
9213
- <span #wrapper
9214
- class="k-picker-wrap"
9215
- [class.k-state-disabled]="disabled"
9573
+ <kendo-dateinput
9574
+ #input
9575
+ [focusableId]="focusableId"
9576
+ [hasPopup]="true"
9577
+ [isPopupOpen]="show"
9578
+ [disabled]="disabled"
9579
+ [readonly]="readonly || readOnlyInput"
9580
+ [role]="inputRole"
9581
+ [ariaReadOnly]="readonly"
9582
+ [format]="format"
9583
+ [formatPlaceholder]="formatPlaceholder"
9584
+ [placeholder]="placeholder"
9585
+ [min]="normalizeTime(min)"
9586
+ [max]="normalizeTime(max)"
9587
+ [incompleteDateValidation]="incompleteDateValidation"
9588
+ [fillMode]="fillMode"
9589
+ [rounded]="rounded"
9590
+ [size]="size"
9591
+ [steps]="steps"
9592
+ [tabindex]="!show ? tabindex : -1"
9593
+ [title]="title"
9594
+ [value]="value"
9595
+ (valueChange)="handleInputChange($event)"
9596
+ ></kendo-dateinput>
9597
+ <button
9598
+ #toggleButton
9599
+ type="button"
9600
+ class="k-input-button k-button k-icon-button"
9601
+ [attr.title]="localization.get('toggle')"
9602
+ [attr.aria-label]="localization.get('toggle')"
9603
+ [kendoEventsOutsideAngular]="{
9604
+ click: handleIconClick,
9605
+ mousedown: handleMousedown
9606
+ }"
9607
+ [scope]="this"
9216
9608
  >
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"
9609
+ <span class="k-button-icon k-icon k-i-clock"></span>
9610
+ </button>
9611
+ <ng-template #popupTemplate>
9612
+ <kendo-timeselector
9613
+ #timeSelector
9614
+ [cancelButton]="cancelButton"
9615
+ [nowButton]="nowButton"
9226
9616
  [format]="format"
9227
- [formatPlaceholder]="formatPlaceholder"
9228
- [placeholder]="placeholder"
9229
- [min]="normalizeTime(min)"
9230
- [max]="normalizeTime(max)"
9231
- [incompleteDateValidation]="incompleteDateValidation"
9617
+ [min]="min"
9618
+ [max]="max"
9232
9619
  [steps]="steps"
9233
- [tabindex]="!show ? tabindex : -1"
9234
- [title]="title"
9235
9620
  [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
9621
  [kendoEventsOutsideAngular]="{
9243
- click: handleIconClick,
9622
+ keydown: handleKeydown,
9244
9623
  mousedown: handleMousedown
9245
9624
  }"
9246
9625
  [scope]="this"
9626
+ (valueChange)="handleChange($event)"
9627
+ (valueReject)="handleReject()"
9247
9628
  >
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()"
9629
+ <kendo-timeselector-messages
9630
+ [acceptLabel]="localization.get('acceptLabel')"
9631
+ [accept]="localization.get('accept')"
9632
+ [cancelLabel]="localization.get('cancelLabel')"
9633
+ [cancel]="localization.get('cancel')"
9634
+ [nowLabel]="localization.get('nowLabel')"
9635
+ [now]="localization.get('now')"
9267
9636
  >
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>
9637
+ </kendo-timeselector-messages>
9638
+ </kendo-timeselector>
9639
+ </ng-template>
9280
9640
  <ng-container #container></ng-container>
9281
9641
  `
9282
9642
  }),
@@ -9304,13 +9664,13 @@ const TWO_DIGIT_YEAR_MAX$2 = 68;
9304
9664
  * Represents the [Kendo UI DateTimePicker component for Angular]({% slug overview_datetimepicker %}).
9305
9665
  */
9306
9666
  let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerComponent {
9307
- constructor(popupService, intl, cdr, pickerService, ngZone, host, touchEnabled$$1, localization, disabledDatesService, renderer) {
9667
+ constructor(popupService, intl, cdr, pickerService, ngZone, wrapper, touchEnabled$$1, localization, disabledDatesService, renderer) {
9308
9668
  this.popupService = popupService;
9309
9669
  this.intl = intl;
9310
9670
  this.cdr = cdr;
9311
9671
  this.pickerService = pickerService;
9312
9672
  this.ngZone = ngZone;
9313
- this.host = host;
9673
+ this.wrapper = wrapper;
9314
9674
  this.touchEnabled = touchEnabled$$1;
9315
9675
  this.localization = localization;
9316
9676
  this.disabledDatesService = disabledDatesService;
@@ -9477,8 +9837,17 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9477
9837
  this.disabledDatesValidateFn = noop;
9478
9838
  this.incompleteValidator = noop;
9479
9839
  this.subscriptions = new Subscription();
9840
+ this._size = 'medium';
9841
+ this._rounded = 'medium';
9842
+ this._fillMode = 'solid';
9480
9843
  validatePackage(packageMetadata);
9481
9844
  }
9845
+ /**
9846
+ * @hidden
9847
+ */
9848
+ get disabledClass() {
9849
+ return this.disabled;
9850
+ }
9482
9851
  /**
9483
9852
  * @hidden
9484
9853
  */
@@ -9614,10 +9983,10 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9614
9983
  }
9615
9984
  set isActive(value) {
9616
9985
  if (value) {
9617
- this.renderer.addClass(this.wrapper.nativeElement, 'k-state-focused');
9986
+ this.renderer.addClass(this.wrapper.nativeElement, 'k-focus');
9618
9987
  }
9619
9988
  else {
9620
- this.renderer.removeClass(this.wrapper.nativeElement, 'k-state-focused');
9989
+ this.renderer.removeClass(this.wrapper.nativeElement, 'k-focus');
9621
9990
  }
9622
9991
  this._isActive = value;
9623
9992
  }
@@ -9632,6 +10001,73 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9632
10001
  get defaultTab() {
9633
10002
  return this._defaultTab;
9634
10003
  }
10004
+ /**
10005
+ * Sets the size of the component.
10006
+ *
10007
+ * The possible values are:
10008
+ * * `'small'`
10009
+ * * `'medium'` (Default)
10010
+ * * `'large'`
10011
+ * * `null`
10012
+ *
10013
+ */
10014
+ set size(size) {
10015
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
10016
+ this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
10017
+ if (size) {
10018
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
10019
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
10020
+ }
10021
+ this._size = size;
10022
+ }
10023
+ get size() {
10024
+ return this._size;
10025
+ }
10026
+ /**
10027
+ * Sets the border radius of the component.
10028
+ *
10029
+ * The possible values are:
10030
+ * * `'small'`
10031
+ * * `'medium'` (Default)
10032
+ * * `'large'`
10033
+ * * `'full'`
10034
+ * * `null`
10035
+ *
10036
+ */
10037
+ set rounded(rounded) {
10038
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
10039
+ if (rounded) {
10040
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
10041
+ }
10042
+ this._rounded = rounded;
10043
+ }
10044
+ get rounded() {
10045
+ return this._rounded;
10046
+ }
10047
+ /**
10048
+ * Sets the fillMode of the component.
10049
+ *
10050
+ * The possible values are:
10051
+ * * `'solid'` (Default)
10052
+ * * `'flat'`
10053
+ * * `'outline'`
10054
+ * * `null`
10055
+ *
10056
+ */
10057
+ set fillMode(fillMode) {
10058
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
10059
+ this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
10060
+ this.renderer.removeClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
10061
+ if (fillMode) {
10062
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
10063
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
10064
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${fillMode}-base`);
10065
+ }
10066
+ this._fillMode = fillMode;
10067
+ }
10068
+ get fillMode() {
10069
+ return this._fillMode;
10070
+ }
9635
10071
  /**
9636
10072
  * @hidden
9637
10073
  */
@@ -9697,6 +10133,9 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9697
10133
  this.subscriptions.add(this.ngZone.runOutsideAngular(() => fromEvent(window, 'blur').subscribe(this.handleCancel.bind(this))));
9698
10134
  }
9699
10135
  }
10136
+ ngAfterViewInit() {
10137
+ this.setComponentClasses();
10138
+ }
9700
10139
  ngOnChanges(changes) {
9701
10140
  if (isPresent(changes.min) || isPresent(changes.max)) {
9702
10141
  this.verifyMinMaxRange();
@@ -9848,7 +10287,7 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9848
10287
  return;
9849
10288
  }
9850
10289
  this.isActive = false;
9851
- const isNgControlUntouched = this.host.nativeElement.classList.contains('ng-untouched');
10290
+ const isNgControlUntouched = this.wrapper.nativeElement.classList.contains('ng-untouched');
9852
10291
  const runInZone = isNgControlUntouched || hasObservers(this.onBlur) || (this.isOpen && hasObservers(this.close));
9853
10292
  this.run(runInZone, () => {
9854
10293
  this.onBlur.emit();
@@ -9973,6 +10412,13 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
9973
10412
  this.input.focus();
9974
10413
  }
9975
10414
  }
10415
+ /**
10416
+ * @hidden
10417
+ */
10418
+ popupButtonsClasses(type) {
10419
+ const buttonType = type ? type : 'base';
10420
+ return `${this.size ? getSizeClass('button', this.size) : ''} ${this.rounded ? getRoundedClass(this.rounded) : ''} ${this.fillMode ? 'k-button-' + this.fillMode + ' ' + 'k-button-' + this.fillMode + '-' + buttonType : ''}`;
10421
+ }
9976
10422
  /**
9977
10423
  * @hidden
9978
10424
  *
@@ -10096,7 +10542,7 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
10096
10542
  }
10097
10543
  /**
10098
10544
  * 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.
10545
+ * that is, whether the focus target is inside the component or in the popup.
10100
10546
  */
10101
10547
  focusTargetInComponent(event) {
10102
10548
  if (!isPresent(event)) {
@@ -10142,16 +10588,35 @@ let DateTimePickerComponent = DateTimePickerComponent_1 = class DateTimePickerCo
10142
10588
  this.cdr.markForCheck();
10143
10589
  this.ngZone.run(() => this.onValidatorChange());
10144
10590
  }
10591
+ setComponentClasses() {
10592
+ if (this.size) {
10593
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
10594
+ this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
10595
+ }
10596
+ if (this.rounded) {
10597
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
10598
+ }
10599
+ if (this.fillMode) {
10600
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
10601
+ this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
10602
+ this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
10603
+ }
10604
+ }
10145
10605
  };
10146
10606
  __decorate([
10147
- HostBinding('class.k-widget'),
10148
10607
  HostBinding('class.k-datetimepicker'),
10608
+ HostBinding('class.k-input'),
10149
10609
  __metadata("design:type", Boolean)
10150
10610
  ], DateTimePickerComponent.prototype, "hostClasses", void 0);
10151
10611
  __decorate([
10152
- ViewChild('wrapper', { static: true }),
10612
+ HostBinding('class.k-disabled'),
10613
+ __metadata("design:type", Boolean),
10614
+ __metadata("design:paramtypes", [])
10615
+ ], DateTimePickerComponent.prototype, "disabledClass", null);
10616
+ __decorate([
10617
+ ViewChild('toggleButton', { static: true }),
10153
10618
  __metadata("design:type", ElementRef)
10154
- ], DateTimePickerComponent.prototype, "wrapper", void 0);
10619
+ ], DateTimePickerComponent.prototype, "toggleButton", void 0);
10155
10620
  __decorate([
10156
10621
  Input(),
10157
10622
  __metadata("design:type", Date),
@@ -10280,6 +10745,21 @@ __decorate([
10280
10745
  __metadata("design:type", String),
10281
10746
  __metadata("design:paramtypes", [String])
10282
10747
  ], DateTimePickerComponent.prototype, "defaultTab", null);
10748
+ __decorate([
10749
+ Input(),
10750
+ __metadata("design:type", String),
10751
+ __metadata("design:paramtypes", [String])
10752
+ ], DateTimePickerComponent.prototype, "size", null);
10753
+ __decorate([
10754
+ Input(),
10755
+ __metadata("design:type", String),
10756
+ __metadata("design:paramtypes", [String])
10757
+ ], DateTimePickerComponent.prototype, "rounded", null);
10758
+ __decorate([
10759
+ Input(),
10760
+ __metadata("design:type", String),
10761
+ __metadata("design:paramtypes", [String])
10762
+ ], DateTimePickerComponent.prototype, "fillMode", null);
10283
10763
  __decorate([
10284
10764
  ContentChild(CellTemplateDirective, { static: false }),
10285
10765
  __metadata("design:type", CellTemplateDirective)
@@ -10378,56 +10858,55 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10378
10858
  >
10379
10859
  </ng-container>
10380
10860
 
10381
- <span
10382
- #wrapper
10383
- class="k-picker-wrap"
10384
- [class.k-state-disabled]="disabled"
10861
+ <kendo-dateinput
10862
+ [value]="value"
10863
+ [format]="format"
10864
+ [twoDigitYearMax]="twoDigitYearMax"
10865
+ [min]="min"
10866
+ [max]="max"
10867
+ [incompleteDateValidation]="incompleteDateValidation"
10868
+ [formatPlaceholder]="formatPlaceholder"
10869
+ [placeholder]="placeholder"
10870
+ [disabled]="disabled"
10871
+ [readonly]="readonly || readOnlyInput"
10872
+ [role]="inputRole"
10873
+ [ariaReadOnly]="readonly"
10874
+ [steps]="steps"
10875
+ [tabindex]="tabindex"
10876
+ [title]="title"
10877
+ [focusableId]="focusableId"
10878
+ [hasPopup]="true"
10879
+ [isPopupOpen]="isOpen"
10880
+ (valueChange)="handleInputValueChange($event)"
10881
+ [kendoEventsOutsideAngular]="{
10882
+ keydown: handleKeyDown
10883
+ }"
10884
+ [scope]="this"
10885
+ [fillMode]="fillMode"
10886
+ [rounded]="rounded"
10887
+ [size]="size"
10385
10888
  >
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
10889
+ </kendo-dateinput>
10890
+ <button
10891
+ #toggleButton
10892
+ type="button"
10893
+ class="k-input-button k-button k-icon-button"
10894
+ [tabindex]="-1"
10895
+ [attr.title]="localization.get('toggle')"
10896
+ [attr.aria-label]="localization.get('toggle')"
10897
+ [kendoEventsOutsideAngular]="{
10898
+ mousedown: preventMouseDown,
10899
+ click: handleIconClick
10900
+ }"
10901
+ [scope]="this"
10902
+ >
10903
+ <span class="k-button-icon k-icon"
10904
+ [ngClass]="{
10905
+ 'k-i-calendar': activeTab === 'date',
10906
+ 'k-i-clock': activeTab === 'time'
10418
10907
  }"
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>
10908
+ ></span>
10909
+ </button>
10431
10910
 
10432
10911
  <ng-container #container></ng-container>
10433
10912
 
@@ -10450,8 +10929,9 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10450
10929
  <div class="k-button-group k-button-group-stretched">
10451
10930
  <button
10452
10931
  type="button"
10453
- class="k-button k-date-tab"
10454
- [class.k-state-active]="activeTab === 'date'"
10932
+ class="k-button k-group-start k-date-tab"
10933
+ [ngClass]="popupButtonsClasses()"
10934
+ [class.k-active]="activeTab === 'date'"
10455
10935
  [attr.title]="localization.get('dateTabLabel')"
10456
10936
  [attr.aria-label]="localization.get('dateTabLabel')"
10457
10937
  [kendoEventsOutsideAngular]="{
@@ -10464,8 +10944,9 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10464
10944
  </button>
10465
10945
  <button
10466
10946
  type="button"
10467
- class="k-button k-time-tab"
10468
- [class.k-state-active]="activeTab === 'time'"
10947
+ class="k-button k-group-end k-time-tab"
10948
+ [ngClass]="popupButtonsClasses()"
10949
+ [class.k-active]="activeTab === 'time'"
10469
10950
  [attr.title]="localization.get('timeTabLabel')"
10470
10951
  [attr.aria-label]="localization.get('timeTabLabel')"
10471
10952
  [kendoEventsOutsideAngular]="{
@@ -10545,6 +11026,7 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10545
11026
  *ngIf="cancelButton"
10546
11027
  type="button"
10547
11028
  class="k-button k-time-cancel"
11029
+ [ngClass]="popupButtonsClasses()"
10548
11030
  [attr.title]="localization.get('cancelLabel')"
10549
11031
  [attr.aria-label]="localization.get('cancelLabel')"
10550
11032
  [kendoEventsOutsideAngular]="{
@@ -10556,7 +11038,8 @@ DateTimePickerComponent = DateTimePickerComponent_1 = __decorate([
10556
11038
  </button>
10557
11039
  <button
10558
11040
  type="button"
10559
- class="k-time-accept k-button k-primary"
11041
+ class="k-button k-time-accept"
11042
+ [ngClass]="popupButtonsClasses('primary')"
10560
11043
  [attr.title]="localization.get('acceptLabel')"
10561
11044
  [attr.aria-label]="localization.get('acceptLabel')"
10562
11045
  [disabled]="!calendarValue"
@@ -11299,7 +11782,7 @@ class DateRangeInput {
11299
11782
  const action = show ? 'addClass' : 'removeClass';
11300
11783
  const nativeElement = this.element.nativeElement;
11301
11784
  if (nativeElement && nativeElement.querySelector) {
11302
- this.renderer[action](nativeElement.querySelector('.k-dateinput-wrap'), 'k-state-focused');
11785
+ this.renderer[action](nativeElement, 'k-focus');
11303
11786
  }
11304
11787
  }
11305
11788
  }
@@ -11875,7 +12358,7 @@ let ViewComponent = class ViewComponent {
11875
12358
  'k-state-selected': !context.isOtherMonth && (context.isSelected || isRangeStart || isRangeEnd),
11876
12359
  'k-today': !context.isOtherMonth && context.isToday,
11877
12360
  'k-weekend': context.isWeekend,
11878
- 'k-state-disabled': context.isDisabled,
12361
+ 'k-disabled': context.isDisabled,
11879
12362
  'k-other-month': context.isOtherMonth
11880
12363
  });
11881
12364
  }
@@ -12797,14 +13280,16 @@ DateRangeModule = __decorate([
12797
13280
  const div$1 = domContainerFactory('div');
12798
13281
  const ul$1 = domContainerFactory('ul');
12799
13282
  const li$1 = domContainerFactory('li');
13283
+ const span = domContainerFactory('span');
13284
+ const listTitle = () => span('hour', 'k-title k-timeselector-title');
12800
13285
  const listItem = () => li$1('<span>02</span>', 'k-item');
12801
13286
  const list = () => ul$1([listItem()], 'k-reset');
12802
- const scrollable$1 = () => (div$1([list()], 'k-time-container k-content k-scrollable'));
13287
+ const scrollable$1 = () => (div$1([list()], 'k-time-container k-flex k-content k-calendar-content k-scrollable'));
12803
13288
  const timeListWrapper = () => {
12804
13289
  if (!isDocumentAvailable()) {
12805
13290
  return null;
12806
13291
  }
12807
- return div$1([div$1([scrollable$1()], 'k-time-list')], 'k-time-list-wrapper', { left: '-10000px', position: 'absolute' });
13292
+ return div$1([listTitle(), div$1([scrollable$1()], 'k-time-list')], 'k-time-list-wrapper', { left: '-10000px', position: 'absolute' });
12808
13293
  };
12809
13294
  const TIMELIST_WRAPPER = timeListWrapper();
12810
13295
  /**
@@ -12824,7 +13309,8 @@ let TimePickerDOMService = class TimePickerDOMService {
12824
13309
  const listContainer = container && container.querySelector('.k-time-list-container');
12825
13310
  const hostContainer = listContainer || document.body;
12826
13311
  const wrapper = hostContainer.appendChild(TIMELIST_WRAPPER);
12827
- this.timeListHeight = wrapper.querySelector('.k-scrollable').getBoundingClientRect().height;
13312
+ this.timeListTitleHeight = wrapper.querySelector('.k-timeselector-title').getBoundingClientRect().height;
13313
+ this.timeListHeight = wrapper.getBoundingClientRect().height;
12828
13314
  this.itemHeight = wrapper.querySelector('li').getBoundingClientRect().height;
12829
13315
  hostContainer.removeChild(wrapper);
12830
13316
  }
@@ -13464,8 +13950,9 @@ let TimeListComponent = class TimeListComponent {
13464
13950
  this.dom.ensureHeights();
13465
13951
  this.itemHeight = this.dom.itemHeight;
13466
13952
  this.listHeight = this.dom.timeListHeight;
13467
- this.topOffset = (this.listHeight - this.itemHeight) / 2;
13468
- this.bottomOffset = this.listHeight - this.itemHeight;
13953
+ const titleHeight = this.dom.timeListTitleHeight;
13954
+ this.topOffset = (this.listHeight - this.itemHeight - titleHeight) / 2;
13955
+ this.bottomOffset = this.listHeight - this.itemHeight - titleHeight;
13469
13956
  this.topThreshold = this.itemHeight * SNAP_THRESHOLD;
13470
13957
  this.bottomThreshold = this.itemHeight * (1 - SNAP_THRESHOLD);
13471
13958
  const translate = `translateY(${this.topOffset}px)`;
@@ -13687,12 +14174,12 @@ TimeListComponent = __decorate([
13687
14174
  const isEqualTillMinute = (value, min) => value.getHours() === min.getHours() && value.getMinutes() === min.getMinutes();
13688
14175
  const isEqualTillSecond = (value, min) => isEqualTillMinute(value, min) && value.getSeconds() === min.getSeconds();
13689
14176
  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;
14177
+ 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
14178
  const defaultGetters = [
13692
14179
  {
13693
14180
  type: TIME_PART.hour,
13694
14181
  getter: ɵ3$7,
13695
- minGetter: ɵ4$2
14182
+ minGetter: ɵ4$3
13696
14183
  }, {
13697
14184
  type: TIME_PART.minute,
13698
14185
  getter: ɵ5$1,
@@ -14126,7 +14613,7 @@ __decorate([
14126
14613
  __metadata("design:type", Boolean)
14127
14614
  ], TimeSelectorComponent.prototype, "componentClass", void 0);
14128
14615
  __decorate([
14129
- HostBinding('class.k-state-disabled'),
14616
+ HostBinding('class.k-disabled'),
14130
14617
  __metadata("design:type", Boolean),
14131
14618
  __metadata("design:paramtypes", [])
14132
14619
  ], TimeSelectorComponent.prototype, "disabledClass", null);
@@ -14215,7 +14702,8 @@ TimeSelectorComponent = __decorate([
14215
14702
  <button
14216
14703
  #now
14217
14704
  *ngIf="showNowButton"
14218
- class="k-button k-flat k-time-now" type="button"
14705
+ type="button"
14706
+ class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-time-now"
14219
14707
  [attr.title]="localization.get('nowLabel')"
14220
14708
  [attr.aria-label]="localization.get('nowLabel')"
14221
14709
  [kendoEventsOutsideAngular]="{
@@ -14257,11 +14745,12 @@ TimeSelectorComponent = __decorate([
14257
14745
  </div>
14258
14746
  </ng-template>
14259
14747
  </div>
14260
- <div class="k-time-footer k-action-buttons" *ngIf="setButton || cancelButton">
14748
+ <div class="k-time-footer k-action-buttons k-actions k-hstack k-justify-content-stretch" *ngIf="setButton || cancelButton">
14261
14749
  <button
14262
14750
  #cancel
14263
14751
  *ngIf="cancelButton"
14264
- class="k-button k-time-cancel" type="button"
14752
+ class="k-button k-time-cancel k-button-md k-rounded-md k-button-solid k-button-solid-base"
14753
+ type="button"
14265
14754
  [attr.title]="localization.get('cancelLabel')"
14266
14755
  [attr.aria-label]="localization.get('cancelLabel')"
14267
14756
  [kendoEventsOutsideAngular]="{
@@ -14276,7 +14765,7 @@ TimeSelectorComponent = __decorate([
14276
14765
  #accept
14277
14766
  *ngIf="setButton"
14278
14767
  type="button"
14279
- class="k-time-accept k-button k-primary"
14768
+ class="k-button k-time-accept k-button-md k-rounded-md k-button-solid k-button-solid-primary"
14280
14769
  [attr.title]="localization.get('acceptLabel')"
14281
14770
  [attr.aria-label]="localization.get('acceptLabel')"
14282
14771
  [kendoEventsOutsideAngular]="{