@progress/kendo-angular-dateinputs 7.1.4 → 7.1.5-dev.202211011455

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.
@@ -28,7 +28,7 @@ const packageMetadata = {
28
28
  name: '@progress/kendo-angular-dateinputs',
29
29
  productName: 'Kendo UI for Angular',
30
30
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
31
- publishDate: 1666814053,
31
+ publishDate: 1667314440,
32
32
  version: '',
33
33
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
34
34
  };
@@ -1913,12 +1913,12 @@ class HorizontalViewListComponent {
1913
1913
  this.dates = [];
1914
1914
  this.intlSubscription = this.intl.changes.subscribe(this.intlChange.bind(this));
1915
1915
  }
1916
- /**
1917
- * @hidden
1918
- */
1919
- handleFocus() {
1916
+ handleMultiViewCalendarFocus() {
1920
1917
  this.focusCalendar.emit();
1921
1918
  }
1919
+ handleMultiViewCalendarBlur(event) {
1920
+ this.blurCalendar.emit(event);
1921
+ }
1922
1922
  get weekNumber() {
1923
1923
  return this.showWeekNumbers && this.isMonthView();
1924
1924
  }
@@ -1943,6 +1943,9 @@ class HorizontalViewListComponent {
1943
1943
  get getComponentCenturyClass() {
1944
1944
  return this.activeView === CalendarViewEnum.century;
1945
1945
  }
1946
+ get role() {
1947
+ return this.views === 2 ? 'grid' : null;
1948
+ }
1946
1949
  get getActiveDescendant() {
1947
1950
  return this.views === 1 ? this.activeDescendant : null;
1948
1951
  }
@@ -1998,6 +2001,12 @@ class HorizontalViewListComponent {
1998
2001
  getCaptionClass() {
1999
2002
  return this.isMonthView() ? 'k-month-header' : 'k-meta-header';
2000
2003
  }
2004
+ handleClassicCalendarFocus() {
2005
+ this.focusCalendar.emit();
2006
+ }
2007
+ handleClassicCalendarBlur(event) {
2008
+ this.blurCalendar.emit(event);
2009
+ }
2001
2010
  animateView(action) {
2002
2011
  const container = this.element.nativeElement;
2003
2012
  const table = container.querySelector('table');
@@ -2119,17 +2128,17 @@ class HorizontalViewListComponent {
2119
2128
  }
2120
2129
  }
2121
2130
  HorizontalViewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", 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 });
2122
- HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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": "handleFocus()" }, 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" } }, usesOnChanges: true, ngImport: i0, template: `
2131
+ HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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: `
2123
2132
  <ng-template #tableTemplate let-date="date" let-class="className">
2124
2133
  <table
2125
- role="grid"
2134
+ [attr.role]="views === 2 ? 'none' : 'grid'"
2126
2135
  class="k-content k-calendar-table"
2127
2136
  [ngClass]="class"
2128
2137
  [attr.aria-labelledby]="id"
2129
2138
  [attr.aria-activedescendant]="getActiveDescendant"
2130
2139
  [attr.tabindex]="getTabIndex"
2131
- (focus)="focusCalendar.emit()"
2132
- (focusout)="blurCalendar.emit($event)"
2140
+ (focus)="handleClassicCalendarFocus()"
2141
+ (blur)="handleClassicCalendarBlur($event)"
2133
2142
  >
2134
2143
  <caption *ngIf="showViewHeader" [ngClass]="getCaptionClass()">{{ getCaptionTitle(date) }}</caption>
2135
2144
  <thead *ngIf="isMonthView()" class="k-calendar-thead" role="rowgroup">
@@ -2209,14 +2218,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2209
2218
  template: `
2210
2219
  <ng-template #tableTemplate let-date="date" let-class="className">
2211
2220
  <table
2212
- role="grid"
2221
+ [attr.role]="views === 2 ? 'none' : 'grid'"
2213
2222
  class="k-content k-calendar-table"
2214
2223
  [ngClass]="class"
2215
2224
  [attr.aria-labelledby]="id"
2216
2225
  [attr.aria-activedescendant]="getActiveDescendant"
2217
2226
  [attr.tabindex]="getTabIndex"
2218
- (focus)="focusCalendar.emit()"
2219
- (focusout)="blurCalendar.emit($event)"
2227
+ (focus)="handleClassicCalendarFocus()"
2228
+ (blur)="handleClassicCalendarBlur($event)"
2220
2229
  >
2221
2230
  <caption *ngIf="showViewHeader" [ngClass]="getCaptionClass()">{{ getCaptionTitle(date) }}</caption>
2222
2231
  <thead *ngIf="isMonthView()" class="k-calendar-thead" role="rowgroup">
@@ -2289,9 +2298,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2289
2298
  </ng-template>
2290
2299
  `
2291
2300
  }]
2292
- }], ctorParameters: function () { return [{ type: BusViewService }, { type: i1.IntlService }, { type: WeekNamesService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { handleFocus: [{
2301
+ }], ctorParameters: function () { return [{ type: BusViewService }, { type: i1.IntlService }, { type: WeekNamesService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { handleMultiViewCalendarFocus: [{
2293
2302
  type: HostListener,
2294
2303
  args: ["focus"]
2304
+ }], handleMultiViewCalendarBlur: [{
2305
+ type: HostListener,
2306
+ args: ["blur", ['$event']]
2295
2307
  }], cellTemplateRef: [{
2296
2308
  type: Input
2297
2309
  }], weekNumberTemplateRef: [{
@@ -2375,6 +2387,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2375
2387
  }], getComponentCenturyClass: [{
2376
2388
  type: HostBinding,
2377
2389
  args: ["class.k-calendar-centuryview"]
2390
+ }], role: [{
2391
+ type: HostBinding,
2392
+ args: ['attr.role']
2378
2393
  }] } });
2379
2394
 
2380
2395
  /**
@@ -3275,9 +3290,13 @@ class MultiViewCalendarComponent {
3275
3290
  */
3276
3291
  this.valueChange = new EventEmitter();
3277
3292
  /**
3278
- * @hidden
3293
+ * Fires each time the MultiViewCalendar gets blurred.
3279
3294
  */
3280
3295
  this.blurEvent = new EventEmitter();
3296
+ /**
3297
+ * Fires each time the MultiViewCalendar gets focused.
3298
+ */
3299
+ this.focusEvent = new EventEmitter();
3281
3300
  /**
3282
3301
  * @hidden
3283
3302
  */
@@ -3521,7 +3540,8 @@ class MultiViewCalendarComponent {
3521
3540
  handleFocusout(event) {
3522
3541
  const relatedTarget = event.relatedTarget;
3523
3542
  if (!this.element.nativeElement.contains(relatedTarget)) {
3524
- this.blurEvent.emit(event);
3543
+ const isClassicCalendar = this.views === 1;
3544
+ isClassicCalendar ? this.blurEvent.emit(event) : this.blurEvent.emit();
3525
3545
  this.onControlTouched();
3526
3546
  }
3527
3547
  this.isActive = false;
@@ -3532,7 +3552,9 @@ class MultiViewCalendarComponent {
3532
3552
  */
3533
3553
  handleFocus() {
3534
3554
  this.isActive = true;
3535
- this.focusCalendar.emit();
3555
+ const isClassicCalendar = this.views === 1;
3556
+ isClassicCalendar ? this.focusCalendar.emit() : this.focusEvent.emit();
3557
+ this.focusEvent.emit();
3536
3558
  }
3537
3559
  /**
3538
3560
  * @hidden
@@ -3877,7 +3899,7 @@ class MultiViewCalendarComponent {
3877
3899
  }
3878
3900
  }
3879
3901
  MultiViewCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", 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 });
3880
- MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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", focusCalendar: "focusCalendar" }, host: { listeners: { "focusout": "handleFocusout($event)", "focus": "handleFocus()", "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: [
3902
+ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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: [
3881
3903
  BusViewService,
3882
3904
  RANGE_CALENDAR_VALUE_ACCESSOR,
3883
3905
  RANGE_CALENDAR_RANGE_VALIDATORS,
@@ -4096,6 +4118,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
4096
4118
  }], blurEvent: [{
4097
4119
  type: Output,
4098
4120
  args: ['blur']
4121
+ }], focusEvent: [{
4122
+ type: Output,
4123
+ args: ['focus']
4099
4124
  }], focusCalendar: [{
4100
4125
  type: Output
4101
4126
  }], cellTemplate: [{
@@ -4155,12 +4180,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
4155
4180
  }, {
4156
4181
  type: HostBinding,
4157
4182
  args: ['class.k-disabled']
4158
- }], handleFocusout: [{
4159
- type: HostListener,
4160
- args: ['focusout', ['$event']]
4161
- }], handleFocus: [{
4162
- type: HostListener,
4163
- args: ["focus"]
4164
4183
  }], handleMouseEnter: [{
4165
4184
  type: HostListener,
4166
4185
  args: ["mouseenter"]
@@ -5188,7 +5207,7 @@ ViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
5188
5207
  [attr.tabindex]="getTabIndex()"
5189
5208
  [attr.aria-labelledby]="id"
5190
5209
  (focus)="focusCalendar.emit()"
5191
- (focusout)="blurCalendar.emit($event)"
5210
+ (blur)="blurCalendar.emit($event)"
5192
5211
  >
5193
5212
  <colgroup><col *ngFor="let _ of cols" /></colgroup>
5194
5213
 
@@ -5257,7 +5276,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
5257
5276
  [attr.tabindex]="getTabIndex()"
5258
5277
  [attr.aria-labelledby]="id"
5259
5278
  (focus)="focusCalendar.emit()"
5260
- (focusout)="blurCalendar.emit($event)"
5279
+ (blur)="blurCalendar.emit($event)"
5261
5280
  >
5262
5281
  <colgroup><col *ngFor="let _ of cols" /></colgroup>
5263
5282
 
@@ -5701,6 +5720,14 @@ class CalendarComponent {
5701
5720
  * Applies to the [`infinite`]({% slug api_dateinputs_calendarcomponent %}#toc-type) Calendar only.
5702
5721
  */
5703
5722
  this.activeViewDateChange = new EventEmitter();
5723
+ /**
5724
+ * Fires each time the Calendar gets blurred.
5725
+ */
5726
+ this.onBlur = new EventEmitter();
5727
+ /**
5728
+ * Fires each time the Calendar gets focused.
5729
+ */
5730
+ this.onFocus = new EventEmitter();
5704
5731
  /**
5705
5732
  * Fires when the value is changed
5706
5733
  * ([more information and example]({% slug overview_calendar %}#toc-events)).
@@ -5729,6 +5756,12 @@ class CalendarComponent {
5729
5756
  this.pickerService.calendar = this;
5730
5757
  }
5731
5758
  }
5759
+ /**
5760
+ * @hidden
5761
+ */
5762
+ get popupId() {
5763
+ return `kendo-popup-${this.bus.calendarId}`;
5764
+ }
5732
5765
  /**
5733
5766
  * Sets or gets the `focusedDate` property of the Calendar and
5734
5767
  * defines the focused date of the component
@@ -6314,17 +6347,19 @@ class CalendarComponent {
6314
6347
  }
6315
6348
  bindEvents() {
6316
6349
  const element = this.element.nativeElement;
6317
- this.domEvents.push(this.renderer.listen(element, 'blur', this.handleBlur.bind(this)), this.renderer.listen(element, 'focus', this.handleFocus.bind(this)), this.renderer.listen(element, 'mousedown', preventDefault), this.renderer.listen(element, 'click', this.handleComponentClick.bind(this)), this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
6350
+ this.domEvents.push(this.renderer.listen(element, 'focus', this.handleFocus.bind(this)), this.renderer.listen(element, 'mousedown', preventDefault), this.renderer.listen(element, 'click', this.handleComponentClick.bind(this)), this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
6318
6351
  }
6319
6352
  emitBlur(args) {
6320
6353
  if (this.pickerService) {
6321
6354
  this.pickerService.onBlur.emit(args);
6322
6355
  }
6356
+ this.onBlur.emit();
6323
6357
  }
6324
6358
  emitFocus() {
6325
6359
  if (this.pickerService) {
6326
6360
  this.pickerService.onFocus.emit();
6327
6361
  }
6362
+ this.onFocus.emit();
6328
6363
  }
6329
6364
  handleComponentClick() {
6330
6365
  if (!this.isActive) {
@@ -6422,7 +6457,7 @@ class CalendarComponent {
6422
6457
  }
6423
6458
  }
6424
6459
  CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CalendarComponent, deps: [{ token: BusViewService }, { token: CalendarDOMService }, { token: i0.ElementRef }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: ScrollSyncService }, { token: DisabledDatesService }, { token: i1$1.LocalizationService }, { token: SelectionService }, { token: PickerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
6425
- CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CalendarComponent, selector: "kendo-calendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", disabledDates: "disabledDates", navigation: "navigation", activeView: "activeView", bottomView: "bottomView", topView: "topView", type: "type", animateNavigation: "animateNavigation", weekNumber: "weekNumber", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", activeViewDateChange: "activeViewDateChange", valueChange: "valueChange" }, host: { properties: { "class.k-week-number": "this.weekNumber", "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
6460
+ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CalendarComponent, selector: "kendo-calendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", disabledDates: "disabledDates", navigation: "navigation", activeView: "activeView", bottomView: "bottomView", topView: "topView", type: "type", animateNavigation: "animateNavigation", weekNumber: "weekNumber", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", activeViewDateChange: "activeViewDateChange", onBlur: "blur", onFocus: "focus", valueChange: "valueChange" }, host: { properties: { "class.k-week-number": "this.weekNumber", "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
6426
6461
  BusViewService,
6427
6462
  CALENDAR_VALUE_ACCESSOR,
6428
6463
  CALENDAR_RANGE_VALIDATORS,
@@ -6522,6 +6557,7 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
6522
6557
  (valueChange)="handleMultiViewCalendarValueChange($event, multiviewcalendar.focusedDate)"
6523
6558
  (focusCalendar)="handleFocus()"
6524
6559
  (blur)="handleBlur($event)"
6560
+ (blurEvent)="handleBlur($event)"
6525
6561
  (keydown)="handleMultiViewCalendarKeydown($event)"
6526
6562
  >
6527
6563
  <kendo-multiviewcalendar-messages
@@ -6533,7 +6569,7 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
6533
6569
  </kendo-multiviewcalendar-messages>
6534
6570
  </kendo-multiviewcalendar>
6535
6571
  </ng-container>
6536
- `, 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: i5.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", "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 });
6572
+ `, 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: i5.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 });
6537
6573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CalendarComponent, decorators: [{
6538
6574
  type: Component,
6539
6575
  args: [{
@@ -6641,6 +6677,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
6641
6677
  (valueChange)="handleMultiViewCalendarValueChange($event, multiviewcalendar.focusedDate)"
6642
6678
  (focusCalendar)="handleFocus()"
6643
6679
  (blur)="handleBlur($event)"
6680
+ (blurEvent)="handleBlur($event)"
6644
6681
  (keydown)="handleMultiViewCalendarKeydown($event)"
6645
6682
  >
6646
6683
  <kendo-multiviewcalendar-messages
@@ -6701,6 +6738,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
6701
6738
  type: Output
6702
6739
  }], activeViewDateChange: [{
6703
6740
  type: Output
6741
+ }], onBlur: [{
6742
+ type: Output,
6743
+ args: ['blur']
6744
+ }], onFocus: [{
6745
+ type: Output,
6746
+ args: ['focus']
6704
6747
  }], valueChange: [{
6705
6748
  type: Output
6706
6749
  }], cellTemplate: [{
@@ -6894,7 +6937,6 @@ class KendoDate {
6894
6937
  validatePackage(packageMetadata);
6895
6938
  this.monthNames = this.allFormatedMonths();
6896
6939
  this.dayPeriods = this.allDayPeriods();
6897
- nextId++;
6898
6940
  if (!value) {
6899
6941
  this.value = getDate(new Date());
6900
6942
  const sampleFormat = this.dateFormatString(this.value, this.format).symbols;
@@ -7381,10 +7423,6 @@ class DateInputComponent {
7381
7423
  * [spinner buttons]({% slug spinbuttons_dateinput %}).
7382
7424
  */
7383
7425
  this.spinners = false;
7384
- /**
7385
- * @hidden
7386
- */
7387
- this.hasPopup = false;
7388
7426
  /**
7389
7427
  * Fires each time the user selects a new value.
7390
7428
  * For more information, refer to the section on
@@ -7464,6 +7502,7 @@ class DateInputComponent {
7464
7502
  this.incompleteValidator = noop$2;
7465
7503
  this._value = null;
7466
7504
  this._active = false;
7505
+ this._focusableId = `dateinput-${nextId++}`;
7467
7506
  this.kendoDate = null;
7468
7507
  this.paste = false;
7469
7508
  this.domEvents = [];
@@ -7486,14 +7525,21 @@ class DateInputComponent {
7486
7525
  /**
7487
7526
  * @hidden
7488
7527
  */
7528
+ set focusableId(_focusableId) {
7529
+ this._focusableId = _focusableId;
7530
+ }
7489
7531
  get focusableId() {
7490
- if (this.pickerType) {
7491
- return `${this.pickerType}-${nextId}`;
7492
- }
7493
- else {
7494
- return `dateinput-${nextId}`;
7532
+ return this._focusableId;
7533
+ }
7534
+ /**
7535
+ * @hidden
7536
+ */
7537
+ set pickerType(_pickerType) {
7538
+ if (_pickerType) {
7539
+ this.focusableId = `${_pickerType}-${nextId}`;
7495
7540
  }
7496
7541
  }
7542
+ ;
7497
7543
  /**
7498
7544
  * @hidden
7499
7545
  */
@@ -7936,6 +7982,7 @@ class DateInputComponent {
7936
7982
  * @hidden
7937
7983
  */
7938
7984
  handleFocus(args) {
7985
+ this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
7939
7986
  this.isActive = true;
7940
7987
  this.updateElementValue();
7941
7988
  if (!this.hasMousedown) {
@@ -8239,7 +8286,7 @@ class DateInputComponent {
8239
8286
  }
8240
8287
  }
8241
8288
  DateInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.IntlService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: i1$1.LocalizationService }, { token: PickerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
8242
- DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DateInputComponent, selector: "kendo-dateinput", inputs: { pickerType: "pickerType", disabled: "disabled", readonly: "readonly", title: "title", tabindex: "tabindex", role: "role", ariaReadOnly: "ariaReadOnly", tabIndex: "tabIndex", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", steps: "steps", max: "max", min: "min", rangeValidation: "rangeValidation", autoCorrect: "autoCorrect", incompleteDateValidation: "incompleteDateValidation", twoDigitYearMax: "twoDigitYearMax", value: "value", spinners: "spinners", isPopupOpen: "isPopupOpen", hasPopup: "hasPopup", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", valueUpdate: "valueUpdate", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-input": "this.wrapperClass", "class.k-dateinput": "this.wrapperClass", "class.k-disabled": "this.disabledClass" } }, providers: [
8289
+ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DateInputComponent, selector: "kendo-dateinput", inputs: { focusableId: "focusableId", pickerType: "pickerType", disabled: "disabled", readonly: "readonly", title: "title", tabindex: "tabindex", role: "role", ariaReadOnly: "ariaReadOnly", tabIndex: "tabIndex", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", steps: "steps", max: "max", min: "min", rangeValidation: "rangeValidation", autoCorrect: "autoCorrect", incompleteDateValidation: "incompleteDateValidation", twoDigitYearMax: "twoDigitYearMax", value: "value", spinners: "spinners", isPopupOpen: "isPopupOpen", hasPopup: "hasPopup", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", valueUpdate: "valueUpdate", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-input": "this.wrapperClass", "class.k-dateinput": "this.wrapperClass", "class.k-disabled": "this.disabledClass" } }, providers: [
8243
8290
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateInputComponent), multi: true },
8244
8291
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => DateInputComponent), multi: true },
8245
8292
  { provide: L10N_PREFIX, useValue: 'kendo.dateinput' },
@@ -8389,7 +8436,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
8389
8436
  }]
8390
8437
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.IntlService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }, { type: i1$1.LocalizationService }, { type: PickerService, decorators: [{
8391
8438
  type: Optional
8392
- }] }]; }, propDecorators: { pickerType: [{
8439
+ }] }]; }, propDecorators: { focusableId: [{
8440
+ type: Input
8441
+ }], pickerType: [{
8393
8442
  type: Input
8394
8443
  }], disabled: [{
8395
8444
  type: Input
@@ -9016,7 +9065,7 @@ class DatePickerComponent {
9016
9065
  }
9017
9066
  get popupUID() {
9018
9067
  var _a;
9019
- return (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.id;
9068
+ return (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.popupId;
9020
9069
  }
9021
9070
  ;
9022
9071
  get isActive() {
@@ -9482,7 +9531,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
9482
9531
  #input
9483
9532
  [role]="'combobox'"
9484
9533
  pickerType="datepicker"
9485
- [hasPopup]="true"
9534
+ hasPopup="grid"
9486
9535
  [isPopupOpen]="show"
9487
9536
  [disabled]="disabled"
9488
9537
  [readonly]="readonly || readOnlyInput"
@@ -9555,7 +9604,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
9555
9604
  </kendo-calendar-messages>
9556
9605
  </kendo-calendar>
9557
9606
  <ng-template>
9558
- `, isInline: true, components: [{ type: DateInputComponent, selector: "kendo-dateinput", inputs: ["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: 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"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "valueChange"], exportAs: ["kendo-calendar"] }, { type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { type: i5.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9607
+ `, isInline: true, components: [{ type: 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: 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"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { type: i5.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9559
9608
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DatePickerComponent, decorators: [{
9560
9609
  type: Component,
9561
9610
  args: [{
@@ -9593,7 +9642,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
9593
9642
  #input
9594
9643
  [role]="'combobox'"
9595
9644
  pickerType="datepicker"
9596
- [hasPopup]="true"
9645
+ hasPopup="grid"
9597
9646
  [isPopupOpen]="show"
9598
9647
  [disabled]="disabled"
9599
9648
  [readonly]="readonly || readOnlyInput"
@@ -10492,23 +10541,14 @@ class TimeListComponent {
10492
10541
  this.data = [];
10493
10542
  this.indexToScroll = -1;
10494
10543
  this.domEvents = [];
10495
- this.hostElement = this.element.nativeElement;
10496
10544
  }
10497
10545
  get roleAttribute() {
10498
- return this.isDayPeriod ? 'listbox' : 'spinbutton';
10546
+ return 'listbox';
10499
10547
  }
10500
10548
  get ariaLabel() {
10501
10549
  var _a;
10502
10550
  return this.localization.get((_a = this.part) === null || _a === void 0 ? void 0 : _a.type);
10503
10551
  }
10504
- get valueMin() {
10505
- var _a;
10506
- return (_a = this.data[0]) === null || _a === void 0 ? void 0 : _a.text;
10507
- }
10508
- get valueMax() {
10509
- var _a;
10510
- return (_a = this.data[this.data.length - 1]) === null || _a === void 0 ? void 0 : _a.text;
10511
- }
10512
10552
  get tabIndex() {
10513
10553
  return this.disabled ? undefined : 0;
10514
10554
  }
@@ -10516,8 +10556,10 @@ class TimeListComponent {
10516
10556
  var _a;
10517
10557
  return ((_a = this.part) === null || _a === void 0 ? void 0 : _a.type) === 'dayperiod';
10518
10558
  }
10559
+ get currentSelectedIndex() {
10560
+ return this.selectedIndex(this.value);
10561
+ }
10519
10562
  ngOnChanges(changes) {
10520
- var _a, _b;
10521
10563
  if (changes.part) {
10522
10564
  this.service = this.injector.get(services[this.part.type]);
10523
10565
  this.service.configure(this.serviceSettings());
@@ -10537,8 +10579,6 @@ class TimeListComponent {
10537
10579
  this.animateToIndex = this.animateToIndex && this.textHasChanged(valueChanges);
10538
10580
  this.total = this.service.total(value);
10539
10581
  this.indexToScroll = this.selectedIndex(value);
10540
- this.renderer.setAttribute(this.hostElement, attributeNames.valueNow, (_a = this.getCurrentItem()) === null || _a === void 0 ? void 0 : _a.value.toString());
10541
- this.renderer.setAttribute(this.hostElement, attributeNames.valuetext, (_b = this.getCurrentItem()) === null || _b === void 0 ? void 0 : _b.text);
10542
10582
  }
10543
10583
  ngOnInit() {
10544
10584
  this.animateToIndex = true;
@@ -10691,7 +10731,7 @@ class TimeListComponent {
10691
10731
  }
10692
10732
  }
10693
10733
  TimeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimeListComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: TimePickerDOMService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
10694
- TimeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TimeListComponent, selector: "kendo-timelist", inputs: { min: "min", max: "max", part: "part", step: "step", disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.role": "this.roleAttribute", "attr.aria-label": "this.ariaLabel", "attr.valuemin": "this.valueMin", "attr.valuemax": "this.valueMax", "attr.tabindex": "this.tabIndex", "class.k-time-list": "this.componentClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
10734
+ TimeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TimeListComponent, selector: "kendo-timelist", inputs: { min: "min", max: "max", part: "part", step: "step", disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.role": "this.roleAttribute", "attr.aria-label": "this.ariaLabel", "attr.tabindex": "this.tabIndex", "class.k-time-list": "this.componentClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
10695
10735
  <kendo-virtualization
10696
10736
  [skip]="skip"
10697
10737
  [take]="total"
@@ -10709,11 +10749,12 @@ TimeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
10709
10749
  click: handleItemClick
10710
10750
  }"
10711
10751
  [scope]="this"
10712
- [attr.role]="isDayPeriod ? 'presentation' : null"
10752
+ [attr.role]="'presentation'"
10713
10753
  >
10714
10754
  <li *ngFor="let item of data; let index = index;" class="k-item"
10715
10755
  [attr.data-timelist-item-index]="index"
10716
- [attr.role]="isDayPeriod ? 'option' : null"
10756
+ [attr.role]="'option'"
10757
+ [attr.aria-selected]="index === currentSelectedIndex"
10717
10758
  >
10718
10759
  <span>{{item.text}}</span>
10719
10760
  </li>
@@ -10742,11 +10783,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
10742
10783
  click: handleItemClick
10743
10784
  }"
10744
10785
  [scope]="this"
10745
- [attr.role]="isDayPeriod ? 'presentation' : null"
10786
+ [attr.role]="'presentation'"
10746
10787
  >
10747
10788
  <li *ngFor="let item of data; let index = index;" class="k-item"
10748
10789
  [attr.data-timelist-item-index]="index"
10749
- [attr.role]="isDayPeriod ? 'option' : null"
10790
+ [attr.role]="'option'"
10791
+ [attr.aria-selected]="index === currentSelectedIndex"
10750
10792
  >
10751
10793
  <span>{{item.text}}</span>
10752
10794
  </li>
@@ -10777,12 +10819,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
10777
10819
  }], ariaLabel: [{
10778
10820
  type: HostBinding,
10779
10821
  args: ["attr.aria-label"]
10780
- }], valueMin: [{
10781
- type: HostBinding,
10782
- args: ['attr.valuemin']
10783
- }], valueMax: [{
10784
- type: HostBinding,
10785
- args: ["attr.valuemax"]
10786
10822
  }], tabIndex: [{
10787
10823
  type: HostBinding,
10788
10824
  args: ["attr.tabindex"]
@@ -12353,6 +12389,7 @@ class TimePickerComponent {
12353
12389
  else {
12354
12390
  this.blurComponent();
12355
12391
  }
12392
+ this.cdr.detectChanges();
12356
12393
  }
12357
12394
  blurComponent() {
12358
12395
  this.isActive = false; // order is important ¯\_(ツ)_/¯
@@ -12433,7 +12470,7 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
12433
12470
  <kendo-dateinput
12434
12471
  #input
12435
12472
  pickerType="timepicker"
12436
- [hasPopup]="true"
12473
+ hasPopup="dialog"
12437
12474
  [isPopupOpen]="show"
12438
12475
  [disabled]="disabled"
12439
12476
  [readonly]="readonly || readOnlyInput"
@@ -12504,7 +12541,7 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
12504
12541
  </kendo-timeselector>
12505
12542
  </ng-template>
12506
12543
  <ng-container #container></ng-container>
12507
- `, isInline: true, components: [{ type: DateInputComponent, selector: "kendo-dateinput", inputs: ["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: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "steps", "value"], outputs: ["valueChange", "valueReject"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { type: i5.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12544
+ `, isInline: true, components: [{ type: 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: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "steps", "value"], outputs: ["valueChange", "valueReject"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { type: i5.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12508
12545
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimePickerComponent, decorators: [{
12509
12546
  type: Component,
12510
12547
  args: [{
@@ -12565,7 +12602,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
12565
12602
  <kendo-dateinput
12566
12603
  #input
12567
12604
  pickerType="timepicker"
12568
- [hasPopup]="true"
12605
+ hasPopup="dialog"
12569
12606
  [isPopupOpen]="show"
12570
12607
  [disabled]="disabled"
12571
12608
  [readonly]="readonly || readOnlyInput"
@@ -13257,7 +13294,7 @@ class DateTimePickerComponent {
13257
13294
  }
13258
13295
  get popupUID() {
13259
13296
  var _a;
13260
- return (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.id;
13297
+ return (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.popupId;
13261
13298
  }
13262
13299
  ;
13263
13300
  ngOnInit() {
@@ -13841,7 +13878,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
13841
13878
  [tabindex]="tabindex"
13842
13879
  [title]="title"
13843
13880
  pickerType="datetimepicker"
13844
- [hasPopup]="true"
13881
+ hasPopup="grid"
13845
13882
  [isPopupOpen]="isOpen"
13846
13883
  (valueChange)="handleInputValueChange($event)"
13847
13884
  [kendoEventsOutsideAngular]="{
@@ -13892,12 +13929,13 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
13892
13929
  }"
13893
13930
  [scope]="this"
13894
13931
  >
13895
- <div class="k-button-group k-button-group-stretched">
13932
+ <div class="k-button-group k-button-group-stretched" role="group">
13896
13933
  <button
13897
13934
  type="button"
13898
13935
  class="k-button k-group-start k-date-tab"
13899
13936
  [ngClass]="popupButtonsClasses()"
13900
13937
  [class.k-active]="activeTab === 'date'"
13938
+ [attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
13901
13939
  [attr.title]="localization.get('dateTabLabel')"
13902
13940
  [attr.aria-label]="localization.get('dateTabLabel')"
13903
13941
  [kendoEventsOutsideAngular]="{
@@ -13913,6 +13951,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
13913
13951
  class="k-button k-group-end k-time-tab"
13914
13952
  [ngClass]="popupButtonsClasses()"
13915
13953
  [class.k-active]="activeTab === 'time'"
13954
+ [attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
13916
13955
  [attr.title]="localization.get('timeTabLabel')"
13917
13956
  [attr.aria-label]="localization.get('timeTabLabel')"
13918
13957
  [kendoEventsOutsideAngular]="{
@@ -14019,7 +14058,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
14019
14058
  </div>
14020
14059
  </div>
14021
14060
  </ng-template>
14022
- `, isInline: true, components: [{ type: DateInputComponent, selector: "kendo-dateinput", inputs: ["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: 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"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "valueChange"], exportAs: ["kendo-calendar"] }, { type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "steps", "value"], outputs: ["valueChange", "valueReject"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { type: i5.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14061
+ `, isInline: true, components: [{ type: 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: 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"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "steps", "value"], outputs: ["valueChange", "valueReject"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { type: i5.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14023
14062
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateTimePickerComponent, decorators: [{
14024
14063
  type: Component,
14025
14064
  args: [{
@@ -14100,7 +14139,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
14100
14139
  [tabindex]="tabindex"
14101
14140
  [title]="title"
14102
14141
  pickerType="datetimepicker"
14103
- [hasPopup]="true"
14142
+ hasPopup="grid"
14104
14143
  [isPopupOpen]="isOpen"
14105
14144
  (valueChange)="handleInputValueChange($event)"
14106
14145
  [kendoEventsOutsideAngular]="{
@@ -14151,12 +14190,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
14151
14190
  }"
14152
14191
  [scope]="this"
14153
14192
  >
14154
- <div class="k-button-group k-button-group-stretched">
14193
+ <div class="k-button-group k-button-group-stretched" role="group">
14155
14194
  <button
14156
14195
  type="button"
14157
14196
  class="k-button k-group-start k-date-tab"
14158
14197
  [ngClass]="popupButtonsClasses()"
14159
14198
  [class.k-active]="activeTab === 'date'"
14199
+ [attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
14160
14200
  [attr.title]="localization.get('dateTabLabel')"
14161
14201
  [attr.aria-label]="localization.get('dateTabLabel')"
14162
14202
  [kendoEventsOutsideAngular]="{
@@ -14172,6 +14212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
14172
14212
  class="k-button k-group-end k-time-tab"
14173
14213
  [ngClass]="popupButtonsClasses()"
14174
14214
  [class.k-active]="activeTab === 'time'"
14215
+ [attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
14175
14216
  [attr.title]="localization.get('timeTabLabel')"
14176
14217
  [attr.aria-label]="localization.get('timeTabLabel')"
14177
14218
  [kendoEventsOutsideAngular]="{
@@ -14418,8 +14459,6 @@ class DateRangeService {
14418
14459
  /** @hidden */
14419
14460
  constructor(renderer) {
14420
14461
  this.renderer = renderer;
14421
- /** @hidden */
14422
- this.focusedCellChange = new Subscription();
14423
14462
  /**
14424
14463
  * An Observable instance that notifies when the `activeRangeEnd` state is changed.
14425
14464
  */
@@ -14479,23 +14518,34 @@ class DateRangeService {
14479
14518
  get selectionRange() {
14480
14519
  return this.range$.value;
14481
14520
  }
14521
+ /**
14522
+ * @hidden
14523
+ * Gets the start input element.
14524
+ */
14525
+ get inputStartElement() {
14526
+ return this.startInput$.value.dateInput.nativeElement;
14527
+ }
14528
+ /**
14529
+ * @hidden
14530
+ * Gets the end input element.
14531
+ */
14532
+ get inputEndElement() {
14533
+ return this.endInput$.value.dateInput.nativeElement;
14534
+ }
14482
14535
  /**
14483
14536
  * Activates the registered `DateRangePopup` component.
14484
14537
  * The method opens the popup and focuses the calendar.
14485
14538
  */
14486
14539
  activatePopup() {
14487
- var _a;
14488
14540
  const dateRangePopup = this.dateRangePopup$.value;
14489
14541
  if (!dateRangePopup) {
14490
14542
  return;
14491
14543
  }
14492
14544
  if (this.startInput$.value) {
14493
- const inputElement = this.startInput$.value.dateInput.nativeElement;
14494
- this.renderer.setAttribute(inputElement, attributeNames.ariaControls, dateRangePopup.popupUID);
14495
- this.renderer.setAttribute(inputElement, attributeNames.ariaExpanded, 'true');
14496
- this.focusedCellChange = (_a = dateRangePopup.viewCalendar.first) === null || _a === void 0 ? void 0 : _a.viewList.focusedCellChange.subscribe((id) => {
14497
- this.renderer.setAttribute(inputElement, attributeNames.ariaActiveDescendant, id);
14498
- });
14545
+ this.renderer.setAttribute(this.inputStartElement, attributeNames.ariaControls, dateRangePopup.popupUID);
14546
+ this.renderer.setAttribute(this.inputStartElement, attributeNames.ariaExpanded, 'true');
14547
+ this.renderer.setAttribute(this.inputEndElement, attributeNames.ariaControls, dateRangePopup.popupUID);
14548
+ this.renderer.setAttribute(this.inputEndElement, attributeNames.ariaExpanded, 'true');
14499
14549
  }
14500
14550
  dateRangePopup.activate();
14501
14551
  }
@@ -14504,20 +14554,28 @@ class DateRangeService {
14504
14554
  * The method closes the popup.
14505
14555
  */
14506
14556
  deactivatePopup() {
14507
- var _a;
14508
14557
  const dateRangePopup = this.dateRangePopup$.value;
14509
14558
  if (!(dateRangePopup && dateRangePopup.show)) {
14510
14559
  return;
14511
14560
  }
14512
14561
  if (this.startInput$.value) {
14513
- const inputElement = this.startInput$.value.dateInput.nativeElement;
14514
- this.renderer.removeAttribute(inputElement, attributeNames.ariaControls);
14515
- this.renderer.setAttribute(inputElement, attributeNames.ariaExpanded, 'false');
14516
- (_a = this.focusedCellChange) === null || _a === void 0 ? void 0 : _a.unsubscribe();
14517
- this.renderer.removeAttribute(inputElement, attributeNames.ariaActiveDescendant);
14562
+ this.renderer.removeAttribute(this.inputStartElement, attributeNames.ariaControls);
14563
+ this.renderer.setAttribute(this.inputStartElement, attributeNames.ariaExpanded, 'false');
14564
+ this.renderer.removeAttribute(this.inputStartElement, attributeNames.ariaActiveDescendant);
14565
+ this.renderer.removeAttribute(this.inputEndElement, attributeNames.ariaControls);
14566
+ this.renderer.setAttribute(this.inputEndElement, attributeNames.ariaExpanded, 'false');
14567
+ this.renderer.removeAttribute(this.inputEndElement, attributeNames.ariaActiveDescendant);
14518
14568
  }
14519
14569
  dateRangePopup.show = false;
14520
14570
  }
14571
+ /**
14572
+ * @hidden
14573
+ */
14574
+ setActiveDescendent(id) {
14575
+ this.renderer.setAttribute(this.inputStartElement, attributeNames.ariaActiveDescendant, id);
14576
+ this.renderer.setAttribute(this.inputEndElement, attributeNames.ariaActiveDescendant, id);
14577
+ }
14578
+ ;
14521
14579
  /**
14522
14580
  * @hidden
14523
14581
  *
@@ -14946,7 +15004,12 @@ class DateRangePopupComponent {
14946
15004
  this.zone.runOutsideAngular(() => {
14947
15005
  this.activateSubscription = merge(this.contentCalendar.changes, this.viewCalendar.changes)
14948
15006
  .pipe(filter(changes => changes && changes.first), map(changes => changes.first))
14949
- .subscribe((calendar) => setTimeout(() => calendar.focus()));
15007
+ .subscribe((calendar) => setTimeout(() => {
15008
+ calendar.focus();
15009
+ this.calendarSubscriptions.add(calendar.viewList.focusedCellChange.subscribe((id) => {
15010
+ this.dateRangeService.setActiveDescendent(id);
15011
+ }));
15012
+ }));
14950
15013
  });
14951
15014
  }
14952
15015
  /**
@@ -15073,7 +15136,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
15073
15136
  <ng-template #defaultTemplate>
15074
15137
  <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
15075
15138
  </ng-template>
15076
- `, 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", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }], directives: [{ type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }] });
15139
+ `, 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"] }], directives: [{ type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }] });
15077
15140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangePopupComponent, decorators: [{
15078
15141
  type: Component,
15079
15142
  args: [{
@@ -15239,6 +15302,8 @@ class DateRangeInput {
15239
15302
  return isPresent(popup) && isPresent(popup.calendar);
15240
15303
  }
15241
15304
  init() {
15305
+ this.input.role = 'combobox';
15306
+ this.input.hasPopup = 'grid';
15242
15307
  if (this.input.value) {
15243
15308
  this.dateRangeService.setRange(this.getRange(this.input.value));
15244
15309
  }
@@ -15370,11 +15435,10 @@ class DateRangeEndInputDirective extends DateRangeInput {
15370
15435
  ngOnInit() {
15371
15436
  this.rangeService.registerEndInput(this.dateInput);
15372
15437
  super.init();
15438
+ this.dateInput.pickerType = 'daterangeend';
15373
15439
  }
15374
15440
  ngAfterViewInit() {
15375
- const inputElement = this.dateInput.inputElement;
15376
- this.renderer.removeAttribute(inputElement, attributeNames.ariaExpanded);
15377
- this.dateInput.pickerType = 'daterangeend';
15441
+ this.renderer.setAttribute(this.dateInput.inputElement, attributeNames.ariaExpanded, 'false');
15378
15442
  }
15379
15443
  ngOnDestroy() {
15380
15444
  super.destroy();
@@ -15452,13 +15516,10 @@ class DateRangeStartInputDirective extends DateRangeInput {
15452
15516
  ngOnInit() {
15453
15517
  this.rangeService.registerStartInput(this.dateInput);
15454
15518
  super.init();
15519
+ this.dateInput.pickerType = 'daterangestart';
15455
15520
  }
15456
15521
  ngAfterViewInit() {
15457
- const inputElement = this.dateInput.inputElement;
15458
- this.renderer.setAttribute(inputElement, 'role', 'combobox');
15459
- this.renderer.setAttribute(inputElement, attributeNames.ariaHasPopup, 'true');
15460
- this.dateInput.pickerType = 'daterangestart';
15461
- this.renderer.setAttribute(inputElement, attributeNames.ariaExpanded, 'false');
15522
+ this.renderer.setAttribute(this.dateInput.inputElement, attributeNames.ariaExpanded, 'false');
15462
15523
  }
15463
15524
  ngOnDestroy() {
15464
15525
  super.destroy();