@skyux/datetime 8.7.2 → 9.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.
- package/documentation.json +51 -51
- package/esm2022/lib/modules/date-pipe/date-format-utility.mjs +45 -0
- package/{esm2020 → esm2022}/lib/modules/date-pipe/date-pipe.module.mjs +5 -5
- package/esm2022/lib/modules/date-pipe/date.pipe.mjs +67 -0
- package/esm2022/lib/modules/date-pipe/fuzzy-date.pipe.mjs +47 -0
- package/{esm2020 → esm2022}/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.mjs +4 -4
- package/esm2022/lib/modules/date-range-picker/date-range-picker.component.mjs +518 -0
- package/{esm2020 → esm2022}/lib/modules/date-range-picker/date-range-picker.module.mjs +19 -19
- package/esm2022/lib/modules/date-range-picker/date-range.service.mjs +97 -0
- package/esm2022/lib/modules/date-range-picker/types/date-range-calculator.mjs +54 -0
- package/esm2022/lib/modules/datepicker/date-formatter.mjs +38 -0
- package/esm2022/lib/modules/datepicker/datepicker-adapter.service.mjs +23 -0
- package/esm2022/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +332 -0
- package/esm2022/lib/modules/datepicker/datepicker-calendar.component.mjs +95 -0
- package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker-config.service.mjs +4 -4
- package/esm2022/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +487 -0
- package/esm2022/lib/modules/datepicker/datepicker-input.directive.mjs +534 -0
- package/esm2022/lib/modules/datepicker/datepicker.component.mjs +327 -0
- package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker.module.mjs +35 -35
- package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modules/datepicker/daypicker-button.component.mjs +4 -4
- package/esm2022/lib/modules/datepicker/daypicker-cell.component.mjs +128 -0
- package/esm2022/lib/modules/datepicker/daypicker.component.mjs +224 -0
- package/esm2022/lib/modules/datepicker/fuzzy-date.service.mjs +412 -0
- package/esm2022/lib/modules/datepicker/monthpicker.component.mjs +80 -0
- package/{esm2020 → esm2022}/lib/modules/datepicker/yearpicker.component.mjs +53 -54
- package/{esm2020 → esm2022}/lib/modules/shared/sky-datetime-resources.module.mjs +11 -11
- package/esm2022/lib/modules/timepicker/timepicker.component.mjs +396 -0
- package/esm2022/lib/modules/timepicker/timepicker.directive.mjs +237 -0
- package/{esm2020 → esm2022}/lib/modules/timepicker/timepicker.module.mjs +17 -17
- package/esm2022/testing/datepicker-fixture.mjs +55 -0
- package/esm2022/testing/timepicker-fixture.mjs +52 -0
- package/fesm2022/skyux-datetime-testing.mjs +112 -0
- package/{fesm2020 → fesm2022}/skyux-datetime-testing.mjs.map +1 -1
- package/fesm2022/skyux-datetime.mjs +5030 -0
- package/fesm2022/skyux-datetime.mjs.map +1 -0
- package/lib/modules/date-range-picker/date-range-picker.component.d.ts +1 -1
- package/lib/modules/datepicker/datepicker-calendar-inner.component.d.ts +1 -1
- package/lib/modules/datepicker/datepicker-calendar.component.d.ts +1 -1
- package/lib/modules/datepicker/datepicker-input-fuzzy.directive.d.ts +1 -1
- package/lib/modules/datepicker/datepicker-input.directive.d.ts +1 -1
- package/lib/modules/datepicker/datepicker.component.d.ts +1 -1
- package/lib/modules/datepicker/daypicker-button.component.d.ts +1 -1
- package/lib/modules/datepicker/daypicker-cell.component.d.ts +1 -1
- package/lib/modules/datepicker/daypicker.component.d.ts +1 -1
- package/lib/modules/timepicker/timepicker.directive.d.ts +1 -1
- package/package.json +19 -27
- package/esm2020/lib/modules/date-pipe/date-format-utility.mjs +0 -45
- package/esm2020/lib/modules/date-pipe/date.pipe.mjs +0 -70
- package/esm2020/lib/modules/date-pipe/fuzzy-date.pipe.mjs +0 -50
- package/esm2020/lib/modules/date-range-picker/date-range-picker.component.mjs +0 -494
- package/esm2020/lib/modules/date-range-picker/date-range.service.mjs +0 -100
- package/esm2020/lib/modules/date-range-picker/types/date-range-calculator.mjs +0 -53
- package/esm2020/lib/modules/datepicker/date-formatter.mjs +0 -38
- package/esm2020/lib/modules/datepicker/datepicker-adapter.service.mjs +0 -26
- package/esm2020/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +0 -333
- package/esm2020/lib/modules/datepicker/datepicker-calendar.component.mjs +0 -96
- package/esm2020/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +0 -462
- package/esm2020/lib/modules/datepicker/datepicker-input.directive.mjs +0 -496
- package/esm2020/lib/modules/datepicker/datepicker.component.mjs +0 -319
- package/esm2020/lib/modules/datepicker/daypicker-cell.component.mjs +0 -126
- package/esm2020/lib/modules/datepicker/daypicker.component.mjs +0 -216
- package/esm2020/lib/modules/datepicker/fuzzy-date.service.mjs +0 -392
- package/esm2020/lib/modules/datepicker/monthpicker.component.mjs +0 -81
- package/esm2020/lib/modules/timepicker/timepicker.component.mjs +0 -389
- package/esm2020/lib/modules/timepicker/timepicker.directive.mjs +0 -236
- package/esm2020/testing/datepicker-fixture.mjs +0 -58
- package/esm2020/testing/timepicker-fixture.mjs +0 -55
- package/fesm2015/skyux-datetime-testing.mjs +0 -117
- package/fesm2015/skyux-datetime-testing.mjs.map +0 -1
- package/fesm2015/skyux-datetime.mjs +0 -4925
- package/fesm2015/skyux-datetime.mjs.map +0 -1
- package/fesm2020/skyux-datetime-testing.mjs +0 -117
- package/fesm2020/skyux-datetime.mjs +0 -4895
- package/fesm2020/skyux-datetime.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-id.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-calculator-validate-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-default-calculator-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-default-calculator-configs.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range-relative-value.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/date-range-picker/types/date-range.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker-calendar-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker-custom-date.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/datepicker/datepicker-date.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/datepicker/fuzzy-date.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/timepicker/timepicker-time-format-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/timepicker/timepicker-time-output.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-datetime.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/skyux-datetime-testing.mjs +0 -0
@@ -1,236 +0,0 @@
|
|
1
|
-
var _SkyTimepickerInputDirective_instances, _SkyTimepickerInputDirective__timeFormat, _SkyTimepickerInputDirective_modelValue_get, _SkyTimepickerInputDirective_modelValue_set, _SkyTimepickerInputDirective_control, _SkyTimepickerInputDirective__disabled, _SkyTimepickerInputDirective__modelValue, _SkyTimepickerInputDirective__skyTimepickerInput, _SkyTimepickerInputDirective_renderer, _SkyTimepickerInputDirective_elRef, _SkyTimepickerInputDirective_resourcesService, _SkyTimepickerInputDirective_changeDetector, _SkyTimepickerInputDirective_setInputValue, _SkyTimepickerInputDirective_formatter, _SkyTimepickerInputDirective_updateTimepickerInput, _SkyTimepickerInputDirective__onChange, _SkyTimepickerInputDirective__onTouched, _SkyTimepickerInputDirective__validatorChange;
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { Directive, HostListener, Input, forwardRef, } from '@angular/core';
|
4
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
5
|
-
import moment from 'moment';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "@skyux/i18n";
|
8
|
-
const SKY_TIMEPICKER_VALUE_ACCESSOR = {
|
9
|
-
provide: NG_VALUE_ACCESSOR,
|
10
|
-
useExisting: forwardRef(() => SkyTimepickerInputDirective),
|
11
|
-
multi: true,
|
12
|
-
};
|
13
|
-
const SKY_TIMEPICKER_VALIDATOR = {
|
14
|
-
provide: NG_VALIDATORS,
|
15
|
-
useExisting: forwardRef(() => SkyTimepickerInputDirective),
|
16
|
-
multi: true,
|
17
|
-
};
|
18
|
-
export class SkyTimepickerInputDirective {
|
19
|
-
// TODO: In a future breaking change - grab the parent component through dependency injection and remove this setter.
|
20
|
-
/**
|
21
|
-
* Creates the timepicker input field and picker. Place this attribute on an `input` element,
|
22
|
-
* and wrap the input in a `sky-timepicker` component.
|
23
|
-
* This attribute must be set to the instance of the `sky-timepicker`.
|
24
|
-
* @required
|
25
|
-
*/
|
26
|
-
get skyTimepickerInput() {
|
27
|
-
return __classPrivateFieldGet(this, _SkyTimepickerInputDirective__skyTimepickerInput, "f");
|
28
|
-
}
|
29
|
-
set skyTimepickerInput(value) {
|
30
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__skyTimepickerInput, value, "f");
|
31
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_updateTimepickerInput).call(this);
|
32
|
-
}
|
33
|
-
// TODO: In a future breaking change - make this more specific than "string"
|
34
|
-
/**
|
35
|
-
* The 12-hour `hh` or 24-hour `HH` time format for the input.
|
36
|
-
* @default "hh"
|
37
|
-
*/
|
38
|
-
set timeFormat(value) {
|
39
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__timeFormat, value || 'hh', "f");
|
40
|
-
}
|
41
|
-
get timeFormat() {
|
42
|
-
return __classPrivateFieldGet(this, _SkyTimepickerInputDirective__timeFormat, "f");
|
43
|
-
}
|
44
|
-
/**
|
45
|
-
* 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.
|
46
|
-
* To set the disabled state on reactive forms, use the `FormControl` instead.
|
47
|
-
* @default false
|
48
|
-
*/
|
49
|
-
get disabled() {
|
50
|
-
return __classPrivateFieldGet(this, _SkyTimepickerInputDirective__disabled, "f");
|
51
|
-
}
|
52
|
-
set disabled(value) {
|
53
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__disabled, value || false, "f");
|
54
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_updateTimepickerInput).call(this);
|
55
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement, 'disabled', value);
|
56
|
-
}
|
57
|
-
constructor(renderer, elRef, resourcesService, changeDetector) {
|
58
|
-
_SkyTimepickerInputDirective_instances.add(this);
|
59
|
-
_SkyTimepickerInputDirective__timeFormat.set(this, 'hh');
|
60
|
-
_SkyTimepickerInputDirective_control.set(this, void 0);
|
61
|
-
_SkyTimepickerInputDirective__disabled.set(this, false);
|
62
|
-
_SkyTimepickerInputDirective__modelValue.set(this, void 0);
|
63
|
-
_SkyTimepickerInputDirective__skyTimepickerInput.set(this, void 0);
|
64
|
-
_SkyTimepickerInputDirective_renderer.set(this, void 0);
|
65
|
-
_SkyTimepickerInputDirective_elRef.set(this, void 0);
|
66
|
-
_SkyTimepickerInputDirective_resourcesService.set(this, void 0);
|
67
|
-
_SkyTimepickerInputDirective_changeDetector.set(this, void 0);
|
68
|
-
/* istanbul ignore next */
|
69
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
|
70
|
-
_SkyTimepickerInputDirective__onChange.set(this, (_) => { });
|
71
|
-
/* istanbul ignore next */
|
72
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
73
|
-
_SkyTimepickerInputDirective__onTouched.set(this, () => { });
|
74
|
-
/* istanbul ignore next */
|
75
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
76
|
-
_SkyTimepickerInputDirective__validatorChange.set(this, () => { });
|
77
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_renderer, renderer, "f");
|
78
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_elRef, elRef, "f");
|
79
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_resourcesService, resourcesService, "f");
|
80
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_changeDetector, changeDetector, "f");
|
81
|
-
}
|
82
|
-
ngOnInit() {
|
83
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_renderer, "f").addClass(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement, 'sky-form-control');
|
84
|
-
this.pickerChangedSubscription =
|
85
|
-
this.skyTimepickerInput?.selectedTimeChanged.subscribe((newTime) => {
|
86
|
-
this.writeValue(newTime);
|
87
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective__onTouched, "f").call(this);
|
88
|
-
});
|
89
|
-
/* istanbul ignore else */
|
90
|
-
if (!__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement.getAttribute('aria-label')) {
|
91
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_resourcesService, "f")
|
92
|
-
.getString('skyux_timepicker_input_default_label')
|
93
|
-
.subscribe((value) => {
|
94
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement, 'aria-label', value);
|
95
|
-
});
|
96
|
-
}
|
97
|
-
}
|
98
|
-
ngAfterContentInit() {
|
99
|
-
// Watch for the control to be added and initialize the value immediately.
|
100
|
-
/* istanbul ignore else */
|
101
|
-
if (__classPrivateFieldGet(this, _SkyTimepickerInputDirective_control, "f") && __classPrivateFieldGet(this, _SkyTimepickerInputDirective_control, "f").parent) {
|
102
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_control, "f").setValue(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "a", _SkyTimepickerInputDirective_modelValue_get), {
|
103
|
-
emitEvent: false,
|
104
|
-
});
|
105
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_changeDetector, "f").markForCheck();
|
106
|
-
}
|
107
|
-
}
|
108
|
-
ngOnDestroy() {
|
109
|
-
/* istanbul ignore else */
|
110
|
-
if (this.pickerChangedSubscription) {
|
111
|
-
this.pickerChangedSubscription.unsubscribe();
|
112
|
-
}
|
113
|
-
}
|
114
|
-
ngOnChanges() {
|
115
|
-
if (this.skyTimepickerInput) {
|
116
|
-
this.skyTimepickerInput.setFormat(this.timeFormat);
|
117
|
-
this.skyTimepickerInput.returnFormat = this.returnFormat;
|
118
|
-
}
|
119
|
-
}
|
120
|
-
onChange(event) {
|
121
|
-
this.writeValue(event.target.value);
|
122
|
-
}
|
123
|
-
/* istanbul ignore next */
|
124
|
-
onBlur() {
|
125
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective__onTouched, "f").call(this);
|
126
|
-
}
|
127
|
-
registerOnChange(fn) {
|
128
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__onChange, fn, "f");
|
129
|
-
}
|
130
|
-
registerOnTouched(fn) {
|
131
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__onTouched, fn, "f");
|
132
|
-
}
|
133
|
-
registerOnValidatorChange(fn) {
|
134
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__validatorChange, fn, "f");
|
135
|
-
}
|
136
|
-
setDisabledState(isDisabled) {
|
137
|
-
this.disabled = isDisabled;
|
138
|
-
}
|
139
|
-
writeValue(value) {
|
140
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_instances, __classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_formatter).call(this, value), "a", _SkyTimepickerInputDirective_modelValue_set);
|
141
|
-
}
|
142
|
-
validate(control) {
|
143
|
-
if (!__classPrivateFieldGet(this, _SkyTimepickerInputDirective_control, "f")) {
|
144
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_control, control, "f");
|
145
|
-
}
|
146
|
-
const value = control.value;
|
147
|
-
if (!value) {
|
148
|
-
return null;
|
149
|
-
}
|
150
|
-
/* istanbul ignore next */
|
151
|
-
if (value.local === 'Invalid date') {
|
152
|
-
return {
|
153
|
-
skyTime: {
|
154
|
-
invalid: control.value,
|
155
|
-
},
|
156
|
-
};
|
157
|
-
}
|
158
|
-
return null;
|
159
|
-
}
|
160
|
-
}
|
161
|
-
_SkyTimepickerInputDirective__timeFormat = new WeakMap(), _SkyTimepickerInputDirective_control = new WeakMap(), _SkyTimepickerInputDirective__disabled = new WeakMap(), _SkyTimepickerInputDirective__modelValue = new WeakMap(), _SkyTimepickerInputDirective__skyTimepickerInput = new WeakMap(), _SkyTimepickerInputDirective_renderer = new WeakMap(), _SkyTimepickerInputDirective_elRef = new WeakMap(), _SkyTimepickerInputDirective_resourcesService = new WeakMap(), _SkyTimepickerInputDirective_changeDetector = new WeakMap(), _SkyTimepickerInputDirective__onChange = new WeakMap(), _SkyTimepickerInputDirective__onTouched = new WeakMap(), _SkyTimepickerInputDirective__validatorChange = new WeakMap(), _SkyTimepickerInputDirective_instances = new WeakSet(), _SkyTimepickerInputDirective_modelValue_get = function _SkyTimepickerInputDirective_modelValue_get() {
|
162
|
-
return __classPrivateFieldGet(this, _SkyTimepickerInputDirective__modelValue, "f");
|
163
|
-
}, _SkyTimepickerInputDirective_modelValue_set = function _SkyTimepickerInputDirective_modelValue_set(value) {
|
164
|
-
if (value !== __classPrivateFieldGet(this, _SkyTimepickerInputDirective__modelValue, "f")) {
|
165
|
-
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__modelValue, value, "f");
|
166
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_updateTimepickerInput).call(this);
|
167
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_setInputValue).call(this, value);
|
168
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective__validatorChange, "f").call(this);
|
169
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective__onChange, "f").call(this, value);
|
170
|
-
}
|
171
|
-
}, _SkyTimepickerInputDirective_setInputValue = function _SkyTimepickerInputDirective_setInputValue(value) {
|
172
|
-
let formattedValue = '';
|
173
|
-
if (value) {
|
174
|
-
const output = moment(value).format(value.customFormat);
|
175
|
-
/* istanbul ignore else */
|
176
|
-
if (output !== 'Invalid date') {
|
177
|
-
formattedValue = output;
|
178
|
-
}
|
179
|
-
}
|
180
|
-
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement, 'value', formattedValue);
|
181
|
-
}, _SkyTimepickerInputDirective_formatter = function _SkyTimepickerInputDirective_formatter(time) {
|
182
|
-
if (time && typeof time !== 'string' && 'local' in time) {
|
183
|
-
return time;
|
184
|
-
}
|
185
|
-
if (typeof time === 'string') {
|
186
|
-
if (time.length === 0) {
|
187
|
-
return '';
|
188
|
-
}
|
189
|
-
const currentFormat = this.timeFormat === 'HH' ? 'H:mm' : 'h:mm A';
|
190
|
-
if (typeof this.returnFormat === 'undefined') {
|
191
|
-
this.returnFormat = currentFormat;
|
192
|
-
}
|
193
|
-
const formatTime = {
|
194
|
-
hour: moment(time, currentFormat).hour(),
|
195
|
-
minute: moment(time, currentFormat).minute(),
|
196
|
-
meridie: moment(time, currentFormat).format('A'),
|
197
|
-
timezone: parseInt(moment(time, currentFormat).format('Z'), 10),
|
198
|
-
iso8601: moment(time, currentFormat).toDate(),
|
199
|
-
local: moment(time, currentFormat).format(currentFormat),
|
200
|
-
customFormat: this.returnFormat,
|
201
|
-
};
|
202
|
-
return formatTime;
|
203
|
-
}
|
204
|
-
}, _SkyTimepickerInputDirective_updateTimepickerInput = function _SkyTimepickerInputDirective_updateTimepickerInput() {
|
205
|
-
if (this.skyTimepickerInput) {
|
206
|
-
this.skyTimepickerInput.disabled = this.disabled;
|
207
|
-
/* istanbul ignore else */
|
208
|
-
if (this.skyTimepickerInput.selectedTime !== __classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "a", _SkyTimepickerInputDirective_modelValue_get)) {
|
209
|
-
this.skyTimepickerInput.selectedTime = __classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "a", _SkyTimepickerInputDirective_modelValue_get);
|
210
|
-
}
|
211
|
-
}
|
212
|
-
};
|
213
|
-
SkyTimepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTimepickerInputDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.SkyLibResourcesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
214
|
-
SkyTimepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: SkyTimepickerInputDirective, selector: "[skyTimepickerInput]", inputs: { skyTimepickerInput: "skyTimepickerInput", timeFormat: "timeFormat", returnFormat: "returnFormat", disabled: "disabled" }, host: { listeners: { "change": "onChange($event)", "blur": "onBlur()" } }, providers: [SKY_TIMEPICKER_VALUE_ACCESSOR, SKY_TIMEPICKER_VALIDATOR], usesOnChanges: true, ngImport: i0 });
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyTimepickerInputDirective, decorators: [{
|
216
|
-
type: Directive,
|
217
|
-
args: [{
|
218
|
-
selector: '[skyTimepickerInput]',
|
219
|
-
providers: [SKY_TIMEPICKER_VALUE_ACCESSOR, SKY_TIMEPICKER_VALIDATOR],
|
220
|
-
}]
|
221
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.SkyLibResourcesService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { skyTimepickerInput: [{
|
222
|
-
type: Input
|
223
|
-
}], timeFormat: [{
|
224
|
-
type: Input
|
225
|
-
}], returnFormat: [{
|
226
|
-
type: Input
|
227
|
-
}], disabled: [{
|
228
|
-
type: Input
|
229
|
-
}], onChange: [{
|
230
|
-
type: HostListener,
|
231
|
-
args: ['change', ['$event']]
|
232
|
-
}], onBlur: [{
|
233
|
-
type: HostListener,
|
234
|
-
args: ['blur']
|
235
|
-
}] } });
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL3RpbWVwaWNrZXIvdGltZXBpY2tlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBS0wsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7QUFPNUIsTUFBTSw2QkFBNkIsR0FBRztJQUNwQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7SUFDMUQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSx3QkFBd0IsR0FBRztJQUMvQixPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQU1GLE1BQU0sT0FBTywyQkFBMkI7SUFZdEMscUhBQXFIO0lBQ3JIOzs7OztPQUtHO0lBQ0gsSUFDVyxrQkFBa0I7UUFDM0IsT0FBTyx1QkFBQSxJQUFJLHdEQUFxQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLGtCQUFrQixDQUFDLEtBQXlDO1FBQ3JFLHVCQUFBLElBQUksb0RBQXdCLEtBQUssTUFBQSxDQUFDO1FBQ2xDLHVCQUFBLElBQUksa0dBQXVCLE1BQTNCLElBQUksQ0FBeUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsNEVBQTRFO0lBQzVFOzs7T0FHRztJQUNILElBQ1csVUFBVSxDQUFDLEtB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QUFFO1lBQzdDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDeEQsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUM7UUFDRixPQUFPLFVBQVUsQ0FBQztLQUNuQjtBQUNILENBQUM7SUFHQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFakQsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksS0FBSyx1QkFBQSxJQUFJLDJGQUFZLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksR0FBRyx1QkFBQSxJQUFJLDJGQUFZLENBQUM7U0FDekQ7S0FDRjtBQUNILENBQUM7d0hBbFFVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDhQQUYzQixDQUFDLDZCQUE2QixFQUFFLHdCQUF3QixDQUFDOzJGQUV6RCwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsd0JBQXdCLENBQUM7aUJBQ3JFOzhMQXFCWSxrQkFBa0I7c0JBRDVCLEtBQUs7Z0JBZ0JLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBY0MsWUFBWTtzQkFEbEIsS0FBSztnQkFTSyxRQUFRO3NCQURsQixLQUFLO2dCQW9HQyxRQUFRO3NCQURkLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU8zQixNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5VGltZXBpY2tlclRpbWVGb3JtYXRUeXBlIH0gZnJvbSAnLi90aW1lcGlja2VyLXRpbWUtZm9ybWF0LXR5cGUnO1xuaW1wb3J0IHsgU2t5VGltZXBpY2tlclRpbWVPdXRwdXQgfSBmcm9tICcuL3RpbWVwaWNrZXItdGltZS1vdXRwdXQnO1xuaW1wb3J0IHsgU2t5VGltZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vdGltZXBpY2tlci5jb21wb25lbnQnO1xuXG5jb25zdCBTS1lfVElNRVBJQ0tFUl9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreVRpbWVwaWNrZXJJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuY29uc3QgU0tZX1RJTUVQSUNLRVJfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lUaW1lcGlja2VySW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lUaW1lcGlja2VySW5wdXRdJyxcbiAgcHJvdmlkZXJzOiBbU0tZX1RJTUVQSUNLRVJfVkFMVUVfQUNDRVNTT1IsIFNLWV9USU1FUElDS0VSX1ZBTElEQVRPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbWVwaWNrZXJJbnB1dERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBWYWxpZGF0b3IsXG4gICAgT25DaGFuZ2VzLFxuICAgIEFmdGVyQ29udGVudEluaXRcbntcbiAgcHVibGljIHBpY2tlckNoYW5nZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgI190aW1lRm9ybWF0OiBTa3lUaW1lcGlja2VyVGltZUZvcm1hdFR5cGUgPSAnaGgnO1xuXG4gIC8vIFRPRE86IEluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSAtIGdyYWIgdGhlIHBhcmVudCBjb21wb25lbnQgdGhyb3VnaCBkZXBlbmRlbmN5IGluamVjdGlvbiBhbmQgcmVtb3ZlIHRoaXMgc2V0dGVyLlxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgdGltZXBpY2tlciBpbnB1dCBmaWVsZCBhbmQgcGlja2VyLiBQbGFjZSB0aGlzIGF0dHJpYnV0ZSBvbiBhbiBgaW5wdXRgIGVsZW1lbnQsXG4gICAqIGFuZCB3cmFwIHRoZSBpbnB1dCBpbiBhIGBza3ktdGltZXBpY2tlcmAgY29tcG9uZW50LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBtdXN0IGJlIHNldCB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIGBza3ktdGltZXBpY2tlcmAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBza3lUaW1lcGlja2VySW5wdXQoKTogU2t5VGltZXBpY2tlckNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19za3lUaW1lcGlja2VySW5wdXQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNreVRpbWVwaWNrZXJJbnB1dCh2YWx1ZTogU2t5VGltZXBpY2tlckNvbXBvbmVudCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19za3lUaW1lcGlja2VySW5wdXQgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVUaW1lcGlja2VySW5wdXQoKTtcbiAgfVxuXG4gIC8vIFRPRE86IEluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSAtIG1ha2UgdGhpcyBtb3JlIHNwZWNpZmljIHRoYW4gXCJzdHJpbmdcIlxuICAvKipcbiAgICogVGhlIDEyLWhvdXIgYGhoYCBvciAyNC1ob3VyIGBISGAgdGltZSBmb3JtYXQgZm9yIHRoZSBpbnB1dC5cbiAgICogQGRlZmF1bHQgXCJoaFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRpbWVGb3JtYXQodmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lRm9ybWF0VHlwZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190aW1lRm9ybWF0ID0gdmFsdWUgfHwgJ2hoJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGltZUZvcm1hdCgpOiBTa3lUaW1lcGlja2VyVGltZUZvcm1hdFR5cGUge1xuICAgIHJldHVybiB0aGlzLiNfdGltZUZvcm1hdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIHRpbWUgZm9ybWF0LiBGb3IgZXhhbXBsZXMsXG4gICAqIHNlZSB0aGUgW21vbWVudC5qc10oaHR0cHM6Ly9tb21lbnRqcy5jb20vZG9jcy8jL2Rpc3BsYXlpbmcvZm9ybWF0LykgZG9jcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXR1cm5Gb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSB0aW1lcGlja2VyIG9uIHRlbXBsYXRlLWRyaXZlbiBmb3Jtcy4gRG9uJ3QgdXNlIHRoaXMgaW5wdXQgb24gcmVhY3RpdmUgZm9ybXMgYmVjYXVzZSB0aGV5IG1heSBvdmVyd3JpdGUgdGhlIGlucHV0IG9yIGxlYXZlIHRoZSBjb250cm9sIG91dCBvZiBzeW5jLlxuICAgKiBUbyBzZXQgdGhlIGRpc2FibGVkIHN0YXRlIG9uIHJlYWN0aXZlIGZvcm1zLCB1c2UgdGhlIGBGb3JtQ29udHJvbGAgaW5zdGVhZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZSB8fCBmYWxzZTtcblxuICAgIHRoaXMuI3VwZGF0ZVRpbWVwaWNrZXJJbnB1dCgpO1xuXG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgdmFsdWUpO1xuICB9XG5cbiAgZ2V0ICNtb2RlbFZhbHVlKCk6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX21vZGVsVmFsdWU7XG4gIH1cblxuICBzZXQgI21vZGVsVmFsdWUodmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLiNfbW9kZWxWYWx1ZSkge1xuICAgICAgdGhpcy4jX21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI3VwZGF0ZVRpbWVwaWNrZXJJbnB1dCgpO1xuICAgICAgdGhpcy4jc2V0SW5wdXRWYWx1ZSh2YWx1ZSk7XG4gICAgICB0aGlzLiNfdmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgICB0aGlzLiNfb25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gICNjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQ7XG5cbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuICAjX21vZGVsVmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IHwgdW5kZWZpbmVkO1xuICAjX3NreVRpbWVwaWNrZXJJbnB1dDogU2t5VGltZXBpY2tlckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgI2VsUmVmOiBFbGVtZW50UmVmO1xuICAjcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHJlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlID0gcmVzb3VyY2VzU2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuI2VsUmVmLm5hdGl2ZUVsZW1lbnQsICdza3ktZm9ybS1jb250cm9sJyk7XG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0Py5zZWxlY3RlZFRpbWVDaGFuZ2VkLnN1YnNjcmliZShcbiAgICAgICAgKG5ld1RpbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZShuZXdUaW1lKTtcbiAgICAgICAgICB0aGlzLiNfb25Ub3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSkge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZVxuICAgICAgICAuZ2V0U3RyaW5nKCdza3l1eF90aW1lcGlja2VyX2lucHV0X2RlZmF1bHRfbGFiZWwnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdhcmlhLWxhYmVsJyxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBXYXRjaCBmb3IgdGhlIGNvbnRyb2wgdG8gYmUgYWRkZWQgYW5kIGluaXRpYWxpemUgdGhlIHZhbHVlIGltbWVkaWF0ZWx5LlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbnRyb2wgJiYgdGhpcy4jY29udHJvbC5wYXJlbnQpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wuc2V0VmFsdWUodGhpcy4jbW9kZWxWYWx1ZSwge1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5waWNrZXJDaGFuZ2VkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnBpY2tlckNoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuc2t5VGltZXBpY2tlcklucHV0KSB7XG4gICAgICB0aGlzLnNreVRpbWVwaWNrZXJJbnB1dC5zZXRGb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnJldHVybkZvcm1hdCA9IHRoaXMucmV0dXJuRm9ybWF0O1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgcHVibGljIG9uQmx1cigpIHtcbiAgICB0aGlzLiNfb25Ub3VjaGVkKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI19vbkNoYW5nZSA9IGZuO1xuICB9XG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy4jX29uVG91Y2hlZCA9IGZuO1xuICB9XG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jX3ZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuI21vZGVsVmFsdWUgPSB0aGlzLiNmb3JtYXR0ZXIodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuI2NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICh2YWx1ZS5sb2NhbCA9PT0gJ0ludmFsaWQgZGF0ZScpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNreVRpbWU6IHtcbiAgICAgICAgICBpbnZhbGlkOiBjb250cm9sLnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gICNzZXRJbnB1dFZhbHVlKHZhbHVlOiBTa3lUaW1lcGlja2VyVGltZU91dHB1dCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGxldCBmb3JtYXR0ZWRWYWx1ZSA9ICcnO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gbW9tZW50KHZhbHVlKS5mb3JtYXQodmFsdWUuY3VzdG9tRm9ybWF0KTtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAob3V0cHV0ICE9PSAnSW52YWxpZCBkYXRlJykge1xuICAgICAgICBmb3JtYXR0ZWRWYWx1ZSA9IG91dHB1dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNyZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgIHRoaXMuI2VsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAndmFsdWUnLFxuICAgICAgZm9ybWF0dGVkVmFsdWVcbiAgICApO1xuICB9XG5cbiAgI2Zvcm1hdHRlcih0aW1lOiBhbnkpIHtcbiAgICBpZiAodGltZSAmJiB0eXBlb2YgdGltZSAhPT0gJ3N0cmluZycgJiYgJ2xvY2FsJyBpbiB0aW1lKSB7XG4gICAgICByZXR1cm4gdGltZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aW1lID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHRpbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGN1cnJlbnRGb3JtYXQgPSB0aGlzLnRpbWVGb3JtYXQgPT09ICdISCcgPyAnSDptbScgOiAnaDptbSBBJztcblxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnJldHVybkZvcm1hdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhpcy5yZXR1cm5Gb3JtYXQgPSBjdXJyZW50Rm9ybWF0O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtYXRUaW1lOiBTa3lUaW1lcGlja2VyVGltZU91dHB1dCA9IHtcbiAgICAgICAgaG91cjogbW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLmhvdXIoKSxcbiAgICAgICAgbWludXRlOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkubWludXRlKCksXG4gICAgICAgIG1lcmlkaWU6IG1vbWVudCh0aW1lLCBjdXJyZW50Rm9ybWF0KS5mb3JtYXQoJ0EnKSxcbiAgICAgICAgdGltZXpvbmU6IHBhcnNlSW50KG1vbWVudCh0aW1lLCBjdXJyZW50Rm9ybWF0KS5mb3JtYXQoJ1onKSwgMTApLFxuICAgICAgICBpc284NjAxOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkudG9EYXRlKCksXG4gICAgICAgIGxvY2FsOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkuZm9ybWF0KGN1cnJlbnRGb3JtYXQpLFxuICAgICAgICBjdXN0b21Gb3JtYXQ6IHRoaXMucmV0dXJuRm9ybWF0LFxuICAgICAgfTtcbiAgICAgIHJldHVybiBmb3JtYXRUaW1lO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVUaW1lcGlja2VySW5wdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2t5VGltZXBpY2tlcklucHV0KSB7XG4gICAgICB0aGlzLnNreVRpbWVwaWNrZXJJbnB1dC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy5za3lUaW1lcGlja2VySW5wdXQuc2VsZWN0ZWRUaW1lICE9PSB0aGlzLiNtb2RlbFZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnNlbGVjdGVkVGltZSA9IHRoaXMuI21vZGVsVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICNfb25DaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7fTtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjX29uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNfdmFsaWRhdG9yQ2hhbmdlID0gKCk6IHZvaWQgPT4ge307XG59XG4iXX0=
|
@@ -1,58 +0,0 @@
|
|
1
|
-
var _SkyDatepickerFixture_instances, _SkyDatepickerFixture_debugEl, _SkyDatepickerFixture_getDatepickerInputEl;
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { By } from '@angular/platform-browser';
|
4
|
-
import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
5
|
-
/**
|
6
|
-
* Allows interaction with a SKY UX datepicker component.
|
7
|
-
* @internal
|
8
|
-
*/
|
9
|
-
export class SkyDatepickerFixture {
|
10
|
-
constructor(fixture, skyTestId) {
|
11
|
-
_SkyDatepickerFixture_instances.add(this);
|
12
|
-
_SkyDatepickerFixture_debugEl.set(this, void 0);
|
13
|
-
__classPrivateFieldSet(this, _SkyDatepickerFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-datepicker'), "f");
|
14
|
-
}
|
15
|
-
/**
|
16
|
-
* The datepicker's currently selected date.
|
17
|
-
*/
|
18
|
-
get date() {
|
19
|
-
return __classPrivateFieldGet(this, _SkyDatepickerFixture_instances, "m", _SkyDatepickerFixture_getDatepickerInputEl).call(this).nativeElement.value;
|
20
|
-
}
|
21
|
-
/**
|
22
|
-
* Flag indicating if datepicker input is disabled.
|
23
|
-
*/
|
24
|
-
get disabled() {
|
25
|
-
return __classPrivateFieldGet(this, _SkyDatepickerFixture_instances, "m", _SkyDatepickerFixture_getDatepickerInputEl).call(this).nativeElement.disabled;
|
26
|
-
}
|
27
|
-
/**
|
28
|
-
* The datepicker's calendar element.
|
29
|
-
*/
|
30
|
-
get calendarEl() {
|
31
|
-
const button = __classPrivateFieldGet(this, _SkyDatepickerFixture_debugEl, "f").query(By.css('.sky-datepicker .sky-input-group-datepicker-btn')).nativeElement;
|
32
|
-
const calendarId = button.getAttribute('aria-controls');
|
33
|
-
if (!calendarId) {
|
34
|
-
return null;
|
35
|
-
}
|
36
|
-
return document.getElementById(calendarId);
|
37
|
-
}
|
38
|
-
/**
|
39
|
-
* Click the calendar button to open or close calendar.
|
40
|
-
*/
|
41
|
-
clickDatepickerCalenderButtonEl() {
|
42
|
-
__classPrivateFieldGet(this, _SkyDatepickerFixture_debugEl, "f")
|
43
|
-
.query(By.css('.sky-datepicker .sky-input-group-datepicker-btn'))
|
44
|
-
.nativeElement.click();
|
45
|
-
}
|
46
|
-
clickDayEl(dayIndex) {
|
47
|
-
const dayEls = this.calendarEl.querySelectorAll('.sky-datepicker-btn-date');
|
48
|
-
const dayEl = dayEls[dayIndex];
|
49
|
-
if (!dayEl) {
|
50
|
-
throw new Error(`No day exists at index ${dayIndex}.`);
|
51
|
-
}
|
52
|
-
dayEl.click();
|
53
|
-
}
|
54
|
-
}
|
55
|
-
_SkyDatepickerFixture_debugEl = new WeakMap(), _SkyDatepickerFixture_instances = new WeakSet(), _SkyDatepickerFixture_getDatepickerInputEl = function _SkyDatepickerFixture_getDatepickerInputEl() {
|
56
|
-
return __classPrivateFieldGet(this, _SkyDatepickerFixture_debugEl, "f").query(By.css('.sky-datepicker input'));
|
57
|
-
};
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3Rlc3Rpbmcvc3JjL2RhdGVwaWNrZXItZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQVksT0FBOEIsRUFBRSxTQUFpQjs7UUFGN0QsZ0RBQXVCO1FBR3JCLHVCQUFBLElBQUksaUNBQVksaUJBQWlCLENBQUMsdUJBQXVCLENBQ3ZELE9BQU8sRUFDUCxTQUFTLEVBQ1QsZ0JBQWdCLENBQ2pCLE1BQUEsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsSUFBSTtRQUNiLE9BQU8sdUJBQUEsSUFBSSxtRkFBc0IsTUFBMUIsSUFBSSxDQUF3QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sdUJBQUEsSUFBSSxtRkFBc0IsTUFBMUIsSUFBSSxDQUF3QixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLE1BQU0sTUFBTSxHQUFHLHVCQUFBLElBQUkscUNBQVMsQ0FBQyxLQUFLLENBQ2hDLEVBQUUsQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsQ0FDMUQsQ0FBQyxhQUFhLENBQUM7UUFFaEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSwrQkFBK0I7UUFDcEMsdUJBQUEsSUFBSSxxQ0FBUzthQUNWLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7YUFDaEUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxVQUFVLENBQUMsUUFBZ0I7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRTVFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUN4RDtRQUVELEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBS0Y7O0lBRkcsT0FBTyx1QkFBQSxJQUFJLHFDQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBkYXRlcGlja2VyIGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXBpY2tlckZpeHR1cmUge1xuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1kYXRlcGlja2VyJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRhdGVwaWNrZXIncyBjdXJyZW50bHkgc2VsZWN0ZWQgZGF0ZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNnZXREYXRlcGlja2VySW5wdXRFbCgpLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIGlmIGRhdGVwaWNrZXIgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNnZXREYXRlcGlja2VySW5wdXRFbCgpLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRhdGVwaWNrZXIncyBjYWxlbmRhciBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGdldCBjYWxlbmRhckVsKCk6IGFueSB7XG4gICAgY29uc3QgYnV0dG9uID0gdGhpcy4jZGVidWdFbC5xdWVyeShcbiAgICAgIEJ5LmNzcygnLnNreS1kYXRlcGlja2VyIC5za3ktaW5wdXQtZ3JvdXAtZGF0ZXBpY2tlci1idG4nKVxuICAgICkubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IGNhbGVuZGFySWQgPSBidXR0b24uZ2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gICAgaWYgKCFjYWxlbmRhcklkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY2FsZW5kYXJJZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sgdGhlIGNhbGVuZGFyIGJ1dHRvbiB0byBvcGVuIG9yIGNsb3NlIGNhbGVuZGFyLlxuICAgKi9cbiAgcHVibGljIGNsaWNrRGF0ZXBpY2tlckNhbGVuZGVyQnV0dG9uRWwoKTogdm9pZCB7XG4gICAgdGhpcy4jZGVidWdFbFxuICAgICAgLnF1ZXJ5KEJ5LmNzcygnLnNreS1kYXRlcGlja2VyIC5za3ktaW5wdXQtZ3JvdXAtZGF0ZXBpY2tlci1idG4nKSlcbiAgICAgIC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgY2xpY2tEYXlFbChkYXlJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZGF5RWxzID0gdGhpcy5jYWxlbmRhckVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5za3ktZGF0ZXBpY2tlci1idG4tZGF0ZScpO1xuXG4gICAgY29uc3QgZGF5RWwgPSBkYXlFbHNbZGF5SW5kZXhdO1xuXG4gICAgaWYgKCFkYXlFbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBkYXkgZXhpc3RzIGF0IGluZGV4ICR7ZGF5SW5kZXh9LmApO1xuICAgIH1cblxuICAgIGRheUVsLmNsaWNrKCk7XG4gIH1cblxuICAjZ2V0RGF0ZXBpY2tlcklucHV0RWwoKTogRGVidWdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktZGF0ZXBpY2tlciBpbnB1dCcpKTtcbiAgfVxufVxuIl19
|
@@ -1,55 +0,0 @@
|
|
1
|
-
var _SkyTimepickerFixture_instances, _SkyTimepickerFixture_debugEl, _SkyTimepickerFixture_fixture, _SkyTimepickerFixture_getTimepickerInputEl;
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { By } from '@angular/platform-browser';
|
4
|
-
import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
5
|
-
/**
|
6
|
-
* Allows interaction with a SKY UX timepicker component.
|
7
|
-
* @internal
|
8
|
-
*/
|
9
|
-
export class SkyTimepickerFixture {
|
10
|
-
constructor(fixture, skyTestId) {
|
11
|
-
_SkyTimepickerFixture_instances.add(this);
|
12
|
-
_SkyTimepickerFixture_debugEl.set(this, void 0);
|
13
|
-
_SkyTimepickerFixture_fixture.set(this, void 0);
|
14
|
-
__classPrivateFieldSet(this, _SkyTimepickerFixture_fixture, fixture, "f");
|
15
|
-
__classPrivateFieldSet(this, _SkyTimepickerFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-timepicker'), "f");
|
16
|
-
}
|
17
|
-
/**
|
18
|
-
* The timepicker's currently selected time.
|
19
|
-
*/
|
20
|
-
get value() {
|
21
|
-
return __classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement.value;
|
22
|
-
}
|
23
|
-
/**
|
24
|
-
* Set the timepicker's selected time.
|
25
|
-
*/
|
26
|
-
set value(value) {
|
27
|
-
const timepickerInputEl = __classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement;
|
28
|
-
timepickerInputEl.value = value;
|
29
|
-
__classPrivateFieldGet(this, _SkyTimepickerFixture_fixture, "f").detectChanges();
|
30
|
-
SkyAppTestUtility.fireDomEvent(timepickerInputEl, 'change');
|
31
|
-
__classPrivateFieldGet(this, _SkyTimepickerFixture_fixture, "f").detectChanges();
|
32
|
-
}
|
33
|
-
/**
|
34
|
-
* Flag indicating if timepicker input is disabled.
|
35
|
-
*/
|
36
|
-
get isDisabled() {
|
37
|
-
return __classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement.disabled;
|
38
|
-
}
|
39
|
-
/**
|
40
|
-
* Set the timepicker's disabled value
|
41
|
-
*/
|
42
|
-
set isDisabled(value) {
|
43
|
-
__classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement.disabled = value;
|
44
|
-
}
|
45
|
-
/**
|
46
|
-
* Flag indicating if timepicker input is valid.
|
47
|
-
*/
|
48
|
-
get isValid() {
|
49
|
-
return !__classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement.classList.contains('ng-invalid');
|
50
|
-
}
|
51
|
-
}
|
52
|
-
_SkyTimepickerFixture_debugEl = new WeakMap(), _SkyTimepickerFixture_fixture = new WeakMap(), _SkyTimepickerFixture_instances = new WeakSet(), _SkyTimepickerFixture_getTimepickerInputEl = function _SkyTimepickerFixture_getTimepickerInputEl() {
|
53
|
-
return __classPrivateFieldGet(this, _SkyTimepickerFixture_debugEl, "f").query(By.css('.sky-timepicker input'));
|
54
|
-
};
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3Rlc3Rpbmcvc3JjL3RpbWVwaWNrZXItZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBSS9CLFlBQVksT0FBOEIsRUFBRSxTQUFpQjs7UUFIN0QsZ0RBQXVCO1FBQ3ZCLGdEQUFnQztRQUc5Qix1QkFBQSxJQUFJLGlDQUFZLE9BQU8sTUFBQSxDQUFDO1FBQ3hCLHVCQUFBLElBQUksaUNBQVksaUJBQWlCLENBQUMsdUJBQXVCLENBQ3ZELE9BQU8sRUFDUCxTQUFTLEVBQ1QsZ0JBQWdCLENBQ2pCLE1BQUEsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsS0FBSztRQUNkLE9BQU8sdUJBQUEsSUFBSSxtRkFBc0IsTUFBMUIsSUFBSSxDQUF3QixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLLENBQUMsS0FBYTtRQUM1QixNQUFNLGlCQUFpQixHQUFHLHVCQUFBLElBQUksbUZBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQyxhQUFhLENBQUM7UUFDckUsaUJBQWlCLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNoQyx1QkFBQSxJQUFJLHFDQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFOUIsaUJBQWlCLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVELHVCQUFBLElBQUkscUNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyx1QkFBQSxJQUFJLG1GQUFzQixNQUExQixJQUFJLENBQXdCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFVBQVUsQ0FBQyxLQUFjO1FBQ2xDLHVCQUFBLElBQUksbUZBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDaEIsT0FBTyxDQUFDLHVCQUFBLElBQUksbUZBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDbkUsWUFBWSxDQUNiLENBQUM7SUFDSixDQUFDO0NBS0Y7O0lBRkcsT0FBTyx1QkFBQSxJQUFJLHFDQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCB0aW1lcGlja2VyIGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5VGltZXBpY2tlckZpeHR1cmUge1xuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuICAjZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNmaXh0dXJlID0gZml4dHVyZTtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS10aW1lcGlja2VyJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRpbWVwaWNrZXIncyBjdXJyZW50bHkgc2VsZWN0ZWQgdGltZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jZ2V0VGltZXBpY2tlcklucHV0RWwoKS5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdGltZXBpY2tlcidzIHNlbGVjdGVkIHRpbWUuXG4gICAqL1xuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0aW1lcGlja2VySW5wdXRFbCA9IHRoaXMuI2dldFRpbWVwaWNrZXJJbnB1dEVsKCkubmF0aXZlRWxlbWVudDtcbiAgICB0aW1lcGlja2VySW5wdXRFbC52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgU2t5QXBwVGVzdFV0aWxpdHkuZmlyZURvbUV2ZW50KHRpbWVwaWNrZXJJbnB1dEVsLCAnY2hhbmdlJyk7XG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIGlmIHRpbWVwaWNrZXIgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2dldFRpbWVwaWNrZXJJbnB1dEVsKCkubmF0aXZlRWxlbWVudC5kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWVwaWNrZXIncyBkaXNhYmxlZCB2YWx1ZVxuICAgKi9cbiAgcHVibGljIHNldCBpc0Rpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jZ2V0VGltZXBpY2tlcklucHV0RWwoKS5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIGlmIHRpbWVwaWNrZXIgaW5wdXQgaXMgdmFsaWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLiNnZXRUaW1lcGlja2VySW5wdXRFbCgpLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFxuICAgICAgJ25nLWludmFsaWQnXG4gICAgKTtcbiAgfVxuXG4gICNnZXRUaW1lcGlja2VySW5wdXRFbCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS10aW1lcGlja2VyIGlucHV0JykpO1xuICB9XG59XG4iXX0=
|
@@ -1,117 +0,0 @@
|
|
1
|
-
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
2
|
-
import { By } from '@angular/platform-browser';
|
3
|
-
import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
4
|
-
|
5
|
-
var _SkyDatepickerFixture_instances, _SkyDatepickerFixture_debugEl, _SkyDatepickerFixture_getDatepickerInputEl;
|
6
|
-
/**
|
7
|
-
* Allows interaction with a SKY UX datepicker component.
|
8
|
-
* @internal
|
9
|
-
*/
|
10
|
-
class SkyDatepickerFixture {
|
11
|
-
constructor(fixture, skyTestId) {
|
12
|
-
_SkyDatepickerFixture_instances.add(this);
|
13
|
-
_SkyDatepickerFixture_debugEl.set(this, void 0);
|
14
|
-
__classPrivateFieldSet(this, _SkyDatepickerFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-datepicker'), "f");
|
15
|
-
}
|
16
|
-
/**
|
17
|
-
* The datepicker's currently selected date.
|
18
|
-
*/
|
19
|
-
get date() {
|
20
|
-
return __classPrivateFieldGet(this, _SkyDatepickerFixture_instances, "m", _SkyDatepickerFixture_getDatepickerInputEl).call(this).nativeElement.value;
|
21
|
-
}
|
22
|
-
/**
|
23
|
-
* Flag indicating if datepicker input is disabled.
|
24
|
-
*/
|
25
|
-
get disabled() {
|
26
|
-
return __classPrivateFieldGet(this, _SkyDatepickerFixture_instances, "m", _SkyDatepickerFixture_getDatepickerInputEl).call(this).nativeElement.disabled;
|
27
|
-
}
|
28
|
-
/**
|
29
|
-
* The datepicker's calendar element.
|
30
|
-
*/
|
31
|
-
get calendarEl() {
|
32
|
-
const button = __classPrivateFieldGet(this, _SkyDatepickerFixture_debugEl, "f").query(By.css('.sky-datepicker .sky-input-group-datepicker-btn')).nativeElement;
|
33
|
-
const calendarId = button.getAttribute('aria-controls');
|
34
|
-
if (!calendarId) {
|
35
|
-
return null;
|
36
|
-
}
|
37
|
-
return document.getElementById(calendarId);
|
38
|
-
}
|
39
|
-
/**
|
40
|
-
* Click the calendar button to open or close calendar.
|
41
|
-
*/
|
42
|
-
clickDatepickerCalenderButtonEl() {
|
43
|
-
__classPrivateFieldGet(this, _SkyDatepickerFixture_debugEl, "f")
|
44
|
-
.query(By.css('.sky-datepicker .sky-input-group-datepicker-btn'))
|
45
|
-
.nativeElement.click();
|
46
|
-
}
|
47
|
-
clickDayEl(dayIndex) {
|
48
|
-
const dayEls = this.calendarEl.querySelectorAll('.sky-datepicker-btn-date');
|
49
|
-
const dayEl = dayEls[dayIndex];
|
50
|
-
if (!dayEl) {
|
51
|
-
throw new Error(`No day exists at index ${dayIndex}.`);
|
52
|
-
}
|
53
|
-
dayEl.click();
|
54
|
-
}
|
55
|
-
}
|
56
|
-
_SkyDatepickerFixture_debugEl = new WeakMap(), _SkyDatepickerFixture_instances = new WeakSet(), _SkyDatepickerFixture_getDatepickerInputEl = function _SkyDatepickerFixture_getDatepickerInputEl() {
|
57
|
-
return __classPrivateFieldGet(this, _SkyDatepickerFixture_debugEl, "f").query(By.css('.sky-datepicker input'));
|
58
|
-
};
|
59
|
-
|
60
|
-
var _SkyTimepickerFixture_instances, _SkyTimepickerFixture_debugEl, _SkyTimepickerFixture_fixture, _SkyTimepickerFixture_getTimepickerInputEl;
|
61
|
-
/**
|
62
|
-
* Allows interaction with a SKY UX timepicker component.
|
63
|
-
* @internal
|
64
|
-
*/
|
65
|
-
class SkyTimepickerFixture {
|
66
|
-
constructor(fixture, skyTestId) {
|
67
|
-
_SkyTimepickerFixture_instances.add(this);
|
68
|
-
_SkyTimepickerFixture_debugEl.set(this, void 0);
|
69
|
-
_SkyTimepickerFixture_fixture.set(this, void 0);
|
70
|
-
__classPrivateFieldSet(this, _SkyTimepickerFixture_fixture, fixture, "f");
|
71
|
-
__classPrivateFieldSet(this, _SkyTimepickerFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-timepicker'), "f");
|
72
|
-
}
|
73
|
-
/**
|
74
|
-
* The timepicker's currently selected time.
|
75
|
-
*/
|
76
|
-
get value() {
|
77
|
-
return __classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement.value;
|
78
|
-
}
|
79
|
-
/**
|
80
|
-
* Set the timepicker's selected time.
|
81
|
-
*/
|
82
|
-
set value(value) {
|
83
|
-
const timepickerInputEl = __classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement;
|
84
|
-
timepickerInputEl.value = value;
|
85
|
-
__classPrivateFieldGet(this, _SkyTimepickerFixture_fixture, "f").detectChanges();
|
86
|
-
SkyAppTestUtility.fireDomEvent(timepickerInputEl, 'change');
|
87
|
-
__classPrivateFieldGet(this, _SkyTimepickerFixture_fixture, "f").detectChanges();
|
88
|
-
}
|
89
|
-
/**
|
90
|
-
* Flag indicating if timepicker input is disabled.
|
91
|
-
*/
|
92
|
-
get isDisabled() {
|
93
|
-
return __classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement.disabled;
|
94
|
-
}
|
95
|
-
/**
|
96
|
-
* Set the timepicker's disabled value
|
97
|
-
*/
|
98
|
-
set isDisabled(value) {
|
99
|
-
__classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement.disabled = value;
|
100
|
-
}
|
101
|
-
/**
|
102
|
-
* Flag indicating if timepicker input is valid.
|
103
|
-
*/
|
104
|
-
get isValid() {
|
105
|
-
return !__classPrivateFieldGet(this, _SkyTimepickerFixture_instances, "m", _SkyTimepickerFixture_getTimepickerInputEl).call(this).nativeElement.classList.contains('ng-invalid');
|
106
|
-
}
|
107
|
-
}
|
108
|
-
_SkyTimepickerFixture_debugEl = new WeakMap(), _SkyTimepickerFixture_fixture = new WeakMap(), _SkyTimepickerFixture_instances = new WeakSet(), _SkyTimepickerFixture_getTimepickerInputEl = function _SkyTimepickerFixture_getTimepickerInputEl() {
|
109
|
-
return __classPrivateFieldGet(this, _SkyTimepickerFixture_debugEl, "f").query(By.css('.sky-timepicker input'));
|
110
|
-
};
|
111
|
-
|
112
|
-
/**
|
113
|
-
* Generated bundle index. Do not edit.
|
114
|
-
*/
|
115
|
-
|
116
|
-
export { SkyDatepickerFixture, SkyTimepickerFixture };
|
117
|
-
//# sourceMappingURL=skyux-datetime-testing.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"skyux-datetime-testing.mjs","sources":["../../../../../libs/components/datetime/testing/src/datepicker-fixture.ts","../../../../../libs/components/datetime/testing/src/timepicker-fixture.ts","../../../../../libs/components/datetime/testing/src/skyux-datetime-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX datepicker component.\n * @internal\n */\nexport class SkyDatepickerFixture {\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-datepicker'\n );\n }\n\n /**\n * The datepicker's currently selected date.\n */\n public get date(): string {\n return this.#getDatepickerInputEl().nativeElement.value;\n }\n\n /**\n * Flag indicating if datepicker input is disabled.\n */\n public get disabled(): boolean {\n return this.#getDatepickerInputEl().nativeElement.disabled;\n }\n\n /**\n * The datepicker's calendar element.\n */\n public get calendarEl(): any {\n const button = this.#debugEl.query(\n By.css('.sky-datepicker .sky-input-group-datepicker-btn')\n ).nativeElement;\n\n const calendarId = button.getAttribute('aria-controls');\n if (!calendarId) {\n return null;\n }\n\n return document.getElementById(calendarId);\n }\n\n /**\n * Click the calendar button to open or close calendar.\n */\n public clickDatepickerCalenderButtonEl(): void {\n this.#debugEl\n .query(By.css('.sky-datepicker .sky-input-group-datepicker-btn'))\n .nativeElement.click();\n }\n\n public clickDayEl(dayIndex: number): void {\n const dayEls = this.calendarEl.querySelectorAll('.sky-datepicker-btn-date');\n\n const dayEl = dayEls[dayIndex];\n\n if (!dayEl) {\n throw new Error(`No day exists at index ${dayIndex}.`);\n }\n\n dayEl.click();\n }\n\n #getDatepickerInputEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-datepicker input'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX timepicker component.\n * @internal\n */\nexport class SkyTimepickerFixture {\n #debugEl: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-timepicker'\n );\n }\n\n /**\n * The timepicker's currently selected time.\n */\n public get value(): string {\n return this.#getTimepickerInputEl().nativeElement.value;\n }\n\n /**\n * Set the timepicker's selected time.\n */\n public set value(value: string) {\n const timepickerInputEl = this.#getTimepickerInputEl().nativeElement;\n timepickerInputEl.value = value;\n this.#fixture.detectChanges();\n\n SkyAppTestUtility.fireDomEvent(timepickerInputEl, 'change');\n this.#fixture.detectChanges();\n }\n\n /**\n * Flag indicating if timepicker input is disabled.\n */\n public get isDisabled(): boolean {\n return this.#getTimepickerInputEl().nativeElement.disabled;\n }\n\n /**\n * Set the timepicker's disabled value\n */\n public set isDisabled(value: boolean) {\n this.#getTimepickerInputEl().nativeElement.disabled = value;\n }\n\n /**\n * Flag indicating if timepicker input is valid.\n */\n public get isValid(): boolean {\n return !this.#getTimepickerInputEl().nativeElement.classList.contains(\n 'ng-invalid'\n );\n }\n\n #getTimepickerInputEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-timepicker input'));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|