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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,10 +48,9 @@ import * as i10 from "@angular/common";
48
48
  * ```
49
49
  */
50
50
  export class DateRangePopupComponent {
51
- constructor(popupService, dateRangeService, ref, zone, renderer, localization, cdr, rtl) {
51
+ constructor(popupService, dateRangeService, zone, renderer, localization, cdr, rtl) {
52
52
  this.popupService = popupService;
53
53
  this.dateRangeService = dateRangeService;
54
- this.ref = ref;
55
54
  this.zone = zone;
56
55
  this.renderer = renderer;
57
56
  this.localization = localization;
@@ -194,8 +193,16 @@ export class DateRangePopupComponent {
194
193
  }
195
194
  }
196
195
  ngAfterViewInit() {
197
- this.calendarSubscriptions.add(this.contentCalendar.changes.subscribe((changes) => this.calendar = changes.first));
198
- this.calendarSubscriptions.add(this.viewCalendar.changes.subscribe((changes) => this.calendar = changes.first));
196
+ this.calendarSubscriptions.add(this.contentCalendar.changes.subscribe((changes) => {
197
+ this.calendar = changes.first;
198
+ this.actionSheet.titleId = changes.first?.headerId;
199
+ this.cdr.detectChanges();
200
+ }));
201
+ this.calendarSubscriptions.add(this.viewCalendar.changes.subscribe((changes) => {
202
+ this.calendar = changes.first;
203
+ this.actionSheet.titleId = changes.first?.headerId;
204
+ this.cdr.detectChanges();
205
+ }));
199
206
  if (isWindowAvailable()) {
200
207
  this.zone.runOutsideAngular(() => this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this)));
201
208
  }
@@ -226,7 +233,7 @@ export class DateRangePopupComponent {
226
233
  this.activateSubscription.unsubscribe();
227
234
  }
228
235
  this.show = true;
229
- this.ref.markForCheck();
236
+ this.cdr.markForCheck();
230
237
  this.zone.runOutsideAngular(() => {
231
238
  this.activateSubscription = merge(this.contentCalendar.changes, this.viewCalendar.changes)
232
239
  .pipe(filter(changes => changes && changes.first), map(changes => changes.first))
@@ -301,6 +308,48 @@ export class DateRangePopupComponent {
301
308
  }
302
309
  this.windowSize = windowSize();
303
310
  }
311
+ /**
312
+ * @hidden
313
+ */
314
+ closePopup(event) {
315
+ event.preventDefault();
316
+ event.stopPropagation();
317
+ this.toggle(false);
318
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
319
+ this.dateRangeService.startInput$.value.focus();
320
+ }
321
+ else {
322
+ this.dateRangeService.endInput$.value.focus();
323
+ }
324
+ ;
325
+ }
326
+ /**
327
+ * @hidden
328
+ */
329
+ handleTab(event) {
330
+ event.preventDefault();
331
+ event.stopPropagation();
332
+ if (this.dateRangeService.activeRangeEnd === 'start' || !this.dateRangeService.activeRangeEnd) {
333
+ this.dateRangeService.setActiveRangeEnd('end');
334
+ }
335
+ else {
336
+ this.dateRangeService.endInput$.value.focus();
337
+ }
338
+ }
339
+ ;
340
+ /**
341
+ * @hidden
342
+ */
343
+ handleShiftTab(event) {
344
+ event.preventDefault();
345
+ event.stopPropagation();
346
+ if (this.dateRangeService.activeRangeEnd === 'end') {
347
+ this.dateRangeService.setActiveRangeEnd('start');
348
+ }
349
+ else {
350
+ this.dateRangeService.startInput$.value.focus();
351
+ }
352
+ }
304
353
  handleWindowBlur() {
305
354
  if (!this.show || this.actionSheet.expanded) {
306
355
  return;
@@ -421,7 +470,7 @@ export class DateRangePopupComponent {
421
470
  }
422
471
  }
423
472
  }
424
- DateRangePopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateRangePopupComponent, deps: [{ token: i1.PopupService }, { token: i2.DateRangeService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
473
+ DateRangePopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateRangePopupComponent, deps: [{ token: i1.PopupService }, { token: i2.DateRangeService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
425
474
  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: [
426
475
  LocalizationService,
427
476
  {
@@ -445,10 +494,10 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
445
494
  </ng-container>
446
495
  <ng-container #container></ng-container>
447
496
  <ng-template #defaultTemplate>
448
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
497
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
449
498
  </ng-template>
450
499
 
451
- <kendo-actionsheet
500
+ <kendo-actionsheet
452
501
  #actionSheet
453
502
  (overlayClick)="show=false"
454
503
  (collapse)="onBlur.emit()"
@@ -485,7 +534,6 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
485
534
  <kendo-multiviewcalendar
486
535
  class="k-calendar-lg"
487
536
  orientation="vertical"
488
- #test
489
537
  kendoDateRangeSelection
490
538
  [shouldSetRange]="false">
491
539
  </kendo-multiviewcalendar>
@@ -513,7 +561,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
513
561
  </div>
514
562
  </ng-template>
515
563
  </kendo-actionsheet>
516
- `, isInline: true, components: [{ type: i4.MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }, { type: i5.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i6.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i7.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i8.DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: i9.DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i5.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
564
+ `, isInline: true, components: [{ type: i4.MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focus", "focusCalendar", "onClosePopup", "onTabPress", "onShiftTabPress"], exportAs: ["kendo-multiviewcalendar"] }, { type: i5.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i6.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i7.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i8.DateRangePopupLocalizedMessagesDirective, selector: "[kendoDateRangePopupLocalizedMessages]" }, { type: i9.DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd", "shouldSetRange"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }, { type: i5.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
517
565
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateRangePopupComponent, decorators: [{
518
566
  type: Component,
519
567
  args: [{
@@ -543,10 +591,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
543
591
  </ng-container>
544
592
  <ng-container #container></ng-container>
545
593
  <ng-template #defaultTemplate>
546
- <kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
594
+ <kendo-multiviewcalendar kendoDateRangeSelection (onClosePopup)="closePopup($event)" (onTabPress)="handleTab($event)" (onShiftTabPress)="handleShiftTab($event)"></kendo-multiviewcalendar>
547
595
  </ng-template>
548
596
 
549
- <kendo-actionsheet
597
+ <kendo-actionsheet
550
598
  #actionSheet
551
599
  (overlayClick)="show=false"
552
600
  (collapse)="onBlur.emit()"
@@ -583,7 +631,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
583
631
  <kendo-multiviewcalendar
584
632
  class="k-calendar-lg"
585
633
  orientation="vertical"
586
- #test
587
634
  kendoDateRangeSelection
588
635
  [shouldSetRange]="false">
589
636
  </kendo-multiviewcalendar>
@@ -613,7 +660,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
613
660
  </kendo-actionsheet>
614
661
  `
615
662
  }]
616
- }], ctorParameters: function () { return [{ type: i1.PopupService }, { type: i2.DateRangeService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i3.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
663
+ }], ctorParameters: function () { return [{ type: i1.PopupService }, { type: i2.DateRangeService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i3.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
617
664
  type: Optional
618
665
  }, {
619
666
  type: Inject,
@@ -82,14 +82,14 @@ export class DateRangeService {
82
82
  * Gets the start input element.
83
83
  */
84
84
  get inputStartElement() {
85
- return this.startInput$.value.dateInput.nativeElement;
85
+ return this.startInput$.value.inputElement;
86
86
  }
87
87
  /**
88
88
  * @hidden
89
89
  * Gets the end input element.
90
90
  */
91
91
  get inputEndElement() {
92
- return this.endInput$.value.dateInput.nativeElement;
92
+ return this.endInput$.value.inputElement;
93
93
  }
94
94
  /**
95
95
  * Activates the registered `DateRangePopup` component.
@@ -265,15 +265,9 @@ export class DateTimePickerComponent {
265
265
  /**
266
266
  * @hidden
267
267
  */
268
- get input() {
268
+ get dateInput() {
269
269
  return this.pickerService.input;
270
270
  }
271
- /**
272
- * @hidden
273
- */
274
- get inputElement() {
275
- return this.wrapper.nativeElement.querySelector('input');
276
- }
277
271
  /**
278
272
  * @hidden
279
273
  */
@@ -626,6 +620,9 @@ export class DateTimePickerComponent {
626
620
  this.incompleteValidator = this.incompleteDateValidation ? incompleteDateValidator() : noop;
627
621
  this.onValidatorChange();
628
622
  }
623
+ if (!this.focusableId || changes['focusableId']) {
624
+ this.focusableId = this.dateInput?.focusableId;
625
+ }
629
626
  }
630
627
  ngOnDestroy() {
631
628
  if (this.isOpen) {
@@ -645,7 +642,7 @@ export class DateTimePickerComponent {
645
642
  this.activeTabComponent.focus();
646
643
  }
647
644
  else {
648
- this.input.focus();
645
+ this.dateInput.focus();
649
646
  }
650
647
  }
651
648
  /**
@@ -656,7 +653,7 @@ export class DateTimePickerComponent {
656
653
  this.activeTabComponent.blur();
657
654
  }
658
655
  else {
659
- this.input.blur();
656
+ this.dateInput.blur();
660
657
  }
661
658
  }
662
659
  /**
@@ -708,7 +705,7 @@ export class DateTimePickerComponent {
708
705
  * @hidden
709
706
  */
710
707
  validate(control) {
711
- return this.minValidateFn(control) || this.maxValidateFn(control) || this.disabledDatesValidateFn(control) || this.incompleteValidator(control, this.input && this.input.isDateIncomplete);
708
+ return this.minValidateFn(control) || this.maxValidateFn(control) || this.disabledDatesValidateFn(control) || this.incompleteValidator(control, this.dateInput && this.dateInput.isDateIncomplete);
712
709
  }
713
710
  /**
714
711
  * @hidden
@@ -722,7 +719,7 @@ export class DateTimePickerComponent {
722
719
  * Used by the TextBoxContainer to determine if the floating label will render in the input.
723
720
  */
724
721
  isEmpty() {
725
- return !isPresent(this.value) && this.input.isEmpty();
722
+ return !isPresent(this.value) && this.dateInput.isEmpty();
726
723
  }
727
724
  /**
728
725
  * @hidden
@@ -795,7 +792,7 @@ export class DateTimePickerComponent {
795
792
  return;
796
793
  }
797
794
  if (this.activeTab === 'time') {
798
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
795
+ this.renderer.removeAttribute(this.dateInput?.inputElement, attributeNames.ariaActiveDescendant);
799
796
  }
800
797
  this.activeTabComponent.focus();
801
798
  }
@@ -940,7 +937,6 @@ export class DateTimePickerComponent {
940
937
  this.cdr.markForCheck();
941
938
  // Reset tabs after actionsheet is collapsed, otherwise the tab change can be seen during the animation
942
939
  this.resetActiveTab();
943
- this.input.focus();
944
940
  }
945
941
  /**
946
942
  * @hidden
@@ -972,14 +968,14 @@ export class DateTimePickerComponent {
972
968
  this.actionSheet.toggle();
973
969
  this.updateActionSheetAdaptiveAppearance();
974
970
  this.renderer.setAttribute(this.actionSheet.element.nativeElement, 'id', this.popupUID);
975
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
971
+ this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
976
972
  this.setAriaActiveDescendant();
977
973
  }
978
974
  else if (isPresent(show) && !show && this.isOpen) {
979
975
  this.actionSheet.toggle();
980
976
  this.ariaActiveDescendantSubscription.unsubscribe();
981
- this.renderer.removeAttribute(this.input.inputElement, attributeNames.ariaActiveDescendant);
982
- this.renderer.removeAttribute(this.input.inputElement, attributeNames.ariaControls);
977
+ this.renderer.removeAttribute(this.dateInput?.inputElement, attributeNames.ariaActiveDescendant);
978
+ this.renderer.removeAttribute(this.dateInput?.inputElement, attributeNames.ariaControls);
983
979
  }
984
980
  }
985
981
  updateActionSheetAdaptiveAppearance() {
@@ -1094,9 +1090,9 @@ export class DateTimePickerComponent {
1094
1090
  this.activeTabComponent.focus();
1095
1091
  }
1096
1092
  else if (!this.touchEnabled) {
1097
- this.input.focus();
1093
+ this.dateInput.focus();
1098
1094
  }
1099
- else if (!this.input.isActive) {
1095
+ else if (!this.dateInput.isActive) {
1100
1096
  this.handleBlur();
1101
1097
  }
1102
1098
  }
@@ -1115,7 +1111,7 @@ export class DateTimePickerComponent {
1115
1111
  popupAlign: { vertical: 'top', horizontal: direction }
1116
1112
  });
1117
1113
  this.popupRef.popupElement.setAttribute('id', this.popupUID);
1118
- this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
1114
+ this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaControls, this.popupUID);
1119
1115
  this.setAriaActiveDescendant();
1120
1116
  this.popupRef.popupAnchorViewportLeave.subscribe(() => this.handleCancel());
1121
1117
  if (this.calendar.type === 'infinite') {
@@ -1132,15 +1128,15 @@ export class DateTimePickerComponent {
1132
1128
  const focusedCellChangeEvent = this.calendar.type === 'infinite' ?
1133
1129
  this.calendar.monthView.focusedCellChange :
1134
1130
  this.calendar.multiViewCalendar.viewList.focusedCellChange;
1135
- this.ariaActiveDescendantSubscription = focusedCellChangeEvent.subscribe((id) => this.renderer.setAttribute(this.input.inputElement, attributeNames.ariaActiveDescendant, id));
1131
+ this.ariaActiveDescendantSubscription = focusedCellChangeEvent.subscribe((id) => this.renderer.setAttribute(this.dateInput?.inputElement, attributeNames.ariaActiveDescendant, id));
1136
1132
  }
1137
1133
  closePopup() {
1138
1134
  if (!this.isOpen) {
1139
1135
  return;
1140
1136
  }
1141
1137
  this.ariaActiveDescendantSubscription.unsubscribe();
1142
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
1143
- this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
1138
+ this.renderer.removeAttribute(this.dateInput?.inputElement, attributeNames.ariaControls);
1139
+ this.renderer.removeAttribute(this.dateInput?.inputElement, attributeNames.ariaActiveDescendant);
1144
1140
  this.popupRef.close();
1145
1141
  this.popupRef = null;
1146
1142
  }
@@ -1360,6 +1356,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1360
1356
  #actionSheet
1361
1357
  (overlayClick)="toggleDateTime(false)"
1362
1358
  (collapse)="handleActionSheetCollapse()"
1359
+ [titleId]="calendar?.headerId"
1363
1360
  >
1364
1361
  <ng-template kendoActionSheetTemplate>
1365
1362
  <div class="k-actionsheet-titlebar">
@@ -1469,6 +1466,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1469
1466
  >
1470
1467
  <div class="k-datetime-calendar-wrap">
1471
1468
  <kendo-calendar
1469
+ #calendar
1472
1470
  [ngClass]="{'k-calendar-lg': isAdaptive}"
1473
1471
  [focusedDate]="focusedDate"
1474
1472
  [(value)]="calendarValue"
@@ -1531,7 +1529,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1531
1529
  </div>
1532
1530
  <div
1533
1531
  *ngIf="!isAdaptive"
1534
- class="k-datetime-footer k-action-buttons k-actions k-hstack k-justify-content-stretch"
1532
+ class="k-datetime-footer k-actions k-actions-stretched k-actions-horizontal"
1535
1533
  [kendoEventsOutsideAngular]="{
1536
1534
  focusin: handleFocus,
1537
1535
  focusout: handleBlur
@@ -1539,39 +1537,39 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1539
1537
  [scope]="this"
1540
1538
  >
1541
1539
  <button
1542
- *ngIf="cancelButton"
1543
1540
  type="button"
1544
- class="k-button k-time-cancel"
1545
- [ngClass]="popupButtonsClasses()"
1546
- [attr.title]="localization.get('cancelLabel')"
1547
- [attr.aria-label]="localization.get('cancelLabel')"
1541
+ class="k-button k-time-accept"
1542
+ [ngClass]="popupButtonsClasses('primary')"
1543
+ [attr.title]="localization.get('acceptLabel')"
1544
+ [attr.aria-label]="localization.get('acceptLabel')"
1545
+ [disabled]="!calendarValue"
1548
1546
  [kendoEventsOutsideAngular]="{
1549
- click: handleCancel,
1547
+ click: handleAccept,
1550
1548
  'keydown.tab': handleTab
1551
1549
  }"
1552
1550
  [scope]="this"
1553
1551
  >
1554
- {{localization.get('cancel')}}
1552
+ {{localization.get('accept')}}
1555
1553
  </button>
1556
1554
  <button
1555
+ *ngIf="cancelButton"
1557
1556
  type="button"
1558
- class="k-button k-time-accept"
1559
- [ngClass]="popupButtonsClasses('primary')"
1560
- [attr.title]="localization.get('acceptLabel')"
1561
- [attr.aria-label]="localization.get('acceptLabel')"
1562
- [disabled]="!calendarValue"
1557
+ class="k-button k-time-cancel"
1558
+ [ngClass]="popupButtonsClasses()"
1559
+ [attr.title]="localization.get('cancelLabel')"
1560
+ [attr.aria-label]="localization.get('cancelLabel')"
1563
1561
  [kendoEventsOutsideAngular]="{
1564
- click: handleAccept,
1562
+ click: handleCancel,
1565
1563
  'keydown.tab': handleTab
1566
1564
  }"
1567
1565
  [scope]="this"
1568
1566
  >
1569
- {{localization.get('accept')}}
1567
+ {{localization.get('cancel')}}
1570
1568
  </button>
1571
1569
  </div>
1572
1570
  </div>
1573
1571
  </ng-template>
1574
- `, isInline: true, components: [{ type: i6.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.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: i11.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: i12.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { type: i13.TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }, { type: i14.TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: i15.LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i16.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i16.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i16.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1572
+ `, isInline: true, components: [{ type: i6.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.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: i11.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: i12.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { type: i13.TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }, { type: i14.TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: i15.LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i16.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i16.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i16.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1575
1573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateTimePickerComponent, decorators: [{
1576
1574
  type: Component,
1577
1575
  args: [{
@@ -1722,6 +1720,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1722
1720
  #actionSheet
1723
1721
  (overlayClick)="toggleDateTime(false)"
1724
1722
  (collapse)="handleActionSheetCollapse()"
1723
+ [titleId]="calendar?.headerId"
1725
1724
  >
1726
1725
  <ng-template kendoActionSheetTemplate>
1727
1726
  <div class="k-actionsheet-titlebar">
@@ -1831,6 +1830,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1831
1830
  >
1832
1831
  <div class="k-datetime-calendar-wrap">
1833
1832
  <kendo-calendar
1833
+ #calendar
1834
1834
  [ngClass]="{'k-calendar-lg': isAdaptive}"
1835
1835
  [focusedDate]="focusedDate"
1836
1836
  [(value)]="calendarValue"
@@ -1893,7 +1893,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1893
1893
  </div>
1894
1894
  <div
1895
1895
  *ngIf="!isAdaptive"
1896
- class="k-datetime-footer k-action-buttons k-actions k-hstack k-justify-content-stretch"
1896
+ class="k-datetime-footer k-actions k-actions-stretched k-actions-horizontal"
1897
1897
  [kendoEventsOutsideAngular]="{
1898
1898
  focusin: handleFocus,
1899
1899
  focusout: handleBlur
@@ -1901,34 +1901,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1901
1901
  [scope]="this"
1902
1902
  >
1903
1903
  <button
1904
- *ngIf="cancelButton"
1905
1904
  type="button"
1906
- class="k-button k-time-cancel"
1907
- [ngClass]="popupButtonsClasses()"
1908
- [attr.title]="localization.get('cancelLabel')"
1909
- [attr.aria-label]="localization.get('cancelLabel')"
1905
+ class="k-button k-time-accept"
1906
+ [ngClass]="popupButtonsClasses('primary')"
1907
+ [attr.title]="localization.get('acceptLabel')"
1908
+ [attr.aria-label]="localization.get('acceptLabel')"
1909
+ [disabled]="!calendarValue"
1910
1910
  [kendoEventsOutsideAngular]="{
1911
- click: handleCancel,
1911
+ click: handleAccept,
1912
1912
  'keydown.tab': handleTab
1913
1913
  }"
1914
1914
  [scope]="this"
1915
1915
  >
1916
- {{localization.get('cancel')}}
1916
+ {{localization.get('accept')}}
1917
1917
  </button>
1918
1918
  <button
1919
+ *ngIf="cancelButton"
1919
1920
  type="button"
1920
- class="k-button k-time-accept"
1921
- [ngClass]="popupButtonsClasses('primary')"
1922
- [attr.title]="localization.get('acceptLabel')"
1923
- [attr.aria-label]="localization.get('acceptLabel')"
1924
- [disabled]="!calendarValue"
1921
+ class="k-button k-time-cancel"
1922
+ [ngClass]="popupButtonsClasses()"
1923
+ [attr.title]="localization.get('cancelLabel')"
1924
+ [attr.aria-label]="localization.get('cancelLabel')"
1925
1925
  [kendoEventsOutsideAngular]="{
1926
- click: handleAccept,
1926
+ click: handleCancel,
1927
1927
  'keydown.tab': handleTab
1928
1928
  }"
1929
1929
  [scope]="this"
1930
1930
  >
1931
- {{localization.get('accept')}}
1931
+ {{localization.get('cancel')}}
1932
1932
  </button>
1933
1933
  </div>
1934
1934
  </div>
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-dateinputs',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1684846671,
13
- version: '13.0.0-develop.2',
12
+ publishDate: 1685972909,
13
+ version: '13.0.0-develop.21',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };