@skyux/popovers 7.21.3 → 7.22.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 +1503 -11
- package/esm2020/testing/dropdown/harness/dropdown-harness.filters.mjs +2 -0
- package/esm2020/testing/dropdown/harness/dropdown-harness.mjs +98 -0
- package/esm2020/testing/dropdown/harness/dropdown-item-harness.mjs +28 -0
- package/esm2020/testing/dropdown/harness/dropdown-menu-harness.filters.mjs +2 -0
- package/esm2020/testing/dropdown/harness/dropdown-menu-harness.mjs +95 -0
- package/esm2020/testing/dropdown/popovers-fixture-dropdown-item.mjs +1 -1
- package/esm2020/testing/public-api.mjs +6 -1
- package/fesm2015/skyux-popovers-testing.mjs +257 -1
- package/fesm2015/skyux-popovers-testing.mjs.map +1 -1
- package/fesm2020/skyux-popovers-testing.mjs +215 -1
- package/fesm2020/skyux-popovers-testing.mjs.map +1 -1
- package/package.json +7 -6
- package/testing/dropdown/harness/dropdown-harness.d.ts +52 -0
- package/testing/dropdown/harness/dropdown-harness.filters.d.ts +6 -0
- package/testing/dropdown/harness/dropdown-item-harness.d.ts +16 -0
- package/testing/dropdown/harness/dropdown-menu-harness.d.ts +56 -0
- package/testing/dropdown/harness/dropdown-menu-harness.filters.d.ts +6 -0
- package/testing/dropdown/popovers-fixture-dropdown-item.d.ts +3 -0
- package/testing/public-api.d.ts +5 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taGFybmVzcy5maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3Rlc3Rpbmcvc3JjL2Ryb3Bkb3duL2hhcm5lc3MvZHJvcGRvd24taGFybmVzcy5maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgU2t5RHJvcGRvd25IYXJuZXNzYCBpbnN0YW5jZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIFNreURyb3Bkb3duSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7fVxuIl19
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var _SkyDropdownHarness_documentRootLocator, _SkyDropdownHarness_getDropdownButton;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
4
|
+
import { SkyDropdownMenuHarness } from './dropdown-menu-harness';
|
|
5
|
+
export class SkyDropdownHarness extends SkyComponentHarness {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
_SkyDropdownHarness_documentRootLocator.set(this, this.documentRootLocatorFactory());
|
|
9
|
+
_SkyDropdownHarness_getDropdownButton.set(this, this.locatorFor('.sky-dropdown-button'));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
13
|
+
* `SkyDropdownHarness` that meets certain criteria
|
|
14
|
+
*/
|
|
15
|
+
static with(filters) {
|
|
16
|
+
return SkyDropdownHarness.getDataSkyIdPredicate(filters);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Clicks the dropdown button
|
|
20
|
+
*/
|
|
21
|
+
async clickDropdownButton() {
|
|
22
|
+
(await __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).click();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Gets the id of the dropdown menu the button controls
|
|
26
|
+
*/
|
|
27
|
+
async getAriaControls() {
|
|
28
|
+
return (await __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).getAttribute('aria-controls');
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Gets the aria-label value
|
|
32
|
+
*/
|
|
33
|
+
async getAriaLabel() {
|
|
34
|
+
return (await __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).getAttribute('aria-label');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Gets the dropdown button style
|
|
38
|
+
*/
|
|
39
|
+
async getButtonStyle() {
|
|
40
|
+
const button = await __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this);
|
|
41
|
+
if (await button.hasClass('sky-btn-primary')) {
|
|
42
|
+
return 'primary';
|
|
43
|
+
}
|
|
44
|
+
if (await button.hasClass('sky-btn-link')) {
|
|
45
|
+
return 'link';
|
|
46
|
+
}
|
|
47
|
+
return 'default';
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Gets the dropdown button type
|
|
51
|
+
*/
|
|
52
|
+
async getButtonType() {
|
|
53
|
+
const button = await __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this);
|
|
54
|
+
if (await button.hasClass('sky-dropdown-button-type-context-menu')) {
|
|
55
|
+
return 'context-menu';
|
|
56
|
+
}
|
|
57
|
+
return 'select';
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Gets the dropdown menu component
|
|
61
|
+
*/
|
|
62
|
+
async getDropdownMenu() {
|
|
63
|
+
const dropdownMenuId = await this.getAriaControls();
|
|
64
|
+
if (!dropdownMenuId) {
|
|
65
|
+
throw new Error('Unable to retrieve dropdown menu harness because dropdown is closed');
|
|
66
|
+
}
|
|
67
|
+
return __classPrivateFieldGet(this, _SkyDropdownHarness_documentRootLocator, "f").locatorForOptional(SkyDropdownMenuHarness.with({ selector: `#${dropdownMenuId}` }))();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Gets the hover tooltip text
|
|
71
|
+
*/
|
|
72
|
+
async getTooltipTitle() {
|
|
73
|
+
return (await __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).getAttribute('title');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Gets whether the dropdown is disabled
|
|
77
|
+
*/
|
|
78
|
+
async isDisabled() {
|
|
79
|
+
const button = await __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this);
|
|
80
|
+
return (await button.getProperty('disabled')) ? true : false;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Gets whether the dropdown menu is open
|
|
84
|
+
*/
|
|
85
|
+
async isOpen() {
|
|
86
|
+
const ariaExpanded = await (await __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).getAttribute('aria-expanded');
|
|
87
|
+
if (ariaExpanded?.match(/true/)) {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
_SkyDropdownHarness_documentRootLocator = new WeakMap(), _SkyDropdownHarness_getDropdownButton = new WeakMap();
|
|
94
|
+
/**
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
97
|
+
SkyDropdownHarness.hostSelector = 'sky-dropdown';
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9kcm9wZG93bi9oYXJuZXNzL2Ryb3Bkb3duLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsbUJBQW1CO0lBQTNEOztRQU1FLGtEQUF1QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBQztRQUV6RCxnREFBcUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFDO0lBOEcvRCxDQUFDO0lBNUdDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixDQUFDLE1BQU0sdUJBQUEsSUFBSSw2Q0FBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsT0FBTyxDQUFDLE1BQU0sdUJBQUEsSUFBSSw2Q0FBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUFDLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksNkNBQW1CLE1BQXZCLElBQUksQ0FBcUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLHVCQUFBLElBQUksNkNBQW1CLE1BQXZCLElBQUksQ0FBcUIsQ0FBQztRQUUvQyxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQzVDLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDekMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLE1BQU0sdUJBQUEsSUFBSSw2Q0FBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUFDO1FBRS9DLElBQUksTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLHVDQUF1QyxDQUFDLEVBQUU7WUFDbEUsT0FBTyxjQUFjLENBQUM7U0FDdkI7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVwRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQ2IscUVBQXFFLENBQ3RFLENBQUM7U0FDSDtRQUVELE9BQU8sdUJBQUEsSUFBSSwrQ0FBcUIsQ0FBQyxrQkFBa0IsQ0FDakQsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUNoRSxFQUFFLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixPQUFPLENBQUMsTUFBTSx1QkFBQSxJQUFJLDZDQUFtQixNQUF2QixJQUFJLENBQXFCLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxNQUFNLEdBQUcsTUFBTSx1QkFBQSxJQUFJLDZDQUFtQixNQUF2QixJQUFJLENBQXFCLENBQUM7UUFFL0MsT0FBTyxDQUFDLE1BQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsTUFBTTtRQUNqQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQ3pCLE1BQU0sdUJBQUEsSUFBSSw2Q0FBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUNoQyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVoQyxJQUFJLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7O0FBcEhEOztHQUVHO0FBQ1csK0JBQVksR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lEcm9wZG93bkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9kcm9wZG93bi1oYXJuZXNzLmZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25NZW51SGFybmVzcyB9IGZyb20gJy4vZHJvcGRvd24tbWVudS1oYXJuZXNzJztcblxuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZHJvcGRvd24nO1xuXG4gICNkb2N1bWVudFJvb3RMb2NhdG9yID0gdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpO1xuXG4gICNnZXREcm9wZG93bkJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignLnNreS1kcm9wZG93bi1idXR0b24nKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RHJvcGRvd25IYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWFcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lEcm9wZG93bkhhcm5lc3NGaWx0ZXJzXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5RHJvcGRvd25IYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreURyb3Bkb3duSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBkcm9wZG93biBidXR0b25cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0Ryb3Bkb3duQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIChhd2FpdCB0aGlzLiNnZXREcm9wZG93bkJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGlkIG9mIHRoZSBkcm9wZG93biBtZW51IHRoZSBidXR0b24gY29udHJvbHNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhQ29udHJvbHMoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXREcm9wZG93bkJ1dHRvbigpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhcmlhLWxhYmVsIHZhbHVlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYUxhYmVsKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0RHJvcGRvd25CdXR0b24oKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZHJvcGRvd24gYnV0dG9uIHN0eWxlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QnV0dG9uU3R5bGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLiNnZXREcm9wZG93bkJ1dHRvbigpO1xuXG4gICAgaWYgKGF3YWl0IGJ1dHRvbi5oYXNDbGFzcygnc2t5LWJ0bi1wcmltYXJ5JykpIHtcbiAgICAgIHJldHVybiAncHJpbWFyeSc7XG4gICAgfVxuXG4gICAgaWYgKGF3YWl0IGJ1dHRvbi5oYXNDbGFzcygnc2t5LWJ0bi1saW5rJykpIHtcbiAgICAgIHJldHVybiAnbGluayc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdkZWZhdWx0JztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkcm9wZG93biBidXR0b24gdHlwZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEJ1dHRvblR5cGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLiNnZXREcm9wZG93bkJ1dHRvbigpO1xuXG4gICAgaWYgKGF3YWl0IGJ1dHRvbi5oYXNDbGFzcygnc2t5LWRyb3Bkb3duLWJ1dHRvbi10eXBlLWNvbnRleHQtbWVudScpKSB7XG4gICAgICByZXR1cm4gJ2NvbnRleHQtbWVudSc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdzZWxlY3QnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRyb3Bkb3duIG1lbnUgY29tcG9uZW50XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RHJvcGRvd25NZW51KCk6IFByb21pc2U8U2t5RHJvcGRvd25NZW51SGFybmVzcyB8IG51bGw+IHtcbiAgICBjb25zdCBkcm9wZG93bk1lbnVJZCA9IGF3YWl0IHRoaXMuZ2V0QXJpYUNvbnRyb2xzKCk7XG5cbiAgICBpZiAoIWRyb3Bkb3duTWVudUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gcmV0cmlldmUgZHJvcGRvd24gbWVudSBoYXJuZXNzIGJlY2F1c2UgZHJvcGRvd24gaXMgY2xvc2VkJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jZG9jdW1lbnRSb290TG9jYXRvci5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICBTa3lEcm9wZG93bk1lbnVIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogYCMke2Ryb3Bkb3duTWVudUlkfWAgfSlcbiAgICApKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaG92ZXIgdG9vbHRpcCB0ZXh0XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VG9vbHRpcFRpdGxlKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0RHJvcGRvd25CdXR0b24oKSkuZ2V0QXR0cmlidXRlKCd0aXRsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgd2hldGhlciB0aGUgZHJvcGRvd24gaXMgZGlzYWJsZWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldERyb3Bkb3duQnV0dG9uKCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGJ1dHRvbi5nZXRQcm9wZXJ0eSgnZGlzYWJsZWQnKSkgPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB3aGV0aGVyIHRoZSBkcm9wZG93biBtZW51IGlzIG9wZW5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc09wZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgYXJpYUV4cGFuZGVkID0gYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0RHJvcGRvd25CdXR0b24oKVxuICAgICkuZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJyk7XG5cbiAgICBpZiAoYXJpYUV4cGFuZGVkPy5tYXRjaCgvdHJ1ZS8pKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var _SkyDropdownItemHarness_getItem, _SkyDropdownItemHarness_getButton;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
4
|
+
export class SkyDropdownItemHarness extends SkyComponentHarness {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
_SkyDropdownItemHarness_getItem.set(this, this.locatorFor('.sky-dropdown-item'));
|
|
8
|
+
_SkyDropdownItemHarness_getButton.set(this, this.locatorFor('button,a'));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Clicks the dropdown item
|
|
12
|
+
*/
|
|
13
|
+
async click() {
|
|
14
|
+
await (await __classPrivateFieldGet(this, _SkyDropdownItemHarness_getButton, "f").call(this)).click();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Gets the dropdown item role
|
|
18
|
+
*/
|
|
19
|
+
async getRole() {
|
|
20
|
+
return (await __classPrivateFieldGet(this, _SkyDropdownItemHarness_getItem, "f").call(this)).getAttribute('role');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
_SkyDropdownItemHarness_getItem = new WeakMap(), _SkyDropdownItemHarness_getButton = new WeakMap();
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
SkyDropdownItemHarness.hostSelector = 'sky-dropdown-item';
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3Rlc3Rpbmcvc3JjL2Ryb3Bkb3duL2hhcm5lc3MvZHJvcGRvd24taXRlbS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLG1CQUFtQjtJQUEvRDs7UUFNRSwwQ0FBVyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEVBQUM7UUFDakQsNENBQWEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBQztJQWUzQyxDQUFDO0lBYkM7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLENBQUMsTUFBTSx1QkFBQSxJQUFJLHlDQUFXLE1BQWYsSUFBSSxDQUFhLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLENBQUMsTUFBTSx1QkFBQSxJQUFJLHVDQUFTLE1BQWIsSUFBSSxDQUFXLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7O0FBcEJEOztHQUVHO0FBQ1csbUNBQVksR0FBRyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duSXRlbUhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWRyb3Bkb3duLWl0ZW0nO1xuXG4gICNnZXRJdGVtID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWRyb3Bkb3duLWl0ZW0nKTtcbiAgI2dldEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLGEnKTtcblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBkcm9wZG93biBpdGVtXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRyb3Bkb3duIGl0ZW0gcm9sZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJvbGUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJdGVtKCkpLmdldEF0dHJpYnV0ZSgncm9sZScpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1oYXJuZXNzLmZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvdGVzdGluZy9zcmMvZHJvcGRvd24vaGFybmVzcy9kcm9wZG93bi1tZW51LWhhcm5lc3MuZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgU2t5RHJvcGRvd25NZW51SGFybmVzc2AgaW5zdGFuY2VzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBTa3lEcm9wZG93bk1lbnVIYXJuZXNzRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7fVxuIl19
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
var _SkyDropdownMenuHarness_getDropdownItems;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
4
|
+
import { SkyDropdownItemHarness } from './dropdown-item-harness';
|
|
5
|
+
/**
|
|
6
|
+
* Harness for interacting with dropdown menu in tests
|
|
7
|
+
*/
|
|
8
|
+
export class SkyDropdownMenuHarness extends SkyComponentHarness {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
_SkyDropdownMenuHarness_getDropdownItems.set(this, this.locatorForAll(SkyDropdownItemHarness));
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
15
|
+
* `SkyDropdownMenuHarness` that meets certain criteria
|
|
16
|
+
*/
|
|
17
|
+
static with(filters) {
|
|
18
|
+
return SkyDropdownMenuHarness.getDataSkyIdPredicate(filters);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gets the aria-labelledby value
|
|
22
|
+
*/
|
|
23
|
+
async getAriaLabelledBy() {
|
|
24
|
+
return (await this.host()).getAttribute('aria-labelledby');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Clicks the dropdown menu item at index
|
|
28
|
+
* @param index Index of dropdown menu item
|
|
29
|
+
*/
|
|
30
|
+
async clickItemAtIndex(index) {
|
|
31
|
+
await (await this.getItemAtIndex(index))?.click();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Clicks the dropdown menu item with a specific role
|
|
35
|
+
* @param role Role of dropdown menu item to be clicked
|
|
36
|
+
*/
|
|
37
|
+
async clickItemWithRole(role) {
|
|
38
|
+
const menuItem = await this.getItemWithRole(role);
|
|
39
|
+
if (!menuItem) {
|
|
40
|
+
throw new Error(`Unable to click item. Item with role ${role} does not exist in this dropdown menu`);
|
|
41
|
+
}
|
|
42
|
+
await (await this.getItemWithRole(role))?.click();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Gets the dropdown menu item at a specific index
|
|
46
|
+
* @param index Index of dropdown menu item to be clicked
|
|
47
|
+
*/
|
|
48
|
+
async getItemAtIndex(index) {
|
|
49
|
+
const itemsList = await this.getItems();
|
|
50
|
+
if (itemsList?.length === 0) {
|
|
51
|
+
throw new Error('Unable to retrieve item because dropdown menu is empty');
|
|
52
|
+
}
|
|
53
|
+
return itemsList.at(index);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Gets the role of dropdown menu at index
|
|
57
|
+
* @param index Index of dropdown menu item
|
|
58
|
+
*/
|
|
59
|
+
async getItemRoleAtIndex(index) {
|
|
60
|
+
return (await this.getItemAtIndex(index))?.getRole();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Gets an array of dropdown menu items
|
|
64
|
+
*/
|
|
65
|
+
async getItems() {
|
|
66
|
+
return await __classPrivateFieldGet(this, _SkyDropdownMenuHarness_getDropdownItems, "f").call(this);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Gets the dropdown menu item from role
|
|
70
|
+
* @param role Role of dropdown menu item
|
|
71
|
+
*/
|
|
72
|
+
async getItemWithRole(role) {
|
|
73
|
+
const itemsList = await this.getItems();
|
|
74
|
+
if (itemsList?.length === 0) {
|
|
75
|
+
throw new Error('Unable to retrieve item because dropdown menu is empty');
|
|
76
|
+
}
|
|
77
|
+
for (const item of itemsList) {
|
|
78
|
+
if ((await item.getRole())?.match(role))
|
|
79
|
+
return item;
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Gets the dropdown menu role
|
|
85
|
+
*/
|
|
86
|
+
async getRole() {
|
|
87
|
+
return (await this.host()).getAttribute('role');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
_SkyDropdownMenuHarness_getDropdownItems = new WeakMap();
|
|
91
|
+
/**
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
SkyDropdownMenuHarness.hostSelector = '.sky-dropdown-menu';
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3Rlc3Rpbmcvc3JjL2Ryb3Bkb3duL2hhcm5lc3MvZHJvcGRvd24tbWVudS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHakU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQS9EOztRQU1FLG1EQUFvQixJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLEVBQUM7SUFvR2pFLENBQUM7SUFsR0M7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBc0M7UUFFdEMsT0FBTyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBYTtRQUN6QyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFZO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FDYix3Q0FBd0MsSUFBSSx1Q0FBdUMsQ0FDcEYsQ0FBQztTQUNIO1FBQ0QsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsY0FBYyxDQUN6QixLQUFhO1FBRWIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFeEMsSUFBSSxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7U0FDM0U7UUFFRCxPQUFPLFNBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxrQkFBa0IsQ0FDN0IsS0FBYTtRQUViLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsUUFBUTtRQUNuQixPQUFPLE1BQU0sdUJBQUEsSUFBSSxnREFBa0IsTUFBdEIsSUFBSSxDQUFvQixDQUFDO0lBQ3hDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxLQUFLLENBQUMsZUFBZSxDQUMzQixJQUFZO1FBRVosTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFeEMsSUFBSSxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7U0FDM0U7UUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFNBQVMsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1NBQ3REO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7OztBQXhHRDs7R0FFRztBQUNXLG1DQUFZLEdBQUcsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lEcm9wZG93bkl0ZW1IYXJuZXNzIH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25NZW51SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2Ryb3Bkb3duLW1lbnUtaGFybmVzcy5maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGRyb3Bkb3duIG1lbnUgaW4gdGVzdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duTWVudUhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnLnNreS1kcm9wZG93bi1tZW51JztcblxuICAjZ2V0RHJvcGRvd25JdGVtcyA9IHRoaXMubG9jYXRvckZvckFsbChTa3lEcm9wZG93bkl0ZW1IYXJuZXNzKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RHJvcGRvd25NZW51SGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RHJvcGRvd25NZW51SGFybmVzc0ZpbHRlcnNcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lEcm9wZG93bk1lbnVIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreURyb3Bkb3duTWVudUhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFyaWEtbGFiZWxsZWRieSB2YWx1ZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbGxlZEJ5KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBkcm9wZG93biBtZW51IGl0ZW0gYXQgaW5kZXhcbiAgICogQHBhcmFtIGluZGV4IEluZGV4IG9mIGRyb3Bkb3duIG1lbnUgaXRlbVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSXRlbUF0SW5kZXgoaW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLmdldEl0ZW1BdEluZGV4KGluZGV4KSk/LmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBkcm9wZG93biBtZW51IGl0ZW0gd2l0aCBhIHNwZWNpZmljIHJvbGVcbiAgICogQHBhcmFtIHJvbGUgUm9sZSBvZiBkcm9wZG93biBtZW51IGl0ZW0gdG8gYmUgY2xpY2tlZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSXRlbVdpdGhSb2xlKHJvbGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gYXdhaXQgdGhpcy5nZXRJdGVtV2l0aFJvbGUocm9sZSk7XG4gICAgaWYgKCFtZW51SXRlbSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVW5hYmxlIHRvIGNsaWNrIGl0ZW0uIEl0ZW0gd2l0aCByb2xlICR7cm9sZX0gZG9lcyBub3QgZXhpc3QgaW4gdGhpcyBkcm9wZG93biBtZW51YFxuICAgICAgKTtcbiAgICB9XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuZ2V0SXRlbVdpdGhSb2xlKHJvbGUpKT8uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkcm9wZG93biBtZW51IGl0ZW0gYXQgYSBzcGVjaWZpYyBpbmRleFxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2YgZHJvcGRvd24gbWVudSBpdGVtIHRvIGJlIGNsaWNrZWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRJdGVtQXRJbmRleChcbiAgICBpbmRleDogbnVtYmVyXG4gICk6IFByb21pc2U8U2t5RHJvcGRvd25JdGVtSGFybmVzcyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGl0ZW1zTGlzdCA9IGF3YWl0IHRoaXMuZ2V0SXRlbXMoKTtcblxuICAgIGlmIChpdGVtc0xpc3Q/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gcmV0cmlldmUgaXRlbSBiZWNhdXNlIGRyb3Bkb3duIG1lbnUgaXMgZW1wdHknKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbXNMaXN0LmF0KGluZGV4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByb2xlIG9mIGRyb3Bkb3duIG1lbnUgYXQgaW5kZXhcbiAgICogQHBhcmFtIGluZGV4IEluZGV4IG9mIGRyb3Bkb3duIG1lbnUgaXRlbVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEl0ZW1Sb2xlQXRJbmRleChcbiAgICBpbmRleDogbnVtYmVyXG4gICk6IFByb21pc2U8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRJdGVtQXRJbmRleChpbmRleCkpPy5nZXRSb2xlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBhcnJheSBvZiBkcm9wZG93biBtZW51IGl0ZW1zXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SXRlbXMoKTogUHJvbWlzZTxTa3lEcm9wZG93bkl0ZW1IYXJuZXNzW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZ2V0RHJvcGRvd25JdGVtcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRyb3Bkb3duIG1lbnUgaXRlbSBmcm9tIHJvbGVcbiAgICogQHBhcmFtIHJvbGUgUm9sZSBvZiBkcm9wZG93biBtZW51IGl0ZW1cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZ2V0SXRlbVdpdGhSb2xlKFxuICAgIHJvbGU6IHN0cmluZ1xuICApOiBQcm9taXNlPFNreURyb3Bkb3duSXRlbUhhcm5lc3MgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBpdGVtc0xpc3QgPSBhd2FpdCB0aGlzLmdldEl0ZW1zKCk7XG5cbiAgICBpZiAoaXRlbXNMaXN0Py5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJldHJpZXZlIGl0ZW0gYmVjYXVzZSBkcm9wZG93biBtZW51IGlzIGVtcHR5Jyk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zTGlzdCkge1xuICAgICAgaWYgKChhd2FpdCBpdGVtLmdldFJvbGUoKSk/Lm1hdGNoKHJvbGUpKSByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRyb3Bkb3duIG1lbnUgcm9sZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJvbGUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdyb2xlJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3Rlc3Rpbmcvc3JjL2Ryb3Bkb3duL3BvcG92ZXJzLWZpeHR1cmUtZHJvcGRvd24taXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lQb3BvdmVyc0ZpeHR1cmVEcm9wZG93bkl0ZW0ge1xuICBhcmlhUm9sZTogc3RyaW5nO1xufVxuIl19
|
|
@@ -5,4 +5,9 @@ export * from './dropdown/popovers-fixture-dropdown-item';
|
|
|
5
5
|
export * from './dropdown/popovers-fixture-dropdown-menu';
|
|
6
6
|
export * from './popover/popover-testing.module';
|
|
7
7
|
export * from './popover/popover-fixture';
|
|
8
|
-
|
|
8
|
+
export * from './dropdown/harness/dropdown-harness';
|
|
9
|
+
export * from './dropdown/harness/dropdown-harness.filters';
|
|
10
|
+
export * from './dropdown/harness/dropdown-menu-harness';
|
|
11
|
+
export * from './dropdown/harness/dropdown-menu-harness.filters';
|
|
12
|
+
export * from './dropdown/harness/dropdown-item-harness';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9kcm9wZG93bi10ZXN0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duL2Ryb3Bkb3duLWZpeHR1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9wb3BvdmVycy1maXh0dXJlLWRyb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24vcG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24vcG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1tZW51JztcblxuZXhwb3J0ICogZnJvbSAnLi9wb3BvdmVyL3BvcG92ZXItdGVzdGluZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wb3BvdmVyL3BvcG92ZXItZml4dHVyZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24vaGFybmVzcy9kcm9wZG93bi1oYXJuZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24vaGFybmVzcy9kcm9wZG93bi1oYXJuZXNzLmZpbHRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9oYXJuZXNzL2Ryb3Bkb3duLW1lbnUtaGFybmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duL2hhcm5lc3MvZHJvcGRvd24tbWVudS1oYXJuZXNzLmZpbHRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9oYXJuZXNzL2Ryb3Bkb3duLWl0ZW0taGFybmVzcyc7XG4iXX0=
|
|
@@ -6,6 +6,7 @@ import { By } from '@angular/platform-browser';
|
|
|
6
6
|
import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
|
7
7
|
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
8
8
|
import { SkyThemeModule } from '@skyux/theme';
|
|
9
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* @internal
|
|
@@ -259,9 +260,264 @@ _SkyPopoverFixture_fixture = new WeakMap(), _SkyPopoverFixture_instances = new W
|
|
|
259
260
|
return !prefixedClass ? undefined : prefixedClass.slice(prefix.length);
|
|
260
261
|
};
|
|
261
262
|
|
|
263
|
+
var _SkyDropdownItemHarness_getItem, _SkyDropdownItemHarness_getButton;
|
|
264
|
+
class SkyDropdownItemHarness extends SkyComponentHarness {
|
|
265
|
+
constructor() {
|
|
266
|
+
super(...arguments);
|
|
267
|
+
_SkyDropdownItemHarness_getItem.set(this, this.locatorFor('.sky-dropdown-item'));
|
|
268
|
+
_SkyDropdownItemHarness_getButton.set(this, this.locatorFor('button,a'));
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Clicks the dropdown item
|
|
272
|
+
*/
|
|
273
|
+
click() {
|
|
274
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
275
|
+
yield (yield __classPrivateFieldGet(this, _SkyDropdownItemHarness_getButton, "f").call(this)).click();
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Gets the dropdown item role
|
|
280
|
+
*/
|
|
281
|
+
getRole() {
|
|
282
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
283
|
+
return (yield __classPrivateFieldGet(this, _SkyDropdownItemHarness_getItem, "f").call(this)).getAttribute('role');
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
_SkyDropdownItemHarness_getItem = new WeakMap(), _SkyDropdownItemHarness_getButton = new WeakMap();
|
|
288
|
+
/**
|
|
289
|
+
* @internal
|
|
290
|
+
*/
|
|
291
|
+
SkyDropdownItemHarness.hostSelector = 'sky-dropdown-item';
|
|
292
|
+
|
|
293
|
+
var _SkyDropdownMenuHarness_getDropdownItems;
|
|
294
|
+
/**
|
|
295
|
+
* Harness for interacting with dropdown menu in tests
|
|
296
|
+
*/
|
|
297
|
+
class SkyDropdownMenuHarness extends SkyComponentHarness {
|
|
298
|
+
constructor() {
|
|
299
|
+
super(...arguments);
|
|
300
|
+
_SkyDropdownMenuHarness_getDropdownItems.set(this, this.locatorForAll(SkyDropdownItemHarness));
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
304
|
+
* `SkyDropdownMenuHarness` that meets certain criteria
|
|
305
|
+
*/
|
|
306
|
+
static with(filters) {
|
|
307
|
+
return SkyDropdownMenuHarness.getDataSkyIdPredicate(filters);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Gets the aria-labelledby value
|
|
311
|
+
*/
|
|
312
|
+
getAriaLabelledBy() {
|
|
313
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
314
|
+
return (yield this.host()).getAttribute('aria-labelledby');
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Clicks the dropdown menu item at index
|
|
319
|
+
* @param index Index of dropdown menu item
|
|
320
|
+
*/
|
|
321
|
+
clickItemAtIndex(index) {
|
|
322
|
+
var _a;
|
|
323
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
324
|
+
yield ((_a = (yield this.getItemAtIndex(index))) === null || _a === void 0 ? void 0 : _a.click());
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Clicks the dropdown menu item with a specific role
|
|
329
|
+
* @param role Role of dropdown menu item to be clicked
|
|
330
|
+
*/
|
|
331
|
+
clickItemWithRole(role) {
|
|
332
|
+
var _a;
|
|
333
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
334
|
+
const menuItem = yield this.getItemWithRole(role);
|
|
335
|
+
if (!menuItem) {
|
|
336
|
+
throw new Error(`Unable to click item. Item with role ${role} does not exist in this dropdown menu`);
|
|
337
|
+
}
|
|
338
|
+
yield ((_a = (yield this.getItemWithRole(role))) === null || _a === void 0 ? void 0 : _a.click());
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Gets the dropdown menu item at a specific index
|
|
343
|
+
* @param index Index of dropdown menu item to be clicked
|
|
344
|
+
*/
|
|
345
|
+
getItemAtIndex(index) {
|
|
346
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
347
|
+
const itemsList = yield this.getItems();
|
|
348
|
+
if ((itemsList === null || itemsList === void 0 ? void 0 : itemsList.length) === 0) {
|
|
349
|
+
throw new Error('Unable to retrieve item because dropdown menu is empty');
|
|
350
|
+
}
|
|
351
|
+
return itemsList.at(index);
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Gets the role of dropdown menu at index
|
|
356
|
+
* @param index Index of dropdown menu item
|
|
357
|
+
*/
|
|
358
|
+
getItemRoleAtIndex(index) {
|
|
359
|
+
var _a;
|
|
360
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
361
|
+
return (_a = (yield this.getItemAtIndex(index))) === null || _a === void 0 ? void 0 : _a.getRole();
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Gets an array of dropdown menu items
|
|
366
|
+
*/
|
|
367
|
+
getItems() {
|
|
368
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
369
|
+
return yield __classPrivateFieldGet(this, _SkyDropdownMenuHarness_getDropdownItems, "f").call(this);
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Gets the dropdown menu item from role
|
|
374
|
+
* @param role Role of dropdown menu item
|
|
375
|
+
*/
|
|
376
|
+
getItemWithRole(role) {
|
|
377
|
+
var _a;
|
|
378
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
379
|
+
const itemsList = yield this.getItems();
|
|
380
|
+
if ((itemsList === null || itemsList === void 0 ? void 0 : itemsList.length) === 0) {
|
|
381
|
+
throw new Error('Unable to retrieve item because dropdown menu is empty');
|
|
382
|
+
}
|
|
383
|
+
for (const item of itemsList) {
|
|
384
|
+
if ((_a = (yield item.getRole())) === null || _a === void 0 ? void 0 : _a.match(role))
|
|
385
|
+
return item;
|
|
386
|
+
}
|
|
387
|
+
return undefined;
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Gets the dropdown menu role
|
|
392
|
+
*/
|
|
393
|
+
getRole() {
|
|
394
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
395
|
+
return (yield this.host()).getAttribute('role');
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
_SkyDropdownMenuHarness_getDropdownItems = new WeakMap();
|
|
400
|
+
/**
|
|
401
|
+
* @internal
|
|
402
|
+
*/
|
|
403
|
+
SkyDropdownMenuHarness.hostSelector = '.sky-dropdown-menu';
|
|
404
|
+
|
|
405
|
+
var _SkyDropdownHarness_documentRootLocator, _SkyDropdownHarness_getDropdownButton;
|
|
406
|
+
class SkyDropdownHarness extends SkyComponentHarness {
|
|
407
|
+
constructor() {
|
|
408
|
+
super(...arguments);
|
|
409
|
+
_SkyDropdownHarness_documentRootLocator.set(this, this.documentRootLocatorFactory());
|
|
410
|
+
_SkyDropdownHarness_getDropdownButton.set(this, this.locatorFor('.sky-dropdown-button'));
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
414
|
+
* `SkyDropdownHarness` that meets certain criteria
|
|
415
|
+
*/
|
|
416
|
+
static with(filters) {
|
|
417
|
+
return SkyDropdownHarness.getDataSkyIdPredicate(filters);
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* Clicks the dropdown button
|
|
421
|
+
*/
|
|
422
|
+
clickDropdownButton() {
|
|
423
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
424
|
+
(yield __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).click();
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Gets the id of the dropdown menu the button controls
|
|
429
|
+
*/
|
|
430
|
+
getAriaControls() {
|
|
431
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
432
|
+
return (yield __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).getAttribute('aria-controls');
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Gets the aria-label value
|
|
437
|
+
*/
|
|
438
|
+
getAriaLabel() {
|
|
439
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
440
|
+
return (yield __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).getAttribute('aria-label');
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Gets the dropdown button style
|
|
445
|
+
*/
|
|
446
|
+
getButtonStyle() {
|
|
447
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
448
|
+
const button = yield __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this);
|
|
449
|
+
if (yield button.hasClass('sky-btn-primary')) {
|
|
450
|
+
return 'primary';
|
|
451
|
+
}
|
|
452
|
+
if (yield button.hasClass('sky-btn-link')) {
|
|
453
|
+
return 'link';
|
|
454
|
+
}
|
|
455
|
+
return 'default';
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Gets the dropdown button type
|
|
460
|
+
*/
|
|
461
|
+
getButtonType() {
|
|
462
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
463
|
+
const button = yield __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this);
|
|
464
|
+
if (yield button.hasClass('sky-dropdown-button-type-context-menu')) {
|
|
465
|
+
return 'context-menu';
|
|
466
|
+
}
|
|
467
|
+
return 'select';
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Gets the dropdown menu component
|
|
472
|
+
*/
|
|
473
|
+
getDropdownMenu() {
|
|
474
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
475
|
+
const dropdownMenuId = yield this.getAriaControls();
|
|
476
|
+
if (!dropdownMenuId) {
|
|
477
|
+
throw new Error('Unable to retrieve dropdown menu harness because dropdown is closed');
|
|
478
|
+
}
|
|
479
|
+
return __classPrivateFieldGet(this, _SkyDropdownHarness_documentRootLocator, "f").locatorForOptional(SkyDropdownMenuHarness.with({ selector: `#${dropdownMenuId}` }))();
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Gets the hover tooltip text
|
|
484
|
+
*/
|
|
485
|
+
getTooltipTitle() {
|
|
486
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
487
|
+
return (yield __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).getAttribute('title');
|
|
488
|
+
});
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* Gets whether the dropdown is disabled
|
|
492
|
+
*/
|
|
493
|
+
isDisabled() {
|
|
494
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
495
|
+
const button = yield __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this);
|
|
496
|
+
return (yield button.getProperty('disabled')) ? true : false;
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* Gets whether the dropdown menu is open
|
|
501
|
+
*/
|
|
502
|
+
isOpen() {
|
|
503
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
504
|
+
const ariaExpanded = yield (yield __classPrivateFieldGet(this, _SkyDropdownHarness_getDropdownButton, "f").call(this)).getAttribute('aria-expanded');
|
|
505
|
+
if (ariaExpanded === null || ariaExpanded === void 0 ? void 0 : ariaExpanded.match(/true/)) {
|
|
506
|
+
return true;
|
|
507
|
+
}
|
|
508
|
+
return false;
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
_SkyDropdownHarness_documentRootLocator = new WeakMap(), _SkyDropdownHarness_getDropdownButton = new WeakMap();
|
|
513
|
+
/**
|
|
514
|
+
* @internal
|
|
515
|
+
*/
|
|
516
|
+
SkyDropdownHarness.hostSelector = 'sky-dropdown';
|
|
517
|
+
|
|
262
518
|
/**
|
|
263
519
|
* Generated bundle index. Do not edit.
|
|
264
520
|
*/
|
|
265
521
|
|
|
266
|
-
export { SkyDropdownFixture, SkyDropdownTestingModule, SkyPopoverFixture, SkyPopoverTestingModule };
|
|
522
|
+
export { SkyDropdownFixture, SkyDropdownHarness, SkyDropdownItemHarness, SkyDropdownMenuHarness, SkyDropdownTestingModule, SkyPopoverFixture, SkyPopoverTestingModule };
|
|
267
523
|
//# sourceMappingURL=skyux-popovers-testing.mjs.map
|