@skyux/datetime 5.0.0 → 5.1.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.
- package/bundles/skyux-datetime-testing.umd.js +2 -2
- package/bundles/skyux-datetime.umd.js +515 -169
- package/bundles/skyux-datetime.umd.js.map +1 -1
- package/documentation.json +1151 -772
- package/esm2015/modules/date-pipe/date-pipe.module.js +5 -5
- package/esm2015/modules/date-pipe/date.pipe.js +4 -4
- package/esm2015/modules/date-pipe/fuzzy-date.pipe.js +4 -4
- package/esm2015/modules/date-range-picker/date-range-picker.component.js +5 -5
- package/esm2015/modules/date-range-picker/date-range-picker.module.js +8 -6
- package/esm2015/modules/date-range-picker/date-range.service.js +5 -8
- package/esm2015/modules/datepicker/datepicker-adapter.service.js +4 -4
- package/esm2015/modules/datepicker/datepicker-calendar-change.js +2 -0
- package/esm2015/modules/datepicker/datepicker-calendar-inner.component.js +33 -8
- package/esm2015/modules/datepicker/datepicker-calendar.component.js +17 -7
- package/esm2015/modules/datepicker/datepicker-config.service.js +4 -4
- package/esm2015/modules/datepicker/datepicker-custom-date.js +2 -0
- package/esm2015/modules/datepicker/datepicker-date.js +1 -1
- package/esm2015/modules/datepicker/datepicker-input-fuzzy.directive.js +4 -4
- package/esm2015/modules/datepicker/datepicker-input.directive.js +4 -4
- package/esm2015/modules/datepicker/datepicker.component.js +48 -6
- package/esm2015/modules/datepicker/datepicker.module.js +31 -12
- package/esm2015/modules/datepicker/datepicker.service.js +21 -0
- package/esm2015/modules/datepicker/daypicker-button.component.js +25 -0
- package/esm2015/modules/datepicker/daypicker-cell.component.js +130 -0
- package/esm2015/modules/datepicker/daypicker.component.js +98 -7
- package/esm2015/modules/datepicker/fuzzy-date.service.js +4 -4
- package/esm2015/modules/datepicker/monthpicker.component.js +4 -4
- package/esm2015/modules/datepicker/yearpicker.component.js +4 -4
- package/esm2015/modules/shared/sky-datetime-resources.module.js +5 -5
- package/esm2015/modules/timepicker/timepicker.component.js +4 -4
- package/esm2015/modules/timepicker/timepicker.directive.js +4 -4
- package/esm2015/modules/timepicker/timepicker.module.js +5 -5
- package/esm2015/public-api.js +3 -1
- package/fesm2015/skyux-datetime.js +434 -95
- package/fesm2015/skyux-datetime.js.map +1 -1
- package/modules/datepicker/datepicker-calendar-change.d.ts +24 -0
- package/modules/datepicker/datepicker-calendar-inner.component.d.ts +13 -3
- package/modules/datepicker/datepicker-calendar.component.d.ts +8 -2
- package/modules/datepicker/datepicker-custom-date.d.ts +21 -0
- package/modules/datepicker/datepicker-date.d.ts +2 -0
- package/modules/datepicker/datepicker.component.d.ts +14 -1
- package/modules/datepicker/datepicker.module.d.ts +11 -8
- package/modules/datepicker/datepicker.service.d.ts +15 -0
- package/modules/datepicker/daypicker-button.component.d.ts +16 -0
- package/modules/datepicker/daypicker-cell.component.d.ts +40 -0
- package/modules/datepicker/daypicker.component.d.ts +18 -3
- package/package.json +10 -10
- package/public-api.d.ts +2 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Pipe, NgModule, Injectable, EventEmitter, Component, ViewEncapsulation, Input, Output, ViewChild, ElementRef, TemplateRef,
|
|
2
|
+
import { Pipe, NgModule, Injectable, EventEmitter, Component, ViewEncapsulation, Input, Output, ChangeDetectionStrategy, ViewChild, ElementRef, TemplateRef, Optional, forwardRef, Directive, HostListener } from '@angular/core';
|
|
3
3
|
import { Subject, fromEvent, BehaviorSubject, forkJoin, combineLatest } from 'rxjs';
|
|
4
|
-
import { takeUntil, distinctUntilChanged, first, map } from 'rxjs/operators';
|
|
4
|
+
import { takeUntil, debounceTime, distinctUntilChanged, first, map } from 'rxjs/operators';
|
|
5
5
|
import * as i3 from '@skyux/i18n';
|
|
6
6
|
import { SkyIntlDateFormatter, getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
7
7
|
import moment from 'moment';
|
|
8
|
-
import * as
|
|
8
|
+
import * as i5 from '@angular/common';
|
|
9
9
|
import { CommonModule } from '@angular/common';
|
|
10
10
|
import * as i2$2 from '@angular/forms';
|
|
11
11
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
@@ -14,9 +14,11 @@ import { SkyInputBoxModule } from '@skyux/forms';
|
|
|
14
14
|
import * as i1 from '@skyux/core';
|
|
15
15
|
import { SkyAffixAutoFitContext, SkyAffixModule, SkyOverlayModule } from '@skyux/core';
|
|
16
16
|
import * as i2 from '@skyux/indicators';
|
|
17
|
-
import { SkyIconModule } from '@skyux/indicators';
|
|
17
|
+
import { SkyIconModule, SkyWaitModule } from '@skyux/indicators';
|
|
18
18
|
import * as i3$2 from '@skyux/theme';
|
|
19
19
|
import { SkyThemeModule } from '@skyux/theme';
|
|
20
|
+
import * as i3$1 from '@skyux/popovers';
|
|
21
|
+
import { SkyPopoverMessageType, SkyPopoverModule } from '@skyux/popovers';
|
|
20
22
|
|
|
21
23
|
// This class is mostly ported from the Angular 4.x DatePipe in order to maintain the old
|
|
22
24
|
class SkyDateFormatUtility {
|
|
@@ -108,9 +110,9 @@ class SkyDatePipe {
|
|
|
108
110
|
this.formattedValue = SkyDateFormatUtility.format(locale, this.value, format);
|
|
109
111
|
}
|
|
110
112
|
}
|
|
111
|
-
SkyDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
112
|
-
SkyDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
113
|
+
SkyDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatePipe, deps: [{ token: i3.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
114
|
+
SkyDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatePipe, name: "skyDate", pure: false });
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatePipe, decorators: [{
|
|
114
116
|
type: Pipe,
|
|
115
117
|
args: [{
|
|
116
118
|
name: 'skyDate',
|
|
@@ -140,14 +142,14 @@ class SkyDatetimeResourcesProvider {
|
|
|
140
142
|
*/
|
|
141
143
|
class SkyDatetimeResourcesModule {
|
|
142
144
|
}
|
|
143
|
-
SkyDatetimeResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
144
|
-
SkyDatetimeResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
145
|
-
SkyDatetimeResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
145
|
+
SkyDatetimeResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatetimeResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
146
|
+
SkyDatetimeResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatetimeResourcesModule, exports: [SkyI18nModule] });
|
|
147
|
+
SkyDatetimeResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatetimeResourcesModule, providers: [{
|
|
146
148
|
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
147
149
|
useClass: SkyDatetimeResourcesProvider,
|
|
148
150
|
multi: true
|
|
149
151
|
}], imports: [SkyI18nModule] });
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatetimeResourcesModule, decorators: [{
|
|
151
153
|
type: NgModule,
|
|
152
154
|
args: [{
|
|
153
155
|
exports: [SkyI18nModule],
|
|
@@ -518,9 +520,9 @@ class SkyFuzzyDateService {
|
|
|
518
520
|
return true;
|
|
519
521
|
}
|
|
520
522
|
}
|
|
521
|
-
SkyFuzzyDateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
522
|
-
SkyFuzzyDateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
523
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
523
|
+
SkyFuzzyDateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyFuzzyDateService, deps: [{ token: i3.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
524
|
+
SkyFuzzyDateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyFuzzyDateService, providedIn: 'root' });
|
|
525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyFuzzyDateService, decorators: [{
|
|
524
526
|
type: Injectable,
|
|
525
527
|
args: [{
|
|
526
528
|
providedIn: 'root'
|
|
@@ -560,9 +562,9 @@ class SkyFuzzyDatePipe {
|
|
|
560
562
|
return this.fuzzyDateService.format(value, fuzzyDateFormat, fuzzyDateLocale);
|
|
561
563
|
}
|
|
562
564
|
}
|
|
563
|
-
SkyFuzzyDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
564
|
-
SkyFuzzyDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.
|
|
565
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
565
|
+
SkyFuzzyDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyFuzzyDatePipe, deps: [{ token: SkyFuzzyDateService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
566
|
+
SkyFuzzyDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyFuzzyDatePipe, name: "skyFuzzyDate", pure: false });
|
|
567
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyFuzzyDatePipe, decorators: [{
|
|
566
568
|
type: Pipe,
|
|
567
569
|
args: [{
|
|
568
570
|
name: 'skyFuzzyDate',
|
|
@@ -572,19 +574,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
572
574
|
|
|
573
575
|
class SkyDatePipeModule {
|
|
574
576
|
}
|
|
575
|
-
SkyDatePipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
576
|
-
SkyDatePipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
577
|
+
SkyDatePipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
578
|
+
SkyDatePipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatePipeModule, declarations: [SkyDatePipe,
|
|
577
579
|
SkyFuzzyDatePipe], imports: [CommonModule,
|
|
578
580
|
SkyDatetimeResourcesModule], exports: [SkyDatePipe,
|
|
579
581
|
SkyFuzzyDatePipe] });
|
|
580
|
-
SkyDatePipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
582
|
+
SkyDatePipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatePipeModule, providers: [
|
|
581
583
|
SkyDatePipe,
|
|
582
584
|
SkyFuzzyDatePipe
|
|
583
585
|
], imports: [[
|
|
584
586
|
CommonModule,
|
|
585
587
|
SkyDatetimeResourcesModule
|
|
586
588
|
]] });
|
|
587
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
589
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatePipeModule, decorators: [{
|
|
588
590
|
type: NgModule,
|
|
589
591
|
args: [{
|
|
590
592
|
declarations: [
|
|
@@ -772,9 +774,9 @@ class SkyDatepickerAdapterService {
|
|
|
772
774
|
this.renderer.setAttribute(elementRef.nativeElement, 'placeholder', value);
|
|
773
775
|
}
|
|
774
776
|
}
|
|
775
|
-
SkyDatepickerAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
776
|
-
SkyDatepickerAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
777
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
777
|
+
SkyDatepickerAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
778
|
+
SkyDatepickerAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerAdapterService });
|
|
779
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerAdapterService, decorators: [{
|
|
778
780
|
type: Injectable
|
|
779
781
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
|
|
780
782
|
|
|
@@ -852,6 +854,7 @@ class SkyDatepickerCalendarInnerComponent {
|
|
|
852
854
|
39: 'right',
|
|
853
855
|
40: 'down'
|
|
854
856
|
};
|
|
857
|
+
this.ngUnsubscribe = new Subject();
|
|
855
858
|
}
|
|
856
859
|
set selectedDate(value) {
|
|
857
860
|
if (this.dateFormatter.dateIsValid(value)) {
|
|
@@ -873,6 +876,10 @@ class SkyDatepickerCalendarInnerComponent {
|
|
|
873
876
|
ngOnChanges(changes) {
|
|
874
877
|
this.refreshView();
|
|
875
878
|
}
|
|
879
|
+
ngOnDestroy() {
|
|
880
|
+
this.ngUnsubscribe.next();
|
|
881
|
+
this.ngUnsubscribe.complete();
|
|
882
|
+
}
|
|
876
883
|
setCompareHandler(handler, type) {
|
|
877
884
|
if (type === 'day') {
|
|
878
885
|
this.compareHandlerDay = handler;
|
|
@@ -976,6 +983,7 @@ class SkyDatepickerCalendarInnerComponent {
|
|
|
976
983
|
}
|
|
977
984
|
}
|
|
978
985
|
createDateObject(date, format, isSecondary, id) {
|
|
986
|
+
const customDateMatch = this.getCustomDate(date);
|
|
979
987
|
let dateObject = {
|
|
980
988
|
date: new Date(date.getFullYear(), date.getMonth(), date.getDate()),
|
|
981
989
|
label: this.dateFilter(date, format),
|
|
@@ -983,7 +991,9 @@ class SkyDatepickerCalendarInnerComponent {
|
|
|
983
991
|
disabled: this.isDisabled(date),
|
|
984
992
|
current: this.compare(date, new Date()) === 0,
|
|
985
993
|
secondary: isSecondary,
|
|
986
|
-
uid: id
|
|
994
|
+
uid: id,
|
|
995
|
+
keyDate: customDateMatch ? customDateMatch.keyDate : undefined,
|
|
996
|
+
keyDateText: customDateMatch ? customDateMatch.keyDateText : []
|
|
987
997
|
};
|
|
988
998
|
return dateObject;
|
|
989
999
|
}
|
|
@@ -1069,14 +1079,28 @@ class SkyDatepickerCalendarInnerComponent {
|
|
|
1069
1079
|
this.refreshView();
|
|
1070
1080
|
}
|
|
1071
1081
|
}
|
|
1082
|
+
/**
|
|
1083
|
+
* Date is disabled if it meets any of these criteria:
|
|
1084
|
+
* 1. Date falls outside the min or max dates set by the SkyDatepickerConfigService.
|
|
1085
|
+
* 2. Date is marked as disabled in the customDates array.
|
|
1086
|
+
*/
|
|
1072
1087
|
isDisabled(date) {
|
|
1073
|
-
|
|
1074
|
-
|
|
1088
|
+
const customDate = this.getCustomDate(date);
|
|
1089
|
+
return ((this.minDate && this.compare(date, this.minDate) < 0) ||
|
|
1090
|
+
(this.maxDate && this.compare(date, this.maxDate) > 0)) ||
|
|
1091
|
+
(customDate && customDate.disabled);
|
|
1092
|
+
}
|
|
1093
|
+
getCustomDate(date) {
|
|
1094
|
+
if (this.customDates) {
|
|
1095
|
+
return this.customDates.find((customDate) => {
|
|
1096
|
+
return customDate.date.getTime() === date.getTime();
|
|
1097
|
+
});
|
|
1098
|
+
}
|
|
1075
1099
|
}
|
|
1076
1100
|
}
|
|
1077
|
-
SkyDatepickerCalendarInnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1078
|
-
SkyDatepickerCalendarInnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
1079
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1101
|
+
SkyDatepickerCalendarInnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerCalendarInnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1102
|
+
SkyDatepickerCalendarInnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDatepickerCalendarInnerComponent, selector: "sky-datepicker-inner", inputs: { customDates: "customDates", startingDay: "startingDay", minDate: "minDate", maxDate: "maxDate", selectedDate: "selectedDate" }, outputs: { selectedDateChange: "selectedDateChange", calendarModeChange: "calendarModeChange" }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"datepickerMode\"\n class=\"sky-datepicker-calendar-inner\"\n (keydown)=\"onKeydown($event)\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-datepicker-calendar-inner{border-radius:5px;background-color:#fff;border-top:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;border-right:1px solid #e2e3e4}.sky-datepicker-calendar-inner .sky-btn-default{border-color:transparent;border:2px solid #ffffff}.sky-datepicker-calendar-inner .sky-btn-default:hover{border-color:#eeeeef}.sky-datepicker-calendar-inner .sky-datepicker-center{text-align:center}.sky-datepicker-calendar-inner .sky-datepicker-btn-selected,.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-selected:hover{background-color:#c1e8fb;border:2px solid #00b4f1}.sky-datepicker-calendar-inner .sky-btn.sky-btn-active{box-shadow:none}.sky-datepicker-calendar-inner .sky-datepicker-secondary{color:#686c73}.sky-datepicker-calendar-inner .sky-datepicker-btn-date{min-width:100%}.sky-datepicker-calendar-inner .sky-datepicker-calendar-title{width:100%}.sky-datepicker-calendar-inner .sky-datepicker-chevron-modern{display:none}.sky-datepicker-calendar-inner .sky-datepicker-header-left{text-align:left}.sky-datepicker-calendar-inner .sky-datepicker-header-right{text-align:right}.sky-theme-modern .sky-datepicker-calendar-inner{border:none;box-shadow:inset 0 0 0 1px #d2d2d2;border-radius:6px;padding:5px 10px}.sky-theme-modern .sky-datepicker-calendar-inner:focus-within{border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-default{border:none;box-shadow:inset 0 0 0 1px transparent;padding:5px 7px}.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-active,.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-default:hover{border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-btn-sm.sky-datepicker-btn-date{height:30px;min-width:0;padding:0;width:30px}.sky-theme-modern .sky-datepicker-chevron-default{display:none}.sky-theme-modern .sky-datepicker-chevron-modern{display:inline;font-size:16px}.sky-theme-modern.sky-theme-mode-dark .sky-datepicker-calendar-inner{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-datepicker-calendar-inner:not(:focus-within){border:none;box-shadow:inset 0 0 0 1px #686c73}.sky-theme-modern.sky-theme-mode-dark .sky-datepicker-calendar-inner .sky-datepicker-btn-selected{background-color:#009cd1}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
1103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerCalendarInnerComponent, decorators: [{
|
|
1080
1104
|
type: Component,
|
|
1081
1105
|
args: [{
|
|
1082
1106
|
selector: 'sky-datepicker-inner',
|
|
@@ -1084,7 +1108,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
1084
1108
|
styleUrls: ['./datepicker-calendar-inner.component.scss'],
|
|
1085
1109
|
encapsulation: ViewEncapsulation.None
|
|
1086
1110
|
}]
|
|
1087
|
-
}], propDecorators: {
|
|
1111
|
+
}], propDecorators: { customDates: [{
|
|
1112
|
+
type: Input
|
|
1113
|
+
}], startingDay: [{
|
|
1088
1114
|
type: Input
|
|
1089
1115
|
}], minDate: [{
|
|
1090
1116
|
type: Input
|
|
@@ -1108,28 +1134,198 @@ class SkyDatepickerConfigService {
|
|
|
1108
1134
|
this.startingDay = 0;
|
|
1109
1135
|
}
|
|
1110
1136
|
}
|
|
1111
|
-
SkyDatepickerConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1112
|
-
SkyDatepickerConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1137
|
+
SkyDatepickerConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1138
|
+
SkyDatepickerConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerConfigService, providedIn: 'root' });
|
|
1139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerConfigService, decorators: [{
|
|
1114
1140
|
type: Injectable,
|
|
1115
1141
|
args: [{
|
|
1116
1142
|
providedIn: 'root'
|
|
1117
1143
|
}]
|
|
1118
1144
|
}] });
|
|
1119
1145
|
|
|
1146
|
+
/**
|
|
1147
|
+
* @internal
|
|
1148
|
+
*/
|
|
1149
|
+
class SkyDatepickerService {
|
|
1150
|
+
constructor() {
|
|
1151
|
+
/**
|
|
1152
|
+
* Specifies if a key date popover is currently displayed.
|
|
1153
|
+
* Useful for communicating across all daypicker siblings when a popover is displayed.
|
|
1154
|
+
*/
|
|
1155
|
+
this.keyDatePopoverStream = new Subject();
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
SkyDatepickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1159
|
+
SkyDatepickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerService });
|
|
1160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerService, decorators: [{
|
|
1161
|
+
type: Injectable
|
|
1162
|
+
}] });
|
|
1163
|
+
|
|
1164
|
+
/**
|
|
1165
|
+
* @internal
|
|
1166
|
+
*/
|
|
1167
|
+
class SkyDayPickerButtonComponent {
|
|
1168
|
+
constructor(datepicker) {
|
|
1169
|
+
this.datepicker = datepicker;
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
SkyDayPickerButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDayPickerButtonComponent, deps: [{ token: SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
1173
|
+
SkyDayPickerButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: { date: "date" }, ngImport: i0, template: "<button\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n>\n <span\n [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\"\n >\n {{date.label}}\n </span>\n</button>\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
1174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDayPickerButtonComponent, decorators: [{
|
|
1175
|
+
type: Component,
|
|
1176
|
+
args: [{
|
|
1177
|
+
selector: 'sky-daypicker-button',
|
|
1178
|
+
templateUrl: 'daypicker-button.component.html',
|
|
1179
|
+
styleUrls: ['./daypicker-button.component.scss']
|
|
1180
|
+
}]
|
|
1181
|
+
}], ctorParameters: function () { return [{ type: SkyDatepickerCalendarInnerComponent }]; }, propDecorators: { date: [{
|
|
1182
|
+
type: Input
|
|
1183
|
+
}] } });
|
|
1184
|
+
|
|
1185
|
+
/**
|
|
1186
|
+
* @internal
|
|
1187
|
+
*/
|
|
1188
|
+
class SkyDayPickerCellComponent {
|
|
1189
|
+
constructor(datepicker, datepickerService) {
|
|
1190
|
+
this.datepicker = datepicker;
|
|
1191
|
+
this.datepickerService = datepickerService;
|
|
1192
|
+
this.hasTooltip = false;
|
|
1193
|
+
this.popoverController = new Subject();
|
|
1194
|
+
this.activeUid = '';
|
|
1195
|
+
this.cancelPopover = false;
|
|
1196
|
+
this.popoverOpen = false;
|
|
1197
|
+
this.ngUnsubscribe = new Subject();
|
|
1198
|
+
}
|
|
1199
|
+
ngOnInit() {
|
|
1200
|
+
this.hasTooltip =
|
|
1201
|
+
this.date.keyDate &&
|
|
1202
|
+
this.date.keyDateText &&
|
|
1203
|
+
this.date.keyDateText.length > 0 &&
|
|
1204
|
+
this.date.keyDateText[0].length > 0;
|
|
1205
|
+
// show the tooltip if this is the active date and is not the
|
|
1206
|
+
// initial active date (activeDateHasChanged)
|
|
1207
|
+
if (this.datepicker.isActive(this.date) &&
|
|
1208
|
+
this.activeDateHasChanged &&
|
|
1209
|
+
this.hasTooltip) {
|
|
1210
|
+
this.activeUid = this.date.uid;
|
|
1211
|
+
this.showTooltip();
|
|
1212
|
+
}
|
|
1213
|
+
if (this.hasTooltip) {
|
|
1214
|
+
this.datepickerService.keyDatePopoverStream
|
|
1215
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
1216
|
+
.subscribe(date => {
|
|
1217
|
+
if (date) {
|
|
1218
|
+
this.activeUid = date.uid;
|
|
1219
|
+
}
|
|
1220
|
+
else {
|
|
1221
|
+
this.activeUid = '';
|
|
1222
|
+
}
|
|
1223
|
+
// If this day has an open popover and they have moved off of the day close the popover.
|
|
1224
|
+
if (this.date.uid !== this.activeUid) {
|
|
1225
|
+
this.hideTooltip();
|
|
1226
|
+
}
|
|
1227
|
+
});
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
ngOnDestroy() {
|
|
1231
|
+
this.ngUnsubscribe.next();
|
|
1232
|
+
this.ngUnsubscribe.complete();
|
|
1233
|
+
}
|
|
1234
|
+
onDayMouseenter() {
|
|
1235
|
+
this.cancelPopover = false;
|
|
1236
|
+
if (this.hasTooltip) {
|
|
1237
|
+
this.showTooltip();
|
|
1238
|
+
this.datepickerService.keyDatePopoverStream.next(this.date);
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1241
|
+
onDayMouseleave() {
|
|
1242
|
+
this.cancelPopover = true;
|
|
1243
|
+
if (this.hasTooltip) {
|
|
1244
|
+
this.hideTooltip();
|
|
1245
|
+
}
|
|
1246
|
+
this.datepickerService.keyDatePopoverStream.next(undefined);
|
|
1247
|
+
}
|
|
1248
|
+
onPopoverClosed() {
|
|
1249
|
+
this.popoverOpen = false;
|
|
1250
|
+
}
|
|
1251
|
+
onPopoverOpened() {
|
|
1252
|
+
this.popoverOpen = true;
|
|
1253
|
+
/* istanbul ignore else */
|
|
1254
|
+
if (this.cancelPopover) {
|
|
1255
|
+
// If the popover gets opened just as a mouseout event happens, close it.
|
|
1256
|
+
this.hideTooltip();
|
|
1257
|
+
this.cancelPopover = false;
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
getKeyDateLabel() {
|
|
1261
|
+
if (this.hasTooltip) {
|
|
1262
|
+
return this.date.keyDateText.join(', ');
|
|
1263
|
+
}
|
|
1264
|
+
else {
|
|
1265
|
+
return '';
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1268
|
+
hideTooltip() {
|
|
1269
|
+
/* istanbul ignore else */
|
|
1270
|
+
if (this.popoverOpen) {
|
|
1271
|
+
this.popoverController.next({ type: SkyPopoverMessageType.Close });
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
showTooltip() {
|
|
1275
|
+
/* istanbul ignore else */
|
|
1276
|
+
if (this.hasTooltip &&
|
|
1277
|
+
!this.popoverOpen) {
|
|
1278
|
+
/**
|
|
1279
|
+
* Delay 1/2 second before opening the popover as long as mouse hasn't moved off the date.
|
|
1280
|
+
*/
|
|
1281
|
+
setTimeout(() => {
|
|
1282
|
+
if (!this.cancelPopover &&
|
|
1283
|
+
this.activeUid === this.date.uid) {
|
|
1284
|
+
this.popoverController.next({ type: SkyPopoverMessageType.Open });
|
|
1285
|
+
}
|
|
1286
|
+
}, 500);
|
|
1287
|
+
}
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1290
|
+
SkyDayPickerCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDayPickerCellComponent, deps: [{ token: SkyDatepickerCalendarInnerComponent }, { token: SkyDatepickerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1291
|
+
SkyDayPickerCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDayPickerCellComponent, selector: "sky-daypicker-cell", inputs: { activeDateHasChanged: "activeDateHasChanged", date: "date" }, ngImport: i0, template: "<div *ngIf=\"hasTooltip\"\n class=\"sky-daypicker-cell\"\n [attr.aria-label]=\"getKeyDateLabel()\"\n [skyPopover]=\"dayInfoPopover\"\n skyPopoverPlacement=\"left\"\n [skyPopoverMessageStream]=\"popoverController\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n <sky-popover\n (popoverClosed)=\"onPopoverClosed()\"\n (popoverOpened)=\"onPopoverOpened()\"\n #dayInfoPopover\n >\n <div *ngFor=\"let text of date.keyDateText\">\n {{text}}\n </div>\n </sky-popover>\n</div>\n<div *ngIf=\"!hasTooltip\"\n class=\"sky-daypicker-cell\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n</div>\n\n<ng-template #daypickerButtonTemplateRef>\n <sky-daypicker-button\n [date]=\"date\"\n >\n </sky-daypicker-button>\n</ng-template>\n", components: [{ type: i3$1.λ6, selector: "sky-popover", inputs: ["alignment", "dismissOnBlur", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { type: SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: ["date"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDayPickerCellComponent, decorators: [{
|
|
1293
|
+
type: Component,
|
|
1294
|
+
args: [{
|
|
1295
|
+
selector: 'sky-daypicker-cell',
|
|
1296
|
+
templateUrl: 'daypicker-cell.component.html',
|
|
1297
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
1298
|
+
}]
|
|
1299
|
+
}], ctorParameters: function () { return [{ type: SkyDatepickerCalendarInnerComponent }, { type: SkyDatepickerService }]; }, propDecorators: { activeDateHasChanged: [{
|
|
1300
|
+
type: Input
|
|
1301
|
+
}], date: [{
|
|
1302
|
+
type: Input
|
|
1303
|
+
}] } });
|
|
1304
|
+
|
|
1120
1305
|
/**
|
|
1121
1306
|
* @internal
|
|
1122
1307
|
*/
|
|
1123
1308
|
class SkyDayPickerComponent {
|
|
1124
1309
|
constructor(datepicker) {
|
|
1310
|
+
this.calendarDateRangeChange = new EventEmitter();
|
|
1311
|
+
this.isWaiting = false;
|
|
1312
|
+
this.activeDateHasChanged = false;
|
|
1125
1313
|
this.labels = [];
|
|
1126
1314
|
this.rows = [];
|
|
1127
1315
|
this.weekNumbers = [];
|
|
1128
1316
|
this.daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
1317
|
+
this.ngUnsubscribe = new Subject();
|
|
1129
1318
|
this.datepicker = datepicker;
|
|
1130
1319
|
}
|
|
1320
|
+
set customDates(value) {
|
|
1321
|
+
/* istanbul ignore else */
|
|
1322
|
+
if (value) {
|
|
1323
|
+
this.applyCustomDates(value, this.rows);
|
|
1324
|
+
}
|
|
1325
|
+
}
|
|
1131
1326
|
ngOnInit() {
|
|
1132
1327
|
this.datepicker.stepDay = { months: 1 };
|
|
1328
|
+
this.initialDate = this.datepicker.activeDate.getDate();
|
|
1133
1329
|
this.datepicker.setRefreshViewHandler(() => {
|
|
1134
1330
|
this.refreshDayView();
|
|
1135
1331
|
}, 'day');
|
|
@@ -1139,6 +1335,10 @@ class SkyDayPickerComponent {
|
|
|
1139
1335
|
}, 'day');
|
|
1140
1336
|
this.datepicker.refreshView();
|
|
1141
1337
|
}
|
|
1338
|
+
ngOnDestroy() {
|
|
1339
|
+
this.ngUnsubscribe.next();
|
|
1340
|
+
this.ngUnsubscribe.complete();
|
|
1341
|
+
}
|
|
1142
1342
|
getDates(startDate, n) {
|
|
1143
1343
|
let dates = new Array(n);
|
|
1144
1344
|
let current = new Date(startDate.getTime());
|
|
@@ -1166,6 +1366,9 @@ class SkyDayPickerComponent {
|
|
|
1166
1366
|
? 7 - difference
|
|
1167
1367
|
: -difference;
|
|
1168
1368
|
let firstDate = new Date(firstDayOfMonth.getTime());
|
|
1369
|
+
if (this.datepicker.activeDate.getDate() !== this.initialDate) {
|
|
1370
|
+
this.activeDateHasChanged = true;
|
|
1371
|
+
}
|
|
1169
1372
|
/* istanbul ignore else */
|
|
1170
1373
|
/* sanity check */
|
|
1171
1374
|
if (numDisplayedFromPreviousMonth > 0) {
|
|
@@ -1187,7 +1390,15 @@ class SkyDayPickerComponent {
|
|
|
1187
1390
|
}
|
|
1188
1391
|
this.title =
|
|
1189
1392
|
this.datepicker.dateFilter(this.datepicker.activeDate, this.datepicker.formatDayTitle);
|
|
1393
|
+
const oldDateRange = this.getDateRange(this.rows);
|
|
1190
1394
|
this.rows = this.datepicker.createCalendarRows(pickerDates, 7);
|
|
1395
|
+
const newDateRange = this.getDateRange(this.rows);
|
|
1396
|
+
if (!this.dateRangeRowsAreEqual(oldDateRange, newDateRange)) {
|
|
1397
|
+
this.calendarDateRangeChange.next({
|
|
1398
|
+
startDate: newDateRange.startDate,
|
|
1399
|
+
endDate: newDateRange.endDate
|
|
1400
|
+
});
|
|
1401
|
+
}
|
|
1191
1402
|
}
|
|
1192
1403
|
keydownDays(key, event) {
|
|
1193
1404
|
let date = this.datepicker.activeDate.getDate();
|
|
@@ -1223,17 +1434,80 @@ class SkyDayPickerComponent {
|
|
|
1223
1434
|
return month === 1 && year % 4 === 0 &&
|
|
1224
1435
|
(year % 400 === 0 || year % 100 !== 0) ? 29 : this.daysInMonth[month];
|
|
1225
1436
|
}
|
|
1437
|
+
/**
|
|
1438
|
+
* Applies custom date properties to the existing dates displayed in the calendar.
|
|
1439
|
+
*/
|
|
1440
|
+
applyCustomDates(customDates, dateRows) {
|
|
1441
|
+
let date;
|
|
1442
|
+
let newDate;
|
|
1443
|
+
let dateIndex;
|
|
1444
|
+
/* istanbul ignore else */
|
|
1445
|
+
if (customDates && dateRows) {
|
|
1446
|
+
customDates.forEach(customDate => {
|
|
1447
|
+
dateIndex = -1;
|
|
1448
|
+
dateRows.forEach(row => {
|
|
1449
|
+
if (dateIndex === -1) {
|
|
1450
|
+
dateIndex = row.findIndex(d => {
|
|
1451
|
+
return d.date.getTime() === customDate.date.getTime();
|
|
1452
|
+
});
|
|
1453
|
+
if (dateIndex > -1) {
|
|
1454
|
+
date = row[dateIndex];
|
|
1455
|
+
// Replace the date with a new instance so the display gets updated.
|
|
1456
|
+
newDate = {
|
|
1457
|
+
current: date.current,
|
|
1458
|
+
date: date.date,
|
|
1459
|
+
disabled: !!date.disabled || !!customDate.disabled,
|
|
1460
|
+
keyDate: !!customDate.keyDate || !!date.keyDate,
|
|
1461
|
+
keyDateText: customDate.keyDateText || date.keyDateText,
|
|
1462
|
+
label: date.label,
|
|
1463
|
+
secondary: date.secondary,
|
|
1464
|
+
selected: date.selected,
|
|
1465
|
+
uid: date.uid
|
|
1466
|
+
};
|
|
1467
|
+
row[dateIndex] = newDate;
|
|
1468
|
+
}
|
|
1469
|
+
}
|
|
1470
|
+
});
|
|
1471
|
+
});
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
dateRangeRowsAreEqual(rangeA, rangeB) {
|
|
1475
|
+
/* istanbul ignore if */
|
|
1476
|
+
if (!rangeA && !rangeB) {
|
|
1477
|
+
return true;
|
|
1478
|
+
}
|
|
1479
|
+
else if ((rangeA && !rangeB) || (!rangeA && rangeB)) {
|
|
1480
|
+
return false;
|
|
1481
|
+
}
|
|
1482
|
+
return this.compareDays(rangeA.startDate, rangeB.startDate) === 0 &&
|
|
1483
|
+
this.compareDays(rangeA.endDate, rangeB.endDate) === 0;
|
|
1484
|
+
}
|
|
1485
|
+
getDateRange(rows) {
|
|
1486
|
+
/* istanbul ignore else */
|
|
1487
|
+
if (rows && rows.length > 0) {
|
|
1488
|
+
return {
|
|
1489
|
+
startDate: rows[0][0].date,
|
|
1490
|
+
endDate: rows[rows.length - 1][rows[rows.length - 1].length - 1].date
|
|
1491
|
+
};
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1226
1494
|
}
|
|
1227
|
-
SkyDayPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1228
|
-
SkyDayPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
1229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1495
|
+
SkyDayPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDayPickerComponent, deps: [{ token: SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
1496
|
+
SkyDayPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDayPickerComponent, selector: "sky-daypicker", inputs: { customDates: "customDates", isWaiting: "isWaiting" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange" }, ngImport: i0, template: "<div *ngIf=\"datepicker.datepickerMode === 'day'\"\n class=\"sky-daypicker-wrapper\"\n>\n <table\n class=\"sky-daypicker-table\"\n role=\"grid\"\n [attr.aria-labelledby]=\"datepicker.datepickerId+'-title'\"\n >\n <thead>\n <tr>\n <th\n class=\"sky-datepicker-header-left\"\n scope=\"col\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n (click)=\"datepicker.moveCalendar($event, -1)\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-left\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-left\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n <th\n scope=\"col\"\n [attr.colspan]=\"5\"\n >\n <button\n [id]=\"datepicker.datepickerId + '-title'\"\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n (click)=\"datepicker.toggleModeCalendar($event)\"\n [disabled]=\"datepicker.datepickerMode === datepicker.maxMode\"\n [ngClass]=\"{'sky-btn-disabled': datepicker.datepickerMode === datepicker.maxMode}\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n >\n <strong>{{title}}</strong>\n </button>\n </th>\n <th\n class=\"sky-datepicker-header-right\"\n scope=\"col\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n (click)=\"datepicker.moveCalendar($event, 1)\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-right\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n </tr>\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let label of labels\"\n class=\"sky-datepicker-center sky-datepicker-weekdays\">\n <small [attr.aria-label]=\"label.full\">\n <b>{{label.abbr}}</b>\n </small>\n </th>\n </tr>\n </thead>\n <tbody>\n <!-- Wait indicator for async custom date stream -->\n <sky-wait\n [isWaiting]=\"isWaiting\"\n >\n </sky-wait>\n <ng-template\n ngFor\n [ngForOf]=\"rows\"\n let-row=\"$implicit\"\n let-index=\"index\"\n >\n <tr role=\"row\">\n <td *ngFor=\"let date of row\"\n class=\"sky-datepicker-center\"\n role=\"gridcell\"\n [id]=\"date.uid\"\n >\n <sky-daypicker-cell\n [activeDateHasChanged]=\"activeDateHasChanged\"\n [date]=\"date\"\n >\n </sky-daypicker-cell>\n </td>\n </tr>\n </ng-template>\n </tbody>\n </table>\n</div>\n", styles: [":host-context(.sky-theme-modern) :host:focus{outline:none}.sky-theme-modern :host:focus{outline:none}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i2.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }, { type: SkyDayPickerCellComponent, selector: "sky-daypicker-cell", inputs: ["activeDateHasChanged", "date"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1497
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDayPickerComponent, decorators: [{
|
|
1230
1498
|
type: Component,
|
|
1231
1499
|
args: [{
|
|
1232
1500
|
selector: 'sky-daypicker',
|
|
1233
1501
|
templateUrl: 'daypicker.component.html',
|
|
1234
1502
|
styleUrls: ['./daypicker.component.scss']
|
|
1235
1503
|
}]
|
|
1236
|
-
}], ctorParameters: function () { return [{ type: SkyDatepickerCalendarInnerComponent }]; }
|
|
1504
|
+
}], ctorParameters: function () { return [{ type: SkyDatepickerCalendarInnerComponent }]; }, propDecorators: { customDates: [{
|
|
1505
|
+
type: Input
|
|
1506
|
+
}], calendarDateRangeChange: [{
|
|
1507
|
+
type: Output
|
|
1508
|
+
}], isWaiting: [{
|
|
1509
|
+
type: Input
|
|
1510
|
+
}] } });
|
|
1237
1511
|
|
|
1238
1512
|
/**
|
|
1239
1513
|
* @internal
|
|
@@ -1304,9 +1578,9 @@ class SkyMonthPickerComponent {
|
|
|
1304
1578
|
this.datepicker.activeDate.setMonth(date);
|
|
1305
1579
|
}
|
|
1306
1580
|
}
|
|
1307
|
-
SkyMonthPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1308
|
-
SkyMonthPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
1309
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1581
|
+
SkyMonthPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyMonthPickerComponent, deps: [{ token: SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
1582
|
+
SkyMonthPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyMonthPickerComponent, selector: "sky-monthpicker", ngImport: i0, template: "<table *ngIf=\"datepicker.datepickerMode==='month'\" role=\"grid\">\n <thead>\n <tr>\n <th\n class=\"sky-datepicker-header-left\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n (click)=\"datepicker.moveCalendar($event, -1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-left\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-left\"\n iconType=\"skyux\"\n ></sky-icon>\n </button></th>\n <th [attr.colspan]=\"((datepicker.monthColLimit - 2) <= 0) ? 1 : datepicker.monthColLimit - 2\">\n <button\n [id]=\"datepicker.datepickerId + '-title'\"\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n (click)=\"datepicker.toggleModeCalendar($event)\"\n [disabled]=\"datepicker.datepickerMode === maxMode\"\n [ngClass]=\"{'sky-btn-disabled': datepicker.datepickerMode === maxMode}\"\n tabindex=\"-1\"\n >\n <strong>{{title}}</strong>\n </button>\n </th>\n <th\n class=\"sky-datepicker-header-right\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n (click)=\"datepicker.moveCalendar($event, 1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-right\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of rows\">\n <td\n *ngFor=\"let date of row\"\n class=\"text-center\"\n role=\"gridcell\"\n id=\"{{date.uid}}\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-datepicker-btn-date\"\n [ngClass]=\"{'sky-datepicker-btn-selected': date.selected, 'sky-btn-disabled': date.disabled, 'sky-btn-active': datepicker.isActive(date)}\"\n [disabled]=\"date.disabled\"\n (click)=\"datepicker.selectCalendar($event, date.date)\"\n tabindex=\"-1\"\n >\n <span [ngClass]=\"{'sky-datepicker-current': date.current}\">{{date.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host-context(.sky-theme-modern) :host:focus{outline:none}.sky-theme-modern :host:focus{outline:none}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1583
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyMonthPickerComponent, decorators: [{
|
|
1310
1584
|
type: Component,
|
|
1311
1585
|
args: [{
|
|
1312
1586
|
selector: 'sky-monthpicker',
|
|
@@ -1383,9 +1657,9 @@ class SkyYearPickerComponent {
|
|
|
1383
1657
|
this.datepicker.activeDate.setFullYear(date);
|
|
1384
1658
|
}
|
|
1385
1659
|
}
|
|
1386
|
-
SkyYearPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1387
|
-
SkyYearPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
1388
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1660
|
+
SkyYearPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyYearPickerComponent, deps: [{ token: SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
1661
|
+
SkyYearPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyYearPickerComponent, selector: "sky-yearpicker", ngImport: i0, template: "<table *ngIf=\"datepicker.datepickerMode==='year'\" role=\"grid\">\n <thead>\n <tr>\n <th\n class=\"sky-datepicker-header-left\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n (click)=\"datepicker.moveCalendar($event, -1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-left\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-left\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n <th [attr.colspan]=\"((datepicker.yearColLimit - 2) <= 0) ? 1 : datepicker.yearColLimit - 2\">\n <button\n [id]=\"datepicker.datepickerId + '-title'\"\n role=\"heading\"\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n (click)=\"datepicker.toggleModeCalendar($event)\"\n [disabled]=\"datepicker.datepickerMode === datepicker.maxMode\"\n [ngClass]=\"{'sky-btn-disabled': datepicker.datepickerMode === datepicker.maxMode}\"\n tabindex=\"-1\"\n >\n <strong>{{title}}</strong>\n </button>\n </th>\n <th\n class=\"sky-datepicker-header-right\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n (click)=\"datepicker.moveCalendar($event, 1)\"\n tabindex=\"-1\"\n >\n <sky-icon\n class=\"sky-datepicker-chevron-default\"\n icon=\"chevron-right\"\n ></sky-icon>\n <sky-icon\n class=\"sky-datepicker-chevron-modern\"\n icon=\"chevron-right\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of rows\">\n <td\n *ngFor=\"let date of row\"\n class=\"sky-datepicker-row\"\n role=\"gridcell\"\n >\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-datepicker-btn-date\"\n [ngClass]=\"{'sky-datepicker-btn-selected': date.selected, 'sky-btn-disabled': date.disabled, 'sky-btn-active': datepicker.isActive(date)}\"\n [disabled]=\"date.disabled\"\n (click)=\"datepicker.selectCalendar($event, date.date)\"\n tabindex=\"-1\"\n >\n <span\n [ngClass]=\"{'sky-datepicker-current': date.current }\">{{date.label}}</span>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host-context(.sky-theme-modern) :host:focus{outline:none}.sky-theme-modern :host:focus{outline:none}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1662
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyYearPickerComponent, decorators: [{
|
|
1389
1663
|
type: Component,
|
|
1390
1664
|
args: [{
|
|
1391
1665
|
selector: 'sky-yearpicker',
|
|
@@ -1402,8 +1676,9 @@ class SkyDatepickerCalendarComponent {
|
|
|
1402
1676
|
this.adapter = adapter;
|
|
1403
1677
|
this.config = config;
|
|
1404
1678
|
this.elementRef = elementRef;
|
|
1405
|
-
this.
|
|
1679
|
+
this.calendarDateRangeChange = new EventEmitter();
|
|
1406
1680
|
this.calendarModeChange = new EventEmitter();
|
|
1681
|
+
this.selectedDateChange = new EventEmitter(undefined);
|
|
1407
1682
|
this._now = new Date();
|
|
1408
1683
|
this.formatter = new SkyDateFormatter();
|
|
1409
1684
|
this.configureOptions();
|
|
@@ -1428,6 +1703,9 @@ class SkyDatepickerCalendarComponent {
|
|
|
1428
1703
|
configureOptions() {
|
|
1429
1704
|
Object.assign(this, this.config);
|
|
1430
1705
|
}
|
|
1706
|
+
onCalendarDateRangeChange(event) {
|
|
1707
|
+
this.calendarDateRangeChange.next(event);
|
|
1708
|
+
}
|
|
1431
1709
|
onCalendarModeChange(event) {
|
|
1432
1710
|
this.calendarModeChange.emit(event);
|
|
1433
1711
|
}
|
|
@@ -1451,9 +1729,9 @@ class SkyDatepickerCalendarComponent {
|
|
|
1451
1729
|
}
|
|
1452
1730
|
}
|
|
1453
1731
|
}
|
|
1454
|
-
SkyDatepickerCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1455
|
-
SkyDatepickerCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
1456
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1732
|
+
SkyDatepickerCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerCalendarComponent, deps: [{ token: SkyDatepickerAdapterService }, { token: SkyDatepickerConfigService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1733
|
+
SkyDatepickerCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDatepickerCalendarComponent, selector: "sky-datepicker-calendar", inputs: { customDates: "customDates", isDaypickerWaiting: "isDaypickerWaiting", minDate: "minDate", maxDate: "maxDate", selectedDate: "selectedDate", startingDay: "startingDay" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange", calendarModeChange: "calendarModeChange", selectedDateChange: "selectedDateChange" }, providers: [SkyDatepickerAdapterService], viewQueries: [{ propertyName: "_datepicker", first: true, predicate: SkyDatepickerCalendarInnerComponent, descendants: true, read: SkyDatepickerCalendarInnerComponent, static: true }], ngImport: i0, template: "<div\n class=\"sky-datepicker-calendar\"\n>\n <sky-datepicker-inner\n [customDates]=\"customDates\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [selectedDate]=\"selectedDate\"\n [startingDay]=\"startingDay\"\n (calendarModeChange)=\"onCalendarModeChange($event)\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n >\n <sky-daypicker\n tabindex=\"0\"\n [customDates]=\"customDates\"\n [isWaiting]=\"isDaypickerWaiting\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n ></sky-daypicker>\n <sky-monthpicker\n tabindex=\"0\"\n ></sky-monthpicker>\n <sky-yearpicker\n tabindex=\"0\"\n ></sky-yearpicker>\n </sky-datepicker-inner>\n</div>\n", styles: [".sky-datepicker-calendar{display:block}\n"], components: [{ type: SkyDatepickerCalendarInnerComponent, selector: "sky-datepicker-inner", inputs: ["customDates", "startingDay", "minDate", "maxDate", "selectedDate"], outputs: ["selectedDateChange", "calendarModeChange"] }, { type: SkyDayPickerComponent, selector: "sky-daypicker", inputs: ["customDates", "isWaiting"], outputs: ["calendarDateRangeChange"] }, { type: SkyMonthPickerComponent, selector: "sky-monthpicker" }, { type: SkyYearPickerComponent, selector: "sky-yearpicker" }] });
|
|
1734
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerCalendarComponent, decorators: [{
|
|
1457
1735
|
type: Component,
|
|
1458
1736
|
args: [{
|
|
1459
1737
|
selector: 'sky-datepicker-calendar',
|
|
@@ -1461,7 +1739,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
1461
1739
|
styleUrls: ['./datepicker-calendar.component.scss'],
|
|
1462
1740
|
providers: [SkyDatepickerAdapterService]
|
|
1463
1741
|
}]
|
|
1464
|
-
}], ctorParameters: function () { return [{ type: SkyDatepickerAdapterService }, { type: SkyDatepickerConfigService }, { type: i0.ElementRef }]; }, propDecorators: {
|
|
1742
|
+
}], ctorParameters: function () { return [{ type: SkyDatepickerAdapterService }, { type: SkyDatepickerConfigService }, { type: i0.ElementRef }]; }, propDecorators: { customDates: [{
|
|
1743
|
+
type: Input
|
|
1744
|
+
}], isDaypickerWaiting: [{
|
|
1745
|
+
type: Input
|
|
1746
|
+
}], minDate: [{
|
|
1465
1747
|
type: Input
|
|
1466
1748
|
}], maxDate: [{
|
|
1467
1749
|
type: Input
|
|
@@ -1469,10 +1751,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
1469
1751
|
type: Input
|
|
1470
1752
|
}], startingDay: [{
|
|
1471
1753
|
type: Input
|
|
1472
|
-
}],
|
|
1754
|
+
}], calendarDateRangeChange: [{
|
|
1473
1755
|
type: Output
|
|
1474
1756
|
}], calendarModeChange: [{
|
|
1475
1757
|
type: Output
|
|
1758
|
+
}], selectedDateChange: [{
|
|
1759
|
+
type: Output
|
|
1476
1760
|
}], _datepicker: [{
|
|
1477
1761
|
type: ViewChild,
|
|
1478
1762
|
args: [SkyDatepickerCalendarInnerComponent, {
|
|
@@ -1497,7 +1781,14 @@ class SkyDatepickerComponent {
|
|
|
1497
1781
|
* Adds a class to the datepicker.
|
|
1498
1782
|
*/
|
|
1499
1783
|
this.pickerClass = '';
|
|
1784
|
+
/**
|
|
1785
|
+
* Fires when the range of displayed dates in the calendar changes. Provides the
|
|
1786
|
+
* current range of displayed dates and a mutable `customDate` property consumers can use
|
|
1787
|
+
* to modify individual dates on the calendar.
|
|
1788
|
+
*/
|
|
1789
|
+
this.calendarDateRangeChange = new EventEmitter();
|
|
1500
1790
|
this.dateChange = new EventEmitter();
|
|
1791
|
+
this.isDaypickerWaiting = false;
|
|
1501
1792
|
this.isOpen = false;
|
|
1502
1793
|
this.isVisible = false;
|
|
1503
1794
|
this.ngUnsubscribe = new Subject();
|
|
@@ -1610,6 +1901,33 @@ class SkyDatepickerComponent {
|
|
|
1610
1901
|
this.openPicker();
|
|
1611
1902
|
}
|
|
1612
1903
|
}
|
|
1904
|
+
onCalendarDateRangeChange(event) {
|
|
1905
|
+
/* istanbul ignore else */
|
|
1906
|
+
if (event) {
|
|
1907
|
+
this.cancelCustomDatesSubscription();
|
|
1908
|
+
const args = {
|
|
1909
|
+
startDate: event.startDate,
|
|
1910
|
+
endDate: event.endDate,
|
|
1911
|
+
customDates: undefined
|
|
1912
|
+
};
|
|
1913
|
+
this.calendarDateRangeChange.emit(args);
|
|
1914
|
+
// If consumer has added an observable to the args, watch for incoming custom dates.
|
|
1915
|
+
/* istanbul ignore else */
|
|
1916
|
+
if (args.customDates) {
|
|
1917
|
+
this.isDaypickerWaiting = true;
|
|
1918
|
+
// Avoid an ExpressionChangedAfterItHasBeenCheckedError.
|
|
1919
|
+
this.changeDetector.detectChanges();
|
|
1920
|
+
this.customDatesSubscription = args.customDates
|
|
1921
|
+
.pipe(debounceTime(250))
|
|
1922
|
+
.subscribe((result) => {
|
|
1923
|
+
this.customDates = result;
|
|
1924
|
+
this.isDaypickerWaiting = false;
|
|
1925
|
+
// Trigger change detection in child components to show changes in the calendar.
|
|
1926
|
+
this.changeDetector.markForCheck();
|
|
1927
|
+
});
|
|
1928
|
+
}
|
|
1929
|
+
}
|
|
1930
|
+
}
|
|
1613
1931
|
closePicker() {
|
|
1614
1932
|
this.destroyAffixer();
|
|
1615
1933
|
this.destroyOverlay();
|
|
@@ -1698,10 +2016,16 @@ class SkyDatepickerComponent {
|
|
|
1698
2016
|
}
|
|
1699
2017
|
(_a = this.overlayKeydownListner) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
1700
2018
|
}
|
|
2019
|
+
cancelCustomDatesSubscription() {
|
|
2020
|
+
if (this.customDatesSubscription) {
|
|
2021
|
+
this.customDatesSubscription.unsubscribe();
|
|
2022
|
+
this.customDatesSubscription = undefined;
|
|
2023
|
+
}
|
|
2024
|
+
}
|
|
1701
2025
|
}
|
|
1702
|
-
SkyDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1703
|
-
SkyDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
1704
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2026
|
+
SkyDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2$1.SkyInputBoxHostService, optional: true }, { token: i3$2.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
2027
|
+
SkyDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: { pickerClass: "pickerClass" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: SkyDatepickerCalendarComponent, descendants: true }, { propertyName: "calendarRef", first: true, predicate: ["calendarRef"], descendants: true, read: ElementRef }, { propertyName: "calendarTemplateRef", first: true, predicate: ["calendarTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButtonTemplateRef", first: true, predicate: ["triggerButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-datepicker\"\n>\n <ng-container *ngIf=\"!inputBoxHostService\">\n <div\n class=\"sky-input-group\"\n >\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div\n class=\"sky-input-group-btn\"\n >\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"'skyux_datepicker_trigger_button_label' | skyLibResources\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"'skyux_datepicker_trigger_button_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"calendar\"\n size=\"lg\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"calendar\"\n size=\"lg\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n #calendarRef\n >\n <sky-datepicker-calendar\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n >\n </sky-datepicker-calendar>\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container{position:fixed;border-radius:5px}.sky-datepicker-hidden{visibility:hidden}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: SkyDatepickerCalendarComponent, selector: "sky-datepicker-calendar", inputs: ["customDates", "isDaypickerWaiting", "minDate", "maxDate", "selectedDate", "startingDay"], outputs: ["calendarDateRangeChange", "calendarModeChange", "selectedDateChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2028
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerComponent, decorators: [{
|
|
1705
2029
|
type: Component,
|
|
1706
2030
|
args: [{
|
|
1707
2031
|
selector: 'sky-datepicker',
|
|
@@ -1715,6 +2039,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
1715
2039
|
type: Optional
|
|
1716
2040
|
}] }]; }, propDecorators: { pickerClass: [{
|
|
1717
2041
|
type: Input
|
|
2042
|
+
}], calendarDateRangeChange: [{
|
|
2043
|
+
type: Output
|
|
1718
2044
|
}], calendar: [{
|
|
1719
2045
|
type: ViewChild,
|
|
1720
2046
|
args: [SkyDatepickerCalendarComponent]
|
|
@@ -2123,13 +2449,13 @@ class SkyDatepickerInputDirective {
|
|
|
2123
2449
|
}
|
|
2124
2450
|
}
|
|
2125
2451
|
}
|
|
2126
|
-
SkyDatepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
2127
|
-
SkyDatepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
2452
|
+
SkyDatepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerInputDirective, deps: [{ token: SkyDatepickerAdapterService }, { token: i0.ChangeDetectorRef }, { token: SkyDatepickerConfigService }, { token: i0.ElementRef }, { token: i3.SkyAppLocaleProvider }, { token: i0.Renderer2 }, { token: i3.SkyLibResourcesService }, { token: SkyDatepickerComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2453
|
+
SkyDatepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.14", type: SkyDatepickerInputDirective, selector: "[skyDatepickerInput]", inputs: { dateFormat: "dateFormat", disabled: "disabled", maxDate: "maxDate", minDate: "minDate", skyDatepickerInput: "skyDatepickerInput", skyDatepickerNoValidate: "skyDatepickerNoValidate", startingDay: "startingDay", strict: "strict" }, host: { listeners: { "change": "onInputChange($event)", "blur": "onInputBlur()", "keyup": "onInputKeyup()" } }, providers: [
|
|
2128
2454
|
SKY_DATEPICKER_VALUE_ACCESSOR,
|
|
2129
2455
|
SKY_DATEPICKER_VALIDATOR,
|
|
2130
2456
|
SkyDatepickerAdapterService
|
|
2131
2457
|
], ngImport: i0 });
|
|
2132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2458
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerInputDirective, decorators: [{
|
|
2133
2459
|
type: Directive,
|
|
2134
2460
|
args: [{
|
|
2135
2461
|
selector: '[skyDatepickerInput]',
|
|
@@ -2566,12 +2892,12 @@ class SkyFuzzyDatepickerInputDirective {
|
|
|
2566
2892
|
|| dateA.year === dateB.year);
|
|
2567
2893
|
}
|
|
2568
2894
|
}
|
|
2569
|
-
SkyFuzzyDatepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
2570
|
-
SkyFuzzyDatepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
2895
|
+
SkyFuzzyDatepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyFuzzyDatepickerInputDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: SkyDatepickerConfigService }, { token: i0.ElementRef }, { token: SkyFuzzyDateService }, { token: i3.SkyAppLocaleProvider }, { token: i0.Renderer2 }, { token: i3.SkyLibResourcesService }, { token: SkyDatepickerComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2896
|
+
SkyFuzzyDatepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.14", type: SkyFuzzyDatepickerInputDirective, selector: "[skyFuzzyDatepickerInput]", inputs: { dateFormat: "dateFormat", disabled: "disabled", futureDisabled: "futureDisabled", maxDate: "maxDate", minDate: "minDate", skyDatepickerNoValidate: "skyDatepickerNoValidate", skyFuzzyDatepickerInput: "skyFuzzyDatepickerInput", startingDay: "startingDay", yearRequired: "yearRequired" }, host: { listeners: { "change": "onInputChange($event)", "blur": "onInputBlur()", "keyup": "onInputKeyup()" } }, providers: [
|
|
2571
2897
|
SKY_FUZZY_DATEPICKER_VALUE_ACCESSOR,
|
|
2572
2898
|
SKY_FUZZY_DATEPICKER_VALIDATOR
|
|
2573
2899
|
], ngImport: i0 });
|
|
2574
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyFuzzyDatepickerInputDirective, decorators: [{
|
|
2575
2901
|
type: Directive,
|
|
2576
2902
|
args: [{
|
|
2577
2903
|
selector: '[skyFuzzyDatepickerInput]',
|
|
@@ -2613,26 +2939,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
2613
2939
|
|
|
2614
2940
|
class SkyDatepickerModule {
|
|
2615
2941
|
}
|
|
2616
|
-
SkyDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
2617
|
-
SkyDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
2942
|
+
SkyDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2943
|
+
SkyDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerModule, declarations: [SkyDatepickerCalendarComponent,
|
|
2618
2944
|
SkyDatepickerCalendarInnerComponent,
|
|
2619
2945
|
SkyDayPickerComponent,
|
|
2620
2946
|
SkyMonthPickerComponent,
|
|
2621
2947
|
SkyYearPickerComponent,
|
|
2622
2948
|
SkyDatepickerComponent,
|
|
2623
2949
|
SkyDatepickerInputDirective,
|
|
2624
|
-
SkyFuzzyDatepickerInputDirective
|
|
2950
|
+
SkyFuzzyDatepickerInputDirective,
|
|
2951
|
+
SkyDayPickerCellComponent,
|
|
2952
|
+
SkyDayPickerButtonComponent], imports: [CommonModule,
|
|
2625
2953
|
SkyI18nModule,
|
|
2626
2954
|
FormsModule,
|
|
2627
2955
|
SkyIconModule,
|
|
2628
2956
|
SkyDatetimeResourcesModule,
|
|
2629
2957
|
SkyAffixModule,
|
|
2630
2958
|
SkyOverlayModule,
|
|
2631
|
-
SkyThemeModule
|
|
2959
|
+
SkyThemeModule,
|
|
2960
|
+
SkyPopoverModule,
|
|
2961
|
+
SkyWaitModule], exports: [SkyDatepickerCalendarComponent,
|
|
2632
2962
|
SkyDatepickerComponent,
|
|
2633
2963
|
SkyDatepickerInputDirective,
|
|
2634
2964
|
SkyFuzzyDatepickerInputDirective] });
|
|
2635
|
-
SkyDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
2965
|
+
SkyDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerModule, providers: [
|
|
2966
|
+
SkyDatepickerService
|
|
2967
|
+
], imports: [[
|
|
2636
2968
|
CommonModule,
|
|
2637
2969
|
SkyI18nModule,
|
|
2638
2970
|
FormsModule,
|
|
@@ -2640,9 +2972,11 @@ SkyDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
|
|
|
2640
2972
|
SkyDatetimeResourcesModule,
|
|
2641
2973
|
SkyAffixModule,
|
|
2642
2974
|
SkyOverlayModule,
|
|
2643
|
-
SkyThemeModule
|
|
2975
|
+
SkyThemeModule,
|
|
2976
|
+
SkyPopoverModule,
|
|
2977
|
+
SkyWaitModule,
|
|
2644
2978
|
]] });
|
|
2645
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2979
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDatepickerModule, decorators: [{
|
|
2646
2980
|
type: NgModule,
|
|
2647
2981
|
args: [{
|
|
2648
2982
|
declarations: [
|
|
@@ -2653,7 +2987,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
2653
2987
|
SkyYearPickerComponent,
|
|
2654
2988
|
SkyDatepickerComponent,
|
|
2655
2989
|
SkyDatepickerInputDirective,
|
|
2656
|
-
SkyFuzzyDatepickerInputDirective
|
|
2990
|
+
SkyFuzzyDatepickerInputDirective,
|
|
2991
|
+
SkyDayPickerCellComponent,
|
|
2992
|
+
SkyDayPickerButtonComponent,
|
|
2657
2993
|
],
|
|
2658
2994
|
imports: [
|
|
2659
2995
|
CommonModule,
|
|
@@ -2663,13 +2999,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
2663
2999
|
SkyDatetimeResourcesModule,
|
|
2664
3000
|
SkyAffixModule,
|
|
2665
3001
|
SkyOverlayModule,
|
|
2666
|
-
SkyThemeModule
|
|
3002
|
+
SkyThemeModule,
|
|
3003
|
+
SkyPopoverModule,
|
|
3004
|
+
SkyWaitModule,
|
|
2667
3005
|
],
|
|
2668
3006
|
exports: [
|
|
2669
3007
|
SkyDatepickerCalendarComponent,
|
|
2670
3008
|
SkyDatepickerComponent,
|
|
2671
3009
|
SkyDatepickerInputDirective,
|
|
2672
|
-
SkyFuzzyDatepickerInputDirective
|
|
3010
|
+
SkyFuzzyDatepickerInputDirective,
|
|
3011
|
+
],
|
|
3012
|
+
providers: [
|
|
3013
|
+
SkyDatepickerService
|
|
2673
3014
|
]
|
|
2674
3015
|
}]
|
|
2675
3016
|
}] });
|
|
@@ -3211,13 +3552,10 @@ class SkyDateRangeService {
|
|
|
3211
3552
|
// Start the count higher than the number of available values
|
|
3212
3553
|
// provided in the SkyDateRangeCalculatorId enum.
|
|
3213
3554
|
SkyDateRangeService.lastId = 1000;
|
|
3214
|
-
SkyDateRangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
3215
|
-
SkyDateRangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
3216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
3217
|
-
type: Injectable
|
|
3218
|
-
args: [{
|
|
3219
|
-
providedIn: 'root'
|
|
3220
|
-
}]
|
|
3555
|
+
SkyDateRangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDateRangeService, deps: [{ token: i3.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3556
|
+
SkyDateRangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDateRangeService });
|
|
3557
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDateRangeService, decorators: [{
|
|
3558
|
+
type: Injectable
|
|
3221
3559
|
}], ctorParameters: function () { return [{ type: i3.SkyLibResourcesService }]; } });
|
|
3222
3560
|
|
|
3223
3561
|
/* tslint:disable:no-forward-ref no-use-before-declare */
|
|
@@ -3630,12 +3968,12 @@ class SkyDateRangePickerComponent {
|
|
|
3630
3968
|
return (JSON.stringify(rangeA) === JSON.stringify(rangeB));
|
|
3631
3969
|
}
|
|
3632
3970
|
}
|
|
3633
|
-
SkyDateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
3634
|
-
SkyDateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
3971
|
+
SkyDateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDateRangePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SkyDateRangeService }, { token: i2$2.FormBuilder }, { token: i3.SkyAppLocaleProvider }, { token: i1.SkyAppWindowRef }, { token: i3$2.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3972
|
+
SkyDateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDateRangePickerComponent, selector: "sky-date-range-picker", inputs: { calculatorIds: "calculatorIds", dateFormat: "dateFormat", disabled: "disabled", label: "label", startDateRequired: "startDateRequired", endDateRequired: "endDateRequired" }, providers: [
|
|
3635
3973
|
SKY_DATE_RANGE_PICKER_VALUE_ACCESSOR,
|
|
3636
3974
|
SKY_DATE_RANGE_PICKER_VALIDATOR
|
|
3637
|
-
], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isReady\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{ label || 'skyux_date_range_picker_default_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n formControlName=\"calculatorId\"\n [attr.id]=\"dateRangePickerId + '-select-calculator'\"\n (blur)=\"onFieldBlur()\"\n >\n <option *ngFor=\"let calculator of calculators\"\n [value]=\"calculator.calculatorId\"\n >\n {{ calculator.shortDescription }}\n </option>\n </select>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [hidden]=\"!showStartDatePicker\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-start-date'\"\n [ngClass]=\"{ 'sky-control-label-required' : startDateRequired }\"\n >\n {{ startDateLabelResourceKey | skyLibResources }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"startDate\"\n [attr.aria-label]=\"startDateLabelResourceKey | skyLibResources\"\n [attr.id]=\"dateRangePickerId + '-start-date'\"\n [attr.placeholder]=\"dateFormat\"\n [required]=\"startDateRequired\"\n [dateFormat]=\"dateFormat\"\n (blur)=\"onFieldBlur()\"\n skyDatepickerInput\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [hidden]=\"!showEndDatePicker\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-end-date'\"\n [ngClass]=\"{ 'sky-control-label-required' : endDateRequired }\"\n >\n {{ endDateLabelResourceKey | skyLibResources }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"endDate\"\n skyDatepickerInput\n [attr.aria-label]=\"endDateLabelResourceKey | skyLibResources\"\n [attr.id]=\"dateRangePickerId + '-end-date'\"\n [attr.placeholder]=\"dateFormat\"\n [dateFormat]=\"dateFormat\"\n [required]=\"endDateRequired\"\n (blur)=\"onFieldBlur()\"\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n</div>\n", styles: [".sky-date-range-picker{display:flex;margin-left:-5px;margin-right:-5px}.sky-date-range-picker-form-group{padding-left:5px;padding-right:5px}.sky-date-range-picker-form-group:last-child{margin-bottom:0}:host .sky-date-range-picker{flex-direction:column}:host .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-responsive-container-xs) .sky-date-range-picker,:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:column}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:100%}@media (min-width: 768px){:host .sky-date-range-picker{flex-direction:initial}:host .sky-date-range-picker-form-group{flex-basis:calc(100% / 3);margin-bottom:0}}:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:initial}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:calc(100% / 3);margin-bottom:0}:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{padding:0;margin:0 0 20px}@media (min-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{margin:0 20px 0 0}}.sky-theme-modern .sky-date-range-picker-form-group{padding:0;margin:0 0 20px}@media (min-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group{margin:0 20px 0 0}}:host-context(.sky-theme-modern .sky-responsive-container-xs) .sky-date-range-picker-form-group{margin:0 0 20px}:host-context(.sky-theme-modern .sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-theme-modern .sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-theme-modern .sky-responsive-container-lg) .sky-date-range-picker-form-group{margin:0 20px 0 0}\n"], components: [{ type: i2$1.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: ["pickerClass"] }], directives: [{ type:
|
|
3638
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
3975
|
+
], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isReady\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div\n class=\"sky-date-range-picker-form-group\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{ label || 'skyux_date_range_picker_default_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n formControlName=\"calculatorId\"\n [attr.id]=\"dateRangePickerId + '-select-calculator'\"\n (blur)=\"onFieldBlur()\"\n >\n <option *ngFor=\"let calculator of calculators\"\n [value]=\"calculator.calculatorId\"\n >\n {{ calculator.shortDescription }}\n </option>\n </select>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [hidden]=\"!showStartDatePicker\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-start-date'\"\n [ngClass]=\"{ 'sky-control-label-required' : startDateRequired }\"\n >\n {{ startDateLabelResourceKey | skyLibResources }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"startDate\"\n [attr.aria-label]=\"startDateLabelResourceKey | skyLibResources\"\n [attr.id]=\"dateRangePickerId + '-start-date'\"\n [attr.placeholder]=\"dateFormat\"\n [required]=\"startDateRequired\"\n [dateFormat]=\"dateFormat\"\n (blur)=\"onFieldBlur()\"\n skyDatepickerInput\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n\n <div\n class=\"sky-date-range-picker-form-group\"\n [hidden]=\"!showEndDatePicker\"\n >\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-end-date'\"\n [ngClass]=\"{ 'sky-control-label-required' : endDateRequired }\"\n >\n {{ endDateLabelResourceKey | skyLibResources }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"endDate\"\n skyDatepickerInput\n [attr.aria-label]=\"endDateLabelResourceKey | skyLibResources\"\n [attr.id]=\"dateRangePickerId + '-end-date'\"\n [attr.placeholder]=\"dateFormat\"\n [dateFormat]=\"dateFormat\"\n [required]=\"endDateRequired\"\n (blur)=\"onFieldBlur()\"\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n</div>\n", styles: [".sky-date-range-picker{display:flex;margin-left:-5px;margin-right:-5px}.sky-date-range-picker-form-group{padding-left:5px;padding-right:5px}.sky-date-range-picker-form-group:last-child{margin-bottom:0}:host .sky-date-range-picker{flex-direction:column}:host .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-responsive-container-xs) .sky-date-range-picker,:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:column}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:100%}@media (min-width: 768px){:host .sky-date-range-picker{flex-direction:initial}:host .sky-date-range-picker-form-group{flex-basis:calc(100% / 3);margin-bottom:0}}:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:initial}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:calc(100% / 3);margin-bottom:0}:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{padding:0;margin:0 0 20px}@media (min-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{margin:0 20px 0 0}}.sky-theme-modern .sky-date-range-picker-form-group{padding:0;margin:0 0 20px}@media (min-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group{margin:0 20px 0 0}}:host-context(.sky-theme-modern .sky-responsive-container-xs) .sky-date-range-picker-form-group{margin:0 0 20px}:host-context(.sky-theme-modern .sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-theme-modern .sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-theme-modern .sky-responsive-container-lg) .sky-date-range-picker-form-group{margin:0 20px 0 0}\n"], components: [{ type: i2$1.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: SkyDatepickerInputDirective, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }, { type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3976
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDateRangePickerComponent, decorators: [{
|
|
3639
3977
|
type: Component,
|
|
3640
3978
|
args: [{
|
|
3641
3979
|
selector: 'sky-date-range-picker',
|
|
@@ -3665,15 +4003,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
3665
4003
|
|
|
3666
4004
|
class SkyDateRangePickerModule {
|
|
3667
4005
|
}
|
|
3668
|
-
SkyDateRangePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
3669
|
-
SkyDateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
4006
|
+
SkyDateRangePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDateRangePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4007
|
+
SkyDateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDateRangePickerModule, declarations: [SkyDateRangePickerComponent], imports: [CommonModule,
|
|
3670
4008
|
FormsModule,
|
|
3671
4009
|
ReactiveFormsModule,
|
|
3672
4010
|
SkyI18nModule,
|
|
3673
4011
|
SkyDatepickerModule,
|
|
3674
4012
|
SkyDatetimeResourcesModule,
|
|
3675
4013
|
SkyInputBoxModule], exports: [SkyDateRangePickerComponent] });
|
|
3676
|
-
SkyDateRangePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
4014
|
+
SkyDateRangePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDateRangePickerModule, providers: [SkyDateRangeService], imports: [[
|
|
3677
4015
|
CommonModule,
|
|
3678
4016
|
FormsModule,
|
|
3679
4017
|
ReactiveFormsModule,
|
|
@@ -3682,7 +4020,7 @@ SkyDateRangePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0"
|
|
|
3682
4020
|
SkyDatetimeResourcesModule,
|
|
3683
4021
|
SkyInputBoxModule
|
|
3684
4022
|
]] });
|
|
3685
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
4023
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDateRangePickerModule, decorators: [{
|
|
3686
4024
|
type: NgModule,
|
|
3687
4025
|
args: [{
|
|
3688
4026
|
declarations: [
|
|
@@ -3699,7 +4037,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
3699
4037
|
],
|
|
3700
4038
|
exports: [
|
|
3701
4039
|
SkyDateRangePickerComponent
|
|
3702
|
-
]
|
|
4040
|
+
],
|
|
4041
|
+
providers: [SkyDateRangeService]
|
|
3703
4042
|
}]
|
|
3704
4043
|
}] });
|
|
3705
4044
|
|
|
@@ -3894,12 +4233,12 @@ class SkyTimepickerInputDirective {
|
|
|
3894
4233
|
}
|
|
3895
4234
|
}
|
|
3896
4235
|
}
|
|
3897
|
-
SkyTimepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
3898
|
-
SkyTimepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
4236
|
+
SkyTimepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerInputDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i3.SkyLibResourcesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4237
|
+
SkyTimepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.14", type: SkyTimepickerInputDirective, selector: "[skyTimepickerInput]", inputs: { skyTimepickerInput: "skyTimepickerInput", timeFormat: "timeFormat", returnFormat: "returnFormat", disabled: "disabled" }, host: { listeners: { "change": "onChange($event)", "blur": "onBlur()" } }, providers: [
|
|
3899
4238
|
SKY_TIMEPICKER_VALUE_ACCESSOR,
|
|
3900
4239
|
SKY_TIMEPICKER_VALIDATOR
|
|
3901
4240
|
], usesOnChanges: true, ngImport: i0 });
|
|
3902
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
4241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerInputDirective, decorators: [{
|
|
3903
4242
|
type: Directive,
|
|
3904
4243
|
args: [{
|
|
3905
4244
|
selector: '[skyTimepickerInput]',
|
|
@@ -4232,9 +4571,9 @@ class SkyTimepickerComponent {
|
|
|
4232
4571
|
(_a = this.overlayKeydownListner) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
4233
4572
|
}
|
|
4234
4573
|
}
|
|
4235
|
-
SkyTimepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
4236
|
-
SkyTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
4237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
4574
|
+
SkyTimepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2$1.SkyInputBoxHostService, optional: true }, { token: i3$2.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4575
|
+
SkyTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyTimepickerComponent, selector: "sky-timepicker", outputs: { selectedTimeChanged: "selectedTimeChanged" }, viewQueries: [{ propertyName: "timepickerRef", first: true, predicate: ["timepickerRef"], descendants: true, read: ElementRef }, { propertyName: "timepickerTemplateRef", first: true, predicate: ["timepickerTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButtonTemplateRef", first: true, predicate: ["triggerButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-timepicker\"\n>\n <ng-container *ngIf=\"!inputBoxHostService\">\n <div\n class=\"sky-input-group\"\n >\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div\n class=\"sky-input-group-btn\"\n >\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-timepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? timepickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"'skyux_timepicker_button_label' | skyLibResources\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"'skyux_timepicker_button_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"clock-o\"\n size=\"lg\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"clock\"\n size=\"lg\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #timepickerTemplateRef>\n <div\n class=\"sky-timepicker-container sky-shadow sky-box sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"timepickerId\"\n [class.sky-timepicker-hidden]=\"!isVisible\"\n #timepickerRef\n >\n <div\n class=\"sky-timepicker-content\"\n >\n <section\n class=\"sky-timepicker-column\"\n [ngClass]=\"{ 'sky-timepicker-24hour':is8601 }\"\n >\n <ol>\n <li *ngFor=\"let hour of hours;\">\n <button\n name=\"hour\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active' : selectedHour === hour }\"\n (click)=\"setTime($event)\"\n >\n {{hour}}\n </button>\n </li>\n </ol>\n </section>\n <section\n class=\"sky-timepicker-column\"\n >\n <ol>\n <li *ngFor=\"let minute of minutes;\">\n <button\n name=\"minute\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active': selectedMinute === minute }\"\n (click)=\"setTime($event)\"\n >\n {{ '00' .substring(0, 2 - (minute) .toString() .length) + (minute) }}\n </button>\n </li>\n </ol>\n </section>\n <section *ngIf=\"!is8601\"\n class=\"sky-timepicker-column\"\n >\n <ol>\n <li>\n <button\n name=\"meridie\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active': selectedMeridies === 'AM' }\"\n (click)=\"setTime($event)\"\n >\n AM\n </button>\n </li>\n <li>\n <button\n name=\"meridie\"\n type=\"button\"\n [ngClass]=\"{ 'sky-btn-active': selectedMeridies === 'PM' }\"\n (click)=\"setTime($event)\"\n >\n PM\n </button>\n </li>\n </ol>\n </section>\n </div>\n <div\n class=\"sky-timepicker-footer\"\n >\n <section\n class=\"sky-timepicker-column\"\n >\n <button\n class=\"sky-btn sky-btn-primary\"\n type=\"button\"\n (click)=\"onCloseButtonCick()\"\n >\n {{ 'skyux_timepicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n</ng-template>\n", styles: [".sky-timepicker-container{position:fixed;font-size:15px;padding:5px;background-color:#eeeeef;border-radius:5px}.sky-timepicker-container :last-child ol{display:flex;flex-direction:column;height:100%}.sky-timepicker-container :last-child ol li{border-bottom:1px solid #e2e3e4;flex:1}.sky-timepicker-column{margin:5px}.sky-timepicker-column ol{border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;grid-column-gap:1px;column-gap:1px;columns:2;list-style-type:none;margin:0;padding:0}.sky-timepicker-column ol li{text-align:center;cursor:pointer;margin:0}.sky-timepicker-column ol li button{cursor:pointer}.sky-timepicker-column ol li button:focus{outline:thin dotted;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.sky-timepicker-column ol li button:hover{background-color:#eeeeef}.sky-timepicker-column ol li button:active{background-color:#e2e3e4}.sky-timepicker-column ol li button.sky-btn-active:hover{background-color:#c1e8fb}.sky-timepicker-column ol .sky-btn-active{background-color:#c1e8fb;box-shadow:inset 0 0 0 2px #00b4f1;border-radius:3px}.sky-timepicker-column.sky-timepicker-24hour ol{columns:4}.sky-timepicker-column.sky-timepicker-24hour ol li{border-bottom-width:0}.sky-timepicker-content{display:flex}.sky-timepicker-content button{background-color:#fff;border-width:0;padding:5px 15px;width:100%;height:100%}.sky-timepicker-footer{margin:0;padding:0 5px}.sky-timepicker-footer .sky-timepicker-column{margin-left:0;margin-right:0;width:100%}.sky-timepicker-hidden{visibility:hidden}.sky-timepicker-clock-icon-modern{display:none}.sky-theme-modern .sky-timepicker-clock-icon-default{display:none}.sky-theme-modern .sky-timepicker-clock-icon-modern{display:inline}.sky-theme-modern .sky-timepicker-container{background-color:#fff;border:solid 1px #cdcfd2;border-radius:6px;font-size:16px}.sky-theme-modern .sky-timepicker-container:focus-within{border:solid 2px #1870B8;padding:4px}.sky-theme-modern .sky-timepicker-container:last-child ol li{border-bottom:none}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol .sky-btn-default{border-width:1px;border-color:transparent;padding:4px 6px;outline:none}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:hover:not(.sky-btn-active){background-color:transparent}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol .sky-btn-active,.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:hover{box-shadow:inset 0 0 0 1px #00b4f1;border-radius:6px}.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:active,.sky-theme-modern .sky-timepicker-container .sky-timepicker-column ol button:focus{outline:none;border-radius:6px;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-container{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-container:not(:focus-within){border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-column ol{border-color:#686c73}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-column ol button{background-color:transparent;color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-timepicker-column ol .sky-btn-active{background-color:#009cd1}\n"], components: [{ type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$2.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
4576
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerComponent, decorators: [{
|
|
4238
4577
|
type: Component,
|
|
4239
4578
|
args: [{
|
|
4240
4579
|
selector: 'sky-timepicker',
|
|
@@ -4280,8 +4619,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
|
4280
4619
|
|
|
4281
4620
|
class SkyTimepickerModule {
|
|
4282
4621
|
}
|
|
4283
|
-
SkyTimepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
4284
|
-
SkyTimepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
4622
|
+
SkyTimepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4623
|
+
SkyTimepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerModule, declarations: [SkyTimepickerInputDirective,
|
|
4285
4624
|
SkyTimepickerComponent], imports: [CommonModule,
|
|
4286
4625
|
SkyI18nModule,
|
|
4287
4626
|
SkyIconModule,
|
|
@@ -4290,7 +4629,7 @@ SkyTimepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
|
|
|
4290
4629
|
SkyOverlayModule,
|
|
4291
4630
|
SkyThemeModule], exports: [SkyTimepickerInputDirective,
|
|
4292
4631
|
SkyTimepickerComponent] });
|
|
4293
|
-
SkyTimepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
4632
|
+
SkyTimepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerModule, imports: [[
|
|
4294
4633
|
CommonModule,
|
|
4295
4634
|
SkyI18nModule,
|
|
4296
4635
|
SkyIconModule,
|
|
@@ -4299,7 +4638,7 @@ SkyTimepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
|
|
|
4299
4638
|
SkyOverlayModule,
|
|
4300
4639
|
SkyThemeModule
|
|
4301
4640
|
]] });
|
|
4302
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
4641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTimepickerModule, decorators: [{
|
|
4303
4642
|
type: NgModule,
|
|
4304
4643
|
args: [{
|
|
4305
4644
|
declarations: [
|