@progress/kendo-angular-dateinputs 13.0.0-develop.2 → 13.0.0-develop.21

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
  }
@@ -598,7 +598,7 @@ export declare class DatePickerComponent implements ControlValueAccessor, OnInit
598
598
  * @hidden
599
599
  */
600
600
  get appendTo(): ViewContainerRef;
601
- get input(): DateInputComponent;
601
+ get dateInput(): DateInputComponent;
602
602
  get calendar(): any;
603
603
  /**
604
604
  * @hidden
@@ -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.
@@ -36,7 +37,6 @@ import * as i0 from "@angular/core";
36
37
  export declare class DateRangePopupComponent implements OnInit, OnDestroy {
37
38
  private popupService;
38
39
  private dateRangeService;
39
- private ref;
40
40
  private zone;
41
41
  private renderer;
42
42
  localization: LocalizationService;
@@ -179,7 +179,7 @@ export declare class DateRangePopupComponent implements OnInit, OnDestroy {
179
179
  private _calendar;
180
180
  private _show;
181
181
  private windowSize;
182
- constructor(popupService: PopupService, dateRangeService: DateRangeService, ref: ChangeDetectorRef, zone: NgZone, renderer: Renderer2, localization: LocalizationService, cdr: ChangeDetectorRef, rtl: boolean);
182
+ constructor(popupService: PopupService, dateRangeService: DateRangeService, zone: NgZone, renderer: Renderer2, localization: LocalizationService, cdr: ChangeDetectorRef, rtl: boolean);
183
183
  ngOnInit(): void;
184
184
  ngAfterViewInit(): void;
185
185
  ngOnDestroy(): void;
@@ -219,6 +219,18 @@ export declare class DateRangePopupComponent implements OnInit, OnDestroy {
219
219
  * @hidden
220
220
  */
221
221
  onResize(): void;
222
+ /**
223
+ * @hidden
224
+ */
225
+ closePopup(event: KeyDown): void;
226
+ /**
227
+ * @hidden
228
+ */
229
+ handleTab(event: KeyDown): void;
230
+ /**
231
+ * @hidden
232
+ */
233
+ handleShiftTab(event: KeyDown): void;
222
234
  private handleWindowBlur;
223
235
  private handleMouseLeave;
224
236
  private handleKeydown;
@@ -230,6 +242,6 @@ export declare class DateRangePopupComponent implements OnInit, OnDestroy {
230
242
  private toggleDateRange;
231
243
  private toggleActionSheet;
232
244
  private updateActionSheetAdaptiveAppearance;
233
- static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePopupComponent, [null, null, null, null, null, null, null, { optional: true; }]>;
245
+ static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePopupComponent, [null, null, null, null, null, null, { optional: true; }]>;
234
246
  static ɵcmp: i0.ɵɵComponentDeclaration<DateRangePopupComponent, "kendo-daterange-popup", ["kendo-daterange-popup"], { "animate": "animate"; "anchor": "anchor"; "anchorAlign": "anchorAlign"; "appendTo": "appendTo"; "collision": "collision"; "popupAlign": "popupAlign"; "margin": "margin"; "adaptiveMode": "adaptiveMode"; "title": "title"; "subtitle": "subtitle"; }, { "open": "open"; "close": "close"; "onBlur": "blur"; "onFocus": "focus"; "cancel": "cancel"; }, ["contentTemplate", "contentCalendar"], never>;
235
247
  }
@@ -71,11 +71,7 @@ export declare class DateTimePickerComponent implements OnInit, OnChanges, After
71
71
  /**
72
72
  * @hidden
73
73
  */
74
- get input(): DateInputComponent;
75
- /**
76
- * @hidden
77
- */
78
- get inputElement(): HTMLElement;
74
+ get dateInput(): DateInputComponent;
79
75
  /**
80
76
  * @hidden
81
77
  */
@@ -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 }]
@@ -1511,7 +1511,7 @@ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
1511
1511
  </kendo-icon-wrapper>
1512
1512
  </button>
1513
1513
  </span>
1514
- `, isInline: true, components: [{ type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i5.DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]" }, { type: i6.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1514
+ `, isInline: true, components: [{ type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i5.DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]" }, { type: i6.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1515
1515
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateInputComponent, decorators: [{
1516
1516
  type: Component,
1517
1517
  args: [{
@@ -550,7 +550,7 @@ export class DatePickerComponent {
550
550
  * Used by the TextBoxContainer to determine if the component is empty.
551
551
  */
552
552
  isEmpty() {
553
- return !this.value && this.input.isEmpty();
553
+ return !this.value && this.dateInput.isEmpty();
554
554
  }
555
555
  /**
556
556
  * @hidden
@@ -583,6 +583,9 @@ export class DatePickerComponent {
583
583
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop;
584
584
  this.onValidatorChange();
585
585
  }
586
+ if (!this.focusableId || changes.focusableId) {
587
+ this.focusableId = this.dateInput?.focusableId;
588
+ }
586
589
  }
587
590
  /**
588
591
  * @hidden
@@ -612,9 +615,9 @@ export class DatePickerComponent {
612
615
  this.verifyValue(value);
613
616
  this.value = cloneDate(value);
614
617
  this.cdr.markForCheck();
615
- if (!value && this.input) {
616
- this.input.placeholder = this.placeholder;
617
- this.input.writeValue(value);
618
+ if (!value && this.dateInput) {
619
+ this.dateInput.placeholder = this.placeholder;
620
+ this.dateInput.writeValue(value);
618
621
  }
619
622
  }
620
623
  /**
@@ -640,7 +643,7 @@ export class DatePickerComponent {
640
643
  * @hidden
641
644
  */
642
645
  validate(control) {
643
- return this.minValidateFn(control) || this.maxValidateFn(control) || this.disabledDatesValidateFn(control) || this.incompleteValidator(control, this.input && this.input.isDateIncomplete);
646
+ return this.minValidateFn(control) || this.maxValidateFn(control) || this.disabledDatesValidateFn(control) || this.incompleteValidator(control, this.dateInput && this.dateInput.isDateIncomplete);
644
647
  }
645
648
  /**
646
649
  * @hidden
@@ -677,13 +680,13 @@ export class DatePickerComponent {
677
680
  * ```
678
681
  */
679
682
  focus() {
680
- this.input.focus();
683
+ this.dateInput.focus();
681
684
  }
682
685
  /**
683
686
  * Blurs the DatePicker component.
684
687
  */
685
688
  blur() {
686
- (this.calendar || this.input)['blur']();
689
+ (this.calendar || this.dateInput)['blur']();
687
690
  }
688
691
  /**
689
692
  * Toggles the visibility of the popup or actionSheet.
@@ -745,7 +748,7 @@ export class DatePickerComponent {
745
748
  * @hidden
746
749
  */
747
750
  handleInputChange(value) {
748
- this.handleChange(this.input.formatSections['time'] ? value : this.mergeTime(value));
751
+ this.handleChange(this.dateInput.formatSections['time'] ? value : this.mergeTime(value));
749
752
  }
750
753
  /**
751
754
  * @hidden
@@ -767,7 +770,7 @@ export class DatePickerComponent {
767
770
  }
768
771
  return appendTo === 'component' ? this.container : appendTo;
769
772
  }
770
- get input() {
773
+ get dateInput() {
771
774
  return this.pickerService.input;
772
775
  }
773
776
  get calendar() {
@@ -824,7 +827,7 @@ export class DatePickerComponent {
824
827
  }
825
828
  }
826
829
  if (keyCode === Keys.Tab && this.show && this.calendar.isActive && isTabExitingCalendar(this.calendarType, target, shiftKey)) {
827
- this.input.focus();
830
+ this.dateInput.focus();
828
831
  this.show = false;
829
832
  }
830
833
  }
@@ -857,7 +860,7 @@ export class DatePickerComponent {
857
860
  });
858
861
  this.setAriaActiveDescendant();
859
862
  this.popupRef.popupElement.setAttribute('id', this.popupUID);
860
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
863
+ this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
861
864
  this.subscription = this.popupRef.popupAnchorViewportLeave.subscribe(() => this.show = false);
862
865
  }
863
866
  else {
@@ -865,8 +868,8 @@ export class DatePickerComponent {
865
868
  this.popupRef = null;
866
869
  this.subscription.unsubscribe();
867
870
  this.ariaActiveDescendantSubscription.unsubscribe();
868
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
869
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
871
+ this.renderer.removeAttribute(this.dateInput?.inputElement, attributeNames.ariaControls);
872
+ this.renderer.removeAttribute(this.dateInput?.inputElement, attributeNames.ariaActiveDescendant);
870
873
  this.cdr.detectChanges();
871
874
  }
872
875
  }
@@ -879,13 +882,13 @@ export class DatePickerComponent {
879
882
  this.updateActionSheetAdaptiveAppearance();
880
883
  this.setAriaActiveDescendant();
881
884
  this.actionSheet.element.nativeElement.setAttribute('id', this.popupUID);
882
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
885
+ this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
883
886
  }
884
887
  else if (!show && this.isOpen) {
885
888
  this.actionSheet.toggle();
886
889
  this.ariaActiveDescendantSubscription.unsubscribe();
887
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
888
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
890
+ this.renderer.removeAttribute(this.dateInput?.inputElement, attributeNames.ariaActiveDescendant);
891
+ this.renderer.removeAttribute(this.dateInput?.inputElement, attributeNames.ariaControls);
889
892
  }
890
893
  this._show = show;
891
894
  }
@@ -912,13 +915,13 @@ export class DatePickerComponent {
912
915
  const focusedCellChangeEvent = this.calendar.type === 'infinite' ?
913
916
  this.calendar.monthView.focusedCellChange :
914
917
  this.calendar.multiViewCalendar.viewList.focusedCellChange;
915
- this.ariaActiveDescendantSubscription = focusedCellChangeEvent.subscribe((id) => this.renderer.setAttribute(this.inputElement, attributeNames.ariaActiveDescendant, id));
918
+ this.ariaActiveDescendantSubscription = focusedCellChangeEvent.subscribe((id) => this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaActiveDescendant, id));
916
919
  }
917
920
  focusInput() {
918
921
  if (this.touchEnabled) {
919
922
  return;
920
923
  }
921
- this.input.focus();
924
+ this.dateInput.focus();
922
925
  }
923
926
  toggleFocus() {
924
927
  if (!this.isActive) {
@@ -933,9 +936,9 @@ export class DatePickerComponent {
933
936
  }
934
937
  }
935
938
  else if (!this.touchEnabled) {
936
- this.input.focus();
939
+ this.dateInput.focus();
937
940
  }
938
- else if (!this.input.isActive) {
941
+ else if (!this.dateInput.isActive) {
939
942
  this.handleBlur();
940
943
  }
941
944
  }
@@ -983,7 +986,7 @@ export class DatePickerComponent {
983
986
  const currentTarget = args && currentFocusTarget(args);
984
987
  const target = args && args.target;
985
988
  const isInsideActionSheet = this.actionSheet && (this.actionSheet.element.nativeElement.contains(target) || this.actionSheet.element.nativeElement.contains(currentTarget));
986
- if (currentTarget && (this.input.containsElement(currentTarget) ||
989
+ if (currentTarget && (this.dateInput.containsElement(currentTarget) ||
987
990
  (this.calendar && this.calendar.containsElement(currentTarget)) || isInsideActionSheet)) {
988
991
  return;
989
992
  }
@@ -1118,6 +1121,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
1118
1121
  }"
1119
1122
  [scope]="this"
1120
1123
  (collapse)="handleActionSheetCollapse()"
1124
+ [titleId]="calendar?.headerId"
1121
1125
  >
1122
1126
  <ng-template kendoActionSheetTemplate>
1123
1127
  <div class="k-actionsheet-titlebar">
@@ -1186,7 +1190,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
1186
1190
  </kendo-calendar-messages>
1187
1191
  </kendo-calendar>
1188
1192
  </ng-template>
1189
- `, isInline: true, components: [{ type: i5.DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrect", "incompleteDateValidation", "twoDigitYearMax", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i7.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i8.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i9.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"] }, { type: i10.CalendarComponent, selector: "kendo-calendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "size"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { type: i11.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: i12.DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { type: i7.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1193
+ `, isInline: true, components: [{ type: i5.DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrect", "incompleteDateValidation", "twoDigitYearMax", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { type: i6.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i7.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i8.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i9.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"] }, { type: i10.CalendarComponent, selector: "kendo-calendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "size"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { type: i11.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: i12.DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { type: i7.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1190
1194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DatePickerComponent, decorators: [{
1191
1195
  type: Component,
1192
1196
  args: [{
@@ -1282,6 +1286,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1282
1286
  }"
1283
1287
  [scope]="this"
1284
1288
  (collapse)="handleActionSheetCollapse()"
1289
+ [titleId]="calendar?.headerId"
1285
1290
  >
1286
1291
  <ng-template kendoActionSheetTemplate>
1287
1292
  <div class="k-actionsheet-titlebar">
@@ -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) {