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

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.
@@ -691,6 +691,14 @@ var CalendarComponent = /** @class */ (function () {
691
691
  return null;
692
692
  }
693
693
  };
694
+ /**
695
+ * @hidden
696
+ */
697
+ CalendarComponent.prototype.handleNavigate = function (event) {
698
+ this.focusedDate = event.focusedDate;
699
+ this.activeView = event.activeView;
700
+ this.emitNavigate(this.focusedDate);
701
+ };
694
702
  /**
695
703
  * @hidden
696
704
  */
@@ -832,6 +840,10 @@ var CalendarComponent = /** @class */ (function () {
832
840
  }
833
841
  };
834
842
  CalendarComponent.prototype.handleKeydown = function (args) {
843
+ var headerActive = this.type === 'classic' && this.multiViewCalendar.isHeaderActive;
844
+ if (headerActive) {
845
+ return;
846
+ }
835
847
  // reserve the alt + arrow key commands for the picker
836
848
  var arrowKeyPressed = [Keys.ArrowUp, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowLeft].indexOf(args.keyCode) !== -1;
837
849
  if (isPresent(this.pickerService) && arrowKeyPressed && args.altKey) {
@@ -1104,7 +1116,7 @@ var CalendarComponent = /** @class */ (function () {
1104
1116
  SelectionService
1105
1117
  ],
1106
1118
  selector: 'kendo-calendar',
1107
- template: "\n <ng-container kendoCalendarLocalizedMessages\n i18n-today=\"kendo.calendar.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.calendar.prevButtonTitle|The title of the previous button in the Classic calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.calendar.nextButtonTitle|The title of the next button in the Classic calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <ng-container *ngIf=\"type === 'infinite'\">\n <kendo-calendar-navigation\n *ngIf=\"navigation\"\n [activeView]=\"activeViewEnum\"\n [focusedDate]=\"focusedDate\"\n [min]=\"min\"\n [max]=\"max\"\n [templateRef]=\"navigationItemTemplate?.templateRef\"\n (valueChange)=\"handleNavigation($event)\"\n (pageChange)=\"onPageChange()\"\n >\n </kendo-calendar-navigation>\n <kendo-calendar-viewlist\n [activeView]=\"activeViewEnum\"\n [isActive]=\"isActive\"\n [cellTemplateRef]=\"activeCellTemplate()?.templateRef\"\n [headerTitleTemplateRef]=\"headerTitleTemplate?.templateRef\"\n [weekNumberTemplateRef]=\"weekNumberTemplate?.templateRef\"\n [cellUID]=\"cellUID\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"focusedDate\"\n [weekNumber]=\"weekNumber\"\n [selectedDates]=\"selectedDates\"\n (todayButtonClick)=\"handleDateChange({\n selectedDates: [$event],\n focusedDate: $event\n })\"\n (cellClick)=\"handleCellClick($event)\"\n (weekNumberCellClick)=\"handleWeekNumberClick($event)\"\n (activeDateChange)=\"handleActiveDateChange($event)\"\n (pageChange)=\"onPageChange()\"\n >\n </kendo-calendar-viewlist>\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-container>\n <ng-container *ngIf=\"type === 'classic'\">\n <kendo-multiviewcalendar\n #multiviewcalendar\n [views]=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [isActive]=\"isActive\"\n [activeView]=\"activeView\"\n [bottomView]=\"bottomView\"\n [topView]=\"topView\"\n [weekNumber]=\"weekNumber\"\n [animateNavigation]=\"animateNavigation\"\n [cellTemplate]=\"activeCellTemplate()\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [decadeCellTemplate]=\"decadeCellTemplate\"\n [centuryCellTemplate]=\"centuryCellTemplate\"\n [headerTitleTemplate]=\"headerTitleTemplate\"\n [weekNumberTemplate]=\"weekNumberTemplate\"\n [focusedDate]=\"focusedDate\"\n [selection]=\"selection\"\n [value]=\"value\"\n [disabledDates]=\"disabledDates\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (navigate)=\"navigate.emit($event)\"\n (valueChange)=\"handleMultiViewCalendarValueChange($event, multiviewcalendar.focusedDate)\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur($event)\"\n >\n <kendo-multiviewcalendar-messages\n [today]=\"localization.get('today')\"\n [prevButtonTitle]=\"localization.get('prevButtonTitle')\"\n [nextButtonTitle]=\"localization.get('nextButtonTitle')\"\n >\n </kendo-multiviewcalendar-messages>\n </kendo-multiviewcalendar>\n </ng-container>\n "
1119
+ template: "\n <ng-container kendoCalendarLocalizedMessages\n i18n-today=\"kendo.calendar.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.calendar.prevButtonTitle|The title of the previous button in the Classic calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.calendar.nextButtonTitle|The title of the next button in the Classic calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <ng-container *ngIf=\"type === 'infinite'\">\n <kendo-calendar-navigation\n *ngIf=\"navigation\"\n [activeView]=\"activeViewEnum\"\n [focusedDate]=\"focusedDate\"\n [min]=\"min\"\n [max]=\"max\"\n [templateRef]=\"navigationItemTemplate?.templateRef\"\n (valueChange)=\"handleNavigation($event)\"\n (pageChange)=\"onPageChange()\"\n >\n </kendo-calendar-navigation>\n <kendo-calendar-viewlist\n [activeView]=\"activeViewEnum\"\n [isActive]=\"isActive\"\n [cellTemplateRef]=\"activeCellTemplate()?.templateRef\"\n [headerTitleTemplateRef]=\"headerTitleTemplate?.templateRef\"\n [weekNumberTemplateRef]=\"weekNumberTemplate?.templateRef\"\n [cellUID]=\"cellUID\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"focusedDate\"\n [weekNumber]=\"weekNumber\"\n [selectedDates]=\"selectedDates\"\n (todayButtonClick)=\"handleDateChange({\n selectedDates: [$event],\n focusedDate: $event\n })\"\n (cellClick)=\"handleCellClick($event)\"\n (weekNumberCellClick)=\"handleWeekNumberClick($event)\"\n (activeDateChange)=\"handleActiveDateChange($event)\"\n (pageChange)=\"onPageChange()\"\n >\n </kendo-calendar-viewlist>\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-container>\n <ng-container *ngIf=\"type === 'classic'\">\n <kendo-multiviewcalendar\n #multiviewcalendar\n [views]=\"1\"\n [min]=\"min\"\n [max]=\"max\"\n [isActive]=\"isActive\"\n [activeView]=\"activeView\"\n [bottomView]=\"bottomView\"\n [topView]=\"topView\"\n [weekNumber]=\"weekNumber\"\n [animateNavigation]=\"animateNavigation\"\n [cellTemplate]=\"activeCellTemplate()\"\n [monthCellTemplate]=\"monthCellTemplate\"\n [yearCellTemplate]=\"yearCellTemplate\"\n [decadeCellTemplate]=\"decadeCellTemplate\"\n [centuryCellTemplate]=\"centuryCellTemplate\"\n [headerTitleTemplate]=\"headerTitleTemplate\"\n [weekNumberTemplate]=\"weekNumberTemplate\"\n [focusedDate]=\"focusedDate\"\n [selection]=\"selection\"\n [value]=\"value\"\n [disabledDates]=\"disabledDates\"\n (activeViewChange)=\"handleActiveViewChange($event)\"\n (navigate)=\"handleNavigate($event)\"\n (valueChange)=\"handleMultiViewCalendarValueChange($event, multiviewcalendar.focusedDate)\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur($event)\"\n >\n <kendo-multiviewcalendar-messages\n [today]=\"localization.get('today')\"\n [prevButtonTitle]=\"localization.get('prevButtonTitle')\"\n [nextButtonTitle]=\"localization.get('nextButtonTitle')\"\n >\n </kendo-multiviewcalendar-messages>\n </kendo-multiviewcalendar>\n </ng-container>\n "
1108
1120
  }),
1109
1121
  tslib_1.__param(12, Optional()),
1110
1122
  tslib_1.__metadata("design:paramtypes", [BusViewService,
@@ -3,7 +3,6 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as tslib_1 from "tslib";
6
- /* tslint:disable:no-forward-ref */
7
6
  import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ContentChild, EventEmitter, ElementRef, Renderer2, isDevMode, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, NgZone } from '@angular/core';
8
7
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
9
8
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
@@ -446,21 +445,22 @@ var MultiViewCalendarComponent = /** @class */ (function () {
446
445
  /**
447
446
  * @hidden
448
447
  */
449
- MultiViewCalendarComponent.prototype.handleBlur = function (event) {
450
- var target = event.target;
451
- if (!this.element.nativeElement.contains(event.relatedTarget)) {
448
+ MultiViewCalendarComponent.prototype.handleFocusout = function (event) {
449
+ var relatedTarget = event.relatedTarget;
450
+ if (!this.element.nativeElement.contains(relatedTarget)) {
452
451
  this.blurEvent.emit(event);
453
452
  this.onControlTouched();
454
453
  }
455
454
  this.isActive = false;
456
455
  this.isHovered = false; //ensure that hovered is also not active
457
- this.isHeaderActive = this.headerElement.nativeElement.contains(target);
456
+ this.isHeaderActive = this.headerElement.nativeElement.contains(relatedTarget);
458
457
  };
459
458
  /**
460
459
  * @hidden
461
460
  */
462
461
  MultiViewCalendarComponent.prototype.handleFocus = function () {
463
462
  this.isActive = true;
463
+ this.isHeaderActive = false;
464
464
  };
465
465
  /**
466
466
  * @hidden
@@ -493,6 +493,9 @@ var MultiViewCalendarComponent = /** @class */ (function () {
493
493
  * @hidden
494
494
  */
495
495
  MultiViewCalendarComponent.prototype.keydown = function (event) {
496
+ if (this.isHeaderActive) {
497
+ return;
498
+ }
496
499
  if (event.keyCode === Keys.Enter) {
497
500
  this.performSelection(this.focusedDate, event);
498
501
  }
@@ -570,6 +573,12 @@ var MultiViewCalendarComponent = /** @class */ (function () {
570
573
  }
571
574
  this.element.nativeElement.blur();
572
575
  };
576
+ /**
577
+ * @hidden
578
+ */
579
+ MultiViewCalendarComponent.prototype.handleHeaderFocus = function () {
580
+ this.isHeaderActive = true;
581
+ };
573
582
  /**
574
583
  * @hidden
575
584
  */
@@ -993,7 +1002,7 @@ var MultiViewCalendarComponent = /** @class */ (function () {
993
1002
  tslib_1.__metadata("design:type", Function),
994
1003
  tslib_1.__metadata("design:paramtypes", [FocusEvent]),
995
1004
  tslib_1.__metadata("design:returntype", void 0)
996
- ], MultiViewCalendarComponent.prototype, "handleBlur", null);
1005
+ ], MultiViewCalendarComponent.prototype, "handleFocusout", null);
997
1006
  tslib_1.__decorate([
998
1007
  HostListener("focus"),
999
1008
  tslib_1.__metadata("design:type", Function),
@@ -1048,7 +1057,7 @@ var MultiViewCalendarComponent = /** @class */ (function () {
1048
1057
  SelectionService
1049
1058
  ],
1050
1059
  selector: 'kendo-multiviewcalendar',
1051
- template: "\n <ng-container kendoMultiViewCalendarLocalizedMessages\n i18n-today=\"kendo.multiviewcalendar.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.multiviewcalendar.prevButtonTitle|The label for the previous button in the Multiview calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.multiviewcalendar.nextButtonTitle|The label for the next button in the Multiview calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <kendo-calendar-header\n [activeView]=\"activeViewEnum\"\n [currentDate]=\"activeDate\"\n [min]=\"min\"\n [max]=\"max\"\n [rangeLength]=\"views\"\n [templateRef]=\"headerTitleTemplate?.templateRef\"\n [isPrevDisabled]=\"isPrevDisabled\"\n [isNextDisabled]=\"isNextDisabled\"\n [showNavigationButtons]=\"true\"\n (todayButtonClick)=\"handleTodayButtonClick({ selectedDates: [$event], focusedDate: $event })\"\n (prevButtonClick)=\"navigateView(prevView)\"\n (nextButtonClick)=\"navigateView(nextView)\"\n >\n </kendo-calendar-header>\n <kendo-calendar-horizontal\n [activeView]=\"activeViewEnum\"\n [isActive]=\"isActive || (isHovered && !isHeaderActive)\"\n [cellTemplateRef]=\"activeCellTemplate()?.templateRef\"\n [weekNumberTemplateRef]=\"weekNumberTemplate?.templateRef\"\n [cellUID]=\"cellUID\"\n [views]=\"views\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"focusedDate\"\n [animateNavigation]=\"animateNavigation\"\n [showViewHeader]=\"showViewHeader\"\n [weekNumber]=\"weekNumber\"\n [activeRangeEnd]=\"activeRangeEnd\"\n [selectionRange]=\"selectionRange\"\n [selectedDates]=\"selectedDates\"\n (valueChange)=\"handleDateChange($event)\"\n (cellClick)=\"handleCellClick($event)\"\n (weekNumberCellClick)=\"handleWeekNumberClick($event)\"\n (cellEnter)=\"emitCellEvent(cellEnter, $event)\"\n (cellLeave)=\"emitCellEvent(cellLeave, $event)\"\n (activeDateChange)=\"setActiveDate($event)\"\n >\n </kendo-calendar-horizontal>\n "
1060
+ template: "\n <ng-container kendoMultiViewCalendarLocalizedMessages\n i18n-today=\"kendo.multiviewcalendar.today|The label for the today button in the calendar header\"\n today=\"Today\"\n\n i18n-prevButtonTitle=\"kendo.multiviewcalendar.prevButtonTitle|The label for the previous button in the Multiview calendar\"\n prevButtonTitle=\"Navigate to previous view\"\n\n i18n-nextButtonTitle=\"kendo.multiviewcalendar.nextButtonTitle|The label for the next button in the Multiview calendar\"\n nextButtonTitle=\"Navigate to next view\"\n >\n </ng-container>\n <kendo-calendar-header\n [activeView]=\"activeViewEnum\"\n [currentDate]=\"activeDate\"\n [min]=\"min\"\n [max]=\"max\"\n [rangeLength]=\"views\"\n [templateRef]=\"headerTitleTemplate?.templateRef\"\n [isPrevDisabled]=\"isPrevDisabled\"\n [isNextDisabled]=\"isNextDisabled\"\n [showNavigationButtons]=\"true\"\n (todayButtonClick)=\"handleTodayButtonClick({ selectedDates: [$event], focusedDate: $event })\"\n (prevButtonClick)=\"navigateView(prevView)\"\n (nextButtonClick)=\"navigateView(nextView)\"\n [kendoEventsOutsideAngular]=\"{\n focusin: handleHeaderFocus\n }\"\n [scope]=\"this\"\n >\n </kendo-calendar-header>\n <kendo-calendar-horizontal\n [activeView]=\"activeViewEnum\"\n [isActive]=\"isActive || (isHovered && !isHeaderActive)\"\n [cellTemplateRef]=\"activeCellTemplate()?.templateRef\"\n [weekNumberTemplateRef]=\"weekNumberTemplate?.templateRef\"\n [cellUID]=\"cellUID\"\n [views]=\"views\"\n [min]=\"min\"\n [max]=\"max\"\n [focusedDate]=\"focusedDate\"\n [animateNavigation]=\"animateNavigation\"\n [showViewHeader]=\"showViewHeader\"\n [weekNumber]=\"weekNumber\"\n [activeRangeEnd]=\"activeRangeEnd\"\n [selectionRange]=\"selectionRange\"\n [selectedDates]=\"selectedDates\"\n (valueChange)=\"handleDateChange($event)\"\n (cellClick)=\"handleCellClick($event)\"\n (weekNumberCellClick)=\"handleWeekNumberClick($event)\"\n (cellEnter)=\"emitCellEvent(cellEnter, $event)\"\n (cellLeave)=\"emitCellEvent(cellLeave, $event)\"\n (activeDateChange)=\"setActiveDate($event)\"\n >\n </kendo-calendar-horizontal>\n "
1052
1061
  }),
1053
1062
  tslib_1.__metadata("design:paramtypes", [BusViewService,
1054
1063
  ElementRef,
@@ -7,6 +7,7 @@ import { NgModule } from '@angular/core';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { IntlModule } from '@progress/kendo-angular-intl';
9
9
  import { PopupModule } from '@progress/kendo-angular-popup';
10
+ import { EventsModule } from '@progress/kendo-angular-common';
10
11
  import { CalendarCommonModule } from './calendar-common.module';
11
12
  import { TemplatesModule } from './templates.module';
12
13
  import { HorizontalViewListComponent } from './horizontal-view-list.component';
@@ -73,7 +74,14 @@ var MultiViewCalendarModule = /** @class */ (function () {
73
74
  CalendarCommonModule,
74
75
  TemplatesModule
75
76
  ],
76
- imports: [CommonModule, CalendarCommonModule, IntlModule, TemplatesModule, PopupModule],
77
+ imports: [
78
+ CommonModule,
79
+ CalendarCommonModule,
80
+ IntlModule,
81
+ TemplatesModule,
82
+ PopupModule,
83
+ EventsModule
84
+ ],
77
85
  providers: [
78
86
  NavigationService,
79
87
  CenturyViewService,
@@ -9,7 +9,7 @@ export var packageMetadata = {
9
9
  name: '@progress/kendo-angular-dateinputs',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1638381906,
12
+ publishDate: 1638878303,
13
13
  version: '',
14
14
  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'
15
15
  };
@@ -388,6 +388,13 @@ export declare class CalendarComponent implements ControlValueAccessor, OnChange
388
388
  * @hidden
389
389
  */
390
390
  activeCellTemplate(): any;
391
+ /**
392
+ * @hidden
393
+ */
394
+ handleNavigate(event: {
395
+ focusedDate: Date;
396
+ activeView: CalendarView;
397
+ }): void;
391
398
  /**
392
399
  * @hidden
393
400
  */
@@ -600,6 +600,14 @@ let CalendarComponent = class CalendarComponent {
600
600
  return null;
601
601
  }
602
602
  }
603
+ /**
604
+ * @hidden
605
+ */
606
+ handleNavigate(event) {
607
+ this.focusedDate = event.focusedDate;
608
+ this.activeView = event.activeView;
609
+ this.emitNavigate(this.focusedDate);
610
+ }
603
611
  /**
604
612
  * @hidden
605
613
  */
@@ -738,6 +746,10 @@ let CalendarComponent = class CalendarComponent {
738
746
  }
739
747
  }
740
748
  handleKeydown(args) {
749
+ const headerActive = this.type === 'classic' && this.multiViewCalendar.isHeaderActive;
750
+ if (headerActive) {
751
+ return;
752
+ }
741
753
  // reserve the alt + arrow key commands for the picker
742
754
  const arrowKeyPressed = [Keys.ArrowUp, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowLeft].indexOf(args.keyCode) !== -1;
743
755
  if (isPresent(this.pickerService) && arrowKeyPressed && args.altKey) {
@@ -1083,7 +1095,7 @@ CalendarComponent = tslib_1.__decorate([
1083
1095
  [value]="value"
1084
1096
  [disabledDates]="disabledDates"
1085
1097
  (activeViewChange)="handleActiveViewChange($event)"
1086
- (navigate)="navigate.emit($event)"
1098
+ (navigate)="handleNavigate($event)"
1087
1099
  (valueChange)="handleMultiViewCalendarValueChange($event, multiviewcalendar.focusedDate)"
1088
1100
  (focus)="handleFocus()"
1089
1101
  (blur)="handleBlur($event)"
@@ -308,7 +308,7 @@ export declare class MultiViewCalendarComponent implements AfterViewInit, Contro
308
308
  /**
309
309
  * @hidden
310
310
  */
311
- handleBlur(event: FocusEvent): void;
311
+ handleFocusout(event: FocusEvent): void;
312
312
  /**
313
313
  * @hidden
314
314
  */
@@ -358,6 +358,10 @@ export declare class MultiViewCalendarComponent implements AfterViewInit, Contro
358
358
  * Blurs the Calendar component.
359
359
  */
360
360
  blur(): void;
361
+ /**
362
+ * @hidden
363
+ */
364
+ handleHeaderFocus(): void;
361
365
  /**
362
366
  * @hidden
363
367
  */
@@ -3,7 +3,6 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as tslib_1 from "tslib";
6
- /* tslint:disable:no-forward-ref */
7
6
  import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ContentChild, EventEmitter, ElementRef, Renderer2, isDevMode, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, NgZone } from '@angular/core';
8
7
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
9
8
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
@@ -362,21 +361,22 @@ let MultiViewCalendarComponent = class MultiViewCalendarComponent {
362
361
  /**
363
362
  * @hidden
364
363
  */
365
- handleBlur(event) {
366
- const target = event.target;
367
- if (!this.element.nativeElement.contains(event.relatedTarget)) {
364
+ handleFocusout(event) {
365
+ const relatedTarget = event.relatedTarget;
366
+ if (!this.element.nativeElement.contains(relatedTarget)) {
368
367
  this.blurEvent.emit(event);
369
368
  this.onControlTouched();
370
369
  }
371
370
  this.isActive = false;
372
371
  this.isHovered = false; //ensure that hovered is also not active
373
- this.isHeaderActive = this.headerElement.nativeElement.contains(target);
372
+ this.isHeaderActive = this.headerElement.nativeElement.contains(relatedTarget);
374
373
  }
375
374
  /**
376
375
  * @hidden
377
376
  */
378
377
  handleFocus() {
379
378
  this.isActive = true;
379
+ this.isHeaderActive = false;
380
380
  }
381
381
  /**
382
382
  * @hidden
@@ -409,6 +409,9 @@ let MultiViewCalendarComponent = class MultiViewCalendarComponent {
409
409
  * @hidden
410
410
  */
411
411
  keydown(event) {
412
+ if (this.isHeaderActive) {
413
+ return;
414
+ }
412
415
  if (event.keyCode === Keys.Enter) {
413
416
  this.performSelection(this.focusedDate, event);
414
417
  }
@@ -484,6 +487,12 @@ let MultiViewCalendarComponent = class MultiViewCalendarComponent {
484
487
  }
485
488
  this.element.nativeElement.blur();
486
489
  }
490
+ /**
491
+ * @hidden
492
+ */
493
+ handleHeaderFocus() {
494
+ this.isHeaderActive = true;
495
+ }
487
496
  /**
488
497
  * @hidden
489
498
  */
@@ -904,7 +913,7 @@ tslib_1.__decorate([
904
913
  tslib_1.__metadata("design:type", Function),
905
914
  tslib_1.__metadata("design:paramtypes", [FocusEvent]),
906
915
  tslib_1.__metadata("design:returntype", void 0)
907
- ], MultiViewCalendarComponent.prototype, "handleBlur", null);
916
+ ], MultiViewCalendarComponent.prototype, "handleFocusout", null);
908
917
  tslib_1.__decorate([
909
918
  HostListener("focus"),
910
919
  tslib_1.__metadata("design:type", Function),
@@ -984,6 +993,10 @@ MultiViewCalendarComponent = tslib_1.__decorate([
984
993
  (todayButtonClick)="handleTodayButtonClick({ selectedDates: [$event], focusedDate: $event })"
985
994
  (prevButtonClick)="navigateView(prevView)"
986
995
  (nextButtonClick)="navigateView(nextView)"
996
+ [kendoEventsOutsideAngular]="{
997
+ focusin: handleHeaderFocus
998
+ }"
999
+ [scope]="this"
987
1000
  >
988
1001
  </kendo-calendar-header>
989
1002
  <kendo-calendar-horizontal
@@ -7,6 +7,7 @@ import { NgModule } from '@angular/core';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { IntlModule } from '@progress/kendo-angular-intl';
9
9
  import { PopupModule } from '@progress/kendo-angular-popup';
10
+ import { EventsModule } from '@progress/kendo-angular-common';
10
11
  import { CalendarCommonModule } from './calendar-common.module';
11
12
  import { TemplatesModule } from './templates.module';
12
13
  import { HorizontalViewListComponent } from './horizontal-view-list.component';
@@ -72,7 +73,14 @@ MultiViewCalendarModule = tslib_1.__decorate([
72
73
  CalendarCommonModule,
73
74
  TemplatesModule
74
75
  ],
75
- imports: [CommonModule, CalendarCommonModule, IntlModule, TemplatesModule, PopupModule],
76
+ imports: [
77
+ CommonModule,
78
+ CalendarCommonModule,
79
+ IntlModule,
80
+ TemplatesModule,
81
+ PopupModule,
82
+ EventsModule
83
+ ],
76
84
  providers: [
77
85
  NavigationService,
78
86
  CenturyViewService,