@skyux/datetime 11.22.0 → 11.23.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.
- package/documentation.json +2248 -2178
- package/esm2022/lib/modules/date-range-picker/date-range-picker.component.mjs +20 -5
- package/esm2022/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +2 -2
- package/esm2022/lib/modules/datepicker/datepicker-host.service.mjs +61 -0
- package/esm2022/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +27 -10
- package/esm2022/lib/modules/datepicker/datepicker-input.directive.mjs +27 -15
- package/esm2022/lib/modules/datepicker/datepicker.component.mjs +16 -3
- package/esm2022/lib/modules/datepicker/daypicker-button.component.mjs +2 -2
- package/esm2022/lib/modules/timepicker/timepicker.component.mjs +6 -3
- package/esm2022/testing/legacy/datepicker-fixture.mjs +56 -0
- package/esm2022/testing/legacy/timepicker-fixture.mjs +52 -0
- package/esm2022/testing/modules/date-range-picker/date-range-picker-harness.filters.mjs +2 -0
- package/esm2022/testing/modules/date-range-picker/date-range-picker-harness.mjs +143 -0
- package/esm2022/testing/modules/datepicker/datepicker-calendar-harness.filters.mjs +2 -0
- package/esm2022/testing/modules/datepicker/datepicker-calendar-harness.mjs +88 -0
- package/esm2022/testing/modules/datepicker/datepicker-harness.filters.mjs +2 -0
- package/esm2022/testing/modules/datepicker/datepicker-harness.mjs +59 -0
- package/esm2022/testing/modules/datepicker/datepicker-input-harness.mjs +29 -0
- package/esm2022/testing/public-api.mjs +6 -6
- package/fesm2022/skyux-datetime-testing.mjs +157 -146
- package/fesm2022/skyux-datetime-testing.mjs.map +1 -1
- package/fesm2022/skyux-datetime.mjs +145 -33
- package/fesm2022/skyux-datetime.mjs.map +1 -1
- package/lib/modules/datepicker/datepicker-host.service.d.ts +21 -0
- package/lib/modules/datepicker/datepicker-input-fuzzy.directive.d.ts +1 -0
- package/lib/modules/datepicker/datepicker-input.directive.d.ts +1 -1
- package/lib/modules/datepicker/datepicker.component.d.ts +8 -2
- package/lib/modules/timepicker/timepicker.component.d.ts +1 -0
- package/package.json +9 -9
- package/testing/{datepicker-fixture.d.ts → legacy/datepicker-fixture.d.ts} +1 -0
- package/testing/{datepicker → modules/datepicker}/datepicker-harness.d.ts +1 -1
- package/testing/{datepicker/datepicker-harness-input.d.ts → modules/datepicker/datepicker-input-harness.d.ts} +4 -0
- package/testing/public-api.d.ts +8 -8
- package/esm2022/testing/date-range-picker/date-range-picker-harness.filters.mjs +0 -2
- package/esm2022/testing/date-range-picker/date-range-picker-harness.mjs +0 -143
- package/esm2022/testing/datepicker/datepicker-calendar-harness.filters.mjs +0 -2
- package/esm2022/testing/datepicker/datepicker-calendar-harness.mjs +0 -88
- package/esm2022/testing/datepicker/datepicker-harness-input.mjs +0 -19
- package/esm2022/testing/datepicker/datepicker-harness.filters.mjs +0 -2
- package/esm2022/testing/datepicker/datepicker-harness.mjs +0 -59
- package/esm2022/testing/datepicker-fixture.mjs +0 -55
- package/esm2022/testing/timepicker-fixture.mjs +0 -52
- /package/testing/{timepicker-fixture.d.ts → legacy/timepicker-fixture.d.ts} +0 -0
- /package/testing/{date-range-picker → modules/date-range-picker}/date-range-picker-harness.d.ts +0 -0
- /package/testing/{date-range-picker → modules/date-range-picker}/date-range-picker-harness.filters.d.ts +0 -0
- /package/testing/{datepicker → modules/datepicker}/datepicker-calendar-harness.d.ts +0 -0
- /package/testing/{datepicker → modules/datepicker}/datepicker-calendar-harness.filters.d.ts +0 -0
- /package/testing/{datepicker → modules/datepicker}/datepicker-harness.filters.d.ts +0 -0
@@ -0,0 +1,143 @@
|
|
1
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
2
|
+
import { SkyInputBoxHarness } from '@skyux/forms/testing';
|
3
|
+
import { SkyDatepickerHarness } from '../datepicker/datepicker-harness';
|
4
|
+
/**
|
5
|
+
* Harness for interacting with date range picker components in tests.
|
6
|
+
*/
|
7
|
+
export class SkyDateRangePickerHarness extends SkyComponentHarness {
|
8
|
+
/**
|
9
|
+
* @internal
|
10
|
+
*/
|
11
|
+
static { this.hostSelector = 'sky-date-range-picker'; }
|
12
|
+
#getStartDateInputBoxHarness = this.locatorFor(SkyInputBoxHarness.with({
|
13
|
+
ancestor: '.sky-date-range-picker-start-date',
|
14
|
+
}));
|
15
|
+
#getEndDateInputBoxHarness = this.locatorFor(SkyInputBoxHarness.with({
|
16
|
+
ancestor: '.sky-date-range-picker-end-date',
|
17
|
+
}));
|
18
|
+
#getCalculatorIdInputBoxHarness = this.locatorFor(SkyInputBoxHarness.with({
|
19
|
+
ancestor: '.sky-date-range-picker-select-calculator',
|
20
|
+
}));
|
21
|
+
/**
|
22
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
23
|
+
* `SkyDateRangePickerHarness` that meets certain criteria.
|
24
|
+
*/
|
25
|
+
static with(filters) {
|
26
|
+
return SkyDateRangePickerHarness.getDataSkyIdPredicate(filters);
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* Clicks the help inline button.
|
30
|
+
*/
|
31
|
+
async clickHelpInline() {
|
32
|
+
await (await this.#getCalculatorIdInputBoxHarness()).clickHelpInline();
|
33
|
+
}
|
34
|
+
/**
|
35
|
+
* Gets the help popover content.
|
36
|
+
*/
|
37
|
+
async getHelpPopoverContent() {
|
38
|
+
return (await (await this.#getCalculatorIdInputBoxHarness()).getHelpPopoverContent());
|
39
|
+
}
|
40
|
+
/**
|
41
|
+
* Gets the help inline popover title.
|
42
|
+
*/
|
43
|
+
async getHelpPopoverTitle() {
|
44
|
+
return await (await this.#getCalculatorIdInputBoxHarness()).getHelpPopoverTitle();
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* Gets the hint text.
|
48
|
+
*/
|
49
|
+
async getHintText() {
|
50
|
+
return await (await this.#getCalculatorIdInputBoxHarness()).getHintText();
|
51
|
+
}
|
52
|
+
/**
|
53
|
+
* Gets the label text.
|
54
|
+
*/
|
55
|
+
async getLabelText() {
|
56
|
+
return await (await this.#getCalculatorIdInputBoxHarness()).getLabelText();
|
57
|
+
}
|
58
|
+
/**
|
59
|
+
* Whether date range picker end date before start date error is thrown.
|
60
|
+
*/
|
61
|
+
async hasEndDateBeforeStartDateError() {
|
62
|
+
return await (await this.#getCalculatorIdInputBoxHarness()).hasCustomFormError('endDateBeforeStartDate');
|
63
|
+
}
|
64
|
+
/**
|
65
|
+
* Whether end date input has required error.
|
66
|
+
*/
|
67
|
+
async hasEndDateRequiredError() {
|
68
|
+
return await (await this.#getEndDateInputBoxHarness()).hasRequiredError();
|
69
|
+
}
|
70
|
+
/**
|
71
|
+
* Whether a custom error has fired.
|
72
|
+
* @params errorName `errorName` property of the custom `sky-form-error`.
|
73
|
+
*/
|
74
|
+
async hasError(errorName) {
|
75
|
+
return await (await this.#getCalculatorIdInputBoxHarness()).hasCustomFormError(errorName);
|
76
|
+
}
|
77
|
+
/**
|
78
|
+
* Whether start date input has required error.
|
79
|
+
*/
|
80
|
+
async hasStartDateRequiredError() {
|
81
|
+
return await (await this.#getStartDateInputBoxHarness()).hasRequiredError();
|
82
|
+
}
|
83
|
+
/**
|
84
|
+
* Whether the date range picker component is disabled.
|
85
|
+
*/
|
86
|
+
async isDisabled() {
|
87
|
+
return await (await this.#getCalculatorIdInputBoxHarness()).getDisabled();
|
88
|
+
}
|
89
|
+
/**
|
90
|
+
* Whether end date datepicker is visible.
|
91
|
+
*/
|
92
|
+
async isEndDateVisible() {
|
93
|
+
return !(await (await this.locatorFor('.sky-date-range-picker-end-date')()).getProperty('hidden'));
|
94
|
+
}
|
95
|
+
/**
|
96
|
+
* Whether the date range picker has stacked enabled.
|
97
|
+
*/
|
98
|
+
async isStacked() {
|
99
|
+
return await (await this.host()).hasClass('sky-form-field-stacked');
|
100
|
+
}
|
101
|
+
/**
|
102
|
+
* Whether start date datepicker is visible.
|
103
|
+
*/
|
104
|
+
async isStartDateVisible() {
|
105
|
+
return !(await (await this.locatorFor('.sky-date-range-picker-start-date')()).getProperty('hidden'));
|
106
|
+
}
|
107
|
+
/**
|
108
|
+
* Selects the specified calculator.
|
109
|
+
*/
|
110
|
+
async selectCalculator(calculatorId) {
|
111
|
+
const select = await this.locatorFor('select[FormControlName="calculatorId"')();
|
112
|
+
return await select.selectOptions(calculatorId);
|
113
|
+
}
|
114
|
+
/**
|
115
|
+
* Sets the end date.
|
116
|
+
* @param newDate date input as a formatted string.
|
117
|
+
*/
|
118
|
+
async setEndDateValue(newDate) {
|
119
|
+
if (!(await this.isEndDateVisible())) {
|
120
|
+
throw new Error('Unable to set end date. End datepicker is not visible.');
|
121
|
+
}
|
122
|
+
const input = await (await this.#getEndDatepicker()).getControl();
|
123
|
+
await input.setValue(newDate);
|
124
|
+
}
|
125
|
+
/**
|
126
|
+
* Sets the start date.
|
127
|
+
* @param newDate date input as a formatted string.
|
128
|
+
*/
|
129
|
+
async setStartDateValue(newDate) {
|
130
|
+
if (!(await this.isEndDateVisible())) {
|
131
|
+
throw new Error('Unable to set start date. Start datepicker is not visible.');
|
132
|
+
}
|
133
|
+
const input = await (await this.#getStartDatepicker()).getControl();
|
134
|
+
await input.setValue(newDate);
|
135
|
+
}
|
136
|
+
async #getEndDatepicker() {
|
137
|
+
return await (await this.#getEndDateInputBoxHarness()).queryHarness(SkyDatepickerHarness);
|
138
|
+
}
|
139
|
+
async #getStartDatepicker() {
|
140
|
+
return await (await this.#getStartDateInputBoxHarness()).queryHarness(SkyDatepickerHarness);
|
141
|
+
}
|
142
|
+
}
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS90ZXN0aW5nL3NyYy9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJeEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsbUJBQW1CO0lBQ2hFOztPQUVHO2FBQ1csaUJBQVksR0FBRyx1QkFBdUIsQ0FBQztJQUVyRCw0QkFBNEIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUM1QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDdEIsUUFBUSxFQUFFLG1DQUFtQztLQUM5QyxDQUFDLENBQ0gsQ0FBQztJQUNGLDBCQUEwQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQzFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUN0QixRQUFRLEVBQUUsaUNBQWlDO0tBQzVDLENBQUMsQ0FDSCxDQUFDO0lBQ0YsK0JBQStCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FDL0Msa0JBQWtCLENBQUMsSUFBSSxDQUFDO1FBQ3RCLFFBQVEsRUFBRSwwQ0FBMEM7S0FDckQsQ0FBQyxDQUNILENBQUM7SUFFRjs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFrQztRQUVsQyxPQUFPLHlCQUF5QixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE1BQU0s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R0c7SUFDSSxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQWU7UUFDMUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQWU7UUFDNUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixPQUFPLE1BQU0sQ0FDWCxNQUFNLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUN4QyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CO1FBQ3ZCLE9BQU8sTUFBTSxDQUNYLE1BQU0sSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQzFDLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQgfSBmcm9tICdAc2t5dXgvZGF0ZXRpbWUnO1xuaW1wb3J0IHsgU2t5SW5wdXRCb3hIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2Zvcm1zL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VySGFybmVzcyB9IGZyb20gJy4uL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1oYXJuZXNzJztcblxuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlUGlja2VyRmlsdGVycyB9IGZyb20gJy4vZGF0ZS1yYW5nZS1waWNrZXItaGFybmVzcy5maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGRhdGUgcmFuZ2UgcGlja2VyIGNvbXBvbmVudHMgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lEYXRlUmFuZ2VQaWNrZXJIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1kYXRlLXJhbmdlLXBpY2tlcic7XG5cbiAgI2dldFN0YXJ0RGF0ZUlucHV0Qm94SGFybmVzcyA9IHRoaXMubG9jYXRvckZvcihcbiAgICBTa3lJbnB1dEJveEhhcm5lc3Mud2l0aCh7XG4gICAgICBhbmNlc3RvcjogJy5za3ktZGF0ZS1yYW5nZS1waWNrZXItc3RhcnQtZGF0ZScsXG4gICAgfSksXG4gICk7XG4gICNnZXRFbmREYXRlSW5wdXRCb3hIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKFxuICAgIFNreUlucHV0Qm94SGFybmVzcy53aXRoKHtcbiAgICAgIGFuY2VzdG9yOiAnLnNreS1kYXRlLXJhbmdlLXBpY2tlci1lbmQtZGF0ZScsXG4gICAgfSksXG4gICk7XG4gICNnZXRDYWxjdWxhdG9ySWRJbnB1dEJveEhhcm5lc3MgPSB0aGlzLmxvY2F0b3JGb3IoXG4gICAgU2t5SW5wdXRCb3hIYXJuZXNzLndpdGgoe1xuICAgICAgYW5jZXN0b3I6ICcuc2t5LWRhdGUtcmFuZ2UtcGlja2VyLXNlbGVjdC1jYWxjdWxhdG9yJyxcbiAgICB9KSxcbiAgKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RGF0ZVJhbmdlUGlja2VySGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreURhdGVSYW5nZVBpY2tlckZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5RGF0ZVJhbmdlUGlja2VySGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lEYXRlUmFuZ2VQaWNrZXJIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldENhbGN1bGF0b3JJZElucHV0Qm94SGFybmVzcygpKS5jbGlja0hlbHBJbmxpbmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuI2dldENhbGN1bGF0b3JJZElucHV0Qm94SGFybmVzcygpXG4gICAgKS5nZXRIZWxwUG9wb3ZlckNvbnRlbnQoKSkgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgaW5saW5lIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLiNnZXRDYWxjdWxhdG9ySWRJbnB1dEJveEhhcm5lc3MoKVxuICAgICkuZ2V0SGVscFBvcG92ZXJUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhpbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIaW50VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Q2FsY3VsYXRvcklkSW5wdXRCb3hIYXJuZXNzKCkpLmdldEhpbnRUZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGFiZWwgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldENhbGN1bGF0b3JJZElucHV0Qm94SGFybmVzcygpKS5nZXRMYWJlbFRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGRhdGUgcmFuZ2UgcGlja2VyIGVuZCBkYXRlIGJlZm9yZSBzdGFydCBkYXRlIGVycm9yIGlzIHRocm93bi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNFbmREYXRlQmVmb3JlU3RhcnREYXRlRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuI2dldENhbGN1bGF0b3JJZElucHV0Qm94SGFybmVzcygpXG4gICAgKS5oYXNDdXN0b21Gb3JtRXJyb3IoJ2VuZERhdGVCZWZvcmVTdGFydERhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuZCBkYXRlIGlucHV0IGhhcyByZXF1aXJlZCBlcnJvci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNFbmREYXRlUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEVuZERhdGVJbnB1dEJveEhhcm5lc3MoKSkuaGFzUmVxdWlyZWRFcnJvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBjdXN0b20gZXJyb3IgaGFzIGZpcmVkLlxuICAgKiBAcGFyYW1zIGVycm9yTmFtZSBgZXJyb3JOYW1lYCBwcm9wZXJ0eSBvZiB0aGUgY3VzdG9tIGBza3ktZm9ybS1lcnJvcmAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzRXJyb3IoZXJyb3JOYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0Q2FsY3VsYXRvcklkSW5wdXRCb3hIYXJuZXNzKClcbiAgICApLmhhc0N1c3RvbUZvcm1FcnJvcihlcnJvck5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgc3RhcnQgZGF0ZSBpbnB1dCBoYXMgcmVxdWlyZWQgZXJyb3IuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzU3RhcnREYXRlUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldFN0YXJ0RGF0ZUlucHV0Qm94SGFybmVzcygpKS5oYXNSZXF1aXJlZEVycm9yKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZGF0ZSByYW5nZSBwaWNrZXIgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRDYWxjdWxhdG9ySWRJbnB1dEJveEhhcm5lc3MoKSkuZ2V0RGlzYWJsZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuZCBkYXRlIGRhdGVwaWNrZXIgaXMgdmlzaWJsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0VuZERhdGVWaXNpYmxlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAhKGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1kYXRlLXJhbmdlLXBpY2tlci1lbmQtZGF0ZScpKClcbiAgICApLmdldFByb3BlcnR5KCdoaWRkZW4nKSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZGF0ZSByYW5nZSBwaWNrZXIgaGFzIHN0YWNrZWQgZW5hYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1N0YWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3MoJ3NreS1mb3JtLWZpZWxkLXN0YWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHN0YXJ0IGRhdGUgZGF0ZXBpY2tlciBpcyB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzU3RhcnREYXRlVmlzaWJsZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gIShhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZGF0ZS1yYW5nZS1waWNrZXItc3RhcnQtZGF0ZScpKClcbiAgICApLmdldFByb3BlcnR5KCdoaWRkZW4nKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgc3BlY2lmaWVkIGNhbGN1bGF0b3IuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0Q2FsY3VsYXRvcihcbiAgICBjYWxjdWxhdG9ySWQ6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZCxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2VsZWN0ID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFxuICAgICAgJ3NlbGVjdFtGb3JtQ29udHJvbE5hbWU9XCJjYWxjdWxhdG9ySWRcIicsXG4gICAgKSgpO1xuICAgIHJldHVybiBhd2FpdCBzZWxlY3Quc2VsZWN0T3B0aW9ucyhjYWxjdWxhdG9ySWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGVuZCBkYXRlLlxuICAgKiBAcGFyYW0gbmV3RGF0ZSBkYXRlIGlucHV0IGFzIGEgZm9ybWF0dGVkIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXRFbmREYXRlVmFsdWUobmV3RGF0ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCEoYXdhaXQgdGhpcy5pc0VuZERhdGVWaXNpYmxlKCkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBzZXQgZW5kIGRhdGUuIEVuZCBkYXRlcGlja2VyIGlzIG5vdCB2aXNpYmxlLicpO1xuICAgIH1cbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRFbmREYXRlcGlja2VyKCkpLmdldENvbnRyb2woKTtcbiAgICBhd2FpdCBpbnB1dC5zZXRWYWx1ZShuZXdEYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzdGFydCBkYXRlLlxuICAgKiBAcGFyYW0gbmV3RGF0ZSBkYXRlIGlucHV0IGFzIGEgZm9ybWF0dGVkIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXRTdGFydERhdGVWYWx1ZShuZXdEYXRlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIShhd2FpdCB0aGlzLmlzRW5kRGF0ZVZpc2libGUoKSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1VuYWJsZSB0byBzZXQgc3RhcnQgZGF0ZS4gU3RhcnQgZGF0ZXBpY2tlciBpcyBub3QgdmlzaWJsZS4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgaW5wdXQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0U3RhcnREYXRlcGlja2VyKCkpLmdldENvbnRyb2woKTtcbiAgICBhd2FpdCBpbnB1dC5zZXRWYWx1ZShuZXdEYXRlKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRFbmREYXRlcGlja2VyKCk6IFByb21pc2U8U2t5RGF0ZXBpY2tlckhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0RW5kRGF0ZUlucHV0Qm94SGFybmVzcygpXG4gICAgKS5xdWVyeUhhcm5lc3MoU2t5RGF0ZXBpY2tlckhhcm5lc3MpO1xuICB9XG5cbiAgYXN5bmMgI2dldFN0YXJ0RGF0ZXBpY2tlcigpOiBQcm9taXNlPFNreURhdGVwaWNrZXJIYXJuZXNzPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuI2dldFN0YXJ0RGF0ZUlucHV0Qm94SGFybmVzcygpXG4gICAgKS5xdWVyeUhhcm5lc3MoU2t5RGF0ZXBpY2tlckhhcm5lc3MpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jYWxlbmRhci1oYXJuZXNzLmZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvdGVzdGluZy9zcmMvbW9kdWxlcy9kYXRlcGlja2VyL2RhdGVwaWNrZXItY2FsZW5kYXItaGFybmVzcy5maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlSGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBTa3lEYXRlcGlja2VyQ2FsZW5kYXJIYXJuZXNzYCBpbnN0YW5jZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5RGF0ZXBpY2tlckNhbGVuZGFySGFybmVzc0ZpbHRlcnNcbiAgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
|
@@ -0,0 +1,88 @@
|
|
1
|
+
import { HarnessPredicate } from '@angular/cdk/testing';
|
2
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
3
|
+
/**
|
4
|
+
* Harness for interacting with datepicker calendar in tests.
|
5
|
+
*/
|
6
|
+
export class SkyDatepickerCalendarHarness extends SkyComponentHarness {
|
7
|
+
/**
|
8
|
+
* @internal
|
9
|
+
*/
|
10
|
+
static { this.hostSelector = '.sky-datepicker-calendar-container'; }
|
11
|
+
#getDaypicker = this.locatorForOptional('sky-daypicker');
|
12
|
+
#getMonthpicker = this.locatorForOptional('sky-monthpicker');
|
13
|
+
#getNextButton = this.locatorFor('.sky-datepicker-btn-next');
|
14
|
+
#getPreviousButton = this.locatorFor('.sky-datepicker-btn-previous');
|
15
|
+
#getSelected = this.locatorFor('.sky-datepicker-btn-selected');
|
16
|
+
#getTitle = this.locatorFor('.sky-datepicker-calendar-title');
|
17
|
+
#getTitleButton = this.locatorFor('.sky-datepicker-calendar-title');
|
18
|
+
/**
|
19
|
+
* @internal
|
20
|
+
*/
|
21
|
+
static with(filters) {
|
22
|
+
return new HarnessPredicate(SkyDatepickerCalendarHarness, filters);
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* Clicks the specified date, month or year.
|
26
|
+
* @params the specified value to click, in the following format
|
27
|
+
* day format: dddd, MMMM Do YYYY
|
28
|
+
* month format: MMMM YYYY
|
29
|
+
* year format: YYYY
|
30
|
+
*/
|
31
|
+
async clickDate(date) {
|
32
|
+
try {
|
33
|
+
await (await this.locatorFor(`[aria-label="${date}"]`)()).click();
|
34
|
+
}
|
35
|
+
catch {
|
36
|
+
throw new Error(`Unable to find date with label "${date}". Check that the format is correct and matches the current calendar mode.`);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
/**
|
40
|
+
* Clicks the 'next' button on the calendar header.
|
41
|
+
*/
|
42
|
+
async clickNextButton() {
|
43
|
+
await (await this.#getNextButton()).click();
|
44
|
+
}
|
45
|
+
/**
|
46
|
+
* Clicks the 'previous' button on the calendar header.
|
47
|
+
*/
|
48
|
+
async clickPreviousButton() {
|
49
|
+
await (await this.#getPreviousButton()).click();
|
50
|
+
}
|
51
|
+
/**
|
52
|
+
* Clicks the 'title' button on the calendar header.
|
53
|
+
*/
|
54
|
+
async clickTitleButton() {
|
55
|
+
const button = await this.#getTitleButton();
|
56
|
+
if (await button.hasClass('sky-btn-disabled')) {
|
57
|
+
throw new Error('Title button is disabled.');
|
58
|
+
}
|
59
|
+
await button.click();
|
60
|
+
}
|
61
|
+
/**
|
62
|
+
* Gets the current calendar mode.
|
63
|
+
*/
|
64
|
+
async getCalendarMode() {
|
65
|
+
if (await this.#getDaypicker()) {
|
66
|
+
return 'day';
|
67
|
+
}
|
68
|
+
else if (await this.#getMonthpicker()) {
|
69
|
+
return 'month';
|
70
|
+
}
|
71
|
+
else {
|
72
|
+
return 'year';
|
73
|
+
}
|
74
|
+
}
|
75
|
+
/**
|
76
|
+
* Gets the current title.
|
77
|
+
*/
|
78
|
+
async getCalendarTitle() {
|
79
|
+
return (await (await this.#getTitle()).text()).trim();
|
80
|
+
}
|
81
|
+
/**
|
82
|
+
* Gets the value of the currently selected calendar item.
|
83
|
+
*/
|
84
|
+
async getSelectedValue() {
|
85
|
+
return await (await this.#getSelected()).getAttribute('aria-label');
|
86
|
+
}
|
87
|
+
}
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jYWxlbmRhci1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3Rlc3Rpbmcvc3JjL21vZHVsZXMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLWNhbGVuZGFyLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsbUJBQW1CO0lBQ25FOztPQUVHO2FBQ1csaUJBQVksR0FBRyxvQ0FBb0MsQ0FBQztJQUVsRSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pELGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3RCxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzdELGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNyRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQy9ELFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDOUQsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUVwRTs7T0FFRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQTRDO1FBRTVDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyw0QkFBNEIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFZO1FBQ2pDLElBQUksQ0FBQztZQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BFLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxNQUFNLElBQUksS0FBSyxDQUNiLG1DQUFtQyxJQUFJLDRFQUE0RSxDQUNwSCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxtQkFBbUI7UUFDOUIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRTVDLElBQUksTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxlQUFlO1FBQzFCLElBQUksTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7YUFBTSxJQUFJLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDeEMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vZGF0ZXBpY2tlci1jYWxlbmRhci1oYXJuZXNzLmZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggZGF0ZXBpY2tlciBjYWxlbmRhciBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreURhdGVwaWNrZXJDYWxlbmRhckhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnLnNreS1kYXRlcGlja2VyLWNhbGVuZGFyLWNvbnRhaW5lcic7XG5cbiAgI2dldERheXBpY2tlciA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdza3ktZGF5cGlja2VyJyk7XG4gICNnZXRNb250aHBpY2tlciA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdza3ktbW9udGhwaWNrZXInKTtcbiAgI2dldE5leHRCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZGF0ZXBpY2tlci1idG4tbmV4dCcpO1xuICAjZ2V0UHJldmlvdXNCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZGF0ZXBpY2tlci1idG4tcHJldmlvdXMnKTtcbiAgI2dldFNlbGVjdGVkID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWRhdGVwaWNrZXItYnRuLXNlbGVjdGVkJyk7XG4gICNnZXRUaXRsZSA9IHRoaXMubG9jYXRvckZvcignLnNreS1kYXRlcGlja2VyLWNhbGVuZGFyLXRpdGxlJyk7XG4gICNnZXRUaXRsZUJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignLnNreS1kYXRlcGlja2VyLWNhbGVuZGFyLXRpdGxlJyk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreURhdGVwaWNrZXJDYWxlbmRhckhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreURhdGVwaWNrZXJDYWxlbmRhckhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoU2t5RGF0ZXBpY2tlckNhbGVuZGFySGFybmVzcywgZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBzcGVjaWZpZWQgZGF0ZSwgbW9udGggb3IgeWVhci5cbiAgICogQHBhcmFtcyB0aGUgc3BlY2lmaWVkIHZhbHVlIHRvIGNsaWNrLCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdFxuICAgKiBkYXkgZm9ybWF0OiBkZGRkLCBNTU1NIERvIFlZWVlcbiAgICogbW9udGggZm9ybWF0OiBNTU1NIFlZWVlcbiAgICogeWVhciBmb3JtYXQ6IFlZWVlcbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0RhdGUoZGF0ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IChhd2FpdCB0aGlzLmxvY2F0b3JGb3IoYFthcmlhLWxhYmVsPVwiJHtkYXRlfVwiXWApKCkpLmNsaWNrKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbmFibGUgdG8gZmluZCBkYXRlIHdpdGggbGFiZWwgXCIke2RhdGV9XCIuIENoZWNrIHRoYXQgdGhlIGZvcm1hdCBpcyBjb3JyZWN0IGFuZCBtYXRjaGVzIHRoZSBjdXJyZW50IGNhbGVuZGFyIG1vZGUuYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBDbGlja3MgdGhlICduZXh0JyBidXR0b24gb24gdGhlIGNhbGVuZGFyIGhlYWRlci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja05leHRCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldE5leHRCdXR0b24oKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlICdwcmV2aW91cycgYnV0dG9uIG9uIHRoZSBjYWxlbmRhciBoZWFkZXIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tQcmV2aW91c0J1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0UHJldmlvdXNCdXR0b24oKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlICd0aXRsZScgYnV0dG9uIG9uIHRoZSBjYWxlbmRhciBoZWFkZXIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tUaXRsZUJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLiNnZXRUaXRsZUJ1dHRvbigpO1xuXG4gICAgaWYgKGF3YWl0IGJ1dHRvbi5oYXNDbGFzcygnc2t5LWJ0bi1kaXNhYmxlZCcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RpdGxlIGJ1dHRvbiBpcyBkaXNhYmxlZC4nKTtcbiAgICB9XG5cbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IGNhbGVuZGFyIG1vZGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q2FsZW5kYXJNb2RlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMuI2dldERheXBpY2tlcigpKSB7XG4gICAgICByZXR1cm4gJ2RheSc7XG4gICAgfSBlbHNlIGlmIChhd2FpdCB0aGlzLiNnZXRNb250aHBpY2tlcigpKSB7XG4gICAgICByZXR1cm4gJ21vbnRoJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICd5ZWFyJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDYWxlbmRhclRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0VGl0bGUoKSkudGV4dCgpKS50cmltKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjYWxlbmRhciBpdGVtLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkVmFsdWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRTZWxlY3RlZCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1oYXJuZXNzLmZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvdGVzdGluZy9zcmMvbW9kdWxlcy9kYXRlcGlja2VyL2RhdGVwaWNrZXItaGFybmVzcy5maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgU2t5RGF0ZXBpY2tlckhhcm5lc3NgIGluc3RhbmNlcy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lEYXRlcGlja2VyRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
2
|
+
import { SkyDatepickerCalendarHarness } from './datepicker-calendar-harness';
|
3
|
+
import { SkyDatepickerInputHarness } from './datepicker-input-harness';
|
4
|
+
/**
|
5
|
+
* Harness for interacting with datepicker components in tests.
|
6
|
+
*/
|
7
|
+
export class SkyDatepickerHarness extends SkyComponentHarness {
|
8
|
+
/**
|
9
|
+
* @internal
|
10
|
+
*/
|
11
|
+
static { this.hostSelector = 'sky-datepicker, .sky-input-group'; }
|
12
|
+
#documentRootLocator = this.documentRootLocatorFactory();
|
13
|
+
#getCalendarButton = this.locatorFor('.sky-input-group-datepicker-btn');
|
14
|
+
/**
|
15
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
16
|
+
* `SkyDatepickerHarness` that meets certain criteria.
|
17
|
+
*
|
18
|
+
* These filters only work for standalone datepickers. For datepickers
|
19
|
+
* wrapped inside `sky-input-box`, place filters on the input box instead and
|
20
|
+
* query the datepicker using a `SkyInputBoxHarness`.
|
21
|
+
* For the input box implementation, see the code example.
|
22
|
+
*/
|
23
|
+
static with(filters) {
|
24
|
+
return SkyDatepickerHarness.getDataSkyIdPredicate(filters);
|
25
|
+
}
|
26
|
+
/**
|
27
|
+
* Clicks the calendar button.
|
28
|
+
*/
|
29
|
+
async clickCalendarButton() {
|
30
|
+
return await (await this.#getCalendarButton()).click();
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* Gets the `SkyDatepickerCalendarHarness` for the calendar picker controlled by
|
34
|
+
* the datepicker. Throws an error if the calendar picker is not open.
|
35
|
+
*/
|
36
|
+
async getDatepickerCalendar() {
|
37
|
+
const calendarId = await this.#getAriaControls();
|
38
|
+
if (!calendarId) {
|
39
|
+
throw new Error('Unable to get calendar picker because picker is closed.');
|
40
|
+
}
|
41
|
+
return await this.#documentRootLocator.locatorFor(SkyDatepickerCalendarHarness.with({ selector: `#${calendarId}` }))();
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Gets the datepicker input harness.
|
45
|
+
*/
|
46
|
+
async getControl() {
|
47
|
+
return await this.locatorFor(SkyDatepickerInputHarness)();
|
48
|
+
}
|
49
|
+
/**
|
50
|
+
* Whether the datepicker calendar picker is open.
|
51
|
+
*/
|
52
|
+
async isDatepickerOpen() {
|
53
|
+
return ((await (await this.#getCalendarButton()).getAttribute('aria-expanded')) === 'true');
|
54
|
+
}
|
55
|
+
async #getAriaControls() {
|
56
|
+
return await (await this.#getCalendarButton()).getAttribute('aria-controls');
|
57
|
+
}
|
58
|
+
}
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3Rlc3Rpbmcvc3JjL21vZHVsZXMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBQzNEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxrQ0FBa0MsQ0FBQztJQUVoRSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUV6RCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFFeEU7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUE2QjtRQUU3QixPQUFPLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxtQkFBbUI7UUFDOUIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMscUJBQXFCO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFakQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IseURBQXlELENBQzFELENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQy9DLDRCQUE0QixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FDbEUsRUFBRSxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsT0FBTyxDQUNMLENBQUMsTUFBTSxDQUNMLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQ2hDLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUM1QyxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsT0FBTyxNQUFNLENBQ1gsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FDaEMsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreURhdGVwaWNrZXJDYWxlbmRhckhhcm5lc3MgfSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXItaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyRmlsdGVycyB9IGZyb20gJy4vZGF0ZXBpY2tlci1oYXJuZXNzLmZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlcklucHV0SGFybmVzcyB9IGZyb20gJy4vZGF0ZXBpY2tlci1pbnB1dC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGRhdGVwaWNrZXIgY29tcG9uZW50cyBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreURhdGVwaWNrZXJIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1kYXRlcGlja2VyLCAuc2t5LWlucHV0LWdyb3VwJztcblxuICAjZG9jdW1lbnRSb290TG9jYXRvciA9IHRoaXMuZG9jdW1lbnRSb290TG9jYXRvckZhY3RvcnkoKTtcblxuICAjZ2V0Q2FsZW5kYXJCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktaW5wdXQtZ3JvdXAtZGF0ZXBpY2tlci1idG4nKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RGF0ZXBpY2tlckhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICpcbiAgICogVGhlc2UgZmlsdGVycyBvbmx5IHdvcmsgZm9yIHN0YW5kYWxvbmUgZGF0ZXBpY2tlcnMuIEZvciBkYXRlcGlja2Vyc1xuICAgKiB3cmFwcGVkIGluc2lkZSBgc2t5LWlucHV0LWJveGAsIHBsYWNlIGZpbHRlcnMgb24gdGhlIGlucHV0IGJveCBpbnN0ZWFkIGFuZFxuICAgKiBxdWVyeSB0aGUgZGF0ZXBpY2tlciB1c2luZyBhIGBTa3lJbnB1dEJveEhhcm5lc3NgLlxuICAgKiBGb3IgdGhlIGlucHV0IGJveCBpbXBsZW1lbnRhdGlvbiwgc2VlIHRoZSBjb2RlIGV4YW1wbGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RGF0ZXBpY2tlckZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5RGF0ZXBpY2tlckhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5RGF0ZXBpY2tlckhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgY2FsZW5kYXIgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQ2FsZW5kYXJCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRDYWxlbmRhckJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGBTa3lEYXRlcGlja2VyQ2FsZW5kYXJIYXJuZXNzYCBmb3IgdGhlIGNhbGVuZGFyIHBpY2tlciBjb250cm9sbGVkIGJ5XG4gICAqIHRoZSBkYXRlcGlja2VyLiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGNhbGVuZGFyIHBpY2tlciBpcyBub3Qgb3Blbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXREYXRlcGlja2VyQ2FsZW5kYXIoKTogUHJvbWlzZTxTa3lEYXRlcGlja2VyQ2FsZW5kYXJIYXJuZXNzPiB7XG4gICAgY29uc3QgY2FsZW5kYXJJZCA9IGF3YWl0IHRoaXMuI2dldEFyaWFDb250cm9scygpO1xuXG4gICAgaWYgKCFjYWxlbmRhcklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gZ2V0IGNhbGVuZGFyIHBpY2tlciBiZWNhdXNlIHBpY2tlciBpcyBjbG9zZWQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuI2RvY3VtZW50Um9vdExvY2F0b3IubG9jYXRvckZvcihcbiAgICAgIFNreURhdGVwaWNrZXJDYWxlbmRhckhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiBgIyR7Y2FsZW5kYXJJZH1gIH0pLFxuICAgICkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkYXRlcGlja2VyIGlucHV0IGhhcm5lc3MuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q29udHJvbCgpOiBQcm9taXNlPFNreURhdGVwaWNrZXJJbnB1dEhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreURhdGVwaWNrZXJJbnB1dEhhcm5lc3MpKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZGF0ZXBpY2tlciBjYWxlbmRhciBwaWNrZXIgaXMgb3Blbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0RhdGVwaWNrZXJPcGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoXG4gICAgICAoYXdhaXQgKFxuICAgICAgICBhd2FpdCB0aGlzLiNnZXRDYWxlbmRhckJ1dHRvbigpXG4gICAgICApLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpKSA9PT0gJ3RydWUnXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRBcmlhQ29udHJvbHMoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuI2dldENhbGVuZGFyQnV0dG9uKClcbiAgICApLmdldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { SkyInputHarness } from '@skyux/core/testing';
|
2
|
+
/**
|
3
|
+
* Harness to interact with the datepicker input harness.
|
4
|
+
*/
|
5
|
+
export class SkyDatepickerInputHarness extends SkyInputHarness {
|
6
|
+
/**
|
7
|
+
* @internal
|
8
|
+
*/
|
9
|
+
static { this.hostSelector = '[skyDatepickerInput]'; }
|
10
|
+
/**
|
11
|
+
* Blurs the input.
|
12
|
+
*/
|
13
|
+
async blur() {
|
14
|
+
await super.blur();
|
15
|
+
const host = await this.host();
|
16
|
+
await host.dispatchEvent('focusout', {
|
17
|
+
relatedTarget: null,
|
18
|
+
});
|
19
|
+
}
|
20
|
+
/**
|
21
|
+
* Sets the value of the input.
|
22
|
+
*/
|
23
|
+
async setValue(value) {
|
24
|
+
await super.setValue(value);
|
25
|
+
await this.blur();
|
26
|
+
await (await this.host()).dispatchEvent('change');
|
27
|
+
}
|
28
|
+
}
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1pbnB1dC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3Rlc3Rpbmcvc3JjL21vZHVsZXMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLWlucHV0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXREOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGVBQWU7SUFDNUQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLHNCQUFzQixDQUFDO0lBRXBEOztPQUVHO0lBQ2EsS0FBSyxDQUFDLElBQUk7UUFDeEIsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFbkIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFL0IsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRTtZQUNuQyxhQUFhLEVBQUUsSUFBSTtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDYSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQWE7UUFDMUMsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVCLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SW5wdXRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogSGFybmVzcyB0byBpbnRlcmFjdCB3aXRoIHRoZSBkYXRlcGlja2VyIGlucHV0IGhhcm5lc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lEYXRlcGlja2VySW5wdXRIYXJuZXNzIGV4dGVuZHMgU2t5SW5wdXRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnW3NreURhdGVwaWNrZXJJbnB1dF0nO1xuXG4gIC8qKlxuICAgKiBCbHVycyB0aGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgYmx1cigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5ibHVyKCk7XG5cbiAgICBjb25zdCBob3N0ID0gYXdhaXQgdGhpcy5ob3N0KCk7XG5cbiAgICBhd2FpdCBob3N0LmRpc3BhdGNoRXZlbnQoJ2ZvY3Vzb3V0Jywge1xuICAgICAgcmVsYXRlZFRhcmdldDogbnVsbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgc2V0VmFsdWUodmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLnNldFZhbHVlKHZhbHVlKTtcblxuICAgIGF3YWl0IHRoaXMuYmx1cigpO1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZGlzcGF0Y2hFdmVudCgnY2hhbmdlJyk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,6 +1,6 @@
|
|
1
|
-
export { SkyDatepickerFixture } from './datepicker-fixture';
|
2
|
-
export { SkyTimepickerFixture } from './timepicker-fixture';
|
3
|
-
export { SkyDateRangePickerHarness } from './date-range-picker/date-range-picker-harness';
|
4
|
-
export {
|
5
|
-
export {
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
export { SkyDatepickerFixture } from './legacy/datepicker-fixture';
|
2
|
+
export { SkyTimepickerFixture } from './legacy/timepicker-fixture';
|
3
|
+
export { SkyDateRangePickerHarness } from './modules/date-range-picker/date-range-picker-harness';
|
4
|
+
export { SkyDatepickerCalendarHarness } from './modules/datepicker/datepicker-calendar-harness';
|
5
|
+
export { SkyDatepickerHarness } from './modules/datepicker/datepicker-harness';
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS90ZXN0aW5nL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBR2xHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2t5RGF0ZXBpY2tlckZpeHR1cmUgfSBmcm9tICcuL2xlZ2FjeS9kYXRlcGlja2VyLWZpeHR1cmUnO1xuZXhwb3J0IHsgU2t5VGltZXBpY2tlckZpeHR1cmUgfSBmcm9tICcuL2xlZ2FjeS90aW1lcGlja2VyLWZpeHR1cmUnO1xuXG5leHBvcnQgeyBTa3lEYXRlUmFuZ2VQaWNrZXJIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5RGF0ZVJhbmdlUGlja2VyRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci1oYXJuZXNzLmZpbHRlcnMnO1xuXG5leHBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1jYWxlbmRhci1oYXJuZXNzJztcbmV4cG9ydCB7IFNreURhdGVwaWNrZXJDYWxlbmRhckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1jYWxlbmRhci1oYXJuZXNzLmZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5RGF0ZXBpY2tlckhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5RGF0ZXBpY2tlckZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLWhhcm5lc3MuZmlsdGVycyc7XG4iXX0=
|