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

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.
@@ -36,8 +36,8 @@ const packageMetadata = {
36
36
  name: '@progress/kendo-angular-dateinputs',
37
37
  productName: 'Kendo UI for Angular',
38
38
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
39
- publishDate: 1684846671,
40
- version: '13.0.0-develop.2',
39
+ publishDate: 1685961167,
40
+ version: '13.0.0-develop.20',
41
41
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
42
42
  };
43
43
 
@@ -1978,13 +1978,16 @@ class HorizontalViewListComponent {
1978
1978
  return this.activeView === CalendarViewEnum.century;
1979
1979
  }
1980
1980
  get role() {
1981
- return this.views === 2 ? 'grid' : null;
1981
+ return this.views >= 2 ? 'grid' : null;
1982
+ }
1983
+ get tabindex() {
1984
+ return this.views >= 2 ? '0' : null;
1982
1985
  }
1983
1986
  get getActiveDescendant() {
1984
1987
  return this.views === 1 ? this.activeDescendant : null;
1985
1988
  }
1986
1989
  get getTabIndex() {
1987
- return this.disabled || this.views === 2 ? null : this.tabIndex;
1990
+ return this.disabled || this.views >= 2 ? null : this.tabIndex;
1988
1991
  }
1989
1992
  ngOnChanges(changes) {
1990
1993
  this.initService();
@@ -2009,7 +2012,7 @@ class HorizontalViewListComponent {
2009
2012
  }
2010
2013
  this.setAriaActivedescendant();
2011
2014
  //set tabindex for MultiViewCalendar
2012
- if (this.views === 2) {
2015
+ if (this.views >= 2) {
2013
2016
  this.renderer.setAttribute(this.element.nativeElement, 'tabindex', this.tabIndex.toString());
2014
2017
  }
2015
2018
  }
@@ -2156,16 +2159,16 @@ class HorizontalViewListComponent {
2156
2159
  return Math.min(this.total - skip, this.views);
2157
2160
  }
2158
2161
  setAriaActivedescendant() {
2159
- if (this.views === 2) {
2162
+ if (this.views >= 2) {
2160
2163
  this.renderer.setAttribute(this.element.nativeElement, attributeNames.ariaActiveDescendant, this.activeDescendant);
2161
2164
  }
2162
2165
  }
2163
2166
  }
2164
2167
  HorizontalViewListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HorizontalViewListComponent, deps: [{ token: BusViewService }, { token: i1.IntlService }, { token: WeekNamesService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2165
- HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: { cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", activeRangeEnd: "activeRangeEnd", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectionRange: "selectionRange", selectedDates: "selectedDates", views: "views", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", orientation: "orientation", activeDescendant: "activeDescendant", tabIndex: "tabIndex", disabled: "disabled", id: "id", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", activeDateChange: "activeDateChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { listeners: { "focus": "handleMultiViewCalendarFocus()", "blur": "handleMultiViewCalendarBlur($event)" }, properties: { "class.k-calendar-view": "this.getComponentClass", "class.k-align-items-start": "this.getComponentClass", "class.k-justify-content-center": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: `
2168
+ HorizontalViewListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HorizontalViewListComponent, selector: "kendo-calendar-horizontal", inputs: { cellTemplateRef: "cellTemplateRef", weekNumberTemplateRef: "weekNumberTemplateRef", activeRangeEnd: "activeRangeEnd", activeView: "activeView", cellUID: "cellUID", focusedDate: "focusedDate", isActive: "isActive", min: "min", max: "max", selectionRange: "selectionRange", selectedDates: "selectedDates", views: "views", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", orientation: "orientation", activeDescendant: "activeDescendant", tabIndex: "tabIndex", disabled: "disabled", id: "id", weekNumber: "weekNumber" }, outputs: { cellClick: "cellClick", weekNumberCellClick: "weekNumberCellClick", cellEnter: "cellEnter", cellLeave: "cellLeave", activeDateChange: "activeDateChange", focusCalendar: "focusCalendar", blurCalendar: "blurCalendar", focusedCellChange: "focusedCellChange" }, host: { listeners: { "focus": "handleMultiViewCalendarFocus()", "blur": "handleMultiViewCalendarBlur($event)" }, properties: { "class.k-calendar-view": "this.getComponentClass", "class.k-align-items-start": "this.getComponentClass", "class.k-justify-content-center": "this.getComponentClass", "class.k-hstack": "this.horizontalHostClass", "class.k-vstack": "this.verticalHostClass", "class.k-calendar-monthview": "this.getComponentMonthClass", "class.k-calendar-yearview": "this.getComponentYearClass", "class.k-calendar-decadeview": "this.getComponentDecadeClass", "class.k-calendar-centuryview": "this.getComponentCenturyClass", "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, usesOnChanges: true, ngImport: i0, template: `
2166
2169
  <ng-template #tableTemplate let-date="date" let-class="className">
2167
2170
  <table
2168
- [attr.role]="views === 2 ? 'none' : 'grid'"
2171
+ [attr.role]="views >= 2 ? 'none' : 'grid'"
2169
2172
  class="k-content k-calendar-table"
2170
2173
  [ngClass]="class"
2171
2174
  [attr.aria-labelledby]="id"
@@ -2252,7 +2255,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2252
2255
  template: `
2253
2256
  <ng-template #tableTemplate let-date="date" let-class="className">
2254
2257
  <table
2255
- [attr.role]="views === 2 ? 'none' : 'grid'"
2258
+ [attr.role]="views >= 2 ? 'none' : 'grid'"
2256
2259
  class="k-content k-calendar-table"
2257
2260
  [ngClass]="class"
2258
2261
  [attr.aria-labelledby]="id"
@@ -2424,6 +2427,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2424
2427
  }], role: [{
2425
2428
  type: HostBinding,
2426
2429
  args: ['attr.role']
2430
+ }], tabindex: [{
2431
+ type: HostBinding,
2432
+ args: ['attr.tabindex']
2427
2433
  }] } });
2428
2434
 
2429
2435
  /**
@@ -3356,6 +3362,18 @@ class MultiViewCalendarComponent {
3356
3362
  * @hidden
3357
3363
  */
3358
3364
  this.focusCalendar = new EventEmitter();
3365
+ /**
3366
+ * @hidden
3367
+ */
3368
+ this.onClosePopup = new EventEmitter();
3369
+ /**
3370
+ * @hidden
3371
+ */
3372
+ this.onTabPress = new EventEmitter();
3373
+ /**
3374
+ * @hidden
3375
+ */
3376
+ this.onShiftTabPress = new EventEmitter();
3359
3377
  this.cellUID = guid();
3360
3378
  this.isHovered = false;
3361
3379
  this.isPrevDisabled = true;
@@ -3400,7 +3418,7 @@ class MultiViewCalendarComponent {
3400
3418
  * @hidden
3401
3419
  */
3402
3420
  get multiViewCalendarHeaderIdLabel() {
3403
- return this.views === 2 ? this.id + 'header-' : null;
3421
+ return this.views >= 2 ? this.id + 'header-' : null;
3404
3422
  }
3405
3423
  /**
3406
3424
  * @hidden
@@ -3578,7 +3596,7 @@ class MultiViewCalendarComponent {
3578
3596
  return CalendarViewEnum[this.topView];
3579
3597
  }
3580
3598
  get widgetId() {
3581
- return this.views === 2 ? this.id : null;
3599
+ return this.views >= 2 ? this.id : null;
3582
3600
  }
3583
3601
  get ariaDisabled() {
3584
3602
  return this.disabled;
@@ -3648,6 +3666,11 @@ class MultiViewCalendarComponent {
3648
3666
  const onArrowLeftAndControl = event.keyCode === Keys$1.ArrowLeft && ctrlKey;
3649
3667
  const onTKeyPress = event.keyCode === Keys$1.KeyT;
3650
3668
  const onEnterKeyPress = event.keyCode === Keys$1.Enter;
3669
+ const onArrowUpPress = event.keyCode === Keys$1.ArrowUp;
3670
+ const altKey = event.altKey;
3671
+ const escKey = event.keyCode === Keys$1.Escape;
3672
+ const tabKeyPress = event.keyCode === Keys$1.Tab;
3673
+ const shiftKeyPress = event.shiftKey;
3651
3674
  if (onArrowRightAndControl) {
3652
3675
  event.preventDefault();
3653
3676
  this.navigateView(this.nextView);
@@ -3670,6 +3693,17 @@ class MultiViewCalendarComponent {
3670
3693
  this.selectionService.lastClicked = this.focusedDate;
3671
3694
  this.performSelection(this.focusedDate, event);
3672
3695
  }
3696
+ if (this.views >= 2) {
3697
+ if ((escKey || (altKey && onArrowUpPress))) {
3698
+ this.onClosePopup.emit(event);
3699
+ }
3700
+ else if ((tabKeyPress && shiftKeyPress)) {
3701
+ this.onShiftTabPress.emit(event);
3702
+ }
3703
+ else if ((tabKeyPress && !shiftKeyPress)) {
3704
+ this.onTabPress.emit(event);
3705
+ }
3706
+ }
3673
3707
  const candidate = dateInRange(this.navigator.move(this.focusedDate, this.navigator.action(event), this.activeViewEnum), this.min, this.max);
3674
3708
  if (isEqual(this.focusedDate, candidate)) {
3675
3709
  return;
@@ -3745,7 +3779,7 @@ class MultiViewCalendarComponent {
3745
3779
  if (!this.element) {
3746
3780
  return;
3747
3781
  }
3748
- const activeElement = this.views === 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
3782
+ const activeElement = this.views >= 2 ? this.element.nativeElement.querySelector('.k-calendar-view') :
3749
3783
  this.element.nativeElement.querySelector('.k-content.k-calendar-table');
3750
3784
  activeElement.blur();
3751
3785
  }
@@ -3955,7 +3989,7 @@ class MultiViewCalendarComponent {
3955
3989
  }
3956
3990
  }
3957
3991
  MultiViewCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiViewCalendarComponent, deps: [{ token: BusViewService }, { token: i0.ElementRef }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: DisabledDatesService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Component });
3958
- MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
3992
+ MultiViewCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: { id: "id", focusedDate: "focusedDate", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesRangeValidation: "disabledDatesRangeValidation", selection: "selection", value: "value", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", isActive: "isActive", disabledDates: "disabledDates", activeView: "activeView", bottomView: "bottomView", topView: "topView", showViewHeader: "showViewHeader", animateNavigation: "animateNavigation", weekNumber: "weekNumber", activeRangeEnd: "activeRangeEnd", selectionRange: "selectionRange", views: "views", orientation: "orientation", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"] }, outputs: { activeViewChange: "activeViewChange", navigate: "navigate", cellEnter: "cellEnter", cellLeave: "cellLeave", valueChange: "valueChange", blurEvent: "blur", focusEvent: "focus", focusCalendar: "focusCalendar", onClosePopup: "onClosePopup", onTabPress: "onTabPress", onShiftTabPress: "onShiftTabPress" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()", "mousedown": "handleMousedown($event)", "click": "handleClick()", "keydown": "keydown($event)" }, properties: { "attr.id": "this.widgetId", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.ariaDisabled" } }, providers: [
3959
3993
  BusViewService,
3960
3994
  RANGE_CALENDAR_VALUE_ACCESSOR,
3961
3995
  RANGE_CALENDAR_RANGE_VALIDATORS,
@@ -4179,6 +4213,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4179
4213
  args: ['focus']
4180
4214
  }], focusCalendar: [{
4181
4215
  type: Output
4216
+ }], onClosePopup: [{
4217
+ type: Output
4218
+ }], onTabPress: [{
4219
+ type: Output
4220
+ }], onShiftTabPress: [{
4221
+ type: Output
4182
4222
  }], cellTemplate: [{
4183
4223
  type: ContentChild,
4184
4224
  args: [CellTemplateDirective, { static: false }]
@@ -6664,7 +6704,7 @@ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
6664
6704
  </kendo-multiviewcalendar-messages>
6665
6705
  </kendo-multiviewcalendar>
6666
6706
  </ng-container>
6667
- `, isInline: true, components: [{ type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }, { type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }], directives: [{ type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6707
+ `, isInline: true, components: [{ type: NavigationComponent, selector: "kendo-calendar-navigation", inputs: ["activeView", "min", "max", "focusedDate", "templateRef"], outputs: ["valueChange", "pageChange"] }, { type: ViewListComponent, selector: "kendo-calendar-viewlist", inputs: ["cellTemplateRef", "weekNumberTemplateRef", "headerTitleTemplateRef", "activeView", "cellUID", "focusedDate", "isActive", "min", "max", "selectedDates", "tabIndex", "disabled", "id", "weekNumber"], outputs: ["cellClick", "weekNumberCellClick", "activeDateChange", "todayButtonClick", "pageChange", "focusCalendar", "blurCalendar", "focusedCellChange"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: MultiViewCalendarCustomMessagesComponent, selector: "kendo-multiviewcalendar-messages" }], directives: [{ type: CalendarLocalizedMessagesDirective, selector: "[kendoCalendarLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6668
6708
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CalendarComponent, decorators: [{
6669
6709
  type: Component,
6670
6710
  args: [{
@@ -8470,7 +8510,7 @@ DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
8470
8510
  </kendo-icon-wrapper>
8471
8511
  </button>
8472
8512
  </span>
8473
- `, isInline: true, components: [{ type: i7$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8513
+ `, isInline: true, components: [{ type: i7$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: DateInputLocalizedMessagesDirective, selector: "[kendoDateInputLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8474
8514
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateInputComponent, decorators: [{
8475
8515
  type: Component,
8476
8516
  args: [{
@@ -9281,7 +9321,7 @@ class DatePickerComponent {
9281
9321
  * Used by the TextBoxContainer to determine if the component is empty.
9282
9322
  */
9283
9323
  isEmpty() {
9284
- return !this.value && this.input.isEmpty();
9324
+ return !this.value && this.dateInput.isEmpty();
9285
9325
  }
9286
9326
  /**
9287
9327
  * @hidden
@@ -9306,6 +9346,7 @@ class DatePickerComponent {
9306
9346
  * @hidden
9307
9347
  */
9308
9348
  ngOnChanges(changes) {
9349
+ var _a;
9309
9350
  this.verifySettings();
9310
9351
  if (changes.min || changes.max || changes.rangeValidation || changes.disabledDatesValidation || changes.disabledDates || changes.incompleteDateValidation) {
9311
9352
  this.minValidateFn = this.rangeValidation ? minValidator(this.min) : noop$2;
@@ -9314,6 +9355,9 @@ class DatePickerComponent {
9314
9355
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop$2;
9315
9356
  this.onValidatorChange();
9316
9357
  }
9358
+ if (!this.focusableId || changes.focusableId) {
9359
+ this.focusableId = (_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.focusableId;
9360
+ }
9317
9361
  }
9318
9362
  /**
9319
9363
  * @hidden
@@ -9343,9 +9387,9 @@ class DatePickerComponent {
9343
9387
  this.verifyValue(value);
9344
9388
  this.value = cloneDate(value);
9345
9389
  this.cdr.markForCheck();
9346
- if (!value && this.input) {
9347
- this.input.placeholder = this.placeholder;
9348
- this.input.writeValue(value);
9390
+ if (!value && this.dateInput) {
9391
+ this.dateInput.placeholder = this.placeholder;
9392
+ this.dateInput.writeValue(value);
9349
9393
  }
9350
9394
  }
9351
9395
  /**
@@ -9371,7 +9415,7 @@ class DatePickerComponent {
9371
9415
  * @hidden
9372
9416
  */
9373
9417
  validate(control) {
9374
- return this.minValidateFn(control) || this.maxValidateFn(control) || this.disabledDatesValidateFn(control) || this.incompleteValidator(control, this.input && this.input.isDateIncomplete);
9418
+ return this.minValidateFn(control) || this.maxValidateFn(control) || this.disabledDatesValidateFn(control) || this.incompleteValidator(control, this.dateInput && this.dateInput.isDateIncomplete);
9375
9419
  }
9376
9420
  /**
9377
9421
  * @hidden
@@ -9408,13 +9452,13 @@ class DatePickerComponent {
9408
9452
  * ```
9409
9453
  */
9410
9454
  focus() {
9411
- this.input.focus();
9455
+ this.dateInput.focus();
9412
9456
  }
9413
9457
  /**
9414
9458
  * Blurs the DatePicker component.
9415
9459
  */
9416
9460
  blur() {
9417
- (this.calendar || this.input)['blur']();
9461
+ (this.calendar || this.dateInput)['blur']();
9418
9462
  }
9419
9463
  /**
9420
9464
  * Toggles the visibility of the popup or actionSheet.
@@ -9476,7 +9520,7 @@ class DatePickerComponent {
9476
9520
  * @hidden
9477
9521
  */
9478
9522
  handleInputChange(value) {
9479
- this.handleChange(this.input.formatSections['time'] ? value : this.mergeTime(value));
9523
+ this.handleChange(this.dateInput.formatSections['time'] ? value : this.mergeTime(value));
9480
9524
  }
9481
9525
  /**
9482
9526
  * @hidden
@@ -9498,7 +9542,7 @@ class DatePickerComponent {
9498
9542
  }
9499
9543
  return appendTo === 'component' ? this.container : appendTo;
9500
9544
  }
9501
- get input() {
9545
+ get dateInput() {
9502
9546
  return this.pickerService.input;
9503
9547
  }
9504
9548
  get calendar() {
@@ -9555,7 +9599,7 @@ class DatePickerComponent {
9555
9599
  }
9556
9600
  }
9557
9601
  if (keyCode === Keys$1.Tab && this.show && this.calendar.isActive && isTabExitingCalendar(this.calendarType, target, shiftKey)) {
9558
- this.input.focus();
9602
+ this.dateInput.focus();
9559
9603
  this.show = false;
9560
9604
  }
9561
9605
  }
@@ -9570,6 +9614,7 @@ class DatePickerComponent {
9570
9614
  this.toggleFocus();
9571
9615
  }
9572
9616
  togglePopup(show) {
9617
+ var _a, _b, _c;
9573
9618
  if (show === this._show) {
9574
9619
  return;
9575
9620
  }
@@ -9588,7 +9633,7 @@ class DatePickerComponent {
9588
9633
  });
9589
9634
  this.setAriaActiveDescendant();
9590
9635
  this.popupRef.popupElement.setAttribute('id', this.popupUID);
9591
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
9636
+ this.renderer.setAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaControls, this.popupUID);
9592
9637
  this.subscription = this.popupRef.popupAnchorViewportLeave.subscribe(() => this.show = false);
9593
9638
  }
9594
9639
  else {
@@ -9596,12 +9641,13 @@ class DatePickerComponent {
9596
9641
  this.popupRef = null;
9597
9642
  this.subscription.unsubscribe();
9598
9643
  this.ariaActiveDescendantSubscription.unsubscribe();
9599
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
9600
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
9644
+ this.renderer.removeAttribute((_b = this.dateInput) === null || _b === void 0 ? void 0 : _b.inputElement, attributeNames.ariaControls);
9645
+ this.renderer.removeAttribute((_c = this.dateInput) === null || _c === void 0 ? void 0 : _c.inputElement, attributeNames.ariaActiveDescendant);
9601
9646
  this.cdr.detectChanges();
9602
9647
  }
9603
9648
  }
9604
9649
  toggleActionSheet(show) {
9650
+ var _a, _b, _c;
9605
9651
  if (show === this._show) {
9606
9652
  return;
9607
9653
  }
@@ -9610,13 +9656,13 @@ class DatePickerComponent {
9610
9656
  this.updateActionSheetAdaptiveAppearance();
9611
9657
  this.setAriaActiveDescendant();
9612
9658
  this.actionSheet.element.nativeElement.setAttribute('id', this.popupUID);
9613
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
9659
+ this.renderer.setAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaControls, this.popupUID);
9614
9660
  }
9615
9661
  else if (!show && this.isOpen) {
9616
9662
  this.actionSheet.toggle();
9617
9663
  this.ariaActiveDescendantSubscription.unsubscribe();
9618
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
9619
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
9664
+ this.renderer.removeAttribute((_b = this.dateInput) === null || _b === void 0 ? void 0 : _b.inputElement, attributeNames.ariaActiveDescendant);
9665
+ this.renderer.removeAttribute((_c = this.dateInput) === null || _c === void 0 ? void 0 : _c.inputElement, attributeNames.ariaControls);
9620
9666
  }
9621
9667
  this._show = show;
9622
9668
  }
@@ -9643,13 +9689,13 @@ class DatePickerComponent {
9643
9689
  const focusedCellChangeEvent = this.calendar.type === 'infinite' ?
9644
9690
  this.calendar.monthView.focusedCellChange :
9645
9691
  this.calendar.multiViewCalendar.viewList.focusedCellChange;
9646
- this.ariaActiveDescendantSubscription = focusedCellChangeEvent.subscribe((id) => this.renderer.setAttribute(this.inputElement, attributeNames.ariaActiveDescendant, id));
9692
+ this.ariaActiveDescendantSubscription = focusedCellChangeEvent.subscribe((id) => { var _a; return this.renderer.setAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaActiveDescendant, id); });
9647
9693
  }
9648
9694
  focusInput() {
9649
9695
  if (this.touchEnabled) {
9650
9696
  return;
9651
9697
  }
9652
- this.input.focus();
9698
+ this.dateInput.focus();
9653
9699
  }
9654
9700
  toggleFocus() {
9655
9701
  if (!this.isActive) {
@@ -9664,9 +9710,9 @@ class DatePickerComponent {
9664
9710
  }
9665
9711
  }
9666
9712
  else if (!this.touchEnabled) {
9667
- this.input.focus();
9713
+ this.dateInput.focus();
9668
9714
  }
9669
- else if (!this.input.isActive) {
9715
+ else if (!this.dateInput.isActive) {
9670
9716
  this.handleBlur();
9671
9717
  }
9672
9718
  }
@@ -9714,7 +9760,7 @@ class DatePickerComponent {
9714
9760
  const currentTarget = args && currentFocusTarget(args);
9715
9761
  const target = args && args.target;
9716
9762
  const isInsideActionSheet = this.actionSheet && (this.actionSheet.element.nativeElement.contains(target) || this.actionSheet.element.nativeElement.contains(currentTarget));
9717
- if (currentTarget && (this.input.containsElement(currentTarget) ||
9763
+ if (currentTarget && (this.dateInput.containsElement(currentTarget) ||
9718
9764
  (this.calendar && this.calendar.containsElement(currentTarget)) || isInsideActionSheet)) {
9719
9765
  return;
9720
9766
  }
@@ -9849,6 +9895,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
9849
9895
  }"
9850
9896
  [scope]="this"
9851
9897
  (collapse)="handleActionSheetCollapse()"
9898
+ [titleId]="calendar?.headerId"
9852
9899
  >
9853
9900
  <ng-template kendoActionSheetTemplate>
9854
9901
  <div class="k-actionsheet-titlebar">
@@ -9917,7 +9964,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
9917
9964
  </kendo-calendar-messages>
9918
9965
  </kendo-calendar>
9919
9966
  </ng-template>
9920
- `, 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: i7$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { 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", "size"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9967
+ `, 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: i7$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { 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", "size"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9921
9968
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DatePickerComponent, decorators: [{
9922
9969
  type: Component,
9923
9970
  args: [{
@@ -10013,6 +10060,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10013
10060
  }"
10014
10061
  [scope]="this"
10015
10062
  (collapse)="handleActionSheetCollapse()"
10063
+ [titleId]="calendar?.headerId"
10016
10064
  >
10017
10065
  <ng-template kendoActionSheetTemplate>
10018
10066
  <div class="k-actionsheet-titlebar">
@@ -11828,22 +11876,7 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
11828
11876
  </div>
11829
11877
  </ng-template>
11830
11878
  </div>
11831
- <div class="k-time-footer k-action-buttons k-actions k-actions-stretched" *ngIf="setButton || cancelButton">
11832
- <button
11833
- #cancel
11834
- *ngIf="cancelButton"
11835
- class="k-button k-time-cancel k-button-md k-rounded-md k-button-solid k-button-solid-base"
11836
- type="button"
11837
- [attr.title]="localization.get('cancelLabel')"
11838
- [attr.aria-label]="localization.get('cancelLabel')"
11839
- [kendoEventsOutsideAngular]="{
11840
- click: handleReject,
11841
- focus: handleFocus,
11842
- blur: handleBlur
11843
- }"
11844
- [scope]="this"
11845
- [disabled]="disabled"
11846
- >{{localization.get('cancel')}}</button>
11879
+ <div class="k-time-footer k-actions k-actions-stretched k-actions-horizontal" *ngIf="setButton || cancelButton">
11847
11880
  <button
11848
11881
  #accept
11849
11882
  *ngIf="setButton"
@@ -11860,6 +11893,21 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
11860
11893
  [scope]="this"
11861
11894
  [disabled]="disabled"
11862
11895
  >{{localization.get('accept')}}</button>
11896
+ <button
11897
+ #cancel
11898
+ *ngIf="cancelButton"
11899
+ class="k-button k-time-cancel k-button-md k-rounded-md k-button-solid k-button-solid-base"
11900
+ type="button"
11901
+ [attr.title]="localization.get('cancelLabel')"
11902
+ [attr.aria-label]="localization.get('cancelLabel')"
11903
+ [kendoEventsOutsideAngular]="{
11904
+ click: handleReject,
11905
+ focus: handleFocus,
11906
+ blur: handleBlur
11907
+ }"
11908
+ [scope]="this"
11909
+ [disabled]="disabled"
11910
+ >{{localization.get('cancel')}}</button>
11863
11911
  </div>
11864
11912
  `, isInline: true, components: [{ type: TimeListComponent, selector: "kendo-timelist", inputs: ["min", "max", "part", "step", "disabled", "value", "isLast"], outputs: ["valueChange", "tabOutLastPart"] }], directives: [{ type: TimeSelectorLocalizedMessagesDirective, selector: "[kendoTimeSelectorLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11865
11913
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeSelectorComponent, decorators: [{
@@ -11948,22 +11996,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11948
11996
  </div>
11949
11997
  </ng-template>
11950
11998
  </div>
11951
- <div class="k-time-footer k-action-buttons k-actions k-actions-stretched" *ngIf="setButton || cancelButton">
11952
- <button
11953
- #cancel
11954
- *ngIf="cancelButton"
11955
- class="k-button k-time-cancel k-button-md k-rounded-md k-button-solid k-button-solid-base"
11956
- type="button"
11957
- [attr.title]="localization.get('cancelLabel')"
11958
- [attr.aria-label]="localization.get('cancelLabel')"
11959
- [kendoEventsOutsideAngular]="{
11960
- click: handleReject,
11961
- focus: handleFocus,
11962
- blur: handleBlur
11963
- }"
11964
- [scope]="this"
11965
- [disabled]="disabled"
11966
- >{{localization.get('cancel')}}</button>
11999
+ <div class="k-time-footer k-actions k-actions-stretched k-actions-horizontal" *ngIf="setButton || cancelButton">
11967
12000
  <button
11968
12001
  #accept
11969
12002
  *ngIf="setButton"
@@ -11980,6 +12013,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11980
12013
  [scope]="this"
11981
12014
  [disabled]="disabled"
11982
12015
  >{{localization.get('accept')}}</button>
12016
+ <button
12017
+ #cancel
12018
+ *ngIf="cancelButton"
12019
+ class="k-button k-time-cancel k-button-md k-rounded-md k-button-solid k-button-solid-base"
12020
+ type="button"
12021
+ [attr.title]="localization.get('cancelLabel')"
12022
+ [attr.aria-label]="localization.get('cancelLabel')"
12023
+ [kendoEventsOutsideAngular]="{
12024
+ click: handleReject,
12025
+ focus: handleFocus,
12026
+ blur: handleBlur
12027
+ }"
12028
+ [scope]="this"
12029
+ [disabled]="disabled"
12030
+ >{{localization.get('cancel')}}</button>
11983
12031
  </div>
11984
12032
  `
11985
12033
  }]
@@ -12503,7 +12551,7 @@ class TimePickerComponent {
12503
12551
  this.toggleTimeSelector(show);
12504
12552
  }
12505
12553
  }
12506
- get input() {
12554
+ get dateInput() {
12507
12555
  return this.pickerService.input;
12508
12556
  }
12509
12557
  get timeSelector() {
@@ -12517,7 +12565,7 @@ class TimePickerComponent {
12517
12565
  * Used by the TextBoxContainer to determine if the component is empty
12518
12566
  */
12519
12567
  isEmpty() {
12520
- return !this.value && this.input.isEmpty();
12568
+ return !this.value && this.dateInput.isEmpty();
12521
12569
  }
12522
12570
  /**
12523
12571
  * @hidden
@@ -12544,6 +12592,7 @@ class TimePickerComponent {
12544
12592
  * @hidden
12545
12593
  */
12546
12594
  ngOnChanges(changes) {
12595
+ var _a;
12547
12596
  if (changes.min || changes.max || changes.rangeValidation || changes.incompleteDateValidation) {
12548
12597
  this.timeRangeValidateFn = this.rangeValidation ? timeRangeValidator(this.min, this.max) : noop$2;
12549
12598
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop$2;
@@ -12552,6 +12601,9 @@ class TimePickerComponent {
12552
12601
  if (changes.format) {
12553
12602
  this.verifyFormat();
12554
12603
  }
12604
+ if (!this.focusableId || changes.focusableId) {
12605
+ this.focusableId = (_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.focusableId;
12606
+ }
12555
12607
  }
12556
12608
  /**
12557
12609
  * @hidden
@@ -12597,9 +12649,9 @@ class TimePickerComponent {
12597
12649
  this.verifyValue(value);
12598
12650
  this.value = cloneDate(value);
12599
12651
  this.cdr.markForCheck();
12600
- if (!value && this.input) {
12601
- this.input.placeholder = this.placeholder;
12602
- this.input.writeValue(value);
12652
+ if (!value && this.dateInput) {
12653
+ this.dateInput.placeholder = this.placeholder;
12654
+ this.dateInput.writeValue(value);
12603
12655
  }
12604
12656
  }
12605
12657
  /**
@@ -12625,7 +12677,7 @@ class TimePickerComponent {
12625
12677
  * @hidden
12626
12678
  */
12627
12679
  validate(control) {
12628
- return this.timeRangeValidateFn(control) || this.incompleteValidator(control, this.input && this.input.isDateIncomplete);
12680
+ return this.timeRangeValidateFn(control) || this.incompleteValidator(control, this.dateInput && this.dateInput.isDateIncomplete);
12629
12681
  }
12630
12682
  /**
12631
12683
  * @hidden
@@ -12649,13 +12701,13 @@ class TimePickerComponent {
12649
12701
  * ```
12650
12702
  */
12651
12703
  focus() {
12652
- this.input.focus();
12704
+ this.dateInput.focus();
12653
12705
  }
12654
12706
  /**
12655
12707
  * Blurs the TimePicker component.
12656
12708
  */
12657
12709
  blur() {
12658
- (this.timeSelector || this.input)['blur']();
12710
+ (this.timeSelector || this.dateInput)['blur']();
12659
12711
  }
12660
12712
  /**
12661
12713
  * Toggles the visibility of the popup or actionSheet.
@@ -12728,7 +12780,7 @@ class TimePickerComponent {
12728
12780
  * @hidden
12729
12781
  */
12730
12782
  handleInputChange(value) {
12731
- const val = this.input.formatSections['date'] ? value : this.mergeTime(value);
12783
+ const val = this.dateInput.formatSections['date'] ? value : this.mergeTime(value);
12732
12784
  this.handleChange(val);
12733
12785
  }
12734
12786
  /**
@@ -12832,6 +12884,7 @@ class TimePickerComponent {
12832
12884
  this.toggleFocus();
12833
12885
  }
12834
12886
  toggleActionSheet(show) {
12887
+ var _a, _b;
12835
12888
  if (show === this._show) {
12836
12889
  return;
12837
12890
  }
@@ -12839,17 +12892,18 @@ class TimePickerComponent {
12839
12892
  this.actionSheet.toggle();
12840
12893
  this.updateActionSheetAdaptiveAppearance();
12841
12894
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
12842
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
12895
+ this.renderer.setAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaControls, this.popupUID);
12843
12896
  }
12844
12897
  else if (!show && this.isOpen) {
12845
12898
  // Need to disable the pointer events to avoid triggering focus on the timelist when acionsheet close down animation starts
12846
12899
  this.renderer.setStyle(this.timeSelector.element.nativeElement, 'pointer-events', 'none');
12847
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
12900
+ this.renderer.removeAttribute((_b = this.dateInput) === null || _b === void 0 ? void 0 : _b.inputElement, attributeNames.ariaControls);
12848
12901
  this.actionSheet.toggle();
12849
12902
  }
12850
12903
  this._show = show;
12851
12904
  }
12852
12905
  togglePopup(show) {
12906
+ var _a, _b;
12853
12907
  if (show === this.isOpen) {
12854
12908
  return;
12855
12909
  }
@@ -12868,13 +12922,13 @@ class TimePickerComponent {
12868
12922
  positionMode: 'absolute'
12869
12923
  });
12870
12924
  this.popupRef.popupElement.setAttribute('id', this.popupUID);
12871
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
12925
+ this.renderer.setAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaControls, this.popupUID);
12872
12926
  this.popupRef.popupAnchorViewportLeave.subscribe(() => this.show = false);
12873
12927
  }
12874
12928
  else {
12875
12929
  this.popupRef.close();
12876
12930
  this.popupRef = null;
12877
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
12931
+ this.renderer.removeAttribute((_b = this.dateInput) === null || _b === void 0 ? void 0 : _b.inputElement, attributeNames.ariaControls);
12878
12932
  }
12879
12933
  }
12880
12934
  updateActionSheetAdaptiveAppearance() {
@@ -12900,7 +12954,7 @@ class TimePickerComponent {
12900
12954
  if (this.touchEnabled) {
12901
12955
  return;
12902
12956
  }
12903
- this.input.focus();
12957
+ this.dateInput.focus();
12904
12958
  }
12905
12959
  toggleFocus() {
12906
12960
  if (!this.isActive) {
@@ -12915,9 +12969,9 @@ class TimePickerComponent {
12915
12969
  }
12916
12970
  }
12917
12971
  else if (!this.touchEnabled) {
12918
- this.input.focus();
12972
+ this.dateInput.focus();
12919
12973
  }
12920
- else if (!this.input.isActive) {
12974
+ else if (!this.dateInput.isActive) {
12921
12975
  this.handleBlur();
12922
12976
  }
12923
12977
  }
@@ -12966,7 +13020,7 @@ class TimePickerComponent {
12966
13020
  const currentTarget = args && currentFocusTarget(args); // relatedTarget || activeElement
12967
13021
  const target = args && args.target;
12968
13022
  const isInsideActionSheet = this.actionSheet && (this.actionSheet.element.nativeElement.contains(target) || this.actionSheet.element.nativeElement.contains(currentTarget));
12969
- if (currentTarget && (this.input.containsElement(currentTarget) ||
13023
+ if (currentTarget && (this.dateInput.containsElement(currentTarget) ||
12970
13024
  (this.timeSelector && this.timeSelector.containsElement(currentTarget)) || isInsideActionSheet)) {
12971
13025
  return;
12972
13026
  }
@@ -13113,6 +13167,7 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
13113
13167
  #actionSheet
13114
13168
  (overlayClick)="show=false"
13115
13169
  (collapse)="handleActionSheetCollapse()"
13170
+ [titleId]="focusableId"
13116
13171
  >
13117
13172
  <ng-template kendoActionSheetTemplate>
13118
13173
  <div class="k-actionsheet-titlebar">
@@ -13201,7 +13256,7 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
13201
13256
  </kendo-timeselector-messages>
13202
13257
  </kendo-timeselector>
13203
13258
  </ng-template>
13204
- `, 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: i7$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13259
+ `, 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: i7$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13205
13260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimePickerComponent, decorators: [{
13206
13261
  type: Component,
13207
13262
  args: [{
@@ -13315,6 +13370,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13315
13370
  #actionSheet
13316
13371
  (overlayClick)="show=false"
13317
13372
  (collapse)="handleActionSheetCollapse()"
13373
+ [titleId]="focusableId"
13318
13374
  >
13319
13375
  <ng-template kendoActionSheetTemplate>
13320
13376
  <div class="k-actionsheet-titlebar">
@@ -13791,15 +13847,9 @@ class DateTimePickerComponent {
13791
13847
  /**
13792
13848
  * @hidden
13793
13849
  */
13794
- get input() {
13850
+ get dateInput() {
13795
13851
  return this.pickerService.input;
13796
13852
  }
13797
- /**
13798
- * @hidden
13799
- */
13800
- get inputElement() {
13801
- return this.wrapper.nativeElement.querySelector('input');
13802
- }
13803
13853
  /**
13804
13854
  * @hidden
13805
13855
  */
@@ -14147,6 +14197,7 @@ class DateTimePickerComponent {
14147
14197
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
14148
14198
  }
14149
14199
  ngOnChanges(changes) {
14200
+ var _a;
14150
14201
  if (isPresent(changes['min']) || isPresent(changes['max'])) {
14151
14202
  this.verifyMinMaxRange();
14152
14203
  }
@@ -14157,6 +14208,9 @@ class DateTimePickerComponent {
14157
14208
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop$2;
14158
14209
  this.onValidatorChange();
14159
14210
  }
14211
+ if (!this.focusableId || changes['focusableId']) {
14212
+ this.focusableId = (_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.focusableId;
14213
+ }
14160
14214
  }
14161
14215
  ngOnDestroy() {
14162
14216
  if (this.isOpen) {
@@ -14176,7 +14230,7 @@ class DateTimePickerComponent {
14176
14230
  this.activeTabComponent.focus();
14177
14231
  }
14178
14232
  else {
14179
- this.input.focus();
14233
+ this.dateInput.focus();
14180
14234
  }
14181
14235
  }
14182
14236
  /**
@@ -14187,7 +14241,7 @@ class DateTimePickerComponent {
14187
14241
  this.activeTabComponent.blur();
14188
14242
  }
14189
14243
  else {
14190
- this.input.blur();
14244
+ this.dateInput.blur();
14191
14245
  }
14192
14246
  }
14193
14247
  /**
@@ -14239,7 +14293,7 @@ class DateTimePickerComponent {
14239
14293
  * @hidden
14240
14294
  */
14241
14295
  validate(control) {
14242
- return this.minValidateFn(control) || this.maxValidateFn(control) || this.disabledDatesValidateFn(control) || this.incompleteValidator(control, this.input && this.input.isDateIncomplete);
14296
+ return this.minValidateFn(control) || this.maxValidateFn(control) || this.disabledDatesValidateFn(control) || this.incompleteValidator(control, this.dateInput && this.dateInput.isDateIncomplete);
14243
14297
  }
14244
14298
  /**
14245
14299
  * @hidden
@@ -14253,7 +14307,7 @@ class DateTimePickerComponent {
14253
14307
  * Used by the TextBoxContainer to determine if the floating label will render in the input.
14254
14308
  */
14255
14309
  isEmpty() {
14256
- return !isPresent(this.value) && this.input.isEmpty();
14310
+ return !isPresent(this.value) && this.dateInput.isEmpty();
14257
14311
  }
14258
14312
  /**
14259
14313
  * @hidden
@@ -14321,12 +14375,13 @@ class DateTimePickerComponent {
14321
14375
  * @hidden
14322
14376
  */
14323
14377
  handleTabChangeTransitionEnd(dateTimeSelector, event) {
14378
+ var _a;
14324
14379
  // handle only the .k-datetime-selector element transition, ignore any child element transitions
14325
14380
  if (event.target !== dateTimeSelector) {
14326
14381
  return;
14327
14382
  }
14328
14383
  if (this.activeTab === 'time') {
14329
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
14384
+ this.renderer.removeAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaActiveDescendant);
14330
14385
  }
14331
14386
  this.activeTabComponent.focus();
14332
14387
  }
@@ -14471,7 +14526,6 @@ class DateTimePickerComponent {
14471
14526
  this.cdr.markForCheck();
14472
14527
  // Reset tabs after actionsheet is collapsed, otherwise the tab change can be seen during the animation
14473
14528
  this.resetActiveTab();
14474
- this.input.focus();
14475
14529
  }
14476
14530
  /**
14477
14531
  * @hidden
@@ -14499,18 +14553,19 @@ class DateTimePickerComponent {
14499
14553
  this.resetActiveTab();
14500
14554
  }
14501
14555
  toggleActionSheet(show) {
14556
+ var _a, _b, _c;
14502
14557
  if (isPresent(show) && show && !this.isOpen) {
14503
14558
  this.actionSheet.toggle();
14504
14559
  this.updateActionSheetAdaptiveAppearance();
14505
14560
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
14506
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
14561
+ this.renderer.setAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaControls, this.popupUID);
14507
14562
  this.setAriaActiveDescendant();
14508
14563
  }
14509
14564
  else if (isPresent(show) && !show && this.isOpen) {
14510
14565
  this.actionSheet.toggle();
14511
14566
  this.ariaActiveDescendantSubscription.unsubscribe();
14512
- this.renderer.removeAttribute(this.input.inputElement, attributeNames.ariaActiveDescendant);
14513
- this.renderer.removeAttribute(this.input.inputElement, attributeNames.ariaControls);
14567
+ this.renderer.removeAttribute((_b = this.dateInput) === null || _b === void 0 ? void 0 : _b.inputElement, attributeNames.ariaActiveDescendant);
14568
+ this.renderer.removeAttribute((_c = this.dateInput) === null || _c === void 0 ? void 0 : _c.inputElement, attributeNames.ariaControls);
14514
14569
  }
14515
14570
  }
14516
14571
  updateActionSheetAdaptiveAppearance() {
@@ -14625,13 +14680,14 @@ class DateTimePickerComponent {
14625
14680
  this.activeTabComponent.focus();
14626
14681
  }
14627
14682
  else if (!this.touchEnabled) {
14628
- this.input.focus();
14683
+ this.dateInput.focus();
14629
14684
  }
14630
- else if (!this.input.isActive) {
14685
+ else if (!this.dateInput.isActive) {
14631
14686
  this.handleBlur();
14632
14687
  }
14633
14688
  }
14634
14689
  openPopup() {
14690
+ var _a;
14635
14691
  this.setCalendarValue(this.value);
14636
14692
  this.setTimeSelectorMinMax(this.value);
14637
14693
  const direction = this.localization.rtl ? 'right' : 'left';
@@ -14646,7 +14702,7 @@ class DateTimePickerComponent {
14646
14702
  popupAlign: { vertical: 'top', horizontal: direction }
14647
14703
  });
14648
14704
  this.popupRef.popupElement.setAttribute('id', this.popupUID);
14649
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
14705
+ this.renderer.setAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaControls, this.popupUID);
14650
14706
  this.setAriaActiveDescendant();
14651
14707
  this.popupRef.popupAnchorViewportLeave.subscribe(() => this.handleCancel());
14652
14708
  if (this.calendar.type === 'infinite') {
@@ -14663,15 +14719,16 @@ class DateTimePickerComponent {
14663
14719
  const focusedCellChangeEvent = this.calendar.type === 'infinite' ?
14664
14720
  this.calendar.monthView.focusedCellChange :
14665
14721
  this.calendar.multiViewCalendar.viewList.focusedCellChange;
14666
- this.ariaActiveDescendantSubscription = focusedCellChangeEvent.subscribe((id) => this.renderer.setAttribute(this.input.inputElement, attributeNames.ariaActiveDescendant, id));
14722
+ this.ariaActiveDescendantSubscription = focusedCellChangeEvent.subscribe((id) => { var _a; return this.renderer.setAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaActiveDescendant, id); });
14667
14723
  }
14668
14724
  closePopup() {
14725
+ var _a, _b;
14669
14726
  if (!this.isOpen) {
14670
14727
  return;
14671
14728
  }
14672
14729
  this.ariaActiveDescendantSubscription.unsubscribe();
14673
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
14674
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
14730
+ this.renderer.removeAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaControls);
14731
+ this.renderer.removeAttribute((_b = this.dateInput) === null || _b === void 0 ? void 0 : _b.inputElement, attributeNames.ariaActiveDescendant);
14675
14732
  this.popupRef.close();
14676
14733
  this.popupRef = null;
14677
14734
  }
@@ -14891,6 +14948,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
14891
14948
  #actionSheet
14892
14949
  (overlayClick)="toggleDateTime(false)"
14893
14950
  (collapse)="handleActionSheetCollapse()"
14951
+ [titleId]="calendar?.headerId"
14894
14952
  >
14895
14953
  <ng-template kendoActionSheetTemplate>
14896
14954
  <div class="k-actionsheet-titlebar">
@@ -15000,6 +15058,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
15000
15058
  >
15001
15059
  <div class="k-datetime-calendar-wrap">
15002
15060
  <kendo-calendar
15061
+ #calendar
15003
15062
  [ngClass]="{'k-calendar-lg': isAdaptive}"
15004
15063
  [focusedDate]="focusedDate"
15005
15064
  [(value)]="calendarValue"
@@ -15062,7 +15121,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
15062
15121
  </div>
15063
15122
  <div
15064
15123
  *ngIf="!isAdaptive"
15065
- class="k-datetime-footer k-action-buttons k-actions k-hstack k-justify-content-stretch"
15124
+ class="k-datetime-footer k-actions k-actions-stretched k-actions-horizontal"
15066
15125
  [kendoEventsOutsideAngular]="{
15067
15126
  focusin: handleFocus,
15068
15127
  focusout: handleBlur
@@ -15070,39 +15129,39 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
15070
15129
  [scope]="this"
15071
15130
  >
15072
15131
  <button
15073
- *ngIf="cancelButton"
15074
15132
  type="button"
15075
- class="k-button k-time-cancel"
15076
- [ngClass]="popupButtonsClasses()"
15077
- [attr.title]="localization.get('cancelLabel')"
15078
- [attr.aria-label]="localization.get('cancelLabel')"
15133
+ class="k-button k-time-accept"
15134
+ [ngClass]="popupButtonsClasses('primary')"
15135
+ [attr.title]="localization.get('acceptLabel')"
15136
+ [attr.aria-label]="localization.get('acceptLabel')"
15137
+ [disabled]="!calendarValue"
15079
15138
  [kendoEventsOutsideAngular]="{
15080
- click: handleCancel,
15139
+ click: handleAccept,
15081
15140
  'keydown.tab': handleTab
15082
15141
  }"
15083
15142
  [scope]="this"
15084
15143
  >
15085
- {{localization.get('cancel')}}
15144
+ {{localization.get('accept')}}
15086
15145
  </button>
15087
15146
  <button
15147
+ *ngIf="cancelButton"
15088
15148
  type="button"
15089
- class="k-button k-time-accept"
15090
- [ngClass]="popupButtonsClasses('primary')"
15091
- [attr.title]="localization.get('acceptLabel')"
15092
- [attr.aria-label]="localization.get('acceptLabel')"
15093
- [disabled]="!calendarValue"
15149
+ class="k-button k-time-cancel"
15150
+ [ngClass]="popupButtonsClasses()"
15151
+ [attr.title]="localization.get('cancelLabel')"
15152
+ [attr.aria-label]="localization.get('cancelLabel')"
15094
15153
  [kendoEventsOutsideAngular]="{
15095
- click: handleAccept,
15154
+ click: handleCancel,
15096
15155
  'keydown.tab': handleTab
15097
15156
  }"
15098
15157
  [scope]="this"
15099
15158
  >
15100
- {{localization.get('accept')}}
15159
+ {{localization.get('cancel')}}
15101
15160
  </button>
15102
15161
  </div>
15103
15162
  </div>
15104
15163
  </ng-template>
15105
- `, 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: i7$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { 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", "size"], 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", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15164
+ `, 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: i7$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { 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", "size"], 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", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15106
15165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateTimePickerComponent, decorators: [{
15107
15166
  type: Component,
15108
15167
  args: [{
@@ -15253,6 +15312,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15253
15312
  #actionSheet
15254
15313
  (overlayClick)="toggleDateTime(false)"
15255
15314
  (collapse)="handleActionSheetCollapse()"
15315
+ [titleId]="calendar?.headerId"
15256
15316
  >
15257
15317
  <ng-template kendoActionSheetTemplate>
15258
15318
  <div class="k-actionsheet-titlebar">
@@ -15362,6 +15422,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15362
15422
  >
15363
15423
  <div class="k-datetime-calendar-wrap">
15364
15424
  <kendo-calendar
15425
+ #calendar
15365
15426
  [ngClass]="{'k-calendar-lg': isAdaptive}"
15366
15427
  [focusedDate]="focusedDate"
15367
15428
  [(value)]="calendarValue"
@@ -15424,7 +15485,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15424
15485
  </div>
15425
15486
  <div
15426
15487
  *ngIf="!isAdaptive"
15427
- class="k-datetime-footer k-action-buttons k-actions k-hstack k-justify-content-stretch"
15488
+ class="k-datetime-footer k-actions k-actions-stretched k-actions-horizontal"
15428
15489
  [kendoEventsOutsideAngular]="{
15429
15490
  focusin: handleFocus,
15430
15491
  focusout: handleBlur
@@ -15432,34 +15493,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15432
15493
  [scope]="this"
15433
15494
  >
15434
15495
  <button
15435
- *ngIf="cancelButton"
15436
15496
  type="button"
15437
- class="k-button k-time-cancel"
15438
- [ngClass]="popupButtonsClasses()"
15439
- [attr.title]="localization.get('cancelLabel')"
15440
- [attr.aria-label]="localization.get('cancelLabel')"
15497
+ class="k-button k-time-accept"
15498
+ [ngClass]="popupButtonsClasses('primary')"
15499
+ [attr.title]="localization.get('acceptLabel')"
15500
+ [attr.aria-label]="localization.get('acceptLabel')"
15501
+ [disabled]="!calendarValue"
15441
15502
  [kendoEventsOutsideAngular]="{
15442
- click: handleCancel,
15503
+ click: handleAccept,
15443
15504
  'keydown.tab': handleTab
15444
15505
  }"
15445
15506
  [scope]="this"
15446
15507
  >
15447
- {{localization.get('cancel')}}
15508
+ {{localization.get('accept')}}
15448
15509
  </button>
15449
15510
  <button
15511
+ *ngIf="cancelButton"
15450
15512
  type="button"
15451
- class="k-button k-time-accept"
15452
- [ngClass]="popupButtonsClasses('primary')"
15453
- [attr.title]="localization.get('acceptLabel')"
15454
- [attr.aria-label]="localization.get('acceptLabel')"
15455
- [disabled]="!calendarValue"
15513
+ class="k-button k-time-cancel"
15514
+ [ngClass]="popupButtonsClasses()"
15515
+ [attr.title]="localization.get('cancelLabel')"
15516
+ [attr.aria-label]="localization.get('cancelLabel')"
15456
15517
  [kendoEventsOutsideAngular]="{
15457
- click: handleAccept,
15518
+ click: handleCancel,
15458
15519
  'keydown.tab': handleTab
15459
15520
  }"
15460
15521
  [scope]="this"
15461
15522
  >
15462
- {{localization.get('accept')}}
15523
+ {{localization.get('cancel')}}
15463
15524
  </button>
15464
15525
  </div>
15465
15526
  </div>
@@ -15679,14 +15740,14 @@ class DateRangeService {
15679
15740
  * Gets the start input element.
15680
15741
  */
15681
15742
  get inputStartElement() {
15682
- return this.startInput$.value.dateInput.nativeElement;
15743
+ return this.startInput$.value.inputElement;
15683
15744
  }
15684
15745
  /**
15685
15746
  * @hidden
15686
15747
  * Gets the end input element.
15687
15748
  */
15688
15749
  get inputEndElement() {
15689
- return this.endInput$.value.dateInput.nativeElement;
15750
+ return this.endInput$.value.inputElement;
15690
15751
  }
15691
15752
  /**
15692
15753
  * Activates the registered `DateRangePopup` component.
@@ -16098,10 +16159,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16098
16159
  * ```
16099
16160
  */
16100
16161
  class DateRangePopupComponent {
16101
- constructor(popupService, dateRangeService, ref, zone, renderer, localization, cdr, rtl) {
16162
+ constructor(popupService, dateRangeService, zone, renderer, localization, cdr, rtl) {
16102
16163
  this.popupService = popupService;
16103
16164
  this.dateRangeService = dateRangeService;
16104
- this.ref = ref;
16105
16165
  this.zone = zone;
16106
16166
  this.renderer = renderer;
16107
16167
  this.localization = localization;
@@ -16244,8 +16304,18 @@ class DateRangePopupComponent {
16244
16304
  }
16245
16305
  }
16246
16306
  ngAfterViewInit() {
16247
- this.calendarSubscriptions.add(this.contentCalendar.changes.subscribe((changes) => this.calendar = changes.first));
16248
- this.calendarSubscriptions.add(this.viewCalendar.changes.subscribe((changes) => this.calendar = changes.first));
16307
+ this.calendarSubscriptions.add(this.contentCalendar.changes.subscribe((changes) => {
16308
+ var _a;
16309
+ this.calendar = changes.first;
16310
+ this.actionSheet.titleId = (_a = changes.first) === null || _a === void 0 ? void 0 : _a.headerId;
16311
+ this.cdr.detectChanges();
16312
+ }));
16313
+ this.calendarSubscriptions.add(this.viewCalendar.changes.subscribe((changes) => {
16314
+ var _a;
16315
+ this.calendar = changes.first;
16316
+ this.actionSheet.titleId = (_a = changes.first) === null || _a === void 0 ? void 0 : _a.headerId;
16317
+ this.cdr.detectChanges();
16318
+ }));
16249
16319
  if (isWindowAvailable()) {
16250
16320
  this.zone.runOutsideAngular(() => this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this)));
16251
16321
  }
@@ -16276,7 +16346,7 @@ class DateRangePopupComponent {
16276
16346
  this.activateSubscription.unsubscribe();
16277
16347
  }
16278
16348
  this.show = true;
16279
- this.ref.markForCheck();
16349
+ this.cdr.markForCheck();
16280
16350
  this.zone.runOutsideAngular(() => {
16281
16351
  this.activateSubscription = merge(this.contentCalendar.changes, this.viewCalendar.changes)
16282
16352
  .pipe(filter(changes => changes && changes.first), map(changes => changes.first))
@@ -16351,6 +16421,48 @@ class DateRangePopupComponent {
16351
16421
  }
16352
16422
  this.windowSize = windowSize();
16353
16423
  }
16424
+ /**
16425
+ * @hidden
16426
+ */
16427
+ closePopup(event) {
16428
+ event.preventDefault();
16429
+ event.stopPropagation();
16430
+ this.toggle(false);
16431
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
16432
+ this.dateRangeService.startInput$.value.focus();
16433
+ }
16434
+ else {
16435
+ this.dateRangeService.endInput$.value.focus();
16436
+ }
16437
+ ;
16438
+ }
16439
+ /**
16440
+ * @hidden
16441
+ */
16442
+ handleTab(event) {
16443
+ event.preventDefault();
16444
+ event.stopPropagation();
16445
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
16446
+ this.dateRangeService.setActiveRangeEnd('end');
16447
+ }
16448
+ else {
16449
+ this.dateRangeService.endInput$.value.focus();
16450
+ }
16451
+ }
16452
+ ;
16453
+ /**
16454
+ * @hidden
16455
+ */
16456
+ handleShiftTab(event) {
16457
+ event.preventDefault();
16458
+ event.stopPropagation();
16459
+ if (this.dateRangeService.activeRangeEnd === 'end') {
16460
+ this.dateRangeService.setActiveRangeEnd('start');
16461
+ }
16462
+ else {
16463
+ this.dateRangeService.startInput$.value.focus();
16464
+ }
16465
+ }
16354
16466
  handleWindowBlur() {
16355
16467
  if (!this.show || this.actionSheet.expanded) {
16356
16468
  return;
@@ -16471,7 +16583,7 @@ class DateRangePopupComponent {
16471
16583
  }
16472
16584
  }
16473
16585
  }
16474
- DateRangePopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateRangePopupComponent, deps: [{ token: i1$2.PopupService }, { token: DateRangeService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
16586
+ DateRangePopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateRangePopupComponent, deps: [{ token: i1$2.PopupService }, { token: DateRangeService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
16475
16587
  DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DateRangePopupComponent, selector: "kendo-daterange-popup", inputs: { animate: "animate", anchor: "anchor", anchorAlign: "anchorAlign", appendTo: "appendTo", collision: "collision", popupAlign: "popupAlign", margin: "margin", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle" }, outputs: { open: "open", close: "close", onBlur: "blur", onFocus: "focus", cancel: "cancel" }, providers: [
16476
16588
  LocalizationService,
16477
16589
  {
@@ -16495,10 +16607,10 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
16495
16607
  </ng-container>
16496
16608
  <ng-container #container></ng-container>
16497
16609
  <ng-template #defaultTemplate>
16498
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
16610
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
16499
16611
  </ng-template>
16500
16612
 
16501
- <kendo-actionsheet
16613
+ <kendo-actionsheet
16502
16614
  #actionSheet
16503
16615
  (overlayClick)="show=false"
16504
16616
  (collapse)="onBlur.emit()"
@@ -16535,7 +16647,6 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
16535
16647
  <kendo-multiviewcalendar
16536
16648
  class="k-calendar-lg"
16537
16649
  orientation="vertical"
16538
- #test
16539
16650
  kendoDateRangeSelection
16540
16651
  [shouldSetRange]="false">
16541
16652
  </kendo-multiviewcalendar>
@@ -16563,7 +16674,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
16563
16674
  </div>
16564
16675
  </ng-template>
16565
16676
  </kendo-actionsheet>
16566
- `, isInline: true, components: [{ type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16677
+ `, isInline: true, components: [{ type: MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16567
16678
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateRangePopupComponent, decorators: [{
16568
16679
  type: Component,
16569
16680
  args: [{
@@ -16593,10 +16704,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16593
16704
  </ng-container>
16594
16705
  <ng-container #container></ng-container>
16595
16706
  <ng-template #defaultTemplate>
16596
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
16707
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
16597
16708
  </ng-template>
16598
16709
 
16599
- <kendo-actionsheet
16710
+ <kendo-actionsheet
16600
16711
  #actionSheet
16601
16712
  (overlayClick)="show=false"
16602
16713
  (collapse)="onBlur.emit()"
@@ -16633,7 +16744,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16633
16744
  <kendo-multiviewcalendar
16634
16745
  class="k-calendar-lg"
16635
16746
  orientation="vertical"
16636
- #test
16637
16747
  kendoDateRangeSelection
16638
16748
  [shouldSetRange]="false">
16639
16749
  </kendo-multiviewcalendar>
@@ -16664,7 +16774,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16664
16774
  `
16665
16775
  }]
16666
16776
  }], ctorParameters: function () {
16667
- return [{ type: i1$2.PopupService }, { type: DateRangeService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
16777
+ return [{ type: i1$2.PopupService }, { type: DateRangeService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
16668
16778
  type: Optional
16669
16779
  }, {
16670
16780
  type: Inject,
@@ -16837,7 +16947,6 @@ class DateRangeInput {
16837
16947
  }
16838
16948
  [
16839
16949
  this.input.onBlur.subscribe(() => this.deactivate()),
16840
- this.input.onFocus.pipe(filter(() => !this.popupCalendarActivated)).subscribe(() => this.activate()),
16841
16950
  this.input.valueUpdate.subscribe(value => this.updateRange(value, 'change')),
16842
16951
  this.dateRangeService.activeRangeEnd$.subscribe(() => {
16843
16952
  if (this.navigateCalendarOnFocus) {