@progress/kendo-angular-dateinputs 13.0.0-develop.7 → 13.0.0-develop.8

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.
@@ -62,6 +62,7 @@ export declare class HorizontalViewListComponent implements OnChanges, AfterView
62
62
  get getComponentDecadeClass(): boolean;
63
63
  get getComponentCenturyClass(): boolean;
64
64
  get role(): string;
65
+ get tabindex(): string;
65
66
  get getActiveDescendant(): string;
66
67
  get getTabIndex(): number;
67
68
  service: ViewService;
@@ -26,4 +26,12 @@ export interface KeyDown {
26
26
  * @hidden
27
27
  */
28
28
  preventDefault?: Function;
29
+ /**
30
+ * @hidden
31
+ */
32
+ stopPropagation?: Function;
33
+ /**
34
+ * @hidden
35
+ */
36
+ altKey: boolean;
29
37
  }
@@ -250,6 +250,18 @@ export declare class MultiViewCalendarComponent implements AfterViewInit, Contro
250
250
  * @hidden
251
251
  */
252
252
  focusCalendar: EventEmitter<any>;
253
+ /**
254
+ * @hidden
255
+ */
256
+ onClosePopup: EventEmitter<KeyDown>;
257
+ /**
258
+ * @hidden
259
+ */
260
+ onTabPress: EventEmitter<KeyDown>;
261
+ /**
262
+ * @hidden
263
+ */
264
+ onShiftTabPress: EventEmitter<KeyDown>;
253
265
  /**
254
266
  * @hidden
255
267
  *
@@ -523,5 +535,5 @@ export declare class MultiViewCalendarComponent implements AfterViewInit, Contro
523
535
  private parseSelectionToValue;
524
536
  private performSelection;
525
537
  static ɵfac: i0.ɵɵFactoryDeclaration<MultiViewCalendarComponent, never>;
526
- static ɵcmp: i0.ɵɵComponentDeclaration<MultiViewCalendarComponent, "kendo-multiviewcalendar", ["kendo-multiviewcalendar"], { "id": "id"; "focusedDate": "focusedDate"; "min": "min"; "max": "max"; "rangeValidation": "rangeValidation"; "disabledDatesRangeValidation": "disabledDatesRangeValidation"; "selection": "selection"; "value": "value"; "disabled": "disabled"; "tabindex": "tabindex"; "tabIndex": "tabIndex"; "isActive": "isActive"; "disabledDates": "disabledDates"; "activeView": "activeView"; "bottomView": "bottomView"; "topView": "topView"; "showViewHeader": "showViewHeader"; "animateNavigation": "animateNavigation"; "weekNumber": "weekNumber"; "activeRangeEnd": "activeRangeEnd"; "selectionRange": "selectionRange"; "views": "views"; "orientation": "orientation"; "cellTemplateRef": "cellTemplate"; "monthCellTemplateRef": "monthCellTemplate"; "yearCellTemplateRef": "yearCellTemplate"; "decadeCellTemplateRef": "decadeCellTemplate"; "centuryCellTemplateRef": "centuryCellTemplate"; "weekNumberTemplateRef": "weekNumberTemplate"; "headerTitleTemplateRef": "headerTitleTemplate"; }, { "activeViewChange": "activeViewChange"; "navigate": "navigate"; "cellEnter": "cellEnter"; "cellLeave": "cellLeave"; "valueChange": "valueChange"; "blurEvent": "blur"; "focusEvent": "focus"; "focusCalendar": "focusCalendar"; }, ["cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], never>;
538
+ static ɵcmp: i0.ɵɵComponentDeclaration<MultiViewCalendarComponent, "kendo-multiviewcalendar", ["kendo-multiviewcalendar"], { "id": "id"; "focusedDate": "focusedDate"; "min": "min"; "max": "max"; "rangeValidation": "rangeValidation"; "disabledDatesRangeValidation": "disabledDatesRangeValidation"; "selection": "selection"; "value": "value"; "disabled": "disabled"; "tabindex": "tabindex"; "tabIndex": "tabIndex"; "isActive": "isActive"; "disabledDates": "disabledDates"; "activeView": "activeView"; "bottomView": "bottomView"; "topView": "topView"; "showViewHeader": "showViewHeader"; "animateNavigation": "animateNavigation"; "weekNumber": "weekNumber"; "activeRangeEnd": "activeRangeEnd"; "selectionRange": "selectionRange"; "views": "views"; "orientation": "orientation"; "cellTemplateRef": "cellTemplate"; "monthCellTemplateRef": "monthCellTemplate"; "yearCellTemplateRef": "yearCellTemplate"; "decadeCellTemplateRef": "decadeCellTemplate"; "centuryCellTemplateRef": "centuryCellTemplate"; "weekNumberTemplateRef": "weekNumberTemplate"; "headerTitleTemplateRef": "headerTitleTemplate"; }, { "activeViewChange": "activeViewChange"; "navigate": "navigate"; "cellEnter": "cellEnter"; "cellLeave": "cellLeave"; "valueChange": "valueChange"; "blurEvent": "blur"; "focusEvent": "focus"; "focusCalendar": "focusCalendar"; "onClosePopup": "onClosePopup"; "onTabPress": "onTabPress"; "onShiftTabPress": "onShiftTabPress"; }, ["cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], never>;
527
539
  }
@@ -13,6 +13,7 @@ import { AdaptiveMode } from '../util';
13
13
  import { SVGIcon } from '@progress/kendo-svg-icons';
14
14
  import { DateRangeSelectionDirective } from './date-range-selection.directive';
15
15
  import { ActionSheetComponent } from '@progress/kendo-angular-navigation';
16
+ import { KeyDown } from '../calendar/models/keydown.interface';
16
17
  import * as i0 from "@angular/core";
17
18
  /**
18
19
  * Represents the Kendo UI DateRangePopup component for Angular.
@@ -219,6 +220,18 @@ export declare class DateRangePopupComponent implements OnInit, OnDestroy {
219
220
  * @hidden
220
221
  */
221
222
  onResize(): void;
223
+ /**
224
+ * @hidden
225
+ */
226
+ closePopup(event: KeyDown): void;
227
+ /**
228
+ * @hidden
229
+ */
230
+ handleTab(event: KeyDown): void;
231
+ /**
232
+ * @hidden
233
+ */
234
+ handleShiftTab(event: KeyDown): void;
222
235
  private handleWindowBlur;
223
236
  private handleMouseLeave;
224
237
  private handleKeydown;
@@ -1067,7 +1067,7 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
1067
1067
  </kendo-multiviewcalendar-messages>
1068
1068
  </kendo-multiviewcalendar>
1069
1069
  </ng-container>
1070
- `, isInline: true, components: [{ type: i9.NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { type: i10.ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { type: i11.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i12.MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }, { type: i13.MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }], directives: [{ type: i14.CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1070
+ `, isInline: true, components: [{ type: i9.NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { type: i10.ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { type: i11.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i12.MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: i13.MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }], directives: [{ type: i14.CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1071
1071
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CalendarComponent, decorators: [{
1072
1072
  type: Component,
1073
1073
  args: [{
@@ -89,13 +89,16 @@ export class HorizontalViewListComponent {
89
89
  return this.activeView === CalendarViewEnum.century;
90
90
  }
91
91
  get role() {
92
- return this.views === 2 ? 'grid' : null;
92
+ return this.views >= 2 ? 'grid' : null;
93
+ }
94
+ get tabindex() {
95
+ return this.views >= 2 ? '0' : null;
93
96
  }
94
97
  get getActiveDescendant() {
95
98
  return this.views === 1 ? this.activeDescendant : null;
96
99
  }
97
100
  get getTabIndex() {
98
- return this.disabled || this.views === 2 ? null : this.tabIndex;
101
+ return this.disabled || this.views >= 2 ? null : this.tabIndex;
99
102
  }
100
103
  ngOnChanges(changes) {
101
104
  this.initService();
@@ -120,7 +123,7 @@ export class HorizontalViewListComponent {
120
123
  }
121
124
  this.setAriaActivedescendant();
122
125
  //set tabindex for MultiViewCalendar
123
- if (this.views === 2) {
126
+ if (this.views >= 2) {
124
127
  this.renderer.setAttribute(this.element.nativeElement, 'tabindex', this.tabIndex.toString());
125
128
  }
126
129
  }
@@ -267,16 +270,16 @@ export class HorizontalViewListComponent {
267
270
  return Math.min(this.total - skip, this.views);
268
271
  }
269
272
  setAriaActivedescendant() {
270
- if (this.views === 2) {
273
+ if (this.views >= 2) {
271
274
  this.renderer.setAttribute(this.element.nativeElement, attributeNames.ariaActiveDescendant, this.activeDescendant);
272
275
  }
273
276
  }
274
277
  }
275
278
  HorizontalViewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HorizontalViewListComponent, deps: [{ token: i1.BusViewService }, { token: i2.IntlService }, { token: i3.WeekNamesService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
276
- HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: { cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", activeRangeEnd: "activeRangeEnd", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectionRange: "selectionRange", selectedDates: "selectedDates", views: "views", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", orientation: "orientation", activeDescendant: "activeDescendant", tabIndex: "tabIndex", disabled: "disabled", id: "id", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", activeDateChange: "activeDateChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { listeners: { "focus": "handleMultiViewCalendarFocus()", "blur": "handleMultiViewCalendarBlur($event)" }, properties: { "class.k-calendar-view": "this.getComponentClass", "class.k-align-items-start": "this.getComponentClass", "class.k-justify-content-center": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: `
279
+ HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: { cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", activeRangeEnd: "activeRangeEnd", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectionRange: "selectionRange", selectedDates: "selectedDates", views: "views", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", orientation: "orientation", activeDescendant: "activeDescendant", tabIndex: "tabIndex", disabled: "disabled", id: "id", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", activeDateChange: "activeDateChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { listeners: { "focus": "handleMultiViewCalendarFocus()", "blur": "handleMultiViewCalendarBlur($event)" }, properties: { "class.k-calendar-view": "this.getComponentClass", "class.k-align-items-start": "this.getComponentClass", "class.k-justify-content-center": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass", "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, usesOnChanges: true, ngImport: i0, template: `
277
280
  <ng-template #tableTemplate let-date="date" let-class="className">
278
281
  <table
279
- [attr.role]="views === 2 ? 'none' : 'grid'"
282
+ [attr.role]="views >= 2 ? 'none' : 'grid'"
280
283
  class="k-content k-calendar-table"
281
284
  [ngClass]="class"
282
285
  [attr.aria-labelledby]="id"
@@ -363,7 +366,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
363
366
  template: `
364
367
  <ng-template #tableTemplate let-date="date" let-class="className">
365
368
  <table
366
- [attr.role]="views === 2 ? 'none' : 'grid'"
369
+ [attr.role]="views >= 2 ? 'none' : 'grid'"
367
370
  class="k-content k-calendar-table"
368
371
  [ngClass]="class"
369
372
  [attr.aria-labelledby]="id"
@@ -535,4 +538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
535
538
  }], role: [{
536
539
  type: HostBinding,
537
540
  args: ['attr.role']
541
+ }], tabindex: [{
542
+ type: HostBinding,
543
+ args: ['attr.tabindex']
538
544
  }] } });
@@ -201,6 +201,18 @@ export class MultiViewCalendarComponent {
201
201
  * @hidden
202
202
  */
203
203
  this.focusCalendar = new EventEmitter();
204
+ /**
205
+ * @hidden
206
+ */
207
+ this.onClosePopup = new EventEmitter();
208
+ /**
209
+ * @hidden
210
+ */
211
+ this.onTabPress = new EventEmitter();
212
+ /**
213
+ * @hidden
214
+ */
215
+ this.onShiftTabPress = new EventEmitter();
204
216
  this.cellUID = guid();
205
217
  this.isHovered = false;
206
218
  this.isPrevDisabled = true;
@@ -245,7 +257,7 @@ export class MultiViewCalendarComponent {
245
257
  * @hidden
246
258
  */
247
259
  get multiViewCalendarHeaderIdLabel() {
248
- return this.views === 2 ? this.id + 'header-' : null;
260
+ return this.views >= 2 ? this.id + 'header-' : null;
249
261
  }
250
262
  /**
251
263
  * @hidden
@@ -423,7 +435,7 @@ export class MultiViewCalendarComponent {
423
435
  return CalendarViewEnum[this.topView];
424
436
  }
425
437
  get widgetId() {
426
- return this.views === 2 ? this.id : null;
438
+ return this.views >= 2 ? this.id : null;
427
439
  }
428
440
  get ariaDisabled() {
429
441
  return this.disabled;
@@ -493,6 +505,11 @@ export class MultiViewCalendarComponent {
493
505
  const onArrowLeftAndControl = event.keyCode === Keys.ArrowLeft && ctrlKey;
494
506
  const onTKeyPress = event.keyCode === Keys.KeyT;
495
507
  const onEnterKeyPress = event.keyCode === Keys.Enter;
508
+ const onArrowUpPress = event.keyCode === Keys.ArrowUp;
509
+ const altKey = event.altKey;
510
+ const escKey = event.keyCode === Keys.Escape;
511
+ const tabKeyPress = event.keyCode === Keys.Tab;
512
+ const shiftKeyPress = event.shiftKey;
496
513
  if (onArrowRightAndControl) {
497
514
  event.preventDefault();
498
515
  this.navigateView(this.nextView);
@@ -515,6 +532,17 @@ export class MultiViewCalendarComponent {
515
532
  this.selectionService.lastClicked = this.focusedDate;
516
533
  this.performSelection(this.focusedDate, event);
517
534
  }
535
+ if (this.views >= 2) {
536
+ if ((escKey || (altKey && onArrowUpPress))) {
537
+ this.onClosePopup.emit(event);
538
+ }
539
+ else if ((tabKeyPress && shiftKeyPress)) {
540
+ this.onShiftTabPress.emit(event);
541
+ }
542
+ else if ((tabKeyPress && !shiftKeyPress)) {
543
+ this.onTabPress.emit(event);
544
+ }
545
+ }
518
546
  const candidate = dateInRange(this.navigator.move(this.focusedDate, this.navigator.action(event), this.activeViewEnum), this.min, this.max);
519
547
  if (isEqual(this.focusedDate, candidate)) {
520
548
  return;
@@ -590,7 +618,7 @@ export class MultiViewCalendarComponent {
590
618
  if (!this.element) {
591
619
  return;
592
620
  }
593
- const activeElement = this.views === 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
621
+ const activeElement = this.views >= 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
594
622
  this.element.nativeElement.querySelector('.k-content.k-calendar-table');
595
623
  activeElement.blur();
596
624
  }
@@ -800,7 +828,7 @@ export class MultiViewCalendarComponent {
800
828
  }
801
829
  }
802
830
  MultiViewCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiViewCalendarComponent, deps: [{ token: i1.BusViewService }, { token: i0.ElementRef }, { token: i2.NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.DisabledDatesService }, { token: i4.SelectionService }], target: i0.ɵɵFactoryTarget.Component });
803
- MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
831
+ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar", onClosePopup: "onClosePopup", onTabPress: "onTabPress", onShiftTabPress: "onShiftTabPress" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
804
832
  BusViewService,
805
833
  RANGE_CALENDAR_VALUE_ACCESSOR,
806
834
  RANGE_CALENDAR_RANGE_VALIDATORS,
@@ -1024,6 +1052,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1024
1052
  args: ['focus']
1025
1053
  }], focusCalendar: [{
1026
1054
  type: Output
1055
+ }], onClosePopup: [{
1056
+ type: Output
1057
+ }], onTabPress: [{
1058
+ type: Output
1059
+ }], onShiftTabPress: [{
1060
+ type: Output
1027
1061
  }], cellTemplate: [{
1028
1062
  type: ContentChild,
1029
1063
  args: [CellTemplateDirective, { static: false }]
@@ -6,7 +6,6 @@ import { ElementRef, Renderer2, NgZone, Directive } from '@angular/core';
6
6
  import { cloneDate } from '@progress/kendo-date-math';
7
7
  import { Keys } from '@progress/kendo-angular-common';
8
8
  import { Subscription, fromEvent } from 'rxjs';
9
- import { filter } from 'rxjs/operators';
10
9
  import { DateInputComponent } from '../dateinput/dateinput.component';
11
10
  import { DateRangeService } from './date-range.service';
12
11
  import { isPresent } from '../common/utils';
@@ -43,7 +42,6 @@ export class DateRangeInput {
43
42
  }
44
43
  [
45
44
  this.input.onBlur.subscribe(() => this.deactivate()),
46
- this.input.onFocus.pipe(filter(() => !this.popupCalendarActivated)).subscribe(() => this.activate()),
47
45
  this.input.valueUpdate.subscribe(value => this.updateRange(value, 'change')),
48
46
  this.dateRangeService.activeRangeEnd$.subscribe(() => {
49
47
  if (this.navigateCalendarOnFocus) {
@@ -301,6 +301,48 @@ export class DateRangePopupComponent {
301
301
  }
302
302
  this.windowSize = windowSize();
303
303
  }
304
+ /**
305
+ * @hidden
306
+ */
307
+ closePopup(event) {
308
+ event.preventDefault();
309
+ event.stopPropagation();
310
+ this.toggle(false);
311
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
312
+ this.dateRangeService.startInput$.value.focus();
313
+ }
314
+ else {
315
+ this.dateRangeService.endInput$.value.focus();
316
+ }
317
+ ;
318
+ }
319
+ /**
320
+ * @hidden
321
+ */
322
+ handleTab(event) {
323
+ event.preventDefault();
324
+ event.stopPropagation();
325
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
326
+ this.dateRangeService.setActiveRangeEnd('end');
327
+ }
328
+ else {
329
+ this.dateRangeService.endInput$.value.focus();
330
+ }
331
+ }
332
+ ;
333
+ /**
334
+ * @hidden
335
+ */
336
+ handleShiftTab(event) {
337
+ event.preventDefault();
338
+ event.stopPropagation();
339
+ if (this.dateRangeService.activeRangeEnd === 'end') {
340
+ this.dateRangeService.setActiveRangeEnd('start');
341
+ }
342
+ else {
343
+ this.dateRangeService.startInput$.value.focus();
344
+ }
345
+ }
304
346
  handleWindowBlur() {
305
347
  if (!this.show || this.actionSheet.expanded) {
306
348
  return;
@@ -445,7 +487,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
445
487
  </ng-container>
446
488
  <ng-container #container></ng-container>
447
489
  <ng-template #defaultTemplate>
448
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
490
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
449
491
  </ng-template>
450
492
 
451
493
  <kendo-actionsheet
@@ -513,7 +555,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
513
555
  </div>
514
556
  </ng-template>
515
557
  </kendo-actionsheet>
516
- `, isInline: true, components: [{ type: i4.MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }, { type: i5.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i6.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i7.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i8.DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: i9.DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i5.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
558
+ `, isInline: true, components: [{ type: i4.MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: i5.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i6.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i7.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i8.DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: i9.DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i5.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
517
559
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateRangePopupComponent, decorators: [{
518
560
  type: Component,
519
561
  args: [{
@@ -543,7 +585,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
543
585
  </ng-container>
544
586
  <ng-container #container></ng-container>
545
587
  <ng-template #defaultTemplate>
546
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
588
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
547
589
  </ng-template>
548
590
 
549
591
  <kendo-actionsheet
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-dateinputs',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1685096946,
13
- version: '13.0.0-develop.7',
12
+ publishDate: 1685107115,
13
+ version: '13.0.0-develop.8',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -36,8 +36,8 @@ const packageMetadata = {
36
36
  name: '@progress/kendo-angular-dateinputs',
37
37
  productName: 'Kendo UI for Angular',
38
38
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
39
- publishDate: 1685096946,
40
- version: '13.0.0-develop.7',
39
+ publishDate: 1685107115,
40
+ version: '13.0.0-develop.8',
41
41
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
42
42
  };
43
43
 
@@ -1978,13 +1978,16 @@ class HorizontalViewListComponent {
1978
1978
  return this.activeView === CalendarViewEnum.century;
1979
1979
  }
1980
1980
  get role() {
1981
- return this.views === 2 ? 'grid' : null;
1981
+ return this.views >= 2 ? 'grid' : null;
1982
+ }
1983
+ get tabindex() {
1984
+ return this.views >= 2 ? '0' : null;
1982
1985
  }
1983
1986
  get getActiveDescendant() {
1984
1987
  return this.views === 1 ? this.activeDescendant : null;
1985
1988
  }
1986
1989
  get getTabIndex() {
1987
- return this.disabled || this.views === 2 ? null : this.tabIndex;
1990
+ return this.disabled || this.views >= 2 ? null : this.tabIndex;
1988
1991
  }
1989
1992
  ngOnChanges(changes) {
1990
1993
  this.initService();
@@ -2009,7 +2012,7 @@ class HorizontalViewListComponent {
2009
2012
  }
2010
2013
  this.setAriaActivedescendant();
2011
2014
  //set tabindex for MultiViewCalendar
2012
- if (this.views === 2) {
2015
+ if (this.views >= 2) {
2013
2016
  this.renderer.setAttribute(this.element.nativeElement, 'tabindex', this.tabIndex.toString());
2014
2017
  }
2015
2018
  }
@@ -2156,16 +2159,16 @@ class HorizontalViewListComponent {
2156
2159
  return Math.min(this.total - skip, this.views);
2157
2160
  }
2158
2161
  setAriaActivedescendant() {
2159
- if (this.views === 2) {
2162
+ if (this.views >= 2) {
2160
2163
  this.renderer.setAttribute(this.element.nativeElement, attributeNames.ariaActiveDescendant, this.activeDescendant);
2161
2164
  }
2162
2165
  }
2163
2166
  }
2164
2167
  HorizontalViewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HorizontalViewListComponent, deps: [{ token: BusViewService }, { token: i1.IntlService }, { token: WeekNamesService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2165
- HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: { cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", activeRangeEnd: "activeRangeEnd", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectionRange: "selectionRange", selectedDates: "selectedDates", views: "views", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", orientation: "orientation", activeDescendant: "activeDescendant", tabIndex: "tabIndex", disabled: "disabled", id: "id", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", activeDateChange: "activeDateChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { listeners: { "focus": "handleMultiViewCalendarFocus()", "blur": "handleMultiViewCalendarBlur($event)" }, properties: { "class.k-calendar-view": "this.getComponentClass", "class.k-align-items-start": "this.getComponentClass", "class.k-justify-content-center": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: `
2168
+ HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: { cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", activeRangeEnd: "activeRangeEnd", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectionRange: "selectionRange", selectedDates: "selectedDates", views: "views", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", orientation: "orientation", activeDescendant: "activeDescendant", tabIndex: "tabIndex", disabled: "disabled", id: "id", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", activeDateChange: "activeDateChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { listeners: { "focus": "handleMultiViewCalendarFocus()", "blur": "handleMultiViewCalendarBlur($event)" }, properties: { "class.k-calendar-view": "this.getComponentClass", "class.k-align-items-start": "this.getComponentClass", "class.k-justify-content-center": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass", "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, usesOnChanges: true, ngImport: i0, template: `
2166
2169
  <ng-template #tableTemplate let-date="date" let-class="className">
2167
2170
  <table
2168
- [attr.role]="views === 2 ? 'none' : 'grid'"
2171
+ [attr.role]="views >= 2 ? 'none' : 'grid'"
2169
2172
  class="k-content k-calendar-table"
2170
2173
  [ngClass]="class"
2171
2174
  [attr.aria-labelledby]="id"
@@ -2252,7 +2255,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2252
2255
  template: `
2253
2256
  <ng-template #tableTemplate let-date="date" let-class="className">
2254
2257
  <table
2255
- [attr.role]="views === 2 ? 'none' : 'grid'"
2258
+ [attr.role]="views >= 2 ? 'none' : 'grid'"
2256
2259
  class="k-content k-calendar-table"
2257
2260
  [ngClass]="class"
2258
2261
  [attr.aria-labelledby]="id"
@@ -2424,6 +2427,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2424
2427
  }], role: [{
2425
2428
  type: HostBinding,
2426
2429
  args: ['attr.role']
2430
+ }], tabindex: [{
2431
+ type: HostBinding,
2432
+ args: ['attr.tabindex']
2427
2433
  }] } });
2428
2434
 
2429
2435
  /**
@@ -3356,6 +3362,18 @@ class MultiViewCalendarComponent {
3356
3362
  * @hidden
3357
3363
  */
3358
3364
  this.focusCalendar = new EventEmitter();
3365
+ /**
3366
+ * @hidden
3367
+ */
3368
+ this.onClosePopup = new EventEmitter();
3369
+ /**
3370
+ * @hidden
3371
+ */
3372
+ this.onTabPress = new EventEmitter();
3373
+ /**
3374
+ * @hidden
3375
+ */
3376
+ this.onShiftTabPress = new EventEmitter();
3359
3377
  this.cellUID = guid();
3360
3378
  this.isHovered = false;
3361
3379
  this.isPrevDisabled = true;
@@ -3400,7 +3418,7 @@ class MultiViewCalendarComponent {
3400
3418
  * @hidden
3401
3419
  */
3402
3420
  get multiViewCalendarHeaderIdLabel() {
3403
- return this.views === 2 ? this.id + 'header-' : null;
3421
+ return this.views >= 2 ? this.id + 'header-' : null;
3404
3422
  }
3405
3423
  /**
3406
3424
  * @hidden
@@ -3578,7 +3596,7 @@ class MultiViewCalendarComponent {
3578
3596
  return CalendarViewEnum[this.topView];
3579
3597
  }
3580
3598
  get widgetId() {
3581
- return this.views === 2 ? this.id : null;
3599
+ return this.views >= 2 ? this.id : null;
3582
3600
  }
3583
3601
  get ariaDisabled() {
3584
3602
  return this.disabled;
@@ -3648,6 +3666,11 @@ class MultiViewCalendarComponent {
3648
3666
  const onArrowLeftAndControl = event.keyCode === Keys$1.ArrowLeft && ctrlKey;
3649
3667
  const onTKeyPress = event.keyCode === Keys$1.KeyT;
3650
3668
  const onEnterKeyPress = event.keyCode === Keys$1.Enter;
3669
+ const onArrowUpPress = event.keyCode === Keys$1.ArrowUp;
3670
+ const altKey = event.altKey;
3671
+ const escKey = event.keyCode === Keys$1.Escape;
3672
+ const tabKeyPress = event.keyCode === Keys$1.Tab;
3673
+ const shiftKeyPress = event.shiftKey;
3651
3674
  if (onArrowRightAndControl) {
3652
3675
  event.preventDefault();
3653
3676
  this.navigateView(this.nextView);
@@ -3670,6 +3693,17 @@ class MultiViewCalendarComponent {
3670
3693
  this.selectionService.lastClicked = this.focusedDate;
3671
3694
  this.performSelection(this.focusedDate, event);
3672
3695
  }
3696
+ if (this.views >= 2) {
3697
+ if ((escKey || (altKey && onArrowUpPress))) {
3698
+ this.onClosePopup.emit(event);
3699
+ }
3700
+ else if ((tabKeyPress && shiftKeyPress)) {
3701
+ this.onShiftTabPress.emit(event);
3702
+ }
3703
+ else if ((tabKeyPress && !shiftKeyPress)) {
3704
+ this.onTabPress.emit(event);
3705
+ }
3706
+ }
3673
3707
  const candidate = dateInRange(this.navigator.move(this.focusedDate, this.navigator.action(event), this.activeViewEnum), this.min, this.max);
3674
3708
  if (isEqual(this.focusedDate, candidate)) {
3675
3709
  return;
@@ -3745,7 +3779,7 @@ class MultiViewCalendarComponent {
3745
3779
  if (!this.element) {
3746
3780
  return;
3747
3781
  }
3748
- const activeElement = this.views === 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
3782
+ const activeElement = this.views >= 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
3749
3783
  this.element.nativeElement.querySelector('.k-content.k-calendar-table');
3750
3784
  activeElement.blur();
3751
3785
  }
@@ -3955,7 +3989,7 @@ class MultiViewCalendarComponent {
3955
3989
  }
3956
3990
  }
3957
3991
  MultiViewCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiViewCalendarComponent, deps: [{ token: BusViewService }, { token: i0.ElementRef }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: DisabledDatesService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Component });
3958
- MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
3992
+ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar", onClosePopup: "onClosePopup", onTabPress: "onTabPress", onShiftTabPress: "onShiftTabPress" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
3959
3993
  BusViewService,
3960
3994
  RANGE_CALENDAR_VALUE_ACCESSOR,
3961
3995
  RANGE_CALENDAR_RANGE_VALIDATORS,
@@ -4179,6 +4213,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4179
4213
  args: ['focus']
4180
4214
  }], focusCalendar: [{
4181
4215
  type: Output
4216
+ }], onClosePopup: [{
4217
+ type: Output
4218
+ }], onTabPress: [{
4219
+ type: Output
4220
+ }], onShiftTabPress: [{
4221
+ type: Output
4182
4222
  }], cellTemplate: [{
4183
4223
  type: ContentChild,
4184
4224
  args: [CellTemplateDirective, { static: false }]
@@ -6664,7 +6704,7 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
6664
6704
  </kendo-multiviewcalendar-messages>
6665
6705
  </kendo-multiviewcalendar>
6666
6706
  </ng-container>
6667
- `, isInline: true, components: [{ type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }, { type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }], directives: [{ type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6707
+ `, isInline: true, components: [{ type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }], directives: [{ type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6668
6708
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CalendarComponent, decorators: [{
6669
6709
  type: Component,
6670
6710
  args: [{
@@ -16351,6 +16391,48 @@ class DateRangePopupComponent {
16351
16391
  }
16352
16392
  this.windowSize = windowSize();
16353
16393
  }
16394
+ /**
16395
+ * @hidden
16396
+ */
16397
+ closePopup(event) {
16398
+ event.preventDefault();
16399
+ event.stopPropagation();
16400
+ this.toggle(false);
16401
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
16402
+ this.dateRangeService.startInput$.value.focus();
16403
+ }
16404
+ else {
16405
+ this.dateRangeService.endInput$.value.focus();
16406
+ }
16407
+ ;
16408
+ }
16409
+ /**
16410
+ * @hidden
16411
+ */
16412
+ handleTab(event) {
16413
+ event.preventDefault();
16414
+ event.stopPropagation();
16415
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
16416
+ this.dateRangeService.setActiveRangeEnd('end');
16417
+ }
16418
+ else {
16419
+ this.dateRangeService.endInput$.value.focus();
16420
+ }
16421
+ }
16422
+ ;
16423
+ /**
16424
+ * @hidden
16425
+ */
16426
+ handleShiftTab(event) {
16427
+ event.preventDefault();
16428
+ event.stopPropagation();
16429
+ if (this.dateRangeService.activeRangeEnd === 'end') {
16430
+ this.dateRangeService.setActiveRangeEnd('start');
16431
+ }
16432
+ else {
16433
+ this.dateRangeService.startInput$.value.focus();
16434
+ }
16435
+ }
16354
16436
  handleWindowBlur() {
16355
16437
  if (!this.show || this.actionSheet.expanded) {
16356
16438
  return;
@@ -16495,7 +16577,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
16495
16577
  </ng-container>
16496
16578
  <ng-container #container></ng-container>
16497
16579
  <ng-template #defaultTemplate>
16498
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
16580
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
16499
16581
  </ng-template>
16500
16582
 
16501
16583
  <kendo-actionsheet
@@ -16563,7 +16645,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
16563
16645
  </div>
16564
16646
  </ng-template>
16565
16647
  </kendo-actionsheet>
16566
- `, isInline: true, components: [{ type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16648
+ `, isInline: true, components: [{ type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16567
16649
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateRangePopupComponent, decorators: [{
16568
16650
  type: Component,
16569
16651
  args: [{
@@ -16593,7 +16675,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16593
16675
  </ng-container>
16594
16676
  <ng-container #container></ng-container>
16595
16677
  <ng-template #defaultTemplate>
16596
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
16678
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
16597
16679
  </ng-template>
16598
16680
 
16599
16681
  <kendo-actionsheet
@@ -16837,7 +16919,6 @@ class DateRangeInput {
16837
16919
  }
16838
16920
  [
16839
16921
  this.input.onBlur.subscribe(() => this.deactivate()),
16840
- this.input.onFocus.pipe(filter(() => !this.popupCalendarActivated)).subscribe(() => this.activate()),
16841
16922
  this.input.valueUpdate.subscribe(value => this.updateRange(value, 'change')),
16842
16923
  this.dateRangeService.activeRangeEnd$.subscribe(() => {
16843
16924
  if (this.navigateCalendarOnFocus) {
@@ -36,8 +36,8 @@ const packageMetadata = {
36
36
  name: '@progress/kendo-angular-dateinputs',
37
37
  productName: 'Kendo UI for Angular',
38
38
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
39
- publishDate: 1685096946,
40
- version: '13.0.0-develop.7',
39
+ publishDate: 1685107115,
40
+ version: '13.0.0-develop.8',
41
41
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
42
42
  };
43
43
 
@@ -1978,13 +1978,16 @@ class HorizontalViewListComponent {
1978
1978
  return this.activeView === CalendarViewEnum.century;
1979
1979
  }
1980
1980
  get role() {
1981
- return this.views === 2 ? 'grid' : null;
1981
+ return this.views >= 2 ? 'grid' : null;
1982
+ }
1983
+ get tabindex() {
1984
+ return this.views >= 2 ? '0' : null;
1982
1985
  }
1983
1986
  get getActiveDescendant() {
1984
1987
  return this.views === 1 ? this.activeDescendant : null;
1985
1988
  }
1986
1989
  get getTabIndex() {
1987
- return this.disabled || this.views === 2 ? null : this.tabIndex;
1990
+ return this.disabled || this.views >= 2 ? null : this.tabIndex;
1988
1991
  }
1989
1992
  ngOnChanges(changes) {
1990
1993
  this.initService();
@@ -2009,7 +2012,7 @@ class HorizontalViewListComponent {
2009
2012
  }
2010
2013
  this.setAriaActivedescendant();
2011
2014
  //set tabindex for MultiViewCalendar
2012
- if (this.views === 2) {
2015
+ if (this.views >= 2) {
2013
2016
  this.renderer.setAttribute(this.element.nativeElement, 'tabindex', this.tabIndex.toString());
2014
2017
  }
2015
2018
  }
@@ -2156,16 +2159,16 @@ class HorizontalViewListComponent {
2156
2159
  return Math.min(this.total - skip, this.views);
2157
2160
  }
2158
2161
  setAriaActivedescendant() {
2159
- if (this.views === 2) {
2162
+ if (this.views >= 2) {
2160
2163
  this.renderer.setAttribute(this.element.nativeElement, attributeNames.ariaActiveDescendant, this.activeDescendant);
2161
2164
  }
2162
2165
  }
2163
2166
  }
2164
2167
  HorizontalViewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HorizontalViewListComponent, deps: [{ token: BusViewService }, { token: i1.IntlService }, { token: WeekNamesService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2165
- HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: { cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", activeRangeEnd: "activeRangeEnd", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectionRange: "selectionRange", selectedDates: "selectedDates", views: "views", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", orientation: "orientation", activeDescendant: "activeDescendant", tabIndex: "tabIndex", disabled: "disabled", id: "id", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", activeDateChange: "activeDateChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { listeners: { "focus": "handleMultiViewCalendarFocus()", "blur": "handleMultiViewCalendarBlur($event)" }, properties: { "class.k-calendar-view": "this.getComponentClass", "class.k-align-items-start": "this.getComponentClass", "class.k-justify-content-center": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: `
2168
+ HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: { cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", activeRangeEnd: "activeRangeEnd", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectionRange: "selectionRange", selectedDates: "selectedDates", views: "views", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", orientation: "orientation", activeDescendant: "activeDescendant", tabIndex: "tabIndex", disabled: "disabled", id: "id", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", activeDateChange: "activeDateChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { listeners: { "focus": "handleMultiViewCalendarFocus()", "blur": "handleMultiViewCalendarBlur($event)" }, properties: { "class.k-calendar-view": "this.getComponentClass", "class.k-align-items-start": "this.getComponentClass", "class.k-justify-content-center": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass", "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, usesOnChanges: true, ngImport: i0, template: `
2166
2169
  <ng-template #tableTemplate let-date="date" let-class="className">
2167
2170
  <table
2168
- [attr.role]="views === 2 ? 'none' : 'grid'"
2171
+ [attr.role]="views >= 2 ? 'none' : 'grid'"
2169
2172
  class="k-content k-calendar-table"
2170
2173
  [ngClass]="class"
2171
2174
  [attr.aria-labelledby]="id"
@@ -2252,7 +2255,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2252
2255
  template: `
2253
2256
  <ng-template #tableTemplate let-date="date" let-class="className">
2254
2257
  <table
2255
- [attr.role]="views === 2 ? 'none' : 'grid'"
2258
+ [attr.role]="views >= 2 ? 'none' : 'grid'"
2256
2259
  class="k-content k-calendar-table"
2257
2260
  [ngClass]="class"
2258
2261
  [attr.aria-labelledby]="id"
@@ -2424,6 +2427,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2424
2427
  }], role: [{
2425
2428
  type: HostBinding,
2426
2429
  args: ['attr.role']
2430
+ }], tabindex: [{
2431
+ type: HostBinding,
2432
+ args: ['attr.tabindex']
2427
2433
  }] } });
2428
2434
 
2429
2435
  /**
@@ -3356,6 +3362,18 @@ class MultiViewCalendarComponent {
3356
3362
  * @hidden
3357
3363
  */
3358
3364
  this.focusCalendar = new EventEmitter();
3365
+ /**
3366
+ * @hidden
3367
+ */
3368
+ this.onClosePopup = new EventEmitter();
3369
+ /**
3370
+ * @hidden
3371
+ */
3372
+ this.onTabPress = new EventEmitter();
3373
+ /**
3374
+ * @hidden
3375
+ */
3376
+ this.onShiftTabPress = new EventEmitter();
3359
3377
  this.cellUID = guid();
3360
3378
  this.isHovered = false;
3361
3379
  this.isPrevDisabled = true;
@@ -3400,7 +3418,7 @@ class MultiViewCalendarComponent {
3400
3418
  * @hidden
3401
3419
  */
3402
3420
  get multiViewCalendarHeaderIdLabel() {
3403
- return this.views === 2 ? this.id + 'header-' : null;
3421
+ return this.views >= 2 ? this.id + 'header-' : null;
3404
3422
  }
3405
3423
  /**
3406
3424
  * @hidden
@@ -3578,7 +3596,7 @@ class MultiViewCalendarComponent {
3578
3596
  return CalendarViewEnum[this.topView];
3579
3597
  }
3580
3598
  get widgetId() {
3581
- return this.views === 2 ? this.id : null;
3599
+ return this.views >= 2 ? this.id : null;
3582
3600
  }
3583
3601
  get ariaDisabled() {
3584
3602
  return this.disabled;
@@ -3648,6 +3666,11 @@ class MultiViewCalendarComponent {
3648
3666
  const onArrowLeftAndControl = event.keyCode === Keys$1.ArrowLeft && ctrlKey;
3649
3667
  const onTKeyPress = event.keyCode === Keys$1.KeyT;
3650
3668
  const onEnterKeyPress = event.keyCode === Keys$1.Enter;
3669
+ const onArrowUpPress = event.keyCode === Keys$1.ArrowUp;
3670
+ const altKey = event.altKey;
3671
+ const escKey = event.keyCode === Keys$1.Escape;
3672
+ const tabKeyPress = event.keyCode === Keys$1.Tab;
3673
+ const shiftKeyPress = event.shiftKey;
3651
3674
  if (onArrowRightAndControl) {
3652
3675
  event.preventDefault();
3653
3676
  this.navigateView(this.nextView);
@@ -3670,6 +3693,17 @@ class MultiViewCalendarComponent {
3670
3693
  this.selectionService.lastClicked = this.focusedDate;
3671
3694
  this.performSelection(this.focusedDate, event);
3672
3695
  }
3696
+ if (this.views >= 2) {
3697
+ if ((escKey || (altKey && onArrowUpPress))) {
3698
+ this.onClosePopup.emit(event);
3699
+ }
3700
+ else if ((tabKeyPress && shiftKeyPress)) {
3701
+ this.onShiftTabPress.emit(event);
3702
+ }
3703
+ else if ((tabKeyPress && !shiftKeyPress)) {
3704
+ this.onTabPress.emit(event);
3705
+ }
3706
+ }
3673
3707
  const candidate = dateInRange(this.navigator.move(this.focusedDate, this.navigator.action(event), this.activeViewEnum), this.min, this.max);
3674
3708
  if (isEqual(this.focusedDate, candidate)) {
3675
3709
  return;
@@ -3745,7 +3779,7 @@ class MultiViewCalendarComponent {
3745
3779
  if (!this.element) {
3746
3780
  return;
3747
3781
  }
3748
- const activeElement = this.views === 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
3782
+ const activeElement = this.views >= 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
3749
3783
  this.element.nativeElement.querySelector('.k-content.k-calendar-table');
3750
3784
  activeElement.blur();
3751
3785
  }
@@ -3955,7 +3989,7 @@ class MultiViewCalendarComponent {
3955
3989
  }
3956
3990
  }
3957
3991
  MultiViewCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiViewCalendarComponent, deps: [{ token: BusViewService }, { token: i0.ElementRef }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: DisabledDatesService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Component });
3958
- MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
3992
+ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar", onClosePopup: "onClosePopup", onTabPress: "onTabPress", onShiftTabPress: "onShiftTabPress" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
3959
3993
  BusViewService,
3960
3994
  RANGE_CALENDAR_VALUE_ACCESSOR,
3961
3995
  RANGE_CALENDAR_RANGE_VALIDATORS,
@@ -4179,6 +4213,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4179
4213
  args: ['focus']
4180
4214
  }], focusCalendar: [{
4181
4215
  type: Output
4216
+ }], onClosePopup: [{
4217
+ type: Output
4218
+ }], onTabPress: [{
4219
+ type: Output
4220
+ }], onShiftTabPress: [{
4221
+ type: Output
4182
4222
  }], cellTemplate: [{
4183
4223
  type: ContentChild,
4184
4224
  args: [CellTemplateDirective, { static: false }]
@@ -6659,7 +6699,7 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
6659
6699
  </kendo-multiviewcalendar-messages>
6660
6700
  </kendo-multiviewcalendar>
6661
6701
  </ng-container>
6662
- `, isInline: true, components: [{ type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }, { type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }], directives: [{ type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6702
+ `, isInline: true, components: [{ type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }], directives: [{ type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6663
6703
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CalendarComponent, decorators: [{
6664
6704
  type: Component,
6665
6705
  args: [{
@@ -16321,6 +16361,48 @@ class DateRangePopupComponent {
16321
16361
  }
16322
16362
  this.windowSize = windowSize();
16323
16363
  }
16364
+ /**
16365
+ * @hidden
16366
+ */
16367
+ closePopup(event) {
16368
+ event.preventDefault();
16369
+ event.stopPropagation();
16370
+ this.toggle(false);
16371
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
16372
+ this.dateRangeService.startInput$.value.focus();
16373
+ }
16374
+ else {
16375
+ this.dateRangeService.endInput$.value.focus();
16376
+ }
16377
+ ;
16378
+ }
16379
+ /**
16380
+ * @hidden
16381
+ */
16382
+ handleTab(event) {
16383
+ event.preventDefault();
16384
+ event.stopPropagation();
16385
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
16386
+ this.dateRangeService.setActiveRangeEnd('end');
16387
+ }
16388
+ else {
16389
+ this.dateRangeService.endInput$.value.focus();
16390
+ }
16391
+ }
16392
+ ;
16393
+ /**
16394
+ * @hidden
16395
+ */
16396
+ handleShiftTab(event) {
16397
+ event.preventDefault();
16398
+ event.stopPropagation();
16399
+ if (this.dateRangeService.activeRangeEnd === 'end') {
16400
+ this.dateRangeService.setActiveRangeEnd('start');
16401
+ }
16402
+ else {
16403
+ this.dateRangeService.startInput$.value.focus();
16404
+ }
16405
+ }
16324
16406
  handleWindowBlur() {
16325
16407
  if (!this.show || this.actionSheet.expanded) {
16326
16408
  return;
@@ -16465,7 +16547,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
16465
16547
  </ng-container>
16466
16548
  <ng-container #container></ng-container>
16467
16549
  <ng-template #defaultTemplate>
16468
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
16550
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
16469
16551
  </ng-template>
16470
16552
 
16471
16553
  <kendo-actionsheet
@@ -16533,7 +16615,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
16533
16615
  </div>
16534
16616
  </ng-template>
16535
16617
  </kendo-actionsheet>
16536
- `, isInline: true, components: [{ type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16618
+ `, isInline: true, components: [{ type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16537
16619
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateRangePopupComponent, decorators: [{
16538
16620
  type: Component,
16539
16621
  args: [{
@@ -16563,7 +16645,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16563
16645
  </ng-container>
16564
16646
  <ng-container #container></ng-container>
16565
16647
  <ng-template #defaultTemplate>
16566
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
16648
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
16567
16649
  </ng-template>
16568
16650
 
16569
16651
  <kendo-actionsheet
@@ -16804,7 +16886,6 @@ class DateRangeInput {
16804
16886
  }
16805
16887
  [
16806
16888
  this.input.onBlur.subscribe(() => this.deactivate()),
16807
- this.input.onFocus.pipe(filter(() => !this.popupCalendarActivated)).subscribe(() => this.activate()),
16808
16889
  this.input.valueUpdate.subscribe(value => this.updateRange(value, 'change')),
16809
16890
  this.dateRangeService.activeRangeEnd$.subscribe(() => {
16810
16891
  if (this.navigateCalendarOnFocus) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-dateinputs",
3
- "version": "13.0.0-develop.7",
3
+ "version": "13.0.0-develop.8",
4
4
  "description": "Kendo UI for Angular Date Inputs Package - Everything you need to add date selection functionality to apps (DatePicker, TimePicker, DateInput, DateRangePicker, DateTimePicker, Calendar, and MultiViewCalendar).",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -33,20 +33,20 @@
33
33
  "@angular/core": "13 - 16",
34
34
  "@angular/platform-browser": "13 - 16",
35
35
  "@progress/kendo-licensing": "^1.0.2",
36
- "@progress/kendo-angular-common": "13.0.0-develop.7",
37
- "@progress/kendo-angular-intl": "13.0.0-develop.7",
38
- "@progress/kendo-angular-l10n": "13.0.0-develop.7",
39
- "@progress/kendo-angular-icons": "13.0.0-develop.7",
40
- "@progress/kendo-angular-popup": "13.0.0-develop.7",
41
- "@progress/kendo-angular-navigation": "13.0.0-develop.7",
36
+ "@progress/kendo-angular-common": "13.0.0-develop.8",
37
+ "@progress/kendo-angular-intl": "13.0.0-develop.8",
38
+ "@progress/kendo-angular-l10n": "13.0.0-develop.8",
39
+ "@progress/kendo-angular-icons": "13.0.0-develop.8",
40
+ "@progress/kendo-angular-popup": "13.0.0-develop.8",
41
+ "@progress/kendo-angular-navigation": "13.0.0-develop.8",
42
42
  "rxjs": "^6.5.3 || ^7.0.0",
43
- "@progress/kendo-angular-buttons": "13.0.0-develop.7",
44
- "@progress/kendo-angular-inputs": "13.0.0-develop.7",
45
- "@progress/kendo-angular-label": "13.0.0-develop.7"
43
+ "@progress/kendo-angular-buttons": "13.0.0-develop.8",
44
+ "@progress/kendo-angular-inputs": "13.0.0-develop.8",
45
+ "@progress/kendo-angular-label": "13.0.0-develop.8"
46
46
  },
47
47
  "dependencies": {
48
48
  "tslib": "^2.3.1",
49
- "@progress/kendo-angular-schematics": "13.0.0-develop.7",
49
+ "@progress/kendo-angular-schematics": "13.0.0-develop.8",
50
50
  "@progress/kendo-common": "^0.2.0",
51
51
  "@progress/kendo-date-math": "^1.1.0"
52
52
  },