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