@skyux/pages 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.
Files changed (24) hide show
  1. package/documentation.json +489 -489
  2. package/esm2022/testing/modules/link-list/link-list-harness-filters.mjs +2 -0
  3. package/esm2022/testing/modules/link-list/link-list-harness.mjs +40 -0
  4. package/esm2022/testing/modules/page/page-harness-filters.mjs +2 -0
  5. package/esm2022/testing/modules/page/page-harness.mjs +44 -0
  6. package/esm2022/testing/modules/page-header/page-header-harness-filters.mjs +2 -0
  7. package/esm2022/testing/modules/page-header/page-header-harness.mjs +37 -0
  8. package/esm2022/testing/public-api.mjs +4 -4
  9. package/fesm2022/skyux-pages-testing.mjs +40 -40
  10. package/fesm2022/skyux-pages-testing.mjs.map +1 -1
  11. package/package.json +9 -9
  12. package/testing/public-api.d.ts +6 -6
  13. package/esm2022/testing/link-list/link-list-harness-filters.mjs +0 -2
  14. package/esm2022/testing/link-list/link-list-harness.mjs +0 -40
  15. package/esm2022/testing/page/page-harness-filters.mjs +0 -2
  16. package/esm2022/testing/page/page-harness.mjs +0 -44
  17. package/esm2022/testing/page-header/page-header-harness-filters.mjs +0 -2
  18. package/esm2022/testing/page-header/page-header-harness.mjs +0 -37
  19. /package/testing/{link-list → modules/link-list}/link-list-harness-filters.d.ts +0 -0
  20. /package/testing/{link-list → modules/link-list}/link-list-harness.d.ts +0 -0
  21. /package/testing/{page → modules/page}/page-harness-filters.d.ts +0 -0
  22. /package/testing/{page → modules/page}/page-harness.d.ts +0 -0
  23. /package/testing/{page-header → modules/page-header}/page-header-harness-filters.d.ts +0 -0
  24. /package/testing/{page-header → modules/page-header}/page-header-harness.d.ts +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1saXN0LWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdlcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2xpbmstbGlzdC9saW5rLWxpc3QtaGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBTa3lMaW5rTGlzdEhhcm5lc3MgaW5zdGFuY2VzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreUxpbmtMaXN0SGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7fVxuIl19
@@ -0,0 +1,40 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ import { SkyWaitHarness } from '@skyux/indicators/testing';
3
+ /**
4
+ * Harness for interacting with a link list component in tests.
5
+ */
6
+ export class SkyLinkListHarness extends SkyComponentHarness {
7
+ /**
8
+ * @internal
9
+ */
10
+ static { this.hostSelector = 'sky-link-list'; }
11
+ #getHeading = this.locatorFor('h2.sky-font-heading-4');
12
+ #getList = this.locatorFor('ul.sky-link-list');
13
+ /**
14
+ * Gets a `HarnessPredicate` that can be used to search for a
15
+ * `SkyLinkListHarness` that meets certain criteria.
16
+ */
17
+ static with(filters) {
18
+ return SkyLinkListHarness.getDataSkyIdPredicate(filters);
19
+ }
20
+ /**
21
+ * Gets the link list's heading text. If there are no links, this will return `undefined`.
22
+ */
23
+ async getHeadingText() {
24
+ return await this.#getHeading().then((el) => el.text(), () => undefined);
25
+ }
26
+ /**
27
+ * Whether the link list is showing a list of links.
28
+ */
29
+ async isVisible() {
30
+ return await this.#getList().then(() => true, () => false);
31
+ }
32
+ /**
33
+ * Gets the status of the wait indicator.
34
+ */
35
+ async isWaiting() {
36
+ const waitHarness = await (await this.locatorFor(SkyWaitHarness))();
37
+ return await waitHarness.isWaiting();
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1saXN0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnZXMvdGVzdGluZy9zcmMvbW9kdWxlcy9saW5rLWxpc3QvbGluay1saXN0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTNEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUN6RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZUFBZSxDQUFDO0lBRTdDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdkQsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUUvQzs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFrQztRQUVsQyxPQUFPLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUNsQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUNqQixHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQ2hCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUztRQUNwQixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDL0IsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUNWLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FDWixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDcEUsT0FBTyxNQUFNLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreVdhaXRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUxpbmtMaXN0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2xpbmstbGlzdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBsaW5rIGxpc3QgY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5TGlua0xpc3RIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1saW5rLWxpc3QnO1xuXG4gICNnZXRIZWFkaW5nID0gdGhpcy5sb2NhdG9yRm9yKCdoMi5za3ktZm9udC1oZWFkaW5nLTQnKTtcbiAgI2dldExpc3QgPSB0aGlzLmxvY2F0b3JGb3IoJ3VsLnNreS1saW5rLWxpc3QnKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5TGlua0xpc3RIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5TGlua0xpc3RIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lMaW5rTGlzdEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5TGlua0xpc3RIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBsaW5rIGxpc3QncyBoZWFkaW5nIHRleHQuIElmIHRoZXJlIGFyZSBubyBsaW5rcywgdGhpcyB3aWxsIHJldHVybiBgdW5kZWZpbmVkYC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLiNnZXRIZWFkaW5nKCkudGhlbihcbiAgICAgIChlbCkgPT4gZWwudGV4dCgpLFxuICAgICAgKCkgPT4gdW5kZWZpbmVkLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbGluayBsaXN0IGlzIHNob3dpbmcgYSBsaXN0IG9mIGxpbmtzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzVmlzaWJsZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZ2V0TGlzdCgpLnRoZW4oXG4gICAgICAoKSA9PiB0cnVlLFxuICAgICAgKCkgPT4gZmFsc2UsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzdGF0dXMgb2YgdGhlIHdhaXQgaW5kaWNhdG9yLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzV2FpdGluZygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB3YWl0SGFybmVzcyA9IGF3YWl0IChhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5V2FpdEhhcm5lc3MpKSgpO1xuICAgIHJldHVybiBhd2FpdCB3YWl0SGFybmVzcy5pc1dhaXRpbmcoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnZXMvdGVzdGluZy9zcmMvbW9kdWxlcy9wYWdlL3BhZ2UtaGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBTa3lQYWdlSGFybmVzcyBpbnN0YW5jZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5UGFnZUhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgU2t5SGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ import { SkyPageHeaderHarness } from '../page-header/page-header-harness';
3
+ const LAYOUT_PREFIX = 'sky-layout-host-';
4
+ const LAYOUT_TYPES = ['blocks', 'fit', 'list', 'tabs'];
5
+ /**
6
+ * Harness for interacting with a page component in tests.
7
+ */
8
+ export class SkyPageHarness extends SkyComponentHarness {
9
+ /**
10
+ * @internal
11
+ */
12
+ static { this.hostSelector = 'sky-page'; }
13
+ /**
14
+ * Gets a `HarnessPredicate` that can be used to search for a
15
+ * `SkyPageHarness` that meets certain criteria.
16
+ */
17
+ static with(filters) {
18
+ return SkyPageHarness.getDataSkyIdPredicate(filters);
19
+ }
20
+ /**
21
+ * Gets the current layout.
22
+ */
23
+ async getLayout() {
24
+ const page = await this.host();
25
+ for (const layout of LAYOUT_TYPES) {
26
+ if (await page.hasClass(`${LAYOUT_PREFIX}${layout}`)) {
27
+ return layout;
28
+ }
29
+ }
30
+ return 'none';
31
+ }
32
+ /**
33
+ * Gets the first page header that matches the given filters.
34
+ * @param filters filters for which page header to return
35
+ */
36
+ async getPageHeader(filters) {
37
+ const pageHeader = await this.locatorForOptional(SkyPageHeaderHarness.with(filters || {}))();
38
+ if (pageHeader) {
39
+ return pageHeader;
40
+ }
41
+ throw new Error(`Unable to find a page header with filter(s): ${JSON.stringify(filters)}.`);
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhZ2VzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvcGFnZS9wYWdlLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFLMUUsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDekMsTUFBTSxZQUFZLEdBQXdCLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFNUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLG1CQUFtQjtJQUNyRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsVUFBVSxDQUFDO0lBRXhDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQThCO1FBRTlCLE9BQU8sY0FBYyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRS9CLEtBQUssTUFBTSxNQUFNLElBQUksWUFBWSxFQUFFLENBQUM7WUFDbEMsSUFBSSxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxhQUFhLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsYUFBYSxDQUN4QixPQUFxQztRQUVyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FDOUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FDekMsRUFBRSxDQUFDO1FBQ0osSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLGdEQUFnRCxJQUFJLENBQUMsU0FBUyxDQUM1RCxPQUFPLENBQ1IsR0FBRyxDQUNMLENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreVBhZ2VMYXlvdXRUeXBlIH0gZnJvbSAnQHNreXV4L3BhZ2VzJztcblxuaW1wb3J0IHsgU2t5UGFnZUhlYWRlckhhcm5lc3MgfSBmcm9tICcuLi9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci1oYXJuZXNzJztcbmltcG9ydCB7IFNreVBhZ2VIZWFkZXJIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4uL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLWhhcm5lc3MtZmlsdGVycyc7XG5cbmltcG9ydCB7IFNreVBhZ2VIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vcGFnZS1oYXJuZXNzLWZpbHRlcnMnO1xuXG5jb25zdCBMQVlPVVRfUFJFRklYID0gJ3NreS1sYXlvdXQtaG9zdC0nO1xuY29uc3QgTEFZT1VUX1RZUEVTOiBTa3lQYWdlTGF5b3V0VHlwZVtdID0gWydibG9ja3MnLCAnZml0JywgJ2xpc3QnLCAndGFicyddO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBwYWdlIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVBhZ2VIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1wYWdlJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5UGFnZUhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lQYWdlSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5UGFnZUhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5UGFnZUhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgbGF5b3V0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExheW91dCgpOiBQcm9taXNlPFNreVBhZ2VMYXlvdXRUeXBlPiB7XG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHRoaXMuaG9zdCgpO1xuXG4gICAgZm9yIChjb25zdCBsYXlvdXQgb2YgTEFZT1VUX1RZUEVTKSB7XG4gICAgICBpZiAoYXdhaXQgcGFnZS5oYXNDbGFzcyhgJHtMQVlPVVRfUFJFRklYfSR7bGF5b3V0fWApKSB7XG4gICAgICAgIHJldHVybiBsYXlvdXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICdub25lJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaXJzdCBwYWdlIGhlYWRlciB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIGZpbHRlcnMuXG4gICAqIEBwYXJhbSBmaWx0ZXJzIGZpbHRlcnMgZm9yIHdoaWNoIHBhZ2UgaGVhZGVyIHRvIHJldHVyblxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFBhZ2VIZWFkZXIoXG4gICAgZmlsdGVycz86IFNreVBhZ2VIZWFkZXJIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lQYWdlSGVhZGVySGFybmVzcz4ge1xuICAgIGNvbnN0IHBhZ2VIZWFkZXIgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgIFNreVBhZ2VIZWFkZXJIYXJuZXNzLndpdGgoZmlsdGVycyB8fCB7fSksXG4gICAgKSgpO1xuICAgIGlmIChwYWdlSGVhZGVyKSB7XG4gICAgICByZXR1cm4gcGFnZUhlYWRlcjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgYSBwYWdlIGhlYWRlciB3aXRoIGZpbHRlcihzKTogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgZmlsdGVycyxcbiAgICAgICl9LmAsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXItaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhZ2VzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXItaGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBTa3lQYWdlSGVhZGVySGFybmVzcyBpbnN0YW5jZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5UGFnZUhlYWRlckhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgU2t5SGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ /**
3
+ * Harness for interacting with a page header component in tests.
4
+ */
5
+ export class SkyPageHeaderHarness extends SkyComponentHarness {
6
+ /**
7
+ * @internal
8
+ */
9
+ static { this.hostSelector = 'sky-page-header'; }
10
+ #getTitle = this.locatorFor('.sky-page-header-page-title');
11
+ #getParentLink = this.locatorForOptional('.sky-page-header-parent-link');
12
+ /**
13
+ * Gets a `HarnessPredicate` that can be used to search for a
14
+ * `SkyPageHeaderHarness` that meets certain criteria.
15
+ */
16
+ static with(filters) {
17
+ return SkyPageHeaderHarness.getDataSkyIdPredicate(filters);
18
+ }
19
+ /**
20
+ * Gets the current page title.
21
+ */
22
+ async getPageTitle() {
23
+ const title = await this.#getTitle();
24
+ return await title.text();
25
+ }
26
+ /**
27
+ * Gets the current page title.
28
+ */
29
+ async getParentLinkText() {
30
+ const parentLink = await this.#getParentLink();
31
+ if (parentLink) {
32
+ return await parentLink.text();
33
+ }
34
+ throw new Error('No parent link was found in the page header.');
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXItaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdlcy90ZXN0aW5nL3NyYy9tb2R1bGVzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBQzNEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxpQkFBaUIsQ0FBQztJQUUvQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzNELGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUV6RTs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFvQztRQUVwQyxPQUFPLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXJDLE9BQU8sTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUvQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxNQUFNLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBQ2xFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lQYWdlSGVhZGVySGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3BhZ2UtaGVhZGVyLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHBhZ2UgaGVhZGVyIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVBhZ2VIZWFkZXJIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1wYWdlLWhlYWRlcic7XG5cbiAgI2dldFRpdGxlID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LXBhZ2UtaGVhZGVyLXBhZ2UtdGl0bGUnKTtcbiAgI2dldFBhcmVudExpbmsgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1wYWdlLWhlYWRlci1wYXJlbnQtbGluaycpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lQYWdlSGVhZGVySGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreVBhZ2VIZWFkZXJIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lQYWdlSGVhZGVySGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lQYWdlSGVhZGVySGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCBwYWdlIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFBhZ2VUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHRpdGxlID0gYXdhaXQgdGhpcy4jZ2V0VGl0bGUoKTtcblxuICAgIHJldHVybiBhd2FpdCB0aXRsZS50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCBwYWdlIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFBhcmVudExpbmtUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcGFyZW50TGluayA9IGF3YWl0IHRoaXMuI2dldFBhcmVudExpbmsoKTtcblxuICAgIGlmIChwYXJlbnRMaW5rKSB7XG4gICAgICByZXR1cm4gYXdhaXQgcGFyZW50TGluay50ZXh0KCk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBwYXJlbnQgbGluayB3YXMgZm91bmQgaW4gdGhlIHBhZ2UgaGVhZGVyLicpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- export { SkyPageHarness } from './page/page-harness';
2
- export { SkyPageHeaderHarness } from './page-header/page-header-harness';
3
- export { SkyLinkListHarness } from './link-list/link-list-harness';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdlcy90ZXN0aW5nL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNreVBhZ2VIYXJuZXNzIH0gZnJvbSAnLi9wYWdlL3BhZ2UtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lQYWdlSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3BhZ2UvcGFnZS1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5UGFnZUhlYWRlckhhcm5lc3MgfSBmcm9tICcuL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5UGFnZUhlYWRlckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5TGlua0xpc3RIYXJuZXNzIH0gZnJvbSAnLi9saW5rLWxpc3QvbGluay1saXN0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TGlua0xpc3RIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbGluay1saXN0L2xpbmstbGlzdC1oYXJuZXNzLWZpbHRlcnMnO1xuIl19
1
+ export { SkyLinkListHarness } from './modules/link-list/link-list-harness';
2
+ export { SkyPageHeaderHarness } from './modules/page-header/page-header-harness';
3
+ export { SkyPageHarness } from './modules/page/page-harness';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdlcy90ZXN0aW5nL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNreUxpbmtMaXN0SGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9saW5rLWxpc3QvbGluay1saXN0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TGlua0xpc3RIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9saW5rLWxpc3QvbGluay1saXN0LWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lQYWdlSGVhZGVySGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVBhZ2VIZWFkZXJIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5UGFnZUhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvcGFnZS9wYWdlLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5UGFnZUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL3BhZ2UvcGFnZS1oYXJuZXNzLWZpbHRlcnMnO1xuIl19
@@ -1,6 +1,44 @@
1
1
  import { SkyComponentHarness } from '@skyux/core/testing';
2
2
  import { SkyWaitHarness } from '@skyux/indicators/testing';
3
3
 
4
+ /**
5
+ * Harness for interacting with a link list component in tests.
6
+ */
7
+ class SkyLinkListHarness extends SkyComponentHarness {
8
+ /**
9
+ * @internal
10
+ */
11
+ static { this.hostSelector = 'sky-link-list'; }
12
+ #getHeading = this.locatorFor('h2.sky-font-heading-4');
13
+ #getList = this.locatorFor('ul.sky-link-list');
14
+ /**
15
+ * Gets a `HarnessPredicate` that can be used to search for a
16
+ * `SkyLinkListHarness` that meets certain criteria.
17
+ */
18
+ static with(filters) {
19
+ return SkyLinkListHarness.getDataSkyIdPredicate(filters);
20
+ }
21
+ /**
22
+ * Gets the link list's heading text. If there are no links, this will return `undefined`.
23
+ */
24
+ async getHeadingText() {
25
+ return await this.#getHeading().then((el) => el.text(), () => undefined);
26
+ }
27
+ /**
28
+ * Whether the link list is showing a list of links.
29
+ */
30
+ async isVisible() {
31
+ return await this.#getList().then(() => true, () => false);
32
+ }
33
+ /**
34
+ * Gets the status of the wait indicator.
35
+ */
36
+ async isWaiting() {
37
+ const waitHarness = await (await this.locatorFor(SkyWaitHarness))();
38
+ return await waitHarness.isWaiting();
39
+ }
40
+ }
41
+
4
42
  /**
5
43
  * Harness for interacting with a page header component in tests.
6
44
  */
@@ -23,7 +61,7 @@ class SkyPageHeaderHarness extends SkyComponentHarness {
23
61
  */
24
62
  async getPageTitle() {
25
63
  const title = await this.#getTitle();
26
- return title.text();
64
+ return await title.text();
27
65
  }
28
66
  /**
29
67
  * Gets the current page title.
@@ -31,7 +69,7 @@ class SkyPageHeaderHarness extends SkyComponentHarness {
31
69
  async getParentLinkText() {
32
70
  const parentLink = await this.#getParentLink();
33
71
  if (parentLink) {
34
- return parentLink.text();
72
+ return await parentLink.text();
35
73
  }
36
74
  throw new Error('No parent link was found in the page header.');
37
75
  }
@@ -79,44 +117,6 @@ class SkyPageHarness extends SkyComponentHarness {
79
117
  }
80
118
  }
81
119
 
82
- /**
83
- * Harness for interacting with a link list component in tests.
84
- */
85
- class SkyLinkListHarness extends SkyComponentHarness {
86
- /**
87
- * @internal
88
- */
89
- static { this.hostSelector = 'sky-link-list'; }
90
- #getHeading = this.locatorFor('h2.sky-font-heading-4');
91
- #getList = this.locatorFor('ul.sky-link-list');
92
- /**
93
- * Gets a `HarnessPredicate` that can be used to search for a
94
- * `SkyLinkListHarness` that meets certain criteria.
95
- */
96
- static with(filters) {
97
- return SkyLinkListHarness.getDataSkyIdPredicate(filters);
98
- }
99
- /**
100
- * Gets the link list's heading text. If there are no links, this will return `undefined`.
101
- */
102
- async getHeadingText() {
103
- return await this.#getHeading().then((el) => el.text(), () => undefined);
104
- }
105
- /**
106
- * Whether the link list is showing a list of links.
107
- */
108
- async isVisible() {
109
- return await this.#getList().then(() => true, () => false);
110
- }
111
- /**
112
- * Gets the status of the wait indicator.
113
- */
114
- async isWaiting() {
115
- const waitHarness = await (await this.locatorFor(SkyWaitHarness))();
116
- return await waitHarness.isWaiting();
117
- }
118
- }
119
-
120
120
  /**
121
121
  * Generated bundle index. Do not edit.
122
122
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-pages-testing.mjs","sources":["../../../../../libs/components/pages/testing/src/page-header/page-header-harness.ts","../../../../../libs/components/pages/testing/src/page/page-harness.ts","../../../../../libs/components/pages/testing/src/link-list/link-list-harness.ts","../../../../../libs/components/pages/testing/src/skyux-pages-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyPageHeaderHarnessFilters } from './page-header-harness-filters';\n\n/**\n * Harness for interacting with a page header component in tests.\n */\nexport class SkyPageHeaderHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-page-header';\n\n #getTitle = this.locatorFor('.sky-page-header-page-title');\n #getParentLink = this.locatorForOptional('.sky-page-header-parent-link');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyPageHeaderHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyPageHeaderHarnessFilters,\n ): HarnessPredicate<SkyPageHeaderHarness> {\n return SkyPageHeaderHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current page title.\n */\n public async getPageTitle(): Promise<string | undefined> {\n const title = await this.#getTitle();\n\n return title.text();\n }\n\n /**\n * Gets the current page title.\n */\n public async getParentLinkText(): Promise<string> {\n const parentLink = await this.#getParentLink();\n\n if (parentLink) {\n return parentLink.text();\n }\n\n throw new Error('No parent link was found in the page header.');\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyPageLayoutType } from '@skyux/pages';\n\nimport { SkyPageHeaderHarness } from '../page-header/page-header-harness';\nimport { SkyPageHeaderHarnessFilters } from '../page-header/page-header-harness-filters';\n\nimport { SkyPageHarnessFilters } from './page-harness-filters';\n\nconst LAYOUT_PREFIX = 'sky-layout-host-';\nconst LAYOUT_TYPES: SkyPageLayoutType[] = ['blocks', 'fit', 'list', 'tabs'];\n\n/**\n * Harness for interacting with a page component in tests.\n */\nexport class SkyPageHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-page';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyPageHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyPageHarnessFilters,\n ): HarnessPredicate<SkyPageHarness> {\n return SkyPageHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current layout.\n */\n public async getLayout(): Promise<SkyPageLayoutType> {\n const page = await this.host();\n\n for (const layout of LAYOUT_TYPES) {\n if (await page.hasClass(`${LAYOUT_PREFIX}${layout}`)) {\n return layout;\n }\n }\n\n return 'none';\n }\n\n /**\n * Gets the first page header that matches the given filters.\n * @param filters filters for which page header to return\n */\n public async getPageHeader(\n filters?: SkyPageHeaderHarnessFilters,\n ): Promise<SkyPageHeaderHarness> {\n const pageHeader = await this.locatorForOptional(\n SkyPageHeaderHarness.with(filters || {}),\n )();\n if (pageHeader) {\n return pageHeader;\n }\n\n throw new Error(\n `Unable to find a page header with filter(s): ${JSON.stringify(\n filters,\n )}.`,\n );\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyWaitHarness } from '@skyux/indicators/testing';\n\nimport { SkyLinkListHarnessFilters } from './link-list-harness-filters';\n\n/**\n * Harness for interacting with a link list component in tests.\n */\nexport class SkyLinkListHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-link-list';\n\n #getHeading = this.locatorFor('h2.sky-font-heading-4');\n #getList = this.locatorFor('ul.sky-link-list');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLinkListHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLinkListHarnessFilters,\n ): HarnessPredicate<SkyLinkListHarness> {\n return SkyLinkListHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the link list's heading text. If there are no links, this will return `undefined`.\n */\n public async getHeadingText(): Promise<string | undefined> {\n return await this.#getHeading().then(\n (el) => el.text(),\n () => undefined,\n );\n }\n\n /**\n * Whether the link list is showing a list of links.\n */\n public async isVisible(): Promise<boolean> {\n return await this.#getList().then(\n () => true,\n () => false,\n );\n }\n\n /**\n * Gets the status of the wait indicator.\n */\n public async isWaiting(): Promise<boolean> {\n const waitHarness = await (await this.locatorFor(SkyWaitHarness))();\n return await waitHarness.isWaiting();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-pages-testing.mjs","sources":["../../../../../libs/components/pages/testing/src/modules/link-list/link-list-harness.ts","../../../../../libs/components/pages/testing/src/modules/page-header/page-header-harness.ts","../../../../../libs/components/pages/testing/src/modules/page/page-harness.ts","../../../../../libs/components/pages/testing/src/skyux-pages-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyWaitHarness } from '@skyux/indicators/testing';\n\nimport { SkyLinkListHarnessFilters } from './link-list-harness-filters';\n\n/**\n * Harness for interacting with a link list component in tests.\n */\nexport class SkyLinkListHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-link-list';\n\n #getHeading = this.locatorFor('h2.sky-font-heading-4');\n #getList = this.locatorFor('ul.sky-link-list');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLinkListHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLinkListHarnessFilters,\n ): HarnessPredicate<SkyLinkListHarness> {\n return SkyLinkListHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the link list's heading text. If there are no links, this will return `undefined`.\n */\n public async getHeadingText(): Promise<string | undefined> {\n return await this.#getHeading().then(\n (el) => el.text(),\n () => undefined,\n );\n }\n\n /**\n * Whether the link list is showing a list of links.\n */\n public async isVisible(): Promise<boolean> {\n return await this.#getList().then(\n () => true,\n () => false,\n );\n }\n\n /**\n * Gets the status of the wait indicator.\n */\n public async isWaiting(): Promise<boolean> {\n const waitHarness = await (await this.locatorFor(SkyWaitHarness))();\n return await waitHarness.isWaiting();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyPageHeaderHarnessFilters } from './page-header-harness-filters';\n\n/**\n * Harness for interacting with a page header component in tests.\n */\nexport class SkyPageHeaderHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-page-header';\n\n #getTitle = this.locatorFor('.sky-page-header-page-title');\n #getParentLink = this.locatorForOptional('.sky-page-header-parent-link');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyPageHeaderHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyPageHeaderHarnessFilters,\n ): HarnessPredicate<SkyPageHeaderHarness> {\n return SkyPageHeaderHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current page title.\n */\n public async getPageTitle(): Promise<string | undefined> {\n const title = await this.#getTitle();\n\n return await title.text();\n }\n\n /**\n * Gets the current page title.\n */\n public async getParentLinkText(): Promise<string> {\n const parentLink = await this.#getParentLink();\n\n if (parentLink) {\n return await parentLink.text();\n }\n\n throw new Error('No parent link was found in the page header.');\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyPageLayoutType } from '@skyux/pages';\n\nimport { SkyPageHeaderHarness } from '../page-header/page-header-harness';\nimport { SkyPageHeaderHarnessFilters } from '../page-header/page-header-harness-filters';\n\nimport { SkyPageHarnessFilters } from './page-harness-filters';\n\nconst LAYOUT_PREFIX = 'sky-layout-host-';\nconst LAYOUT_TYPES: SkyPageLayoutType[] = ['blocks', 'fit', 'list', 'tabs'];\n\n/**\n * Harness for interacting with a page component in tests.\n */\nexport class SkyPageHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-page';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyPageHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyPageHarnessFilters,\n ): HarnessPredicate<SkyPageHarness> {\n return SkyPageHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current layout.\n */\n public async getLayout(): Promise<SkyPageLayoutType> {\n const page = await this.host();\n\n for (const layout of LAYOUT_TYPES) {\n if (await page.hasClass(`${LAYOUT_PREFIX}${layout}`)) {\n return layout;\n }\n }\n\n return 'none';\n }\n\n /**\n * Gets the first page header that matches the given filters.\n * @param filters filters for which page header to return\n */\n public async getPageHeader(\n filters?: SkyPageHeaderHarnessFilters,\n ): Promise<SkyPageHeaderHarness> {\n const pageHeader = await this.locatorForOptional(\n SkyPageHeaderHarness.with(filters || {}),\n )();\n if (pageHeader) {\n return pageHeader;\n }\n\n throw new Error(\n `Unable to find a page header with filter(s): ${JSON.stringify(\n filters,\n )}.`,\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAMA;;AAEG;AACG,MAAO,kBAAmB,SAAQ,mBAAmB,CAAA;AACzD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,eAAe,CAAC;AAE7C,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;AACtD,IAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAE9C;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAkC,EAAA;AAElC,QAAA,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAG1D;;AAEG;AACI,IAAA,MAAM,cAAc,GAAA;QACzB,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAClC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EACjB,MAAM,SAAS,CAChB;;AAGH;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;AACpB,QAAA,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAC/B,MAAM,IAAI,EACV,MAAM,KAAK,CACZ;;AAGH;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;AACpB,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG;AACnE,QAAA,OAAO,MAAM,WAAW,CAAC,SAAS,EAAE;;;;AChDxC;;AAEG;AACG,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AAC3D;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,iBAAiB,CAAC;AAE/C,IAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;AAC1D,IAAA,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,8BAA8B,CAAC;AAExE;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAoC,EAAA;AAEpC,QAAA,OAAO,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAG5D;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;AAEpC,QAAA,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE;;AAG3B;;AAEG;AACI,IAAA,MAAM,iBAAiB,GAAA;AAC5B,QAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE;QAE9C,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE;;AAGhC,QAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;;;;ACrCnE,MAAM,aAAa,GAAG,kBAAkB;AACxC,MAAM,YAAY,GAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;AAE3E;;AAEG;AACG,MAAO,cAAe,SAAQ,mBAAmB,CAAA;AACrD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;AAExC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA8B,EAAA;AAE9B,QAAA,OAAO,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGtD;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;AACpB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AAE9B,QAAA,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;AACjC,YAAA,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA,EAAG,aAAa,CAAA,EAAG,MAAM,CAAA,CAAE,CAAC,EAAE;AACpD,gBAAA,OAAO,MAAM;;;AAIjB,QAAA,OAAO,MAAM;;AAGf;;;AAGG;IACI,MAAM,aAAa,CACxB,OAAqC,EAAA;AAErC,QAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC9C,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CACzC,EAAE;QACH,IAAI,UAAU,EAAE;AACd,YAAA,OAAO,UAAU;;AAGnB,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,6CAAA,EAAgD,IAAI,CAAC,SAAS,CAC5D,OAAO,CACR,CAAG,CAAA,CAAA,CACL;;;;AChEL;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/pages",
3
- "version": "11.22.0",
3
+ "version": "11.23.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -40,14 +40,14 @@
40
40
  "@angular/common": "^18.2.8",
41
41
  "@angular/core": "^18.2.8",
42
42
  "@angular/router": "^18.2.8",
43
- "@skyux/core": "11.22.0",
44
- "@skyux/i18n": "11.22.0",
45
- "@skyux/icon": "11.22.0",
46
- "@skyux/indicators": "11.22.0",
47
- "@skyux/layout": "11.22.0",
48
- "@skyux/modals": "11.22.0",
49
- "@skyux/router": "11.22.0",
50
- "@skyux/theme": "11.22.0"
43
+ "@skyux/core": "11.23.0",
44
+ "@skyux/i18n": "11.23.0",
45
+ "@skyux/icon": "11.23.0",
46
+ "@skyux/indicators": "11.23.0",
47
+ "@skyux/layout": "11.23.0",
48
+ "@skyux/modals": "11.23.0",
49
+ "@skyux/router": "11.23.0",
50
+ "@skyux/theme": "11.23.0"
51
51
  },
52
52
  "dependencies": {
53
53
  "tslib": "^2.6.3"
@@ -1,6 +1,6 @@
1
- export { SkyPageHarness } from './page/page-harness';
2
- export { SkyPageHarnessFilters } from './page/page-harness-filters';
3
- export { SkyPageHeaderHarness } from './page-header/page-header-harness';
4
- export { SkyPageHeaderHarnessFilters } from './page-header/page-header-harness-filters';
5
- export { SkyLinkListHarness } from './link-list/link-list-harness';
6
- export { SkyLinkListHarnessFilters } from './link-list/link-list-harness-filters';
1
+ export { SkyLinkListHarness } from './modules/link-list/link-list-harness';
2
+ export { SkyLinkListHarnessFilters } from './modules/link-list/link-list-harness-filters';
3
+ export { SkyPageHeaderHarness } from './modules/page-header/page-header-harness';
4
+ export { SkyPageHeaderHarnessFilters } from './modules/page-header/page-header-harness-filters';
5
+ export { SkyPageHarness } from './modules/page/page-harness';
6
+ export { SkyPageHarnessFilters } from './modules/page/page-harness-filters';
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1saXN0LWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdlcy90ZXN0aW5nL3NyYy9saW5rLWxpc3QvbGluay1saXN0LWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgU2t5TGlua0xpc3RIYXJuZXNzIGluc3RhbmNlcy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lMaW5rTGlzdEhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgU2t5SGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
@@ -1,40 +0,0 @@
1
- import { SkyComponentHarness } from '@skyux/core/testing';
2
- import { SkyWaitHarness } from '@skyux/indicators/testing';
3
- /**
4
- * Harness for interacting with a link list component in tests.
5
- */
6
- export class SkyLinkListHarness extends SkyComponentHarness {
7
- /**
8
- * @internal
9
- */
10
- static { this.hostSelector = 'sky-link-list'; }
11
- #getHeading = this.locatorFor('h2.sky-font-heading-4');
12
- #getList = this.locatorFor('ul.sky-link-list');
13
- /**
14
- * Gets a `HarnessPredicate` that can be used to search for a
15
- * `SkyLinkListHarness` that meets certain criteria.
16
- */
17
- static with(filters) {
18
- return SkyLinkListHarness.getDataSkyIdPredicate(filters);
19
- }
20
- /**
21
- * Gets the link list's heading text. If there are no links, this will return `undefined`.
22
- */
23
- async getHeadingText() {
24
- return await this.#getHeading().then((el) => el.text(), () => undefined);
25
- }
26
- /**
27
- * Whether the link list is showing a list of links.
28
- */
29
- async isVisible() {
30
- return await this.#getList().then(() => true, () => false);
31
- }
32
- /**
33
- * Gets the status of the wait indicator.
34
- */
35
- async isWaiting() {
36
- const waitHarness = await (await this.locatorFor(SkyWaitHarness))();
37
- return await waitHarness.isWaiting();
38
- }
39
- }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1saXN0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnZXMvdGVzdGluZy9zcmMvbGluay1saXN0L2xpbmstbGlzdC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUkzRDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7SUFDekQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLGVBQWUsQ0FBQztJQUU3QyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZELFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFL0M7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBa0M7UUFFbEMsT0FBTyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FDbEMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFDakIsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQy9CLEdBQUcsRUFBRSxDQUFDLElBQUksRUFDVixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQ1osQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BFLE9BQU8sTUFBTSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lXYWl0SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lMaW5rTGlzdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9saW5rLWxpc3QtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgbGluayBsaXN0IGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUxpbmtMaXN0SGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktbGluay1saXN0JztcblxuICAjZ2V0SGVhZGluZyA9IHRoaXMubG9jYXRvckZvcignaDIuc2t5LWZvbnQtaGVhZGluZy00Jyk7XG4gICNnZXRMaXN0ID0gdGhpcy5sb2NhdG9yRm9yKCd1bC5za3ktbGluay1saXN0Jyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUxpbmtMaXN0SGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUxpbmtMaXN0SGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5TGlua0xpc3RIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUxpbmtMaXN0SGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGluayBsaXN0J3MgaGVhZGluZyB0ZXh0LiBJZiB0aGVyZSBhcmUgbm8gbGlua3MsIHRoaXMgd2lsbCByZXR1cm4gYHVuZGVmaW5lZGAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ1RleHQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZ2V0SGVhZGluZygpLnRoZW4oXG4gICAgICAoZWwpID0+IGVsLnRleHQoKSxcbiAgICAgICgpID0+IHVuZGVmaW5lZCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGxpbmsgbGlzdCBpcyBzaG93aW5nIGEgbGlzdCBvZiBsaW5rcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1Zpc2libGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuI2dldExpc3QoKS50aGVuKFxuICAgICAgKCkgPT4gdHJ1ZSxcbiAgICAgICgpID0+IGZhbHNlLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc3RhdHVzIG9mIHRoZSB3YWl0IGluZGljYXRvci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1dhaXRpbmcoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgd2FpdEhhcm5lc3MgPSBhd2FpdCAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreVdhaXRIYXJuZXNzKSkoKTtcbiAgICByZXR1cm4gYXdhaXQgd2FpdEhhcm5lc3MuaXNXYWl0aW5nKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnZXMvdGVzdGluZy9zcmMvcGFnZS9wYWdlLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgU2t5UGFnZUhhcm5lc3MgaW5zdGFuY2VzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreVBhZ2VIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -1,44 +0,0 @@
1
- import { SkyComponentHarness } from '@skyux/core/testing';
2
- import { SkyPageHeaderHarness } from '../page-header/page-header-harness';
3
- const LAYOUT_PREFIX = 'sky-layout-host-';
4
- const LAYOUT_TYPES = ['blocks', 'fit', 'list', 'tabs'];
5
- /**
6
- * Harness for interacting with a page component in tests.
7
- */
8
- export class SkyPageHarness extends SkyComponentHarness {
9
- /**
10
- * @internal
11
- */
12
- static { this.hostSelector = 'sky-page'; }
13
- /**
14
- * Gets a `HarnessPredicate` that can be used to search for a
15
- * `SkyPageHarness` that meets certain criteria.
16
- */
17
- static with(filters) {
18
- return SkyPageHarness.getDataSkyIdPredicate(filters);
19
- }
20
- /**
21
- * Gets the current layout.
22
- */
23
- async getLayout() {
24
- const page = await this.host();
25
- for (const layout of LAYOUT_TYPES) {
26
- if (await page.hasClass(`${LAYOUT_PREFIX}${layout}`)) {
27
- return layout;
28
- }
29
- }
30
- return 'none';
31
- }
32
- /**
33
- * Gets the first page header that matches the given filters.
34
- * @param filters filters for which page header to return
35
- */
36
- async getPageHeader(filters) {
37
- const pageHeader = await this.locatorForOptional(SkyPageHeaderHarness.with(filters || {}))();
38
- if (pageHeader) {
39
- return pageHeader;
40
- }
41
- throw new Error(`Unable to find a page header with filter(s): ${JSON.stringify(filters)}.`);
42
- }
43
- }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhZ2VzL3Rlc3Rpbmcvc3JjL3BhZ2UvcGFnZS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSzFFLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ3pDLE1BQU0sWUFBWSxHQUF3QixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRTVFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxtQkFBbUI7SUFDckQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLFVBQVUsQ0FBQztJQUV4Qzs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUE4QjtRQUU5QixPQUFPLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUztRQUNwQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUvQixLQUFLLE1BQU0sTUFBTSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2xDLElBQUksTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsYUFBYSxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDckQsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGFBQWEsQ0FDeEIsT0FBcUM7UUFFckMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQzlDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQ3pDLEVBQUUsQ0FBQztRQUNKLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FDYixnREFBZ0QsSUFBSSxDQUFDLFNBQVMsQ0FDNUQsT0FBTyxDQUNSLEdBQUcsQ0FDTCxDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lQYWdlTGF5b3V0VHlwZSB9IGZyb20gJ0Bza3l1eC9wYWdlcyc7XG5cbmltcG9ydCB7IFNreVBhZ2VIZWFkZXJIYXJuZXNzIH0gZnJvbSAnLi4vcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXItaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lQYWdlSGVhZGVySGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuLi9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci1oYXJuZXNzLWZpbHRlcnMnO1xuXG5pbXBvcnQgeyBTa3lQYWdlSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3BhZ2UtaGFybmVzcy1maWx0ZXJzJztcblxuY29uc3QgTEFZT1VUX1BSRUZJWCA9ICdza3ktbGF5b3V0LWhvc3QtJztcbmNvbnN0IExBWU9VVF9UWVBFUzogU2t5UGFnZUxheW91dFR5cGVbXSA9IFsnYmxvY2tzJywgJ2ZpdCcsICdsaXN0JywgJ3RhYnMnXTtcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgcGFnZSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lQYWdlSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktcGFnZSc7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreVBhZ2VIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5UGFnZUhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreVBhZ2VIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreVBhZ2VIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IGxheW91dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYXlvdXQoKTogUHJvbWlzZTxTa3lQYWdlTGF5b3V0VHlwZT4ge1xuICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCB0aGlzLmhvc3QoKTtcblxuICAgIGZvciAoY29uc3QgbGF5b3V0IG9mIExBWU9VVF9UWVBFUykge1xuICAgICAgaWYgKGF3YWl0IHBhZ2UuaGFzQ2xhc3MoYCR7TEFZT1VUX1BSRUZJWH0ke2xheW91dH1gKSkge1xuICAgICAgICByZXR1cm4gbGF5b3V0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnbm9uZSc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZmlyc3QgcGFnZSBoZWFkZXIgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBmaWx0ZXJzLlxuICAgKiBAcGFyYW0gZmlsdGVycyBmaWx0ZXJzIGZvciB3aGljaCBwYWdlIGhlYWRlciB0byByZXR1cm5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRQYWdlSGVhZGVyKFxuICAgIGZpbHRlcnM/OiBTa3lQYWdlSGVhZGVySGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8U2t5UGFnZUhlYWRlckhhcm5lc3M+IHtcbiAgICBjb25zdCBwYWdlSGVhZGVyID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICBTa3lQYWdlSGVhZGVySGFybmVzcy53aXRoKGZpbHRlcnMgfHwge30pLFxuICAgICkoKTtcbiAgICBpZiAocGFnZUhlYWRlcikge1xuICAgICAgcmV0dXJuIHBhZ2VIZWFkZXI7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFVuYWJsZSB0byBmaW5kIGEgcGFnZSBoZWFkZXIgd2l0aCBmaWx0ZXIocyk6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGZpbHRlcnMsXG4gICAgICApfS5gLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXItaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhZ2VzL3Rlc3Rpbmcvc3JjL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgU2t5UGFnZUhlYWRlckhhcm5lc3MgaW5zdGFuY2VzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreVBhZ2VIZWFkZXJIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -1,37 +0,0 @@
1
- import { SkyComponentHarness } from '@skyux/core/testing';
2
- /**
3
- * Harness for interacting with a page header component in tests.
4
- */
5
- export class SkyPageHeaderHarness extends SkyComponentHarness {
6
- /**
7
- * @internal
8
- */
9
- static { this.hostSelector = 'sky-page-header'; }
10
- #getTitle = this.locatorFor('.sky-page-header-page-title');
11
- #getParentLink = this.locatorForOptional('.sky-page-header-parent-link');
12
- /**
13
- * Gets a `HarnessPredicate` that can be used to search for a
14
- * `SkyPageHeaderHarness` that meets certain criteria.
15
- */
16
- static with(filters) {
17
- return SkyPageHeaderHarness.getDataSkyIdPredicate(filters);
18
- }
19
- /**
20
- * Gets the current page title.
21
- */
22
- async getPageTitle() {
23
- const title = await this.#getTitle();
24
- return title.text();
25
- }
26
- /**
27
- * Gets the current page title.
28
- */
29
- async getParentLinkText() {
30
- const parentLink = await this.#getParentLink();
31
- if (parentLink) {
32
- return parentLink.text();
33
- }
34
- throw new Error('No parent link was found in the page header.');
35
- }
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXItaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdlcy90ZXN0aW5nL3NyYy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQUMzRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7SUFFL0MsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUMzRCxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFekU7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBb0M7UUFFcEMsT0FBTyxvQkFBb0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVyQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRS9DLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBQ2xFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lQYWdlSGVhZGVySGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3BhZ2UtaGVhZGVyLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHBhZ2UgaGVhZGVyIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVBhZ2VIZWFkZXJIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1wYWdlLWhlYWRlcic7XG5cbiAgI2dldFRpdGxlID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LXBhZ2UtaGVhZGVyLXBhZ2UtdGl0bGUnKTtcbiAgI2dldFBhcmVudExpbmsgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1wYWdlLWhlYWRlci1wYXJlbnQtbGluaycpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lQYWdlSGVhZGVySGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreVBhZ2VIZWFkZXJIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lQYWdlSGVhZGVySGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lQYWdlSGVhZGVySGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCBwYWdlIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFBhZ2VUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHRpdGxlID0gYXdhaXQgdGhpcy4jZ2V0VGl0bGUoKTtcblxuICAgIHJldHVybiB0aXRsZS50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCBwYWdlIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFBhcmVudExpbmtUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcGFyZW50TGluayA9IGF3YWl0IHRoaXMuI2dldFBhcmVudExpbmsoKTtcblxuICAgIGlmIChwYXJlbnRMaW5rKSB7XG4gICAgICByZXR1cm4gcGFyZW50TGluay50ZXh0KCk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBwYXJlbnQgbGluayB3YXMgZm91bmQgaW4gdGhlIHBhZ2UgaGVhZGVyLicpO1xuICB9XG59XG4iXX0=