@skyux/pages 11.32.0 → 11.34.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 (36) hide show
  1. package/documentation.json +3362 -1055
  2. package/esm2022/index.mjs +3 -1
  3. package/esm2022/lib/modules/link-list/link-list.component.mjs +3 -3
  4. package/esm2022/lib/modules/modal-link-list/modal-link-list.component.mjs +3 -3
  5. package/esm2022/lib/modules/needs-attention/needs-attention.component.mjs +6 -3
  6. package/esm2022/lib/modules/needs-attention/needs-attention.module.mjs +4 -1
  7. package/esm2022/lib/modules/page-header/page-header.component.mjs +2 -2
  8. package/esm2022/lib/modules/shared/sky-pages-resources.module.mjs +1 -1
  9. package/esm2022/testing/modules/action-hub/action-hub-harness-filters.mjs +2 -0
  10. package/esm2022/testing/modules/action-hub/action-hub-harness.mjs +66 -0
  11. package/esm2022/testing/modules/link-list/link-list-harness.mjs +10 -3
  12. package/esm2022/testing/modules/link-list/link-list-item-harness-filters.mjs +2 -0
  13. package/esm2022/testing/modules/link-list/link-list-item-harness.mjs +34 -0
  14. package/esm2022/testing/modules/needs-attention/needs-attention-harness-filters.mjs +2 -0
  15. package/esm2022/testing/modules/needs-attention/needs-attention-harness.mjs +45 -0
  16. package/esm2022/testing/modules/needs-attention/needs-attention-item-harness-filters.mjs +2 -0
  17. package/esm2022/testing/modules/needs-attention/needs-attention-item-harness.mjs +34 -0
  18. package/esm2022/testing/public-api.mjs +4 -1
  19. package/fesm2022/skyux-pages-testing.mjs +179 -3
  20. package/fesm2022/skyux-pages-testing.mjs.map +1 -1
  21. package/fesm2022/skyux-pages.mjs +15 -9
  22. package/fesm2022/skyux-pages.mjs.map +1 -1
  23. package/index.d.ts +3 -0
  24. package/lib/modules/needs-attention/needs-attention.component.d.ts +3 -0
  25. package/lib/modules/needs-attention/needs-attention.module.d.ts +3 -0
  26. package/package.json +9 -9
  27. package/testing/modules/action-hub/action-hub-harness-filters.d.ts +6 -0
  28. package/testing/modules/action-hub/action-hub-harness.d.ts +43 -0
  29. package/testing/modules/link-list/link-list-harness.d.ts +6 -0
  30. package/testing/modules/link-list/link-list-item-harness-filters.d.ts +10 -0
  31. package/testing/modules/link-list/link-list-item-harness.d.ts +25 -0
  32. package/testing/modules/needs-attention/needs-attention-harness-filters.d.ts +6 -0
  33. package/testing/modules/needs-attention/needs-attention-harness.d.ts +30 -0
  34. package/testing/modules/needs-attention/needs-attention-item-harness-filters.d.ts +10 -0
  35. package/testing/modules/needs-attention/needs-attention-item-harness.d.ts +25 -0
  36. package/testing/public-api.d.ts +5 -0
@@ -0,0 +1,45 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ import { SkyBoxHarness } from '@skyux/layout/testing';
3
+ /**
4
+ * Harness for interacting with the needs-attention component in tests.
5
+ */
6
+ export class SkyNeedsAttentionHarness extends SkyComponentHarness {
7
+ /**
8
+ * @internal
9
+ */
10
+ static { this.hostSelector = 'sky-needs-attention'; }
11
+ #boxHarness = this.locatorFor(SkyBoxHarness);
12
+ #getContent = this.locatorFor('sky-box-content');
13
+ #getList = this.locatorFor('ul.sky-needs-attention-list');
14
+ /**
15
+ * Gets a `HarnessPredicate` that can be used to search for a
16
+ * `SkyNeedsAttentionHarness` that meets certain criteria.
17
+ */
18
+ static with(filters) {
19
+ return SkyNeedsAttentionHarness.getDataSkyIdPredicate(filters);
20
+ }
21
+ /**
22
+ * Gets the component's heading text. If there are no links, this will return `undefined`.
23
+ */
24
+ async getTitle() {
25
+ return await (await this.#boxHarness()).getHeadingText();
26
+ }
27
+ /**
28
+ * Gets the text from an empty list. If there are items in the list, this will return `undefined`.
29
+ */
30
+ async getEmptyListText() {
31
+ return await this.hasItems().then(async (hasItems) => {
32
+ if (hasItems) {
33
+ return undefined;
34
+ }
35
+ return (await (await this.#getContent()).text()).trim();
36
+ });
37
+ }
38
+ /**
39
+ * Whether the link list is showing a list of links.
40
+ */
41
+ async hasItems() {
42
+ return await this.#getList().then(() => true, () => false);
43
+ }
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVlZHMtYXR0ZW50aW9uLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGFnZXMvdGVzdGluZy9zcmMvbW9kdWxlcy9uZWVkcy1hdHRlbnRpb24vbmVlZHMtYXR0ZW50aW9uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXREOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG1CQUFtQjtJQUMvRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcscUJBQXFCLENBQUM7SUFFMUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0MsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqRCxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBRW5FOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQXdDO1FBRXhDLE9BQU8sd0JBQXdCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVE7UUFDbkIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLE9BQU8sTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNuRCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7WUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxRQUFRO1FBQ25CLE9BQU8sTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUMvQixHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQ1YsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUNaLENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUJveEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvbGF5b3V0L3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lOZWVkc0F0dGVudGlvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9uZWVkcy1hdHRlbnRpb24taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBuZWVkcy1hdHRlbnRpb24gY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5TmVlZHNBdHRlbnRpb25IYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1uZWVkcy1hdHRlbnRpb24nO1xuXG4gIHJlYWRvbmx5ICNib3hIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKFNreUJveEhhcm5lc3MpO1xuICByZWFkb25seSAjZ2V0Q29udGVudCA9IHRoaXMubG9jYXRvckZvcignc2t5LWJveC1jb250ZW50Jyk7XG4gIHJlYWRvbmx5ICNnZXRMaXN0ID0gdGhpcy5sb2NhdG9yRm9yKCd1bC5za3ktbmVlZHMtYXR0ZW50aW9uLWxpc3QnKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5TmVlZHNBdHRlbnRpb25IYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5TmVlZHNBdHRlbnRpb25IYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lOZWVkc0F0dGVudGlvbkhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5TmVlZHNBdHRlbnRpb25IYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjb21wb25lbnQncyBoZWFkaW5nIHRleHQuIElmIHRoZXJlIGFyZSBubyBsaW5rcywgdGhpcyB3aWxsIHJldHVybiBgdW5kZWZpbmVkYC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jYm94SGFybmVzcygpKS5nZXRIZWFkaW5nVGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRleHQgZnJvbSBhbiBlbXB0eSBsaXN0LiBJZiB0aGVyZSBhcmUgaXRlbXMgaW4gdGhlIGxpc3QsIHRoaXMgd2lsbCByZXR1cm4gYHVuZGVmaW5lZGAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RW1wdHlMaXN0VGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmhhc0l0ZW1zKCkudGhlbihhc3luYyAoaGFzSXRlbXMpID0+IHtcbiAgICAgIGlmIChoYXNJdGVtcykge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Q29udGVudCgpKS50ZXh0KCkpLnRyaW0oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsaW5rIGxpc3QgaXMgc2hvd2luZyBhIGxpc3Qgb2YgbGlua3MuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzSXRlbXMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuI2dldExpc3QoKS50aGVuKFxuICAgICAgKCkgPT4gdHJ1ZSxcbiAgICAgICgpID0+IGZhbHNlLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVlZHMtYXR0ZW50aW9uLWl0ZW0taGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BhZ2VzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvbmVlZHMtYXR0ZW50aW9uL25lZWRzLWF0dGVudGlvbi1pdGVtLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgU2t5TmVlZHNBdHRlbnRpb25JdGVtSGFybmVzcyBpbnN0YW5jZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5TmVlZHNBdHRlbnRpb25JdGVtSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7XG4gIC8qKlxuICAgKiBPbmx5IGZpbmQgaW5zdGFuY2VzIHdob3NlIHRleHQgY29udGVudCBtYXRjaGVzIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICovXG4gIHRleHQ/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { HarnessPredicate } from '@angular/cdk/testing';
2
+ import { SkyComponentHarness } from '@skyux/core/testing';
3
+ /**
4
+ * Harness for interacting with a needs attention item in tests.
5
+ */
6
+ export class SkyNeedsAttentionItemHarness extends SkyComponentHarness {
7
+ /**
8
+ * @internal
9
+ */
10
+ static { this.hostSelector = 'li.sky-needs-attention-item-wrapper > a.sky-needs-attention-item, li.sky-needs-attention-item-wrapper > button.sky-needs-attention-item'; }
11
+ /**
12
+ * Gets a `HarnessPredicate` that can be used to search for a
13
+ * `SkyNeedsAttentionItemHarness` that meets certain criteria.
14
+ */
15
+ static with(filters) {
16
+ return SkyNeedsAttentionItemHarness.getDataSkyIdPredicate(filters).addOption('text', filters.text, async (harness, text) => {
17
+ const itemText = await harness.getText();
18
+ return await HarnessPredicate.stringMatches(itemText, text);
19
+ });
20
+ }
21
+ /**
22
+ * Gets the text content of the item.
23
+ */
24
+ async getText() {
25
+ return await (await this.host()).text();
26
+ }
27
+ /**
28
+ * Clicks the item.
29
+ */
30
+ async click() {
31
+ return await (await this.host()).click();
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVlZHMtYXR0ZW50aW9uLWl0ZW0taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdlcy90ZXN0aW5nL3NyYy9tb2R1bGVzL25lZWRzLWF0dGVudGlvbi9uZWVkcy1hdHRlbnRpb24taXRlbS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDRCQUE2QixTQUFRLG1CQUFtQjtJQUNuRTs7T0FFRzthQUNXLGlCQUFZLEdBQ3hCLHlJQUF5SSxDQUFDO0lBRTVJOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQTRDO1FBRTVDLE9BQU8sNEJBQTRCLENBQUMscUJBQXFCLENBQ3ZELE9BQU8sQ0FDUixDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3hELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lOZWVkc0F0dGVudGlvbkl0ZW1IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbmVlZHMtYXR0ZW50aW9uLWl0ZW0taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgbmVlZHMgYXR0ZW50aW9uIGl0ZW0gaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lOZWVkc0F0dGVudGlvbkl0ZW1IYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID1cbiAgICAnbGkuc2t5LW5lZWRzLWF0dGVudGlvbi1pdGVtLXdyYXBwZXIgPiBhLnNreS1uZWVkcy1hdHRlbnRpb24taXRlbSwgbGkuc2t5LW5lZWRzLWF0dGVudGlvbi1pdGVtLXdyYXBwZXIgPiBidXR0b24uc2t5LW5lZWRzLWF0dGVudGlvbi1pdGVtJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5TmVlZHNBdHRlbnRpb25JdGVtSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreU5lZWRzQXR0ZW50aW9uSXRlbUhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreU5lZWRzQXR0ZW50aW9uSXRlbUhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5TmVlZHNBdHRlbnRpb25JdGVtSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoXG4gICAgICBmaWx0ZXJzLFxuICAgICkuYWRkT3B0aW9uKCd0ZXh0JywgZmlsdGVycy50ZXh0LCBhc3luYyAoaGFybmVzcywgdGV4dCkgPT4ge1xuICAgICAgY29uc3QgaXRlbVRleHQgPSBhd2FpdCBoYXJuZXNzLmdldFRleHQoKTtcbiAgICAgIHJldHVybiBhd2FpdCBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaXRlbVRleHQsIHRleHQpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRleHQgY29udGVudCBvZiB0aGUgaXRlbS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaXRlbS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5jbGljaygpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,7 @@
1
+ export { SkyActionHubHarness } from './modules/action-hub/action-hub-harness';
1
2
  export { SkyLinkListHarness } from './modules/link-list/link-list-harness';
3
+ export { SkyLinkListItemHarness } from './modules/link-list/link-list-item-harness';
4
+ export { SkyNeedsAttentionHarness } from './modules/needs-attention/needs-attention-harness';
2
5
  export { SkyPageHeaderHarness } from './modules/page-header/page-header-harness';
3
6
  export { SkyPageHarness } from './modules/page/page-harness';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdlcy90ZXN0aW5nL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNreUxpbmtMaXN0SGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9saW5rLWxpc3QvbGluay1saXN0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TGlua0xpc3RIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9saW5rLWxpc3QvbGluay1saXN0LWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lQYWdlSGVhZGVySGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVBhZ2VIZWFkZXJIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5UGFnZUhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvcGFnZS9wYWdlLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5UGFnZUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL3BhZ2UvcGFnZS1oYXJuZXNzLWZpbHRlcnMnO1xuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wYWdlcy90ZXN0aW5nL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNreUFjdGlvbkh1Ykhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvYWN0aW9uLWh1Yi9hY3Rpb24taHViLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5QWN0aW9uSHViSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvYWN0aW9uLWh1Yi9hY3Rpb24taHViLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lMaW5rTGlzdEhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvbGluay1saXN0L2xpbmstbGlzdC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxpbmtMaXN0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvbGluay1saXN0L2xpbmstbGlzdC1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5TGlua0xpc3RJdGVtSGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9saW5rLWxpc3QvbGluay1saXN0LWl0ZW0taGFybmVzcyc7XG5leHBvcnQgeyBTa3lMaW5rTGlzdEl0ZW1IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9saW5rLWxpc3QvbGluay1saXN0LWl0ZW0taGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreU5lZWRzQXR0ZW50aW9uSGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9uZWVkcy1hdHRlbnRpb24vbmVlZHMtYXR0ZW50aW9uLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5UGFnZUhlYWRlckhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXItaGFybmVzcyc7XG5leHBvcnQgeyBTa3lQYWdlSGVhZGVySGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXItaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreVBhZ2VIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL3BhZ2UvcGFnZS1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVBhZ2VIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9wYWdlL3BhZ2UtaGFybmVzcy1maWx0ZXJzJztcbiJdfQ==
@@ -1,5 +1,39 @@
1
1
  import { SkyComponentHarness } from '@skyux/core/testing';
2
2
  import { SkyWaitHarness } from '@skyux/indicators/testing';
3
+ import { HarnessPredicate } from '@angular/cdk/testing';
4
+ import { SkyBoxHarness } from '@skyux/layout/testing';
5
+
6
+ /**
7
+ * Harness for interacting with a linked list item in tests.
8
+ */
9
+ class SkyLinkListItemHarness extends SkyComponentHarness {
10
+ /**
11
+ * @internal
12
+ */
13
+ static { this.hostSelector = 'a.sky-link-list-item, button.sky-link-list-item'; }
14
+ /**
15
+ * Gets a `HarnessPredicate` that can be used to search for a
16
+ * `SkyLinkListItemHarness` that meets certain criteria.
17
+ */
18
+ static with(filters) {
19
+ return SkyLinkListItemHarness.getDataSkyIdPredicate(filters).addOption('text', filters.text, async (harness, text) => {
20
+ const itemText = await harness.getText();
21
+ return await HarnessPredicate.stringMatches(itemText, text);
22
+ });
23
+ }
24
+ /**
25
+ * Gets the text content of the item.
26
+ */
27
+ async getText() {
28
+ return await (await this.host()).text();
29
+ }
30
+ /**
31
+ * Clicks the item.
32
+ */
33
+ async click() {
34
+ return await (await this.host()).click();
35
+ }
36
+ }
3
37
 
4
38
  /**
5
39
  * Harness for interacting with a link list component in tests.
@@ -8,7 +42,7 @@ class SkyLinkListHarness extends SkyComponentHarness {
8
42
  /**
9
43
  * @internal
10
44
  */
11
- static { this.hostSelector = 'sky-link-list'; }
45
+ static { this.hostSelector = 'sky-link-list, sky-link-list-recently-accessed, sky-modal-link-list'; }
12
46
  #getHeading = this.locatorFor('h2.sky-font-heading-4');
13
47
  #getList = this.locatorFor('ul.sky-link-list');
14
48
  /**
@@ -34,9 +68,90 @@ class SkyLinkListHarness extends SkyComponentHarness {
34
68
  * Gets the status of the wait indicator.
35
69
  */
36
70
  async isWaiting() {
37
- const waitHarness = await (await this.locatorFor(SkyWaitHarness))();
71
+ const waitHarness = await this.locatorFor(SkyWaitHarness)();
38
72
  return await waitHarness.isWaiting();
39
73
  }
74
+ /**
75
+ * Gets the link list items.
76
+ */
77
+ async getListItems(filter = {}) {
78
+ return await this.locatorForAll(SkyLinkListItemHarness.with(filter))();
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Harness for interacting with the needs-attention component in tests.
84
+ */
85
+ class SkyNeedsAttentionHarness extends SkyComponentHarness {
86
+ /**
87
+ * @internal
88
+ */
89
+ static { this.hostSelector = 'sky-needs-attention'; }
90
+ #boxHarness = this.locatorFor(SkyBoxHarness);
91
+ #getContent = this.locatorFor('sky-box-content');
92
+ #getList = this.locatorFor('ul.sky-needs-attention-list');
93
+ /**
94
+ * Gets a `HarnessPredicate` that can be used to search for a
95
+ * `SkyNeedsAttentionHarness` that meets certain criteria.
96
+ */
97
+ static with(filters) {
98
+ return SkyNeedsAttentionHarness.getDataSkyIdPredicate(filters);
99
+ }
100
+ /**
101
+ * Gets the component's heading text. If there are no links, this will return `undefined`.
102
+ */
103
+ async getTitle() {
104
+ return await (await this.#boxHarness()).getHeadingText();
105
+ }
106
+ /**
107
+ * Gets the text from an empty list. If there are items in the list, this will return `undefined`.
108
+ */
109
+ async getEmptyListText() {
110
+ return await this.hasItems().then(async (hasItems) => {
111
+ if (hasItems) {
112
+ return undefined;
113
+ }
114
+ return (await (await this.#getContent()).text()).trim();
115
+ });
116
+ }
117
+ /**
118
+ * Whether the link list is showing a list of links.
119
+ */
120
+ async hasItems() {
121
+ return await this.#getList().then(() => true, () => false);
122
+ }
123
+ }
124
+
125
+ /**
126
+ * Harness for interacting with a needs attention item in tests.
127
+ */
128
+ class SkyNeedsAttentionItemHarness extends SkyComponentHarness {
129
+ /**
130
+ * @internal
131
+ */
132
+ static { this.hostSelector = 'li.sky-needs-attention-item-wrapper > a.sky-needs-attention-item, li.sky-needs-attention-item-wrapper > button.sky-needs-attention-item'; }
133
+ /**
134
+ * Gets a `HarnessPredicate` that can be used to search for a
135
+ * `SkyNeedsAttentionItemHarness` that meets certain criteria.
136
+ */
137
+ static with(filters) {
138
+ return SkyNeedsAttentionItemHarness.getDataSkyIdPredicate(filters).addOption('text', filters.text, async (harness, text) => {
139
+ const itemText = await harness.getText();
140
+ return await HarnessPredicate.stringMatches(itemText, text);
141
+ });
142
+ }
143
+ /**
144
+ * Gets the text content of the item.
145
+ */
146
+ async getText() {
147
+ return await (await this.host()).text();
148
+ }
149
+ /**
150
+ * Clicks the item.
151
+ */
152
+ async click() {
153
+ return await (await this.host()).click();
154
+ }
40
155
  }
41
156
 
42
157
  /**
@@ -75,6 +190,67 @@ class SkyPageHeaderHarness extends SkyComponentHarness {
75
190
  }
76
191
  }
77
192
 
193
+ /**
194
+ * Harness for interacting with an action hub component in tests.
195
+ */
196
+ class SkyActionHubHarness extends SkyComponentHarness {
197
+ static { this.hostSelector = 'sky-action-hub'; }
198
+ #pageHeader = this.locatorFor(SkyPageHeaderHarness);
199
+ #needsAttention = this.locatorFor(SkyNeedsAttentionHarness);
200
+ #relatedLinks = this.locatorFor(SkyLinkListHarness.with({
201
+ selector: 'sky-page-links > sky-link-list',
202
+ }));
203
+ #recentLinks = this.locatorFor(SkyLinkListHarness.with({
204
+ selector: 'sky-page-links > sky-link-list-recently-accessed',
205
+ }));
206
+ #settingsLinks = this.locatorFor(SkyLinkListHarness.with({
207
+ selector: 'sky-page-links > sky-modal-link-list',
208
+ }));
209
+ /**
210
+ * Gets a `HarnessPredicate` that can be used to search for a
211
+ * `SkyLinkListHarness` that meets certain criteria.
212
+ */
213
+ static with(filters) {
214
+ return SkyActionHubHarness.getDataSkyIdPredicate(filters);
215
+ }
216
+ /**
217
+ * Gets the title of the action hub.
218
+ */
219
+ async getTitle() {
220
+ return await (await this.#pageHeader()).getPageTitle();
221
+ }
222
+ /**
223
+ * Get the testing harness for the needs attention block.
224
+ */
225
+ async getNeedsAttentionBlock() {
226
+ return await this.#needsAttention();
227
+ }
228
+ /**
229
+ * Get the testing harnesses for items within the needs attention block.
230
+ */
231
+ async getNeedsAttentionItems(filter = {}) {
232
+ return await this.locatorForAll(SkyNeedsAttentionItemHarness.with(filter))();
233
+ }
234
+ /**
235
+ * Get the testing harness for the related links block.
236
+ */
237
+ async getRelatedLinks() {
238
+ return await this.#relatedLinks();
239
+ }
240
+ /**
241
+ * Get the testing harness for the recent links block.
242
+ */
243
+ async getRecentLinks() {
244
+ return await this.#recentLinks();
245
+ }
246
+ /**
247
+ * Get the testing harness for the settings links block.
248
+ */
249
+ async getSettingsLinks() {
250
+ return await this.#settingsLinks();
251
+ }
252
+ }
253
+
78
254
  const LAYOUT_PREFIX = 'sky-layout-host-';
79
255
  const LAYOUT_TYPES = ['blocks', 'fit', 'list', 'tabs'];
80
256
  /**
@@ -121,5 +297,5 @@ class SkyPageHarness extends SkyComponentHarness {
121
297
  * Generated bundle index. Do not edit.
122
298
  */
123
299
 
124
- export { SkyLinkListHarness, SkyPageHarness, SkyPageHeaderHarness };
300
+ export { SkyActionHubHarness, SkyLinkListHarness, SkyLinkListItemHarness, SkyNeedsAttentionHarness, SkyPageHarness, SkyPageHeaderHarness };
125
301
  //# sourceMappingURL=skyux-pages-testing.mjs.map
@@ -1 +1 @@
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;;;;"}
1
+ {"version":3,"file":"skyux-pages-testing.mjs","sources":["../../../../../libs/components/pages/testing/src/modules/link-list/link-list-item-harness.ts","../../../../../libs/components/pages/testing/src/modules/link-list/link-list-harness.ts","../../../../../libs/components/pages/testing/src/modules/needs-attention/needs-attention-harness.ts","../../../../../libs/components/pages/testing/src/modules/needs-attention/needs-attention-item-harness.ts","../../../../../libs/components/pages/testing/src/modules/page-header/page-header-harness.ts","../../../../../libs/components/pages/testing/src/modules/action-hub/action-hub-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';\n\nimport { SkyLinkListItemHarnessFilters } from './link-list-item-harness-filters';\n\n/**\n * Harness for interacting with a linked list item in tests.\n */\nexport class SkyLinkListItemHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector =\n 'a.sky-link-list-item, button.sky-link-list-item';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLinkListItemHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLinkListItemHarnessFilters,\n ): HarnessPredicate<SkyLinkListItemHarness> {\n return SkyLinkListItemHarness.getDataSkyIdPredicate(filters).addOption(\n 'text',\n filters.text,\n async (harness, text) => {\n const itemText = await harness.getText();\n return await HarnessPredicate.stringMatches(itemText, text);\n },\n );\n }\n\n /**\n * Gets the text content of the item.\n */\n public async getText(): Promise<string> {\n return await (await this.host()).text();\n }\n\n /**\n * Clicks the item.\n */\n public async click(): Promise<void> {\n return await (await this.host()).click();\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';\nimport { SkyLinkListItemHarness } from './link-list-item-harness';\nimport { SkyLinkListItemHarnessFilters } from './link-list-item-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 =\n 'sky-link-list, sky-link-list-recently-accessed, sky-modal-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 this.locatorFor(SkyWaitHarness)();\n return await waitHarness.isWaiting();\n }\n\n /**\n * Gets the link list items.\n */\n public async getListItems(\n filter: SkyLinkListItemHarnessFilters = {},\n ): Promise<SkyLinkListItemHarness[]> {\n return await this.locatorForAll(SkyLinkListItemHarness.with(filter))();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyBoxHarness } from '@skyux/layout/testing';\n\nimport { SkyNeedsAttentionHarnessFilters } from './needs-attention-harness-filters';\n\n/**\n * Harness for interacting with the needs-attention component in tests.\n */\nexport class SkyNeedsAttentionHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-needs-attention';\n\n readonly #boxHarness = this.locatorFor(SkyBoxHarness);\n readonly #getContent = this.locatorFor('sky-box-content');\n readonly #getList = this.locatorFor('ul.sky-needs-attention-list');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyNeedsAttentionHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyNeedsAttentionHarnessFilters,\n ): HarnessPredicate<SkyNeedsAttentionHarness> {\n return SkyNeedsAttentionHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the component's heading text. If there are no links, this will return `undefined`.\n */\n public async getTitle(): Promise<string | undefined> {\n return await (await this.#boxHarness()).getHeadingText();\n }\n\n /**\n * Gets the text from an empty list. If there are items in the list, this will return `undefined`.\n */\n public async getEmptyListText(): Promise<string | undefined> {\n return await this.hasItems().then(async (hasItems) => {\n if (hasItems) {\n return undefined;\n }\n return (await (await this.#getContent()).text()).trim();\n });\n }\n\n /**\n * Whether the link list is showing a list of links.\n */\n public async hasItems(): Promise<boolean> {\n return await this.#getList().then(\n () => true,\n () => false,\n );\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyNeedsAttentionItemHarnessFilters } from './needs-attention-item-harness-filters';\n\n/**\n * Harness for interacting with a needs attention item in tests.\n */\nexport class SkyNeedsAttentionItemHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector =\n 'li.sky-needs-attention-item-wrapper > a.sky-needs-attention-item, li.sky-needs-attention-item-wrapper > button.sky-needs-attention-item';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyNeedsAttentionItemHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyNeedsAttentionItemHarnessFilters,\n ): HarnessPredicate<SkyNeedsAttentionItemHarness> {\n return SkyNeedsAttentionItemHarness.getDataSkyIdPredicate(\n filters,\n ).addOption('text', filters.text, async (harness, text) => {\n const itemText = await harness.getText();\n return await HarnessPredicate.stringMatches(itemText, text);\n });\n }\n\n /**\n * Gets the text content of the item.\n */\n public async getText(): Promise<string> {\n return await (await this.host()).text();\n }\n\n /**\n * Clicks the item.\n */\n public async click(): Promise<void> {\n return await (await this.host()).click();\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';\n\nimport { SkyLinkListHarness } from '../link-list/link-list-harness';\nimport { SkyNeedsAttentionHarness } from '../needs-attention/needs-attention-harness';\nimport { SkyNeedsAttentionItemHarness } from '../needs-attention/needs-attention-item-harness';\nimport { SkyNeedsAttentionItemHarnessFilters } from '../needs-attention/needs-attention-item-harness-filters';\nimport { SkyPageHeaderHarness } from '../page-header/page-header-harness';\n\nimport { SkyActionHubHarnessFilters } from './action-hub-harness-filters';\n\n/**\n * Harness for interacting with an action hub component in tests.\n */\nexport class SkyActionHubHarness extends SkyComponentHarness {\n public static hostSelector = 'sky-action-hub';\n\n readonly #pageHeader = this.locatorFor(SkyPageHeaderHarness);\n readonly #needsAttention = this.locatorFor(SkyNeedsAttentionHarness);\n readonly #relatedLinks = this.locatorFor(\n SkyLinkListHarness.with({\n selector: 'sky-page-links > sky-link-list',\n }),\n );\n readonly #recentLinks = this.locatorFor(\n SkyLinkListHarness.with({\n selector: 'sky-page-links > sky-link-list-recently-accessed',\n }),\n );\n readonly #settingsLinks = this.locatorFor(\n SkyLinkListHarness.with({\n selector: 'sky-page-links > sky-modal-link-list',\n }),\n );\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: SkyActionHubHarnessFilters,\n ): HarnessPredicate<SkyActionHubHarness> {\n return SkyActionHubHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the title of the action hub.\n */\n public async getTitle(): Promise<string | undefined> {\n return await (await this.#pageHeader()).getPageTitle();\n }\n\n /**\n * Get the testing harness for the needs attention block.\n */\n public async getNeedsAttentionBlock(): Promise<SkyNeedsAttentionHarness> {\n return await this.#needsAttention();\n }\n\n /**\n * Get the testing harnesses for items within the needs attention block.\n */\n public async getNeedsAttentionItems(\n filter: SkyNeedsAttentionItemHarnessFilters = {},\n ): Promise<SkyNeedsAttentionItemHarness[]> {\n return await this.locatorForAll(\n SkyNeedsAttentionItemHarness.with(filter),\n )();\n }\n\n /**\n * Get the testing harness for the related links block.\n */\n public async getRelatedLinks(): Promise<SkyLinkListHarness> {\n return await this.#relatedLinks();\n }\n\n /**\n * Get the testing harness for the recent links block.\n */\n public async getRecentLinks(): Promise<SkyLinkListHarness> {\n return await this.#recentLinks();\n }\n\n /**\n * Get the testing harness for the settings links block.\n */\n public async getSettingsLinks(): Promise<SkyLinkListHarness> {\n return await this.#settingsLinks();\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":"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"}
@@ -203,7 +203,7 @@ class SkyLinkListComponent {
203
203
  });
204
204
  }
205
205
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyLinkListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
206
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyLinkListComponent, isStandalone: true, selector: "sky-link-list", inputs: { headingText: { classPropertyName: "headingText", publicName: "headingText", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "linkItems", predicate: SkyLinkListItemComponent, isSignal: true }], ngImport: i0, template: "<sky-wait [isWaiting]=\"links() === 'loading'\" />\n@if (links() === 'loading') {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n} @else {\n @if (hasLinks()) {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n <ul class=\"sky-link-list\">\n @for (link of linksArray(); track link) {\n <li>\n @if (link | linkAs: 'skyHref') {\n <a [skyHref]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n } @else if (link | linkAs: 'href') {\n <a [href]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n } @else if (link.permalink.route) {\n <a\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n link.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n }\n </li>\n }\n <ng-content select=\"sky-link-list-item\" />\n </ul>\n }\n}\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">{{ headingText() }}</h2>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}\n"], dependencies: [{ kind: "ngmodule", type: LinkAsModule }, { kind: "pipe", type: LinkAsPipe, name: "linkAs" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyAppLinkModule }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "ngmodule", type: SkyHrefModule }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "ngmodule", type: SkyWaitModule }, { kind: "component", type: i3.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }] }); }
206
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyLinkListComponent, isStandalone: true, selector: "sky-link-list", inputs: { headingText: { classPropertyName: "headingText", publicName: "headingText", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "linkItems", predicate: SkyLinkListItemComponent, isSignal: true }], ngImport: i0, template: "<sky-wait [isWaiting]=\"links() === 'loading'\" />\n@if (links() === 'loading') {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n} @else {\n @if (hasLinks()) {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n <ul class=\"sky-link-list\">\n @for (link of linksArray(); track link) {\n <li>\n @if (link | linkAs: 'skyHref') {\n <a class=\"sky-link-list-item\" [skyHref]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n } @else if (link | linkAs: 'href') {\n <a class=\"sky-link-list-item\" [href]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n } @else if (link.permalink.route) {\n <a\n class=\"sky-link-list-item\"\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n link.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n }\n </li>\n }\n <ng-content select=\"sky-link-list-item\" />\n </ul>\n }\n}\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">{{ headingText() }}</h2>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}ul.sky-link-list>li:has(>a[hidden]){display:none}\n"], dependencies: [{ kind: "ngmodule", type: LinkAsModule }, { kind: "pipe", type: LinkAsPipe, name: "linkAs" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyAppLinkModule }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "ngmodule", type: SkyHrefModule }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "ngmodule", type: SkyWaitModule }, { kind: "component", type: i3.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }] }); }
207
207
  }
208
208
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyLinkListComponent, decorators: [{
209
209
  type: Component,
@@ -213,7 +213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
213
213
  SkyAppLinkModule,
214
214
  SkyHrefModule,
215
215
  SkyWaitModule,
216
- ], template: "<sky-wait [isWaiting]=\"links() === 'loading'\" />\n@if (links() === 'loading') {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n} @else {\n @if (hasLinks()) {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n <ul class=\"sky-link-list\">\n @for (link of linksArray(); track link) {\n <li>\n @if (link | linkAs: 'skyHref') {\n <a [skyHref]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n } @else if (link | linkAs: 'href') {\n <a [href]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n } @else if (link.permalink.route) {\n <a\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n link.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n }\n </li>\n }\n <ng-content select=\"sky-link-list-item\" />\n </ul>\n }\n}\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">{{ headingText() }}</h2>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}\n"] }]
216
+ ], template: "<sky-wait [isWaiting]=\"links() === 'loading'\" />\n@if (links() === 'loading') {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n} @else {\n @if (hasLinks()) {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n <ul class=\"sky-link-list\">\n @for (link of linksArray(); track link) {\n <li>\n @if (link | linkAs: 'skyHref') {\n <a class=\"sky-link-list-item\" [skyHref]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n } @else if (link | linkAs: 'href') {\n <a class=\"sky-link-list-item\" [href]=\"link.permalink.url\">\n {{ link.label }}\n </a>\n } @else if (link.permalink.route) {\n <a\n class=\"sky-link-list-item\"\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n link.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n }\n </li>\n }\n <ng-content select=\"sky-link-list-item\" />\n </ul>\n }\n}\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">{{ headingText() }}</h2>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}ul.sky-link-list>li:has(>a[hidden]){display:none}\n"] }]
217
217
  }] });
218
218
 
219
219
  /* istanbul ignore file */
@@ -345,11 +345,11 @@ class SkyModalLinkListComponent {
345
345
  }
346
346
  }
347
347
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyModalLinkListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
348
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyModalLinkListComponent, selector: "sky-modal-link-list", inputs: { links: "links", title: "title" }, ngImport: i0, template: "<sky-wait [isWaiting]=\"links === 'loading'\" />\n@if (links === 'loading') {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n} @else {\n @if (linksArray.length > 0) {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n <ul class=\"sky-link-list\">\n @for (link of linksArray; track link) {\n <li>\n @if (link | linkAs: 'skyHref') {\n <a [skyHref]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n } @else if (link | linkAs: 'href') {\n <a [href]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n } @else if (link.permalink && link.permalink.route) {\n <a\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n link.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n } @else if (link.modal) {\n <button\n class=\"sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"openModal(link)\"\n >\n {{ link.label }}\n </button>\n }\n </li>\n }\n </ul>\n }\n}\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">\n {{ title }}\n </h2>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "component", type: i3.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: LinkAsPipe, name: "linkAs" }] }); }
348
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyModalLinkListComponent, selector: "sky-modal-link-list", inputs: { links: "links", title: "title" }, ngImport: i0, template: "<sky-wait [isWaiting]=\"links === 'loading'\" />\n@if (links === 'loading') {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n} @else {\n @if (linksArray.length > 0) {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n <ul class=\"sky-link-list\">\n @for (link of linksArray; track link) {\n <li>\n @if (link | linkAs: 'skyHref') {\n <a class=\"sky-link-list-item\" [skyHref]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n } @else if (link | linkAs: 'href') {\n <a class=\"sky-link-list-item\" [href]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n } @else if (link.permalink && link.permalink.route) {\n <a\n class=\"sky-link-list-item\"\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n link.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n } @else if (link.modal) {\n <button\n class=\"sky-btn sky-btn-link-inline sky-link-list-item\"\n type=\"button\"\n (click)=\"openModal(link)\"\n >\n {{ link.label }}\n </button>\n }\n </li>\n }\n </ul>\n }\n}\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">\n {{ title }}\n </h2>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}ul.sky-link-list>li:has(>a[hidden]){display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "component", type: i3.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: LinkAsPipe, name: "linkAs" }] }); }
349
349
  }
350
350
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyModalLinkListComponent, decorators: [{
351
351
  type: Component,
352
- args: [{ selector: 'sky-modal-link-list', template: "<sky-wait [isWaiting]=\"links === 'loading'\" />\n@if (links === 'loading') {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n} @else {\n @if (linksArray.length > 0) {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n <ul class=\"sky-link-list\">\n @for (link of linksArray; track link) {\n <li>\n @if (link | linkAs: 'skyHref') {\n <a [skyHref]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n } @else if (link | linkAs: 'href') {\n <a [href]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n } @else if (link.permalink && link.permalink.route) {\n <a\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n link.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n } @else if (link.modal) {\n <button\n class=\"sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"openModal(link)\"\n >\n {{ link.label }}\n </button>\n }\n </li>\n }\n </ul>\n }\n}\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">\n {{ title }}\n </h2>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}\n"] }]
352
+ args: [{ selector: 'sky-modal-link-list', template: "<sky-wait [isWaiting]=\"links === 'loading'\" />\n@if (links === 'loading') {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n} @else {\n @if (linksArray.length > 0) {\n <ng-container [ngTemplateOutlet]=\"headingTemplateRef\" />\n <ul class=\"sky-link-list\">\n @for (link of linksArray; track link) {\n <li>\n @if (link | linkAs: 'skyHref') {\n <a class=\"sky-link-list-item\" [skyHref]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n } @else if (link | linkAs: 'href') {\n <a class=\"sky-link-list-item\" [href]=\"link.permalink?.url\">\n {{ link.label }}\n </a>\n } @else if (link.permalink && link.permalink.route) {\n <a\n class=\"sky-link-list-item\"\n [skyAppLink]=\"link.permalink.route.commands\"\n [queryParams]=\"link.permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"\n link.permalink.route.extras?.queryParamsHandling\n \"\n [fragment]=\"link.permalink.route.extras?.fragment\"\n [preserveFragment]=\"link.permalink.route.extras?.preserveFragment\"\n [skipLocationChange]=\"\n link.permalink.route.extras?.skipLocationChange\n \"\n [replaceUrl]=\"link.permalink.route.extras?.replaceUrl\"\n [state]=\"link.permalink.route.extras?.state\"\n >\n {{ link.label }}\n </a>\n } @else if (link.modal) {\n <button\n class=\"sky-btn sky-btn-link-inline sky-link-list-item\"\n type=\"button\"\n (click)=\"openModal(link)\"\n >\n {{ link.label }}\n </button>\n }\n </li>\n }\n </ul>\n }\n}\n\n<ng-template #headingTemplateRef>\n <h2 class=\"sky-font-heading-4\">\n {{ title }}\n </h2>\n</ng-template>\n", styles: ["ul.sky-link-list{list-style:none;margin:0 0 var(--sky-margin-stacked-xl) 0;padding-left:0}h2,li{margin:0 0 var(--sky-margin-stacked-sm) 0}ul.sky-link-list>li:has(>a[hidden]){display:none}\n"] }]
353
353
  }], propDecorators: { links: [{
354
354
  type: Input
355
355
  }], title: [{
@@ -384,6 +384,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
384
384
  }]
385
385
  }] });
386
386
 
387
+ /**
388
+ * @internal
389
+ */
387
390
  class SkyNeedsAttentionComponent {
388
391
  set items(value) {
389
392
  this.#items = value;
@@ -401,15 +404,18 @@ class SkyNeedsAttentionComponent {
401
404
  #items;
402
405
  #logService = inject(SkyLogService);
403
406
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyNeedsAttentionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
404
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyNeedsAttentionComponent, selector: "sky-needs-attention", inputs: { items: "items" }, ngImport: i0, template: "<sky-box>\n <sky-box-header>\n <h2 class=\"sky-font-heading-2\">\n {{ 'sky_action_hub_needs_attention' | skyLibResources }}\n </h2>\n </sky-box-header>\n <sky-box-content>\n @if (items?.length === 0) {\n {{ 'sky_action_hub_needs_attention_empty' | skyLibResources }}\n } @else {\n <ul>\n @for (item of items; track item; let isLast = $last) {\n <li\n class=\"sky-needs-attention-item-wrapper sky-font-emphasized\"\n [ngClass]=\"{\n 'sky-border-bottom-row': !isLast\n }\"\n >\n @if (\n (item | linkAs: 'skyAppLink') && item.permalink?.route;\n as permalinkRoute\n ) {\n <a\n class=\"sky-needs-attention-item\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"\n permalinkRoute.extras?.queryParamsHandling\n \"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n >{{ item.title }} {{ item.message }}</a\n >\n } @else if (item.permalink) {\n @if (item | linkAs: 'skyHref') {\n <a\n class=\"sky-needs-attention-item\"\n [skyHref]=\"item.permalink.url\"\n >{{ item.title }} {{ item.message }}</a\n >\n } @else if (item | linkAs: 'href') {\n <a class=\"sky-needs-attention-item\" [href]=\"item.permalink.url\"\n >{{ item.title }} {{ item.message }}</a\n >\n }\n } @else if (item | linkAs: 'button') {\n <button\n class=\"sky-needs-attention-item sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"item?.click({ item })\"\n >\n {{ item.title }} {{ item.message }}\n </button>\n }\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"caret-right\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"chevron-right\"\n />\n </li>\n }\n </ul>\n }\n </sky-box-content>\n</sky-box>\n", styles: [":host{display:block;margin-bottom:var(--sky-margin-stacked-xl)}h2{margin:0}ul{list-style:none;padding:0;margin:0}ul li{margin:0}.sky-needs-attention-item-wrapper{position:relative;display:grid;grid-template-columns:5fr 1fr;grid-template-areas:\"action icon\"}.sky-needs-attention-item-wrapper:not(:first-child){padding-top:var(--sky-margin-stacked-lg)}.sky-needs-attention-item-wrapper:not(:last-child){padding-bottom:var(--sky-margin-stacked-lg)}.sky-needs-attention-item{grid-area:action;text-align:left;width:100%;white-space:normal}.sky-needs-attention-item-icon{grid-area:icon;text-align:right;color:#686c73}.sky-needs-attention-item:focus-visible{outline:none}.sky-needs-attention-item:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}.sky-needs-attention-item:before{content:\" \";position:absolute;inset:0;cursor:pointer}button.sky-needs-attention-item.sky-border-bottom-row{border-bottom:1px dotted #cdcfd2}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "component", type: i3$1.λ41, selector: "sky-box", inputs: ["headingText", "headingHidden", "headingLevel", "headingStyle", "helpPopoverContent", "helpPopoverTitle", "helpKey", "ariaLabel", "ariaLabelledBy", "ariaRole"] }, { kind: "component", type: i3$1.λ42, selector: "sky-box-header" }, { kind: "component", type: i3$1.λ43, selector: "sky-box-content" }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "component", type: i4.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i5.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: LinkAsPipe, name: "linkAs" }] }); }
407
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyNeedsAttentionComponent, selector: "sky-needs-attention", inputs: { items: "items" }, ngImport: i0, template: "<sky-box>\n <sky-box-header>\n <h2 class=\"sky-font-heading-2\">\n {{ 'sky_action_hub_needs_attention' | skyLibResources }}\n </h2>\n </sky-box-header>\n <sky-box-content>\n @if (!items?.length) {\n {{ 'sky_action_hub_needs_attention_empty' | skyLibResources }}\n } @else {\n <ul class=\"sky-needs-attention-list\">\n @for (item of items; track item; let isLast = $last) {\n <li\n class=\"sky-needs-attention-item-wrapper sky-font-emphasized\"\n [ngClass]=\"{\n 'sky-border-bottom-row': !isLast\n }\"\n >\n @if (\n (item | linkAs: 'skyAppLink') && item.permalink?.route;\n as permalinkRoute\n ) {\n <a\n class=\"sky-needs-attention-item\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"\n permalinkRoute.extras?.queryParamsHandling\n \"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n >{{ item.title }} {{ item.message }}</a\n >\n } @else if (item.permalink) {\n @if (item | linkAs: 'skyHref') {\n <a\n class=\"sky-needs-attention-item\"\n [skyHref]=\"item.permalink.url\"\n >{{ item.title }} {{ item.message }}</a\n >\n } @else if (item | linkAs: 'href') {\n <a class=\"sky-needs-attention-item\" [href]=\"item.permalink.url\"\n >{{ item.title }} {{ item.message }}</a\n >\n }\n } @else if (item | linkAs: 'button') {\n <button\n class=\"sky-needs-attention-item sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"item?.click({ item })\"\n >\n {{ item.title }} {{ item.message }}\n </button>\n }\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"caret-right\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"chevron-right\"\n />\n </li>\n }\n </ul>\n }\n </sky-box-content>\n</sky-box>\n", styles: [":host{display:block;margin-bottom:var(--sky-margin-stacked-xl)}h2{margin:0}ul{list-style:none;padding:0;margin:0}ul li{margin:0}.sky-needs-attention-item-wrapper{position:relative;display:grid;grid-template-columns:5fr 1fr;grid-template-areas:\"action icon\"}.sky-needs-attention-item-wrapper:not(:first-child){padding-top:var(--sky-margin-stacked-lg)}.sky-needs-attention-item-wrapper:not(:last-child){padding-bottom:var(--sky-margin-stacked-lg)}.sky-needs-attention-item-wrapper:has(a[hidden]){display:none}.sky-needs-attention-item{grid-area:action;text-align:left;width:100%;white-space:normal}.sky-needs-attention-item-icon{grid-area:icon;text-align:right;color:#686c73}.sky-needs-attention-item:focus-visible{outline:none}.sky-needs-attention-item:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}.sky-needs-attention-item:before{content:\" \";position:absolute;inset:0;cursor:pointer}button.sky-needs-attention-item.sky-border-bottom-row{border-bottom:1px dotted #cdcfd2}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "component", type: i3$1.λ41, selector: "sky-box", inputs: ["headingText", "headingHidden", "headingLevel", "headingStyle", "helpPopoverContent", "helpPopoverTitle", "helpKey", "ariaLabel", "ariaLabelledBy", "ariaRole"] }, { kind: "component", type: i3$1.λ42, selector: "sky-box-header" }, { kind: "component", type: i3$1.λ43, selector: "sky-box-content" }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "component", type: i4.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i5.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: LinkAsPipe, name: "linkAs" }] }); }
405
408
  }
406
409
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyNeedsAttentionComponent, decorators: [{
407
410
  type: Component,
408
- args: [{ selector: 'sky-needs-attention', template: "<sky-box>\n <sky-box-header>\n <h2 class=\"sky-font-heading-2\">\n {{ 'sky_action_hub_needs_attention' | skyLibResources }}\n </h2>\n </sky-box-header>\n <sky-box-content>\n @if (items?.length === 0) {\n {{ 'sky_action_hub_needs_attention_empty' | skyLibResources }}\n } @else {\n <ul>\n @for (item of items; track item; let isLast = $last) {\n <li\n class=\"sky-needs-attention-item-wrapper sky-font-emphasized\"\n [ngClass]=\"{\n 'sky-border-bottom-row': !isLast\n }\"\n >\n @if (\n (item | linkAs: 'skyAppLink') && item.permalink?.route;\n as permalinkRoute\n ) {\n <a\n class=\"sky-needs-attention-item\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"\n permalinkRoute.extras?.queryParamsHandling\n \"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n >{{ item.title }} {{ item.message }}</a\n >\n } @else if (item.permalink) {\n @if (item | linkAs: 'skyHref') {\n <a\n class=\"sky-needs-attention-item\"\n [skyHref]=\"item.permalink.url\"\n >{{ item.title }} {{ item.message }}</a\n >\n } @else if (item | linkAs: 'href') {\n <a class=\"sky-needs-attention-item\" [href]=\"item.permalink.url\"\n >{{ item.title }} {{ item.message }}</a\n >\n }\n } @else if (item | linkAs: 'button') {\n <button\n class=\"sky-needs-attention-item sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"item?.click({ item })\"\n >\n {{ item.title }} {{ item.message }}\n </button>\n }\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"caret-right\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"chevron-right\"\n />\n </li>\n }\n </ul>\n }\n </sky-box-content>\n</sky-box>\n", styles: [":host{display:block;margin-bottom:var(--sky-margin-stacked-xl)}h2{margin:0}ul{list-style:none;padding:0;margin:0}ul li{margin:0}.sky-needs-attention-item-wrapper{position:relative;display:grid;grid-template-columns:5fr 1fr;grid-template-areas:\"action icon\"}.sky-needs-attention-item-wrapper:not(:first-child){padding-top:var(--sky-margin-stacked-lg)}.sky-needs-attention-item-wrapper:not(:last-child){padding-bottom:var(--sky-margin-stacked-lg)}.sky-needs-attention-item{grid-area:action;text-align:left;width:100%;white-space:normal}.sky-needs-attention-item-icon{grid-area:icon;text-align:right;color:#686c73}.sky-needs-attention-item:focus-visible{outline:none}.sky-needs-attention-item:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}.sky-needs-attention-item:before{content:\" \";position:absolute;inset:0;cursor:pointer}button.sky-needs-attention-item.sky-border-bottom-row{border-bottom:1px dotted #cdcfd2}\n"] }]
411
+ args: [{ selector: 'sky-needs-attention', template: "<sky-box>\n <sky-box-header>\n <h2 class=\"sky-font-heading-2\">\n {{ 'sky_action_hub_needs_attention' | skyLibResources }}\n </h2>\n </sky-box-header>\n <sky-box-content>\n @if (!items?.length) {\n {{ 'sky_action_hub_needs_attention_empty' | skyLibResources }}\n } @else {\n <ul class=\"sky-needs-attention-list\">\n @for (item of items; track item; let isLast = $last) {\n <li\n class=\"sky-needs-attention-item-wrapper sky-font-emphasized\"\n [ngClass]=\"{\n 'sky-border-bottom-row': !isLast\n }\"\n >\n @if (\n (item | linkAs: 'skyAppLink') && item.permalink?.route;\n as permalinkRoute\n ) {\n <a\n class=\"sky-needs-attention-item\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"\n permalinkRoute.extras?.queryParamsHandling\n \"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n >{{ item.title }} {{ item.message }}</a\n >\n } @else if (item.permalink) {\n @if (item | linkAs: 'skyHref') {\n <a\n class=\"sky-needs-attention-item\"\n [skyHref]=\"item.permalink.url\"\n >{{ item.title }} {{ item.message }}</a\n >\n } @else if (item | linkAs: 'href') {\n <a class=\"sky-needs-attention-item\" [href]=\"item.permalink.url\"\n >{{ item.title }} {{ item.message }}</a\n >\n }\n } @else if (item | linkAs: 'button') {\n <button\n class=\"sky-needs-attention-item sky-btn sky-btn-link-inline\"\n type=\"button\"\n (click)=\"item?.click({ item })\"\n >\n {{ item.title }} {{ item.message }}\n </button>\n }\n <sky-icon\n *skyThemeIf=\"'default'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"caret-right\"\n />\n <sky-icon\n *skyThemeIf=\"'modern'\"\n class=\"sky-needs-attention-item-icon\"\n icon=\"chevron-right\"\n />\n </li>\n }\n </ul>\n }\n </sky-box-content>\n</sky-box>\n", styles: [":host{display:block;margin-bottom:var(--sky-margin-stacked-xl)}h2{margin:0}ul{list-style:none;padding:0;margin:0}ul li{margin:0}.sky-needs-attention-item-wrapper{position:relative;display:grid;grid-template-columns:5fr 1fr;grid-template-areas:\"action icon\"}.sky-needs-attention-item-wrapper:not(:first-child){padding-top:var(--sky-margin-stacked-lg)}.sky-needs-attention-item-wrapper:not(:last-child){padding-bottom:var(--sky-margin-stacked-lg)}.sky-needs-attention-item-wrapper:has(a[hidden]){display:none}.sky-needs-attention-item{grid-area:action;text-align:left;width:100%;white-space:normal}.sky-needs-attention-item-icon{grid-area:icon;text-align:right;color:#686c73}.sky-needs-attention-item:focus-visible{outline:none}.sky-needs-attention-item:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d}.sky-needs-attention-item:before{content:\" \";position:absolute;inset:0;cursor:pointer}button.sky-needs-attention-item.sky-border-bottom-row{border-bottom:1px dotted #cdcfd2}\n"] }]
409
412
  }], propDecorators: { items: [{
410
413
  type: Input
411
414
  }] } });
412
415
 
416
+ /**
417
+ * @internal
418
+ */
413
419
  class SkyNeedsAttentionModule {
414
420
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyNeedsAttentionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
415
421
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyNeedsAttentionModule, declarations: [SkyNeedsAttentionComponent], imports: [CommonModule,
@@ -523,11 +529,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
523
529
  */
524
530
  class SkyPageHeaderComponent {
525
531
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
526
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyPageHeaderComponent, selector: "sky-page-header", inputs: { parentLink: "parentLink", pageTitle: "pageTitle" }, hostDirectives: [{ directive: i1$2.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-page-header\">\n <ng-content select=\"sky-page-header-alerts\" />\n <div class=\"sky-page-header-info\">\n <ng-content select=\"sky-page-header-avatar\" />\n <div class=\"sky-page-header-text-and-content\">\n <h1 class=\"sky-page-header-text\">\n @if (parentLink) {\n <span class=\"sky-page-header-parent-link-wrapper\">\n @if (parentLink.permalink?.route; as permalinkRoute) {\n <a\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"\n permalinkRoute.extras?.queryParamsHandling\n \"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n >{{ parentLink.label }}</a\n >\n } @else if (parentLink.permalink?.url) {\n <a\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n [skyHref]=\"parentLink.permalink.url\"\n >{{ parentLink.label }}</a\n >\n }\n <span class=\"sky-page-header-chevron\">\n <sky-icon icon=\"chevron-right\" />\n </span>\n </span>\n <wbr />\n }\n <span class=\"sky-page-header-page-title sky-font-heading-1\">\n {{ pageTitle }}\n </span>\n </h1>\n <div class=\"sky-page-header-content\">\n <ng-content select=\"sky-page-header-details\" />\n <ng-content select=\"sky-page-header-actions\" />\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{flex-grow:var(--sky-layout-host-header-flex-grow, 0);display:block}.sky-page-header{margin:var(--sky-layout-host-header-spacing, 0)}.sky-page-header-info{display:flex}.sky-page-header-text{margin:0}.sky-page-header-page-title,.sky-page-header-parent-link-wrapper{display:inline-block;block-size:fit-content}.sky-page-header-parent-link{color:#0974a1}.sky-page-header-chevron{font-size:16px;margin:0 10px}.sky-page-header-chevron,.sky-page-header-parent-link,.sky-page-header-page-title{vertical-align:middle}.sky-page-header-content:empty{display:none}:host-context(.sky-theme-modern) .sky-page-header-parent-link{color:#1870b8}.sky-theme-modern .sky-page-header-parent-link{color:#1870b8}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-page-header-parent-link{color:#009cd1}.sky-theme-modern.sky-theme-mode-dark .sky-page-header-parent-link{color:#009cd1}\n"], dependencies: [{ kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "component", type: i4.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }] }); }
532
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyPageHeaderComponent, selector: "sky-page-header", inputs: { parentLink: "parentLink", pageTitle: "pageTitle" }, hostDirectives: [{ directive: i1$2.SkyResponsiveHostDirective }], ngImport: i0, template: "<div class=\"sky-page-header\">\n <ng-content select=\"sky-page-header-alerts\" />\n <div class=\"sky-page-header-info\">\n <ng-content select=\"sky-page-header-avatar\" />\n <div class=\"sky-page-header-text-and-content\">\n <h1 class=\"sky-page-header-text\">\n @if (parentLink) {\n <span class=\"sky-page-header-parent-link-wrapper\">\n @if (parentLink.permalink?.route; as permalinkRoute) {\n <a\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"\n permalinkRoute.extras?.queryParamsHandling\n \"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n >{{ parentLink.label }}</a\n >\n } @else if (parentLink.permalink?.url) {\n <a\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n [skyHref]=\"parentLink.permalink.url\"\n >{{ parentLink.label }}</a\n >\n }\n <span class=\"sky-page-header-chevron\">\n <sky-icon icon=\"chevron-right\" />\n </span>\n </span>\n <wbr />\n }\n <span class=\"sky-page-header-page-title sky-font-heading-1\">\n {{ pageTitle }}\n </span>\n </h1>\n <div class=\"sky-page-header-content\">\n <ng-content select=\"sky-page-header-details\" />\n <ng-content select=\"sky-page-header-actions\" />\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{flex-grow:var(--sky-layout-host-header-flex-grow, 0);display:block}.sky-page-header{margin:var(--sky-layout-host-header-spacing, 0)}.sky-page-header-info{display:flex}.sky-page-header-text{margin:0}.sky-page-header-page-title,.sky-page-header-parent-link-wrapper{display:inline-block;block-size:fit-content}.sky-page-header-parent-link-wrapper:has(a[hidden]){display:none}.sky-page-header-parent-link{color:#0974a1}.sky-page-header-chevron{font-size:16px;margin:0 10px}.sky-page-header-chevron,.sky-page-header-parent-link,.sky-page-header-page-title{vertical-align:middle}.sky-page-header-content:empty{display:none}:host-context(.sky-theme-modern) .sky-page-header-parent-link{color:#1870b8}.sky-theme-modern .sky-page-header-parent-link{color:#1870b8}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-page-header-parent-link{color:#009cd1}.sky-theme-modern.sky-theme-mode-dark .sky-page-header-parent-link{color:#009cd1}\n"], dependencies: [{ kind: "directive", type: i2.λ3, selector: "[skyAppLink]", inputs: ["skyAppLink"] }, { kind: "component", type: i4.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i2.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }] }); }
527
533
  }
528
534
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyPageHeaderComponent, decorators: [{
529
535
  type: Component,
530
- args: [{ hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-page-header', template: "<div class=\"sky-page-header\">\n <ng-content select=\"sky-page-header-alerts\" />\n <div class=\"sky-page-header-info\">\n <ng-content select=\"sky-page-header-avatar\" />\n <div class=\"sky-page-header-text-and-content\">\n <h1 class=\"sky-page-header-text\">\n @if (parentLink) {\n <span class=\"sky-page-header-parent-link-wrapper\">\n @if (parentLink.permalink?.route; as permalinkRoute) {\n <a\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"\n permalinkRoute.extras?.queryParamsHandling\n \"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n >{{ parentLink.label }}</a\n >\n } @else if (parentLink.permalink?.url) {\n <a\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n [skyHref]=\"parentLink.permalink.url\"\n >{{ parentLink.label }}</a\n >\n }\n <span class=\"sky-page-header-chevron\">\n <sky-icon icon=\"chevron-right\" />\n </span>\n </span>\n <wbr />\n }\n <span class=\"sky-page-header-page-title sky-font-heading-1\">\n {{ pageTitle }}\n </span>\n </h1>\n <div class=\"sky-page-header-content\">\n <ng-content select=\"sky-page-header-details\" />\n <ng-content select=\"sky-page-header-actions\" />\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{flex-grow:var(--sky-layout-host-header-flex-grow, 0);display:block}.sky-page-header{margin:var(--sky-layout-host-header-spacing, 0)}.sky-page-header-info{display:flex}.sky-page-header-text{margin:0}.sky-page-header-page-title,.sky-page-header-parent-link-wrapper{display:inline-block;block-size:fit-content}.sky-page-header-parent-link{color:#0974a1}.sky-page-header-chevron{font-size:16px;margin:0 10px}.sky-page-header-chevron,.sky-page-header-parent-link,.sky-page-header-page-title{vertical-align:middle}.sky-page-header-content:empty{display:none}:host-context(.sky-theme-modern) .sky-page-header-parent-link{color:#1870b8}.sky-theme-modern .sky-page-header-parent-link{color:#1870b8}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-page-header-parent-link{color:#009cd1}.sky-theme-modern.sky-theme-mode-dark .sky-page-header-parent-link{color:#009cd1}\n"] }]
536
+ args: [{ hostDirectives: [SkyResponsiveHostDirective], selector: 'sky-page-header', template: "<div class=\"sky-page-header\">\n <ng-content select=\"sky-page-header-alerts\" />\n <div class=\"sky-page-header-info\">\n <ng-content select=\"sky-page-header-avatar\" />\n <div class=\"sky-page-header-text-and-content\">\n <h1 class=\"sky-page-header-text\">\n @if (parentLink) {\n <span class=\"sky-page-header-parent-link-wrapper\">\n @if (parentLink.permalink?.route; as permalinkRoute) {\n <a\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n [skyAppLink]=\"permalinkRoute.commands\"\n [queryParams]=\"permalinkRoute.extras?.queryParams\"\n [queryParamsHandling]=\"\n permalinkRoute.extras?.queryParamsHandling\n \"\n [fragment]=\"permalinkRoute.extras?.fragment\"\n [preserveFragment]=\"permalinkRoute.extras?.preserveFragment\"\n [skipLocationChange]=\"permalinkRoute.extras?.skipLocationChange\"\n [replaceUrl]=\"permalinkRoute.extras?.replaceUrl\"\n [state]=\"permalinkRoute.extras?.state\"\n >{{ parentLink.label }}</a\n >\n } @else if (parentLink.permalink?.url) {\n <a\n class=\"sky-font-heading-1 sky-page-header-parent-link\"\n [skyHref]=\"parentLink.permalink.url\"\n >{{ parentLink.label }}</a\n >\n }\n <span class=\"sky-page-header-chevron\">\n <sky-icon icon=\"chevron-right\" />\n </span>\n </span>\n <wbr />\n }\n <span class=\"sky-page-header-page-title sky-font-heading-1\">\n {{ pageTitle }}\n </span>\n </h1>\n <div class=\"sky-page-header-content\">\n <ng-content select=\"sky-page-header-details\" />\n <ng-content select=\"sky-page-header-actions\" />\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{flex-grow:var(--sky-layout-host-header-flex-grow, 0);display:block}.sky-page-header{margin:var(--sky-layout-host-header-spacing, 0)}.sky-page-header-info{display:flex}.sky-page-header-text{margin:0}.sky-page-header-page-title,.sky-page-header-parent-link-wrapper{display:inline-block;block-size:fit-content}.sky-page-header-parent-link-wrapper:has(a[hidden]){display:none}.sky-page-header-parent-link{color:#0974a1}.sky-page-header-chevron{font-size:16px;margin:0 10px}.sky-page-header-chevron,.sky-page-header-parent-link,.sky-page-header-page-title{vertical-align:middle}.sky-page-header-content:empty{display:none}:host-context(.sky-theme-modern) .sky-page-header-parent-link{color:#1870b8}.sky-theme-modern .sky-page-header-parent-link{color:#1870b8}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-page-header-parent-link{color:#009cd1}.sky-theme-modern.sky-theme-mode-dark .sky-page-header-parent-link{color:#009cd1}\n"] }]
531
537
  }], propDecorators: { parentLink: [{
532
538
  type: Input
533
539
  }], pageTitle: [{
@@ -951,5 +957,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
951
957
  * Generated bundle index. Do not edit.
952
958
  */
953
959
 
954
- export { SkyActionHubModule, SkyLinkListModule, SkyPageHeaderModule, SkyPageModule, SkyActionHubComponent as λ1, SkyPageHeaderAvatarComponent as λ10, SkyPageHeaderAlertsComponent as λ11, SkyPageLinksComponent as λ12, SkyLinkListComponent as λ13, SkyLinkListItemComponent as λ14, SkyLinkListRecentlyAccessedComponent as λ15, SkyActionHubButtonsComponent as λ2, SkyActionHubContentComponent as λ3, SkyPageHeaderComponent as λ4, SkyModalLinkListComponent as λ5, SkyPageComponent as λ6, SkyPageContentComponent as λ7, SkyPageHeaderDetailsComponent as λ8, SkyPageHeaderActionsComponent as λ9 };
960
+ export { SkyActionHubModule, SkyLinkListModule, SkyNeedsAttentionModule, SkyPageHeaderModule, SkyPageModule, SkyActionHubComponent as λ1, SkyPageHeaderAvatarComponent as λ10, SkyPageHeaderAlertsComponent as λ11, SkyPageLinksComponent as λ12, SkyLinkListComponent as λ13, SkyLinkListItemComponent as λ14, SkyLinkListRecentlyAccessedComponent as λ15, SkyNeedsAttentionComponent as λ16, SkyActionHubButtonsComponent as λ2, SkyActionHubContentComponent as λ3, SkyPageHeaderComponent as λ4, SkyModalLinkListComponent as λ5, SkyPageComponent as λ6, SkyPageContentComponent as λ7, SkyPageHeaderDetailsComponent as λ8, SkyPageHeaderActionsComponent as λ9 };
955
961
  //# sourceMappingURL=skyux-pages.mjs.map