@skyux/datetime 12.27.0 → 13.0.0-alpha.1

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.
Files changed (70) hide show
  1. package/fesm2022/skyux-datetime-testing.mjs.map +1 -1
  2. package/fesm2022/skyux-datetime.mjs +92 -92
  3. package/fesm2022/skyux-datetime.mjs.map +1 -1
  4. package/index.d.ts +1240 -30
  5. package/package.json +14 -14
  6. package/testing/index.d.ts +398 -3
  7. package/lib/modules/date-pipe/date-pipe.module.d.ts +0 -9
  8. package/lib/modules/date-pipe/date.pipe.d.ts +0 -27
  9. package/lib/modules/date-pipe/date.service.d.ts +0 -13
  10. package/lib/modules/date-pipe/fuzzy-date.pipe.d.ts +0 -31
  11. package/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.d.ts +0 -8
  12. package/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.d.ts +0 -8
  13. package/lib/modules/date-range-picker/date-range-picker.component.d.ts +0 -108
  14. package/lib/modules/date-range-picker/date-range-picker.module.d.ts +0 -8
  15. package/lib/modules/date-range-picker/date-range.service.d.ts +0 -35
  16. package/lib/modules/date-range-picker/types/date-range-calculation.d.ts +0 -11
  17. package/lib/modules/date-range-picker/types/date-range-calculator-config.d.ts +0 -25
  18. package/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.d.ts +0 -2
  19. package/lib/modules/date-range-picker/types/date-range-calculator-id.d.ts +0 -116
  20. package/lib/modules/date-range-picker/types/date-range-calculator-type.d.ts +0 -21
  21. package/lib/modules/date-range-picker/types/date-range-calculator-validate-function.d.ts +0 -3
  22. package/lib/modules/date-range-picker/types/date-range-calculator.d.ts +0 -46
  23. package/lib/modules/date-range-picker/types/date-range-default-calculator-config.d.ts +0 -14
  24. package/lib/modules/date-range-picker/types/date-range-default-calculator-configs.d.ts +0 -4
  25. package/lib/modules/date-range-picker/types/date-range-relative-value.d.ts +0 -38
  26. package/lib/modules/date-range-picker/types/date-range.d.ts +0 -10
  27. package/lib/modules/datepicker/calendar/datepicker-calendar-change.d.ts +0 -24
  28. package/lib/modules/datepicker/calendar/datepicker-calendar-inner.component.d.ts +0 -90
  29. package/lib/modules/datepicker/calendar/datepicker-calendar-label.pipe.d.ts +0 -23
  30. package/lib/modules/datepicker/calendar/datepicker-calendar.component.d.ts +0 -35
  31. package/lib/modules/datepicker/calendar/datepicker-calendar.service.d.ts +0 -16
  32. package/lib/modules/datepicker/calendar/daypicker-button.component.d.ts +0 -16
  33. package/lib/modules/datepicker/calendar/daypicker-cell.component.d.ts +0 -26
  34. package/lib/modules/datepicker/calendar/daypicker-context.d.ts +0 -15
  35. package/lib/modules/datepicker/calendar/daypicker.component.d.ts +0 -28
  36. package/lib/modules/datepicker/calendar/monthpicker.component.d.ts +0 -17
  37. package/lib/modules/datepicker/calendar/yearpicker.component.d.ts +0 -18
  38. package/lib/modules/datepicker/date-formatter.d.ts +0 -15
  39. package/lib/modules/datepicker/datepicker-config.service.d.ts +0 -29
  40. package/lib/modules/datepicker/datepicker-custom-date.d.ts +0 -21
  41. package/lib/modules/datepicker/datepicker-host.service.d.ts +0 -21
  42. package/lib/modules/datepicker/datepicker-input.directive.d.ts +0 -92
  43. package/lib/modules/datepicker/datepicker.component.d.ts +0 -84
  44. package/lib/modules/datepicker/datepicker.module.d.ts +0 -16
  45. package/lib/modules/datepicker/fuzzy/datepicker-input-fuzzy.directive.d.ts +0 -97
  46. package/lib/modules/datepicker/fuzzy/fuzzy-date.d.ts +0 -15
  47. package/lib/modules/datepicker/fuzzy/fuzzy-date.service.d.ts +0 -54
  48. package/lib/modules/shared/sky-datetime-resources.module.d.ts +0 -10
  49. package/lib/modules/timepicker/timepicker-time-format-type.d.ts +0 -1
  50. package/lib/modules/timepicker/timepicker-time-output.d.ts +0 -30
  51. package/lib/modules/timepicker/timepicker.component.d.ts +0 -59
  52. package/lib/modules/timepicker/timepicker.directive.d.ts +0 -52
  53. package/lib/modules/timepicker/timepicker.module.d.ts +0 -13
  54. package/testing/legacy/datepicker-fixture.d.ts +0 -27
  55. package/testing/legacy/timepicker-fixture.d.ts +0 -29
  56. package/testing/modules/date-range-picker/date-range-picker-harness.d.ts +0 -98
  57. package/testing/modules/date-range-picker/date-range-picker-harness.filters.d.ts +0 -6
  58. package/testing/modules/datepicker/datepicker-calendar-harness.d.ts +0 -48
  59. package/testing/modules/datepicker/datepicker-calendar-harness.filters.d.ts +0 -6
  60. package/testing/modules/datepicker/datepicker-harness.d.ts +0 -43
  61. package/testing/modules/datepicker/datepicker-harness.filters.d.ts +0 -6
  62. package/testing/modules/datepicker/datepicker-input-harness.d.ts +0 -18
  63. package/testing/modules/datepicker/fuzzy-datepicker-input-harness.d.ts +0 -18
  64. package/testing/modules/timepicker/timepicker-harness-filters.d.ts +0 -6
  65. package/testing/modules/timepicker/timepicker-harness.d.ts +0 -42
  66. package/testing/modules/timepicker/timepicker-input-harness.d.ts +0 -18
  67. package/testing/modules/timepicker/timepicker-selector-column-harness.d.ts +0 -24
  68. package/testing/modules/timepicker/timepicker-selector-harness-filters.d.ts +0 -7
  69. package/testing/modules/timepicker/timepicker-selector-harness.d.ts +0 -36
  70. package/testing/public-api.d.ts +0 -14
package/index.d.ts CHANGED
@@ -1,30 +1,1240 @@
1
- export { SkyDatePipeModule } from './lib/modules/date-pipe/date-pipe.module';
2
- export { SkyDatePipe } from './lib/modules/date-pipe/date.pipe';
3
- export { SkyDateService } from './lib/modules/date-pipe/date.service';
4
- export { SkyFuzzyDatePipe } from './lib/modules/date-pipe/fuzzy-date.pipe';
5
- export { SkyDateRangePickerModule } from './lib/modules/date-range-picker/date-range-picker.module';
6
- export { SkyDateRangeService } from './lib/modules/date-range-picker/date-range.service';
7
- export { SkyDateRange } from './lib/modules/date-range-picker/types/date-range';
8
- export { SkyDateRangeCalculation } from './lib/modules/date-range-picker/types/date-range-calculation';
9
- export { SkyDateRangeCalculator } from './lib/modules/date-range-picker/types/date-range-calculator';
10
- export { SkyDateRangeCalculatorConfig } from './lib/modules/date-range-picker/types/date-range-calculator-config';
11
- export { SkyDateRangeCalculatorGetValueFunction } from './lib/modules/date-range-picker/types/date-range-calculator-date-range-function';
12
- export { SkyDateRangeCalculatorId } from './lib/modules/date-range-picker/types/date-range-calculator-id';
13
- export { SkyDateRangeCalculatorType } from './lib/modules/date-range-picker/types/date-range-calculator-type';
14
- export { SkyDateRangeCalculatorValidateFunction } from './lib/modules/date-range-picker/types/date-range-calculator-validate-function';
15
- export { SkyDatepickerCalendarChange } from './lib/modules/datepicker/calendar/datepicker-calendar-change';
16
- export { SkyDatepickerConfigService } from './lib/modules/datepicker/datepicker-config.service';
17
- export { SkyDatepickerCustomDate } from './lib/modules/datepicker/datepicker-custom-date';
18
- export { SkyDatepickerModule } from './lib/modules/datepicker/datepicker.module';
19
- export { SkyFuzzyDate } from './lib/modules/datepicker/fuzzy/fuzzy-date';
20
- export { SkyFuzzyDateService } from './lib/modules/datepicker/fuzzy/fuzzy-date.service';
21
- export { SkyTimepickerTimeFormatType } from './lib/modules/timepicker/timepicker-time-format-type';
22
- export { SkyTimepickerTimeOutput } from './lib/modules/timepicker/timepicker-time-output';
23
- export { SkyTimepickerModule } from './lib/modules/timepicker/timepicker.module';
24
- export { SkyDateRangePickerComponent as λ5 } from './lib/modules/date-range-picker/date-range-picker.component';
25
- export { SkyDatepickerCalendarComponent as λ1 } from './lib/modules/datepicker/calendar/datepicker-calendar.component';
26
- export { SkyFuzzyDatepickerInputDirective as λ4 } from './lib/modules/datepicker/fuzzy/datepicker-input-fuzzy.directive';
27
- export { SkyDatepickerInputDirective as λ3 } from './lib/modules/datepicker/datepicker-input.directive';
28
- export { SkyDatepickerComponent as λ2 } from './lib/modules/datepicker/datepicker.component';
29
- export { SkyTimepickerComponent as λ6 } from './lib/modules/timepicker/timepicker.component';
30
- export { SkyTimepickerInputDirective as λ7 } from './lib/modules/timepicker/timepicker.directive';
1
+ import * as i0 from '@angular/core';
2
+ import { OnDestroy, PipeTransform, OnInit, OnChanges, EventEmitter, SimpleChanges, AfterViewInit, ElementRef, TemplateRef, ChangeDetectorRef, Signal, AfterContentInit, Renderer2 } from '@angular/core';
3
+ import * as i1 from '@skyux/i18n';
4
+ import { SkyAppLocaleProvider, SkyLibResourcesService } from '@skyux/i18n';
5
+ import * as _angular_forms from '@angular/forms';
6
+ import { ValidationErrors, ControlValueAccessor, Validator, AbstractControl, FormControl } from '@angular/forms';
7
+ import * as i6 from '@skyux/core';
8
+ import { SkyAffixService, SkyCoreAdapterService, SkyOverlayService, SkyStackingContext } from '@skyux/core';
9
+ import * as i2 from '@skyux/forms';
10
+ import { SkyInputBoxHostService } from '@skyux/forms';
11
+ import * as i7 from '@skyux/theme';
12
+ import { SkyThemeService } from '@skyux/theme';
13
+ import { Observable, BehaviorSubject, Subscription } from 'rxjs';
14
+ import { SkyPopoverMessage } from '@skyux/popovers';
15
+ import * as i3 from '@angular/common';
16
+ import * as i4 from '@skyux/icon';
17
+
18
+ /**
19
+ * Formats date values according to locale rules.
20
+ * @example
21
+ * ```markup
22
+ * {{ myDate | skyDate }}
23
+ * {{ myDate | skyDate:'medium' }}
24
+ * {{ myDate | skyDate:'medium':'en-CA' }}
25
+ * ```
26
+ */
27
+ declare class SkyDatePipe implements OnDestroy, PipeTransform {
28
+ #private;
29
+ constructor();
30
+ ngOnDestroy(): void;
31
+ /**
32
+ * Transforms a date value using locale and format rules.
33
+ * @param value Specifies the date value to transform.
34
+ * @param format Specifies the format to apply to the transform. The format string is
35
+ * constructed by a series of symbols that represent date-time values. The symbols are
36
+ * identical to [Angular's `DatePipe`](https://angular.io/api/common/DatePipe#pre-defined-format-options) format options.
37
+ * @param locale Specifies the locale code to use in the transform.
38
+ */
39
+ transform(value: any, format?: string, locale?: string): string;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDatePipe, never>;
41
+ static ɵpipe: i0.ɵɵPipeDeclaration<SkyDatePipe, "skyDate", false>;
42
+ }
43
+
44
+ interface SkyFuzzyDate {
45
+ /**
46
+ * The day in a fuzzy date, where `1` sets the day
47
+ * to the first day of the specified month.
48
+ */
49
+ day?: number;
50
+ /**
51
+ * The month in a fuzzy date, where `1` sets the month to January.
52
+ */
53
+ month?: number;
54
+ /**
55
+ * The year in a fuzzy date.
56
+ */
57
+ year?: number;
58
+ }
59
+
60
+ /**
61
+ * @internal
62
+ */
63
+ interface SkyFuzzyDateRange {
64
+ years: string;
65
+ months: string;
66
+ days: string;
67
+ startDate: Date;
68
+ endDate: Date;
69
+ valid: boolean;
70
+ }
71
+ /**
72
+ * @internal
73
+ */
74
+ declare class SkyFuzzyDateService implements OnDestroy {
75
+ #private;
76
+ constructor(localeProvider: SkyAppLocaleProvider);
77
+ ngOnDestroy(): void;
78
+ /**
79
+ * Returns the browser's current locale string.
80
+ */
81
+ getCurrentLocale(): string;
82
+ /**
83
+ * Returns the short format of the provided locale.
84
+ * If not provided, the locale will be taken from the browser's default locale.
85
+ */
86
+ getLocaleShortFormat(locale?: string): string;
87
+ /**
88
+ * Formats a fuzzy date by using the provided format and locale strings.
89
+ * If not provided, the locale will be taken from the browser's default locale.
90
+ */
91
+ format(fuzzyDate: SkyFuzzyDate, format?: string, locale?: string): string;
92
+ /**
93
+ * If not provided, years will default to current year; months will default to January;
94
+ * days will default to 1st of the month.
95
+ */
96
+ getMomentFromFuzzyDate(fuzzyDate?: SkyFuzzyDate): any;
97
+ /**
98
+ * Gets a string instance of a fuzzy date.
99
+ * @deprecated Deprecated in favor of the `format` function.
100
+ */
101
+ getStringFromFuzzyDate(fuzzyDate?: SkyFuzzyDate, dateFormat?: string): string | undefined;
102
+ getFuzzyDateFromSelectedDate(selectedDate?: Date, dateFormat?: string): SkyFuzzyDate | undefined;
103
+ getFuzzyDateFromString(date: string, dateFormat?: string): SkyFuzzyDate | undefined;
104
+ getFuzzyDateRange(startFuzzyDate: SkyFuzzyDate, endFuzzyDate: SkyFuzzyDate): SkyFuzzyDateRange;
105
+ getCurrentFuzzyDate(): SkyFuzzyDate;
106
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyFuzzyDateService, never>;
107
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyFuzzyDateService>;
108
+ }
109
+
110
+ /**
111
+ * Formats date values using two or more date tokens that represent the day, month,
112
+ * and year. The tokens are described in the [moment.js values](https://momentjs.com/docs/#/displaying/).
113
+ * @example
114
+ * ```markup
115
+ * {{ myFuzzyDate | skyFuzzyDate:'MMM Y' }}
116
+ * {{ myFuzzyDate | skyFuzzyDate:'MMM Y':'en-CA' }}
117
+ * ```
118
+ */
119
+ declare class SkyFuzzyDatePipe implements PipeTransform {
120
+ #private;
121
+ constructor(fuzzyDateService: SkyFuzzyDateService);
122
+ /**
123
+ * Transforms fuzzy date values using two or more date tokens that represent the day, month,
124
+ * and year.
125
+ * @param value Specifies the date value to transform.
126
+ * @param format Specifies the format to apply to the transform. You construct the format
127
+ * string with a two or more tokens that specify the components of date-time value. The
128
+ * tokens are described in the [moment.js values](https://momentjs.com/docs/#/displaying/).
129
+ * If you don't provide a format, `SkyFuzzyDatePipe` attempts to format fuzzy dates based
130
+ * on the browser's default locale.
131
+ * @param locale Specifies the locale code to use in the transform.
132
+ */
133
+ transform(value: SkyFuzzyDate, format?: string, locale?: string): string;
134
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyFuzzyDatePipe, never>;
135
+ static ɵpipe: i0.ɵɵPipeDeclaration<SkyFuzzyDatePipe, "skyFuzzyDate", false>;
136
+ }
137
+
138
+ /**
139
+ * Import into any component library module that needs to use resource strings.
140
+ */
141
+ declare class SkyDatetimeResourcesModule {
142
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDatetimeResourcesModule, never>;
143
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SkyDatetimeResourcesModule, never, never, [typeof i1.SkyI18nModule]>;
144
+ static ɵinj: i0.ɵɵInjectorDeclaration<SkyDatetimeResourcesModule>;
145
+ }
146
+
147
+ declare class SkyDatePipeModule {
148
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDatePipeModule, never>;
149
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SkyDatePipeModule, [typeof SkyDatePipe, typeof SkyFuzzyDatePipe], [typeof SkyDatetimeResourcesModule], [typeof SkyDatePipe, typeof SkyFuzzyDatePipe]>;
150
+ static ɵinj: i0.ɵɵInjectorDeclaration<SkyDatePipeModule>;
151
+ }
152
+
153
+ /**
154
+ * @internal
155
+ */
156
+ declare class SkyDateService implements OnDestroy {
157
+ #private;
158
+ constructor();
159
+ ngOnDestroy(): void;
160
+ format(value: any, locale?: string, format?: string): string | undefined;
161
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDateService, never>;
162
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyDateService>;
163
+ }
164
+
165
+ /**
166
+ * The configuration for a custom date.
167
+ */
168
+ interface SkyDatepickerCustomDate {
169
+ /**
170
+ * The date to customize.
171
+ */
172
+ date: Date;
173
+ /**
174
+ * Whether to disable the date.
175
+ */
176
+ disabled?: boolean;
177
+ /**
178
+ * Whether to display the date as a key date in the calendar.
179
+ */
180
+ keyDate?: boolean;
181
+ /**
182
+ * Displays a popup of the provided text when hovering over the key date in the calendar.
183
+ */
184
+ keyDateText?: string[];
185
+ }
186
+
187
+ /**
188
+ * Specifies changes in the datepicker calendar.
189
+ */
190
+ interface SkyDatepickerCalendarChange {
191
+ /**
192
+ * The end date.
193
+ */
194
+ endDate: Date;
195
+ /**
196
+ * The start date.
197
+ */
198
+ startDate: Date;
199
+ /**
200
+ * The observable that allows the consumer to push custom dates back to the calendar
201
+ * when the `SkyDatepickerCalendarChange` event fires. This is useful
202
+ * for displaying key dates or disabled dates each time the calendar changes. If disabled dates
203
+ * are provided, SKY UX will prevent the user from selecting the date from the calendar.
204
+ * However, consumers will still need to add a custom validator to prevent users from entering
205
+ * disabled dates in the text input.
206
+ */
207
+ customDates?: Observable<SkyDatepickerCustomDate[]>;
208
+ }
209
+
210
+ declare class SkyDatepickerConfigService {
211
+ /**
212
+ * The date format for the input.
213
+ * @default "MM/DD/YYYY"
214
+ */
215
+ dateFormat: string | undefined;
216
+ /**
217
+ * The latest selectable date that is available in the calendar.
218
+ */
219
+ maxDate: Date | undefined;
220
+ /**
221
+ * The earliest selectable date that is available in the calendar.
222
+ */
223
+ minDate: Date | undefined;
224
+ /**
225
+ * The date to open the calendar to initially.
226
+ * @default the current date
227
+ */
228
+ startAtDate: Date | undefined;
229
+ /**
230
+ * The starting day of the week in the calendar,
231
+ * where `0` sets the starting day to Sunday.
232
+ * @default 0
233
+ */
234
+ startingDay: number;
235
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDatepickerConfigService, never>;
236
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyDatepickerConfigService>;
237
+ }
238
+
239
+ declare class SkyDateFormatter {
240
+ private static defaultLocale;
241
+ private static defaultShortDateFormat;
242
+ /**
243
+ * Sets moment's global locale.
244
+ */
245
+ static setLocale(locale: string): void;
246
+ /**
247
+ * Returns the preferred short date format for the current locale.
248
+ */
249
+ static getPreferredShortDateFormat(): string;
250
+ format(date: Date, format?: string): string;
251
+ getDateFromString(dateString: string, format?: string, strict?: boolean): Date;
252
+ dateIsValid(date: Date | undefined): boolean;
253
+ }
254
+
255
+ /**
256
+ * Information about a specific day in the calendar.
257
+ * @internal
258
+ */
259
+ interface SkyDayPickerContext {
260
+ date: Date;
261
+ label: string;
262
+ selected: boolean;
263
+ disabled: boolean;
264
+ current: boolean;
265
+ secondary: boolean;
266
+ uid: string;
267
+ keyDate?: boolean;
268
+ keyDateText?: string[];
269
+ }
270
+
271
+ type DateComparator = (date1: Date, date2: Date) => number | undefined;
272
+ type KeyboardEventHandler = (key: string, event: KeyboardEvent) => void;
273
+ /**
274
+ * @internal
275
+ */
276
+ declare class SkyDatepickerCalendarInnerComponent implements OnDestroy, OnInit, OnChanges {
277
+ #private;
278
+ customDates: SkyDatepickerCustomDate[] | undefined;
279
+ set startingDay(value: number | undefined);
280
+ get startingDay(): number;
281
+ minDate: Date | undefined;
282
+ maxDate: Date | undefined;
283
+ startAtDate: Date | undefined;
284
+ set selectedDate(value: Date | undefined);
285
+ get selectedDate(): Date | undefined;
286
+ selectedDateChange: EventEmitter<Date>;
287
+ calendarModeChange: EventEmitter<string>;
288
+ activeDate: Date;
289
+ activeDateId: string;
290
+ title: string;
291
+ minMode: string;
292
+ maxMode: string;
293
+ monthColLimit: number;
294
+ yearColLimit: number;
295
+ datepickerMode: string;
296
+ yearRange: number;
297
+ formatDay: string;
298
+ formatMonth: string;
299
+ formatYear: string;
300
+ formatDayHeader: string;
301
+ formatDayTitle: string;
302
+ formatMonthTitle: string;
303
+ formatDayLabel: string;
304
+ formatMonthLabel: string;
305
+ formatYearLabel: string;
306
+ previousLabel: string | undefined;
307
+ nextLabel: string | undefined;
308
+ datepickerId: string;
309
+ stepDay: any;
310
+ stepMonth: any;
311
+ stepYear: any;
312
+ protected modes: string[];
313
+ protected dateFormatter: SkyDateFormatter;
314
+ refreshViewHandlerDay: (() => string) | undefined;
315
+ compareHandlerDay: DateComparator | undefined;
316
+ refreshViewHandlerMonth: (() => string) | undefined;
317
+ compareHandlerMonth: DateComparator | undefined;
318
+ refreshViewHandlerYear: (() => string) | undefined;
319
+ compareHandlerYear: DateComparator | undefined;
320
+ handleKeydownDay: KeyboardEventHandler | undefined;
321
+ handleKeydownMonth: KeyboardEventHandler | undefined;
322
+ handleKeydownYear: KeyboardEventHandler | undefined;
323
+ keys: string[];
324
+ ngOnInit(): void;
325
+ ngOnChanges(changes: SimpleChanges): void;
326
+ ngOnDestroy(): void;
327
+ setCompareHandler(handler: DateComparator, type: string): void;
328
+ compare(date1: Date | undefined, date2: Date | undefined): number | undefined;
329
+ setRefreshViewHandler(handler: () => string, type: string): void;
330
+ refreshView(): void;
331
+ setKeydownHandler(handler: KeyboardEventHandler, type: string): void;
332
+ handleKeydown(key: string, event: KeyboardEvent): void;
333
+ dateFilter(date: Date, format: string): string;
334
+ isActive(dateObject: SkyDayPickerContext): boolean;
335
+ onKeydown(event: KeyboardEvent): void;
336
+ createDateObject(date: Date, format: string, isSecondary: boolean, id: string): SkyDayPickerContext;
337
+ createCalendarRows(dates: SkyDayPickerContext[], size: number): SkyDayPickerContext[][];
338
+ fixTimeZone(date: Date): Date;
339
+ selectCalendar(event: Event, date: Date, closePicker?: boolean): void;
340
+ select(date: Date, isManual?: boolean): void;
341
+ moveCalendar(event: Event, direction: number): void;
342
+ move(direction: number): void;
343
+ toggleModeCalendar(event: Event): void;
344
+ toggleMode(direction: number): void;
345
+ announceDate(date: Date, format: string): void;
346
+ /**
347
+ * Date is disabled if it meets any of these criteria:
348
+ * 1. Date falls outside the min or max dates set by the SkyDatepickerConfigService.
349
+ * 2. Date is marked as disabled in the customDates array.
350
+ */
351
+ protected isDisabled(date: Date): boolean;
352
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDatepickerCalendarInnerComponent, never>;
353
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyDatepickerCalendarInnerComponent, "sky-datepicker-inner", never, { "customDates": { "alias": "customDates"; "required": false; }; "startingDay": { "alias": "startingDay"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "startAtDate": { "alias": "startAtDate"; "required": false; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; }, { "selectedDateChange": "selectedDateChange"; "calendarModeChange": "calendarModeChange"; }, never, ["*"], true, never>;
354
+ }
355
+
356
+ /**
357
+ * @internal
358
+ */
359
+ declare class SkyDatepickerCalendarComponent {
360
+ #private;
361
+ customDates: SkyDatepickerCustomDate[] | undefined;
362
+ isDaypickerWaiting: boolean | undefined;
363
+ minDate: Date | undefined;
364
+ maxDate: Date | undefined;
365
+ startAtDate: Date | undefined;
366
+ /** currently selected date */
367
+ selectedDate: Date | undefined;
368
+ /** starting day of the week from 0-6 (0=Sunday, ..., 6=Saturday) */
369
+ set startingDay(start: number | undefined);
370
+ get startingDay(): number;
371
+ calendarDateRangeChange: EventEmitter<SkyDatepickerCalendarChange | undefined>;
372
+ calendarModeChange: EventEmitter<string>;
373
+ selectedDateChange: EventEmitter<Date>;
374
+ datepicker: SkyDatepickerCalendarInnerComponent | undefined;
375
+ protected _now: Date;
376
+ constructor(config: SkyDatepickerConfigService);
377
+ configureOptions(): void;
378
+ onCalendarDateRangeChange(event: SkyDatepickerCalendarChange | undefined): void;
379
+ onCalendarModeChange(event: string): void;
380
+ onSelectedDateChange(event: Date): void;
381
+ writeValue(value: Date | undefined): void;
382
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDatepickerCalendarComponent, never>;
383
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyDatepickerCalendarComponent, "sky-datepicker-calendar", never, { "customDates": { "alias": "customDates"; "required": false; }; "isDaypickerWaiting": { "alias": "isDaypickerWaiting"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "startAtDate": { "alias": "startAtDate"; "required": false; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "startingDay": { "alias": "startingDay"; "required": false; }; }, { "calendarDateRangeChange": "calendarDateRangeChange"; "calendarModeChange": "calendarModeChange"; "selectedDateChange": "selectedDateChange"; }, never, never, true, never>;
384
+ }
385
+
386
+ /**
387
+ * Creates the datepicker button and calendar.
388
+ * You must wrap this component around an input with the `skyDatepickerInput` directive.
389
+ */
390
+ declare class SkyDatepickerComponent implements AfterViewInit, OnDestroy, OnInit {
391
+ #private;
392
+ inputBoxHostService?: SkyInputBoxHostService | undefined;
393
+ /**
394
+ * Adds a class to the datepicker.
395
+ * @default ""
396
+ */
397
+ pickerClass: string | undefined;
398
+ set dateFormat(value: string | undefined);
399
+ get dateFormat(): string | undefined;
400
+ get disabled(): boolean | undefined;
401
+ set disabled(value: boolean | undefined);
402
+ set selectedDate(value: Date | undefined);
403
+ get selectedDate(): Date | undefined;
404
+ /**
405
+ * Fires when the range of displayed dates in the calendar changes. Provides the
406
+ * current range of displayed dates and a mutable `customDate` property consumers can use
407
+ * to modify individual dates on the calendar.
408
+ */
409
+ calendarDateRangeChange: EventEmitter<SkyDatepickerCalendarChange>;
410
+ /**
411
+ * @internal
412
+ */
413
+ dateFormatChange: EventEmitter<string>;
414
+ /**
415
+ * @internal
416
+ */
417
+ openChange: EventEmitter<boolean>;
418
+ /**
419
+ * Fires when a user selects a date from the calendar.
420
+ * @internal
421
+ */
422
+ calendarDateChange: i0.OutputEmitterRef<Date>;
423
+ calendarId: string;
424
+ customDates: SkyDatepickerCustomDate[] | undefined;
425
+ dateChange: EventEmitter<Date>;
426
+ isDaypickerWaiting: boolean;
427
+ isOpen: boolean;
428
+ isVisible: boolean;
429
+ maxDate: Date | undefined;
430
+ minDate: Date | undefined;
431
+ startAtDate: Date | undefined;
432
+ startingDay: number | undefined;
433
+ triggerButtonId: string;
434
+ calendar: SkyDatepickerCalendarComponent | undefined;
435
+ set calendarRef(value: ElementRef | undefined);
436
+ get calendarRef(): ElementRef | undefined;
437
+ calendarTemplateRef: TemplateRef<unknown> | undefined;
438
+ triggerButtonRef: ElementRef | undefined;
439
+ inputTemplateRef: TemplateRef<unknown> | undefined;
440
+ triggerButtonTemplateRef: TemplateRef<unknown> | undefined;
441
+ constructor(affixService: SkyAffixService, changeDetector: ChangeDetectorRef, coreAdapter: SkyCoreAdapterService, overlayService: SkyOverlayService, inputBoxHostService?: SkyInputBoxHostService | undefined, themeSvc?: SkyThemeService, stackingContext?: SkyStackingContext);
442
+ ngOnInit(): void;
443
+ ngAfterViewInit(): void;
444
+ ngOnDestroy(): void;
445
+ onCalendarModeChange(): void;
446
+ onSelectedDateChange(value: Date): void;
447
+ onTriggerButtonClick(): void;
448
+ onCalendarDateRangeChange(event?: SkyDatepickerCalendarChange): void;
449
+ /**
450
+ * Whether the datepicker component contains the provided focus event target.
451
+ * @internal
452
+ */
453
+ containsTarget(target: EventTarget): boolean;
454
+ /**
455
+ * Gets the element reference of the picker overlay.
456
+ * @internal
457
+ */
458
+ getPickerRef(): ElementRef | undefined;
459
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDatepickerComponent, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
460
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyDatepickerComponent, "sky-datepicker", never, { "pickerClass": { "alias": "pickerClass"; "required": false; }; }, { "calendarDateRangeChange": "calendarDateRangeChange"; "dateFormatChange": "dateFormatChange"; "openChange": "openChange"; "calendarDateChange": "calendarDateChange"; }, never, ["*"], true, never>;
461
+ }
462
+
463
+ interface SkyDateRange {
464
+ /**
465
+ * The last date in the date range.
466
+ */
467
+ endDate?: Date | null;
468
+ /**
469
+ * The first date in the date range.
470
+ */
471
+ startDate?: Date | null;
472
+ }
473
+
474
+ /**
475
+ * `SkyDateRangeCalculatorId` values specify calculator objects that return
476
+ * two `Date` objects to represent date ranges. The values populate the options
477
+ * in the date range picker's dropdown. SKY UX uses `SkyDateRangeService` to create
478
+ * calculators and configures each one with a `validate` function to confirm that dates
479
+ * are compatible. For example, `validate` functions ensure that start dates are before
480
+ * end dates. SKY UX also configures calculators to call a `getValue` function after
481
+ * the `validate` function and return a range of two `Date` objects.
482
+ */
483
+ declare enum SkyDateRangeCalculatorId {
484
+ /**
485
+ * Selects no dates and considers all dates within the date range. This is the default selection.
486
+ */
487
+ AnyTime = 0,
488
+ /**
489
+ * Enables users to select an end date with no starting date.
490
+ */
491
+ Before = 1,
492
+ /**
493
+ * Enables users to select a start date with no end date.
494
+ */
495
+ After = 2,
496
+ /**
497
+ * Enables users to select specific start and end dates.
498
+ */
499
+ SpecificRange = 3,
500
+ /**
501
+ * Sets the start and end dates to the day before the current day.
502
+ */
503
+ Yesterday = 4,
504
+ /**
505
+ * Sets the start and end dates to the current day.
506
+ */
507
+ Today = 5,
508
+ /**
509
+ * Sets the start and end dates to the day after the current day.
510
+ */
511
+ Tomorrow = 6,
512
+ /**
513
+ * Sets the start date to Sunday of the week before the current week and
514
+ * the end date to Saturday of that week.
515
+ */
516
+ LastWeek = 7,
517
+ /**
518
+ * Sets the start date to Sunday of the current week and the end date to Saturday.
519
+ */
520
+ ThisWeek = 8,
521
+ /**
522
+ * Sets the start date to Sunday of the week after the current week and
523
+ * the end date to Saturday of that week.
524
+ */
525
+ NextWeek = 9,
526
+ /**
527
+ * Sets the start date to the first day of the month before the current month and
528
+ * the end date to the last day of that month.
529
+ */
530
+ LastMonth = 10,
531
+ /**
532
+ * Sets the start date to the first day of the current month and
533
+ * the end date to the last day of the month.
534
+ */
535
+ ThisMonth = 11,
536
+ /**
537
+ * Sets the start date to the first day of the month after the current month
538
+ * and the end date to the last day of that month.
539
+ */
540
+ NextMonth = 12,
541
+ /**
542
+ * Sets the start date to the first day of the quarter before the current quarter and
543
+ * the end date to the last day of that quarter. Quarters are
544
+ * January to March, April to June, July to September, and October to December.
545
+ */
546
+ LastQuarter = 13,
547
+ /**
548
+ * Sets the start date to the first day of the current quarter and
549
+ * the end date to the last day of the quarter. Quarters are
550
+ * January to March, April to June, July to September, and October to December.
551
+ */
552
+ ThisQuarter = 14,
553
+ /**
554
+ * Sets the start date to the first day of the quarter after the current quarter and
555
+ * the end date to the last day of that quarter. Quarters are
556
+ * January to March, April to June, July to September, and October to December.
557
+ */
558
+ NextQuarter = 15,
559
+ /**
560
+ * Sets the start date to the first day of the year before the current year
561
+ * and the end date to the last day of that year.
562
+ */
563
+ LastCalendarYear = 16,
564
+ /**
565
+ * Sets the start date to the first day of the current year and
566
+ * the end date to the last day of the year.
567
+ */
568
+ ThisCalendarYear = 17,
569
+ /**
570
+ * Sets the start date to the first day of the year after the current year and
571
+ * the end date to the last day of that year.
572
+ */
573
+ NextCalendarYear = 18,
574
+ /**
575
+ * Sets the start date to the first day of the fiscal year before the current fiscal year and
576
+ * the end date to the last day of that fiscal year. The fiscal year is Oct. 1 to Sept. 30.
577
+ */
578
+ LastFiscalYear = 19,
579
+ /**
580
+ * Sets the start date to the first day of the current fiscal year and
581
+ * the end date to the last day of the fiscal year. The fiscal year is Oct. 1 to Sept. 30.
582
+ */
583
+ ThisFiscalYear = 20,
584
+ /**
585
+ * Sets the start date to the first day of the fiscal year after the current fiscal year
586
+ * and the end date to the last day of that fiscal year. The fiscal year is Oct. 1 to Sept. 30.
587
+ */
588
+ NextFiscalYear = 21
589
+ }
590
+
591
+ /**
592
+ * Represents the returned value of a `SkyDateRangeCalculator`.
593
+ */
594
+ interface SkyDateRangeCalculation extends SkyDateRange {
595
+ /**
596
+ * The calculator that determines the dates in the date range.
597
+ */
598
+ calculatorId: SkyDateRangeCalculatorId;
599
+ }
600
+
601
+ type SkyDateRangeCalculatorGetValueFunction = (startDateInput?: Date | null, endDateInput?: Date | null) => SkyDateRange;
602
+
603
+ /**
604
+ * The types of calculations available for a date range calculator.
605
+ */
606
+ declare enum SkyDateRangeCalculatorType {
607
+ /**
608
+ * Includes an input for a date after the current date.
609
+ */
610
+ After = 0,
611
+ /**
612
+ * Includes an input for a date before the current date.
613
+ */
614
+ Before = 1,
615
+ /**
616
+ * Includes two inputs for a range of dates.
617
+ */
618
+ Range = 2,
619
+ /**
620
+ * Does not accept any input but calculates a specific range based on the current date.
621
+ */
622
+ Relative = 3
623
+ }
624
+
625
+ type SkyDateRangeCalculatorValidateFunction = (value?: SkyDateRange) => ValidationErrors | null;
626
+
627
+ /**
628
+ * The configuration for a date range calculator.
629
+ */
630
+ interface SkyDateRangeCalculatorConfig {
631
+ /**
632
+ * Text to display within the calculator select menu to represent your calculator.
633
+ */
634
+ shortDescription: string;
635
+ /**
636
+ * The type of calculator to create.
637
+ */
638
+ type: SkyDateRangeCalculatorType;
639
+ /**
640
+ * A callback function that returns a `SkyDateRange` value.
641
+ */
642
+ getValue: SkyDateRangeCalculatorGetValueFunction;
643
+ /**
644
+ * A callback function that accepts user-selected start and end dates.
645
+ * Returning an Angular `ValidationErrors` value invalidates the date range form control.
646
+ */
647
+ validate?: SkyDateRangeCalculatorValidateFunction;
648
+ }
649
+
650
+ /**
651
+ * Represents the calculator.
652
+ */
653
+ declare class SkyDateRangeCalculator {
654
+ #private;
655
+ /**
656
+ * The calculator ID that specifies calculator objects that represent date ranges.
657
+ */
658
+ readonly calculatorId: SkyDateRangeCalculatorId;
659
+ /**
660
+ * The text to display in the calculator select menu.
661
+ */
662
+ get shortDescription$(): Observable<string>;
663
+ /**
664
+ * The text to display in the calculator select menu.
665
+ * @deprecated Subscribe to the `shortDescription$` observable instead.
666
+ */
667
+ shortDescription: string;
668
+ /**
669
+ * The type of calculations available for the date range.
670
+ */
671
+ readonly type: SkyDateRangeCalculatorType;
672
+ constructor(
673
+ /**
674
+ * The calculator ID that specifies calculator objects that represent date ranges.
675
+ */
676
+ calculatorId: SkyDateRangeCalculatorId, config: SkyDateRangeCalculatorConfig, resourcesSvc: SkyLibResourcesService, _shortDescriptionResourceKey?: string);
677
+ /**
678
+ * Gets the current value of the calculator.
679
+ * @param startDateInput The start date.
680
+ * @param endDateInput The end date.
681
+ */
682
+ getValue(startDateInput?: Date | null, endDateInput?: Date | null): SkyDateRangeCalculation;
683
+ /**
684
+ * Performs synchronous validation against the control.
685
+ */
686
+ validate(value?: SkyDateRange): ValidationErrors | null;
687
+ }
688
+
689
+ type DateValue = Date | string | null | undefined;
690
+ declare class SkyDateRangePickerComponent implements AfterViewInit, ControlValueAccessor, Validator {
691
+ #private;
692
+ /**
693
+ * IDs for the date range options to include in the picker's dropdown.
694
+ * The options specify calculator objects that return two `Date` objects to represent date ranges.
695
+ * By default, this property includes all `SkyDateRangeCalculatorId` values.
696
+ */
697
+ set calculatorIds(calculatorIds: SkyDateRangeCalculatorId[] | undefined);
698
+ get calculatorIds(): SkyDateRangeCalculatorId[];
699
+ /**
700
+ * The date format for
701
+ * [the `sky-datepicker` components](https://developer.blackbaud.com/skyux/components/datepicker)
702
+ * that make up the date range picker. The text input is a composite component of
703
+ * up to two `sky-datepicker` components.
704
+ * @default "MM/DD/YYYY"
705
+ */
706
+ dateFormat: string | undefined;
707
+ /**
708
+ * Whether to disable the date range picker on template-driven forms. Don't use
709
+ * this input on reactive forms because they may overwrite the input or leave
710
+ * the control out of sync. To set the disabled state on reactive forms,
711
+ * use the `FormControl` instead.
712
+ * @default false
713
+ */
714
+ set disabled(value: boolean);
715
+ /**
716
+ * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)
717
+ * button is added to date range picker. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)
718
+ * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified.
719
+ */
720
+ helpPopoverContent: string | TemplateRef<unknown> | undefined;
721
+ /**
722
+ * The title of the help popover. This property only applies when `helpPopoverContent` is
723
+ * also specified.
724
+ */
725
+ helpPopoverTitle: string | undefined;
726
+ /**
727
+ * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides
728
+ * additional context to the user.
729
+ */
730
+ hintText: string | undefined;
731
+ /**
732
+ * The label for the date range picker.
733
+ * @deprecated Use the `labelText` input instead.
734
+ */
735
+ set label(value: string | undefined);
736
+ get label(): string | undefined;
737
+ /**
738
+ * The text to display as the date range picker's label.
739
+ */
740
+ labelText: string | undefined;
741
+ /**
742
+ * Whether the date range picker is stacked on another form component. When specified, the appropriate
743
+ * vertical spacing is automatically added to the date range picker.
744
+ */
745
+ stacked: boolean;
746
+ /**
747
+ * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)
748
+ * button is placed beside the date range picker label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help)
749
+ * as configured by the application. This property only applies when `labelText` is also specified.
750
+ */
751
+ helpKey: string | undefined;
752
+ protected calculators: SkyDateRangeCalculator[];
753
+ protected datepickers: Signal<readonly SkyDatepickerComponent[]>;
754
+ protected hostControl: AbstractControl | null | undefined;
755
+ protected selectedCalculator: SkyDateRangeCalculator;
756
+ protected showEndDatePicker: i0.WritableSignal<boolean>;
757
+ protected showStartDatePicker: i0.WritableSignal<boolean>;
758
+ protected formGroup: _angular_forms.FormGroup<{
759
+ calculatorId: FormControl<number>;
760
+ startDate: FormControl<DateValue>;
761
+ endDate: FormControl<DateValue>;
762
+ }>;
763
+ protected readonly calculatorIdHasErrors: Signal<boolean | undefined>;
764
+ protected readonly endDateHasErrors: Signal<boolean | undefined>;
765
+ protected readonly startDateHasErrors: Signal<boolean | undefined>;
766
+ ngAfterViewInit(): void;
767
+ registerOnChange(fn: (_: unknown) => void): void;
768
+ registerOnTouched(fn: () => void): void;
769
+ setDisabledState(isDisabled: boolean): void;
770
+ validate(control: AbstractControl): ValidationErrors | null;
771
+ writeValue(value: Partial<SkyDateRangeCalculation> | undefined): void;
772
+ /**
773
+ * Fires when a user changes the selected calculator ID.
774
+ */
775
+ protected onCalculatorIdChange(): void;
776
+ /**
777
+ * Fires when a user interacts with a date range picker.
778
+ */
779
+ protected onDateChange(): void;
780
+ /**
781
+ * Fires when the date range picker loses focus.
782
+ */
783
+ protected onFocusout({ relatedTarget }: FocusEvent): void;
784
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDateRangePickerComponent, never>;
785
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyDateRangePickerComponent, "sky-date-range-picker", never, { "calculatorIds": { "alias": "calculatorIds"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, {}, never, ["sky-form-error"], true, never>;
786
+ static ngAcceptInputType_disabled: unknown;
787
+ static ngAcceptInputType_stacked: unknown;
788
+ }
789
+
790
+ declare class SkyDateRangePickerModule {
791
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDateRangePickerModule, never>;
792
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SkyDateRangePickerModule, never, [typeof SkyDateRangePickerComponent], [typeof SkyDateRangePickerComponent, typeof i2.SkyFormErrorModule]>;
793
+ static ɵinj: i0.ɵɵInjectorDeclaration<SkyDateRangePickerModule>;
794
+ }
795
+
796
+ /**
797
+ * Creates and manages `SkyDateRangeCalculator` instances.
798
+ */
799
+ declare class SkyDateRangeService {
800
+ #private;
801
+ get calculators(): SkyDateRangeCalculator[];
802
+ /**
803
+ * Creates a custom date range calculator.
804
+ * @param config The calculator config.
805
+ */
806
+ createCalculator(config: SkyDateRangeCalculatorConfig): SkyDateRangeCalculator;
807
+ /**
808
+ * Returns calculators from an array of calculator IDs.
809
+ * @param calculatorIds The array of calculator IDs.
810
+ */
811
+ filterCalculators(calculatorIds: SkyDateRangeCalculatorId[]): SkyDateRangeCalculator[];
812
+ /**
813
+ * Returns calculators from an array of calculator IDs.
814
+ * @param ids The array of calculator IDs.
815
+ * @deprecated Call `filterCalculators()` instead.
816
+ */
817
+ getCalculators(ids: SkyDateRangeCalculatorId[]): Promise<SkyDateRangeCalculator[]>;
818
+ /**
819
+ * Returns a calculator from a calculator ID.
820
+ * @param id The calculator ID.
821
+ * @deprecated Call `filterCalculators()` instead.
822
+ */
823
+ getCalculatorById(id: SkyDateRangeCalculatorId): Promise<SkyDateRangeCalculator>;
824
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDateRangeService, never>;
825
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyDateRangeService>;
826
+ }
827
+
828
+ declare class SkyDatepickerInputDirective implements OnInit, OnDestroy, AfterViewInit, AfterContentInit, ControlValueAccessor, Validator {
829
+ #private;
830
+ /**
831
+ * The date format for the input. Place this attribute on the `input` element
832
+ * to override the default in the `SkyDatepickerConfigService`.
833
+ * @default "MM/DD/YYYY"
834
+ */
835
+ set dateFormat(value: string | undefined);
836
+ get dateFormat(): string | undefined;
837
+ /**
838
+ * Whether to disable the datepicker on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync.
839
+ * To set the disabled state on reactive forms, use the `FormControl` instead.
840
+ * @default false
841
+ */
842
+ set disabled(value: boolean | undefined);
843
+ get disabled(): boolean;
844
+ /**
845
+ * The latest date that is available in the calendar. Place this attribute on
846
+ * the `input` element to override the default in `SkyDatepickerConfigService`.
847
+ */
848
+ set maxDate(value: Date | undefined);
849
+ get maxDate(): Date | undefined;
850
+ /**
851
+ * The earliest date that is available in the calendar. Place this attribute on
852
+ * the `input` element to override the default in `SkyDatepickerConfigService`. To avoid validation errors, the time associated with the minimum date must be midnight. This is necessary because the datepicker automatically sets the time on the `Date` object for selected dates to midnight in the current user's time zone.
853
+ */
854
+ set minDate(value: Date | undefined);
855
+ get minDate(): Date | undefined;
856
+ /**
857
+ * The date to open the calendar to initially. Place this attribute on the `input` element to override the default in `SkyDatepickerConfigService`.
858
+ * @default The current date
859
+ */
860
+ set startAtDate(value: Date | undefined);
861
+ get startAtDate(): Date | undefined;
862
+ /**
863
+ * Creates the datepicker input and calendar. Place this directive on an `input` element,
864
+ * and wrap the input in a `sky-datepicker` component. The value that users select is driven
865
+ * through the `ngModel` attribute specified on the `input` element.
866
+ * @required
867
+ */
868
+ set skyDatepickerInput(value: SkyDatepickerComponent | undefined | '');
869
+ /**
870
+ * Whether to disable date validation on the datepicker input.
871
+ * @default false
872
+ */
873
+ skyDatepickerNoValidate: boolean | undefined;
874
+ /**
875
+ * The starting day of the week in the calendar, where `0` sets the starting day
876
+ * to Sunday. Place this attribute on the `input` element to override the default
877
+ * in `SkyDatepickerConfigService`.
878
+ * @default 0
879
+ */
880
+ set startingDay(value: number | undefined);
881
+ get startingDay(): number;
882
+ /**
883
+ * Whether the format of the date value must match the format from the `dateFormat` value.
884
+ * If this property is `true` and the datepicker input directive cannot find an exact match, then
885
+ * the input is marked as invalid.
886
+ * If this property is `false` and the datepicker input directive cannot find an exact match, then
887
+ * it attempts to format the string based on the [ISO 8601 standard format](https://www.iso.org/iso-8601-date-and-time-format.html).
888
+ * @default false
889
+ */
890
+ set strict(value: boolean | undefined);
891
+ get strict(): boolean;
892
+ constructor(changeDetector: ChangeDetectorRef, configService: SkyDatepickerConfigService, elementRef: ElementRef, localeProvider: SkyAppLocaleProvider, renderer: Renderer2, datepickerComponent?: SkyDatepickerComponent);
893
+ ngOnInit(): void;
894
+ ngAfterContentInit(): void;
895
+ ngAfterViewInit(): void;
896
+ ngOnDestroy(): void;
897
+ onInputChange(event: any): void;
898
+ onInput(): void;
899
+ writeValue(value: any): void;
900
+ validate(control: AbstractControl): ValidationErrors | null;
901
+ registerOnChange(fn: (value: any) => void): void;
902
+ registerOnTouched(fn: () => void): void;
903
+ registerOnValidatorChange(fn: () => void): void;
904
+ setDisabledState(disabled: boolean): void;
905
+ /**
906
+ * Detects changes to the underlying input element's value and updates the ngModel accordingly.
907
+ * This is useful if you need to update the ngModel value before the input element loses focus.
908
+ */
909
+ detectInputValueChange(): void;
910
+ protected onFocusout(evt: FocusEvent): void;
911
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDatepickerInputDirective, [null, null, null, null, null, { optional: true; }]>;
912
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SkyDatepickerInputDirective, "[skyDatepickerInput]", never, { "dateFormat": { "alias": "dateFormat"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "startAtDate": { "alias": "startAtDate"; "required": false; }; "skyDatepickerInput": { "alias": "skyDatepickerInput"; "required": false; }; "skyDatepickerNoValidate": { "alias": "skyDatepickerNoValidate"; "required": false; }; "startingDay": { "alias": "startingDay"; "required": false; }; "strict": { "alias": "strict"; "required": false; }; }, {}, never, never, true, never>;
913
+ }
914
+
915
+ /**
916
+ * @internal
917
+ */
918
+ declare class SkyDayPickerButtonComponent {
919
+ datepicker: SkyDatepickerCalendarInnerComponent;
920
+ /**
921
+ * The date this picker button will represent on the calendar.
922
+ */
923
+ date: SkyDayPickerContext | undefined;
924
+ constructor(datepicker: SkyDatepickerCalendarInnerComponent);
925
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDayPickerButtonComponent, never>;
926
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyDayPickerButtonComponent, "sky-daypicker-button", never, { "date": { "alias": "date"; "required": false; }; }, {}, never, never, true, never>;
927
+ }
928
+
929
+ /**
930
+ * @internal
931
+ */
932
+ declare class SkyDayPickerCellComponent {
933
+ #private;
934
+ /**
935
+ * Whether the active date has been changed.
936
+ */
937
+ activeDateHasChanged: i0.InputSignal<boolean>;
938
+ /**
939
+ * The date this picker cell will represent on the calendar.
940
+ */
941
+ date: i0.InputSignal<SkyDayPickerContext | undefined>;
942
+ protected ariaLabel: i0.Signal<string>;
943
+ protected hasTooltip: i0.Signal<boolean | undefined>;
944
+ protected popoverController: BehaviorSubject<SkyPopoverMessage>;
945
+ constructor();
946
+ protected onDayMouseenter(): void;
947
+ protected onDayMouseleave(): void;
948
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDayPickerCellComponent, never>;
949
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyDayPickerCellComponent, "sky-daypicker-cell", never, { "activeDateHasChanged": { "alias": "activeDateHasChanged"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
950
+ }
951
+
952
+ /**
953
+ * @internal
954
+ */
955
+ declare class SkyDayPickerComponent implements OnDestroy, OnInit {
956
+ #private;
957
+ set customDates(value: SkyDatepickerCustomDate[] | undefined);
958
+ calendarDateRangeChange: EventEmitter<SkyDatepickerCalendarChange | undefined>;
959
+ isWaiting: boolean | undefined;
960
+ activeDateHasChanged: boolean;
961
+ labels: any[];
962
+ title: string;
963
+ rows: SkyDayPickerContext[][];
964
+ weekNumbers: number[];
965
+ datepicker: SkyDatepickerCalendarInnerComponent;
966
+ CURRENT_THEME_TEMPLATE: any;
967
+ constructor(datepicker: SkyDatepickerCalendarInnerComponent);
968
+ ngOnInit(): void;
969
+ ngOnDestroy(): void;
970
+ protected getDates(startDate: Date, n: number): Date[];
971
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDayPickerComponent, never>;
972
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyDayPickerComponent, "sky-daypicker", never, { "customDates": { "alias": "customDates"; "required": false; }; "isWaiting": { "alias": "isWaiting"; "required": false; }; }, { "calendarDateRangeChange": "calendarDateRangeChange"; }, never, never, true, never>;
973
+ }
974
+
975
+ declare class SkyFuzzyDatepickerInputDirective implements OnInit, OnDestroy, AfterViewInit, AfterContentInit, ControlValueAccessor, Validator {
976
+ #private;
977
+ /**
978
+ * The date format for the input. Place this attribute on the `input` element
979
+ * to override the default in `SkyDatepickerConfigService`.
980
+ * @default "MM/DD/YYYY"
981
+ */
982
+ set dateFormat(value: string | undefined);
983
+ get dateFormat(): string | undefined;
984
+ /**
985
+ * Whether to disable the datepicker on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync.
986
+ * To set the disabled state on reactive forms, use the `FormControl` instead.
987
+ * @default false
988
+ */
989
+ set disabled(value: boolean | undefined);
990
+ get disabled(): boolean | undefined;
991
+ /**
992
+ * Whether to prevent users from specifying dates that are in the future.
993
+ * Place this attribute on the `input` element.
994
+ * @default false
995
+ */
996
+ set futureDisabled(value: boolean | undefined);
997
+ get futureDisabled(): boolean | undefined;
998
+ /**
999
+ * The latest fuzzy date allowed. Place this attribute on the `input` element
1000
+ * to prevent fuzzy dates after a specified date. This property accepts
1001
+ * a `SkyFuzzyDate` value that includes numeric month, day, and year values.
1002
+ * For example: `{ month: 1, day: 1, year: 2027 }`.
1003
+ */
1004
+ set maxDate(value: SkyFuzzyDate | undefined);
1005
+ get maxDate(): SkyFuzzyDate | undefined;
1006
+ /**
1007
+ * The earliest fuzzy date allowed. Place this attribute on the `input` element
1008
+ * to prevent fuzzy dates before a specified date. This property accepts a `SkyFuzzyDate` value
1009
+ * that includes numeric month, day, and year values.
1010
+ * For example: `{ month: 1, day: 1, year: 2007 }`.
1011
+ */
1012
+ set minDate(value: SkyFuzzyDate | undefined);
1013
+ get minDate(): SkyFuzzyDate | undefined;
1014
+ /**
1015
+ * The fuzzy date to open the calendar to initially.
1016
+ * This property accepts a `SkyFuzzyDate` value that includes numeric month, day, and year values.
1017
+ * For example: `{ month: 1, day: 1, year: 2007 }`.
1018
+ * @default The current date
1019
+ */
1020
+ set startAtDate(value: SkyFuzzyDate | undefined);
1021
+ get startAtDate(): SkyFuzzyDate | undefined;
1022
+ /**
1023
+ * Whether to disable date validation on the fuzzy datepicker input.
1024
+ * @default false
1025
+ */
1026
+ skyDatepickerNoValidate: boolean | undefined;
1027
+ /**
1028
+ * The starting day of the week in the calendar, where `0` sets the starting day
1029
+ * to Sunday. Place this attribute on the `input` element to override the default
1030
+ * in `SkyDatepickerConfigService`.
1031
+ * @default 0
1032
+ */
1033
+ set startingDay(value: number | undefined);
1034
+ get startingDay(): number;
1035
+ /**
1036
+ * Whether to require the year in fuzzy dates.
1037
+ * @default false
1038
+ */
1039
+ set yearRequired(value: boolean | undefined);
1040
+ get yearRequired(): boolean | undefined;
1041
+ constructor(changeDetector: ChangeDetectorRef, configService: SkyDatepickerConfigService, elementRef: ElementRef, fuzzyDateService: SkyFuzzyDateService, localeProvider: SkyAppLocaleProvider, renderer: Renderer2, datepickerComponent?: SkyDatepickerComponent);
1042
+ ngOnInit(): void;
1043
+ ngAfterContentInit(): void;
1044
+ ngAfterViewInit(): void;
1045
+ ngOnDestroy(): void;
1046
+ onInputChange(event: any): void;
1047
+ onInputBlur(): void;
1048
+ onInput(): void;
1049
+ writeValue(value: any): void;
1050
+ validate(control: AbstractControl): ValidationErrors | null;
1051
+ registerOnChange(fn: (value: any) => void): void;
1052
+ registerOnTouched(fn: () => void): void;
1053
+ registerOnValidatorChange(fn: () => void): void;
1054
+ setDisabledState(disabled: boolean): void;
1055
+ /**
1056
+ * Detects changes to the underlying input element's value and updates the ngModel accordingly.
1057
+ * This is useful if you need to update the ngModel value before the input element loses focus.
1058
+ */
1059
+ detectInputValueChange(): void;
1060
+ protected onFocusout(evt: FocusEvent): void;
1061
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyFuzzyDatepickerInputDirective, [null, null, null, null, null, null, { optional: true; }]>;
1062
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SkyFuzzyDatepickerInputDirective, "[skyFuzzyDatepickerInput]", never, { "dateFormat": { "alias": "dateFormat"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "futureDisabled": { "alias": "futureDisabled"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "startAtDate": { "alias": "startAtDate"; "required": false; }; "skyDatepickerNoValidate": { "alias": "skyDatepickerNoValidate"; "required": false; }; "startingDay": { "alias": "startingDay"; "required": false; }; "yearRequired": { "alias": "yearRequired"; "required": false; }; }, {}, never, never, true, never>;
1063
+ }
1064
+
1065
+ /**
1066
+ * @internal
1067
+ */
1068
+ declare class SkyMonthPickerComponent implements OnInit {
1069
+ #private;
1070
+ datepicker: SkyDatepickerCalendarInnerComponent;
1071
+ rows: SkyDayPickerContext[][];
1072
+ title: string;
1073
+ constructor(datepicker: SkyDatepickerCalendarInnerComponent);
1074
+ ngOnInit(): void;
1075
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyMonthPickerComponent, never>;
1076
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyMonthPickerComponent, "sky-monthpicker", never, {}, {}, never, never, true, never>;
1077
+ }
1078
+
1079
+ /**
1080
+ * @internal
1081
+ */
1082
+ declare class SkyYearPickerComponent implements OnInit {
1083
+ #private;
1084
+ datepicker: SkyDatepickerCalendarInnerComponent;
1085
+ rows: SkyDayPickerContext[][];
1086
+ title: string;
1087
+ constructor(datepicker: SkyDatepickerCalendarInnerComponent);
1088
+ ngOnInit(): void;
1089
+ protected getStartingYear(year: number): number;
1090
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyYearPickerComponent, never>;
1091
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyYearPickerComponent, "sky-yearpicker", never, {}, {}, never, never, true, never>;
1092
+ }
1093
+
1094
+ declare class SkyDatepickerModule {
1095
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyDatepickerModule, never>;
1096
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SkyDatepickerModule, never, [typeof SkyDatepickerCalendarComponent, typeof SkyDatepickerCalendarInnerComponent, typeof SkyDatepickerComponent, typeof SkyDatepickerInputDirective, typeof SkyDayPickerButtonComponent, typeof SkyDayPickerCellComponent, typeof SkyDayPickerComponent, typeof SkyFuzzyDatepickerInputDirective, typeof SkyMonthPickerComponent, typeof SkyYearPickerComponent], [typeof SkyDatepickerCalendarComponent, typeof SkyDatepickerComponent, typeof SkyDatepickerInputDirective, typeof SkyFuzzyDatepickerInputDirective]>;
1097
+ static ɵinj: i0.ɵɵInjectorDeclaration<SkyDatepickerModule>;
1098
+ }
1099
+
1100
+ type SkyTimepickerTimeFormatType = 'hh' | 'HH';
1101
+
1102
+ interface SkyTimepickerTimeOutput {
1103
+ /**
1104
+ * The hour.
1105
+ */
1106
+ hour: number;
1107
+ /**
1108
+ * The minute.
1109
+ */
1110
+ minute: number;
1111
+ /**
1112
+ * The meridian (`AM` or `PM`).
1113
+ */
1114
+ meridie: string;
1115
+ /**
1116
+ * The time zone.
1117
+ */
1118
+ timezone: number;
1119
+ /**
1120
+ * The date in [iso8601 format](https://www.iso.org/iso-8601-date-and-time-format.html).
1121
+ */
1122
+ iso8601: Date;
1123
+ /**
1124
+ * The date in the current local time format.
1125
+ */
1126
+ local: string;
1127
+ /**
1128
+ * The time format string.
1129
+ */
1130
+ customFormat: string;
1131
+ }
1132
+
1133
+ /**
1134
+ * Creates a SKY UX-themed replacement for the HTML `input` element with `type="time"`.
1135
+ * The value that users select is driven through the `ngModel` attribute
1136
+ * specified on the `input` element. You must wrap this component around an `input`
1137
+ * with the `skyTimepickerInput` directive.
1138
+ */
1139
+ declare class SkyTimepickerComponent implements OnInit, OnDestroy {
1140
+ #private;
1141
+ inputBoxHostService?: SkyInputBoxHostService | undefined;
1142
+ /**
1143
+ * Fires when the value in the timepicker input changes.
1144
+ */
1145
+ selectedTimeChanged: EventEmitter<SkyTimepickerTimeOutput>;
1146
+ set disabled(value: boolean);
1147
+ get disabled(): boolean;
1148
+ set selectedHour(setHour: number);
1149
+ get selectedHour(): number;
1150
+ set selectedMeridies(meridies: string);
1151
+ get selectedMeridies(): string;
1152
+ set selectedMinute(minute: number);
1153
+ get selectedMinute(): number;
1154
+ set selectedTime(newTime: SkyTimepickerTimeOutput | undefined);
1155
+ get selectedTime(): SkyTimepickerTimeOutput | undefined;
1156
+ activeTime: Date;
1157
+ hours: number[];
1158
+ is8601: boolean;
1159
+ isOpen: boolean;
1160
+ isVisible: boolean;
1161
+ localeFormat: string;
1162
+ minutes: number[];
1163
+ minuteMultiplier: number | undefined;
1164
+ returnFormat: string | undefined;
1165
+ timeFormat: SkyTimepickerTimeFormatType;
1166
+ timepickerId: string;
1167
+ triggerButtonId: string;
1168
+ set timepickerRef(value: ElementRef | undefined);
1169
+ get timepickerRef(): ElementRef | undefined;
1170
+ timepickerTemplateRef: TemplateRef<unknown> | undefined;
1171
+ triggerButtonRef: ElementRef | undefined;
1172
+ inputTemplateRef: TemplateRef<unknown> | undefined;
1173
+ triggerButtonTemplateRef: TemplateRef<unknown> | undefined;
1174
+ constructor(affixService: SkyAffixService, changeDetector: ChangeDetectorRef, coreAdapter: SkyCoreAdapterService, overlayService: SkyOverlayService, inputBoxHostService?: SkyInputBoxHostService | undefined, themeSvc?: SkyThemeService, stackingContext?: SkyStackingContext);
1175
+ ngOnInit(): void;
1176
+ ngOnDestroy(): void;
1177
+ setFormat(format: SkyTimepickerTimeFormatType): void;
1178
+ onCloseButtonClick(): void;
1179
+ setTime(event: any): void;
1180
+ onTriggerButtonClick(): void;
1181
+ protected highlightMinute(selectedMinute: number, minute: number): boolean;
1182
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyTimepickerComponent, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
1183
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyTimepickerComponent, "sky-timepicker", never, {}, { "selectedTimeChanged": "selectedTimeChanged"; }, never, ["*"], false, never>;
1184
+ }
1185
+
1186
+ declare class SkyTimepickerInputDirective implements OnInit, OnDestroy, ControlValueAccessor, Validator, OnChanges, AfterContentInit {
1187
+ #private;
1188
+ pickerChangedSubscription: Subscription | undefined;
1189
+ /**
1190
+ * Creates the timepicker input field and picker. Place this attribute on an `input` element,
1191
+ * and wrap the input in a `sky-timepicker` component.
1192
+ * This attribute must be set to the instance of the `sky-timepicker`.
1193
+ * @required
1194
+ */
1195
+ get skyTimepickerInput(): SkyTimepickerComponent | undefined;
1196
+ set skyTimepickerInput(value: SkyTimepickerComponent | undefined);
1197
+ get hostTimepickerInput(): SkyTimepickerComponent | undefined;
1198
+ /**
1199
+ * The 12-hour `hh` or 24-hour `HH` time format for the input.
1200
+ * @default "hh"
1201
+ */
1202
+ set timeFormat(value: SkyTimepickerTimeFormatType | undefined);
1203
+ get timeFormat(): SkyTimepickerTimeFormatType;
1204
+ /**
1205
+ * The custom time format. For examples,
1206
+ * see the [moment.js](https://momentjs.com/docs/#/displaying/format/) docs.
1207
+ */
1208
+ returnFormat: string | undefined;
1209
+ /**
1210
+ * Whether to disable the timepicker on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync.
1211
+ * To set the disabled state on reactive forms, use the `FormControl` instead.
1212
+ * @default false
1213
+ */
1214
+ get disabled(): boolean;
1215
+ set disabled(value: boolean | undefined);
1216
+ constructor(renderer: Renderer2, elRef: ElementRef, changeDetector: ChangeDetectorRef);
1217
+ ngOnInit(): void;
1218
+ ngAfterContentInit(): void;
1219
+ ngOnDestroy(): void;
1220
+ ngOnChanges(): void;
1221
+ onChange(event: any): void;
1222
+ onBlur(): void;
1223
+ registerOnChange(fn: (value: any) => any): void;
1224
+ registerOnTouched(fn: () => any): void;
1225
+ registerOnValidatorChange(fn: () => void): void;
1226
+ setDisabledState(isDisabled: boolean): void;
1227
+ writeValue(value: any): void;
1228
+ validate(control: AbstractControl): ValidationErrors | null;
1229
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyTimepickerInputDirective, never>;
1230
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SkyTimepickerInputDirective, "[skyTimepickerInput]", never, { "skyTimepickerInput": { "alias": "skyTimepickerInput"; "required": false; }; "timeFormat": { "alias": "timeFormat"; "required": false; }; "returnFormat": { "alias": "returnFormat"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
1231
+ }
1232
+
1233
+ declare class SkyTimepickerModule {
1234
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyTimepickerModule, never>;
1235
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SkyTimepickerModule, [typeof SkyTimepickerInputDirective, typeof SkyTimepickerComponent], [typeof i3.CommonModule, typeof i4.SkyIconModule, typeof SkyDatetimeResourcesModule, typeof i6.SkyAffixModule, typeof i7.SkyThemeModule], [typeof SkyTimepickerInputDirective, typeof SkyTimepickerComponent]>;
1236
+ static ɵinj: i0.ɵɵInjectorDeclaration<SkyTimepickerModule>;
1237
+ }
1238
+
1239
+ export { SkyDatePipe, SkyDatePipeModule, SkyDateRangeCalculator, SkyDateRangeCalculatorId, SkyDateRangeCalculatorType, SkyDateRangePickerModule, SkyDateRangeService, SkyDateService, SkyDatepickerConfigService, SkyDatepickerModule, SkyFuzzyDatePipe, SkyFuzzyDateService, SkyTimepickerModule, SkyDatepickerCalendarComponent as λ1, SkyDatepickerComponent as λ2, SkyDatepickerInputDirective as λ3, SkyFuzzyDatepickerInputDirective as λ4, SkyDateRangePickerComponent as λ5, SkyTimepickerComponent as λ6, SkyTimepickerInputDirective as λ7 };
1240
+ export type { SkyDateRange, SkyDateRangeCalculation, SkyDateRangeCalculatorConfig, SkyDateRangeCalculatorGetValueFunction, SkyDateRangeCalculatorValidateFunction, SkyDatepickerCalendarChange, SkyDatepickerCustomDate, SkyFuzzyDate, SkyTimepickerTimeFormatType, SkyTimepickerTimeOutput };