@progress/kendo-angular-dateinputs 15.4.0-develop.5 → 15.4.0-develop.7
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.
- package/esm2020/datetimepicker/datetimepicker.component.mjs +66 -36
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/timepicker/timepicker.component.mjs +29 -28
- package/esm2020/timepicker/timeselector.component.mjs +11 -4
- package/fesm2015/progress-kendo-angular-dateinputs.mjs +109 -70
- package/fesm2020/progress-kendo-angular-dateinputs.mjs +108 -70
- package/package.json +11 -11
- package/timepicker/timepicker.component.d.ts +1 -1
|
@@ -642,11 +642,21 @@ export class DateTimePickerComponent {
|
|
|
642
642
|
}
|
|
643
643
|
;
|
|
644
644
|
get acceptButton() {
|
|
645
|
-
|
|
645
|
+
if (this.isAdaptive) {
|
|
646
|
+
return this.actionSheet.element.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR);
|
|
647
|
+
}
|
|
648
|
+
else {
|
|
649
|
+
return this.popupRef?.popup.instance.container.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR);
|
|
650
|
+
}
|
|
646
651
|
}
|
|
647
652
|
;
|
|
648
653
|
get cancelButtonElement() {
|
|
649
|
-
|
|
654
|
+
if (this.isAdaptive) {
|
|
655
|
+
return this.actionSheet.element.nativeElement.querySelector(CANCEL_BUTTON_SELECOTR);
|
|
656
|
+
}
|
|
657
|
+
else {
|
|
658
|
+
return this.popupRef?.popup.instance.container.nativeElement.querySelector(CANCEL_BUTTON_SELECOTR);
|
|
659
|
+
}
|
|
650
660
|
}
|
|
651
661
|
;
|
|
652
662
|
get dateTabButton() {
|
|
@@ -876,15 +886,15 @@ export class DateTimePickerComponent {
|
|
|
876
886
|
* @hidden
|
|
877
887
|
*/
|
|
878
888
|
onTabOutLastPart() {
|
|
879
|
-
if (
|
|
880
|
-
this.dateTabButton.focus();
|
|
881
|
-
}
|
|
882
|
-
else if (!this.cancelButton && this.calendarValue) {
|
|
889
|
+
if (this.calendarValue) {
|
|
883
890
|
this.acceptButton.focus();
|
|
884
891
|
}
|
|
885
|
-
else if (this.cancelButton) {
|
|
892
|
+
else if (!this.calendarValue && this.cancelButton) {
|
|
886
893
|
this.cancelButtonElement.focus();
|
|
887
894
|
}
|
|
895
|
+
else {
|
|
896
|
+
this.dateTabButton.focus();
|
|
897
|
+
}
|
|
888
898
|
}
|
|
889
899
|
/**
|
|
890
900
|
* @hidden
|
|
@@ -973,26 +983,38 @@ export class DateTimePickerComponent {
|
|
|
973
983
|
const { shiftKey } = event;
|
|
974
984
|
switch (event.target) {
|
|
975
985
|
case this.acceptButton:
|
|
976
|
-
if (!shiftKey
|
|
977
|
-
this.dateTabButton.focus();
|
|
986
|
+
if (!shiftKey) {
|
|
987
|
+
this.cancelButton ? this.cancelButtonElement.focus() : this.dateTabButton.focus();
|
|
988
|
+
}
|
|
989
|
+
else {
|
|
990
|
+
if (this.activeTab === 'date') {
|
|
991
|
+
this.calendar.monthView.list.nativeElement.focus();
|
|
992
|
+
}
|
|
978
993
|
}
|
|
979
994
|
break;
|
|
980
995
|
case this.cancelButtonElement:
|
|
981
|
-
if (
|
|
982
|
-
this.dateTabButton.focus();
|
|
996
|
+
if (this.calendarValue) {
|
|
997
|
+
shiftKey ? this.acceptButton.focus() : this.dateTabButton.focus();
|
|
983
998
|
}
|
|
984
|
-
else
|
|
985
|
-
|
|
999
|
+
else {
|
|
1000
|
+
if (shiftKey) {
|
|
1001
|
+
if (this.activeTab === 'date') {
|
|
1002
|
+
this.calendar.monthView.list.nativeElement.focus();
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
else {
|
|
1006
|
+
this.dateTabButton.focus();
|
|
1007
|
+
}
|
|
986
1008
|
}
|
|
987
1009
|
break;
|
|
988
1010
|
case this.dateTabButton:
|
|
989
|
-
if (this.
|
|
990
|
-
this.acceptButton.focus();
|
|
991
|
-
}
|
|
992
|
-
else if (!this.calendarValue && this.cancelButton) {
|
|
1011
|
+
if (this.cancelButton) {
|
|
993
1012
|
this.cancelButtonElement.focus();
|
|
994
1013
|
}
|
|
995
|
-
|
|
1014
|
+
if (!this.cancelButton && this.calendarValue) {
|
|
1015
|
+
this.acceptButton.focus();
|
|
1016
|
+
}
|
|
1017
|
+
if (!this.cancelButton && !this.calendarValue) {
|
|
996
1018
|
if (this.activeTab === 'date') {
|
|
997
1019
|
this.calendar.monthView.list.nativeElement.focus();
|
|
998
1020
|
}
|
|
@@ -1475,23 +1497,27 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
1475
1497
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
1476
1498
|
<button kendoButton
|
|
1477
1499
|
type="button"
|
|
1478
|
-
|
|
1500
|
+
class="k-time-accept"
|
|
1501
|
+
(click)="handleAccept()"
|
|
1502
|
+
[disabled]="!calendarValue"
|
|
1479
1503
|
size="large"
|
|
1480
|
-
|
|
1481
|
-
[attr.
|
|
1504
|
+
themeColor="primary"
|
|
1505
|
+
[attr.title]="localization.get('acceptLabel')"
|
|
1506
|
+
[attr.aria-label]="localization.get('acceptLabel')"
|
|
1482
1507
|
>
|
|
1483
|
-
{{localization.get('
|
|
1508
|
+
{{localization.get('accept')}}
|
|
1484
1509
|
</button>
|
|
1485
1510
|
|
|
1486
1511
|
<button kendoButton
|
|
1512
|
+
*ngIf="cancelButton"
|
|
1513
|
+
class="k-time-cancel"
|
|
1487
1514
|
type="button"
|
|
1488
|
-
(click)="
|
|
1515
|
+
(click)="handleCancel()"
|
|
1489
1516
|
size="large"
|
|
1490
|
-
|
|
1491
|
-
[attr.
|
|
1492
|
-
[attr.aria-label]="localization.get('acceptLabel')"
|
|
1517
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
1518
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
1493
1519
|
>
|
|
1494
|
-
{{localization.get('
|
|
1520
|
+
{{localization.get('cancel')}}
|
|
1495
1521
|
</button>
|
|
1496
1522
|
</div>
|
|
1497
1523
|
</ng-template>
|
|
@@ -1857,23 +1883,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
1857
1883
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
1858
1884
|
<button kendoButton
|
|
1859
1885
|
type="button"
|
|
1860
|
-
|
|
1886
|
+
class="k-time-accept"
|
|
1887
|
+
(click)="handleAccept()"
|
|
1888
|
+
[disabled]="!calendarValue"
|
|
1861
1889
|
size="large"
|
|
1862
|
-
|
|
1863
|
-
[attr.
|
|
1890
|
+
themeColor="primary"
|
|
1891
|
+
[attr.title]="localization.get('acceptLabel')"
|
|
1892
|
+
[attr.aria-label]="localization.get('acceptLabel')"
|
|
1864
1893
|
>
|
|
1865
|
-
{{localization.get('
|
|
1894
|
+
{{localization.get('accept')}}
|
|
1866
1895
|
</button>
|
|
1867
1896
|
|
|
1868
1897
|
<button kendoButton
|
|
1898
|
+
*ngIf="cancelButton"
|
|
1899
|
+
class="k-time-cancel"
|
|
1869
1900
|
type="button"
|
|
1870
|
-
(click)="
|
|
1901
|
+
(click)="handleCancel()"
|
|
1871
1902
|
size="large"
|
|
1872
|
-
|
|
1873
|
-
[attr.
|
|
1874
|
-
[attr.aria-label]="localization.get('acceptLabel')"
|
|
1903
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
1904
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
1875
1905
|
>
|
|
1876
|
-
{{localization.get('
|
|
1906
|
+
{{localization.get('cancel')}}
|
|
1877
1907
|
</button>
|
|
1878
1908
|
</div>
|
|
1879
1909
|
</ng-template>
|
|
@@ -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:
|
|
13
|
-
version: '15.4.0-develop.
|
|
12
|
+
publishDate: 1711982489,
|
|
13
|
+
version: '15.4.0-develop.7',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -42,6 +42,7 @@ import * as i14 from "@angular/common";
|
|
|
42
42
|
const VALUE_DOC_LINK = 'https://www.telerik.com/kendo-angular-ui/components/dateinputs/timepicker/#toc-integration-with-json';
|
|
43
43
|
const INTL_DATE_FORMAT = 'https://github.com/telerik/kendo-intl/blob/master/docs/date-formatting/index.md';
|
|
44
44
|
const formatRegExp = new RegExp(`${TIME_PART.hour}|${TIME_PART.minute}|${TIME_PART.second}|${TIME_PART.millisecond}|${TIME_PART.dayperiod}|literal`);
|
|
45
|
+
const ACCEPT_BUTTON_SELECTOR = '.k-button.k-time-accept';
|
|
45
46
|
/**
|
|
46
47
|
* Represents the [Kendo UI TimePicker component for Angular]({% slug overview_timepicker %}#toc-basic-usage).
|
|
47
48
|
*/
|
|
@@ -446,9 +447,10 @@ export class TimePickerComponent {
|
|
|
446
447
|
get timeSelector() {
|
|
447
448
|
return this.pickerService.timeSelector;
|
|
448
449
|
}
|
|
449
|
-
get
|
|
450
|
-
return this.
|
|
450
|
+
get adaptiveAcceptButton() {
|
|
451
|
+
return this.actionSheet.element.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR);
|
|
451
452
|
}
|
|
453
|
+
;
|
|
452
454
|
/**
|
|
453
455
|
* @hidden
|
|
454
456
|
* Used by the TextBoxContainer to determine if the component is empty
|
|
@@ -761,12 +763,7 @@ export class TimePickerComponent {
|
|
|
761
763
|
* @hidden
|
|
762
764
|
*/
|
|
763
765
|
onTabOutLastPart() {
|
|
764
|
-
|
|
765
|
-
this.timeSelector.cancel.nativeElement.focus();
|
|
766
|
-
}
|
|
767
|
-
else {
|
|
768
|
-
this.timeSelector.accept.nativeElement.focus();
|
|
769
|
-
}
|
|
766
|
+
this.isAdaptive ? this.adaptiveAcceptButton.focus() : this.timeSelector.accept.nativeElement.focus();
|
|
770
767
|
}
|
|
771
768
|
toggleTimeSelector(show) {
|
|
772
769
|
this.windowSize = windowSize();
|
|
@@ -1097,26 +1094,28 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
1097
1094
|
<ng-container *ngTemplateOutlet="timeSelectorTemplate"></ng-container>
|
|
1098
1095
|
</div>
|
|
1099
1096
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
1100
|
-
<button kendoButton
|
|
1101
|
-
type="button"
|
|
1102
|
-
(click)="handleReject()"
|
|
1103
|
-
size="large"
|
|
1104
|
-
[attr.title]="localization.get('cancelLabel')"
|
|
1105
|
-
[attr.aria-label]="localization.get('cancelLabel')"
|
|
1106
|
-
>
|
|
1107
|
-
{{localization.get('cancel')}}
|
|
1108
|
-
</button>
|
|
1109
|
-
|
|
1110
1097
|
<button kendoButton
|
|
1111
1098
|
type="button"
|
|
1112
1099
|
(click)="handleActionSheetAccept()"
|
|
1113
1100
|
size="large"
|
|
1101
|
+
class="k-time-accept"
|
|
1114
1102
|
themeColor="primary"
|
|
1115
1103
|
[attr.title]="localization.get('acceptLabel')"
|
|
1116
1104
|
[attr.aria-label]="localization.get('acceptLabel')"
|
|
1117
1105
|
>
|
|
1118
1106
|
{{localization.get('accept')}}
|
|
1119
1107
|
</button>
|
|
1108
|
+
|
|
1109
|
+
<button kendoButton
|
|
1110
|
+
type="button"
|
|
1111
|
+
(click)="handleReject()"
|
|
1112
|
+
size="large"
|
|
1113
|
+
class="k-time-cancel"
|
|
1114
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
1115
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
1116
|
+
>
|
|
1117
|
+
{{localization.get('cancel')}}
|
|
1118
|
+
</button>
|
|
1120
1119
|
</div>
|
|
1121
1120
|
</ng-template>
|
|
1122
1121
|
</kendo-actionsheet>
|
|
@@ -1308,26 +1307,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
1308
1307
|
<ng-container *ngTemplateOutlet="timeSelectorTemplate"></ng-container>
|
|
1309
1308
|
</div>
|
|
1310
1309
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
1311
|
-
<button kendoButton
|
|
1312
|
-
type="button"
|
|
1313
|
-
(click)="handleReject()"
|
|
1314
|
-
size="large"
|
|
1315
|
-
[attr.title]="localization.get('cancelLabel')"
|
|
1316
|
-
[attr.aria-label]="localization.get('cancelLabel')"
|
|
1317
|
-
>
|
|
1318
|
-
{{localization.get('cancel')}}
|
|
1319
|
-
</button>
|
|
1320
|
-
|
|
1321
1310
|
<button kendoButton
|
|
1322
1311
|
type="button"
|
|
1323
1312
|
(click)="handleActionSheetAccept()"
|
|
1324
1313
|
size="large"
|
|
1314
|
+
class="k-time-accept"
|
|
1325
1315
|
themeColor="primary"
|
|
1326
1316
|
[attr.title]="localization.get('acceptLabel')"
|
|
1327
1317
|
[attr.aria-label]="localization.get('acceptLabel')"
|
|
1328
1318
|
>
|
|
1329
1319
|
{{localization.get('accept')}}
|
|
1330
1320
|
</button>
|
|
1321
|
+
|
|
1322
|
+
<button kendoButton
|
|
1323
|
+
type="button"
|
|
1324
|
+
(click)="handleReject()"
|
|
1325
|
+
size="large"
|
|
1326
|
+
class="k-time-cancel"
|
|
1327
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
1328
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
1329
|
+
>
|
|
1330
|
+
{{localization.get('cancel')}}
|
|
1331
|
+
</button>
|
|
1331
1332
|
</div>
|
|
1332
1333
|
</ng-template>
|
|
1333
1334
|
</kendo-actionsheet>
|
|
@@ -192,7 +192,7 @@ export class TimeSelectorComponent {
|
|
|
192
192
|
if (keyCode === Keys.Tab && shiftKey) {
|
|
193
193
|
event.preventDefault();
|
|
194
194
|
this.renderer.removeClass(this.timeListWrappers.first.nativeElement, 'k-focus');
|
|
195
|
-
this.
|
|
195
|
+
this.cancel ? this.cancel.nativeElement.focus() : this.accept?.nativeElement.focus();
|
|
196
196
|
}
|
|
197
197
|
}));
|
|
198
198
|
this.subscriptions.add(fromEvent(this.timeListWrappers.last.nativeElement, 'keydown').subscribe((event) => {
|
|
@@ -313,7 +313,12 @@ export class TimeSelectorComponent {
|
|
|
313
313
|
const { keyCode, shiftKey } = event;
|
|
314
314
|
if (keyCode === Keys.Tab && !shiftKey) {
|
|
315
315
|
event.preventDefault();
|
|
316
|
-
this.
|
|
316
|
+
if (document.activeElement === this.accept.nativeElement) {
|
|
317
|
+
this.cancel ? this.cancel.nativeElement.focus() : this.timeLists.first.focus();
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
this.timeLists.first.focus();
|
|
321
|
+
}
|
|
317
322
|
}
|
|
318
323
|
}
|
|
319
324
|
partStep(part) {
|
|
@@ -509,7 +514,8 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
509
514
|
[kendoEventsOutsideAngular]="{
|
|
510
515
|
click: handleReject,
|
|
511
516
|
focus: handleFocus,
|
|
512
|
-
blur: handleBlur
|
|
517
|
+
blur: handleBlur,
|
|
518
|
+
keydown: handleTabOut
|
|
513
519
|
}"
|
|
514
520
|
[scope]="this"
|
|
515
521
|
[disabled]="disabled"
|
|
@@ -629,7 +635,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
629
635
|
[kendoEventsOutsideAngular]="{
|
|
630
636
|
click: handleReject,
|
|
631
637
|
focus: handleFocus,
|
|
632
|
-
blur: handleBlur
|
|
638
|
+
blur: handleBlur,
|
|
639
|
+
keydown: handleTabOut
|
|
633
640
|
}"
|
|
634
641
|
[scope]="this"
|
|
635
642
|
[disabled]="disabled"
|
|
@@ -38,8 +38,8 @@ const packageMetadata = {
|
|
|
38
38
|
name: '@progress/kendo-angular-dateinputs',
|
|
39
39
|
productName: 'Kendo UI for Angular',
|
|
40
40
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
41
|
-
publishDate:
|
|
42
|
-
version: '15.4.0-develop.
|
|
41
|
+
publishDate: 1711982489,
|
|
42
|
+
version: '15.4.0-develop.7',
|
|
43
43
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
44
44
|
};
|
|
45
45
|
|
|
@@ -11483,11 +11483,12 @@ class TimeSelectorComponent {
|
|
|
11483
11483
|
}
|
|
11484
11484
|
ngAfterViewInit() {
|
|
11485
11485
|
this.subscriptions.add(fromEvent(this.timeListWrappers.first.nativeElement, 'keydown').subscribe((event) => {
|
|
11486
|
+
var _a;
|
|
11486
11487
|
const { keyCode, shiftKey } = event;
|
|
11487
11488
|
if (keyCode === Keys$1.Tab && shiftKey) {
|
|
11488
11489
|
event.preventDefault();
|
|
11489
11490
|
this.renderer.removeClass(this.timeListWrappers.first.nativeElement, 'k-focus');
|
|
11490
|
-
this.accept.nativeElement.focus();
|
|
11491
|
+
this.cancel ? this.cancel.nativeElement.focus() : (_a = this.accept) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
|
|
11491
11492
|
}
|
|
11492
11493
|
}));
|
|
11493
11494
|
this.subscriptions.add(fromEvent(this.timeListWrappers.last.nativeElement, 'keydown').subscribe((event) => {
|
|
@@ -11608,7 +11609,12 @@ class TimeSelectorComponent {
|
|
|
11608
11609
|
const { keyCode, shiftKey } = event;
|
|
11609
11610
|
if (keyCode === Keys$1.Tab && !shiftKey) {
|
|
11610
11611
|
event.preventDefault();
|
|
11611
|
-
this.
|
|
11612
|
+
if (document.activeElement === this.accept.nativeElement) {
|
|
11613
|
+
this.cancel ? this.cancel.nativeElement.focus() : this.timeLists.first.focus();
|
|
11614
|
+
}
|
|
11615
|
+
else {
|
|
11616
|
+
this.timeLists.first.focus();
|
|
11617
|
+
}
|
|
11612
11618
|
}
|
|
11613
11619
|
}
|
|
11614
11620
|
partStep(part) {
|
|
@@ -11804,7 +11810,8 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
11804
11810
|
[kendoEventsOutsideAngular]="{
|
|
11805
11811
|
click: handleReject,
|
|
11806
11812
|
focus: handleFocus,
|
|
11807
|
-
blur: handleBlur
|
|
11813
|
+
blur: handleBlur,
|
|
11814
|
+
keydown: handleTabOut
|
|
11808
11815
|
}"
|
|
11809
11816
|
[scope]="this"
|
|
11810
11817
|
[disabled]="disabled"
|
|
@@ -11924,7 +11931,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11924
11931
|
[kendoEventsOutsideAngular]="{
|
|
11925
11932
|
click: handleReject,
|
|
11926
11933
|
focus: handleFocus,
|
|
11927
|
-
blur: handleBlur
|
|
11934
|
+
blur: handleBlur,
|
|
11935
|
+
keydown: handleTabOut
|
|
11928
11936
|
}"
|
|
11929
11937
|
[scope]="this"
|
|
11930
11938
|
[disabled]="disabled"
|
|
@@ -12051,6 +12059,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
12051
12059
|
const VALUE_DOC_LINK$1 = 'https://www.telerik.com/kendo-angular-ui/components/dateinputs/timepicker/#toc-integration-with-json';
|
|
12052
12060
|
const INTL_DATE_FORMAT = 'https://github.com/telerik/kendo-intl/blob/master/docs/date-formatting/index.md';
|
|
12053
12061
|
const formatRegExp = new RegExp(`${TIME_PART.hour}|${TIME_PART.minute}|${TIME_PART.second}|${TIME_PART.millisecond}|${TIME_PART.dayperiod}|literal`);
|
|
12062
|
+
const ACCEPT_BUTTON_SELECTOR$1 = '.k-button.k-time-accept';
|
|
12054
12063
|
/**
|
|
12055
12064
|
* Represents the [Kendo UI TimePicker component for Angular]({% slug overview_timepicker %}#toc-basic-usage).
|
|
12056
12065
|
*/
|
|
@@ -12455,9 +12464,10 @@ class TimePickerComponent {
|
|
|
12455
12464
|
get timeSelector() {
|
|
12456
12465
|
return this.pickerService.timeSelector;
|
|
12457
12466
|
}
|
|
12458
|
-
get
|
|
12459
|
-
return this.
|
|
12467
|
+
get adaptiveAcceptButton() {
|
|
12468
|
+
return this.actionSheet.element.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR$1);
|
|
12460
12469
|
}
|
|
12470
|
+
;
|
|
12461
12471
|
/**
|
|
12462
12472
|
* @hidden
|
|
12463
12473
|
* Used by the TextBoxContainer to determine if the component is empty
|
|
@@ -12771,12 +12781,7 @@ class TimePickerComponent {
|
|
|
12771
12781
|
* @hidden
|
|
12772
12782
|
*/
|
|
12773
12783
|
onTabOutLastPart() {
|
|
12774
|
-
|
|
12775
|
-
this.timeSelector.cancel.nativeElement.focus();
|
|
12776
|
-
}
|
|
12777
|
-
else {
|
|
12778
|
-
this.timeSelector.accept.nativeElement.focus();
|
|
12779
|
-
}
|
|
12784
|
+
this.isAdaptive ? this.adaptiveAcceptButton.focus() : this.timeSelector.accept.nativeElement.focus();
|
|
12780
12785
|
}
|
|
12781
12786
|
toggleTimeSelector(show) {
|
|
12782
12787
|
this.windowSize = windowSize();
|
|
@@ -13109,26 +13114,28 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
13109
13114
|
<ng-container *ngTemplateOutlet="timeSelectorTemplate"></ng-container>
|
|
13110
13115
|
</div>
|
|
13111
13116
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
13112
|
-
<button kendoButton
|
|
13113
|
-
type="button"
|
|
13114
|
-
(click)="handleReject()"
|
|
13115
|
-
size="large"
|
|
13116
|
-
[attr.title]="localization.get('cancelLabel')"
|
|
13117
|
-
[attr.aria-label]="localization.get('cancelLabel')"
|
|
13118
|
-
>
|
|
13119
|
-
{{localization.get('cancel')}}
|
|
13120
|
-
</button>
|
|
13121
|
-
|
|
13122
13117
|
<button kendoButton
|
|
13123
13118
|
type="button"
|
|
13124
13119
|
(click)="handleActionSheetAccept()"
|
|
13125
13120
|
size="large"
|
|
13121
|
+
class="k-time-accept"
|
|
13126
13122
|
themeColor="primary"
|
|
13127
13123
|
[attr.title]="localization.get('acceptLabel')"
|
|
13128
13124
|
[attr.aria-label]="localization.get('acceptLabel')"
|
|
13129
13125
|
>
|
|
13130
13126
|
{{localization.get('accept')}}
|
|
13131
13127
|
</button>
|
|
13128
|
+
|
|
13129
|
+
<button kendoButton
|
|
13130
|
+
type="button"
|
|
13131
|
+
(click)="handleReject()"
|
|
13132
|
+
size="large"
|
|
13133
|
+
class="k-time-cancel"
|
|
13134
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
13135
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
13136
|
+
>
|
|
13137
|
+
{{localization.get('cancel')}}
|
|
13138
|
+
</button>
|
|
13132
13139
|
</div>
|
|
13133
13140
|
</ng-template>
|
|
13134
13141
|
</kendo-actionsheet>
|
|
@@ -13320,26 +13327,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13320
13327
|
<ng-container *ngTemplateOutlet="timeSelectorTemplate"></ng-container>
|
|
13321
13328
|
</div>
|
|
13322
13329
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
13323
|
-
<button kendoButton
|
|
13324
|
-
type="button"
|
|
13325
|
-
(click)="handleReject()"
|
|
13326
|
-
size="large"
|
|
13327
|
-
[attr.title]="localization.get('cancelLabel')"
|
|
13328
|
-
[attr.aria-label]="localization.get('cancelLabel')"
|
|
13329
|
-
>
|
|
13330
|
-
{{localization.get('cancel')}}
|
|
13331
|
-
</button>
|
|
13332
|
-
|
|
13333
13330
|
<button kendoButton
|
|
13334
13331
|
type="button"
|
|
13335
13332
|
(click)="handleActionSheetAccept()"
|
|
13336
13333
|
size="large"
|
|
13334
|
+
class="k-time-accept"
|
|
13337
13335
|
themeColor="primary"
|
|
13338
13336
|
[attr.title]="localization.get('acceptLabel')"
|
|
13339
13337
|
[attr.aria-label]="localization.get('acceptLabel')"
|
|
13340
13338
|
>
|
|
13341
13339
|
{{localization.get('accept')}}
|
|
13342
13340
|
</button>
|
|
13341
|
+
|
|
13342
|
+
<button kendoButton
|
|
13343
|
+
type="button"
|
|
13344
|
+
(click)="handleReject()"
|
|
13345
|
+
size="large"
|
|
13346
|
+
class="k-time-cancel"
|
|
13347
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
13348
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
13349
|
+
>
|
|
13350
|
+
{{localization.get('cancel')}}
|
|
13351
|
+
</button>
|
|
13343
13352
|
</div>
|
|
13344
13353
|
</ng-template>
|
|
13345
13354
|
</kendo-actionsheet>
|
|
@@ -14163,12 +14172,22 @@ class DateTimePickerComponent {
|
|
|
14163
14172
|
;
|
|
14164
14173
|
get acceptButton() {
|
|
14165
14174
|
var _a;
|
|
14166
|
-
|
|
14175
|
+
if (this.isAdaptive) {
|
|
14176
|
+
return this.actionSheet.element.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR);
|
|
14177
|
+
}
|
|
14178
|
+
else {
|
|
14179
|
+
return (_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.popup.instance.container.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR);
|
|
14180
|
+
}
|
|
14167
14181
|
}
|
|
14168
14182
|
;
|
|
14169
14183
|
get cancelButtonElement() {
|
|
14170
14184
|
var _a;
|
|
14171
|
-
|
|
14185
|
+
if (this.isAdaptive) {
|
|
14186
|
+
return this.actionSheet.element.nativeElement.querySelector(CANCEL_BUTTON_SELECOTR);
|
|
14187
|
+
}
|
|
14188
|
+
else {
|
|
14189
|
+
return (_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.popup.instance.container.nativeElement.querySelector(CANCEL_BUTTON_SELECOTR);
|
|
14190
|
+
}
|
|
14172
14191
|
}
|
|
14173
14192
|
;
|
|
14174
14193
|
get dateTabButton() {
|
|
@@ -14402,15 +14421,15 @@ class DateTimePickerComponent {
|
|
|
14402
14421
|
* @hidden
|
|
14403
14422
|
*/
|
|
14404
14423
|
onTabOutLastPart() {
|
|
14405
|
-
if (
|
|
14406
|
-
this.dateTabButton.focus();
|
|
14407
|
-
}
|
|
14408
|
-
else if (!this.cancelButton && this.calendarValue) {
|
|
14424
|
+
if (this.calendarValue) {
|
|
14409
14425
|
this.acceptButton.focus();
|
|
14410
14426
|
}
|
|
14411
|
-
else if (this.cancelButton) {
|
|
14427
|
+
else if (!this.calendarValue && this.cancelButton) {
|
|
14412
14428
|
this.cancelButtonElement.focus();
|
|
14413
14429
|
}
|
|
14430
|
+
else {
|
|
14431
|
+
this.dateTabButton.focus();
|
|
14432
|
+
}
|
|
14414
14433
|
}
|
|
14415
14434
|
/**
|
|
14416
14435
|
* @hidden
|
|
@@ -14499,26 +14518,38 @@ class DateTimePickerComponent {
|
|
|
14499
14518
|
const { shiftKey } = event;
|
|
14500
14519
|
switch (event.target) {
|
|
14501
14520
|
case this.acceptButton:
|
|
14502
|
-
if (!shiftKey
|
|
14503
|
-
this.dateTabButton.focus();
|
|
14521
|
+
if (!shiftKey) {
|
|
14522
|
+
this.cancelButton ? this.cancelButtonElement.focus() : this.dateTabButton.focus();
|
|
14523
|
+
}
|
|
14524
|
+
else {
|
|
14525
|
+
if (this.activeTab === 'date') {
|
|
14526
|
+
this.calendar.monthView.list.nativeElement.focus();
|
|
14527
|
+
}
|
|
14504
14528
|
}
|
|
14505
14529
|
break;
|
|
14506
14530
|
case this.cancelButtonElement:
|
|
14507
|
-
if (
|
|
14508
|
-
this.dateTabButton.focus();
|
|
14531
|
+
if (this.calendarValue) {
|
|
14532
|
+
shiftKey ? this.acceptButton.focus() : this.dateTabButton.focus();
|
|
14509
14533
|
}
|
|
14510
|
-
else
|
|
14511
|
-
|
|
14534
|
+
else {
|
|
14535
|
+
if (shiftKey) {
|
|
14536
|
+
if (this.activeTab === 'date') {
|
|
14537
|
+
this.calendar.monthView.list.nativeElement.focus();
|
|
14538
|
+
}
|
|
14539
|
+
}
|
|
14540
|
+
else {
|
|
14541
|
+
this.dateTabButton.focus();
|
|
14542
|
+
}
|
|
14512
14543
|
}
|
|
14513
14544
|
break;
|
|
14514
14545
|
case this.dateTabButton:
|
|
14515
|
-
if (this.
|
|
14516
|
-
this.acceptButton.focus();
|
|
14517
|
-
}
|
|
14518
|
-
else if (!this.calendarValue && this.cancelButton) {
|
|
14546
|
+
if (this.cancelButton) {
|
|
14519
14547
|
this.cancelButtonElement.focus();
|
|
14520
14548
|
}
|
|
14521
|
-
|
|
14549
|
+
if (!this.cancelButton && this.calendarValue) {
|
|
14550
|
+
this.acceptButton.focus();
|
|
14551
|
+
}
|
|
14552
|
+
if (!this.cancelButton && !this.calendarValue) {
|
|
14522
14553
|
if (this.activeTab === 'date') {
|
|
14523
14554
|
this.calendar.monthView.list.nativeElement.focus();
|
|
14524
14555
|
}
|
|
@@ -15004,23 +15035,27 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
15004
15035
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
15005
15036
|
<button kendoButton
|
|
15006
15037
|
type="button"
|
|
15007
|
-
|
|
15038
|
+
class="k-time-accept"
|
|
15039
|
+
(click)="handleAccept()"
|
|
15040
|
+
[disabled]="!calendarValue"
|
|
15008
15041
|
size="large"
|
|
15009
|
-
|
|
15010
|
-
[attr.
|
|
15042
|
+
themeColor="primary"
|
|
15043
|
+
[attr.title]="localization.get('acceptLabel')"
|
|
15044
|
+
[attr.aria-label]="localization.get('acceptLabel')"
|
|
15011
15045
|
>
|
|
15012
|
-
{{localization.get('
|
|
15046
|
+
{{localization.get('accept')}}
|
|
15013
15047
|
</button>
|
|
15014
15048
|
|
|
15015
15049
|
<button kendoButton
|
|
15050
|
+
*ngIf="cancelButton"
|
|
15051
|
+
class="k-time-cancel"
|
|
15016
15052
|
type="button"
|
|
15017
|
-
(click)="
|
|
15053
|
+
(click)="handleCancel()"
|
|
15018
15054
|
size="large"
|
|
15019
|
-
|
|
15020
|
-
[attr.
|
|
15021
|
-
[attr.aria-label]="localization.get('acceptLabel')"
|
|
15055
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
15056
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
15022
15057
|
>
|
|
15023
|
-
{{localization.get('
|
|
15058
|
+
{{localization.get('cancel')}}
|
|
15024
15059
|
</button>
|
|
15025
15060
|
</div>
|
|
15026
15061
|
</ng-template>
|
|
@@ -15386,23 +15421,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15386
15421
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
15387
15422
|
<button kendoButton
|
|
15388
15423
|
type="button"
|
|
15389
|
-
|
|
15424
|
+
class="k-time-accept"
|
|
15425
|
+
(click)="handleAccept()"
|
|
15426
|
+
[disabled]="!calendarValue"
|
|
15390
15427
|
size="large"
|
|
15391
|
-
|
|
15392
|
-
[attr.
|
|
15428
|
+
themeColor="primary"
|
|
15429
|
+
[attr.title]="localization.get('acceptLabel')"
|
|
15430
|
+
[attr.aria-label]="localization.get('acceptLabel')"
|
|
15393
15431
|
>
|
|
15394
|
-
{{localization.get('
|
|
15432
|
+
{{localization.get('accept')}}
|
|
15395
15433
|
</button>
|
|
15396
15434
|
|
|
15397
15435
|
<button kendoButton
|
|
15436
|
+
*ngIf="cancelButton"
|
|
15437
|
+
class="k-time-cancel"
|
|
15398
15438
|
type="button"
|
|
15399
|
-
(click)="
|
|
15439
|
+
(click)="handleCancel()"
|
|
15400
15440
|
size="large"
|
|
15401
|
-
|
|
15402
|
-
[attr.
|
|
15403
|
-
[attr.aria-label]="localization.get('acceptLabel')"
|
|
15441
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
15442
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
15404
15443
|
>
|
|
15405
|
-
{{localization.get('
|
|
15444
|
+
{{localization.get('cancel')}}
|
|
15406
15445
|
</button>
|
|
15407
15446
|
</div>
|
|
15408
15447
|
</ng-template>
|
|
@@ -38,8 +38,8 @@ const packageMetadata = {
|
|
|
38
38
|
name: '@progress/kendo-angular-dateinputs',
|
|
39
39
|
productName: 'Kendo UI for Angular',
|
|
40
40
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
41
|
-
publishDate:
|
|
42
|
-
version: '15.4.0-develop.
|
|
41
|
+
publishDate: 1711982489,
|
|
42
|
+
version: '15.4.0-develop.7',
|
|
43
43
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
44
44
|
};
|
|
45
45
|
|
|
@@ -11469,7 +11469,7 @@ class TimeSelectorComponent {
|
|
|
11469
11469
|
if (keyCode === Keys$1.Tab && shiftKey) {
|
|
11470
11470
|
event.preventDefault();
|
|
11471
11471
|
this.renderer.removeClass(this.timeListWrappers.first.nativeElement, 'k-focus');
|
|
11472
|
-
this.
|
|
11472
|
+
this.cancel ? this.cancel.nativeElement.focus() : this.accept?.nativeElement.focus();
|
|
11473
11473
|
}
|
|
11474
11474
|
}));
|
|
11475
11475
|
this.subscriptions.add(fromEvent(this.timeListWrappers.last.nativeElement, 'keydown').subscribe((event) => {
|
|
@@ -11590,7 +11590,12 @@ class TimeSelectorComponent {
|
|
|
11590
11590
|
const { keyCode, shiftKey } = event;
|
|
11591
11591
|
if (keyCode === Keys$1.Tab && !shiftKey) {
|
|
11592
11592
|
event.preventDefault();
|
|
11593
|
-
this.
|
|
11593
|
+
if (document.activeElement === this.accept.nativeElement) {
|
|
11594
|
+
this.cancel ? this.cancel.nativeElement.focus() : this.timeLists.first.focus();
|
|
11595
|
+
}
|
|
11596
|
+
else {
|
|
11597
|
+
this.timeLists.first.focus();
|
|
11598
|
+
}
|
|
11594
11599
|
}
|
|
11595
11600
|
}
|
|
11596
11601
|
partStep(part) {
|
|
@@ -11786,7 +11791,8 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
11786
11791
|
[kendoEventsOutsideAngular]="{
|
|
11787
11792
|
click: handleReject,
|
|
11788
11793
|
focus: handleFocus,
|
|
11789
|
-
blur: handleBlur
|
|
11794
|
+
blur: handleBlur,
|
|
11795
|
+
keydown: handleTabOut
|
|
11790
11796
|
}"
|
|
11791
11797
|
[scope]="this"
|
|
11792
11798
|
[disabled]="disabled"
|
|
@@ -11906,7 +11912,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11906
11912
|
[kendoEventsOutsideAngular]="{
|
|
11907
11913
|
click: handleReject,
|
|
11908
11914
|
focus: handleFocus,
|
|
11909
|
-
blur: handleBlur
|
|
11915
|
+
blur: handleBlur,
|
|
11916
|
+
keydown: handleTabOut
|
|
11910
11917
|
}"
|
|
11911
11918
|
[scope]="this"
|
|
11912
11919
|
[disabled]="disabled"
|
|
@@ -12031,6 +12038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
12031
12038
|
const VALUE_DOC_LINK$1 = 'https://www.telerik.com/kendo-angular-ui/components/dateinputs/timepicker/#toc-integration-with-json';
|
|
12032
12039
|
const INTL_DATE_FORMAT = 'https://github.com/telerik/kendo-intl/blob/master/docs/date-formatting/index.md';
|
|
12033
12040
|
const formatRegExp = new RegExp(`${TIME_PART.hour}|${TIME_PART.minute}|${TIME_PART.second}|${TIME_PART.millisecond}|${TIME_PART.dayperiod}|literal`);
|
|
12041
|
+
const ACCEPT_BUTTON_SELECTOR$1 = '.k-button.k-time-accept';
|
|
12034
12042
|
/**
|
|
12035
12043
|
* Represents the [Kendo UI TimePicker component for Angular]({% slug overview_timepicker %}#toc-basic-usage).
|
|
12036
12044
|
*/
|
|
@@ -12435,9 +12443,10 @@ class TimePickerComponent {
|
|
|
12435
12443
|
get timeSelector() {
|
|
12436
12444
|
return this.pickerService.timeSelector;
|
|
12437
12445
|
}
|
|
12438
|
-
get
|
|
12439
|
-
return this.
|
|
12446
|
+
get adaptiveAcceptButton() {
|
|
12447
|
+
return this.actionSheet.element.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR$1);
|
|
12440
12448
|
}
|
|
12449
|
+
;
|
|
12441
12450
|
/**
|
|
12442
12451
|
* @hidden
|
|
12443
12452
|
* Used by the TextBoxContainer to determine if the component is empty
|
|
@@ -12750,12 +12759,7 @@ class TimePickerComponent {
|
|
|
12750
12759
|
* @hidden
|
|
12751
12760
|
*/
|
|
12752
12761
|
onTabOutLastPart() {
|
|
12753
|
-
|
|
12754
|
-
this.timeSelector.cancel.nativeElement.focus();
|
|
12755
|
-
}
|
|
12756
|
-
else {
|
|
12757
|
-
this.timeSelector.accept.nativeElement.focus();
|
|
12758
|
-
}
|
|
12762
|
+
this.isAdaptive ? this.adaptiveAcceptButton.focus() : this.timeSelector.accept.nativeElement.focus();
|
|
12759
12763
|
}
|
|
12760
12764
|
toggleTimeSelector(show) {
|
|
12761
12765
|
this.windowSize = windowSize();
|
|
@@ -13086,26 +13090,28 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
13086
13090
|
<ng-container *ngTemplateOutlet="timeSelectorTemplate"></ng-container>
|
|
13087
13091
|
</div>
|
|
13088
13092
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
13089
|
-
<button kendoButton
|
|
13090
|
-
type="button"
|
|
13091
|
-
(click)="handleReject()"
|
|
13092
|
-
size="large"
|
|
13093
|
-
[attr.title]="localization.get('cancelLabel')"
|
|
13094
|
-
[attr.aria-label]="localization.get('cancelLabel')"
|
|
13095
|
-
>
|
|
13096
|
-
{{localization.get('cancel')}}
|
|
13097
|
-
</button>
|
|
13098
|
-
|
|
13099
13093
|
<button kendoButton
|
|
13100
13094
|
type="button"
|
|
13101
13095
|
(click)="handleActionSheetAccept()"
|
|
13102
13096
|
size="large"
|
|
13097
|
+
class="k-time-accept"
|
|
13103
13098
|
themeColor="primary"
|
|
13104
13099
|
[attr.title]="localization.get('acceptLabel')"
|
|
13105
13100
|
[attr.aria-label]="localization.get('acceptLabel')"
|
|
13106
13101
|
>
|
|
13107
13102
|
{{localization.get('accept')}}
|
|
13108
13103
|
</button>
|
|
13104
|
+
|
|
13105
|
+
<button kendoButton
|
|
13106
|
+
type="button"
|
|
13107
|
+
(click)="handleReject()"
|
|
13108
|
+
size="large"
|
|
13109
|
+
class="k-time-cancel"
|
|
13110
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
13111
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
13112
|
+
>
|
|
13113
|
+
{{localization.get('cancel')}}
|
|
13114
|
+
</button>
|
|
13109
13115
|
</div>
|
|
13110
13116
|
</ng-template>
|
|
13111
13117
|
</kendo-actionsheet>
|
|
@@ -13297,26 +13303,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13297
13303
|
<ng-container *ngTemplateOutlet="timeSelectorTemplate"></ng-container>
|
|
13298
13304
|
</div>
|
|
13299
13305
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
13300
|
-
<button kendoButton
|
|
13301
|
-
type="button"
|
|
13302
|
-
(click)="handleReject()"
|
|
13303
|
-
size="large"
|
|
13304
|
-
[attr.title]="localization.get('cancelLabel')"
|
|
13305
|
-
[attr.aria-label]="localization.get('cancelLabel')"
|
|
13306
|
-
>
|
|
13307
|
-
{{localization.get('cancel')}}
|
|
13308
|
-
</button>
|
|
13309
|
-
|
|
13310
13306
|
<button kendoButton
|
|
13311
13307
|
type="button"
|
|
13312
13308
|
(click)="handleActionSheetAccept()"
|
|
13313
13309
|
size="large"
|
|
13310
|
+
class="k-time-accept"
|
|
13314
13311
|
themeColor="primary"
|
|
13315
13312
|
[attr.title]="localization.get('acceptLabel')"
|
|
13316
13313
|
[attr.aria-label]="localization.get('acceptLabel')"
|
|
13317
13314
|
>
|
|
13318
13315
|
{{localization.get('accept')}}
|
|
13319
13316
|
</button>
|
|
13317
|
+
|
|
13318
|
+
<button kendoButton
|
|
13319
|
+
type="button"
|
|
13320
|
+
(click)="handleReject()"
|
|
13321
|
+
size="large"
|
|
13322
|
+
class="k-time-cancel"
|
|
13323
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
13324
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
13325
|
+
>
|
|
13326
|
+
{{localization.get('cancel')}}
|
|
13327
|
+
</button>
|
|
13320
13328
|
</div>
|
|
13321
13329
|
</ng-template>
|
|
13322
13330
|
</kendo-actionsheet>
|
|
@@ -14135,11 +14143,21 @@ class DateTimePickerComponent {
|
|
|
14135
14143
|
}
|
|
14136
14144
|
;
|
|
14137
14145
|
get acceptButton() {
|
|
14138
|
-
|
|
14146
|
+
if (this.isAdaptive) {
|
|
14147
|
+
return this.actionSheet.element.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR);
|
|
14148
|
+
}
|
|
14149
|
+
else {
|
|
14150
|
+
return this.popupRef?.popup.instance.container.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR);
|
|
14151
|
+
}
|
|
14139
14152
|
}
|
|
14140
14153
|
;
|
|
14141
14154
|
get cancelButtonElement() {
|
|
14142
|
-
|
|
14155
|
+
if (this.isAdaptive) {
|
|
14156
|
+
return this.actionSheet.element.nativeElement.querySelector(CANCEL_BUTTON_SELECOTR);
|
|
14157
|
+
}
|
|
14158
|
+
else {
|
|
14159
|
+
return this.popupRef?.popup.instance.container.nativeElement.querySelector(CANCEL_BUTTON_SELECOTR);
|
|
14160
|
+
}
|
|
14143
14161
|
}
|
|
14144
14162
|
;
|
|
14145
14163
|
get dateTabButton() {
|
|
@@ -14369,15 +14387,15 @@ class DateTimePickerComponent {
|
|
|
14369
14387
|
* @hidden
|
|
14370
14388
|
*/
|
|
14371
14389
|
onTabOutLastPart() {
|
|
14372
|
-
if (
|
|
14373
|
-
this.dateTabButton.focus();
|
|
14374
|
-
}
|
|
14375
|
-
else if (!this.cancelButton && this.calendarValue) {
|
|
14390
|
+
if (this.calendarValue) {
|
|
14376
14391
|
this.acceptButton.focus();
|
|
14377
14392
|
}
|
|
14378
|
-
else if (this.cancelButton) {
|
|
14393
|
+
else if (!this.calendarValue && this.cancelButton) {
|
|
14379
14394
|
this.cancelButtonElement.focus();
|
|
14380
14395
|
}
|
|
14396
|
+
else {
|
|
14397
|
+
this.dateTabButton.focus();
|
|
14398
|
+
}
|
|
14381
14399
|
}
|
|
14382
14400
|
/**
|
|
14383
14401
|
* @hidden
|
|
@@ -14466,26 +14484,38 @@ class DateTimePickerComponent {
|
|
|
14466
14484
|
const { shiftKey } = event;
|
|
14467
14485
|
switch (event.target) {
|
|
14468
14486
|
case this.acceptButton:
|
|
14469
|
-
if (!shiftKey
|
|
14470
|
-
this.dateTabButton.focus();
|
|
14487
|
+
if (!shiftKey) {
|
|
14488
|
+
this.cancelButton ? this.cancelButtonElement.focus() : this.dateTabButton.focus();
|
|
14489
|
+
}
|
|
14490
|
+
else {
|
|
14491
|
+
if (this.activeTab === 'date') {
|
|
14492
|
+
this.calendar.monthView.list.nativeElement.focus();
|
|
14493
|
+
}
|
|
14471
14494
|
}
|
|
14472
14495
|
break;
|
|
14473
14496
|
case this.cancelButtonElement:
|
|
14474
|
-
if (
|
|
14475
|
-
this.dateTabButton.focus();
|
|
14497
|
+
if (this.calendarValue) {
|
|
14498
|
+
shiftKey ? this.acceptButton.focus() : this.dateTabButton.focus();
|
|
14476
14499
|
}
|
|
14477
|
-
else
|
|
14478
|
-
|
|
14500
|
+
else {
|
|
14501
|
+
if (shiftKey) {
|
|
14502
|
+
if (this.activeTab === 'date') {
|
|
14503
|
+
this.calendar.monthView.list.nativeElement.focus();
|
|
14504
|
+
}
|
|
14505
|
+
}
|
|
14506
|
+
else {
|
|
14507
|
+
this.dateTabButton.focus();
|
|
14508
|
+
}
|
|
14479
14509
|
}
|
|
14480
14510
|
break;
|
|
14481
14511
|
case this.dateTabButton:
|
|
14482
|
-
if (this.
|
|
14483
|
-
this.acceptButton.focus();
|
|
14484
|
-
}
|
|
14485
|
-
else if (!this.calendarValue && this.cancelButton) {
|
|
14512
|
+
if (this.cancelButton) {
|
|
14486
14513
|
this.cancelButtonElement.focus();
|
|
14487
14514
|
}
|
|
14488
|
-
|
|
14515
|
+
if (!this.cancelButton && this.calendarValue) {
|
|
14516
|
+
this.acceptButton.focus();
|
|
14517
|
+
}
|
|
14518
|
+
if (!this.cancelButton && !this.calendarValue) {
|
|
14489
14519
|
if (this.activeTab === 'date') {
|
|
14490
14520
|
this.calendar.monthView.list.nativeElement.focus();
|
|
14491
14521
|
}
|
|
@@ -14968,23 +14998,27 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
14968
14998
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
14969
14999
|
<button kendoButton
|
|
14970
15000
|
type="button"
|
|
14971
|
-
|
|
15001
|
+
class="k-time-accept"
|
|
15002
|
+
(click)="handleAccept()"
|
|
15003
|
+
[disabled]="!calendarValue"
|
|
14972
15004
|
size="large"
|
|
14973
|
-
|
|
14974
|
-
[attr.
|
|
15005
|
+
themeColor="primary"
|
|
15006
|
+
[attr.title]="localization.get('acceptLabel')"
|
|
15007
|
+
[attr.aria-label]="localization.get('acceptLabel')"
|
|
14975
15008
|
>
|
|
14976
|
-
{{localization.get('
|
|
15009
|
+
{{localization.get('accept')}}
|
|
14977
15010
|
</button>
|
|
14978
15011
|
|
|
14979
15012
|
<button kendoButton
|
|
15013
|
+
*ngIf="cancelButton"
|
|
15014
|
+
class="k-time-cancel"
|
|
14980
15015
|
type="button"
|
|
14981
|
-
(click)="
|
|
15016
|
+
(click)="handleCancel()"
|
|
14982
15017
|
size="large"
|
|
14983
|
-
|
|
14984
|
-
[attr.
|
|
14985
|
-
[attr.aria-label]="localization.get('acceptLabel')"
|
|
15018
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
15019
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
14986
15020
|
>
|
|
14987
|
-
{{localization.get('
|
|
15021
|
+
{{localization.get('cancel')}}
|
|
14988
15022
|
</button>
|
|
14989
15023
|
</div>
|
|
14990
15024
|
</ng-template>
|
|
@@ -15350,23 +15384,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15350
15384
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
15351
15385
|
<button kendoButton
|
|
15352
15386
|
type="button"
|
|
15353
|
-
|
|
15387
|
+
class="k-time-accept"
|
|
15388
|
+
(click)="handleAccept()"
|
|
15389
|
+
[disabled]="!calendarValue"
|
|
15354
15390
|
size="large"
|
|
15355
|
-
|
|
15356
|
-
[attr.
|
|
15391
|
+
themeColor="primary"
|
|
15392
|
+
[attr.title]="localization.get('acceptLabel')"
|
|
15393
|
+
[attr.aria-label]="localization.get('acceptLabel')"
|
|
15357
15394
|
>
|
|
15358
|
-
{{localization.get('
|
|
15395
|
+
{{localization.get('accept')}}
|
|
15359
15396
|
</button>
|
|
15360
15397
|
|
|
15361
15398
|
<button kendoButton
|
|
15399
|
+
*ngIf="cancelButton"
|
|
15400
|
+
class="k-time-cancel"
|
|
15362
15401
|
type="button"
|
|
15363
|
-
(click)="
|
|
15402
|
+
(click)="handleCancel()"
|
|
15364
15403
|
size="large"
|
|
15365
|
-
|
|
15366
|
-
[attr.
|
|
15367
|
-
[attr.aria-label]="localization.get('acceptLabel')"
|
|
15404
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
15405
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
15368
15406
|
>
|
|
15369
|
-
{{localization.get('
|
|
15407
|
+
{{localization.get('cancel')}}
|
|
15370
15408
|
</button>
|
|
15371
15409
|
</div>
|
|
15372
15410
|
</ng-template>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-dateinputs",
|
|
3
|
-
"version": "15.4.0-develop.
|
|
3
|
+
"version": "15.4.0-develop.7",
|
|
4
4
|
"description": "Kendo UI for Angular Date Inputs Package - Everything you need to add date selection functionality to apps (DatePicker, TimePicker, DateInput, DateRangePicker, DateTimePicker, Calendar, and MultiViewCalendar).",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -34,20 +34,20 @@
|
|
|
34
34
|
"@angular/forms": "13 - 17",
|
|
35
35
|
"@angular/platform-browser": "13 - 17",
|
|
36
36
|
"@progress/kendo-licensing": "^1.0.2",
|
|
37
|
-
"@progress/kendo-angular-common": "15.4.0-develop.
|
|
38
|
-
"@progress/kendo-angular-intl": "15.4.0-develop.
|
|
39
|
-
"@progress/kendo-angular-l10n": "15.4.0-develop.
|
|
40
|
-
"@progress/kendo-angular-icons": "15.4.0-develop.
|
|
41
|
-
"@progress/kendo-angular-popup": "15.4.0-develop.
|
|
42
|
-
"@progress/kendo-angular-navigation": "15.4.0-develop.
|
|
37
|
+
"@progress/kendo-angular-common": "15.4.0-develop.7",
|
|
38
|
+
"@progress/kendo-angular-intl": "15.4.0-develop.7",
|
|
39
|
+
"@progress/kendo-angular-l10n": "15.4.0-develop.7",
|
|
40
|
+
"@progress/kendo-angular-icons": "15.4.0-develop.7",
|
|
41
|
+
"@progress/kendo-angular-popup": "15.4.0-develop.7",
|
|
42
|
+
"@progress/kendo-angular-navigation": "15.4.0-develop.7",
|
|
43
43
|
"rxjs": "^6.5.3 || ^7.0.0",
|
|
44
|
-
"@progress/kendo-angular-buttons": "15.4.0-develop.
|
|
45
|
-
"@progress/kendo-angular-inputs": "15.4.0-develop.
|
|
46
|
-
"@progress/kendo-angular-label": "15.4.0-develop.
|
|
44
|
+
"@progress/kendo-angular-buttons": "15.4.0-develop.7",
|
|
45
|
+
"@progress/kendo-angular-inputs": "15.4.0-develop.7",
|
|
46
|
+
"@progress/kendo-angular-label": "15.4.0-develop.7"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"tslib": "^2.3.1",
|
|
50
|
-
"@progress/kendo-angular-schematics": "15.4.0-develop.
|
|
50
|
+
"@progress/kendo-angular-schematics": "15.4.0-develop.7",
|
|
51
51
|
"@progress/kendo-common": "^0.2.0",
|
|
52
52
|
"@progress/kendo-date-math": "^1.1.0",
|
|
53
53
|
"@progress/kendo-dateinputs-common": "^0.3.2"
|
|
@@ -347,7 +347,7 @@ export declare class TimePickerComponent implements ControlValueAccessor, OnInit
|
|
|
347
347
|
set show(show: boolean);
|
|
348
348
|
get dateInput(): DateInputComponent;
|
|
349
349
|
get timeSelector(): TimeSelectorComponent;
|
|
350
|
-
private get
|
|
350
|
+
private get adaptiveAcceptButton();
|
|
351
351
|
private onControlChange;
|
|
352
352
|
private onControlTouched;
|
|
353
353
|
private onValidatorChange;
|