@netwin/angular-datetime-picker 19.0.0-rc.3 → 19.0.0-rc.5

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 (67) hide show
  1. package/README.md +27 -1
  2. package/assets/style/picker.min.css +1 -1
  3. package/fesm2022/netwin-angular-datetime-picker.mjs +4178 -1486
  4. package/fesm2022/netwin-angular-datetime-picker.mjs.map +1 -1
  5. package/lib/date-time/adapter/date-time-adapter.class.d.ts +19 -9
  6. package/lib/date-time/adapter/date-time-format.class.d.ts +12 -8
  7. package/lib/date-time/adapter/native-date-time-adapter.class.d.ts +16 -5
  8. package/lib/date-time/adapter/native-date-time-format.class.d.ts +3 -0
  9. package/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-adapter.class.d.ts +15 -4
  10. package/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-format.class.d.ts +3 -0
  11. package/lib/date-time/calendar-body.component.d.ts +18 -13
  12. package/lib/date-time/calendar-month-view.component.d.ts +17 -12
  13. package/lib/date-time/calendar-multi-year-view.component.d.ts +12 -12
  14. package/lib/date-time/calendar-year-view.component.d.ts +7 -6
  15. package/lib/date-time/calendar.component.d.ts +37 -17
  16. package/lib/date-time/date-time-inline.component.d.ts +79 -156
  17. package/lib/date-time/date-time-picker-container.component.d.ts +131 -0
  18. package/lib/date-time/date-time-picker-input.directive.d.ts +172 -0
  19. package/lib/date-time/date-time-picker-intl.service.d.ts +6 -0
  20. package/lib/date-time/date-time-picker-trigger.directive.d.ts +23 -0
  21. package/lib/date-time/date-time-picker.animations.d.ts +8 -0
  22. package/lib/date-time/date-time-picker.component.d.ts +171 -0
  23. package/lib/date-time/date-time.class.d.ts +103 -0
  24. package/lib/date-time/date-time.module.d.ts +17 -11
  25. package/lib/date-time/numberedFixLen.pipe.d.ts +10 -0
  26. package/lib/date-time/timer-box.component.d.ts +4 -3
  27. package/lib/date-time/timer.component.d.ts +19 -16
  28. package/lib/dialog/dialog-config.class.d.ts +169 -0
  29. package/lib/dialog/dialog-container.component.d.ts +69 -0
  30. package/lib/dialog/dialog-ref.class.d.ts +51 -0
  31. package/lib/dialog/dialog.module.d.ts +11 -0
  32. package/lib/dialog/dialog.service.d.ts +76 -0
  33. package/lib/utils/index.d.ts +4 -0
  34. package/lib/utils/object.utils.d.ts +8 -0
  35. package/package.json +5 -7
  36. package/public_api.d.ts +16 -12
  37. package/esm2022/lib/date-time/adapter/date-time-adapter.class.mjs +0 -114
  38. package/esm2022/lib/date-time/adapter/date-time-format.class.mjs +0 -4
  39. package/esm2022/lib/date-time/adapter/native-date-time-adapter.class.mjs +0 -238
  40. package/esm2022/lib/date-time/adapter/native-date-time-format.class.mjs +0 -15
  41. package/esm2022/lib/date-time/adapter/native-date-time.module.mjs +0 -42
  42. package/esm2022/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-adapter.class.mjs +0 -215
  43. package/esm2022/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-format.class.mjs +0 -15
  44. package/esm2022/lib/date-time/calendar-body.component.mjs +0 -137
  45. package/esm2022/lib/date-time/calendar-month-view.component.mjs +0 -420
  46. package/esm2022/lib/date-time/calendar-multi-year-view.component.mjs +0 -360
  47. package/esm2022/lib/date-time/calendar-year-view.component.mjs +0 -354
  48. package/esm2022/lib/date-time/calendar.component.mjs +0 -357
  49. package/esm2022/lib/date-time/date-time-inline.component.mjs +0 -463
  50. package/esm2022/lib/date-time/date-time-picker-intl.service.mjs +0 -55
  51. package/esm2022/lib/date-time/date-time.module.mjs +0 -59
  52. package/esm2022/lib/date-time/options-provider.mjs +0 -34
  53. package/esm2022/lib/date-time/timer-box.component.mjs +0 -130
  54. package/esm2022/lib/date-time/timer.component.mjs +0 -280
  55. package/esm2022/lib/types/date-view.mjs +0 -19
  56. package/esm2022/lib/types/index.mjs +0 -4
  57. package/esm2022/lib/types/picker-type.mjs +0 -2
  58. package/esm2022/lib/types/select-mode.mjs +0 -2
  59. package/esm2022/lib/utils/array.utils.mjs +0 -5
  60. package/esm2022/lib/utils/constants.mjs +0 -31
  61. package/esm2022/lib/utils/date.utils.mjs +0 -46
  62. package/esm2022/netwin-angular-datetime-picker.mjs +0 -5
  63. package/esm2022/public_api.mjs +0 -23
  64. package/lib/types/date-view.d.ts +0 -17
  65. package/lib/types/index.d.ts +0 -3
  66. package/lib/types/picker-type.d.ts +0 -7
  67. package/lib/types/select-mode.d.ts +0 -8
@@ -1,192 +1,115 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { ChangeDetectorRef, OnInit, type Provider } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
- import { DateView, PickerType, SelectMode } from '../types';
3
+ import { DateTimeAdapter } from './adapter/date-time-adapter.class';
4
+ import { OwlDateTimeFormats } from './adapter/date-time-format.class';
5
+ import { OwlDateTimeContainerComponent } from './date-time-picker-container.component';
6
+ import { OwlDateTime, PickerMode, PickerType, SelectMode } from './date-time.class';
4
7
  import * as i0 from "@angular/core";
5
- export declare class OwlDateTimeInlineComponent implements ControlValueAccessor {
6
- #private;
7
- readonly id: string;
8
- /**
9
- * Whether the timer is in hour12 format
10
- */
11
- hour12Timer: boolean;
12
- /**
13
- * The view that the calendar should start in.
14
- */
15
- startView: DateView;
16
- /**
17
- * Whether to should only the year and multi-year views.
18
- */
19
- yearOnly: boolean;
20
- /**
21
- * Whether to should only the multi-year view.
22
- */
23
- multiyearOnly: boolean;
24
- /**
25
- * Hours to change per step
26
- */
27
- stepHour: number;
28
- /**
29
- * Minutes to change per step
30
- */
31
- stepMinute: number;
32
- /**
33
- * Seconds to change per step
34
- */
35
- stepSecond: number;
36
- /**
37
- * Set the first day of week.
38
- * Has to be a number between 0 (Sunday) and 6 (Saturday)
39
- */
40
- private _firstDayOfWeek;
41
- get firstDayOfWeek(): number;
42
- set firstDayOfWeek(value: number);
43
- /**
44
- * Whether to hide dates in other months at the start or end of the current month.
45
- */
46
- hideOtherMonths: boolean;
47
- protected get formatOptions(): Intl.DateTimeFormatOptions;
48
- /**
49
- * Date Time Checker to check if the give dateTime is selectable
50
- */
51
- dateTimeChecker: (dateTime: Date) => boolean;
52
- protected getValidDate(obj: unknown): Date | null;
53
- /**
54
- * Set the {@link PickerType} of the dateTime picker
55
- */
56
- pickerType: PickerType;
57
- /**
58
- * Whether the picker is disabled or not
59
- */
60
- disabled: boolean;
61
- /**
62
- * Whether to show the second's timer
63
- */
64
- showSecondsTimer: boolean;
65
- /**
66
- * Which select mode to use:
67
- * - 'single'
68
- * - 'range'
69
- * - 'rangeFrom'
70
- * - 'rangeTo'
71
- */
72
- selectMode: SelectMode;
73
- /**
74
- * The date to open the calendar to initially.
75
- */
8
+ export declare const OWL_DATETIME_VALUE_ACCESSOR: Provider;
9
+ export declare class OwlDateTimeInlineComponent<T> extends OwlDateTime<T> implements OnInit, ControlValueAccessor {
10
+ protected changeDetector: ChangeDetectorRef;
11
+ protected dateTimeAdapter: DateTimeAdapter<T>;
12
+ protected dateTimeFormats: OwlDateTimeFormats;
13
+ protected container: OwlDateTimeContainerComponent<T>;
14
+ /**
15
+ * Set the type of the dateTime picker
16
+ * 'both' -- show both calendar and timer
17
+ * 'calendar' -- show only calendar
18
+ * 'timer' -- show only timer
19
+ */
20
+ private _pickerType;
21
+ get pickerType(): PickerType;
22
+ set pickerType(val: PickerType);
23
+ private _disabled;
24
+ get disabled(): boolean;
25
+ set disabled(value: boolean);
26
+ private _selectMode;
27
+ get selectMode(): SelectMode;
28
+ set selectMode(mode: SelectMode);
29
+ /** The date to open the calendar to initially. */
76
30
  private _startAt;
77
- get startAt(): Date | null;
78
- set startAt(date: Date | null);
79
- /**
80
- * The date to open for range calendar.
81
- */
31
+ get startAt(): T | null;
32
+ set startAt(date: T | null);
33
+ /** The date to open for range calendar. */
82
34
  private _endAt;
83
- get endAt(): Date | null;
84
- set endAt(date: Date | null);
35
+ get endAt(): T | null;
36
+ set endAt(date: T | null);
37
+ private _dateTimeFilter;
38
+ get dateTimeFilter(): (date: T | null) => boolean;
39
+ set dateTimeFilter(filter: (date: T | null) => boolean);
40
+ /** The minimum valid date. */
41
+ private _min;
42
+ get minDateTime(): T | null;
43
+ set minDateTime(value: T | null);
44
+ /** The maximum valid date. */
45
+ private _max;
46
+ get maxDateTime(): T | null;
47
+ set maxDateTime(value: T | null);
48
+ private _value;
49
+ get value(): T | null;
50
+ set value(value: T | null);
51
+ private _values;
52
+ get values(): Array<T>;
53
+ set values(values: Array<T>);
85
54
  /**
86
- * @deprecated use `dateTimeFilter` instead!
55
+ * Limit to the amount of days that can be selected at once.
87
56
  */
88
- owlDateTimeFilter: ((date: Date | null) => boolean) | null;
89
- dateTimeFilter: ((date: Date | null) => boolean) | null;
90
- protected get dateTimeFilterGetter(): ((date: Date | null) => boolean) | null;
91
- private _min;
57
+ rangeLimit: number | null;
92
58
  /**
93
- * The minimum valid date.
59
+ * Flag to show today button to jump to today's date. Defaults to `false`.
94
60
  */
95
- get min(): Date | null;
96
- set min(value: Date | null);
97
- private _max;
61
+ showTodayButton: boolean;
98
62
  /**
99
- * The maximum valid date.
63
+ * Variable to hold the old max date time value for when we override it with rangeLimit
100
64
  */
101
- get max(): Date | null;
102
- set max(value: Date | null);
103
- private _value;
104
- get value(): Date | null;
105
- set value(value: Date | null);
106
- private _values;
107
- get values(): Array<Date> | null;
108
- set values(values: Array<Date>);
65
+ private _initialMaxDateTime;
109
66
  /**
110
67
  * Emits selected year in multi-year view
111
68
  * This doesn't imply a change on the selected date.
112
69
  */
113
- readonly yearSelected: EventEmitter<Date>;
70
+ readonly yearSelected: import("@angular/core").OutputEmitterRef<T>;
114
71
  /**
115
72
  * Emits selected month in year view
116
73
  * This doesn't imply a change on the selected date.
117
74
  */
118
- readonly monthSelected: EventEmitter<Date>;
75
+ readonly monthSelected: import("@angular/core").OutputEmitterRef<T>;
119
76
  /**
120
77
  * Emits selected date
121
78
  */
122
- readonly dateSelected: EventEmitter<Date>;
123
- protected activeSelectedIndex: number;
79
+ readonly dateSelected: import("@angular/core").OutputEmitterRef<T>;
124
80
  private _selected;
125
- protected get selected(): Date | null;
126
- protected set selected(value: Date | null);
81
+ get selected(): T | null;
82
+ set selected(value: T | null);
127
83
  private _selecteds;
128
- protected get selecteds(): Array<Date>;
129
- protected set selecteds(values: Array<Date>);
130
- /**
131
- * Returns whether the picker is in single mode
132
- */
133
- protected get isInSingleMode(): boolean;
134
- /**
135
- * Returns whether the picker is in range mode (range, rangeFrom, rangeTo)
136
- */
137
- protected get isInRangeMode(): boolean;
138
- /**
139
- * The range 'from' label
140
- */
141
- protected get fromLabel(): string;
142
- /**
143
- * The range 'to' label
144
- */
145
- protected get toLabel(): string;
146
- /**
147
- * The range 'from' formatted value
148
- */
149
- protected get fromFormattedValue(): string;
150
- /**
151
- * The range 'to' formatted value
152
- */
153
- protected get toFormattedValue(): string;
84
+ get selecteds(): Array<T>;
85
+ set selecteds(values: Array<T>);
86
+ get opened(): boolean;
87
+ get pickerMode(): PickerMode;
88
+ get isInSingleMode(): boolean;
89
+ get isInRangeMode(): boolean;
90
+ get owlDTInlineClass(): boolean;
154
91
  private onModelChange;
155
92
  private onModelTouched;
156
- constructor();
157
- writeValue(value: Date): void;
158
- registerOnChange(fn: (v: Date | Array<Date>) => void): void;
159
- registerOnTouched(fn: () => void): void;
93
+ constructor(changeDetector: ChangeDetectorRef, dateTimeAdapter: DateTimeAdapter<T>, dateTimeFormats: OwlDateTimeFormats);
94
+ ngOnInit(): void;
95
+ writeValue(value: any): void;
96
+ registerOnChange(fn: any): void;
97
+ registerOnTouched(fn: any): void;
160
98
  setDisabledState(isDisabled: boolean): void;
161
- select(date: Array<Date> | Date): void;
99
+ select(date: Array<T> | T): void;
162
100
  /**
163
101
  * Emits the selected year in multi-year view
164
102
  */
165
- selectYear(normalizedYear: Date): void;
103
+ selectYear(normalizedYear: T): void;
166
104
  /**
167
105
  * Emits selected month in year view
168
106
  */
169
- selectMonth(normalizedMonth: Date): void;
107
+ selectMonth(normalizedMonth: T): void;
170
108
  /**
171
109
  * Emits the selected date
172
110
  */
173
- selectDate(normalizedDate: Date): void;
174
- /**
175
- * Sets the active "selected" index in range mode.
176
- * - 0 for 'from'
177
- * - 1 for 'to'
178
- */
179
- protected setActiveSelectedIndex(index: number): void;
180
- /**
181
- * Handle click on inform radio group
182
- */
183
- protected handleKeydownOnInfoGroup(event: KeyboardEvent, next: HTMLElement, index: number): void;
184
- static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeInlineComponent, never>;
185
- static ɵcmp: i0.ɵɵComponentDeclaration<OwlDateTimeInlineComponent, "owl-date-time-inline", never, { "hour12Timer": { "alias": "hour12Timer"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "yearOnly": { "alias": "yearOnly"; "required": false; }; "multiyearOnly": { "alias": "multiyearOnly"; "required": false; }; "stepHour": { "alias": "stepHour"; "required": false; }; "stepMinute": { "alias": "stepMinute"; "required": false; }; "stepSecond": { "alias": "stepSecond"; "required": false; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "hideOtherMonths": { "alias": "hideOtherMonths"; "required": false; }; "pickerType": { "alias": "pickerType"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showSecondsTimer": { "alias": "showSecondsTimer"; "required": false; }; "selectMode": { "alias": "selectMode"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "endAt": { "alias": "endAt"; "required": false; }; "owlDateTimeFilter": { "alias": "owlDateTimeFilter"; "required": false; }; "dateTimeFilter": { "alias": "dateTimeFilter"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "value": { "alias": "value"; "required": false; }; "values": { "alias": "values"; "required": false; }; }, { "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; "dateSelected": "dateSelected"; }, never, never, false, never>;
186
- static ngAcceptInputType_hour12Timer: unknown;
187
- static ngAcceptInputType_yearOnly: unknown;
188
- static ngAcceptInputType_multiyearOnly: unknown;
189
- static ngAcceptInputType_hideOtherMonths: unknown;
190
- static ngAcceptInputType_disabled: unknown;
191
- static ngAcceptInputType_showSecondsTimer: unknown;
111
+ selectDate(normalizedDate: T): void;
112
+ static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeInlineComponent<any>, [null, { optional: true; }, { optional: true; }]>;
113
+ static ɵcmp: i0.ɵɵComponentDeclaration<OwlDateTimeInlineComponent<any>, "owl-date-time-inline", never, { "pickerType": { "alias": "pickerType"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "selectMode": { "alias": "selectMode"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "endAt": { "alias": "endAt"; "required": false; }; "dateTimeFilter": { "alias": "owlDateTimeFilter"; "required": false; }; "minDateTime": { "alias": "min"; "required": false; }; "maxDateTime": { "alias": "max"; "required": false; }; "value": { "alias": "value"; "required": false; }; "values": { "alias": "values"; "required": false; }; "rangeLimit": { "alias": "rangeLimit"; "required": false; }; "showTodayButton": { "alias": "showTodayButton"; "required": false; }; }, { "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; "dateSelected": "dateSelected"; }, never, never, false, never>;
114
+ static ngAcceptInputType_showTodayButton: unknown;
192
115
  }
@@ -0,0 +1,131 @@
1
+ /**
2
+ * date-time-picker-container.component
3
+ */
4
+ import { AnimationEvent } from '@angular/animations';
5
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
6
+ import { Observable } from 'rxjs';
7
+ import { DateTimeAdapter } from './adapter/date-time-adapter.class';
8
+ import { OwlCalendarComponent } from './calendar.component';
9
+ import { OwlDateTimeIntl } from './date-time-picker-intl.service';
10
+ import { OwlDateTime, PickerType } from './date-time.class';
11
+ import { OwlTimerComponent } from './timer.component';
12
+ import * as i0 from "@angular/core";
13
+ export declare class OwlDateTimeContainerComponent<T> implements OnInit, AfterContentInit, AfterViewInit {
14
+ private cdRef;
15
+ private elmRef;
16
+ private pickerIntl;
17
+ private dateTimeAdapter;
18
+ calendar: OwlCalendarComponent<T>;
19
+ timer: OwlTimerComponent<T>;
20
+ picker: OwlDateTime<T>;
21
+ activeSelectedIndex: number;
22
+ private retainStartTime;
23
+ private retainEndTime;
24
+ /**
25
+ * Stream emits when try to hide picker
26
+ */
27
+ private hidePicker$;
28
+ showTodayButton: boolean;
29
+ get hidePickerStream(): Observable<any>;
30
+ /**
31
+ * Stream emits when try to confirm the selected value
32
+ */
33
+ private confirmSelected$;
34
+ get confirmSelectedStream(): Observable<any>;
35
+ private beforePickerOpened$;
36
+ get beforePickerOpenedStream(): Observable<any>;
37
+ private pickerOpened$;
38
+ get pickerOpenedStream(): Observable<any>;
39
+ /**
40
+ * The current picker moment. This determines which time period is shown and which date is
41
+ * highlighted when using keyboard navigation.
42
+ */
43
+ private _clamPickerMoment;
44
+ get pickerMoment(): T;
45
+ set pickerMoment(value: T);
46
+ get pickerType(): PickerType;
47
+ get cancelLabel(): string;
48
+ get setLabel(): string;
49
+ /**
50
+ * The range 'from' label
51
+ */
52
+ get fromLabel(): string;
53
+ /**
54
+ * The range 'to' label
55
+ */
56
+ get toLabel(): string;
57
+ /**
58
+ * The range 'from' formatted value
59
+ */
60
+ get fromFormattedValue(): string;
61
+ /**
62
+ * The range 'to' formatted value
63
+ */
64
+ get toFormattedValue(): string;
65
+ /**
66
+ * Cases in which the control buttons show in the picker
67
+ * 1) picker mode is 'dialog'
68
+ * 2) picker type is NOT 'calendar' and the picker mode is NOT 'inline'
69
+ */
70
+ get showControlButtons(): boolean;
71
+ get containerElm(): HTMLElement;
72
+ get owlDTContainerClass(): boolean;
73
+ get owlDTPopupContainerClass(): boolean;
74
+ get owlDTDialogContainerClass(): boolean;
75
+ get owlDTInlineContainerClass(): boolean;
76
+ get owlDTContainerDisabledClass(): boolean;
77
+ get owlDTContainerId(): string;
78
+ get owlDTContainerAnimation(): any;
79
+ constructor(cdRef: ChangeDetectorRef, elmRef: ElementRef, pickerIntl: OwlDateTimeIntl, dateTimeAdapter: DateTimeAdapter<T>);
80
+ ngOnInit(): void;
81
+ ngAfterContentInit(): void;
82
+ ngAfterViewInit(): void;
83
+ handleContainerAnimationStart(event: AnimationEvent): void;
84
+ handleContainerAnimationDone(event: AnimationEvent): void;
85
+ dateSelected(date: T): void;
86
+ timeSelected(time: T): void;
87
+ /**
88
+ * Handle click on cancel button
89
+ */
90
+ onCancelClicked(event: any): void;
91
+ /**
92
+ * Handle click on set button
93
+ */
94
+ onSetClicked(event: any): void;
95
+ /**
96
+ * Handle click on inform radio group
97
+ */
98
+ handleClickOnInfoGroup(event: any, index: number): void;
99
+ /**
100
+ * Handle click on inform radio group
101
+ */
102
+ handleKeydownOnInfoGroup(event: any, next: any, index: number): void;
103
+ /**
104
+ * Set the value of activeSelectedIndex
105
+ */
106
+ private setActiveSelectedIndex;
107
+ private initPicker;
108
+ /**
109
+ * Select calendar date in single mode,
110
+ * it returns null when date is not selected.
111
+ */
112
+ private dateSelectedInSingleMode;
113
+ /**
114
+ * Select dates in range Mode
115
+ */
116
+ private dateSelectedInRangeMode;
117
+ /**
118
+ * Update the given calendar date's time and check if it is valid
119
+ * Because the calendar date has 00:00:00 as default time, if the picker type is 'both',
120
+ * we need to update the given calendar date's time before selecting it.
121
+ * if it is valid, return the updated dateTime
122
+ * if it is not valid, return null
123
+ */
124
+ private updateAndCheckCalendarDate;
125
+ /**
126
+ * Focus to the picker
127
+ */
128
+ private focusPicker;
129
+ static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeContainerComponent<any>, [null, null, null, { optional: true; }]>;
130
+ static ɵcmp: i0.ɵɵComponentDeclaration<OwlDateTimeContainerComponent<any>, "owl-date-time-container", ["owlDateTimeContainer"], { "showTodayButton": { "alias": "showTodayButton"; "required": false; }; }, {}, never, never, false, never>;
131
+ }
@@ -0,0 +1,172 @@
1
+ import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
2
+ import { AbstractControl, ControlValueAccessor, Validator } from '@angular/forms';
3
+ import { DateTimeAdapter } from './adapter/date-time-adapter.class';
4
+ import { OwlDateTimeFormats } from './adapter/date-time-format.class';
5
+ import { OwlDateTimeComponent } from './date-time-picker.component';
6
+ import { SelectMode } from './date-time.class';
7
+ import * as i0 from "@angular/core";
8
+ export declare const OWL_DATETIME_VALUE_ACCESSOR: any;
9
+ export declare const OWL_DATETIME_VALIDATORS: any;
10
+ export declare class OwlDateTimeInputDirective<T> implements OnInit, AfterContentInit, OnDestroy, ControlValueAccessor, Validator {
11
+ private elmRef;
12
+ private renderer;
13
+ private dateTimeAdapter;
14
+ private dateTimeFormats;
15
+ static ngAcceptInputType_disabled: boolean | '';
16
+ /**
17
+ * Required flag to be used for range of [null, null]
18
+ */
19
+ private _required;
20
+ get required(): any;
21
+ set required(value: any);
22
+ /**
23
+ * The date time picker that this input is associated with.
24
+ */
25
+ set owlDateTime(value: OwlDateTimeComponent<T>);
26
+ /**
27
+ * A function to filter date time
28
+ */
29
+ set owlDateTimeFilter(filter: (date: T | null) => boolean);
30
+ private _dateTimeFilter;
31
+ get dateTimeFilter(): (date: T | null) => boolean;
32
+ /** Whether the date time picker's input is disabled. */
33
+ private _disabled;
34
+ get disabled(): boolean;
35
+ set disabled(value: boolean);
36
+ /** The minimum valid date. */
37
+ private _min;
38
+ get min(): T | null;
39
+ set min(value: T | null);
40
+ /** The maximum valid date. */
41
+ private _max;
42
+ get max(): T | null;
43
+ set max(value: T | null);
44
+ /**
45
+ * The picker's select mode
46
+ */
47
+ private _selectMode;
48
+ get selectMode(): SelectMode;
49
+ set selectMode(mode: SelectMode);
50
+ /**
51
+ * The character to separate the 'from' and 'to' in input value
52
+ */
53
+ rangeSeparator: string;
54
+ private _value;
55
+ get value(): T | null;
56
+ set value(value: T | null);
57
+ private _values;
58
+ get values(): Array<T>;
59
+ set values(values: Array<T>);
60
+ /**
61
+ * Callback to invoke when `change` event is fired on this `<input>`
62
+ */
63
+ readonly dateTimeChange: import("@angular/core").OutputEmitterRef<{
64
+ source: OwlDateTimeInputDirective<T>;
65
+ value: T | Array<T | null> | null;
66
+ input: HTMLInputElement;
67
+ }>;
68
+ /**
69
+ * Callback to invoke when an `input` event is fired on this `<input>`.
70
+ */
71
+ readonly dateTimeInput: import("@angular/core").OutputEmitterRef<{
72
+ source: OwlDateTimeInputDirective<T>;
73
+ value: T | Array<T | null> | null;
74
+ input: HTMLInputElement;
75
+ }>;
76
+ get elementRef(): ElementRef;
77
+ get isInSingleMode(): boolean;
78
+ get isInRangeMode(): boolean;
79
+ /** The date-time-picker that this input is associated with. */
80
+ dtPicker: OwlDateTimeComponent<T>;
81
+ private dtPickerSub;
82
+ private localeSub;
83
+ private lastValueValid;
84
+ private onModelChange;
85
+ private onModelTouched;
86
+ private validatorOnChange;
87
+ /** The form control validator for whether the input parses. */
88
+ private parseValidator;
89
+ /** The form control validator for the min date. */
90
+ private minValidator;
91
+ /** The form control validator for the max date. */
92
+ private maxValidator;
93
+ /** The form control validator for the date filter. */
94
+ private filterValidator;
95
+ /**
96
+ * The form control validator for the range.
97
+ * Check whether the 'before' value is before the 'to' value
98
+ */
99
+ private rangeValidator;
100
+ /**
101
+ * The form control validator for the range when required.
102
+ * Check whether the 'before' and 'to' values are present
103
+ */
104
+ private requiredRangeValidator;
105
+ /** The combined form control validator for this input. */
106
+ private validator;
107
+ /** Emits when the value changes (either due to user input or programmatic change). */
108
+ valueChange: EventEmitter<T | T[]>;
109
+ /** Emits when the disabled state has changed */
110
+ disabledChange: EventEmitter<boolean>;
111
+ get owlDateTimeInputAriaHaspopup(): boolean;
112
+ get owlDateTimeInputAriaOwns(): string;
113
+ get minIso8601(): string;
114
+ get maxIso8601(): string;
115
+ get owlDateTimeInputDisabled(): boolean;
116
+ constructor(elmRef: ElementRef, renderer: Renderer2, dateTimeAdapter: DateTimeAdapter<T>, dateTimeFormats: OwlDateTimeFormats);
117
+ ngOnInit(): void;
118
+ ngAfterContentInit(): void;
119
+ ngOnDestroy(): void;
120
+ writeValue(value: any): void;
121
+ registerOnChange(fn: any): void;
122
+ registerOnTouched(fn: any): void;
123
+ setDisabledState(isDisabled: boolean): void;
124
+ validate(c: AbstractControl): {
125
+ [key: string]: any;
126
+ };
127
+ registerOnValidatorChange(fn: () => void): void;
128
+ /**
129
+ * Open the picker when user hold alt + DOWN_ARROW
130
+ */
131
+ handleKeydownOnHost(event: KeyboardEvent): void;
132
+ handleBlurOnHost(event: Event): void;
133
+ handleInputOnHost(event: any): void;
134
+ handleChangeOnHost(event: any): void;
135
+ /**
136
+ * Set the native input property 'value'
137
+ */
138
+ formatNativeInputValue(): void;
139
+ /**
140
+ * Register the relationship between this input and its picker component
141
+ */
142
+ private registerDateTimePicker;
143
+ /**
144
+ * Convert a given obj to a valid date object
145
+ */
146
+ private getValidDate;
147
+ /**
148
+ * Convert a time string to a date-time string
149
+ * When pickerType is 'timer', the value in the picker's input is a time string.
150
+ * The dateTimeAdapter parse fn could not parse a time string to a Date Object.
151
+ * Therefore we need this fn to convert a time string to a date-time string.
152
+ */
153
+ private convertTimeStringToDateTimeString;
154
+ /**
155
+ * Handle input change in single mode
156
+ */
157
+ private changeInputInSingleMode;
158
+ /**
159
+ * Handle input change in rangeFrom or rangeTo mode
160
+ */
161
+ private changeInputInRangeFromToMode;
162
+ /**
163
+ * Handle input change in range mode
164
+ */
165
+ private changeInputInRangeMode;
166
+ /**
167
+ * Check if the two value is the same
168
+ */
169
+ private isSameValue;
170
+ static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeInputDirective<any>, [null, null, { optional: true; }, { optional: true; }]>;
171
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OwlDateTimeInputDirective<any>, "input[owlDateTime]", ["owlDateTimeInput"], { "required": { "alias": "required"; "required": false; }; "owlDateTime": { "alias": "owlDateTime"; "required": false; }; "owlDateTimeFilter": { "alias": "owlDateTimeFilter"; "required": false; }; "_disabled": { "alias": "_disabled"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "selectMode": { "alias": "selectMode"; "required": false; }; "rangeSeparator": { "alias": "rangeSeparator"; "required": false; }; "value": { "alias": "value"; "required": false; }; "values": { "alias": "values"; "required": false; }; }, { "dateTimeChange": "dateTimeChange"; "dateTimeInput": "dateTimeInput"; }, never, never, false, never>;
172
+ }
@@ -34,6 +34,10 @@ export declare class OwlDateTimeIntl {
34
34
  switchToMonthViewLabel: string;
35
35
  /** A label for the 'switch to year view' button (used by screen readers). */
36
36
  switchToMultiYearViewLabel: string;
37
+ /** A label for the cancel button */
38
+ cancelBtnLabel: string;
39
+ /** A label for the set button */
40
+ setBtnLabel: string;
37
41
  /** A label for the range 'from' in picker info */
38
42
  rangeFromLabel: string;
39
43
  /** A label for the range 'to' in picker info */
@@ -42,6 +46,8 @@ export declare class OwlDateTimeIntl {
42
46
  hour12AMLabel: string;
43
47
  /** A label for the hour12 button (PM) */
44
48
  hour12PMLabel: string;
49
+ /** A label for the today button */
50
+ todayButtonLabel: string;
45
51
  static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeIntl, never>;
46
52
  static ɵprov: i0.ɵɵInjectableDeclaration<OwlDateTimeIntl>;
47
53
  }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * date-time-picker-trigger.directive
3
+ */
4
+ import { AfterContentInit, ChangeDetectorRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
5
+ import { OwlDateTimeComponent } from './date-time-picker.component';
6
+ import * as i0 from "@angular/core";
7
+ export declare class OwlDateTimeTriggerDirective<T> implements OnChanges, AfterContentInit, OnDestroy {
8
+ protected changeDetector: ChangeDetectorRef;
9
+ dtPicker: OwlDateTimeComponent<T>;
10
+ private _disabled;
11
+ get disabled(): boolean;
12
+ set disabled(value: boolean);
13
+ protected get owlDTTriggerDisabledClass(): boolean;
14
+ private stateChanges;
15
+ constructor(changeDetector: ChangeDetectorRef);
16
+ ngOnChanges(changes: SimpleChanges): void;
17
+ ngAfterContentInit(): void;
18
+ ngOnDestroy(): void;
19
+ handleClickOnHost(event: Event): void;
20
+ private watchStateChanges;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<OwlDateTimeTriggerDirective<any>, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OwlDateTimeTriggerDirective<any>, "[owlDateTimeTrigger]", never, { "dtPicker": { "alias": "owlDateTimeTrigger"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
23
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * date-time-picker.animations
3
+ */
4
+ import { AnimationTriggerMetadata } from '@angular/animations';
5
+ export declare const owlDateTimePickerAnimations: {
6
+ readonly transformPicker: AnimationTriggerMetadata;
7
+ readonly fadeInPicker: AnimationTriggerMetadata;
8
+ };