@skyux/datetime 15.0.0-alpha.5 → 15.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1957,6 +1957,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
1957
1957
|
type: Injectable
|
|
1958
1958
|
}] });
|
|
1959
1959
|
|
|
1960
|
+
/**
|
|
1961
|
+
* Whether the keyboard event is the shortcut for setting the datepicker value to today's date.
|
|
1962
|
+
* @internal
|
|
1963
|
+
*/
|
|
1964
|
+
function datepickerIsSetToTodayKey(event) {
|
|
1965
|
+
return event.key === 'F3';
|
|
1966
|
+
}
|
|
1967
|
+
|
|
1960
1968
|
let nextId$1 = 0;
|
|
1961
1969
|
/**
|
|
1962
1970
|
* Creates the datepicker button and calendar.
|
|
@@ -1991,7 +1999,7 @@ class SkyDatepickerComponent {
|
|
|
1991
1999
|
set calendarRef(value) {
|
|
1992
2000
|
if (value) {
|
|
1993
2001
|
this.#_calendarRef = value;
|
|
1994
|
-
this.#
|
|
2002
|
+
this.#addKeyEventListeners();
|
|
1995
2003
|
// Wait for the calendar component to render before gauging dimensions.
|
|
1996
2004
|
setTimeout(() => {
|
|
1997
2005
|
if (this.calendarRef) {
|
|
@@ -2017,6 +2025,7 @@ class SkyDatepickerComponent {
|
|
|
2017
2025
|
#customDatesSubscription;
|
|
2018
2026
|
#ngUnsubscribe;
|
|
2019
2027
|
#overlay;
|
|
2028
|
+
#overlayKeydownListener;
|
|
2020
2029
|
#overlayKeyupListener;
|
|
2021
2030
|
#_calendarRef;
|
|
2022
2031
|
#_dateFormat;
|
|
@@ -2137,6 +2146,32 @@ class SkyDatepickerComponent {
|
|
|
2137
2146
|
this.#openPicker();
|
|
2138
2147
|
}
|
|
2139
2148
|
}
|
|
2149
|
+
/**
|
|
2150
|
+
* Sets the datepicker value to today's date, if today is selectable.
|
|
2151
|
+
* @internal
|
|
2152
|
+
*/
|
|
2153
|
+
selectToday() {
|
|
2154
|
+
const now = new Date();
|
|
2155
|
+
const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
|
|
2156
|
+
if (!this.#isSelectable(today)) {
|
|
2157
|
+
return;
|
|
2158
|
+
}
|
|
2159
|
+
this.calendarDateChange.emit(today);
|
|
2160
|
+
this.dateChange.emit(today);
|
|
2161
|
+
if (this.isOpen) {
|
|
2162
|
+
this.#closePicker();
|
|
2163
|
+
}
|
|
2164
|
+
}
|
|
2165
|
+
/**
|
|
2166
|
+
* Sets the datepicker value to today's date when the trigger button has focus.
|
|
2167
|
+
* @internal
|
|
2168
|
+
*/
|
|
2169
|
+
onTriggerButtonKeydown(event) {
|
|
2170
|
+
if (datepickerIsSetToTodayKey(event)) {
|
|
2171
|
+
event.preventDefault();
|
|
2172
|
+
this.selectToday();
|
|
2173
|
+
}
|
|
2174
|
+
}
|
|
2140
2175
|
onCalendarDateRangeChange(event) {
|
|
2141
2176
|
/* istanbul ignore else */
|
|
2142
2177
|
if (event) {
|
|
@@ -2267,7 +2302,7 @@ class SkyDatepickerComponent {
|
|
|
2267
2302
|
this.#overlay = undefined;
|
|
2268
2303
|
}
|
|
2269
2304
|
}
|
|
2270
|
-
#
|
|
2305
|
+
#addKeyEventListeners() {
|
|
2271
2306
|
const datepickerCalendarElement = this.calendarRef?.nativeElement;
|
|
2272
2307
|
if (datepickerCalendarElement) {
|
|
2273
2308
|
this.#overlayKeyupListener = fromEvent(datepickerCalendarElement, 'keyup')
|
|
@@ -2278,6 +2313,14 @@ class SkyDatepickerComponent {
|
|
|
2278
2313
|
this.#closePicker();
|
|
2279
2314
|
}
|
|
2280
2315
|
});
|
|
2316
|
+
this.#overlayKeydownListener = fromEvent(datepickerCalendarElement, 'keydown')
|
|
2317
|
+
.pipe(takeUntil(this.#ngUnsubscribe))
|
|
2318
|
+
.subscribe((event) => {
|
|
2319
|
+
if (datepickerIsSetToTodayKey(event)) {
|
|
2320
|
+
event.preventDefault();
|
|
2321
|
+
this.selectToday();
|
|
2322
|
+
}
|
|
2323
|
+
});
|
|
2281
2324
|
}
|
|
2282
2325
|
}
|
|
2283
2326
|
#removePickerEventListeners() {
|
|
@@ -2285,6 +2328,25 @@ class SkyDatepickerComponent {
|
|
|
2285
2328
|
this.#calendarUnsubscribe.complete();
|
|
2286
2329
|
this.#calendarUnsubscribe = new Subject();
|
|
2287
2330
|
this.#overlayKeyupListener?.unsubscribe();
|
|
2331
|
+
this.#overlayKeydownListener?.unsubscribe();
|
|
2332
|
+
}
|
|
2333
|
+
#isSelectable(date) {
|
|
2334
|
+
const minDateCompare = this.minDate &&
|
|
2335
|
+
date.getTime() <
|
|
2336
|
+
new Date(this.minDate.getFullYear(), this.minDate.getMonth(), this.minDate.getDate()).getTime();
|
|
2337
|
+
if (minDateCompare) {
|
|
2338
|
+
return false;
|
|
2339
|
+
}
|
|
2340
|
+
const maxDateCompare = this.maxDate &&
|
|
2341
|
+
date.getTime() >
|
|
2342
|
+
new Date(this.maxDate.getFullYear(), this.maxDate.getMonth(), this.maxDate.getDate()).getTime();
|
|
2343
|
+
if (maxDateCompare) {
|
|
2344
|
+
return false;
|
|
2345
|
+
}
|
|
2346
|
+
const customDate = this.customDates?.find((item) => item.date.getFullYear() === date.getFullYear() &&
|
|
2347
|
+
item.date.getMonth() === date.getMonth() &&
|
|
2348
|
+
item.date.getDate() === date.getDate());
|
|
2349
|
+
return !customDate?.disabled;
|
|
2288
2350
|
}
|
|
2289
2351
|
#cancelCustomDatesSubscription() {
|
|
2290
2352
|
if (this.#customDatesSubscription) {
|
|
@@ -2305,7 +2367,7 @@ class SkyDatepickerComponent {
|
|
|
2305
2367
|
}
|
|
2306
2368
|
}
|
|
2307
2369
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2308
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: SkyDatepickerComponent, isStandalone: true, selector: "sky-datepicker", inputs: { pickerClass: "pickerClass" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange", dateFormatChange: "dateFormatChange", openChange: "openChange", calendarDateChange: "calendarDateChange" }, providers: [SkyDatepickerHostService], 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 class=\"sky-datepicker\">\n @if (!inputBoxHostService) {\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\" />\n </div>\n }\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content />\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n #triggerButtonRef\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]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n >\n <sky-icon iconName=\"calendar-ltr\" iconSize=\"l\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n #calendarRef\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 >\n <sky-datepicker-calendar\n cdkTrapFocus\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startAtDate]=\"startAtDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n />\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container:not(.sky-theme-modern *){--sky-override-datepicker-border-radius: 5px}.sky-datepicker-calendar-container{position:fixed;border-radius:var(--sky-override-datepicker-border-radius, var(--sky-border-radius-s))}.sky-datepicker-hidden{visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SkyDatepickerCalendarComponent, selector: "sky-datepicker-calendar", inputs: ["customDates", "isDaypickerWaiting", "minDate", "maxDate", "startAtDate", "selectedDate", "startingDay"], outputs: ["calendarDateRangeChange", "calendarModeChange", "selectedDateChange"] }, { kind: "ngmodule", type: SkyDatetimeResourcesModule }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2.λ1, selector: "sky-icon", inputs: ["iconName", "variant", "iconSize"] }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2370
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: SkyDatepickerComponent, isStandalone: true, selector: "sky-datepicker", inputs: { pickerClass: "pickerClass" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange", dateFormatChange: "dateFormatChange", openChange: "openChange", calendarDateChange: "calendarDateChange" }, providers: [SkyDatepickerHostService], 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 class=\"sky-datepicker\">\n @if (!inputBoxHostService) {\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\" />\n </div>\n }\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content />\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n #triggerButtonRef\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]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n (keydown)=\"onTriggerButtonKeydown($event)\"\n >\n <sky-icon iconName=\"calendar-ltr\" iconSize=\"l\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n #calendarRef\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 >\n <sky-datepicker-calendar\n cdkTrapFocus\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startAtDate]=\"startAtDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n />\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container:not(.sky-theme-modern *){--sky-override-datepicker-border-radius: 5px}.sky-datepicker-calendar-container{position:fixed;border-radius:var(--sky-override-datepicker-border-radius, var(--sky-border-radius-s))}.sky-datepicker-hidden{visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SkyDatepickerCalendarComponent, selector: "sky-datepicker-calendar", inputs: ["customDates", "isDaypickerWaiting", "minDate", "maxDate", "startAtDate", "selectedDate", "startingDay"], outputs: ["calendarDateRangeChange", "calendarModeChange", "selectedDateChange"] }, { kind: "ngmodule", type: SkyDatetimeResourcesModule }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i2.λ1, selector: "sky-icon", inputs: ["iconName", "variant", "iconSize"] }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2309
2371
|
}
|
|
2310
2372
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDatepickerComponent, decorators: [{
|
|
2311
2373
|
type: Component,
|
|
@@ -2314,7 +2376,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
2314
2376
|
SkyDatepickerCalendarComponent,
|
|
2315
2377
|
SkyDatetimeResourcesModule,
|
|
2316
2378
|
SkyIconModule,
|
|
2317
|
-
], providers: [SkyDatepickerHostService], selector: 'sky-datepicker', template: "<div class=\"sky-datepicker\">\n @if (!inputBoxHostService) {\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\" />\n </div>\n }\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content />\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n #triggerButtonRef\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]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n >\n <sky-icon iconName=\"calendar-ltr\" iconSize=\"l\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n #calendarRef\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 >\n <sky-datepicker-calendar\n cdkTrapFocus\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startAtDate]=\"startAtDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n />\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container:not(.sky-theme-modern *){--sky-override-datepicker-border-radius: 5px}.sky-datepicker-calendar-container{position:fixed;border-radius:var(--sky-override-datepicker-border-radius, var(--sky-border-radius-s))}.sky-datepicker-hidden{visibility:hidden}\n"] }]
|
|
2379
|
+
], providers: [SkyDatepickerHostService], selector: 'sky-datepicker', template: "<div class=\"sky-datepicker\">\n @if (!inputBoxHostService) {\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\" />\n </div>\n }\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content />\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n #triggerButtonRef\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]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n (keydown)=\"onTriggerButtonKeydown($event)\"\n >\n <sky-icon iconName=\"calendar-ltr\" iconSize=\"l\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n #calendarRef\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 >\n <sky-datepicker-calendar\n cdkTrapFocus\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startAtDate]=\"startAtDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n />\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container:not(.sky-theme-modern *){--sky-override-datepicker-border-radius: 5px}.sky-datepicker-calendar-container{position:fixed;border-radius:var(--sky-override-datepicker-border-radius, var(--sky-border-radius-s))}.sky-datepicker-hidden{visibility:hidden}\n"] }]
|
|
2318
2380
|
}], ctorParameters: () => [], propDecorators: { pickerClass: [{
|
|
2319
2381
|
type: Input
|
|
2320
2382
|
}], calendarDateRangeChange: [{
|
|
@@ -2611,6 +2673,12 @@ class SkyDatepickerInputDirective {
|
|
|
2611
2673
|
onInput() {
|
|
2612
2674
|
this.#control?.markAsDirty();
|
|
2613
2675
|
}
|
|
2676
|
+
onKeydown(event) {
|
|
2677
|
+
if (datepickerIsSetToTodayKey(event)) {
|
|
2678
|
+
event.preventDefault();
|
|
2679
|
+
this.#datepickerComponent.selectToday();
|
|
2680
|
+
}
|
|
2681
|
+
}
|
|
2614
2682
|
writeValue(value) {
|
|
2615
2683
|
this.#updateValue(value, false);
|
|
2616
2684
|
}
|
|
@@ -2835,7 +2903,7 @@ class SkyDatepickerInputDirective {
|
|
|
2835
2903
|
}
|
|
2836
2904
|
}
|
|
2837
2905
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDatepickerInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2838
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: SkyDatepickerInputDirective, isStandalone: true, selector: "[skyDatepickerInput]", inputs: { dateFormat: "dateFormat", disabled: "disabled", maxDate: "maxDate", minDate: "minDate", startAtDate: "startAtDate", skyDatepickerInput: "skyDatepickerInput", skyDatepickerNoValidate: "skyDatepickerNoValidate", startingDay: "startingDay", strict: "strict" }, host: { listeners: { "focusout": "onFocusout($event)", "change": "onInputChange($event)", "input": "onInput()" } }, providers: [SKY_DATEPICKER_VALUE_ACCESSOR, SKY_DATEPICKER_VALIDATOR], ngImport: i0 }); }
|
|
2906
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: SkyDatepickerInputDirective, isStandalone: true, selector: "[skyDatepickerInput]", inputs: { dateFormat: "dateFormat", disabled: "disabled", maxDate: "maxDate", minDate: "minDate", startAtDate: "startAtDate", skyDatepickerInput: "skyDatepickerInput", skyDatepickerNoValidate: "skyDatepickerNoValidate", startingDay: "startingDay", strict: "strict" }, host: { listeners: { "focusout": "onFocusout($event)", "change": "onInputChange($event)", "input": "onInput()", "keydown": "onKeydown($event)" } }, providers: [SKY_DATEPICKER_VALUE_ACCESSOR, SKY_DATEPICKER_VALIDATOR], ngImport: i0 }); }
|
|
2839
2907
|
}
|
|
2840
2908
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyDatepickerInputDirective, decorators: [{
|
|
2841
2909
|
type: Directive,
|
|
@@ -2870,6 +2938,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
2870
2938
|
}], onInput: [{
|
|
2871
2939
|
type: HostListener,
|
|
2872
2940
|
args: ['input']
|
|
2941
|
+
}], onKeydown: [{
|
|
2942
|
+
type: HostListener,
|
|
2943
|
+
args: ['keydown', ['$event']]
|
|
2873
2944
|
}] } });
|
|
2874
2945
|
|
|
2875
2946
|
const SKY_FUZZY_DATEPICKER_VALUE_ACCESSOR = {
|
|
@@ -3122,6 +3193,12 @@ class SkyFuzzyDatepickerInputDirective {
|
|
|
3122
3193
|
onInput() {
|
|
3123
3194
|
this.#control?.markAsDirty();
|
|
3124
3195
|
}
|
|
3196
|
+
onKeydown(event) {
|
|
3197
|
+
if (datepickerIsSetToTodayKey(event)) {
|
|
3198
|
+
event.preventDefault();
|
|
3199
|
+
this.#datepickerComponent.selectToday();
|
|
3200
|
+
}
|
|
3201
|
+
}
|
|
3125
3202
|
writeValue(value) {
|
|
3126
3203
|
this.#updateValue(value, false);
|
|
3127
3204
|
}
|
|
@@ -3330,7 +3407,7 @@ class SkyFuzzyDatepickerInputDirective {
|
|
|
3330
3407
|
this.#setInputElementValue(formattedDate || '');
|
|
3331
3408
|
}
|
|
3332
3409
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SkyFuzzyDatepickerInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3333
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: SkyFuzzyDatepickerInputDirective, isStandalone: true, selector: "[skyFuzzyDatepickerInput]", inputs: { dateFormat: "dateFormat", disabled: "disabled", futureDisabled: "futureDisabled", maxDate: "maxDate", minDate: "minDate", startAtDate: "startAtDate", skyDatepickerNoValidate: "skyDatepickerNoValidate", startingDay: "startingDay", yearRequired: "yearRequired" }, host: { listeners: { "focusout": "onFocusout($event)", "change": "onInputChange($event)", "blur": "onInputBlur()", "input": "onInput()" } }, providers: [
|
|
3410
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: SkyFuzzyDatepickerInputDirective, isStandalone: true, selector: "[skyFuzzyDatepickerInput]", inputs: { dateFormat: "dateFormat", disabled: "disabled", futureDisabled: "futureDisabled", maxDate: "maxDate", minDate: "minDate", startAtDate: "startAtDate", skyDatepickerNoValidate: "skyDatepickerNoValidate", startingDay: "startingDay", yearRequired: "yearRequired" }, host: { listeners: { "focusout": "onFocusout($event)", "change": "onInputChange($event)", "blur": "onInputBlur()", "input": "onInput()", "keydown": "onKeydown($event)" } }, providers: [
|
|
3334
3411
|
SKY_FUZZY_DATEPICKER_VALUE_ACCESSOR,
|
|
3335
3412
|
SKY_FUZZY_DATEPICKER_VALIDATOR,
|
|
3336
3413
|
], ngImport: i0 }); }
|
|
@@ -3374,6 +3451,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
3374
3451
|
}], onInput: [{
|
|
3375
3452
|
type: HostListener,
|
|
3376
3453
|
args: ['input']
|
|
3454
|
+
}], onKeydown: [{
|
|
3455
|
+
type: HostListener,
|
|
3456
|
+
args: ['keydown', ['$event']]
|
|
3377
3457
|
}] } });
|
|
3378
3458
|
|
|
3379
3459
|
class SkyDatepickerModule {
|