@progress/kendo-angular-dateinputs 13.0.0-develop.9 → 13.0.0

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: 1685111006,
40
- version: '13.0.0-develop.9',
39
+ publishDate: 1686055688,
40
+ version: '13.0.0',
41
41
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
42
42
  };
43
43
 
@@ -9321,7 +9321,7 @@ class DatePickerComponent {
9321
9321
  * Used by the TextBoxContainer to determine if the component is empty.
9322
9322
  */
9323
9323
  isEmpty() {
9324
- return !this.value && this.input.isEmpty();
9324
+ return !this.value && this.dateInput.isEmpty();
9325
9325
  }
9326
9326
  /**
9327
9327
  * @hidden
@@ -9346,6 +9346,7 @@ class DatePickerComponent {
9346
9346
  * @hidden
9347
9347
  */
9348
9348
  ngOnChanges(changes) {
9349
+ var _a;
9349
9350
  this.verifySettings();
9350
9351
  if (changes.min || changes.max || changes.rangeValidation || changes.disabledDatesValidation || changes.disabledDates || changes.incompleteDateValidation) {
9351
9352
  this.minValidateFn = this.rangeValidation ? minValidator(this.min) : noop$2;
@@ -9354,6 +9355,9 @@ class DatePickerComponent {
9354
9355
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop$2;
9355
9356
  this.onValidatorChange();
9356
9357
  }
9358
+ if (!this.focusableId || changes.focusableId) {
9359
+ this.focusableId = (_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.focusableId;
9360
+ }
9357
9361
  }
9358
9362
  /**
9359
9363
  * @hidden
@@ -9383,9 +9387,9 @@ class DatePickerComponent {
9383
9387
  this.verifyValue(value);
9384
9388
  this.value = cloneDate(value);
9385
9389
  this.cdr.markForCheck();
9386
- if (!value && this.input) {
9387
- this.input.placeholder = this.placeholder;
9388
- this.input.writeValue(value);
9390
+ if (!value && this.dateInput) {
9391
+ this.dateInput.placeholder = this.placeholder;
9392
+ this.dateInput.writeValue(value);
9389
9393
  }
9390
9394
  }
9391
9395
  /**
@@ -9411,7 +9415,7 @@ class DatePickerComponent {
9411
9415
  * @hidden
9412
9416
  */
9413
9417
  validate(control) {
9414
- 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);
9415
9419
  }
9416
9420
  /**
9417
9421
  * @hidden
@@ -9448,13 +9452,13 @@ class DatePickerComponent {
9448
9452
  * ```
9449
9453
  */
9450
9454
  focus() {
9451
- this.input.focus();
9455
+ this.dateInput.focus();
9452
9456
  }
9453
9457
  /**
9454
9458
  * Blurs the DatePicker component.
9455
9459
  */
9456
9460
  blur() {
9457
- (this.calendar || this.input)['blur']();
9461
+ (this.calendar || this.dateInput)['blur']();
9458
9462
  }
9459
9463
  /**
9460
9464
  * Toggles the visibility of the popup or actionSheet.
@@ -9516,7 +9520,7 @@ class DatePickerComponent {
9516
9520
  * @hidden
9517
9521
  */
9518
9522
  handleInputChange(value) {
9519
- this.handleChange(this.input.formatSections['time'] ? value : this.mergeTime(value));
9523
+ this.handleChange(this.dateInput.formatSections['time'] ? value : this.mergeTime(value));
9520
9524
  }
9521
9525
  /**
9522
9526
  * @hidden
@@ -9538,7 +9542,7 @@ class DatePickerComponent {
9538
9542
  }
9539
9543
  return appendTo === 'component' ? this.container : appendTo;
9540
9544
  }
9541
- get input() {
9545
+ get dateInput() {
9542
9546
  return this.pickerService.input;
9543
9547
  }
9544
9548
  get calendar() {
@@ -9595,7 +9599,7 @@ class DatePickerComponent {
9595
9599
  }
9596
9600
  }
9597
9601
  if (keyCode === Keys$1.Tab && this.show && this.calendar.isActive && isTabExitingCalendar(this.calendarType, target, shiftKey)) {
9598
- this.input.focus();
9602
+ this.dateInput.focus();
9599
9603
  this.show = false;
9600
9604
  }
9601
9605
  }
@@ -9610,6 +9614,7 @@ class DatePickerComponent {
9610
9614
  this.toggleFocus();
9611
9615
  }
9612
9616
  togglePopup(show) {
9617
+ var _a, _b, _c;
9613
9618
  if (show === this._show) {
9614
9619
  return;
9615
9620
  }
@@ -9628,7 +9633,7 @@ class DatePickerComponent {
9628
9633
  });
9629
9634
  this.setAriaActiveDescendant();
9630
9635
  this.popupRef.popupElement.setAttribute('id', this.popupUID);
9631
- 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);
9632
9637
  this.subscription = this.popupRef.popupAnchorViewportLeave.subscribe(() => this.show = false);
9633
9638
  }
9634
9639
  else {
@@ -9636,12 +9641,13 @@ class DatePickerComponent {
9636
9641
  this.popupRef = null;
9637
9642
  this.subscription.unsubscribe();
9638
9643
  this.ariaActiveDescendantSubscription.unsubscribe();
9639
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
9640
- 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);
9641
9646
  this.cdr.detectChanges();
9642
9647
  }
9643
9648
  }
9644
9649
  toggleActionSheet(show) {
9650
+ var _a, _b, _c;
9645
9651
  if (show === this._show) {
9646
9652
  return;
9647
9653
  }
@@ -9650,13 +9656,13 @@ class DatePickerComponent {
9650
9656
  this.updateActionSheetAdaptiveAppearance();
9651
9657
  this.setAriaActiveDescendant();
9652
9658
  this.actionSheet.element.nativeElement.setAttribute('id', this.popupUID);
9653
- 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);
9654
9660
  }
9655
9661
  else if (!show && this.isOpen) {
9656
9662
  this.actionSheet.toggle();
9657
9663
  this.ariaActiveDescendantSubscription.unsubscribe();
9658
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
9659
- 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);
9660
9666
  }
9661
9667
  this._show = show;
9662
9668
  }
@@ -9683,13 +9689,13 @@ class DatePickerComponent {
9683
9689
  const focusedCellChangeEvent = this.calendar.type === 'infinite' ?
9684
9690
  this.calendar.monthView.focusedCellChange :
9685
9691
  this.calendar.multiViewCalendar.viewList.focusedCellChange;
9686
- 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); });
9687
9693
  }
9688
9694
  focusInput() {
9689
9695
  if (this.touchEnabled) {
9690
9696
  return;
9691
9697
  }
9692
- this.input.focus();
9698
+ this.dateInput.focus();
9693
9699
  }
9694
9700
  toggleFocus() {
9695
9701
  if (!this.isActive) {
@@ -9704,9 +9710,9 @@ class DatePickerComponent {
9704
9710
  }
9705
9711
  }
9706
9712
  else if (!this.touchEnabled) {
9707
- this.input.focus();
9713
+ this.dateInput.focus();
9708
9714
  }
9709
- else if (!this.input.isActive) {
9715
+ else if (!this.dateInput.isActive) {
9710
9716
  this.handleBlur();
9711
9717
  }
9712
9718
  }
@@ -9754,7 +9760,7 @@ class DatePickerComponent {
9754
9760
  const currentTarget = args && currentFocusTarget(args);
9755
9761
  const target = args && args.target;
9756
9762
  const isInsideActionSheet = this.actionSheet && (this.actionSheet.element.nativeElement.contains(target) || this.actionSheet.element.nativeElement.contains(currentTarget));
9757
- if (currentTarget && (this.input.containsElement(currentTarget) ||
9763
+ if (currentTarget && (this.dateInput.containsElement(currentTarget) ||
9758
9764
  (this.calendar && this.calendar.containsElement(currentTarget)) || isInsideActionSheet)) {
9759
9765
  return;
9760
9766
  }
@@ -9889,6 +9895,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
9889
9895
  }"
9890
9896
  [scope]="this"
9891
9897
  (collapse)="handleActionSheetCollapse()"
9898
+ [titleId]="calendar?.headerId"
9892
9899
  >
9893
9900
  <ng-template kendoActionSheetTemplate>
9894
9901
  <div class="k-actionsheet-titlebar">
@@ -10053,6 +10060,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10053
10060
  }"
10054
10061
  [scope]="this"
10055
10062
  (collapse)="handleActionSheetCollapse()"
10063
+ [titleId]="calendar?.headerId"
10056
10064
  >
10057
10065
  <ng-template kendoActionSheetTemplate>
10058
10066
  <div class="k-actionsheet-titlebar">
@@ -12543,7 +12551,7 @@ class TimePickerComponent {
12543
12551
  this.toggleTimeSelector(show);
12544
12552
  }
12545
12553
  }
12546
- get input() {
12554
+ get dateInput() {
12547
12555
  return this.pickerService.input;
12548
12556
  }
12549
12557
  get timeSelector() {
@@ -12557,7 +12565,7 @@ class TimePickerComponent {
12557
12565
  * Used by the TextBoxContainer to determine if the component is empty
12558
12566
  */
12559
12567
  isEmpty() {
12560
- return !this.value && this.input.isEmpty();
12568
+ return !this.value && this.dateInput.isEmpty();
12561
12569
  }
12562
12570
  /**
12563
12571
  * @hidden
@@ -12584,6 +12592,7 @@ class TimePickerComponent {
12584
12592
  * @hidden
12585
12593
  */
12586
12594
  ngOnChanges(changes) {
12595
+ var _a;
12587
12596
  if (changes.min || changes.max || changes.rangeValidation || changes.incompleteDateValidation) {
12588
12597
  this.timeRangeValidateFn = this.rangeValidation ? timeRangeValidator(this.min, this.max) : noop$2;
12589
12598
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop$2;
@@ -12592,6 +12601,9 @@ class TimePickerComponent {
12592
12601
  if (changes.format) {
12593
12602
  this.verifyFormat();
12594
12603
  }
12604
+ if (!this.focusableId || changes.focusableId) {
12605
+ this.focusableId = (_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.focusableId;
12606
+ }
12595
12607
  }
12596
12608
  /**
12597
12609
  * @hidden
@@ -12637,9 +12649,9 @@ class TimePickerComponent {
12637
12649
  this.verifyValue(value);
12638
12650
  this.value = cloneDate(value);
12639
12651
  this.cdr.markForCheck();
12640
- if (!value && this.input) {
12641
- this.input.placeholder = this.placeholder;
12642
- this.input.writeValue(value);
12652
+ if (!value && this.dateInput) {
12653
+ this.dateInput.placeholder = this.placeholder;
12654
+ this.dateInput.writeValue(value);
12643
12655
  }
12644
12656
  }
12645
12657
  /**
@@ -12665,7 +12677,7 @@ class TimePickerComponent {
12665
12677
  * @hidden
12666
12678
  */
12667
12679
  validate(control) {
12668
- 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);
12669
12681
  }
12670
12682
  /**
12671
12683
  * @hidden
@@ -12689,13 +12701,13 @@ class TimePickerComponent {
12689
12701
  * ```
12690
12702
  */
12691
12703
  focus() {
12692
- this.input.focus();
12704
+ this.dateInput.focus();
12693
12705
  }
12694
12706
  /**
12695
12707
  * Blurs the TimePicker component.
12696
12708
  */
12697
12709
  blur() {
12698
- (this.timeSelector || this.input)['blur']();
12710
+ (this.timeSelector || this.dateInput)['blur']();
12699
12711
  }
12700
12712
  /**
12701
12713
  * Toggles the visibility of the popup or actionSheet.
@@ -12768,7 +12780,7 @@ class TimePickerComponent {
12768
12780
  * @hidden
12769
12781
  */
12770
12782
  handleInputChange(value) {
12771
- const val = this.input.formatSections['date'] ? value : this.mergeTime(value);
12783
+ const val = this.dateInput.formatSections['date'] ? value : this.mergeTime(value);
12772
12784
  this.handleChange(val);
12773
12785
  }
12774
12786
  /**
@@ -12872,6 +12884,7 @@ class TimePickerComponent {
12872
12884
  this.toggleFocus();
12873
12885
  }
12874
12886
  toggleActionSheet(show) {
12887
+ var _a, _b;
12875
12888
  if (show === this._show) {
12876
12889
  return;
12877
12890
  }
@@ -12879,17 +12892,18 @@ class TimePickerComponent {
12879
12892
  this.actionSheet.toggle();
12880
12893
  this.updateActionSheetAdaptiveAppearance();
12881
12894
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
12882
- 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);
12883
12896
  }
12884
12897
  else if (!show && this.isOpen) {
12885
12898
  // Need to disable the pointer events to avoid triggering focus on the timelist when acionsheet close down animation starts
12886
12899
  this.renderer.setStyle(this.timeSelector.element.nativeElement, 'pointer-events', 'none');
12887
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
12900
+ this.renderer.removeAttribute((_b = this.dateInput) === null || _b === void 0 ? void 0 : _b.inputElement, attributeNames.ariaControls);
12888
12901
  this.actionSheet.toggle();
12889
12902
  }
12890
12903
  this._show = show;
12891
12904
  }
12892
12905
  togglePopup(show) {
12906
+ var _a, _b;
12893
12907
  if (show === this.isOpen) {
12894
12908
  return;
12895
12909
  }
@@ -12908,13 +12922,13 @@ class TimePickerComponent {
12908
12922
  positionMode: 'absolute'
12909
12923
  });
12910
12924
  this.popupRef.popupElement.setAttribute('id', this.popupUID);
12911
- 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);
12912
12926
  this.popupRef.popupAnchorViewportLeave.subscribe(() => this.show = false);
12913
12927
  }
12914
12928
  else {
12915
12929
  this.popupRef.close();
12916
12930
  this.popupRef = null;
12917
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
12931
+ this.renderer.removeAttribute((_b = this.dateInput) === null || _b === void 0 ? void 0 : _b.inputElement, attributeNames.ariaControls);
12918
12932
  }
12919
12933
  }
12920
12934
  updateActionSheetAdaptiveAppearance() {
@@ -12940,7 +12954,7 @@ class TimePickerComponent {
12940
12954
  if (this.touchEnabled) {
12941
12955
  return;
12942
12956
  }
12943
- this.input.focus();
12957
+ this.dateInput.focus();
12944
12958
  }
12945
12959
  toggleFocus() {
12946
12960
  if (!this.isActive) {
@@ -12955,9 +12969,9 @@ class TimePickerComponent {
12955
12969
  }
12956
12970
  }
12957
12971
  else if (!this.touchEnabled) {
12958
- this.input.focus();
12972
+ this.dateInput.focus();
12959
12973
  }
12960
- else if (!this.input.isActive) {
12974
+ else if (!this.dateInput.isActive) {
12961
12975
  this.handleBlur();
12962
12976
  }
12963
12977
  }
@@ -13006,7 +13020,7 @@ class TimePickerComponent {
13006
13020
  const currentTarget = args && currentFocusTarget(args); // relatedTarget || activeElement
13007
13021
  const target = args && args.target;
13008
13022
  const isInsideActionSheet = this.actionSheet && (this.actionSheet.element.nativeElement.contains(target) || this.actionSheet.element.nativeElement.contains(currentTarget));
13009
- if (currentTarget && (this.input.containsElement(currentTarget) ||
13023
+ if (currentTarget && (this.dateInput.containsElement(currentTarget) ||
13010
13024
  (this.timeSelector && this.timeSelector.containsElement(currentTarget)) || isInsideActionSheet)) {
13011
13025
  return;
13012
13026
  }
@@ -13153,6 +13167,7 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
13153
13167
  #actionSheet
13154
13168
  (overlayClick)="show=false"
13155
13169
  (collapse)="handleActionSheetCollapse()"
13170
+ [titleId]="focusableId"
13156
13171
  >
13157
13172
  <ng-template kendoActionSheetTemplate>
13158
13173
  <div class="k-actionsheet-titlebar">
@@ -13355,6 +13370,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
13355
13370
  #actionSheet
13356
13371
  (overlayClick)="show=false"
13357
13372
  (collapse)="handleActionSheetCollapse()"
13373
+ [titleId]="focusableId"
13358
13374
  >
13359
13375
  <ng-template kendoActionSheetTemplate>
13360
13376
  <div class="k-actionsheet-titlebar">
@@ -13831,15 +13847,9 @@ class DateTimePickerComponent {
13831
13847
  /**
13832
13848
  * @hidden
13833
13849
  */
13834
- get input() {
13850
+ get dateInput() {
13835
13851
  return this.pickerService.input;
13836
13852
  }
13837
- /**
13838
- * @hidden
13839
- */
13840
- get inputElement() {
13841
- return this.wrapper.nativeElement.querySelector('input');
13842
- }
13843
13853
  /**
13844
13854
  * @hidden
13845
13855
  */
@@ -14187,6 +14197,7 @@ class DateTimePickerComponent {
14187
14197
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
14188
14198
  }
14189
14199
  ngOnChanges(changes) {
14200
+ var _a;
14190
14201
  if (isPresent(changes['min']) || isPresent(changes['max'])) {
14191
14202
  this.verifyMinMaxRange();
14192
14203
  }
@@ -14197,6 +14208,9 @@ class DateTimePickerComponent {
14197
14208
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop$2;
14198
14209
  this.onValidatorChange();
14199
14210
  }
14211
+ if (!this.focusableId || changes['focusableId']) {
14212
+ this.focusableId = (_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.focusableId;
14213
+ }
14200
14214
  }
14201
14215
  ngOnDestroy() {
14202
14216
  if (this.isOpen) {
@@ -14216,7 +14230,7 @@ class DateTimePickerComponent {
14216
14230
  this.activeTabComponent.focus();
14217
14231
  }
14218
14232
  else {
14219
- this.input.focus();
14233
+ this.dateInput.focus();
14220
14234
  }
14221
14235
  }
14222
14236
  /**
@@ -14227,7 +14241,7 @@ class DateTimePickerComponent {
14227
14241
  this.activeTabComponent.blur();
14228
14242
  }
14229
14243
  else {
14230
- this.input.blur();
14244
+ this.dateInput.blur();
14231
14245
  }
14232
14246
  }
14233
14247
  /**
@@ -14279,7 +14293,7 @@ class DateTimePickerComponent {
14279
14293
  * @hidden
14280
14294
  */
14281
14295
  validate(control) {
14282
- 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);
14283
14297
  }
14284
14298
  /**
14285
14299
  * @hidden
@@ -14293,7 +14307,7 @@ class DateTimePickerComponent {
14293
14307
  * Used by the TextBoxContainer to determine if the floating label will render in the input.
14294
14308
  */
14295
14309
  isEmpty() {
14296
- return !isPresent(this.value) && this.input.isEmpty();
14310
+ return !isPresent(this.value) && this.dateInput.isEmpty();
14297
14311
  }
14298
14312
  /**
14299
14313
  * @hidden
@@ -14361,12 +14375,13 @@ class DateTimePickerComponent {
14361
14375
  * @hidden
14362
14376
  */
14363
14377
  handleTabChangeTransitionEnd(dateTimeSelector, event) {
14378
+ var _a;
14364
14379
  // handle only the .k-datetime-selector element transition, ignore any child element transitions
14365
14380
  if (event.target !== dateTimeSelector) {
14366
14381
  return;
14367
14382
  }
14368
14383
  if (this.activeTab === 'time') {
14369
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
14384
+ this.renderer.removeAttribute((_a = this.dateInput) === null || _a === void 0 ? void 0 : _a.inputElement, attributeNames.ariaActiveDescendant);
14370
14385
  }
14371
14386
  this.activeTabComponent.focus();
14372
14387
  }
@@ -14511,7 +14526,6 @@ class DateTimePickerComponent {
14511
14526
  this.cdr.markForCheck();
14512
14527
  // Reset tabs after actionsheet is collapsed, otherwise the tab change can be seen during the animation
14513
14528
  this.resetActiveTab();
14514
- this.input.focus();
14515
14529
  }
14516
14530
  /**
14517
14531
  * @hidden
@@ -14539,18 +14553,19 @@ class DateTimePickerComponent {
14539
14553
  this.resetActiveTab();
14540
14554
  }
14541
14555
  toggleActionSheet(show) {
14556
+ var _a, _b, _c;
14542
14557
  if (isPresent(show) && show && !this.isOpen) {
14543
14558
  this.actionSheet.toggle();
14544
14559
  this.updateActionSheetAdaptiveAppearance();
14545
14560
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
14546
- 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);
14547
14562
  this.setAriaActiveDescendant();
14548
14563
  }
14549
14564
  else if (isPresent(show) && !show && this.isOpen) {
14550
14565
  this.actionSheet.toggle();
14551
14566
  this.ariaActiveDescendantSubscription.unsubscribe();
14552
- this.renderer.removeAttribute(this.input.inputElement, attributeNames.ariaActiveDescendant);
14553
- 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);
14554
14569
  }
14555
14570
  }
14556
14571
  updateActionSheetAdaptiveAppearance() {
@@ -14665,13 +14680,14 @@ class DateTimePickerComponent {
14665
14680
  this.activeTabComponent.focus();
14666
14681
  }
14667
14682
  else if (!this.touchEnabled) {
14668
- this.input.focus();
14683
+ this.dateInput.focus();
14669
14684
  }
14670
- else if (!this.input.isActive) {
14685
+ else if (!this.dateInput.isActive) {
14671
14686
  this.handleBlur();
14672
14687
  }
14673
14688
  }
14674
14689
  openPopup() {
14690
+ var _a;
14675
14691
  this.setCalendarValue(this.value);
14676
14692
  this.setTimeSelectorMinMax(this.value);
14677
14693
  const direction = this.localization.rtl ? 'right' : 'left';
@@ -14686,7 +14702,7 @@ class DateTimePickerComponent {
14686
14702
  popupAlign: { vertical: 'top', horizontal: direction }
14687
14703
  });
14688
14704
  this.popupRef.popupElement.setAttribute('id', this.popupUID);
14689
- 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);
14690
14706
  this.setAriaActiveDescendant();
14691
14707
  this.popupRef.popupAnchorViewportLeave.subscribe(() => this.handleCancel());
14692
14708
  if (this.calendar.type === 'infinite') {
@@ -14703,15 +14719,16 @@ class DateTimePickerComponent {
14703
14719
  const focusedCellChangeEvent = this.calendar.type === 'infinite' ?
14704
14720
  this.calendar.monthView.focusedCellChange :
14705
14721
  this.calendar.multiViewCalendar.viewList.focusedCellChange;
14706
- 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); });
14707
14723
  }
14708
14724
  closePopup() {
14725
+ var _a, _b;
14709
14726
  if (!this.isOpen) {
14710
14727
  return;
14711
14728
  }
14712
14729
  this.ariaActiveDescendantSubscription.unsubscribe();
14713
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
14714
- 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);
14715
14732
  this.popupRef.close();
14716
14733
  this.popupRef = null;
14717
14734
  }
@@ -14931,6 +14948,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
14931
14948
  #actionSheet
14932
14949
  (overlayClick)="toggleDateTime(false)"
14933
14950
  (collapse)="handleActionSheetCollapse()"
14951
+ [titleId]="calendar?.headerId"
14934
14952
  >
14935
14953
  <ng-template kendoActionSheetTemplate>
14936
14954
  <div class="k-actionsheet-titlebar">
@@ -15040,6 +15058,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
15040
15058
  >
15041
15059
  <div class="k-datetime-calendar-wrap">
15042
15060
  <kendo-calendar
15061
+ #calendar
15043
15062
  [ngClass]="{'k-calendar-lg': isAdaptive}"
15044
15063
  [focusedDate]="focusedDate"
15045
15064
  [(value)]="calendarValue"
@@ -15293,6 +15312,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15293
15312
  #actionSheet
15294
15313
  (overlayClick)="toggleDateTime(false)"
15295
15314
  (collapse)="handleActionSheetCollapse()"
15315
+ [titleId]="calendar?.headerId"
15296
15316
  >
15297
15317
  <ng-template kendoActionSheetTemplate>
15298
15318
  <div class="k-actionsheet-titlebar">
@@ -15402,6 +15422,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15402
15422
  >
15403
15423
  <div class="k-datetime-calendar-wrap">
15404
15424
  <kendo-calendar
15425
+ #calendar
15405
15426
  [ngClass]="{'k-calendar-lg': isAdaptive}"
15406
15427
  [focusedDate]="focusedDate"
15407
15428
  [(value)]="calendarValue"
@@ -15719,14 +15740,14 @@ class DateRangeService {
15719
15740
  * Gets the start input element.
15720
15741
  */
15721
15742
  get inputStartElement() {
15722
- return this.startInput$.value.dateInput.nativeElement;
15743
+ return this.startInput$.value.inputElement;
15723
15744
  }
15724
15745
  /**
15725
15746
  * @hidden
15726
15747
  * Gets the end input element.
15727
15748
  */
15728
15749
  get inputEndElement() {
15729
- return this.endInput$.value.dateInput.nativeElement;
15750
+ return this.endInput$.value.inputElement;
15730
15751
  }
15731
15752
  /**
15732
15753
  * Activates the registered `DateRangePopup` component.
@@ -16138,10 +16159,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16138
16159
  * ```
16139
16160
  */
16140
16161
  class DateRangePopupComponent {
16141
- constructor(popupService, dateRangeService, ref, zone, renderer, localization, cdr, rtl) {
16162
+ constructor(popupService, dateRangeService, zone, renderer, localization, cdr, rtl) {
16142
16163
  this.popupService = popupService;
16143
16164
  this.dateRangeService = dateRangeService;
16144
- this.ref = ref;
16145
16165
  this.zone = zone;
16146
16166
  this.renderer = renderer;
16147
16167
  this.localization = localization;
@@ -16284,8 +16304,18 @@ class DateRangePopupComponent {
16284
16304
  }
16285
16305
  }
16286
16306
  ngAfterViewInit() {
16287
- this.calendarSubscriptions.add(this.contentCalendar.changes.subscribe((changes) => this.calendar = changes.first));
16288
- 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
+ }));
16289
16319
  if (isWindowAvailable()) {
16290
16320
  this.zone.runOutsideAngular(() => this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this)));
16291
16321
  }
@@ -16316,7 +16346,7 @@ class DateRangePopupComponent {
16316
16346
  this.activateSubscription.unsubscribe();
16317
16347
  }
16318
16348
  this.show = true;
16319
- this.ref.markForCheck();
16349
+ this.cdr.markForCheck();
16320
16350
  this.zone.runOutsideAngular(() => {
16321
16351
  this.activateSubscription = merge(this.contentCalendar.changes, this.viewCalendar.changes)
16322
16352
  .pipe(filter(changes => changes && changes.first), map(changes => changes.first))
@@ -16553,7 +16583,7 @@ class DateRangePopupComponent {
16553
16583
  }
16554
16584
  }
16555
16585
  }
16556
- 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 });
16557
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: [
16558
16588
  LocalizationService,
16559
16589
  {
@@ -16580,7 +16610,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
16580
16610
  <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
16581
16611
  </ng-template>
16582
16612
 
16583
- <kendo-actionsheet
16613
+ <kendo-actionsheet
16584
16614
  #actionSheet
16585
16615
  (overlayClick)="show=false"
16586
16616
  (collapse)="onBlur.emit()"
@@ -16617,7 +16647,6 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
16617
16647
  <kendo-multiviewcalendar
16618
16648
  class="k-calendar-lg"
16619
16649
  orientation="vertical"
16620
- #test
16621
16650
  kendoDateRangeSelection
16622
16651
  [shouldSetRange]="false">
16623
16652
  </kendo-multiviewcalendar>
@@ -16678,7 +16707,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16678
16707
  <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
16679
16708
  </ng-template>
16680
16709
 
16681
- <kendo-actionsheet
16710
+ <kendo-actionsheet
16682
16711
  #actionSheet
16683
16712
  (overlayClick)="show=false"
16684
16713
  (collapse)="onBlur.emit()"
@@ -16715,7 +16744,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16715
16744
  <kendo-multiviewcalendar
16716
16745
  class="k-calendar-lg"
16717
16746
  orientation="vertical"
16718
- #test
16719
16747
  kendoDateRangeSelection
16720
16748
  [shouldSetRange]="false">
16721
16749
  </kendo-multiviewcalendar>
@@ -16746,7 +16774,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16746
16774
  `
16747
16775
  }]
16748
16776
  }], ctorParameters: function () {
16749
- 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: [{
16750
16778
  type: Optional
16751
16779
  }, {
16752
16780
  type: Inject,