nxt-pick-datetime 16.0.0-alpha.6 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/{esm2020 → esm2022}/lib/class/date-time-adapter.class.mjs +96 -96
  2. package/{esm2020 → esm2022}/lib/class/date-time-format.class.mjs +3 -3
  3. package/esm2022/lib/class/date-time.class.mjs +96 -0
  4. package/{esm2020 → esm2022}/lib/class/dialog-config.class.mjs +46 -46
  5. package/{esm2020 → esm2022}/lib/class/dialog-ref.class.mjs +118 -118
  6. package/esm2022/lib/date-time/calendar/calendar.component.mjs +347 -0
  7. package/esm2022/lib/date-time/calendar-body/calendar-body.component.mjs +152 -0
  8. package/esm2022/lib/date-time/calendar-month-view/calendar-month-view.component.mjs +430 -0
  9. package/esm2022/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.mjs +359 -0
  10. package/esm2022/lib/date-time/calendar-year-view/calendar-year-view.component.mjs +363 -0
  11. package/esm2022/lib/date-time/date-time-inline/date-time-inline.component.mjs +276 -0
  12. package/esm2022/lib/date-time/date-time-picker/date-time-picker.component.mjs +542 -0
  13. package/{esm2020 → esm2022}/lib/date-time/date-time-picker-container/date-time-picker-container.animations.mjs +18 -18
  14. package/esm2022/lib/date-time/date-time-picker-container/date-time-picker-container.component.mjs +390 -0
  15. package/esm2022/lib/date-time/date-time-picker-input.directive.mjs +619 -0
  16. package/esm2022/lib/date-time/date-time-picker-intl.service.mjs +62 -0
  17. package/esm2022/lib/date-time/date-time-picker-trigger.directive.mjs +71 -0
  18. package/esm2022/lib/date-time/date-time.module.mjs +97 -0
  19. package/esm2022/lib/date-time/number-fixed-len.pipe.mjs +23 -0
  20. package/esm2022/lib/date-time/timer/timer.component.mjs +300 -0
  21. package/esm2022/lib/date-time/timer-box/timer-box.component.mjs +96 -0
  22. package/esm2022/lib/dialog/dialog-container/dialog-container.component.mjs +249 -0
  23. package/esm2022/lib/dialog/dialog.module.mjs +43 -0
  24. package/esm2022/lib/dialog/dialog.service.mjs +252 -0
  25. package/esm2022/lib/utils/object.mjs +24 -0
  26. package/esm2022/moment-adapter/date-time-adapter.class.mjs +221 -0
  27. package/{esm2020 → esm2022}/moment-adapter/date-time-format.class.mjs +12 -12
  28. package/esm2022/moment-adapter/moment-adapter.module.mjs +38 -0
  29. package/{esm2020 → esm2022}/moment-adapter/nxt-pick-datetime-moment-adapter.mjs +4 -4
  30. package/{esm2020 → esm2022}/moment-adapter/public-api.mjs +2 -2
  31. package/esm2022/native-adapter/date-time-adapter.class.mjs +367 -0
  32. package/{esm2020 → esm2022}/native-adapter/date-time-format.class.mjs +12 -12
  33. package/esm2022/native-adapter/native-adapter.module.mjs +38 -0
  34. package/{esm2020 → esm2022}/native-adapter/nxt-pick-datetime-native-adapter.mjs +4 -4
  35. package/{esm2020 → esm2022}/native-adapter/public-api.mjs +1 -1
  36. package/{esm2020 → esm2022}/nxt-pick-datetime.mjs +4 -4
  37. package/{esm2020 → esm2022}/public-api.mjs +13 -13
  38. package/{fesm2020 → fesm2022}/nxt-pick-datetime-moment-adapter.mjs +257 -257
  39. package/{fesm2020 → fesm2022}/nxt-pick-datetime-moment-adapter.mjs.map +1 -1
  40. package/{fesm2020 → fesm2022}/nxt-pick-datetime-native-adapter.mjs +402 -402
  41. package/{fesm2020 → fesm2022}/nxt-pick-datetime-native-adapter.mjs.map +1 -1
  42. package/{fesm2020 → fesm2022}/nxt-pick-datetime.mjs +4858 -4860
  43. package/{fesm2020 → fesm2022}/nxt-pick-datetime.mjs.map +1 -1
  44. package/index.d.ts +5 -5
  45. package/lib/class/date-time-adapter.class.d.ts +176 -176
  46. package/lib/class/date-time-format.class.d.ts +12 -12
  47. package/lib/class/date-time.class.d.ts +76 -76
  48. package/lib/class/dialog-config.class.d.ts +90 -90
  49. package/lib/class/dialog-ref.class.d.ts +50 -50
  50. package/lib/date-time/calendar/calendar.component.d.ts +147 -147
  51. package/lib/date-time/calendar-body/calendar-body.component.d.ts +79 -79
  52. package/lib/date-time/calendar-month-view/calendar-month-view.component.d.ts +139 -139
  53. package/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +115 -115
  54. package/lib/date-time/calendar-year-view/calendar-year-view.component.d.ts +123 -123
  55. package/lib/date-time/date-time-inline/date-time-inline.component.d.ts +106 -106
  56. package/lib/date-time/date-time-picker/date-time-picker.component.d.ts +172 -172
  57. package/lib/date-time/date-time-picker-container/date-time-picker-container.animations.d.ts +6 -6
  58. package/lib/date-time/date-time-picker-container/date-time-picker-container.component.d.ts +129 -129
  59. package/lib/date-time/date-time-picker-input.directive.d.ts +167 -167
  60. package/lib/date-time/date-time-picker-intl.service.d.ts +51 -51
  61. package/lib/date-time/date-time-picker-trigger.directive.d.ts +22 -22
  62. package/lib/date-time/date-time.module.d.ts +23 -23
  63. package/lib/date-time/number-fixed-len.pipe.d.ts +8 -8
  64. package/lib/date-time/timer/timer.component.d.ts +131 -131
  65. package/lib/date-time/timer-box/timer-box.component.d.ts +37 -37
  66. package/lib/dialog/dialog-container/dialog-container.component.d.ts +69 -69
  67. package/lib/dialog/dialog.module.d.ts +12 -12
  68. package/lib/dialog/dialog.service.d.ts +78 -78
  69. package/lib/utils/object.d.ts +9 -10
  70. package/moment-adapter/date-time-adapter.class.d.ts +64 -64
  71. package/moment-adapter/date-time-format.class.d.ts +5 -5
  72. package/moment-adapter/index.d.ts +5 -5
  73. package/moment-adapter/moment-adapter.module.d.ts +6 -6
  74. package/moment-adapter/public-api.d.ts +2 -2
  75. package/native-adapter/date-time-adapter.class.d.ts +72 -72
  76. package/native-adapter/date-time-format.class.d.ts +5 -5
  77. package/native-adapter/index.d.ts +5 -5
  78. package/native-adapter/native-adapter.module.d.ts +7 -7
  79. package/native-adapter/public-api.d.ts +1 -1
  80. package/package.json +18 -28
  81. package/public-api.d.ts +14 -14
  82. package/esm2020/lib/class/date-time.class.mjs +0 -95
  83. package/esm2020/lib/date-time/calendar/calendar.component.mjs +0 -346
  84. package/esm2020/lib/date-time/calendar-body/calendar-body.component.mjs +0 -151
  85. package/esm2020/lib/date-time/calendar-month-view/calendar-month-view.component.mjs +0 -429
  86. package/esm2020/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.mjs +0 -358
  87. package/esm2020/lib/date-time/calendar-year-view/calendar-year-view.component.mjs +0 -362
  88. package/esm2020/lib/date-time/date-time-inline/date-time-inline.component.mjs +0 -275
  89. package/esm2020/lib/date-time/date-time-picker/date-time-picker.component.mjs +0 -541
  90. package/esm2020/lib/date-time/date-time-picker-container/date-time-picker-container.component.mjs +0 -389
  91. package/esm2020/lib/date-time/date-time-picker-input.directive.mjs +0 -618
  92. package/esm2020/lib/date-time/date-time-picker-intl.service.mjs +0 -61
  93. package/esm2020/lib/date-time/date-time-picker-trigger.directive.mjs +0 -70
  94. package/esm2020/lib/date-time/date-time.module.mjs +0 -96
  95. package/esm2020/lib/date-time/number-fixed-len.pipe.mjs +0 -22
  96. package/esm2020/lib/date-time/timer/timer.component.mjs +0 -299
  97. package/esm2020/lib/date-time/timer-box/timer-box.component.mjs +0 -95
  98. package/esm2020/lib/dialog/dialog-container/dialog-container.component.mjs +0 -248
  99. package/esm2020/lib/dialog/dialog.module.mjs +0 -42
  100. package/esm2020/lib/dialog/dialog.service.mjs +0 -252
  101. package/esm2020/lib/utils/object.mjs +0 -25
  102. package/esm2020/moment-adapter/date-time-adapter.class.mjs +0 -220
  103. package/esm2020/moment-adapter/moment-adapter.module.mjs +0 -37
  104. package/esm2020/native-adapter/date-time-adapter.class.mjs +0 -366
  105. package/esm2020/native-adapter/native-adapter.module.mjs +0 -37
  106. package/fesm2015/nxt-pick-datetime-moment-adapter.mjs +0 -274
  107. package/fesm2015/nxt-pick-datetime-moment-adapter.mjs.map +0 -1
  108. package/fesm2015/nxt-pick-datetime-native-adapter.mjs +0 -420
  109. package/fesm2015/nxt-pick-datetime-native-adapter.mjs.map +0 -1
  110. package/fesm2015/nxt-pick-datetime.mjs +0 -5014
  111. package/fesm2015/nxt-pick-datetime.mjs.map +0 -1
@@ -1,129 +1,129 @@
1
- import { AnimationEvent } from '@angular/animations';
2
- import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
3
- import { DateTimeAdapter } from '../../class/date-time-adapter.class';
4
- import { DateTimeDirective } from '../../class/date-time.class';
5
- import { CalendarComponent } from '../calendar/calendar.component';
6
- import { DateTimeIntl } from '../date-time-picker-intl.service';
7
- import { TimerComponent } from '../timer/timer.component';
8
- import * as i0 from "@angular/core";
9
- /** @internal */
10
- export declare class DateTimeContainerComponent<T> implements OnInit, AfterContentInit, AfterViewInit {
11
- private readonly cdRef;
12
- private readonly elmRef;
13
- private readonly pickerIntl;
14
- private readonly dateTimeAdapter;
15
- calendar?: CalendarComponent<T>;
16
- timer?: TimerComponent<T>;
17
- picker?: DateTimeDirective<T>;
18
- activeSelectedIndex: number;
19
- /**
20
- * Stream emits when try to hide picker
21
- */
22
- private readonly hidePicker$;
23
- readonly hidePickerStream: import("rxjs").Observable<void>;
24
- /**
25
- * Stream emits when try to confirm the selected value
26
- */
27
- private readonly confirmSelected$;
28
- readonly confirmSelectedStream: import("rxjs").Observable<Event>;
29
- private readonly pickerOpened$;
30
- readonly pickerOpenedStream: import("rxjs").Observable<void>;
31
- /**
32
- * The current picker moment. This determines which time period is shown and which date is
33
- * highlighted when using keyboard navigation.
34
- */
35
- private _clamPickerMoment?;
36
- get pickerMoment(): T | undefined;
37
- set pickerMoment(value: T | undefined);
38
- get pickerType(): import("../../class/date-time.class").PickerType | undefined;
39
- get cancelLabel(): string;
40
- get setLabel(): string;
41
- /**
42
- * The range 'from' label
43
- */
44
- get fromLabel(): string;
45
- /**
46
- * The range 'to' label
47
- */
48
- get toLabel(): string;
49
- /**
50
- * The range 'from' formatted value
51
- */
52
- get fromFormattedValue(): string;
53
- /**
54
- * The range 'to' formatted value
55
- */
56
- get toFormattedValue(): string;
57
- /**
58
- * Cases in which the control buttons show in the picker
59
- * 1) picker mode is 'dialog'
60
- * 2) picker type is NOT 'calendar' and the picker mode is NOT 'inline'
61
- */
62
- get showControlButtons(): boolean;
63
- get containerElm(): HTMLElement;
64
- /** @internal */
65
- get containerClass(): boolean;
66
- /** @internal */
67
- get popupContainerClass(): boolean;
68
- /** @internal */
69
- get dialogContainerClass(): boolean;
70
- /** @internal */
71
- get inlineContainerClass(): boolean;
72
- /** @internal */
73
- get containerDisabledClass(): boolean;
74
- /** @internal */
75
- get containerId(): string | undefined;
76
- /** @internal */
77
- get containerAnimation(): any;
78
- constructor(cdRef: ChangeDetectorRef, elmRef: ElementRef<HTMLElement>, pickerIntl: DateTimeIntl, dateTimeAdapter: DateTimeAdapter<T>);
79
- ngOnInit(): void;
80
- ngAfterContentInit(): void;
81
- ngAfterViewInit(): void;
82
- handleContainerAnimationDone(event: AnimationEvent): void;
83
- dateSelected(date?: T): void;
84
- timeSelected(time?: T): void;
85
- /**
86
- * Handle click on cancel button
87
- */
88
- onCancelClicked(event: Event): void;
89
- /**
90
- * Handle click on set button
91
- */
92
- onSetClicked(event: Event): void;
93
- /**
94
- * Handle click on inform radio group
95
- */
96
- handleClickOnInfoGroup(event: any, index: number): void;
97
- /**
98
- * Handle click on inform radio group
99
- */
100
- handleKeydownOnInfoGroup(event: any, next: any, index: number): void;
101
- /**
102
- * Set the value of activeSelectedIndex
103
- */
104
- private setActiveSelectedIndex;
105
- private initPicker;
106
- /**
107
- * Select calendar date in single mode,
108
- * it returns undefined when date is not selected.
109
- */
110
- private dateSelectedInSingleMode;
111
- /**
112
- * Select dates in range Mode
113
- */
114
- private dateSelectedInRangeMode;
115
- /**
116
- * Update the given calendar date's time and check if it is valid
117
- * Because the calendar date has 00:00:00 as default time, if the picker type is 'both',
118
- * we need to update the given calendar date's time before selecting it.
119
- * if it is valid, return the updated dateTime
120
- * if it is not valid, return undefined
121
- */
122
- private updateAndCheckCalendarDate;
123
- /**
124
- * Focus to the picker
125
- */
126
- private focusPicker;
127
- static ɵfac: i0.ɵɵFactoryDeclaration<DateTimeContainerComponent<any>, never>;
128
- static ɵcmp: i0.ɵɵComponentDeclaration<DateTimeContainerComponent<any>, "nxt-date-time-container", never, {}, {}, never, never, false, never>;
129
- }
1
+ import { AnimationEvent } from '@angular/animations';
2
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
3
+ import { DateTimeAdapter } from '../../class/date-time-adapter.class';
4
+ import { DateTimeDirective } from '../../class/date-time.class';
5
+ import { CalendarComponent } from '../calendar/calendar.component';
6
+ import { DateTimeIntl } from '../date-time-picker-intl.service';
7
+ import { TimerComponent } from '../timer/timer.component';
8
+ import * as i0 from "@angular/core";
9
+ /** @internal */
10
+ export declare class DateTimeContainerComponent<T> implements OnInit, AfterContentInit, AfterViewInit {
11
+ private readonly cdRef;
12
+ private readonly elmRef;
13
+ private readonly pickerIntl;
14
+ private readonly dateTimeAdapter;
15
+ calendar?: CalendarComponent<T>;
16
+ timer?: TimerComponent<T>;
17
+ picker?: DateTimeDirective<T>;
18
+ activeSelectedIndex: number;
19
+ /**
20
+ * Stream emits when try to hide picker
21
+ */
22
+ private readonly hidePicker$;
23
+ readonly hidePickerStream: import("rxjs").Observable<void>;
24
+ /**
25
+ * Stream emits when try to confirm the selected value
26
+ */
27
+ private readonly confirmSelected$;
28
+ readonly confirmSelectedStream: import("rxjs").Observable<Event>;
29
+ private readonly pickerOpened$;
30
+ readonly pickerOpenedStream: import("rxjs").Observable<void>;
31
+ /**
32
+ * The current picker moment. This determines which time period is shown and which date is
33
+ * highlighted when using keyboard navigation.
34
+ */
35
+ private _clamPickerMoment?;
36
+ get pickerMoment(): T | undefined;
37
+ set pickerMoment(value: T | undefined);
38
+ get pickerType(): import("../../class/date-time.class").PickerType | undefined;
39
+ get cancelLabel(): string;
40
+ get setLabel(): string;
41
+ /**
42
+ * The range 'from' label
43
+ */
44
+ get fromLabel(): string;
45
+ /**
46
+ * The range 'to' label
47
+ */
48
+ get toLabel(): string;
49
+ /**
50
+ * The range 'from' formatted value
51
+ */
52
+ get fromFormattedValue(): string;
53
+ /**
54
+ * The range 'to' formatted value
55
+ */
56
+ get toFormattedValue(): string;
57
+ /**
58
+ * Cases in which the control buttons show in the picker
59
+ * 1) picker mode is 'dialog'
60
+ * 2) picker type is NOT 'calendar' and the picker mode is NOT 'inline'
61
+ */
62
+ get showControlButtons(): boolean;
63
+ get containerElm(): HTMLElement;
64
+ /** @internal */
65
+ get containerClass(): boolean;
66
+ /** @internal */
67
+ get popupContainerClass(): boolean;
68
+ /** @internal */
69
+ get dialogContainerClass(): boolean;
70
+ /** @internal */
71
+ get inlineContainerClass(): boolean;
72
+ /** @internal */
73
+ get containerDisabledClass(): boolean;
74
+ /** @internal */
75
+ get containerId(): string | undefined;
76
+ /** @internal */
77
+ get containerAnimation(): any;
78
+ constructor(cdRef: ChangeDetectorRef, elmRef: ElementRef<HTMLElement>, pickerIntl: DateTimeIntl, dateTimeAdapter: DateTimeAdapter<T>);
79
+ ngOnInit(): void;
80
+ ngAfterContentInit(): void;
81
+ ngAfterViewInit(): void;
82
+ handleContainerAnimationDone(event: AnimationEvent): void;
83
+ dateSelected(date?: T): void;
84
+ timeSelected(time?: T): void;
85
+ /**
86
+ * Handle click on cancel button
87
+ */
88
+ onCancelClicked(event: Event): void;
89
+ /**
90
+ * Handle click on set button
91
+ */
92
+ onSetClicked(event: Event): void;
93
+ /**
94
+ * Handle click on inform radio group
95
+ */
96
+ handleClickOnInfoGroup(event: any, index: number): void;
97
+ /**
98
+ * Handle click on inform radio group
99
+ */
100
+ handleKeydownOnInfoGroup(event: any, next: any, index: number): void;
101
+ /**
102
+ * Set the value of activeSelectedIndex
103
+ */
104
+ private setActiveSelectedIndex;
105
+ private initPicker;
106
+ /**
107
+ * Select calendar date in single mode,
108
+ * it returns undefined when date is not selected.
109
+ */
110
+ private dateSelectedInSingleMode;
111
+ /**
112
+ * Select dates in range Mode
113
+ */
114
+ private dateSelectedInRangeMode;
115
+ /**
116
+ * Update the given calendar date's time and check if it is valid
117
+ * Because the calendar date has 00:00:00 as default time, if the picker type is 'both',
118
+ * we need to update the given calendar date's time before selecting it.
119
+ * if it is valid, return the updated dateTime
120
+ * if it is not valid, return undefined
121
+ */
122
+ private updateAndCheckCalendarDate;
123
+ /**
124
+ * Focus to the picker
125
+ */
126
+ private focusPicker;
127
+ static ɵfac: i0.ɵɵFactoryDeclaration<DateTimeContainerComponent<any>, never>;
128
+ static ɵcmp: i0.ɵɵComponentDeclaration<DateTimeContainerComponent<any>, "nxt-date-time-container", never, {}, {}, never, never, false, never>;
129
+ }
@@ -1,167 +1,167 @@
1
- import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, OnInit, Provider, Renderer2 } from '@angular/core';
2
- import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
3
- import { DateTimeAdapter } from '../class/date-time-adapter.class';
4
- import { DateTimeFormats } from '../class/date-time-format.class';
5
- import { DateFilter, SelectMode } from '../class/date-time.class';
6
- import { DateTimeComponent } from './date-time-picker/date-time-picker.component';
7
- import * as i0 from "@angular/core";
8
- /** @internal */
9
- export declare const NXT_DATETIME_VALUE_ACCESSOR: Provider;
10
- /** @internal */
11
- export declare const NXT_DATETIME_VALIDATORS: Provider;
12
- export interface DateTimeInputEvent<T> {
13
- source: DateTimeInputDirective<T>;
14
- value?: T | Array<T | undefined>;
15
- input: HTMLInputElement;
16
- }
17
- export declare class DateTimeInputDirective<T> implements OnInit, AfterContentInit, OnDestroy, ControlValueAccessor, Validator {
18
- private readonly elmRef;
19
- private readonly renderer;
20
- private readonly dateTimeAdapter;
21
- private readonly dateTimeFormats;
22
- /**
23
- * The date & time picker this input is associated with
24
- */
25
- set dateTime(value: DateTimeComponent<T>);
26
- private _dateTimeFilter?;
27
- /**
28
- * A function to filter available date & time
29
- */
30
- set dateTimeFilter(filter: DateFilter<T> | undefined);
31
- get dateTimeFilter(): DateFilter<T> | undefined;
32
- private _disabled;
33
- /** Whether the date & time picker input is disabled */
34
- get disabled(): boolean;
35
- set disabled(value: boolean);
36
- private _min?;
37
- /** The minimum valid date */
38
- get min(): T | undefined;
39
- set min(value: T | undefined);
40
- private _max?;
41
- /** The maximum valid date */
42
- get max(): T | undefined;
43
- set max(value: T | undefined);
44
- private _selectMode;
45
- /**
46
- * The picker select mode
47
- *
48
- * - `'single'` - select a single date
49
- * - `'range'` - select a range [from, to]
50
- * - `'rangeFrom'` - an open range with a fixed start date
51
- * - `'rangeTo'` - an open range with a fixed end date
52
- */
53
- get selectMode(): SelectMode;
54
- set selectMode(mode: SelectMode);
55
- /**
56
- * The character to separate the 'from' and 'to' in input value
57
- */
58
- rangeSeparator: string;
59
- private _value?;
60
- get value(): T | undefined;
61
- set value(value: T | undefined);
62
- private _values;
63
- get values(): Array<T | undefined>;
64
- set values(values: Array<T | undefined>);
65
- /**
66
- * Callback to invoke when `change` event is fired on this `<input>`
67
- */
68
- readonly dateTimeChange: EventEmitter<DateTimeInputEvent<T>>;
69
- /**
70
- * Callback to invoke when an `input` event is fired on this `<input>`.
71
- */
72
- readonly dateTimeInput: EventEmitter<DateTimeInputEvent<T>>;
73
- get elementRef(): ElementRef<HTMLInputElement>;
74
- get isInSingleMode(): boolean;
75
- get isInRangeMode(): boolean;
76
- /** The date-time-picker that this input is associated with */
77
- dtPicker?: DateTimeComponent<T>;
78
- private dtPickerSub?;
79
- private localeSub?;
80
- private lastValueValid;
81
- private onModelChange?;
82
- private onModelTouched?;
83
- private validatorOnChange?;
84
- /** The form control validator for whether the input parses */
85
- private readonly parseValidator;
86
- /** The form control validator for the min date */
87
- private readonly minValidator;
88
- /** The form control validator for the max date */
89
- private readonly maxValidator;
90
- /** The form control validator for the date filter */
91
- private readonly filterValidator;
92
- /**
93
- * The form control validator for the range.
94
- * Check whether the 'before' value is before the 'to' value
95
- */
96
- private readonly rangeValidator;
97
- /** The combined form control validator for this input */
98
- private readonly validator;
99
- /** Emits when the value changes (either due to user input or programmatic change) */
100
- readonly valueChange: EventEmitter<T | (T | undefined)[] | undefined>;
101
- /** Emits when the disabled state has changed */
102
- readonly disabledChange: EventEmitter<boolean>;
103
- /** @internal */
104
- get inputAriaHaspopup(): boolean;
105
- /** @internal */
106
- get inputAriaOwns(): string | undefined;
107
- /** @internal */
108
- get minIso8601(): string | undefined;
109
- /** @internal */
110
- get maxIso8601(): string | undefined;
111
- /** @internal */
112
- get inputDisabled(): boolean;
113
- constructor(elmRef: ElementRef<HTMLInputElement>, renderer: Renderer2, dateTimeAdapter: DateTimeAdapter<T>, dateTimeFormats: DateTimeFormats);
114
- ngOnInit(): void;
115
- ngAfterContentInit(): void;
116
- ngOnDestroy(): void;
117
- writeValue(value: any): void;
118
- registerOnChange(fn: any): void;
119
- registerOnTouched(fn: any): void;
120
- setDisabledState(isDisabled: boolean): void;
121
- validate(c: AbstractControl): ValidationErrors | null;
122
- registerOnValidatorChange(fn: () => void): void;
123
- /**
124
- * Open the picker when user hold alt + ArrowDown
125
- */
126
- handleKeydownOnHost(event: KeyboardEvent): void;
127
- handleBlurOnHost(_event: Event): void;
128
- handleInputOnHost(event: any): void;
129
- handleChangeOnHost(_event: any): void;
130
- /**
131
- * Set the native input property 'value'
132
- */
133
- formatNativeInputValue(): void;
134
- /**
135
- * Register the relationship between this input and its picker component
136
- */
137
- private registerDateTimePicker;
138
- /**
139
- * Convert a given obj to a valid date object
140
- */
141
- private getValidDate;
142
- /**
143
- * Convert a time string to a date-time string
144
- * When pickerType is 'timer', the value in the picker's input is a time string.
145
- * The dateTimeAdapter parse fn could not parse a time string to a Date Object.
146
- * Therefore we need this fn to convert a time string to a date-time string.
147
- */
148
- private convertTimeStringToDateTimeString;
149
- /**
150
- * Handle input change in single mode
151
- */
152
- private changeInputInSingleMode;
153
- /**
154
- * Handle input change in rangeFrom or rangeTo mode
155
- */
156
- private changeInputInRangeFromToMode;
157
- /**
158
- * Handle input change in range mode
159
- */
160
- private changeInputInRangeMode;
161
- /**
162
- * Check if the two value is the same
163
- */
164
- private isSameValue;
165
- static ɵfac: i0.ɵɵFactoryDeclaration<DateTimeInputDirective<any>, never>;
166
- static ɵdir: i0.ɵɵDirectiveDeclaration<DateTimeInputDirective<any>, "input[nxtDateTime]", ["nxtDateTimeInput"], { "dateTime": "nxtDateTime"; "dateTimeFilter": "dateTimeFilter"; "disabled": "disabled"; "min": "min"; "max": "max"; "selectMode": "selectMode"; "rangeSeparator": "rangeSeparator"; "value": "value"; "values": "values"; }, { "dateTimeChange": "dateTimeChange"; "dateTimeInput": "dateTimeInput"; }, never, never, false, never>;
167
- }
1
+ import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, OnInit, Provider, Renderer2 } from '@angular/core';
2
+ import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
3
+ import { DateTimeAdapter } from '../class/date-time-adapter.class';
4
+ import { DateTimeFormats } from '../class/date-time-format.class';
5
+ import { DateFilter, SelectMode } from '../class/date-time.class';
6
+ import { DateTimeComponent } from './date-time-picker/date-time-picker.component';
7
+ import * as i0 from "@angular/core";
8
+ /** @internal */
9
+ export declare const NXT_DATETIME_VALUE_ACCESSOR: Provider;
10
+ /** @internal */
11
+ export declare const NXT_DATETIME_VALIDATORS: Provider;
12
+ export interface DateTimeInputEvent<T> {
13
+ source: DateTimeInputDirective<T>;
14
+ value?: T | Array<T | undefined>;
15
+ input: HTMLInputElement;
16
+ }
17
+ export declare class DateTimeInputDirective<T> implements OnInit, AfterContentInit, OnDestroy, ControlValueAccessor, Validator {
18
+ private readonly elmRef;
19
+ private readonly renderer;
20
+ private readonly dateTimeAdapter;
21
+ private readonly dateTimeFormats;
22
+ /**
23
+ * The date & time picker this input is associated with
24
+ */
25
+ set dateTime(value: DateTimeComponent<T>);
26
+ private _dateTimeFilter?;
27
+ /**
28
+ * A function to filter available date & time
29
+ */
30
+ set dateTimeFilter(filter: DateFilter<T> | undefined);
31
+ get dateTimeFilter(): DateFilter<T> | undefined;
32
+ private _disabled;
33
+ /** Whether the date & time picker input is disabled */
34
+ get disabled(): boolean;
35
+ set disabled(value: boolean);
36
+ private _min?;
37
+ /** The minimum valid date */
38
+ get min(): T | undefined;
39
+ set min(value: T | undefined);
40
+ private _max?;
41
+ /** The maximum valid date */
42
+ get max(): T | undefined;
43
+ set max(value: T | undefined);
44
+ private _selectMode;
45
+ /**
46
+ * The picker select mode
47
+ *
48
+ * - `'single'` - select a single date
49
+ * - `'range'` - select a range [from, to]
50
+ * - `'rangeFrom'` - an open range with a fixed start date
51
+ * - `'rangeTo'` - an open range with a fixed end date
52
+ */
53
+ get selectMode(): SelectMode;
54
+ set selectMode(mode: SelectMode);
55
+ /**
56
+ * The character to separate the 'from' and 'to' in input value
57
+ */
58
+ rangeSeparator: string;
59
+ private _value?;
60
+ get value(): T | undefined;
61
+ set value(value: T | undefined);
62
+ private _values;
63
+ get values(): Array<T | undefined>;
64
+ set values(values: Array<T | undefined>);
65
+ /**
66
+ * Callback to invoke when `change` event is fired on this `<input>`
67
+ */
68
+ readonly dateTimeChange: EventEmitter<DateTimeInputEvent<T>>;
69
+ /**
70
+ * Callback to invoke when an `input` event is fired on this `<input>`.
71
+ */
72
+ readonly dateTimeInput: EventEmitter<DateTimeInputEvent<T>>;
73
+ get elementRef(): ElementRef<HTMLInputElement>;
74
+ get isInSingleMode(): boolean;
75
+ get isInRangeMode(): boolean;
76
+ /** The date-time-picker that this input is associated with */
77
+ dtPicker?: DateTimeComponent<T>;
78
+ private dtPickerSub?;
79
+ private localeSub?;
80
+ private lastValueValid;
81
+ private onModelChange?;
82
+ private onModelTouched?;
83
+ private validatorOnChange?;
84
+ /** The form control validator for whether the input parses */
85
+ private readonly parseValidator;
86
+ /** The form control validator for the min date */
87
+ private readonly minValidator;
88
+ /** The form control validator for the max date */
89
+ private readonly maxValidator;
90
+ /** The form control validator for the date filter */
91
+ private readonly filterValidator;
92
+ /**
93
+ * The form control validator for the range.
94
+ * Check whether the 'before' value is before the 'to' value
95
+ */
96
+ private readonly rangeValidator;
97
+ /** The combined form control validator for this input */
98
+ private readonly validator;
99
+ /** Emits when the value changes (either due to user input or programmatic change) */
100
+ readonly valueChange: EventEmitter<T | (T | undefined)[] | undefined>;
101
+ /** Emits when the disabled state has changed */
102
+ readonly disabledChange: EventEmitter<boolean>;
103
+ /** @internal */
104
+ get inputAriaHaspopup(): boolean;
105
+ /** @internal */
106
+ get inputAriaOwns(): string | undefined;
107
+ /** @internal */
108
+ get minIso8601(): string | undefined;
109
+ /** @internal */
110
+ get maxIso8601(): string | undefined;
111
+ /** @internal */
112
+ get inputDisabled(): boolean;
113
+ constructor(elmRef: ElementRef<HTMLInputElement>, renderer: Renderer2, dateTimeAdapter: DateTimeAdapter<T>, dateTimeFormats: DateTimeFormats);
114
+ ngOnInit(): void;
115
+ ngAfterContentInit(): void;
116
+ ngOnDestroy(): void;
117
+ writeValue(value: any): void;
118
+ registerOnChange(fn: any): void;
119
+ registerOnTouched(fn: any): void;
120
+ setDisabledState(isDisabled: boolean): void;
121
+ validate(c: AbstractControl): ValidationErrors | null;
122
+ registerOnValidatorChange(fn: () => void): void;
123
+ /**
124
+ * Open the picker when user hold alt + ArrowDown
125
+ */
126
+ handleKeydownOnHost(event: KeyboardEvent): void;
127
+ handleBlurOnHost(_event: Event): void;
128
+ handleInputOnHost(event: any): void;
129
+ handleChangeOnHost(_event: any): void;
130
+ /**
131
+ * Set the native input property 'value'
132
+ */
133
+ formatNativeInputValue(): void;
134
+ /**
135
+ * Register the relationship between this input and its picker component
136
+ */
137
+ private registerDateTimePicker;
138
+ /**
139
+ * Convert a given obj to a valid date object
140
+ */
141
+ private getValidDate;
142
+ /**
143
+ * Convert a time string to a date-time string
144
+ * When pickerType is 'timer', the value in the picker's input is a time string.
145
+ * The dateTimeAdapter parse fn could not parse a time string to a Date Object.
146
+ * Therefore we need this fn to convert a time string to a date-time string.
147
+ */
148
+ private convertTimeStringToDateTimeString;
149
+ /**
150
+ * Handle input change in single mode
151
+ */
152
+ private changeInputInSingleMode;
153
+ /**
154
+ * Handle input change in rangeFrom or rangeTo mode
155
+ */
156
+ private changeInputInRangeFromToMode;
157
+ /**
158
+ * Handle input change in range mode
159
+ */
160
+ private changeInputInRangeMode;
161
+ /**
162
+ * Check if the two value is the same
163
+ */
164
+ private isSameValue;
165
+ static ɵfac: i0.ɵɵFactoryDeclaration<DateTimeInputDirective<any>, never>;
166
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DateTimeInputDirective<any>, "input[nxtDateTime]", ["nxtDateTimeInput"], { "dateTime": { "alias": "nxtDateTime"; "required": false; }; "dateTimeFilter": { "alias": "dateTimeFilter"; "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>;
167
+ }